BiGGY
Ученик
Помогите, пожалуйста!
Написал регистрацию - не работает. Захожу, написано что не зареган, ввожу пароль, еще раз пишет, что не зареган, потом жму spawn и на весь экран появляется надпись типа "world bounderes..", ну я эту проблему знаю, что-то с координатами, но у меня все нормально.+
ЕНУМ:
OnPlayerConnect:
СТОКИ:
ДИАЛОГИ:
---------- Post added at 09:47 ---------- Previous post was at 09:41 ----------
Толи я в вызовах диалогов где-то запутался, то ли что. Помогите, пожалуйста, без этого у меня просто желания дальше в павн идти нету.
Написал регистрацию - не работает. Захожу, написано что не зареган, ввожу пароль, еще раз пишет, что не зареган, потом жму spawn и на весь экран появляется надпись типа "world bounderes..", ну я эту проблему знаю, что-то с координатами, но у меня все нормально.+
ЕНУМ:
PHP:
enum pInfo
{
pPass,
pName,
bool:pLogged,
pLevel,
pAdmin,
pMoney
}
new PlayerInfo[MAX_PLAYERS][pInfo];
PHP:
public OnPlayerConnect(playerid)
{
new string[255];
GetPlayerName(playerid, PlayerInfo[playerid][pName], MAX_PLAYER_NAME);
format(string, sizeof(string), "Accounts\%s.ini", PlayerInfo[playerid][pName]);
if(!fexist(string))
{
ShowPlayerDialog(playerid, 5, DSI, "Регистрация", "Данный аккаунт не зарегистрирован\nВведите пароль:", "Далее", "Отмена");
}
else if(fexist(string))
{
ShowPlayerDialog(playerid, 4, DSI, "Авторизация", "Данный аккаунт зарегистрирован\nВведите пароль:", "Далее", "Отмена");
}
return 1;
}
PHP:
stock OnPlayerRegiser(playerid, password[])
{
new str[255];
format(str, sizeof(str), "Accounts/%s.ini", PlayerInfo[playerid][pName]);
if(fexist(str)) return ShowPlayerDialog(playerid, 5, DSI, "Авторизация", "Данный аккаунт зарегистрирован\nВведите пароль:", "Далее", "Отмена");
new iniFile = ini_createFile(str);
if(iniFile < 0) ini_openFile(str);
{
ini_setString(iniFile, "Name", PlayerInfo[playerid][pName]);
ini_setString(iniFile, "Password", password);
ini_setInteger(iniFile, "Level", 1);
ini_setInteger(iniFile, "Admin", 0);
ini_setInteger(iniFile, "Money", 5000);
ini_closeFile(iniFile);
OnPlayerLogin(playerid);
}
return 1;
}
stock OnPlayerLogin(playerid)
{
new str[255];
format(str, sizeof(str), "Accounts/%s.ini", PlayerInfo[playerid][pName]);
if(!fexist(str)) return ShowPlayerDialog(playerid, 5, DSI, "Регистрация", "Данный аккаунт не зарегистрирован\nВведите пароль", "Далее", "Отмена");
new iniFile = ini_openFile(str);
ini_getString(iniFile, "Name", PlayerInfo[playerid][pName]);
ini_getString(iniFile, "Password", PlayerInfo[playerid][pPass], 64);
ini_getInteger(iniFile, "Level", PlayerInfo[playerid][pLevel]);
ini_getInteger(iniFile, "Admin", PlayerInfo[playerid][pAdmin]);
ini_getInteger(iniFile, "Money", PlayerInfo[playerid][pMoney]);
ini_closeFile(iniFile);
ResetPlayerMoney(playerid);
GivePlayerMoney(playerid, PlayerInfo[playerid][pMoney]);
PlayerInfo[playerid][pLogged] = true;
return 1;
}
stock SaveAccount(playerid)
{
new str[255];
format(str, sizeof(str), "Accounts/%s.ini", PlayerInfo[playerid][pName]);
new iniFile = ini_openFile(str);
ini_setString(iniFile, "Name", PlayerInfo[playerid][pName]);
ini_setString(iniFile, "Password", PlayerInfo[playerid][pPass]);
ini_setInteger(iniFile, "Level", PlayerInfo[playerid][pLevel]);
ini_setInteger(iniFile, "Admin", PlayerInfo[playerid][pAdmin]);
ini_setInteger(iniFile, "Money", PlayerInfo[playerid][pMoney]);
ini_closeFile(iniFile);
return 1;
}
PHP:
if(dialogid == 4) // авторизация
{
if(!response) return Kick(playerid);
else if(response)
{
if(!strlen(inputtext)) return ShowPlayerDialog(playerid, 4, DSI, "Авторизация", "Пароль введен не верно!\nПовторите попытку:", "Далее", "Отмена");
new str[255];
format(str, sizeof(str), "Accounts/%s.ini", PlayerInfo[playerid][pName]);
if(fexist(str)) return ShowPlayerDialog(playerid, 5, DSI, "Авторизация", "Данный аккаунт зарегистрирован\nВведите пароль:", "Далее", "Отмена");
else return OnPlayerRegiser(playerid, inputtext);
}
}
else if(dialogid == 5) // регистрация
{
if(!response) return Kick(playerid);
else if(response)
{
if(!strlen(inputtext)) return ShowPlayerDialog(playerid, 4, DSI, "Авторизация", "Пароль введен не верно!\nПовторите попытку:", "Далее", "Отмена");
new str[255];
format(str, sizeof(str), "Accounts/%s.ini", PlayerInfo[playerid][pName]);
if(!fexist(str)) return ShowPlayerDialog(playerid, 4, DSI, "Регистрация", "Данный аккаунт не зарегистрирован\nВведите пароль:", "Далее", "Отмена");
else
{
new password[64];
new iniFile = ini_openFile(str);
ini_getString(iniFile, "Password", password);
ini_closeFile(iniFile);
if(!strcmp(password, inputtext, false)) return OnPlayerLogin(playerid);
if(strcmp(password, inputtext, false)) return ShowPlayerDialog(playerid, 4, DSI, "Авторизация", "Пароль введен не верно!\nПовторите попытку:", "Далее", "Отмена");
}
}
return 1;
}
---------- Post added at 09:47 ---------- Previous post was at 09:41 ----------
Толи я в вызовах диалогов где-то запутался, то ли что. Помогите, пожалуйста, без этого у меня просто желания дальше в павн идти нету.
