Рекомендованные сообщения



5 posts in this topic

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

 

Спойлер

//Сохранение аккаунта
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
Share on other sites

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

Share this post


Link to post
Share on other sites
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);
		}
	}

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

 

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

 

 

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

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

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

Share this post


Link to post
Share on other sites

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

 

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

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

 

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

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

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

 

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

Share this post


Link to post
Share on other sites
9 часов назад, Talex сказал:

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

 

 

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

 

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

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

 

Share this post


Link to post
Share on other sites
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

    • Vadim Grineev
      By Vadim Grineev
      пишу /park в чате выдаёт авто припарковано когда пытаюсь заново загрузить оно припарковано возле автосалона как и после покупки
      Вот код:
      CMD:park(playerid, params[]) { if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, 0xCECECEFF, "Вы должны находиться в транспорте"); new vehicleid; if(GetPlayerOwnableCar(playerid) != GetPlayerVehicleID(playerid) && GetPlayerOwnablCar(playerid) != GetPlayerVehicleID(playerid)) return SendClientMessage(playerid, 0xCECECEFF, "Вы должны находиться в личном транспорте"); else { vehicleid = GetPlayerVehicleID(playerid); } new green_zone_id = GetPVarInt(playerid, "player_in_green_zone") - 1; if(green_zone_id != -1) { if(!g_green_zones[green_zone_id][GZ_ALLOW_PARK]) { new fmt_text[144]; format(fmt_text, sizeof fmt_text, "На территории {FFFF00}'%s' {3399FF}парковка личного транспорта запрещена. Выберите другое место для парковки", g_green_zones[green_zone_id][GZ_NAME]); SendClientMessage(playerid, 0x3399FFFF, fmt_text); return 1; } } new query[912]; new index = GetVehicleData(vehicleid, V_ACTION_ID); new Float: x, Float: y, Float: z, Float: angle; GetVehiclePos(vehicleid, x, y, z); GetVehicleZAngle(vehicleid, angle); format(query, sizeof query, "UPDATE ownable_cars SET pos_x=%f,pos_y=%f,pos_z=%f,angle=%f WHERE id=%d LIMIT 1", x, y, z, angle, GetOwnableCarData(index, OC_SQL_ID)); mysql_tquery(mysql, query, "", ""); GetVehiclePos(vehicleid, GetOwnableCarData(index, OC_POS_X), GetOwnableCarData(index, OC_POS_Y), GetOwnableCarData(index, OC_POS_Z)); GetVehicleZAngle(vehicleid, GetOwnableCarData(index, OC_ANGLE)); SaveOwnableCar(vehicleid); return SendClientMessage(playerid, 0x66CC00FF, "Транспорт припаркован"); }  
    • Guik
      By Guik
      Всем привет! Сегодня я столкнулся с проблемой выдачи rcon администратора. Я играю с телефона и не знаю как это делать. Помогите пожалуйста!!!
      Если что мод "SAMP MOBILE".