Antoxa
Новичок
Смотрите я начал делать админку с сохранением через Dini.
/register
/login
Также сделал команду с проверкой на 1 level
Регистрируюсь захожу в файл устанавливаю админку 1level. Патом выхожу,захожу заного ввожу /login.
Использую команду с проверкой а она не используеться пишет у вас не 1 level. Хотя я ставил в файле 1.
В чем проблемма?
PHP:
new IsLogged[MAX_PLAYERS];
enum pInfo
{
Score,
Money,
StLevel,
AdminLevel,
}
new PlayerInfo[MAX_PLAYERS][pInfo];
/register
PHP:
if(strcmp(cmd, "/register", true) == 0)
{
new name[MAX_PLAYER_NAME];
tmp = strtok(cmdtext, idx);
GetPlayerName(playerid, name, sizeof(name));
if(strlen(tmp) == 0) return SendClientMessage(playerid,0x49DC31F6,"Ââåäèòå /register [password]");
format(file,sizeof(file),"modes/%s.sav",name);
if(!fexist(file))
{
new ipStr[16], messageStr[48];
GetPlayerIp( playerid, ipStr, 16 );
dini_Create(file);
dini_IntSet(file, "Password", udb_hash(tmp));
dini_IntSet(file,"Score",GetPlayerScore(playerid));
dini_IntSet(file,"Money",GetPlayerMoney(playerid));
dini_IntSet(file,"StLevel",GetPlayerWantedLevel(playerid));
dini_IntSet(file,"AdminLevel",0);
//-------------------------------------
new string[256], pname[MAX_PLAYER_NAME];
GetPlayerName(playerid, pname, sizeof(pname));
format(string, sizeof(string),"Çàðåãèñòðèðîâàí íîâûé èãðîê{F6F6F6} [ %s ]", pname);
SendClientMessageToAll(0x68B1C5F6, string);
SendClientMessage(playerid,0x68B1C5F6,"Òåïåðü ââåäèòå{4EC504} /login [password]");
//-------------------------------------
PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
GetPlayerName(playerid, name, sizeof(name));
printf("%s çàðåãèñòðèðîâàëñÿ íà ñåðâåðå", name);
}
else
{
SendClientMessage(playerid,0xE22A05F6,"Âû óæå çàðåãèñòðèðîâàííû");
}
return 1;
}
PHP:
if(strcmp(cmd, "/login", true) == 0)
{
new PlayerName[24];
tmp = strtok(cmdtext, idx);
if(strlen(tmp) == 0) return SendClientMessage(playerid,0x47E028F6,"Ââåäèòå /login [password]");
new name[MAX_PLAYER_NAME];
if(IsLogged[playerid] == 1)
{
SendClientMessage(playerid,0xE22628F6,"Âû óæå âîøëè â ñèñòåìó!");
return 1;
}
else
{
GetPlayerName(playerid, name, sizeof(name));
format(file,sizeof(file),"modes/%s.sav",name);
if(fexist(file))
{
tmp2 = dini_Get(file, "Password");
if(udb_hash(tmp) != strval(tmp2))
{
SendClientMessage(playerid,0xC54328F6, "Âîéòè íå óäàëîñü!");
GetPlayerName(playerid, PlayerName, sizeof(PlayerName));
printf("%s çàëîãèíåëñÿ", name);
}
else
{
IsLogged[playerid] = 1;
scores[playerid]=(playerid, dini_Int(file, "Score"));
SetPlayerMoney(playerid, dini_Int(file, "Money"));
SetPlayerWantedLevel(playerid, dini_Int(file,"StLevel"));
PlayerInfo[playerid][AdminLevel] = dini_Int(file,"AdminLevel");
SendClientMessage(playerid,0x10D228F6,"Âû âîøëè â ñâîé àêêàóíò!");
}
}
}
return 1;
}
PHP:
if(strcmp(cmdtext, "/êîìàíäû", true) == 0)
{
if(PlayerInfo[playerid][AdminLevel] == 1) return SendClientMessage(playerid,0xDDDD,"âââââââââ");
ShowPlayerDialog(playerid,1,0,"{3EAFB8}Êîìàíäû ñåðâåðà","{07DCB8}/hi,/bb{407EAE} -ïðîùàòüñÿ,ïðèâåòñòâîâàòü\n{07DCB8}/ranks{407EAE} - ñóùåñòâóþùèå ðàíãè\n{07DCB8}/tel{407EAE} - ìåíþ òåëåïîðòîâ\n{07DCB8}/mystat{407EAE} - ñòàòèñòèêà\n{07DCB8}/help{407EAE} - ïîìîùü ïî ñåðâåðó\n{07DCB8}/savestat{407EAE} - ñîõðàíèòü âñå äîñòèæåíèÿ\n{07DCB8}/avtobus{407EAE} - óñòðîèòüñÿ âàäèòåëÿì àâòîáóñà.", "Ïðèíÿòü", "Îòìåíèòü");
return 1;
}
Использую команду с проверкой а она не используеться пишет у вас не 1 level. Хотя я ставил в файле 1.
В чем проблемма?
