Vadik_Chicano
Умник
Аккаунт сохраняет когда регистрируешься, то есть зарегистрированные аккаунты не обнуляет полностью, например перезаходишь и у тебя прав нету, а ты их получал!
Сток сохранения:
OnPlayerDisocnnect:
Сток сохранения:
PHP:
stock OnPlayerUpdateRL(playerid)
{
if(gPlayerLogged[playerid] == 1 && IsPlayerConnected(playerid))
{
if(saveplayer[playerid] != 0) return true;
saveplayer[playerid] = 5;
new sendername[24];
GetPlayerName(playerid,sendername,24);
new str[2060];
mysql_format(connects,str,sizeof(str),"UPDATE `Accounts` SET `pLevel` = '%d',`pPhousekey` = '%d',`pPbiskey` = '%d',`pPsbiskey` = '%d',`pAdmin` = '%d',`pAdminVaip` = '%d',`pFuelcar` = '%f',`pHeadValue` = '%d',`pContract` = '%d',`pCar` = '%d',`pHelper` = '%d',`pZavissmoke` = '%d',`pLegkie` = '%d',`pNoACheat` = '%d', ",
PlayerInfo[playerid][pLevel],
PlayerInfo[playerid][pPhousekey],PlayerInfo[playerid][pPbiskey],
PlayerInfo[playerid][pPsbiskey],PlayerInfo[playerid][pAdmin],
PlayerInfo[playerid][pAdminVaip],PlayerInfo[playerid][pFuelcar],
PlayerInfo[playerid][pHeadValue],PlayerInfo[playerid][pContract],
PlayerInfo[playerid][pCar], PlayerInfo[playerid][pHelper],
PlayerInfo[playerid][pZavissmoke],PlayerInfo[playerid][pLegkie],
PlayerInfo[playerid][pNoACheat]);
mysql_format(connects,str,sizeof(str),"%s `pDonatemoney2` = '%d', `pDonateAdd` = '%d',`pDonateRank` = '%d',`pDonateRankTime` = '%d',`pReg` = '%d',`pSex` = '%d',`pMuted` = '%d',`pExp` = '%d',`pCash` = '%d',`pKills` = '%d',`pJailed` = '%d',`pJailTime` = '%d',`pMats` = '%d',`pDrugs` = '%d',`pCannabis` = '%d',`pLeader` = '%d',`pMember` = '%d', ",str,
PlayerInfo[playerid][pDonatemoney2],PlayerInfo[playerid][pDonateAdd],
PlayerInfo[playerid][pDonateRank],PlayerInfo[playerid][pDonateRankTime],
PlayerInfo[playerid][pReg],PlayerInfo[playerid][pSex],
PlayerInfo[playerid][pMuted],PlayerInfo[playerid][pExp],
PlayerInfo[playerid][pCash],PlayerInfo[playerid][pKills],
PlayerInfo[playerid][pJailed],PlayerInfo[playerid][pJailTime],
PlayerInfo[playerid][pMats],PlayerInfo[playerid][pDrugs],
PlayerInfo[playerid][pCannabis],PlayerInfo[playerid][pLeader],
PlayerInfo[playerid][pMember]);
mysql_format(connects,str,sizeof(str),"%s `pRank` = '%d',`pJob` = '%d',`pVodPrava` = '%d',`pBizLic` = '%d',`pFlyLic` = '%d',`pBoatLic` = '%d',`pFishLic` = '%d',`pGunLic` = '%d', ",str,
PlayerInfo[playerid][pRank],PlayerInfo[playerid][pJob],
PlayerInfo[playerid][pVodPrava],PlayerInfo[playerid][pBizLic],
PlayerInfo[playerid][pFlyLic],PlayerInfo[playerid][pBoatLic],
PlayerInfo[playerid][pFishLic],PlayerInfo[playerid][pGunLic]);
mysql_format(connects,str,sizeof(str),"%s `pSDPistol` = '%d',`pDesertEagle` = '%d',`pShotGun` = '%d',`pMP5` = '%d',`pAK47` = '%d',`pM4` = '%d',`pChar` = '%d',`pModel` = '%d', ",str,
PlayerInfo[playerid][pSDPistol],
PlayerInfo[playerid][pDesertEagle],PlayerInfo[playerid][pShotGun],
PlayerInfo[playerid][pMP5],PlayerInfo[playerid][pAK47],
PlayerInfo[playerid][pM4],PlayerInfo[playerid][pChar],
PlayerInfo[playerid][pModel]);
mysql_format(connects,str,sizeof(str),"%s `pPnumber` = '%d',`pPayDayHad` = '%d',`pWarns` = '%d',`punWarns` = '%d',`punWarnstime` = '%d',`pFuel` = '%d',`pRobTime` = '%d',`pExitTied` = '%d',`pExitTiedNomer` = '%d',`pGrabSkill` = '%d',`pGrabTime` = '%d',`pReportTime` = '%d',`pVoprosTime` = '%d',`pVerevka` = '%d',`pMaska` = '%d',`pHilka` = '%d',`pSigi` = '%d',`pOtmbI4ka` = '%d',`pAutoTime` = '%d', ",str,
PlayerInfo[playerid][pPnumber],PlayerInfo[playerid][pPayDayHad],
PlayerInfo[playerid][pWarns],PlayerInfo[playerid][punWarns],
PlayerInfo[playerid][punWarnstime],PlayerInfo[playerid][pFuel],
PlayerInfo[playerid][pRobTime],PlayerInfo[playerid][pExitTied],
PlayerInfo[playerid][pExitTiedNomer],PlayerInfo[playerid][pGrabSkill],
PlayerInfo[playerid][pGrabTime],PlayerInfo[playerid][pReportTime],
PlayerInfo[playerid][pVoprosTime],PlayerInfo[playerid][pVerevka],
PlayerInfo[playerid][pMaska],PlayerInfo[playerid][pHilka],
PlayerInfo[playerid][pSigi],PlayerInfo[playerid][pOtmbI4ka],
PlayerInfo[playerid][pAutoTime]);
mysql_format(connects,str,sizeof(str),"%s `pAutoSkill` = '%d',`pMarried` = '%d',`pMuteTime` = '%d',`pMobile` = '%d',`pBank` = '%d',`pLocked2` = '%d',`pBoxSkill` = '%d',`pKongfuSkill` = '%d',`pKickboxSkill` = '%d',`pFightSkill` = '%d',`pFightSkil` = '%d',`pFightTime` = '%d',`pHospital` = '%d',`pIzol` = '%d',`pDostup` = '%d',`pZakonp` = '%d', ",str,
PlayerInfo[playerid][pAutoSkill],PlayerInfo[playerid][pMarried],
PlayerInfo[playerid][pMuteTime],PlayerInfo[playerid][pMobile],
PlayerInfo[playerid][pBank],PlayerInfo[playerid][pLocked2],
PlayerInfo[playerid][pBoxSkill],PlayerInfo[playerid][pKongfuSkill],
PlayerInfo[playerid][pKickboxSkill],PlayerInfo[playerid][pFightSkill],
PlayerInfo[playerid][pFightSkil],PlayerInfo[playerid][pFightTime],
PlayerInfo[playerid][pHospital],PlayerInfo[playerid][pIzol],
PlayerInfo[playerid][pDostup],PlayerInfo[playerid][pZakonp]);
mysql_format(connects,str,sizeof(str),"%s `pBanTime1` = '%d',`pBanData1` = '%d',`pVipTime` = '%d',`pHouse` = '%d',`pVipData` = '%d',`pBanKol` = '%d',`pNarcoLomka` = '%d',`pProz` = '%d',`pKolesocar` = '%d',`pPokraska` = '%d',`pSpoiler` = '%d',`pHood` = '%d',`pExhaust` = '%d',`pLamps` = '%d',`pSideskirt` = '%d',`pVozdyx` = '%d',`pVcol1` = '%d',`pVcol2` = '%d',`pBamper1` = '%d',`pBamper2` = '%d', ",str,
PlayerInfo[playerid][pBanTime1],PlayerInfo[playerid][pBanData1],
PlayerInfo[playerid][pVipTime],PlayerInfo[playerid][pHouse],
PlayerInfo[playerid][pVipData],PlayerInfo[playerid][pBanKol],
PlayerInfo[playerid][pNarcoLomka],PlayerInfo[playerid][pProz],
PlayerInfo[playerid][pKolesocar],PlayerInfo[playerid][pPokraska],
PlayerInfo[playerid][pSpoiler],PlayerInfo[playerid][pHood],
PlayerInfo[playerid][pExhaust],PlayerInfo[playerid][pLamps],
PlayerInfo[playerid][pSideskirt],PlayerInfo[playerid][pVozdyx],
PlayerInfo[playerid][pVcol1],PlayerInfo[playerid][pVcol2],
PlayerInfo[playerid][pBamper1],PlayerInfo[playerid][pBamper2]);
mysql_format(connects,str,sizeof(str),"%s `pNitro` = '%d',`pGidra` = '%d',`pAvtomas` = '%d',`pMestoJail` = '%d',`pWanted` = '%d',`pHousecash` = '%d',`pTut` = '%d',`pNumbercar` = '%s',`pIpReg` = '%s' WHERE `Name` = '%s'",str,
PlayerInfo[playerid][pNitro],PlayerInfo[playerid][pGidra],
PlayerInfo[playerid][pAvtomas],PlayerInfo[playerid][pMestoJail],
PlayerInfo[playerid][pWanted],PlayerInfo[playerid][pHousecash],
PlayerInfo[playerid][pTut],PlayerInfo[playerid][pNumbercar],
PlayerInfo[playerid][pIpReg],sendername);
mysql_function_query(connects, str, false, "", "");
printf("Аккаунт %s был успешно сохранён.(%d)",sendername,strlen(str));
}
else printf("Ошибка сохранения.");
return 1;
}
PHP:
public OnPlayerDisconnect(playerid, reason)
{
saveplayer[playerid] = 5; //Сохранение
OnPlayerUpdateRL(playerid); //Сохранение
if(capt == 1 || capt == 10)
{
if(PlayerInfo[playerid][pMember] == 12 || PlayerInfo[playerid][pMember] == 13 || PlayerInfo[playerid][pMember] == 15 || PlayerInfo[playerid][pMember] == 17 || PlayerInfo[playerid][pMember] == 18)
{
TextDrawHideForPlayer(playerid, fon);
TextDrawHideForPlayer(playerid, onecommand);
TextDrawHideForPlayer(playerid, twocommand);
TextDrawHideForPlayer(playerid, kolone);
TextDrawHideForPlayer(playerid, koltwo);
TextDrawHideForPlayer(playerid, timetext);
TextDrawHideForPlayer(playerid, vremya);
GangZoneStopFlashForPlayer(playerid, WarZoneID);
}
}
if(gPlayerLogged[playerid] == 1) strmid(ExitInfo[playerid][ExitName],PlayerInfo[playerid][pNames], 0, strlen(PlayerInfo[playerid][pNames]), 32), ExitInfo[playerid][ExitTime] = GetTickCount();
new stringer[144];
CountVezit2--;
IsConnected{playerid} = 0;
if(robbankstime[playerid] > 0) robbanks = 0;
if(IsACop(playerid)) zakonn --;
if(ContractInfo[playerid][cHitman] != INVALID_PLAYER_ID)
{
if(IsPlayerConnected(ContractInfo[playerid][cHitman]))
{
SendMes(ContractInfo[playerid][cHitman],COLOR_YELLOW,"~~~ Æåðòâà %s[%d] âûøëà èç èãðû ~~~", PlayerInfo[playerid][pNames],playerid);
ContractInfo[ContractInfo[playerid][cHitman]][cZakaz] = INVALID_PLAYER_ID;
}
}
if(PlayerInfo[playerid][pAdmin] > 0)
{
format(stringer, sizeof(stringer), "[AdminLogin] Âûøåë àäìèíèñòðàòîð %s",PlayerInfo[playerid][pNames]);
ABroadCast(COLOR_GREEN,stringer,1);
}
new mysql_query[128];
format(mysql_query, sizeof(mysql_query), "UPDATE `Accounts` SET `pOnline` = '0' WHERE `Name` = '%s'",PlayerInfo[playerid][pNames]);
mysql_function_query(connects, mysql_query, false, "", "");
ResetCarInfo(playerid);
if(PlayerCuffed[playerid] > 0 && PlayerInfo[playerid][pWanted] > 0 || Tazer[playerid] > 0 && PlayerInfo[playerid][pWanted] > 0)
{
PlayerInfo[playerid][pJailTime] = PlayerInfo[playerid][pWanted]*600;
PlayerInfo[playerid][pJailed] = 1;
PlayerInfo[playerid][pCash] -= 1000000;
PlayerInfo[playerid][pMestoJail] = 2;
}
if(RB[playerid] != 255)
{
DestroyObject(BlockPost[RB[playerid]]);
DestroyDynamic3DTextLabel(Block3D[RB[playerid]]);
RB[playerid] = 255;
rbtime[playerid] = 0;
}
CancelSelectTextDraw(playerid);
if(AlhambraDJ == true && AlhambraDJID == playerid) AlhambraDJ = false, AlhambraDJID = INVALID_PLAYER_ID;
if(JizzyDJ == true && JizzyDJID == playerid) JizzyDJ = false, JizzyDJID = INVALID_PLAYER_ID;
if(boy[playerid] == 1)
{
ring = 0;
boy[playerid] = 0;
boy[fightid[playerid]] = 0;
TimeBox[playerid] = 0;
TimeBoxAll[playerid] = 0;
TimeBox[fightid[playerid]] = 0;
TimeBoxAll[fightid[playerid]] = 0;
SetPPos(fightid[playerid],770.7488,6.9432,1000.7118);
SetPlayerFacingAngle(fightid[playerid], 90.0);
switch(PlayerInfo[fightid[playerid]][pFightSkil])
{
case 0..49: PlayerInfo[fightid[playerid]][pFightSkil]++, PlayerInfo[fightid[playerid]][pFightTime]= 600;
case 50: PlayerInfo[fightid[playerid]][pFightSkill]++, PlayerInfo[fightid[playerid]][pFightTime]= 600;
case 51..99: PlayerInfo[fightid[playerid]][pFightSkil]++, PlayerInfo[fightid[playerid]][pFightTime]= 540;
case 100: PlayerInfo[fightid[playerid]][pFightSkill]++, PlayerInfo[fightid[playerid]][pFightTime]= 540;
case 101..149: PlayerInfo[fightid[playerid]][pFightSkil]++, PlayerInfo[fightid[playerid]][pFightTime]= 480;
case 150: PlayerInfo[fightid[playerid]][pFightSkill]++, PlayerInfo[fightid[playerid]][pFightTime]= 480;
case 151..199: PlayerInfo[fightid[playerid]][pFightSkil]++, PlayerInfo[fightid[playerid]][pFightTime]= 420;
case 200: PlayerInfo[fightid[playerid]][pFightSkill]++, PlayerInfo[fightid[playerid]][pFightTime]= 420;
}
SendMes(fightid[playerid],COLOR_LIGHTRED," Âàø ïðîòèâíèê âûøåë èç èãðû íà ðèíãå. Âðåìÿ äî ñëåä. áîÿ: %d ñåêóíä", PlayerInfo[fightid[playerid]][pFightTime]);
PlayerInfo[playerid][pFightTime] = 600;
fightid[playerid] = INVALID_PLAYER_ID;
fightid[fightid[playerid]] = INVALID_PLAYER_ID;
TogglePlayerControllable(fightid[playerid], 0); printf("Bug = 19");
}
if(PlayerSpec[playerid] != INVALID_PLAYER_ID && PlayerSpectateID[PlayerSpec[playerid]] != INVALID_PLAYER_ID)
{
OnPlayerCommandText(PlayerSpectateID[PlayerSpec[playerid]],"/reoff");
}
TeleportTime[playerid] = 0;
AntiFakeKill[playerid] = false;
if(PlayerInfo[playerid][pJob] == 2)
{
if(gcontract[playerid] == 1)
{
Delete3DTextLabel(Meh3d[GetPlayerVehicleID(playerid)]);
gcontract[playerid] = 0;
}
}
if(PlayerInfo[playerid][pPhousekey] !=255)
{
PlayerInfo[playerid][pProz] = PlayerInfo[playerid][pProz];
if(caridhouse[playerid] != 0)
{
DestroyVehicle(caridhouse[playerid]);
caridhouse[playerid] = 0;
}
}
new playersip[16];
new year, month,day;
zips[playerid] = 0;
if(MehJob[playerid] ==0)
{
AvtoInfo[0][Rab] -=1;
if( AvtoInfo[0][Rab] <0) AvtoInfo[0][Rab] = 0;
}
if(MehJob[playerid] ==1)
{
AvtoInfo[1][Rab] -=1;
if( AvtoInfo[1][Rab] <0) AvtoInfo[1][Rab] = 0;
}
if(MehJob[playerid] ==2)
{
AvtoInfo[2][Rab] -=1;
if( AvtoInfo[2][Rab] <0) AvtoInfo[2][Rab] = 0;
}
MehJob[playerid] = INVALID_PLAYER_ID;
getdate(year, month, day);
new hour, minute, second;
gettime(hour, minute, second);
GetPlayerIp(playerid,playersip,sizeof(playersip));
if(IsPlayerAttachedObjectSlotUsed(playerid,1)) RemovePlayerAttachedObject(playerid,1);
if(PlayerInfo[playerid][pJob] == 7) PlayerInfo[playerid][pJob] = 0;
if(SelectChar[playerid] == INVALID_PLAYER_ID)
{
SetPlayerSkin(playerid, OldSkin[playerid]);
PlayerInfo[playerid][pChar] = OldSkin[playerid];
SelectChar[playerid] = 0;
}
OnPlayerUpdateRL(playerid);
tune[playerid] = 0;
showhelp[playerid] = 0;
showhelp2[playerid] = 0;
soglasen[playerid] = 0;
if(mesto[playerid]==0) AvtoInfo[0][Mesto] = 255;
if(mesto[playerid]==1) AvtoInfo[1][Mesto] = 255;
if(mesto[playerid]==2) AvtoInfo[2][Mesto] = 255;
SelectCharPlace[playerid] = 0;
CharPrice[playerid] = 0;
SelectCharID[playerid] = 0;
SelectChar[playerid] = 0;
PicCP[playerid] = 0;
repairdvig[playerid] = 0;
takephone[playerid] = 0;
gag[playerid] = 0;
dostup[playerid] = 0;
PicCP[playerid] = 0;
enterbiz[playerid] = 0;
KillTimer(STimer[playerid]);
TextDrawDestroy(URL[playerid]);
TextDrawDestroy(FuelShow[playerid]);
TextDrawDestroy(SpeedShow[playerid]);
TextDrawDestroy(HealthShow[playerid]);
TextDrawDestroy(StatusShow[playerid]);
TextDrawDestroy(EngineShow[playerid]);
arenda[playerid] = 0;
arenda[playerid] = 0;
PlayerInfo[playerid][pDrugtime] = 0;
PlayerInfo[playerid][pGunfbiTime] = 0;
forma[playerid] = 0;
proverkaforma[playerid] = 0;
keys[playerid] = 0;
SetPlayerSkills(playerid);
SelectCharPlace[playerid] = 0;
CharPrice[playerid] = 0;
SelectCharID[playerid] = 0;
SelectChar[playerid] = 0;
incar[playerid] = 0;
togspec[playerid] = false;
if(TransportDuty[playerid] == 1) TaxiDrivers -= 1;
if(PlayerInfo[playerid][pMember] == 4) Medics -= 1;
if(PlayerInfo[playerid][pMember] == 1 || PlayerInfo[playerid][pMember] == 10 || PlayerInfo[playerid][pMember] == 21 ) Police +=1;
else if(PlayerInfo[playerid][pJob] == 2) Mechanics -= 1;
if(TransportCost[playerid] > 0 && TransportDriver[playerid] != INVALID_PLAYER_ID)
{
if(IsPlayerConnected(TransportDriver[playerid]))
{
TransportMoney[TransportDriver[playerid]] += TransportCost[playerid];
TransportTime[TransportDriver[playerid]] = 0;
TransportCost[TransportDriver[playerid]] = 0;
format(stringer, sizeof(stringer), "~g~+%d",TransportCost[playerid]);
GameTextForPlayer(TransportDriver[playerid], stringer, 5000, 1);
}
}
new ipplayer[16];
GetPlayerIp(playerid,ipplayer,sizeof(ipplayer));
printf("[OnPlayerDisconnect] Èãðîê %s ïîêèíóë ñåðâåð. [ID: %d] [IP: %s]",PlayerInfo[playerid][pNames],playerid,ipplayer);
//KickEx(playerid); printf("Kick = 5");//ÊÈÊÀÅÌ èãðîêà, ýòî äîëæíî ñïàñòè îò =DoSeR=
return true;
}
