Доступ к архиву

Переход в группу "Пользователь"

300.00 ₽
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info

Проблема с сохранением данных

Статус
В этой теме нельзя размещать новые ответы.

Nick23

Новичок
Вот делал регистрацию для сервера и столкнулся с такой проблемой.
Данные аккаунта не сохраняются,а именно:
Выдаю деньги,скин,лиду и т.д, все отображается в файле аккаунта,а как только сделаю рестарт /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;
	}
И вот часть Connect`a
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;
}
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу