24.12.2013, 16:54
My server stats saved some time some time server not save stats
Please give me file or plugin or incluced which i add in my server
Provide me download LINK Please
public OnPlayerDisconnect(playerid, reason)
public OnPlayerConnect(playerid)
Please give me file or plugin or incluced which i add in my server
Provide me download LINK Please
public OnPlayerDisconnect(playerid, reason)
Код:
public OnPlayerDisconnect(playerid, reason) { // Crash Fix new name[MAX_PLAYER_NAME]; GetPlayerName(playerid, name, sizeof(name)); if(!strcmp(name, "InvalidNick", true)) return 1; if(!strcmp(name, "BannedPlayer", true)) return 1; if(playerid == MAX_PLAYERS) return 1; if(pTazer[playerid] == 1) GivePlayerValidWeapon(playerid,pTazerReplace[playerid],60000); if(GetPVarInt(playerid, "SpeedRadar") == 1) GivePlayerValidWeapon(playerid, GetPVarInt(playerid, "RadarReplacement"), 60000); if(GetPVarInt(playerid, "MovingStretcher") != -1) { KillTimer(GetPVarInt(playerid, "TickEMSMove")); DeletePVar(GetPVarInt(playerid, "MovingStretcher"), "OnStretcher"); SetPVarInt(playerid, "MovingStretcher", -1); } if(IsValidDynamicObject(PlayerInfo[playerid][pWeedObject])) { DestroyDynamicObject(PlayerInfo[playerid][pWeedObject]); } if(IsValidDynamicObject(BoomboxInfo[playerid][bbObject])) { DestroyDynamicObject(BoomboxInfo[playerid][bbObject]); foreach(Player, i) { if(IsPlayerInRangeOfPoint(i,150.0,BoomboxInfo[playerid][bbPosX],BoomboxInfo[playerid][bbPosY],BoomboxInfo[playerid][bbPosZ]) && GetPlayerInterior(i) == BoomboxInfo[playerid][bbInt] && GetPlayerVirtualWorld(i) == BoomboxInfo[playerid][bbVW]) { StopAudioStreamForPlayer(i); } } } if(GetPVarInt(playerid, "PBM") < 1) { if(GetPVarInt(playerid, "Hospital") > 0) { PlayerInfo[playerid][pHospital] = 1; } if(GetPVarInt(playerid, "Injured") == 1) { PlayerInfo[playerid][pHospital] = 1; KillEMSQueue(playerid); ResetPlayerWeaponsEx(playerid); } } else { new szMessage[64]; format(szMessage, sizeof(szMessage), "%s has left the paintball game (disconnect).", GetPlayerNameEx(playerid)); foreach(Player, i) { if(GetPVarInt(i, "PBM") == GetPVarInt(playerid, "PBM") && i != playerid) SendClientMessage(i, COLOR_RED, szMessage); } } if(PlayerInfo[playerid][pLockCar] != INVALID_VEHICLE_ID) vehicle_unlock_doors(PlayerInfo[playerid][pLockCar]); if(PlayerInfo[playerid][pVehicleKeysFrom] != INVALID_PLAYER_ID) PlayerVehicleInfo[PlayerInfo[playerid][pVehicleKeysFrom]][PlayerInfo[playerid][pVehicleKeys]][pvAllowedPlayerId] = INVALID_PLAYER_ID; InsideShamal[playerid] = INVALID_VEHICLE_ID; PlayerInfo[playerid][pInt] = GetPlayerInterior(playerid); GetPlayerPos(playerid, PlayerInfo[playerid][pPos_x], PlayerInfo[playerid][pPos_y], PlayerInfo[playerid][pPos_z]); GetPlayerFacingAngle(playerid, PlayerInfo[playerid][pPos_r]); if(GetPlayerSkin(playerid) == 155) PlayerInfo[playerid][pSkin] = GetPVarInt(playerid, "NPS"); if(InsideShamal[playerid] != INVALID_VEHICLE_ID) { if(InsideShamal[playerid] == INVALID_VEHICLE_ID || GetVehicleModel(InsideShamal[playerid]) != 519) { GivePlayerValidWeapon(playerid, 46, 60000); PlayerInfo[playerid][pPos_x] = 0.000000; PlayerInfo[playerid][pPos_y] = 0.000000; PlayerInfo[playerid][pPos_z] = 420.000000; } else { new Float:X, Float:Y, Float:Z; GetVehiclePos(InsideShamal[playerid], X, Y, Z); PlayerInfo[playerid][pPos_x] = X; PlayerInfo[playerid][pPos_y] = Y; PlayerInfo[playerid][pPos_z] = Z; new Float:XB, Float:YB, Float:ZB; GetVehiclePos(InsideShamal[playerid], XB, YB, ZB); if(ZB > 50.0) { GivePlayerValidWeapon(playerid, 46, 60000); } } PlayerInfo[playerid][pVW] = 0; SetPlayerVirtualWorld(playerid, 0); PlayerInfo[playerid][pInt] = 0; SetPlayerInterior(playerid, 0); InsideShamal[playerid] = INVALID_VEHICLE_ID; } UnloadPlayerVehicles(playerid); ResetPlayerWeapons(playerid); for(new i = 0; i < MAX_REPORTS; i++) { if(Reports[i][ReportFrom] == playerid) { Reports[i][ReportFrom] = 999; Reports[i][BeingUsed] = 0; Reports[i][TimeToExpire] = 0; } } foreach(Player, i) { if(TaxiAccepted[i] == playerid) { TaxiAccepted[i] = 999; GameTextForPlayer(i, "~w~Taxi Caller~n~~r~Left the game", 5000, 1); TaxiCallTime[i] = 0; DisablePlayerCheckpoint(i); } if(EMSAccepted[i] == playerid) { EMSAccepted[i] = 999; GameTextForPlayer(i, "~w~EMS Caller~n~~r~Left the game", 5000, 1); EMSCallTime[i] = 0; DisablePlayerCheckpoint(i); } if(BusAccepted[i] == playerid) { BusAccepted[i] = 999; GameTextForPlayer(i, "~w~Bus Caller~n~~r~Left the game", 5000, 1); BusCallTime[i] = 0; DisablePlayerCheckpoint(i); } if(MedicAccepted[i] == playerid) { TaxiAccepted[playerid] = 999; BusAccepted[playerid] = 999; MedicAccepted[playerid] = 999; GameTextForPlayer(i, "~w~Medic Caller~n~~r~Left the game", 5000, 1); MedicCallTime[i] = 0; DisablePlayerCheckpoint(i); } } if(Spectate[playerid] < 553) { PlayerInfo[playerid][pInt] = GetPVarInt(playerid, "SpecInt"); PlayerInfo[playerid][pVW] = GetPVarInt(playerid, "SpecVW"); PlayerInfo[playerid][pPos_x] = GetPVarFloat(playerid, "SpecPosX"); PlayerInfo[playerid][pPos_y] = GetPVarFloat(playerid, "SpecPosY"); PlayerInfo[playerid][pPos_z] = GetPVarFloat(playerid, "SpecPosZ"); GettingSpectated[Spectate[playerid]] = 999; Spectate[playerid] = 999; } if(GetPVarInt(playerid, "gpsonoff") == 1) TextDrawDestroy(GPS[playerid]); if(PlayerBoxing[playerid] > 0) { if(Boxer1 == playerid) { if(IsPlayerConnected(Boxer2)) { if(IsPlayerInRangeOfPoint(PlayerBoxing[Boxer2], 25.0, 765.952270, 4.167977, 1000.719238)) { PlayerBoxing[Boxer2] = 0; SetPlayerPos(Boxer2, 765.952270, 4.167977, 1000.719238); SetPlayerInterior(Boxer2, 5); GameTextForPlayer(Boxer2, "~r~Match interrupted", 5000, 1); return 1; } } } else if(Boxer2 == playerid) { if(IsPlayerConnected(Boxer1)) { if(IsPlayerInRangeOfPoint(PlayerBoxing[Boxer1],25.0,765.952270, 4.167977, 1000.719238)) { PlayerBoxing[Boxer1] = 0; SetPlayerPos(Boxer1, 765.952270, 4.167977, 1000.719238); SetPlayerInterior(Boxer1, 5); GameTextForPlayer(Boxer1, "~r~Match interrupted", 5000, 1); return 1; } } } InRing = 0; RoundStarted = 0; Boxer1 = INVALID_PLAYER_ID; Boxer2 = INVALID_PLAYER_ID; } new string[128]; switch (reason) { case 0: { format(string, sizeof(string), "%s has left the server (timeout).", GetPlayerNameEx(playerid)); ProxDetector(30.0, playerid, string, COLOR_YELLOW,COLOR_YELLOW,COLOR_YELLOW,COLOR_YELLOW,COLOR_YELLOW); if(PlayerCuffed[playerid] != 0) { strcpy(PlayerInfo[playerid][pPrisonedBy], "Server", 64); strcpy(PlayerInfo[playerid][pPrisonReason], "Logging while cuffed (timeout)", 64); PlayerInfo[playerid][pJailed] = 3; PlayerInfo[playerid][pJailTime] += 30*60; } } case 1: { format(string, sizeof(string), "%s has left the server (leaving).", GetPlayerNameEx(playerid)); ProxDetector(30.0, playerid, string, COLOR_YELLOW,COLOR_YELLOW,COLOR_YELLOW,COLOR_YELLOW,COLOR_YELLOW); if(PlayerCuffed[playerid] != 0) { strcpy(PlayerInfo[playerid][pPrisonedBy], "Server", 64); strcpy(PlayerInfo[playerid][pPrisonReason], "Logging while cuffed (leaving)", 64); PlayerInfo[playerid][pJailed] = 3; PlayerInfo[playerid][pJailTime] += 20*60; } } case 2: { format(string, sizeof(string), "%s has left the server (kicked/banned).", GetPlayerNameEx(playerid)); ProxDetector(30.0, playerid, string, COLOR_YELLOW,COLOR_YELLOW,COLOR_YELLOW,COLOR_YELLOW,COLOR_YELLOW); } } for(new x; x < sizeof(EventKernel[EventStaff]); x++) { if(EventKernel[EventStaff][x] == playerid) { EventKernel[EventStaff][x] = 999; break; } } if(GetPVarInt(playerid, "EventToken") == 0 && !GetPVarType(playerid, "LoadingObjects")) { new Float: x, Float: y, Float: z; PlayerInfo[playerid][pInt] = GetPlayerInterior(playerid); PlayerInfo[playerid][pVW] = GetPlayerVirtualWorld(playerid); GetPlayerPos(playerid, x, y, z); GetPlayerFacingAngle(playerid, PlayerInfo[playerid][pPos_r]); PlayerInfo[playerid][pPos_x] = x; PlayerInfo[playerid][pPos_y] = y; PlayerInfo[playerid][pPos_z] = z; } else { PlayerInfo[playerid][pInt] = EventLastInt[playerid]; PlayerInfo[playerid][pVW] = EventLastVW[playerid]; PlayerInfo[playerid][pPos_r] = EventFloats[playerid][0]; PlayerInfo[playerid][pPos_x] = EventFloats[playerid][1]; PlayerInfo[playerid][pPos_y] = EventFloats[playerid][2]; PlayerInfo[playerid][pPos_z] = EventFloats[playerid][3]; } if(TransportCost[playerid] > 0 && TransportDriver[playerid] < 999) { if(IsPlayerConnected(TransportDriver[playerid])) { TransportMoney[TransportDriver[playerid]] += TransportCost[playerid]; TransportTime[TransportDriver[playerid]] = 0; TransportCost[TransportDriver[playerid]] = 0; format(string, sizeof(string), "~w~Passenger left~n~~g~Earned $%d",TransportCost[playerid]); GameTextForPlayer(TransportDriver[playerid], string, 5000, 1); TransportDriver[playerid] = 999; } } if(GotHit[playerid] > 0) { if(GetChased[playerid] < 999) { if(IsPlayerConnected(GetChased[playerid])) { SendClientMessage(GetChased[playerid], COLOR_YELLOW, "Your hit has left the server."); GoChase[GetChased[playerid]] = 999; } } } if(GoChase[playerid] < 999) { GetChased[GoChase[playerid]] = 999; GotHit[GoChase[playerid]] = 999; } if(TransportDuty[playerid] == 1) { TaxiDrivers -= 1; } else if(TransportDuty[playerid] == 2) { BusDrivers -= 1; } if(PlayerInfo[playerid][pJob] == 11 || PlayerInfo[playerid][pJob2] == 11) { if(JobDuty[playerid] == 1) { Medics -= 1; } } if(PlayerInfo[playerid][pJob] == 7 || PlayerInfo[playerid][pJob2] == 7) { if(JobDuty[playerid] == 1) { Mechanics -= 1; } } if(GetPVarType(playerid, "tabbedVW") != 0) { printf("[alt tab vw debug] %d | tabvw: %d | real vw: %d", PlayerInfo[playerid][pVW], GetPVarInt(playerid, "tabbedVW"), GetPlayerVirtualWorld(playerid)); PlayerInfo[playerid][pVW] = GetPVarInt(playerid, "tabbedVW"); } else PlayerInfo[playerid][pVW] = GetPlayerVirtualWorld(playerid); printf("[alt tab vw debug] tabvw: %d | tabvw type: %d", GetPVarInt(playerid, "tabbedVW"), GetPVarType(playerid, "tabbedVW")); if(GetPVarInt(playerid, "PBM") > 0) { PlayerInfo[playerid][pPos_x] = 1782.8229; PlayerInfo[playerid][pPos_y] = -1565.8177; PlayerInfo[playerid][pPos_z] = 13.3472; PlayerInfo[playerid][pInt] = 0; PlayerInfo[playerid][pVW] = 0; PlayerInfo[playerid][pPos_r] = 0; } OnPlayerStatsUpdate(playerid); return 1; }
Код:
public OnPlayerConnect(playerid) { new szPlayerIP[16]; // Code to patch a SA-MP exploit where you can connect to a SA-MP server multiple times with a bunch of names and completely rape the logs // We don't receive attacks like this very often, but I have produced the code so if we ever need it, we have it right in front of us. It requires testing though... /*new szPlayerName[MAX_PLAYER_NAME], szPlayerIP[16], szPlayerIPs[16], szPlayerNames[MAX_PLAYER_NAME]; GetPlayerName(playerid, szPlayerName, MAX_PLAYER_NAME); GetPlayerIp(playerid, szPlayerIP, sizeof(szPlayerIP)); foreach(Player, x) { GetPlayerName(x, szPlayerNames, MAX_PLAYER_NAME); GetPlayerIp(playerid, szPlayerIPs, sizeof(szPlayerIPs)); if(strfind(szPlayerName, szPlayerNames, true) != -1 && !strcmp(szPlayerIPs, szPlayerIP, true) && IsStringAlphaNumeric(szPlayerNames) == 0) return BanEx(playerid, "NieXrlaM client spam attack attempt"); }*/ TotalConnect++; if(Iter_Count(Player) > MaxPlayersConnected) { MaxPlayersConnected = Iter_Count(Player); getdate(MPYear,MPMonth,MPDay); } GetPlayerIp(playerid, szPlayerIP, sizeof(szPlayerIP)); if(!InvalidNameCheck(playerid)) return 1; if(CheckBan(szPlayerIP) == 1) { SetPlayerName(playerid, "BannedPlayer"); SendClientMessage(playerid, COLOR_NEWS, "You're banned from Pak Reality Roleplay. You can appeal your ban at http://pr-gaming.bestforum.ca/"); Kick(playerid); return 1; } SetPlayerSkillLevel(playerid, WEAPONSKILL_PISTOL, 1); SetPlayerSkillLevel(playerid, WEAPONSKILL_MICRO_UZI, 1); SetPVarInt(playerid, "IsInArena", -1); SetPVarInt(playerid, "MovingStretcher", -1); SetPVarInt(playerid, "editingcd", -1); SetPVarInt(playerid, "editingcdveh", -1); SetPVarInt(playerid, "AdminUndercover", 0); SetPlayerColor(playerid,TEAM_HIT_COLOR); // Player file variables (saving) PlayerInfo[playerid][pKey] = 0; PlayerInfo[playerid][pLiveBanned] = 0; PlayerInfo[playerid][pLevel] = 2; PlayerInfo[playerid][pAdmin] = 0; format(PlayerInfo[playerid][pAdminName], 32, "0"); PlayerInfo[playerid][pBanAppealer] = 0; PlayerInfo[playerid][pBanned] = 0; PlayerInfo[playerid][pPermaBanned] = 0; PlayerInfo[playerid][pDisabled] = 0; PlayerInfo[playerid][pIP] = 0; PlayerInfo[playerid][pReg] = 0; PlayerInfo[playerid][pTut] = 0; PlayerInfo[playerid][pSex] = 1; PlayerInfo[playerid][pGangMod] = 0; PlayerInfo[playerid][pAge] = 0; PlayerInfo[playerid][pSkin] = 299; PlayerInfo[playerid][pPos_x] = 0; PlayerInfo[playerid][pPos_y] = 0; PlayerInfo[playerid][pPos_z] = 3.14; PlayerInfo[playerid][pPos_r] = 0; PlayerInfo[playerid][pConnectTime] = 0; PlayerInfo[playerid][pRespect] = 0; PlayerInfo[playerid][pNumber] = 0; PlayerInfo[playerid][pWarns] = 0; PlayerInfo[playerid][pGang] = 255; PlayerInfo[playerid][pFaction] = 0; PlayerInfo[playerid][pLeader] = 0; PlayerInfo[playerid][pRank] = 0; PlayerInfo[playerid][pJob] = 0; PlayerInfo[playerid][pJob2] = 0; PlayerInfo[playerid][pDonator] = 1; PlayerInfo[playerid][gPupgrade] = 0; PlayerInfo[playerid][pSarmor] = 0; PlayerInfo[playerid][pCash] = 100; PlayerInfo[playerid][pBank] = 20000; PlayerInfo[playerid][pInsurance] = 0; PlayerInfo[playerid][pCrimes] = 0; PlayerInfo[playerid][pArrested] = 0; PlayerInfo[playerid][pWantedLevel] = 0; PlayerInfo[playerid][pHealth] = 100; PlayerInfo[playerid][pArmor] = 20; PlayerInfo[playerid][pPot] = 0; PlayerInfo[playerid][pCrack] = 0; PlayerInfo[playerid][pPackages] = 0; PlayerInfo[playerid][pCrates] = 0; PlayerInfo[playerid][pRadio] = 0; PlayerInfo[playerid][pRadioFreq] = 0; PlayerInfo[playerid][pMats] = 100; PlayerInfo[playerid][pRope] = 0; PlayerInfo[playerid][pCigar] = 0; PlayerInfo[playerid][pSprunk] = 0; PlayerInfo[playerid][pSpraycan] = 0; PlayerInfo[playerid][pHouse] = INVALID_HOUSE_ID; PlayerInfo[playerid][pHouse2] = INVALID_HOUSE_ID; PlayerInfo[playerid][pRenting] = INVALID_HOUSE_ID; PlayerInfo[playerid][pInt] = 0; PlayerInfo[playerid][pVW] = 0; PlayerInfo[playerid][pJailed] = 0; PlayerInfo[playerid][pJailTime] = 0; // Weapons for(new s = 0; s < 12; s++) { PlayerInfo[playerid][pAGuns][s] = 0; // Admin spawned, non-saved PlayerInfo[playerid][pGuns][s] = 0; } PlayerInfo[playerid][pPayCheck] = 0; PlayerInfo[playerid][pPayReady] = 0; PlayerInfo[playerid][pDetSkill] = 0; PlayerInfo[playerid][pLawSkill] = 0; PlayerInfo[playerid][pSexSkill] = 0; PlayerInfo[playerid][pDrugsSkill] = 0; PlayerInfo[playerid][pSmugSkill] = 0; PlayerInfo[playerid][pArmsSkill] = 0; PlayerInfo[playerid][pMechSkill] = 0; PlayerInfo[playerid][pFishSkill] = 0; PlayerInfo[playerid][pBoxSkill] = 0; PlayerInfo[playerid][pTruckSkill] = 0; PlayerInfo[playerid][pCarSkill] = 0; //PlayerInfo[playerid][pCraftSkill] = 0; PlayerInfo[playerid][pLawyerTime] = 0; PlayerInfo[playerid][pLawyerFreeTime] = 0; PlayerInfo[playerid][pDrugsTime] = 0; PlayerInfo[playerid][pMechTime] = 0; PlayerInfo[playerid][pSexTime] = 0; PlayerInfo[playerid][pCarTime] = 0; PlayerInfo[playerid][pFishes] = 0; PlayerInfo[playerid][pBiggestFish] = 0; PlayerInfo[playerid][pWeedObject] = 0; PlayerInfo[playerid][pWeedPos][0] = 0; PlayerInfo[playerid][pWeedPos][1] = 0; PlayerInfo[playerid][pWeedPos][2] = 0; PlayerInfo[playerid][pWeedVW] = 0; PlayerInfo[playerid][pWeedInt] = 0; PlayerInfo[playerid][pWeedGrowth] = -1; PlayerInfo[playerid][pWSeeds] = 0; PlayerInfo[playerid][pFightStyle] = FIGHT_STYLE_NORMAL; PlayerInfo[playerid][pScrewdriver] = 0; PlayerInfo[playerid][pSmslog] = 0; PlayerInfo[playerid][pWristwatch] = 0; PlayerInfo[playerid][pTire] = 0; PlayerInfo[playerid][pFirstaid] = 0; PlayerInfo[playerid][pRccam] = 0; PlayerInfo[playerid][pReceiver] = 0; PlayerInfo[playerid][pGPS] = 0; PlayerInfo[playerid][pSweep] = 0; PlayerInfo[playerid][pSweepLeft] = 0; for(new v = 0; v < MAX_PLAYERVEHICLES; v++) { PlayerVehicleInfo[playerid][v][pvModelId] = 0; PlayerVehicleInfo[playerid][v][pvPosX] = 0.0; PlayerVehicleInfo[playerid][v][pvPosY] = 0.0; PlayerVehicleInfo[playerid][v][pvPosZ] = 0.0; PlayerVehicleInfo[playerid][v][pvPosAngle] = 0.0; PlayerVehicleInfo[playerid][v][pvLock] = 0; PlayerVehicleInfo[playerid][v][pvLocked] = 0; PlayerVehicleInfo[playerid][v][pvPaintJob] = -1; PlayerVehicleInfo[playerid][v][pvColor1] = 0; PlayerVehicleInfo[playerid][v][pvImpounded] = 0; PlayerVehicleInfo[playerid][v][pvSpawned] = 0; PlayerVehicleInfo[playerid][v][pvColor2] = 0; PlayerVehicleInfo[playerid][v][pvPrice] = 0; PlayerVehicleInfo[playerid][v][pvTicket] = 0; PlayerVehicleInfo[playerid][v][pvWeapons][0] = 0; PlayerVehicleInfo[playerid][v][pvWeapons][1] = 0; PlayerVehicleInfo[playerid][v][pvWeapons][2] = 0; PlayerVehicleInfo[playerid][v][pvWepUpgrade] = 0; PlayerVehicleInfo[playerid][v][pvFuel] = 100.0; PlayerVehicleInfo[playerid][v][pvAllowedPlayerId] = INVALID_PLAYER_ID; PlayerVehicleInfo[playerid][v][pvPark] = 0; ListItemReleaseId[playerid][v] = -1; PlayerVehicleInfo[playerid][v][pvDisabled] = 0; PlayerVehicleInfo[playerid][v][pvSpawned] = 0; format(PlayerVehicleInfo[playerid][v][pvNumberPlate], 32, ""); ListItemTrackId[playerid][v] = -1; for(new m = 0; m < MAX_MODS; m++) { PlayerVehicleInfo[playerid][v][pvMods][m] = 0; } } for(new v = 0; v < MAX_PLAYERVEHICLES; v++) { PlayerVehicleInfo[playerid][v][pvAllowedPlayerId] = INVALID_PLAYER_ID; } PlayerInfo[playerid][pVehicleKeys] = INVALID_PLAYER_VEHICLE_ID; // non-saved PlayerInfo[playerid][pVehicleKeysFrom] = INVALID_PLAYER_ID; // non-saved PlayerInfo[playerid][pCarLic] = 1; PlayerInfo[playerid][pFlyLic] = 0; PlayerInfo[playerid][pBoatLic] = 1; PlayerInfo[playerid][pFishLic] = 1; PlayerInfo[playerid][pGunLic] = 1; PlayerInfo[playerid][pDivision] = 0; PlayerInfo[playerid][pTicketTime] = 0; PlayerInfo[playerid][pHeadValue] = 0; strcpy(PlayerInfo[playerid][pContractBy], "Nobody", 64); strcpy(PlayerInfo[playerid][pContractDetail], "None", 64); PlayerInfo[playerid][pC4] = 0; PlayerInfo[playerid][pC4Used] = 0; PlayerInfo[playerid][pBombs] = 0; PlayerInfo[playerid][pCHits] = 0; PlayerInfo[playerid][pFHits] = 0; strcpy(PlayerInfo[playerid][pPrisonedBy], "Nobody", 64); strcpy(PlayerInfo[playerid][pPrisonReason], "None", 64); PlayerInfo[playerid][pAcceptReport] = 0; PlayerInfo[playerid][pTrashReport] = 0; PlayerInfo[playerid][pAccent] = 0; PlayerInfo[playerid][pNMute] = 0; PlayerInfo[playerid][pNMuteTotal] = 0; PlayerInfo[playerid][pADMute] = 0; PlayerInfo[playerid][pADMuteTotal] = 0; PlayerInfo[playerid][pRMuted] = 0; PlayerInfo[playerid][pRMutedTotal] = 0; PlayerInfo[playerid][pRMutedTime] = 0; PlayerInfo[playerid][pSpeedo] = 0; PlayerInfo[playerid][pGCMuted] = 0; PlayerInfo[playerid][pGCMutedTime] = 0; PlayerInfo[playerid][pCallsAccepted] = 0; PlayerInfo[playerid][pPatientsDelivered] = 0; PlayerInfo[playerid][pTriageTime] = 0; for(new v = 0; v < MAX_PLAYERTOYS; v++) { PlayerToyInfo[playerid][v][ptModelID] = 0; PlayerToyInfo[playerid][v][ptBone] = 0; PlayerToyInfo[playerid][v][ptPosX] = 0.0; PlayerToyInfo[playerid][v][ptPosY] = 0.0; PlayerToyInfo[playerid][v][ptPosZ] = 0.0; PlayerToyInfo[playerid][v][ptRotX] = 0.0; PlayerToyInfo[playerid][v][ptRotY] = 0.0; PlayerToyInfo[playerid][v][ptRotZ] = 0.0; PlayerToyInfo[playerid][v][ptScaleX] = 1.0; PlayerToyInfo[playerid][v][ptScaleY] = 1.0; PlayerToyInfo[playerid][v][ptScaleZ] = 1.0; } PlayerInfo[playerid][pKillLog0][0] = 0; PlayerInfo[playerid][pKillLog1][0] = 0; PlayerInfo[playerid][pKillLog2][0] = 0; PlayerInfo[playerid][pKillLog3][0] = 0; PlayerInfo[playerid][pKillLog4][0] = 0; PlayerInfo[playerid][pKillLog5][0] = 0; PlayerInfo[playerid][pKillLog6][0] = 0; PlayerInfo[playerid][pKillLog7][0] = 0; PlayerInfo[playerid][pKillLog8][0] = 0; PlayerInfo[playerid][pKillLog9][0] = 0; strcpy(PlayerInfo[playerid][pFlag], "", 128); strcpy(PlayerInfo[playerid][pReferredBy], "0", 32); PlayerInfo[playerid][pRefTokens] = 0; PlayerInfo[playerid][pRefTokensOffline] = 0; PlayerInfo[playerid][pHelper] = 0; // Other player variables (non-saving) AdminRelogPassword[playerid][0] = 0; AdminLoggedInBefore[playerid] = 0; for(new s = 0; s < 40; s++) { ListItemReportId[playerid][s] = -1; } for(new i = 0; i < 6; i++) { HHcheckFloats[playerid][i] = 0; } HHcheckInt[playerid] = 0; HHcheckVW[playerid] = 0; for(new i = 0; i < 3; i++) { TeleportDest[playerid][i] = 0; } for(new i = 0; i < 3; i++) { TeleportDest2[playerid][i] = 0; } for(new i = 0; i < 3; i++) { StopaniFloats[playerid][i] = 0; } TeleportDestInt[playerid] = 0; TeleportDestInt2[playerid] = 0; gPlayerAccount[playerid] = 0; gPlayerLogTries[playerid] = 0; gPlayerLogged[playerid] = 0; InsideMainMenu[playerid] = 1; InsideTut[playerid] = 1; ActiveChatbox[playerid] = 0; PlayerCuffed[playerid] = 0; Spectate[playerid] = 999; Spectating[playerid] = 0; GettingSpectated[playerid] = 999; InsideShamal[playerid]= INVALID_VEHICLE_ID; HouseOffer[playerid] = 999; House[playerid] = 0; HousePrice[playerid] = 0; hInviteHouse[playerid]=INVALID_HOUSE_ID; hInviteOffer[playerid]=999; //hInviteSlot[playerid]=0; playerTabbed[playerid] = 0; playerTabbedTime[playerid] = 0; playerAFK[playerid] = 0; playerAFKTime[playerid] = 0; playerLastTyped[playerid] = 0; pCurrentWeapon[playerid] = 0; JetPack[playerid] = 0; TextSpamTimes[playerid] = 0; TextSpamUnmute[playerid] = 0; CommandSpamTimes[playerid] = 0; CommandSpamUnmute[playerid] = 0; gLastCar[playerid] = 0; GettingJob[playerid] = 0; GettingJob2[playerid] = 0; PayCheckCode[playerid] = 0; AdminDuty[playerid] = 0; FindTimePoints[playerid] = 0; FindingPlayer[playerid] = 0; FindTime[playerid] = 0; UsedFind[playerid] = 0; Condom[playerid] = 0; SexOffer[playerid] = 999; SexPrice[playerid] = 0; gFam[playerid] = 0; InviteOffer[playerid]=999; InviteFaction[playerid]=0; InviteFamily[playerid]=255; PotOffer[playerid] = 999; CrackOffer[playerid] = 999; PotPrice[playerid]=0; CrackPrice[playerid]=0; PotGram[playerid]=0; CrackGram[playerid]=0; JobDuty[playerid]=0; WantLawyer[playerid]=0; CallLawyer[playerid]=0; JailPrice[playerid]=0; DefendOffer[playerid] = 999; DefendPrice[playerid] = 0; CP[playerid] = 0; GuardOffer[playerid] = 999; GuardPrice[playerid]=0; GunOffer[playerid] = 999; GunId[playerid] = 0; GunMats[playerid] = 0; MatsOffer[playerid] = 999; MatsPrice[playerid] = 0; MatsAmount[playerid] = 0; PlayerBoxing[playerid]=0; BoxOffer[playerid] = 999; BoxWaitTime[playerid]=0; UsedCrack[playerid] = 0; UsedWeed[playerid] = 0; PlayerStoned[playerid] = 0; TransportDuty[playerid]=0; TransportValue[playerid] = 0; TransportMoney[playerid] = 0; TransportTime[playerid] = 0; TransportCost[playerid] = 0; TransportDriver[playerid] = 999; ConsumingMoney[playerid] = 0; BusCallTime[playerid]=0; BusAccepted[playerid] = 999; TaxiCallTime[playerid]=0; TaxiAccepted[playerid] = 999; DrinkOffer[playerid] = INVALID_PLAYER_ID; Fishes[playerid][pLastFish] = 0; Fishes[playerid][pFishID] = 0; FishCount[playerid]=0; CraftOffer[playerid] = 999; CraftId[playerid]=0; CraftMats[playerid]=0; VehicleSpawned[playerid] = 0; VehicleOffer[playerid] = 999; VehiclePrice[playerid] = 0; VehicleId[playerid] = -1; GiveKeysTo[playerid] = INVALID_PLAYER_ID; RepairCar[playerid]=0; OnDuty[playerid]=0; ConnectedToPC[playerid]=0; PlayerCuffedTime[playerid]=0; PhoneOnline[playerid] = 0; pTazer[playerid] = 0; pTazerReplace[playerid] = 0; TazerTimeout[playerid] = 0; TicketOffer[playerid] = 999; TicketMoney[playerid] = 0; arr_Towing[playerid] = INVALID_VEHICLE_ID; Fixr[playerid] = 0; gBug[playerid] = 1; GotHit[playerid]=0; GoChase[playerid]=999; GetChased[playerid]=999; HitOffer[playerid]=999; HitToGet[playerid]=999; JustReported[playerid] = -1; CancelReport[playerid] = -1; NewbieTimer[playerid] = 0; gNewbie[playerid] = 0; for(new i = 0; i < 6; i++) { EventFloats[playerid][i] = 0.0; } EventLastInt[playerid] = 0; EventLastVW[playerid] = 0; Mobile[playerid]=INVALID_PLAYER_ID; CellTime[playerid] = 0; CalledCops[playerid]=0; CopsCallTime[playerid]=0; CalledMedics[playerid]=0; MedicsCallTime[playerid]=0; Music[playerid]=0; PlayerTied[playerid]=0; gRadio[playerid] = 1; CallCost[playerid] = 0; szAdvert[playerid][0] = 0; IsBoundsShowingFFC[playerid] = 0; IsBoundsShowingMP1[playerid] = 0; IsBoundsShowingMF1[playerid] = 0; IsBoundsShowingMP2[playerid] = 0; IsBoundsShowingMF2[playerid] = 0; IsBoundsShowingAEC[playerid] = 0; IsBoundsShowingDH[playerid] = 0; IsBoundsShowingCL[playerid] = 0; IsBoundsShowingDF[playerid] = 0; LoadTruckBar[playerid] = INVALID_BAR_ID; LoadTruckTime[playerid] = 0; TruckDeliver[playerid] = 0; TruckUsed[playerid] = INVALID_VEHICLE_ID; GlobalChat[playerid] = 0; GlobalChatTimer[playerid] = 0; EMSCallTime[playerid]=0; EMSAccepted[playerid]=999; MedicCallTime[playerid]=0; MedicAccepted[playerid] = 999; MechanicCallTime[playerid]=0; DivorceOffer[playerid] = 999; MarryWitness[playerid] = 999; MarryWitnessOffer[playerid] = 999; MarriageCeremoney[playerid] = 0; ProposeOffer[playerid] = 999; ProposedTo[playerid] = 999; GotProposedBy[playerid] = 999; slotselection[playerid] = 0; ServiceTime[playerid] = 0; WasHereForPaycheck[playerid] = 0; SignedPaycheck[playerid] = 0; MissedPaychecks[playerid] = 0; HidePM[playerid] = 0; Backup[playerid] = 0; FindingJob[playerid] = 0; ShakeHandRequest[playerid] = 999; ShakeHandStyle[playerid] = 0; TutorialProgress[playerid] = 0; ValidArmor[playerid] = 0; PhonePrivacy[playerid] = 0; MP3Station[playerid] = 0; // Start of boombox BoomBoxSet[playerid] = 0; BoomboxInfo[playerid][bbPosX] = 0.0; BoomboxInfo[playerid][bbPosY] = 0.0; BoomboxInfo[playerid][bbPosZ] = 0.0; BoomboxInfo[playerid][bbInt] = 0; BoomboxInfo[playerid][bbVW] = 0; BoomboxInfo[playerid][bbStation] = 0; BoomboxInfo[playerid][bbSetBy] = 999; BoomboxInfo[playerid][bbObject] = 0; // End of boombox ClearCrime(playerid); ClearFishes(playerid); ClearMarriage(playerid); // Removal of hell hole (VIP Lounge) RemoveBuildingForPlayer(playerid, 3999, 1785.9766, -1564.8594, 25.2500, 0.25); RemoveBuildingForPlayer(playerid, 4079, 1785.9766, -1564.8594, 25.2500, 0.25); RemoveBuildingForPlayer(playerid, 4189, 1794.6172, -1576.7344, 17.7578, 0.25); RemoveBuildingForPlayer(playerid, 1308, 1822.1563, -1543.7891, 12.6328, 0.25); //PlayerPlaySound(playerid,SOUND_MUSIC1,2050.1995, 1344.5500, 13.2378); SetSpawnInfo(playerid, 0, 299, 1970.506103, -1201.447143, -25.074676, 1.0, -1, -1, -1, -1, -1, -1); SpawnPlayer(playerid); // The player doesn't actually spawn before logging in, this is just to get rid of the annoying "<<", ">>" and "Spawn" buttons. TogglePlayerControllable(playerid, 0); SetTimerEx("Login", 1000, 0, "d", playerid); SyncPlayerTime(playerid); return 1; }