22.06.2012, 22:23
Помогите исправить проблему с авторизацией игрока.
То есть,когда мы вводим неверный пароль,то статистика игрока в папке Scriptfiles/Users обнуляется.
Открываем файл игрока который ввел неверный пароль NickName.ini и видим
Pass =
Admin Level = 0
VIP = 0
Jailed = 0
Muted = 0
Money = 0
Score = 0
Kills = 0
Deaths = 0
Bank = 0
Помогите исправить пожалуйста.
То есть,когда мы вводим неверный пароль,то статистика игрока в папке Scriptfiles/Users обнуляется.
Открываем файл игрока который ввел неверный пароль NickName.ini и видим
Pass =
Admin Level = 0
VIP = 0
Jailed = 0
Muted = 0
Money = 0
Score = 0
Kills = 0
Deaths = 0
Bank = 0
Помогите исправить пожалуйста.
Код:
forward OnPlayerLogin(playerid,password[]); public OnPlayerLogin(playerid,password[]) { if(IsPlayerConnected(playerid)) { new string[64]; new pass[16]; new playername[MAX_PLAYER_NAME]; GetPlayerName(playerid, playername, sizeof(playername)); format(string,sizeof(string), "Users/%s.ini", playername); new iniFile = ini_openFile(string); ini_getString(iniFile,"Pass",pass,16); if(strcmp(pass,password,true) == 0) { ini_getString(iniFile,"Pass",Player[playerid][pPass],64); ini_getInteger(iniFile,"Admin Level",Player[playerid][AdminLevel]); ini_getInteger(iniFile,"VIP",Player[playerid][pVip]); ini_getInteger(iniFile,"Jailed", Player[playerid][jailed]); ini_getInteger(iniFile,"Muted", Player[playerid][pMuted]); ini_getInteger(iniFile, "Money", Player[playerid][pMoney]); ini_getInteger(iniFile, "Score", Player[playerid][pScore]); ini_getInteger(iniFile,"Kills", Player[playerid][pKills]); ini_getInteger(iniFile,"Deaths", Player[playerid][pDeaths]); ini_getInteger(iniFile,"Bank", Player[playerid][pBank]); SetPlayerScore(playerid,Player[playerid][pScore]); ini_closeFile(iniFile); } else { SendClientMessage(playerid,COLOR_RED,"Вы были кикнуты с сервера! [Причина: Неверный пароль]."); Kick(playerid); return 1; } SendClientMessage(playerid,0xFF00000,"Вы успешно авторизованны!"); } return 1; }