01.06.2017, 12:03
Whenever i try to restart my server in game using a cmd to restart and save stats of the server, all the dynamic doors are deleted, and i can't restart it from RCON because if i did, All the gates and other stuff are deleted..
code used to start maintenance.
and this is the function to finish the maintenance and turn off the server.
Код:
forward Maintenance(); public Maintenance() { new string[128]; ABroadCast(COLOR_YELLOW, "{AA3333}Maintenance{FFFF00}: Freezing Accounts...", 1); foreach(new i: Player) { TogglePlayerControllable(i, false); } ABroadCast(COLOR_YELLOW, "{AA3333}Maintenance{FFFF00}: Locking Paintball Arenas...", 1); for(new i = 0; i < MAX_ARENAS; i++) { foreach(new p: Player) { new arenaid = GetPVarInt(p, "IsInArena"); if(arenaid == i) { if(PaintBallArena[arenaid][pbBidMoney] > 0) { GivePlayerCash(p,PaintBallArena[GetPVarInt(p, "IsInArena")][pbBidMoney]); format(string,sizeof(string),"You have been refunded a total of $%d because of premature closure.",PaintBallArena[GetPVarInt(p, "IsInArena")][pbBidMoney]); SendClientMessageEx(p, COLOR_WHITE, string); } if(arenaid == GetPVarInt(p, "ArenaNumber")) { switch(PaintBallArena[arenaid][pbGameType]) { case 1: { if(PlayerInfo[p][pDonateRank] < 3) { PlayerInfo[p][pPaintTokens] += 3; format(string,sizeof(string),"You have been refunded a total of %d Paintball Tokens because of premature closure.",3); SendClientMessageEx(p, COLOR_WHITE, string); } } case 2: { if(PlayerInfo[p][pDonateRank] < 3) { PlayerInfo[p][pPaintTokens] += 4; format(string,sizeof(string),"You have been refunded a total of %d Paintball Tokens because of premature closure.",4); SendClientMessageEx(p, COLOR_WHITE, string); } } case 3: { if(PlayerInfo[p][pDonateRank] < 3) { PlayerInfo[p][pPaintTokens] += 5; format(string,sizeof(string),"You have been refunded a total of %d Paintball Tokens because of premature closure.",5); SendClientMessageEx(p, COLOR_WHITE, string); } } case 4: { if(PlayerInfo[p][pDonateRank] < 3) { PlayerInfo[p][pPaintTokens] += 5; format(string,sizeof(string),"You have been refunded a total of %d Paintball Tokens because of premature closure.",5); SendClientMessageEx(p, COLOR_WHITE, string); } } case 5: { if(PlayerInfo[p][pDonateRank] < 3) { PlayerInfo[p][pPaintTokens] += 6; format(string,sizeof(string),"You have been refunded a total of %d Paintball Tokens because of premature closure.",6); SendClientMessageEx(p, COLOR_WHITE, string); } } } } LeavePaintballArena(p, arenaid); } } ResetPaintballArena(i); PaintBallArena[i][pbLocked] = 2; } foreach(new i: Player) { GameTextForPlayer(i, "Scheduled Maintenance..", 5000, 5); } ABroadCast(COLOR_YELLOW, "{AA3333}Maintenance{FFFF00}: Force Saving Accounts...", 1); ABroadCast(COLOR_YELLOW, "{AA3333}Maintenance{FFFF00}: Force Saving Houses...", 1); SaveHouses(); ABroadCast(COLOR_YELLOW, "{AA3333}Maintenance{FFFF00}: Force Saving Dynamic Doors...", 1); SaveDynamicDoors(); ABroadCast(COLOR_YELLOW, "{AA3333}Maintenance{FFFF00}: Force Saving Map Icons...", 1); SaveDynamicMapIcons(); ABroadCast(COLOR_YELLOW, "{AA3333}Maintenance{FFFF00}: Force Saving Gates...", 1); SaveGates(); ABroadCast(COLOR_YELLOW, "{AA3333}Maintenance{FFFF00}: Force Saving Event Points...", 1); SaveEventPoints(); ABroadCast(COLOR_YELLOW, "{AA3333}Maintenance{FFFF00}: Force Saving Paintball Arenas...", 1); SavePaintballArenas(); ABroadCast(COLOR_YELLOW, "{AA3333}Maintenance{FFFF00}: Force Saving Server Configuration", 1); Misc_Save(); ABroadCast(COLOR_YELLOW, "{AA3333}Maintenance{FFFF00}: Force Saving Office Elevator...", 1); SaveElevatorStuff(); ABroadCast(COLOR_YELLOW, "{AA3333}Maintenance{FFFF00}: Force Saving Mail Boxes...", 1); SaveMailboxes(); ABroadCast(COLOR_YELLOW, "{AA3333}Maintenance{FFFF00}: Force Saving Plants...", 1); SavePlants(); ABroadCast(COLOR_YELLOW, "{AA3333}Maintenance{FFFF00}: Force Saving Credits Shops...", 1); SaveCSHOPs(); ABroadCast(COLOR_YELLOW, "{AA3333}Maintenance{FFFF00}: Force Saving PAYPHONES...", 1); SavePAYPHONES(); ABroadCast(COLOR_YELLOW, "{AA3333}Maintenance{FFFF00}: Force Saving Speed Cameras...", 1); SaveSpeedCameras(); if(rflstatus > 0) { ABroadCast(COLOR_YELLOW, "{AA3333}Maintenance{FFFF00}: Force Saving RFL Teams...", 1); SaveRelayForLifeTeams(); } ABroadCast(COLOR_YELLOW, "{AA3333}Maintenance{FFFF00}: Streamer Plugin Shutting Down...", 1); DestroyAllDynamicObjects(); DestroyAllDynamic3DTextLabels(); DestroyAllDynamicCPs(); DestroyAllDynamicMapIcons(); DestroyAllDynamicRaceCPs(); DestroyAllDynamicAreas(); SendRconCommand("password asdatasdhwda"); SendRconCommand("hostname Nyakos City Roleplay [Restarting for Maintenance]"); foreach(new i: Player) { if(gPlayerLogged{i}) { SetPVarInt(i, "RestartKick", 1); // g_mysql_SaveAccount(i); OnPlayerStatsUpdate(i); Kick(i); break; // We only need to save one person at a time. } } SetTimer("FinishMaintenance", 60000, false); //g_mysql_DumpAccounts(); return 1; }
Код:
forward FinishMaintenance(); public FinishMaintenance() { //ABroadCast(COLOR_YELLOW, "{AA3333}Maintenance{FFFF00}: Force Saving Carrier...", 1); //SaveCarrier(); ABroadCast(COLOR_YELLOW, "{AA3333}Maintenance{FFFF00}: Force Saving Houses...", 1); SaveHouses(); ABroadCast(COLOR_YELLOW, "{AA3333}Maintenance{FFFF00}: Force Saving Dynamic Doors...", 1); SaveDynamicDoors(); ABroadCast(COLOR_YELLOW, "{AA3333}Maintenance{FFFF00}: Force Saving Map Icons...", 1); SaveDynamicMapIcons(); ABroadCast(COLOR_YELLOW, "{AA3333}Maintenance{FFFF00}: Force Saving Gates...", 1); SaveGates(); ABroadCast(COLOR_YELLOW, "{AA3333}Maintenance{FFFF00}: Force Saving Event Points...", 1); SaveEventPoints(); ABroadCast(COLOR_YELLOW, "{AA3333}Maintenance{FFFF00}: Force Saving Paintball Arenas...", 1); SavePaintballArenas(); ABroadCast(COLOR_YELLOW, "{AA3333}Maintenance{FFFF00}: Force Saving Server Configuration", 1); Misc_Save(); ABroadCast(COLOR_YELLOW, "{AA3333}Maintenance{FFFF00}: Force Saving Office Elevator...", 1); SaveElevatorStuff(); ABroadCast(COLOR_YELLOW, "{AA3333}Maintenance{FFFF00}: Force Saving Mail Boxes...", 1); SaveMailboxes(); ABroadCast(COLOR_YELLOW, "{AA3333}Maintenance{FFFF00}: Force Saving Plants...", 1); SavePlants(); ABroadCast(COLOR_YELLOW, "{AA3333}Maintenance{FFFF00}: Force Saving Credits Shops...", 1); SaveCSHOPs(); ABroadCast(COLOR_YELLOW, "{AA3333}Maintenance{FFFF00}: Force Saving PAYPHONES...", 1); SavePAYPHONES(); ABroadCast(COLOR_YELLOW, "{AA3333}Maintenance{FFFF00}: Force Saving Speed Cameras...", 1); SaveSpeedCameras(); if(rflstatus > 0) { ABroadCast(COLOR_YELLOW, "{AA3333}Maintenance{FFFF00}: Force Saving RFL Teams...", 1); SaveRelayForLifeTeams(); } ABroadCast(COLOR_YELLOW, "{AA3333}Maintenance{FFFF00}: Streamer Plugin Shutting Down...", 1); DestroyAllDynamicObjects(); DestroyAllDynamic3DTextLabels(); DestroyAllDynamicCPs(); DestroyAllDynamicMapIcons(); DestroyAllDynamicRaceCPs(); DestroyAllDynamicAreas(); SetTimer("ShutDown", 5000, false); return 1; } forward ShutDown(); public ShutDown() { return SendRconCommand("exit"); }