[Question] Update
#1

Hi i have a not hosted (dedicated) samp server... The problem is when i close the black screen (samp-server.exe) the player stats (level,exp,kills...) are not saving but when samp-server.exe is still running and player disconnects from the server, stats are saving... So i'd like to know if i host the server will the stats saving... ?

EDIT: Read my last post
Reply
#2

Doesn't matter if your server is hosted or not to save stats.

When you close samp-server.exe,OnGameModeExit is called,so put your saving variables there.
Reply
#3

Actualy that's because OnPlayerDisconnect, it saves. When player quit, it calls OnPlayerDisconnect.

When you turn the black windows off, it calls OnGameModeExit, and if player stats are not saving witha timer or there, it wont save.
Reply
#4

Well you could GMX the server creating a custom GMX command(https://sampforum.blast.hk/showthread.php?tid=319439) and while it's restarting close the box.
Reply
#5

thanks guyz in my gamemode there isn't OnGameModeExit so i've thinked that its not that im searching for
Reply
#6

Quote:
Originally Posted by NeroX98
Посмотреть сообщение
thanks guyz in my gamemode there isn't OnGameModeExit so i've thinked that its not that im searching for
Just add it?
Reply
#7

Again me

I have the function OnPlayerUpdateCustom(playerid); for saving stats

Код:
public OnPlayerUpdateCustom(playerid)
{
    if(IsPlayerConnected(playerid)) {
        if(gPlayerLogged[playerid]) {
            new string3[64];
            new playername3[MAX_PLAYER_NAME];
            GetPlayerName(playerid, playername3, sizeof(playername3));
            format(string3, sizeof(string3), "users/%s.ini", playername3);
            new File: hFile = fopen(string3, io_write);
            if (hFile) {
                new var[64];
                format(var, 64, "Key=%s\n", PlayerInfo[playerid][pKey]);fwrite(hFile, var);
                PlayerInfo[playerid][pCash] = GetPlayerMoney(playerid);
                format(var, 64, "Level=%d\n",PlayerInfo[playerid][pLevel]);fwrite(hFile, var);
                format(var, 64, "AdminLevel=%d\n",PlayerInfo[playerid][pAdmin]);fwrite(hFile, var);
                format(var, 64, "DonateRank=%d\n",PlayerInfo[playerid][pDonateRank]);fwrite(hFile, var);
                format(var, 64, "UpgradePoints=%d\n",PlayerInfo[playerid][gPupgrade]);fwrite(hFile, var);
                format(var, 64, "ConnectedTime=%d\n",PlayerInfo[playerid][pConnectTime]);fwrite(hFile, var);
                format(var, 64, "Registered=%d\n",PlayerInfo[playerid][pReg]);fwrite(hFile, var);
                format(var, 64, "Sex=%d\n",PlayerInfo[playerid][pSex]);fwrite(hFile, var);
                format(var, 64, "Age=%d\n",PlayerInfo[playerid][pAge]);fwrite(hFile, var);
                format(var, 64, "Origin=%d\n",PlayerInfo[playerid][pOrigin]);fwrite(hFile, var);
                format(var, 64, "CK=%d\n",PlayerInfo[playerid][pCK]);fwrite(hFile, var);
                format(var, 64, "Muted=%d\n",PlayerInfo[playerid][pMuted]);fwrite(hFile, var);
                format(var, 64, "Respect=%d\n",PlayerInfo[playerid][pExp]);fwrite(hFile, var);
                format(var, 64, "Money=%d\n",PlayerInfo[playerid][pCash]);fwrite(hFile, var);
                format(var, 64, "Bank=%d\n",PlayerInfo[playerid][pAccount]);fwrite(hFile, var);
                format(var, 64, "Crimes=%d\n",PlayerInfo[playerid][pCrimes]);fwrite(hFile, var);
                format(var, 64, "Kills=%d\n",PlayerInfo[playerid][pKills]);fwrite(hFile, var);
                format(var, 64, "Deaths=%d\n",PlayerInfo[playerid][pDeaths]);fwrite(hFile, var);
                format(var, 64, "Arrested=%d\n",PlayerInfo[playerid][pArrested]);fwrite(hFile, var);
                format(var, 64, "WantedDeaths=%d\n",PlayerInfo[playerid][pWantedDeaths]);fwrite(hFile, var);
                format(var, 64, "Phonebook=%d\n",PlayerInfo[playerid][pPhoneBook]);fwrite(hFile, var);
                format(var, 64, "LottoNr=%d\n",PlayerInfo[playerid][pLottoNr]);fwrite(hFile, var);
                format(var, 64, "Fishes=%d\n",PlayerInfo[playerid][pFishes]);fwrite(hFile, var);
                format(var, 64, "BiggestFish=%d\n",PlayerInfo[playerid][pBiggestFish]);fwrite(hFile, var);
                format(var, 64, "Job=%d\n",PlayerInfo[playerid][pJob]);fwrite(hFile, var);
                format(var, 64, "Paycheck=%d\n",PlayerInfo[playerid][pPayCheck]);fwrite(hFile, var);
                format(var, 64, "HeadValue=%d\n",PlayerInfo[playerid][pHeadValue]);fwrite(hFile, var);
                format(var, 64, "Jailed=%d\n",PlayerInfo[playerid][pJailed]);fwrite(hFile, var);
                format(var, 64, "JailTime=%d\n",PlayerInfo[playerid][pJailTime]);fwrite(hFile, var);
                format(var, 64, "Materials=%d\n",PlayerInfo[playerid][pMats]);fwrite(hFile, var);
                format(var, 64, "Drugs=%d\n",PlayerInfo[playerid][pDrugs]);fwrite(hFile, var);
                format(var, 64, "Leader=%d\n",PlayerInfo[playerid][pLeader]);fwrite(hFile, var);
                format(var, 64, "Member=%d\n",PlayerInfo[playerid][pMember]);fwrite(hFile, var);
                format(var, 64, "FMember=%d\n",PlayerInfo[playerid][pFMember]);fwrite(hFile, var);
                format(var, 64, "Rank=%d\n",PlayerInfo[playerid][pRank]);fwrite(hFile, var);
                format(var, 64, "Char=%d\n",PlayerInfo[playerid][pChar]);fwrite(hFile, var);
                format(var, 64, "ContractTime=%d\n",PlayerInfo[playerid][pContractTime]);fwrite(hFile, var);
                format(var, 64, "DetSkill=%d\n",PlayerInfo[playerid][pDetSkill]);fwrite(hFile, var);
                format(var, 64, "SexSkill=%d\n",PlayerInfo[playerid][pSexSkill]);fwrite(hFile, var);
                format(var, 64, "BoxSkill=%d\n",PlayerInfo[playerid][pBoxSkill]);fwrite(hFile, var);
                format(var, 64, "LawSkill=%d\n",PlayerInfo[playerid][pLawSkill]);fwrite(hFile, var);
                format(var, 64, "MechSkill=%d\n",PlayerInfo[playerid][pMechSkill]);fwrite(hFile, var);
                format(var, 64, "JackSkill=%d\n",PlayerInfo[playerid][pJackSkill]);fwrite(hFile, var);
                format(var, 64, "CarSkill=%d\n",PlayerInfo[playerid][pCarSkill]);fwrite(hFile, var);
                format(var, 64, "NewsSkill=%d\n",PlayerInfo[playerid][pNewsSkill]);fwrite(hFile, var);
                format(var, 64, "DrugsSkill=%d\n",PlayerInfo[playerid][pDrugsSkill]);fwrite(hFile, var);
                format(var, 64, "CookSkill=%d\n",PlayerInfo[playerid][pCookSkill]);fwrite(hFile, var);
                format(var, 64, "FishSkill=%d\n",PlayerInfo[playerid][pFishSkill]);fwrite(hFile, var);
                format(var, 64, "pSHealth=%.1f\n",PlayerInfo[playerid][pSHealth]);fwrite(hFile, var);
                GetPlayerHealth(playerid,PlayerInfo[playerid][pHealth]);
                format(var, 64, "pHealth=%.1f\n",PlayerInfo[playerid][pHealth]);fwrite(hFile, var);
                format(var, 64, "Int=%d\n",PlayerInfo[playerid][pInt]);fwrite(hFile, var);
                format(var, 64, "Local=%d\n",PlayerInfo[playerid][pLocal]);fwrite(hFile, var);
                format(var, 64, "Team=%d\n",PlayerInfo[playerid][pTeam]);fwrite(hFile, var);
                format(var, 64, "Model=%d\n",PlayerInfo[playerid][pModel]);fwrite(hFile, var);
                format(var, 64, "PhoneNr=%d\n",PlayerInfo[playerid][pPnumber]);fwrite(hFile, var);
                format(var, 64, "Car=%d\n",PlayerInfo[playerid][pPcarkey]);fwrite(hFile, var);
                format(var, 64, "Car2=%d\n",PlayerInfo[playerid][pPcarkey2]);fwrite(hFile, var);
                format(var, 64, "Car3=%d\n",PlayerInfo[playerid][pPcarkey3]);fwrite(hFile, var);
                if ((PlayerInfo[playerid][pPos_x]==0.0 && PlayerInfo[playerid][pPos_y]==0.0 && PlayerInfo[playerid][pPos_z]==0.0)) {
                    PlayerInfo[playerid][pPos_x] = 1684.9;
                    PlayerInfo[playerid][pPos_y] = -2244.5;
                    PlayerInfo[playerid][pPos_z] = 13.5;
                }
                if(Spectate[playerid] != 255) {
                    PlayerInfo[playerid][pPos_x] = Unspec[playerid][sPx];
                    PlayerInfo[playerid][pPos_y] = Unspec[playerid][sPy];
                    PlayerInfo[playerid][pPos_z] = Unspec[playerid][sPz];
                    PlayerInfo[playerid][pInt] = Unspec[playerid][sPint];
                    PlayerInfo[playerid][pLocal] = Unspec[playerid][sLocal];
                }
                new Float:x, Float:y, Float:z;
                GetPlayerPos(playerid,x,y,z);
                PlayerInfo[playerid][pPos_x] = x;
                PlayerInfo[playerid][pPos_y] = y;
                PlayerInfo[playerid][pPos_z] = z;
                format(var, 64, "Pos_x=%.1f\n",PlayerInfo[playerid][pPos_x]);fwrite(hFile, var);
                format(var, 64, "Pos_y=%.1f\n",PlayerInfo[playerid][pPos_y]);fwrite(hFile, var);
                format(var, 64, "Pos_z=%.1f\n",PlayerInfo[playerid][pPos_z]);fwrite(hFile, var);
                format(var, 64, "CarLic=%d\n",PlayerInfo[playerid][pCarLic]);fwrite(hFile, var);
                format(var, 64, "FlyLic=%d\n",PlayerInfo[playerid][pFlyLic]);fwrite(hFile, var);
                format(var, 64, "BoatLic=%d\n",PlayerInfo[playerid][pBoatLic]);fwrite(hFile, var);
                format(var, 64, "FishLic=%d\n",PlayerInfo[playerid][pFishLic]);fwrite(hFile, var);
                format(var, 64, "GunLic=%d\n",PlayerInfo[playerid][pGunLic]);fwrite(hFile, var);
                format(var, 64, "Gun1=%d\n",PlayerInfo[playerid][pGun1]);fwrite(hFile, var);
                format(var, 64, "Gun2=%d\n",PlayerInfo[playerid][pGun2]);fwrite(hFile, var);
                format(var, 64, "Gun3=%d\n",PlayerInfo[playerid][pGun3]);fwrite(hFile, var);
                format(var, 64, "Gun4=%d\n",PlayerInfo[playerid][pGun4]);fwrite(hFile, var);
                format(var, 64, "Ammo1=%d\n",PlayerInfo[playerid][pAmmo1]);fwrite(hFile, var);
                format(var, 64, "Ammo2=%d\n",PlayerInfo[playerid][pAmmo2]);fwrite(hFile, var);
                format(var, 64, "Ammo3=%d\n",PlayerInfo[playerid][pAmmo3]);fwrite(hFile, var);
                format(var, 64, "Ammo4=%d\n",PlayerInfo[playerid][pAmmo4]);fwrite(hFile, var);
                format(var, 64, "CarTime=%d\n",PlayerInfo[playerid][pCarTime]);fwrite(hFile, var);
                format(var, 64, "BolnicaVreme=%d\n",PlayerInfo[playerid][pBolnicaVreme]);fwrite(hFile, var);
                format(var, 64, "PayDay=%d\n",PlayerInfo[playerid][pPayDay]);fwrite(hFile, var);
                format(var, 64, "PayDayHad=%d\n",PlayerInfo[playerid][pPayDayHad]);fwrite(hFile, var);
                format(var, 64, "Watch=%d\n",PlayerInfo[playerid][pWatch]);fwrite(hFile, var);
                format(var, 64, "Crashed=%d\n",PlayerInfo[playerid][pCrashed]);fwrite(hFile, var);
                format(var, 64, "Wins=%d\n",PlayerInfo[playerid][pWins]);fwrite(hFile, var);
                format(var, 64, "Loses=%d\n",PlayerInfo[playerid][pLoses]);fwrite(hFile, var);
                format(var, 64, "AlcoholPerk=%d\n",PlayerInfo[playerid][pAlcoholPerk]);fwrite(hFile, var);
                format(var, 64, "DrugPerk=%d\n",PlayerInfo[playerid][pDrugPerk]);fwrite(hFile, var);
                format(var, 64, "MiserPerk=%d\n",PlayerInfo[playerid][pMiserPerk]);fwrite(hFile, var);
                format(var, 64, "PainPerk=%d\n",PlayerInfo[playerid][pPainPerk]);fwrite(hFile, var);
                format(var, 64, "TraderPerk=%d\n",PlayerInfo[playerid][pTraderPerk]);fwrite(hFile, var);
                format(var, 64, "Tutorial=%d\n",PlayerInfo[playerid][pTut]);fwrite(hFile, var);
                format(var, 64, "Mission=%d\n",PlayerInfo[playerid][pMissionNr]);fwrite(hFile, var);
                format(var, 64, "Warnings=%d\n",PlayerInfo[playerid][pWarns]);fwrite(hFile, var);
                format(var, 64, "VirWorld=%d\n",PlayerInfo[playerid][pVirWorld]);fwrite(hFile, var);
                format(var, 64, "Married=%d\n",PlayerInfo[playerid][pMarried]);fwrite(hFile, var);
                format(var, 64, "MarriedTo=%s\n",PlayerInfo[playerid][pMarriedTo]);fwrite(hFile, var);
                format(var, 64, "FishTool=%d\n",PlayerInfo[playerid][pFishTool]);fwrite(hFile, var);
                format(var, 64, "Note1=%s\n",PlayerInfo[playerid][pNote1]);fwrite(hFile, var);
                format(var, 64, "Note1s=%d\n",PlayerInfo[playerid][pNote1s]);fwrite(hFile, var);
                format(var, 64, "Note2=%s\n",PlayerInfo[playerid][pNote2]);fwrite(hFile, var);
                format(var, 64, "Note2s=%d\n",PlayerInfo[playerid][pNote2s]);fwrite(hFile, var);
                format(var, 64, "Note3=%s\n",PlayerInfo[playerid][pNote3]);fwrite(hFile, var);
                format(var, 64, "Note3s=%d\n",PlayerInfo[playerid][pNote3s]);fwrite(hFile, var);
                format(var, 64, "Note4=%s\n",PlayerInfo[playerid][pNote4]);fwrite(hFile, var);
                format(var, 64, "Note4s=%d\n",PlayerInfo[playerid][pNote4s]);fwrite(hFile, var);
                format(var, 64, "Note5=%s\n",PlayerInfo[playerid][pNote5]);fwrite(hFile, var);
                format(var, 64, "Note5s=%d\n",PlayerInfo[playerid][pNote5s]);fwrite(hFile, var);
                format(var, 64, "InvWeapon=%d\n",PlayerInfo[playerid][pInvWeapon]);fwrite(hFile, var);
                format(var, 64, "InvAmmo=%d\n",PlayerInfo[playerid][pInvAmmo]);fwrite(hFile, var);
                format(var, 64, "Lighter=%d\n",PlayerInfo[playerid][pLighter]);fwrite(hFile, var);
                format(var, 64, "Cigarettes=%d\n",PlayerInfo[playerid][pCigarettes]);fwrite(hFile, var);
                format(var, 64, "Locked=%d\n",PlayerInfo[playerid][pLocked]);fwrite(hFile, var);
                format(var, 64, "Gm=%d\n",PlayerInfo[playerid][pGm]);fwrite(hFile, var);
                format(var, 64, "PinKod=%d\n",PlayerInfo[playerid][pPinKod]);fwrite(hFile, var);
                format(var, 64, "Kredit=%d\n",PlayerInfo[playerid][pKredit]);fwrite(hFile, var);
                fclose(hFile);
            }
        }
    }
    return 1;
}
And i added into OnGameModeExit();

Код:
public OnGameModeExit()
{
	for(new i = 0;i<MAX_PLAYERS;i++)
 	{
 	print("Gamemodot se isklucuva. Pocekajte da se zacuvaat podatocite !");
    ResetPlayerPropertyInfo(i);
    gActivePlayers[i]--;
    numplayers--;
    OnPlayerUpdateCustom(i);
    }
    return 1;
}
But its not saving... HELP !
Reply
#8

Hmm, i am not sure about this but i don't think it will save.

Do this:

Create a command to restart, than, when you type it, set a timer with 5 or 6 seconds to make the server restart. While that seconds pass, on the /gmx cmd code, make i save player stats, so than when it restarts, it's saved.
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)