Question

Андрей Лазарев
Активный

Помогите пожалуйста выявил причину что при заходе намсервер у игрока нет вод уд он сдает на права все отлично но прирестарте или перезаходе на сервер водительского удостоверения нет и все приходится сдавать с самого начала да и с деньгами таже самая проблемма все возращается к начальному капиталу который указан в бд

 

Спойлер

//Сохранение аккаунта
stock SaveAccount(playerid)
{
    if(!PlayerLogged[playerid]) return true;
    new src[128];
    /////////////////////////////////
    format(query,sizeof(query),"UPDATE "TABLE_ACCOUNT" SET ");
    format(src,sizeof(src),"ip='%s',", PlayerInfo[playerid][pPlIP]);
    strcat(query,src,sizeof(query));
    format(src,sizeof(src),"level=%d,",PlayerInfo[playerid][pLevel]);
    strcat(query,src,sizeof(query));
    format(src,sizeof(src),"admin=%d,",PlayerInfo[playerid][pAdmin]);
    strcat(query,src,sizeof(query));
    format(src,sizeof(src),"sex=%d,",PlayerInfo[playerid][pSex]);
    strcat(query,src,sizeof(query));
    format(src,sizeof(src),"ippassword='%s',",PlayerInfo[playerid][pIpPassword]);
    strcat(query,src,sizeof(query));
    format(src,sizeof(src),"model=%d,",PlayerInfo[playerid][pModel]);
    strcat(query,src,sizeof(query));
    format(src,sizeof(src),"loach=%d,",PlayerInfo[playerid][pChar]);
    strcat(query,src,sizeof(query));
    format(src,sizeof(src),"cash=%d,",PlayerInfo[playerid][pCash]);
    strcat(query,src,sizeof(query));
    format(src,sizeof(src),"bank=%d,",PlayerInfo[playerid][pBank]);
    strcat(query,src,sizeof(query));
    format(src,sizeof(src),"mute=%d,",PlayerInfo[playerid][pMuted]);
    strcat(query,src,sizeof(query));
    format(src,sizeof(src),"warn=%d,",PlayerInfo[playerid][pWarn]);
    strcat(query,src,sizeof(query));
    format(src,sizeof(src),"warntime=%d,",PlayerInfo[playerid][pWarnTime]);
    strcat(query,src,sizeof(query));
    format(src,sizeof(src),"leader=%d,",PlayerInfo[playerid][pLeader]);
    strcat(query,src,sizeof(query));
    format(src,sizeof(src),"member=%d,",PlayerInfo[playerid][pMember]);
    strcat(query,src,sizeof(query));
    format(src,sizeof(src),"rank=%d,",PlayerInfo[playerid][pRank]);
    strcat(query,src,sizeof(query));
    format(src,sizeof(src),"pick=%d,",PlayerInfo[playerid][pPick]);
    strcat(query,src,sizeof(query));
    format(src,sizeof(src),"exp=%d,",PlayerInfo[playerid][pExp]);
    strcat(query,src,sizeof(query));
    format(src,sizeof(src),"news=%d,",PlayerInfo[playerid][pNews]);
    strcat(query,src,sizeof(query));
    format(src,sizeof(src),"morgan='%i',",PlayerInfo[playerid][pMorgan]);
    strcat(query,src,sizeof(query));
    format(src,sizeof(src),"morgantime='%i',",PlayerInfo[playerid][pMorganTime]);
    strcat(query,src,sizeof(query));
    format(src,sizeof(src),"crimes=%d,",PlayerInfo[playerid][pCrimes]);
    strcat(query,src,sizeof(query));
    format(src,sizeof(src),"wanted=%d,",PlayerInfo[playerid][pWanted]);
    strcat(query,src,sizeof(query));
    format(src,sizeof(src),"wantedtime=%d,",PlayerInfo[playerid][pWantedTime]);
    strcat(query,src,sizeof(query));
    format(src,sizeof(src),"wantedwho='%s',",PlayerInfo[playerid][pWantedWho]);
    strcat(query,src,sizeof(query));
    format(src,sizeof(src),"wantedreason='%s',",PlayerInfo[playerid][pWantedReason]);
    strcat(query,src,sizeof(query));
    format(src,sizeof(src),"job=%d,",PlayerInfo[playerid][pJob]);
    strcat(query,src,sizeof(query));
    format(src,sizeof(src),"checktime=%d,",PlayerInfo[playerid][pCheckTime]);
    strcat(query,src,sizeof(query));
    format(src,sizeof(src),"drugs=%d,",PlayerInfo[playerid][pDrugs]);
    strcat(query,src,sizeof(query));
    format(src,sizeof(src),"mats=%d,",PlayerInfo[playerid][pMats]);
    strcat(query,src,sizeof(query));
    format(src,sizeof(src),"heal='%f',",PlayerInfo[playerid][pHeal]);
    strcat(query,src,sizeof(query));
    format(src,sizeof(src),"married=%d,",PlayerInfo[playerid][pMarried]);
    strcat(query,src,sizeof(query));
    format(src,sizeof(src),"whomarried='%s',",PlayerInfo[playerid][pWhoMarried]);
    strcat(query,src,sizeof(query));
    format(src,sizeof(src),"paycheck='%i',",PlayerInfo[playerid][pPayCheck]);
    strcat(query,src,sizeof(query));
    format(src,sizeof(src),"fishing='%i',",PlayerInfo[playerid][pFish]);
    strcat(query,src,sizeof(query));
    format(src,sizeof(src),"lottery='%i',",PlayerInfo[playerid][pLottery]);
    strcat(query,src,sizeof(query));
    format(src,sizeof(src),"vip='%i',",PlayerInfo[playerid][pVIP]);
    strcat(query,src,sizeof(query));
    format(src,sizeof(src),"time='%i',",PlayerInfo[playerid][pTime]);
    strcat(query,src,sizeof(query));
    format(src,sizeof(src),"fstyle='%i',",PlayerInfo[playerid][pFightStyle]);
    strcat(query,src,sizeof(query));
    format(src,sizeof(src),"credits='%i',",PlayerInfo[playerid][pCredits]);
    strcat(query,src,sizeof(query));
    format(src,sizeof(src),"totalcredits='%i',",PlayerInfo[playerid][pTotalCredits]);
    strcat(query,src,sizeof(query));
    format(src,sizeof(src),"skin1='%i',",PlayerInfo[playerid][pSkin1]);
    strcat(query,src,sizeof(query));
    format(src,sizeof(src),"skin2='%i',",PlayerInfo[playerid][pSkin2]);
    strcat(query,src,sizeof(query));
    format(src,sizeof(src),"skin3='%i',",PlayerInfo[playerid][pSkin3]);
    strcat(query,src,sizeof(query));
    format(src,sizeof(src),"spawnchange='%i',",PlayerInfo[playerid][pSpawnChange]);
    strcat(query,src,sizeof(query));
    format(src,sizeof(src),"sdpistol='%i',",PlayerInfo[playerid][pGunSkill][0]);
    strcat(query,src,sizeof(query));
    format(src,sizeof(src),"deserteagle='%i',",PlayerInfo[playerid][pGunSkill][1]);
    strcat(query,src,sizeof(query));
    format(src,sizeof(src),"shotgun='%i',",PlayerInfo[playerid][pGunSkill][2]);
    strcat(query,src,sizeof(query));
    format(src,sizeof(src),"mp5='%i',",PlayerInfo[playerid][pGunSkill][3]);
    strcat(query,src,sizeof(query));
    format(src,sizeof(src),"ak47='%i',",PlayerInfo[playerid][pGunSkill][4]);
    strcat(query,src,sizeof(query));
    format(src,sizeof(src),"m4='%i',",PlayerInfo[playerid][pGunSkill][5]);
    strcat(query,src,sizeof(query));
    format(src,sizeof(src),"rpr='%i',",PlayerInfo[playerid][pRPR]);
    strcat(query,src,sizeof(query));
    format(src,sizeof(src),"glasses='%d',",PlayerInfo[playerid][pGlasses]);
    strcat(query,src,sizeof(query));
    format(src,sizeof(src),"satiety='%i',",PlayerInfo[playerid][pSatiety]);
    strcat(query,src,sizeof(query));
    format(src,sizeof(src),"pZhazhda='%i',",PlayerInfo[playerid][pZhazhda]);
    strcat(query,src,sizeof(query));
    format(src,sizeof(src),"pBanya='%i',",PlayerInfo[playerid][pBanya]);//pBanya
    strcat(query,src,sizeof(query));
    format(src,sizeof(src),"Gigiena='%i',",PlayerInfo[playerid][pGigiena]);//pGigiena
    strcat(query,src,sizeof(query));
    format(src,sizeof(src),"Piss='%i',",PlayerInfo[playerid][pPiss]);//Piss
    strcat(query,src,sizeof(query));
    format(src,sizeof(src),"Putlist='%i',",PlayerInfo[playerid][pPutlist]);//Putlist
    strcat(query,src,sizeof(query));
    format(src,sizeof(src),"rprgive='%i',",PlayerInfo[playerid][pRPRGive]);
    strcat(query,src,sizeof(query));
    format(src,sizeof(src),"healths='%f',",PlayerInfo[playerid][pHealthS]);
    strcat(query,src,sizeof(query));
    format(src,sizeof(src),"sportexp='%i',",PlayerInfo[playerid][pSportEXP]);
    strcat(query,src,sizeof(query));
    format(src,sizeof(src),"online='%i',",PlayerInfo[playerid][pOnline]);
    strcat(query,src,sizeof(query));
    format(src,sizeof(src),"zakon='%i',",PlayerInfo[playerid][pZakon]);
    strcat(query,src,sizeof(query));
    format(src,sizeof(src),"bolezn='%i',",PlayerInfo[playerid][pBolezn]);
    strcat(query,src,sizeof(query));
    format(src,sizeof(src),"ipcheck='%i',",PlayerInfo[playerid][ProverkaIP]);
    strcat(query,src,sizeof(query));
    format(src,sizeof(src),"hospital='%i',",PlayerInfo[playerid][pHospital]);
    strcat(query,src,sizeof(query));
    format(src,sizeof(src),"watch='%i',",PlayerInfo[playerid][pWatch]);
    strcat(query,src,sizeof(query));
    format(src,sizeof(src),"ciggare='%i',",PlayerInfo[playerid][pCiggare]);
    strcat(query,src,sizeof(query));
    format(src,sizeof(src),"sprunk='%i',",PlayerInfo[playerid][pSprunk]);
    strcat(query,src,sizeof(query));
    format(src,sizeof(src),"mask='%i',",PlayerInfo[playerid][pMask]);
    strcat(query,src,sizeof(query));
    format(src,sizeof(src),"phonebalance='%i',",PlayerInfo[playerid][pPhoneBalance]);
    strcat(query,src,sizeof(query));
    format(src,sizeof(src),"truckskill='%i',",PlayerInfo[playerid][pTruckSkill]);
    strcat(query,src,sizeof(query));
    format(src,sizeof(src),"spawn='%i',",PlayerInfo[playerid][pSpawn]);
    strcat(query,src,sizeof(query));
    format(src,sizeof(src),"vb='%i',",PlayerInfo[playerid][pVb]);
    strcat(query,src,sizeof(query));
    format(PlayerInfo[playerid][pPhones],16,"%i, %i, %i",
    PlayerInfo[playerid][pPhone][0],PlayerInfo[playerid][pPhone][1], PlayerInfo[playerid][pPhone][2]);
    format(src,sizeof(src),"phone='%s',",PlayerInfo[playerid][pPhones]);
    strcat(query,src,sizeof(query));
    
    format(PlayerInfo[playerid][pLic],40,"%i, %i, %i, %i, %i",
    
    PlayerInfo[playerid][pLic][0],PlayerInfo[playerid][pLic][1],PlayerInfo[playerid][pLic][2]
    ,PlayerInfo[playerid][pLic][3],PlayerInfo[playerid][pLic][4]);
    
    format(src,sizeof(src),"lic='%s',",PlayerInfo[playerid][pLic]);
    strcat(query,src,sizeof(query));
    
    format(PlayerInfo[playerid][pWorkBook], 40, "%i, %i, %i, %i, %i, %i",
    PlayerInfo[playerid][pWB][0], PlayerInfo[playerid][pWB][1],PlayerInfo[playerid][pWB][2]
    ,PlayerInfo[playerid][pWB][3],PlayerInfo[playerid][pWB][4], PlayerInfo[playerid][pWB][5]);
    format(src,sizeof(src),"workbook='%s',",PlayerInfo[playerid][pWorkBook]);
    strcat(query,src,sizeof(query));
    if(GetPVarInt(playerid, "GunCheat") == 0)
    {
        for(new i = 0; i < 13; i++)
        {
            GetPlayerWeaponData(playerid, i, PlayerInfo[playerid][pGun], PlayerInfo[playerid][pAmmo]);
        }
        format(PlayerInfo[playerid][pGuns],40,"%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d",
        PlayerInfo[playerid][pGun][0],PlayerInfo[playerid][pGun][1],PlayerInfo[playerid][pGun][2],
        PlayerInfo[playerid][pGun][3],PlayerInfo[playerid][pGun][4],PlayerInfo[playerid][pGun][5],
        PlayerInfo[playerid][pGun][6],PlayerInfo[playerid][pGun][7],PlayerInfo[playerid][pGun][8],
        PlayerInfo[playerid][pGun][9],PlayerInfo[playerid][pGun][10],PlayerInfo[playerid][pGun][11],PlayerInfo[playerid][pGun][12]);
        format(src,sizeof(src),"guns='%s',",PlayerInfo[playerid][pGuns]);
        strcat(query,src,sizeof(query));
        format(PlayerInfo[playerid][pAmmos],160,"%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d",
        PlayerInfo[playerid][pAmmo][0],PlayerInfo[playerid][pAmmo][1],PlayerInfo[playerid][pAmmo][2],
        PlayerInfo[playerid][pAmmo][3],PlayerInfo[playerid][pAmmo][4],PlayerInfo[playerid][pAmmo][5],
        PlayerInfo[playerid][pAmmo][6],PlayerInfo[playerid][pAmmo][7],PlayerInfo[playerid][pAmmo][8],
        PlayerInfo[playerid][pAmmo][9],PlayerInfo[playerid][pAmmo][10],PlayerInfo[playerid][pAmmo][11],PlayerInfo[playerid][pAmmo][12]);
        format(src,sizeof(src),"ammos='%s',",PlayerInfo[playerid][pAmmos]);
    }
    strcat(query,src,sizeof(query));
    format(src,sizeof(src),"skills='%d'",PlayerInfo[playerid][pGunSkill][6]);
    strcat(query,src,sizeof(query));
    new playername[32];
    GetPlayerName(playerid,playername,32);
    format(src,sizeof(src)," WHERE name='%s'",playername);
    strcat(query,src,sizeof(query));
    mysql_function_query(ConBD, query, true, "", "");
    SaveAllMyCar(playerid);
    return true;
}

 

если понадобятся еще какието данные скажите предоставлю так как не имею понятия какие еще нужны

Share this post


Link to post

4 answers to this question

  • 0
Андрей Лазарев
Активный
9 часов назад, Talex сказал:

Алло, @Андрей Лазарев сказал, что тему можно закрыть, проснитесь :D

 

 

@Андрей Лазарев, и все-таки отвечу. 

 

Не ошибаешься. Все там явно определено и никаких последовательностей соблюдать не нужно. Если так и не разобрался, почему в базе данных другие числа, то скажи, какие там именно циферки вписаны.

Спасибо я все испаравил просто тупо убрал сохранение системы потребностей и в структуре бд прописал все по 100 тем самым игрок при спавне ничего не требует а в процессе игры потом все прийдется пополнять по мере потребности

 

Share this post


Link to post
  • 0
Cawfee
Великий Гуру

@Андрей Лазарев, а все остальные данные нормально сохраняются? Покажите код, где игроку выдается водительское удостоверение после успешной сдачи экзамена.

Share this post


Link to post
  • 0
Андрей Лазарев
Активный
3 минуты назад, odosenok сказал:

@Андрей Лазарев, а все остальные данные нормально сохраняются? Покажите код, где игроку выдается водительское удостоверение после успешной сдачи экзамена.

нет даже если принимаю в организацию после перезахода он в ней не состаит

	if(GetPVarInt(playerid, "LicTest") > 0)
	{
		if(GetPlayerState(playerid)!= 2) return SendClientMessage(playerid, COROR_LBLUE, "[INFO] {FFFFFF}Вы должны находиться за рулем!");

		if(pPressed[playerid] >= 14)
		{
			if(GetPVarInt(playerid, "LicTestError") > 2)
			{
				SendClientMessage(playerid, COROR_LBLUE, "[INFO] {FFFFFF}Вы провалили экзамен по вождению");
				ShowPlayerDialog(playerid, D_NULL, 0, "{ffffff}Права", "{FF6347}К сожалению вы не сдали экзамен по вождению", "Закрыть", "");
			}
			else
			{
				SendClientMessage(playerid, COROR_LBLUE, "[INFO] {FFFFFF}Поздравляем! Вы сдали экзамен по вождению");
				ShowPlayerDialog(playerid, D_NULL, 0, "{33AAFF}Права", "{ffffff}Поздравляем, вы сдали экзамен по вождению", "Закрыть", "");
				PlayerInfo[playerid][pLic][0] = 1;
			}
			lictest_Time[playerid] = 0;
			DeletePVar(playerid, "LicTest");
			DeletePVar(playerid, "LicTestHealth");
			DeletePVar(playerid, "LicTestError");
			DeletePVar(playerid, "LicChec");
			SetVehicleToRespawn(GetPlayerVehicleID(playerid));
			DisablePlayerRaceCheckpoint(playerid);
		}
		else
		{
			pPressed[playerid]++;
			new Float:health, i = pPressed[playerid];
			GetVehicleHealth(GetPlayerVehicleID(playerid), health);
			if(health < GetPVarFloat(playerid, "LicTestHealth"))
			{
				SendMes(playerid, COLOR_NICERED, "Вы повредили транспорт. Ошибок: {ffffff}%i", GetPVarInt(playerid, "LicTestError") + 1);
				SetPVarInt(playerid, "LicTestError", GetPVarInt(playerid, "LicTestError") + 1);
			}
			if(SpeedVehicle(playerid) / 2 > 60)
			{
				SendMes(playerid, COLOR_NICERED, "Вы привысили скорость. Ошибок: {ffffff}%i", GetPVarInt(playerid, "LicTestError") + 1);
				SetPVarInt(playerid, "LicTestError", GetPVarInt(playerid, "LicTestError") + 1);
			}
			if(GetPVarInt(playerid, "LicTestError") > 2 && pPressed[playerid] < 14)
			{
			    i = 14;
			    pPressed[playerid] = 14;
			    lictest_Time[playerid] = 300;
				SendClientMessage(playerid, COROR_LBLUE, "[INFO] {FFFFFF}Вы допустили 3 ошибки");
				SendClientMessage(playerid, COROR_LBLUE, "[INFO] {FFFFFF}Возвращайтесь в автошколу для пересдачи экзамена по вождению");
				SendClientMessage(playerid, COROR_LBLUE, "[INFO] {FFFFFF}У Вас есть 5 минут чтобы вернуть атомобиль обратно");
			}
			if(pPressed[playerid] < 14)
			{
				SetPlayerRaceCheckpoint(playerid,0, LicTest[i][0],LicTest[i][1],LicTest[i][2],LicTest[i][3],LicTest[i][4],LicTest[i][5], 5.0);
			}
			else
			{
				SetPlayerRaceCheckpoint(playerid,1, LicTest[i][0],LicTest[i][1],LicTest[i][2],LicTest[i][3],LicTest[i][4],LicTest[i][5], 5.0);
			}
			SetPVarFloat(playerid, "LicTestHealth", health);
		}
	}

походу вообще ничего не сохраняется

 

я кажется понял причину моей проблеммы я когда создавал систему потребностей то жажду туалет и все такое прописал в середину стока сохранения аккаунта а в базе данных они идут последними по счету.сейчас попробывал закрыть это в скобки и дентги которые выдал сохранились единственное что с лицкензиями другие числа выявились но это щас буду исправлять надеюсь получится

 

 

Все как я выше и говорил убрал систему потребностей из сохранения аккаутна и все стало на свои места только неи как не могу понять причину там же явно определено что и куда сохранять а не как сохранять бд по последовательности строк хотя может я и ошибаюсь.Но все же проблемма решена тему можно закрывать 

Заметка от Cawfee , создано

Объединил сообщения.

Share this post


Link to post
  • 0
Talex
Постоянный

Алло, @Андрей Лазарев сказал, что тему можно закрыть, проснитесь :D

 

В 11.07.2019 в 13:16, Андрей Лазарев сказал:

Но все же проблемма решена тему можно закрывать 

 

@Андрей Лазарев, и все-таки отвечу. 

В 11.07.2019 в 13:16, Андрей Лазарев сказал:

только неи как не могу понять причину там же явно определено что и куда сохранять а не как сохранять бд по последовательности строк хотя может я и ошибаюсь

 

Не ошибаешься. Все там явно определено и никаких последовательностей соблюдать не нужно. Если так и не разобрался, почему в базе данных другие числа, то скажи, какие там именно циферки вписаны.

Share this post


Link to post
Guest
This topic is now closed to further replies.
Sign in to follow this  
Followers 0
  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • DevGen
      By DevGen
      Доброго времени суток форумчане! Как реализовать скрытые ники игроков?

      Ситуация: Хочу что бы полностью у всех игроков были скрыты ники.
      А вместо стандартных ников было к примеру(обязательно с айди):
      Неизвестный[ID игрока] Перелазил много тем, но не нашел нужного. Помогите реализовать это