public OnPlayerUpdateRL(playerid)
{
new string[100];
format(string,100,"::: OnPlayerUpdateRL - %s :::",PlayerInfo[playerid][Username]);
printr(string);
if(IsPlayerConnected(playerid))
{
if(gPlayerLogged[playerid] == 1)
{
new string3[32];
format(string3, sizeof(string3), "%s.ini", PlayerInfo[playerid][Username]);
new File = ini_openFile(string3);
if(!File)
{
format(string,100,"::: Starting_OnPlayerUpdateRL - %s :::",PlayerInfo[playerid][Username]);
printr(string);
PlayerInfo[playerid][pCash] = GetSRVMoney(playerid);
ini_setInteger(File,"Level",PlayerInfo[playerid][pLevel]);
ini_setInteger(File,"House",PlayerInfo[playerid][pPhousekey]);
ini_setInteger(File,"Bizz",PlayerInfo[playerid][pPbiskey]);
ini_setInteger(File,"AdminLevel",PlayerInfo[playerid][pAdmin]);
ini_setFloat(File,"Fuelcar",PlayerInfo[playerid][pFuelcar]);
ini_setInteger(File,"Text",PlayerInfo[playerid][pText]);
ini_setInteger(File,"HP",PlayerInfo[playerid][pHP]);
ini_setInteger(File,"Proverkaip",PlayerInfo[playerid][pProverkaip]);
ini_setInteger(File,"pPhoneBook",PlayerInfo[playerid][pPhoneBook]);
ini_setInteger(File,"pDirectory",PlayerInfo[playerid][pDirectory]);
ini_setInteger(File,"pAlcoholPerk",PlayerInfo[playerid][pAlcoholPerk]);
ini_setInteger(File,"Car",PlayerInfo[playerid][pCar]);
ini_setInteger(File,"Donateschet",PlayerInfo[playerid][pDonatechet]);
ini_setInteger(File,"Donatemoney",PlayerInfo[playerid][pDonatemoney]);
ini_setInteger(File,"DonateRank",PlayerInfo[playerid][pDonateRank]);
ini_setInteger(File,"Registered",PlayerInfo[playerid][pReg]);
ini_setInteger(File,"Sex",PlayerInfo[playerid][pSex]);
ini_setInteger(File,"pArrested",PlayerInfo[playerid][pArrested]);
ini_setInteger(File,"Muted",PlayerInfo[playerid][pMuted]);
ini_setInteger(File,"Crimes",PlayerInfo[playerid][pCrimes]);
ini_setInteger(File,"Respect",PlayerInfo[playerid][pExp]);
ini_setInteger(File,"Money",PlayerInfo[playerid][pCash]);
ini_setInteger(File,"Kills",PlayerInfo[playerid][pKills]);
ini_setInteger(File,"Deaths",PlayerInfo[playerid][pDeaths]);
ini_setInteger(File,"Paycheck",PlayerInfo[playerid][pPayCheck]);
ini_setInteger(File,"Jailed",PlayerInfo[playerid][pJailed]);
ini_setInteger(File,"Cheat",PlayerInfo[playerid][pCheat]);
ini_setInteger(File,"JailTime",PlayerInfo[playerid][pJailTime]);
ini_setInteger(File,"Materials",PlayerInfo[playerid][pMats]);
ini_setInteger(File,"Drugs",PlayerInfo[playerid][pDrugs]);
ini_setInteger(File,"Leader",PlayerInfo[playerid][pLeader]);
ini_setInteger(File,"Member",PlayerInfo[playerid][pMember]);
ini_setInteger(File,"Rank",PlayerInfo[playerid][pRank]);
ini_setInteger(File,"Job",PlayerInfo[playerid][pJob]);
ini_setInteger(File,"VodPrava",PlayerInfo[playerid][pVodPrava]);
ini_setInteger(File,"BizLic",PlayerInfo[playerid][pBizLic]);
ini_setInteger(File,"FlyLic",PlayerInfo[playerid][pFlyLic]);
ini_setInteger(File,"BoatLic",PlayerInfo[playerid][pBoatLic]);
ini_setInteger(File,"FishLic",PlayerInfo[playerid][pFishLic]);
ini_setInteger(File,"GunLic",PlayerInfo[playerid][pGunLic]);
ini_setInteger(File,"Slot1", PlayerInfo[playerid][pSlot1]);
ini_setInteger(File,"Slot2", PlayerInfo[playerid][pSlot2]);
ini_setInteger(File,"Slot3", PlayerInfo[playerid][pSlot3]);
ini_setInteger(File,"Slot4", PlayerInfo[playerid][pSlot4]);
ini_setInteger(File,"Slot5", PlayerInfo[playerid][pSlot5]);
ini_setInteger(File,"Slot6", PlayerInfo[playerid][pSlot6]);
ini_setInteger(File,"Slot7", PlayerInfo[playerid][pSlot7]);
ini_setInteger(File,"Slot8", PlayerInfo[playerid][pSlot8]);
ini_setInteger(File,"Slot9", PlayerInfo[playerid][pSlot9]);
ini_setInteger(File,"Slot10", PlayerInfo[playerid][pSlot10]);
ini_setInteger(File,"Slot11", PlayerInfo[playerid][pSlot11]);
ini_setInteger(File,"Slotammo2", PlayerInfo[playerid][pSlotammo2]);
ini_setInteger(File,"Slotammo3", PlayerInfo[playerid][pSlotammo3]);
ini_setInteger(File,"Slotammo4", PlayerInfo[playerid][pSlotammo4]);
ini_setInteger(File,"Slotammo5", PlayerInfo[playerid][pSlotammo5]);
ini_setInteger(File,"Slotammo6", PlayerInfo[playerid][pSlotammo6]);
ini_setInteger(File,"Slotammo7", PlayerInfo[playerid][pSlotammo7]);
ini_setInteger(File,"Slotammo8", PlayerInfo[playerid][pSlotammo8]);
ini_setInteger(File,"Slotammo9", PlayerInfo[playerid][pSlotammo9]);
ini_setInteger(File,"Slotammo10", PlayerInfo[playerid][pSlotammo10]);
// ini_setInteger(File,"Gun0",PlayerInfo[playerid][pGun0]);
// ini_setInteger(File,"Gun1",PlayerInfo[playerid][pGun1]);
ini_setInteger(File,"Gun2",PlayerInfo[playerid][pGun2]);
ini_setInteger(File,"Gun3",PlayerInfo[playerid][pGun3]);
ini_setInteger(File,"Gun4",PlayerInfo[playerid][pGun4]);
ini_setInteger(File,"Gun5",PlayerInfo[playerid][pGun5]);
ini_setInteger(File,"Gun6",PlayerInfo[playerid][pGun6]);
ini_setInteger(File,"Gun7",PlayerInfo[playerid][pGun7]);
ini_setInteger(File,"Gun8",PlayerInfo[playerid][pGun8]);
ini_setInteger(File,"Gun9",PlayerInfo[playerid][pGun9]);
ini_setInteger(File,"Gun10",PlayerInfo[playerid][pGun10]);
// ini_setInteger(File,"Gun11",PlayerInfo[playerid][pGun11]);
// ini_setInteger(File,"Ammo0",PlayerInfo[playerid][pAmmo0]);
// ini_setInteger(File,"Ammo1",PlayerInfo[playerid][pAmmo1]);
ini_setInteger(File,"Ammo2",PlayerInfo[playerid][pAmmo2]);
ini_setInteger(File,"Ammo3",PlayerInfo[playerid][pAmmo3]);
ini_setInteger(File,"Ammo4",PlayerInfo[playerid][pAmmo4]);
ini_setInteger(File,"Ammo5",PlayerInfo[playerid][pAmmo5]);
ini_setInteger(File,"Ammo6",PlayerInfo[playerid][pAmmo6]);
ini_setInteger(File,"Ammo7",PlayerInfo[playerid][pAmmo7]);
ini_setInteger(File,"Ammo8",PlayerInfo[playerid][pAmmo8]);
ini_setInteger(File,"Ammo9",PlayerInfo[playerid][pAmmo9]);
ini_setInteger(File,"Ammo10",PlayerInfo[playerid][pAmmo10]);
// ini_setInteger(File,"Ammo11",PlayerInfo[playerid][pAmmo11]);
ini_setInteger(File,"Desert",PlayerInfo[playerid][pDesert]);
ini_setInteger(File,"Smg",PlayerInfo[playerid][pSmg]);
ini_setInteger(File,"Ak47",PlayerInfo[playerid][pAk]);
ini_setInteger(File,"M4",PlayerInfo[playerid][pM4]);
ini_setInteger(File,"pShot",PlayerInfo[playerid][pShot]);
ini_setInteger(File,"Char",PlayerInfo[playerid][pChar]);
ini_setFloat(File,"pSHealth",PlayerInfo[playerid][pSHealth]);
GetPlayerHealth(playerid,PlayerInfo[playerid][pHealth]);
ini_setFloat(File,"pHealth",PlayerInfo[playerid][pHealth]);
ini_setInteger(File,"Int",PlayerInfo[playerid][pInt]);
ini_setInteger(File,"Local",PlayerInfo[playerid][pLocal]);
ini_setInteger(File,"Model",PlayerInfo[playerid][pModel]);
ini_setInteger(File,"PhoneNr",PlayerInfo[playerid][pPnumber]);
ini_setInteger(File,"PayDay",PlayerInfo[playerid][pPayDay]);
ini_setInteger(File,"PayDayHad",PlayerInfo[playerid][pPayDayHad]);
ini_setInteger(File,"Tutorial",1);
ini_setInteger(File,"Warnings",PlayerInfo[playerid][pWarns]);
ini_setInteger(File,"unWarns",PlayerInfo[playerid][punWarns]);
ini_setInteger(File,"unWarnstime",PlayerInfo[playerid][punWarnstime]);
ini_setInteger(File,"Fuel",PlayerInfo[playerid][pFuel]);
ini_setInteger(File,"Married",PlayerInfo[playerid][pMarried]);
ini_setInteger(File,"pDrugmoney",PlayerInfo[playerid][pDrugmoney]);
ini_setInteger(File,"MuteTime",PlayerInfo[playerid][pMuteTime]);
ini_setInteger(File,"Mobile",PlayerInfo[playerid][pMobile]);
ini_setInteger(File,"Bank",PlayerInfo[playerid][pBank]);
ini_setInteger(File,"Ban",PlayerInfo[playerid][pLocked]);
ini_setInteger(File,"Krisha",PlayerInfo[playerid][pKrisha]);
ini_setInteger(File,"UseKrisha",PlayerInfo[playerid][pUseKrisha]);
ini_setInteger(File,"Dolg",PlayerInfo[playerid][pDolg]);
ini_setInteger(File,"BoxSkill",PlayerInfo[playerid][pBoxSkill]);
ini_setInteger(File,"KongfuSkill",PlayerInfo[playerid][pKongfuSkill]);
ini_setInteger(File,"KickboxSkill",PlayerInfo[playerid][pKickboxSkill]);
ini_setInteger(File,"pDostup",PlayerInfo[playerid][pDostup]);
ini_setInteger(File,"Beg",PlayerInfo[playerid][pBeg]);
ini_setInteger(File,"Rp",PlayerInfo[playerid][pRp]);
ini_setInteger(File,"Zakonop",PlayerInfo[playerid][pZakonp]);
ini_setInteger(File,"NarcoZavisimost",PlayerInfo[playerid][pNarcoZavisimost]);
ini_setInteger(File,"Mats",PlayerInfo[playerid][pMats]);
ini_setInteger(File,"NarcoLomka",PlayerInfo[playerid][pNarcoLomka]);
ini_setInteger(File,"Proz",PlayerInfo[playerid][pProz]);
//------
ini_setInteger(File,"Колёса",PlayerInfo[playerid][pKolesocar]);
ini_setInteger(File,"Покраска",PlayerInfo[playerid][pPokraska]);
ini_setInteger(File,"Спойлер",PlayerInfo[playerid][pSpoiler]);
ini_setInteger(File,"Передний бампер",PlayerInfo[playerid][pBamper1]);
ini_setInteger(File,"Задний бампер",PlayerInfo[playerid][pBamper2]);
ini_setInteger(File,"Цвет",PlayerInfo[playerid][pCvet]);
ini_setInteger(File,"Нитро",PlayerInfo[playerid][pNitro]);
ini_setInteger(File,"Гидравлика",PlayerInfo[playerid][pGidra]);
new playersip[256];
GetPlayerIp(playerid,playersip,sizeof(playersip));
new year, month, day;
getdate(year, month, day);
new strstre[100];
format(strstre,sizeof(strstre),"%d/%d/%d",day,month,year);
ini_setString(File,"Online",strstre);
ini_setString(File,"pvIp",playersip);
//-----
ini_setInteger(File,"pAvtomas",PlayerInfo[playerid][pAvtomas]);
ini_setInteger(File,"pMestoJail",PlayerInfo[playerid][pMestoJail]);
ini_setInteger(File,"Voennik",PlayerInfo[playerid][pVoennik]);
ini_setInteger(File,"Zvonok",PlayerInfo[playerid][pZvonok]);
ini_setInteger(File,"pPiss",PlayerInfo[playerid][pPiss]);
ini_setInteger(File,"Housecash",PlayerInfo[playerid][pHousecash]);
ini_setInteger(File,"Звёзды",PlayerInfo[playerid][pZvezdi]);
ini_setInteger(File,"Ogran",PlayerInfo[playerid][pOgran]);
ini_setInteger(File,"Sigarety",PlayerInfo[playerid][pSigarety]);
ini_setInteger(File,"Segizavisimost",PlayerInfo[playerid][pSegizavisimost]);
ini_setInteger(File,"Gun51Time",PlayerInfo[playerid][pGun51Time]);
ini_setInteger(File,"GunsniperTime",PlayerInfo[playerid][pGunsniperTime]);
ini_setInteger(File,"GunaviaTime",PlayerInfo[playerid][pGunaviaTime]);
ini_setInteger(File,"GunfbiTime",PlayerInfo[playerid][pGunfbiTime]);
ini_setInteger(File,"GunlspdTime",PlayerInfo[playerid][pGunlspdTime]);
ini_setInteger(File,"GunRacersTime",PlayerInfo[playerid][pGunRacersTime]);
ini_setInteger(File,"IgrovayaZarplata",PlayerInfo[playerid][pIgrovayaZarplata]);
ini_setInteger(File,"LimitGrabezha",PlayerInfo[playerid][pLimitGrabezha]);
ini_setInteger(File,"Pokuril",PlayerInfo[playerid][pPokuril]);
ini_setInteger(File,"Prinalnarko",PlayerInfo[playerid][pPrinalnarko]);
ini_setInteger(File,"Zaigru",PlayerInfo[playerid][pZaigru]);
ini_setInteger(File,"KillerKills",PlayerInfo[playerid][pKillerKills]);
ini_setInteger(File,"Obshaga",PlayerInfo[playerid][pObshaga]);
ini_setFloat(File,"CarX",PlayerInfo[playerid][pCarX]);
ini_setFloat(File,"CarY",PlayerInfo[playerid][pCarY]);
ini_setFloat(File,"CarZ",PlayerInfo[playerid][pCarZ]);
ini_setFloat(File,"CarAngle",PlayerInfo[playerid][pCarAngle]);
ini_setInteger(File,"Cvet2",PlayerInfo[playerid][pCvet2]);
ini_setInteger(File,"Farmer",PlayerInfo[playerid][pFarmer]);
ini_setInteger(File,"FarmRank",PlayerInfo[playerid][pFarmRank]);
ini_setInteger(File,"SpasSkill",PlayerInfo[playerid][pSpas]);
ini_setInteger(File,"UziSkill",PlayerInfo[playerid][pUzi]);
ini_setInteger(File,"RPgolosov",PlayerInfo[playerid][pRPgolosov]);
ini_setInteger(File,"Seconds",PlayerInfo[playerid][pSeconds]);
ini_setInteger(File,"VoteCode",PlayerInfo[playerid][VoteCode]);
ini_setInteger(File,"UnBanYear",PlayerInfo[playerid][UnBanYear]);
ini_setInteger(File,"UnBanDay",PlayerInfo[playerid][UnBanDay]);
ini_setInteger(File,"UnBanMonth",PlayerInfo[playerid][UnBanMonth]);
ini_closeFile(File);
format(string,100,"::: Profile %s was updated :::",PlayerInfo[playerid][Username]);
printr(string);
}
}
}
return 1;
}
похоже где-то происходит переполнение буфера или накопление ошибки.
PS вот скажи мне, а тяжело было дать теме название как сейчас? |
Ну да, на счет названия извеняюсь. Просто эмоции не могу сдержать.
А на счет переполнения буфера или накопления ошибки. Можно подробнее? |
Внутри кода используется очень много внутренних временных переменных и встроенный сборщик мусора не всегда все успевает прибрать, ну и выходит что по мере работы сервера накапливается ошибка приводящая со временем к переполнению буфера.
А кстати сколько уже аккаунтов в виде фалов? |
Да переменных не так много и раньше же работало все отлично.
Файлов аккаунтов около 50-60к |
Мод рлс этим все сказано там весь мод это быдло код,а чтобы его привести в нормальный вид нужна оптимизация,и не будет никаких слётов.
|
Я его уже перелопатил и нагрузку сделал минимальной. Но если по теме, в чем мб проблема? Я просто удивляюсь! Код нормальный, а акки слетают. Причем не все, мой к примеру сохраняется, а у других нет. |
#define FixConsole(%1) for(new rSt;rSt<strlen(%1);rSt++) if(%1[rSt]>191 && %1[rSt]<240) %1[rSt]-=64; else if(%1[rSt]>239 && %1[rSt]<256) %1[rSt]-=16; else if (%1[rSt] == 168 ) %1[rSt]+=72; else if (%1[rSt] == 184) %1[rSt]+=57
#define defix(%1) for(new rStd;rStd<strlen(%1);rStd++) if(%1[rStd]>127 && %1[rStd]<176) %1[rStd]+=64; else if(%1[rStd]>223 && %1[rStd]<240) %1[rStd]+=16; else if (%1[rStd] == 240) %1[rStd]-=72; else if (%1[rStd] == 241) %1[rStd]-=57
stock printr(message[]) // by [LTD]LuxurY
{
FixConsole(message);
print(message);
return 1;
}
Ну у меня когда Сан Сити переделенный стоял тоже такое было я таймер сохранения на 2 минуты ставил,и прописал папку для сохранения акк позже не замечал слетов,может из за того что ф-ала много было поменяно.
|