Vladimir_Shkumatov
Новичок
Здравствуйте. Сделал я систему регистрации. Вроде, всё работало. Но в какой то момент с файла начала пропадать строка с паролем.
UPD: Пропадает все, рядом с "Pass". Сам "Pass" не пропадает.
PHP:
public SavePlayer(i)
{
new string[64];
GetPlayerName(i, playername, sizeof(playername));
format(string, sizeof(string), "Users/%s.ini", playername);
new iniFile = ini_openFile(string);
ini_setString(iniFile,"Pass",Player[i][pPass]);
ini_setInteger(iniFile,"Register",Player[i][pRegister]);
ini_setInteger(iniFile,"Level",Player[i][pLevel]);
ini_setInteger(iniFile,"Exp",Player[i][pExp]);
ini_setInteger(iniFile,"Sex",Player[i][pSex]);
ini_setInteger(iniFile,"Skin",Player[i][pSkin]);
ini_setInteger(iniFile,"Money",Player[i][pCash]);
ini_setInteger(iniFile,"Admin",Player[i][pAdmin]);
ini_setInteger(iniFile,"Helper",Player[i][pHelper]);
ini_setInteger(iniFile,"ADostup",Player[i][pADostup]);
ini_setInteger(iniFile,"HDostup",Player[i][pHDostup]);
ini_closeFile(iniFile);
}
PHP:
public OnPlayerRegister(playerid, password[])
{
if(IsPlayerConnected(playerid))
{
new s[128];
new string[64];
GetPlayerName(playerid,playername,MAX_PLAYER_NAME);
format(s,sizeof(s),"{FFFAFA}Äîáðî ïîæàëîâàòü íà ñåðâåð Sun-Trope Role Play\nÂàø íèê çàðåãèñòðèðîâàí\n\nËîãèí: {00FF00}%s",playername);
format(string,sizeof(string), "Users/%s.ini", playername);
new iniFile = ini_createFile(string);
if(iniFile < 0)// Åñëè Ôàéëà íåò
{
iniFile = ini_openFile(string);// Îòêðûâàåì
}
if(iniFile >= 0)// Åñëè ôàéë åñòü
{
strmid(Player[playerid][pPass],password,0,strlen(password),255);
ini_setString(iniFile,"Pass",Player[playerid][pPass]);
ini_setInteger(iniFile,"Register",Player[playerid][pRegister]);
ini_setInteger(iniFile,"Level",Player[playerid][pLevel]);
ini_setInteger(iniFile,"Exp",Player[playerid][pExp]);
ini_setInteger(iniFile,"Sex",Player[playerid][pSex]);
ini_setInteger(iniFile,"Skin",Player[playerid][pSkin]);
ini_setInteger(iniFile,"Money",Player[playerid][pCash]);
ini_setInteger(iniFile,"Admin",Player[playerid][pAdmin]);
ini_setInteger(iniFile,"Helper",Player[playerid][pHelper]);
ini_setInteger(iniFile,"ADostup",Player[playerid][pADostup]);
ini_setInteger(iniFile,"HDostup",Player[playerid][pHDostup]);
ini_closeFile(iniFile);// Çàêðûâàåì ôàéë
ShowPlayerDialog(playerid,1,DIALOG_STYLE_PASSWORD,"{FF0000}Àâòîðèçàöèÿ",s,"Âõîä","");// Ïîêàçûâàåì äèàëîã âõîäà â èãðó.
}
}
return 1;
}
PHP:
public OnPlayerLogin(playerid,password[])
{
if(IsPlayerConnected(playerid))
{
new s[128];
new string[64];
new pass[64];
GetPlayerName(playerid, playername, sizeof(playername));
GetPlayerName(playerid,playername,MAX_PLAYER_NAME);
format(s,sizeof(s),"{FFFAFA}Äîáðî ïîæàëîâàòü íà ñåðâåð Sun-Trope Role Play\nÂàø íèê çàðåãèñòðèðîâàí\n\nËîãèí: {00FF00}%s",playername);
format(string,sizeof(string), "Users/%s.ini", playername);
new iniFile = ini_openFile(string);
ini_getString(iniFile,"Pass",pass,64);
if(strcmp(pass,password,true) == 0)
{
ini_getString(iniFile,"Pass",Player[playerid][pPass],64);
ini_getInteger(iniFile,"Register",Player[playerid][pRegister]);
ini_getInteger(iniFile,"Level",Player[playerid][pLevel]);
ini_getInteger(iniFile,"Exp",Player[playerid][pExp]);
ini_getInteger(iniFile,"Sex",Player[playerid][pSex]);
ini_getInteger(iniFile,"Skin",Player[playerid][pSkin]);
ini_getInteger(iniFile,"Money",Player[playerid][pCash]);
ini_getInteger(iniFile,"Admin",Player[playerid][pAdmin]);
ini_getInteger(iniFile,"Helper",Player[playerid][pHelper]);
ini_getInteger(iniFile,"ADostup",Player[playerid][pADostup]);
ini_getInteger(iniFile,"HDostup",Player[playerid][pHDostup]);
ini_closeFile(iniFile);
GivePlayerMoney(playerid,Player[playerid][pCash] );
}
else
{
ini_closeFile(iniFile);
ShowPlayerDialog(playerid,1,DIALOG_STYLE_PASSWORD,"{FF0000}Àâòîðèçàöèÿ",s," Äàëåå","Îòìåíà");
}
SendClientMessage(playerid,0xF6CF00AA,"Âû óñïåøíî âîøëè â ñâîé àêêàóíò!");
SpawnPlayer(playerid);
}
return 1;
}
UPD: Пропадает все, рядом с "Pass". Сам "Pass" не пропадает.
PHP:
public OnPlayerConnect(playerid)
{
new string[128];
GetPlayerName(playerid,playername,sizeof(playername));
format(string,sizeof(string),"Users/%s.ini", playername);
if(fexist(string))
{
PAccount[playerid] = 1;
}
else
{
PAccount[playerid] = 0;
}
p_ac[playerid] = 0;
Player[playerid][pRegister] = 0;
Player[playerid][pSex] = 0;
Player[playerid][pSkin] = 148;
Player[playerid][pCash] = 2500;
Player[playerid][pAdmin] = 0;
Player[playerid][pADostup] = 335577;
Player[playerid][pHelper] = 0;
Player[playerid][pHDostup] = 2525;
Player[playerid][pLevel] = 1;
Player[playerid][pExp] = 0;
Player[playerid][pVopros] = 0;
Player[playerid][pReport] = 0;
userconnect[playerid] = 1;
TextDrawShowForPlayer(playerid,Clock);
for(new i=0; i< 5; i++)
{
TextDrawShowForPlayer(playerid,LogTime[i]);
}
GetPlayerName(playerid, player_name[playerid], MAX_PLAYER_NAME);
return 1;
}
Последнее редактирование:
