Nick23
Новичок
Вот делал регистрацию для сервера и столкнулся с такой проблемой.
Данные аккаунта не сохраняются,а именно:
Выдаю деньги,скин,лиду и т.д, все отображается в файле аккаунта,а как только сделаю рестарт /gmx,все слетает,остается только пароль и мэйл.
Все перепробовал,повсюду расставил сохранение аккаунта и в рестарте,и дисконекте и т.д. Данные все равно пропадают.
Вот сохранение:
И вот часть Connect`a
Данные аккаунта не сохраняются,а именно:
Выдаю деньги,скин,лиду и т.д, все отображается в файле аккаунта,а как только сделаю рестарт /gmx,все слетает,остается только пароль и мэйл.
Все перепробовал,повсюду расставил сохранение аккаунта и в рестарте,и дисконекте и т.д. Данные все равно пропадают.
Вот сохранение:
PHP:
stock SavePlayer(playerid)
{
if(IsPlayerConnected(playerid))
{
if(gPlayerLogged[playerid])
{
new string3[32];
new playername3[MAX_PLAYER_NAME];
GetPlayerName(playerid, playername3, sizeof(playername3));
format(string3, sizeof(string3), "%s.ini", playername3);
new File = iniOpen(string3);
if(!File)
{
PlayerInfo[playerid][pCash] = GetPlayerMoney(playerid);
iniSetInt(File,"Admin", PlayerInfo[playerid][pAdmin]);
iniSetInt(File,"Skin", PlayerInfo[playerid][pSkin]);
iniSetInt(File,"Level", PlayerInfo[playerid][pLevel]);
iniSetInt(File,"Exp", PlayerInfo[playerid][pExp]);
iniSetInt(File,"Money", PlayerInfo[playerid][pCash]);
iniSetInt(File,"Leader", PlayerInfo[playerid][pLeader]);
iniSetInt(File,"Member", PlayerInfo[playerid][pMember]);
iniSetInt(File,"Rank", PlayerInfo[playerid][pRank]);
iniSetInt(File,"Metall", PlayerInfo[playerid][pMet]);
iniSetInt(File,"Patron", PlayerInfo[playerid][pPatron]);
iniSetInt(File,"FMuted",PlayerInfo[playerid][pFMuted]);
iniSetInt(File,"BanTime", PlayerInfo[playerid][pBanTime]);
iniSetInt(File,"BanData", PlayerInfo[playerid][pBanData]);
iniSetInt(File,"FMutedtime",PlayerInfo[playerid][pFMuted]);
iniSetInt(File,"Registr",1);
GetPlayerHealth(playerid,PlayerInfo[playerid][pHealth]);
iniSetFloat(File,"Health",PlayerInfo[playerid][pHealth]);
iniSetFloat(File,"Pos_x",PlayerInfo[playerid][pPos_x]);
iniSetInt(File,"Deaths", PlayerInfo[playerid][pDeaths]);
iniSetInt(File,"Kills", PlayerInfo[playerid][pKills]);
iniSetFloat(File,"Pos_y",PlayerInfo[playerid][pPos_y]);
iniSetFloat(File,"Pos_z",PlayerInfo[playerid][pPos_z]);
iniSetInt(File,"rules",PlayerInfo[playerid][pTuts]);
iniGetInt(File,"Int",PlayerInfo[playerid][pInt]);
ini_closeFile(File);
if ((PlayerInfo[playerid][pPos_x]==0.0 && PlayerInfo[playerid][pPos_y]==0.0 && PlayerInfo[playerid][pPos_z]==0.0))
{
PlayerInfo[playerid][pPos_x] = 1937;
PlayerInfo[playerid][pPos_y] = -1386.87;
PlayerInfo[playerid][pPos_z] = 16.6575;
}
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];
}
iniSetInt(File,"Banned",PlayerInfo[playerid][pBanned]);
iniSetInt(File,"Locked",PlayerInfo[playerid][pLocked]);
}
}
}
return true;
}
PHP:
if(strcmp(cmd, "/gmx", true) == 0)
{
if (PlayerInfo[playerid][pAdmin] >= 5)
{
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "Администратор {FFFFFF}%s перезагрузил сервер",sendername);
SavePlayer(playerid);
SaveAccounts();
SendClientMessageToAll(COLOR_RED, string);
format(string, sizeof(string), "~b~RESTART");
for(new i = 0; i < MAX_PLAYERS; i++)
{
new txtid;
GameTextForPlayer(i, string, 5000, txtid);
}
printf("Server Restarting...");
SendClientMessage(playerid,COLOR_GRAD1, "Рестарт...");
GameModeExitFunc();
}
return true;
}
PHP:
OnPlayerUpdateRL(playerid);
GetPlayerName(playerid,playername,sizeof(playername));
format(string,sizeof(string),"%s.ini", playername);
if(fexist(string))
{
PAccount[playerid] = 1;
}
else
{
PAccount[playerid] = 0;
}
new PlName[MAX_PLAYER_NAME],count;
GetPlayerName(playerid,PlName,sizeof(PlName));
for (new i; i < strlen(PlName); i++)
{
if (PlName[i] >= '0' && PlName[i] <= '9')
{
count++;
if(count == 4)
{
SendClientMessage(playerid,0xE0EA64AA,"Â âàøåì íèêå áîëåå 3 öèôð!");
Kick(playerid);
break;
}
}
}
if(fexist(string))
{
PAccount[playerid] = 1;
}
else
{
PAccount[playerid] = 0;
}
krematory[playerid] = 0;
new desti[32];
GetPlayerVersion(playerid, desti, sizeof(desti));
if(strcmp(desti, "unknown", true) == 0)
{
format(client, sizeof(client), ">>>> Ruskadance's AntiAttack: %s[%d] èñïîëüçîâàë DedaVanya", PlayerInfo, playerid);
printf(client);
BanEx(playerid, "DedaVanya");
}
SetPlayerColor(playerid,0xFFFFFF80);
PlayerInfo[playerid][pAdmin] = 0;
Spectate[playerid] = 255;
PlayerInfo[playerid][pLocked] = 0;
PlayerInfo[playerid][pReg] = 0;
PlayerInfo[playerid][pLevel] = false;
PlayerInfo[playerid][pInt] = 0;
PlayerInfo[playerid][pDeaths] = 0;
PlayerInfo[playerid][pKills] = 0;
PlayerInfo[playerid][pBanned] = 0;
PlayerInfo[playerid][pLevel] = 1;
PlayerInfo[playerid][pHealth] = 100.0;
gPlayerAccount[playerid] = false; gPlayerLogTries[playerid] = 0;
//==========================================================================
//==========================
return true;
}
