PDA

Просмотр полной версии : [Вопрос] Ошибка с регистрацией mxINI



Straik32423
19.06.2015, 20:18
Привет! Пытался создать регистрацию, так как не очень опытен, нашел на одном форуме по pawn (другом) систему регистрации. Я ее немного переделал под себя, но при спавне мне не выдаются ни хп, ни деньги, ни броня, ни скин. Мне просто выдает 0 хп, 0 брони и столько же денег. Такое происходит даже если пароль введен неверно. Что делать, подскажите, пожалуйста!

if(dialogid == 2) // Регистрация
{
if(!strlen(inputtext)) return SPD(playerid, 2, DSI, "Регистрация", "Добро пожаловать на LoL Role Play.\nЭтот аккаунт не зарегистрирован, введите Ваш пароль в окошко ниже:", "Регистрация", "Выход");
if(response)
{
new pName[MAX_PLAYER_NAME]; new account[128];
GetPlayerName(playerid, pName, sizeof(pName));
format(account,sizeof(account), "users/%s.ini",pName);
if(fexist(account)) return SPD(playerid, 3, DSI, "Авторизация", "Здравствуйте! Ваш аккаунт зарегистрирован.\nВведите Ваш пароль в окошко:", "Ок", "Выход");
new iniFile = ini_createFile(account);
if(iniFile < 0) ini_openFile(account);
{
ini_setString(iniFile, "Pass", inputtext);
ini_setInteger(iniFile, "Money", 500);
ini_setFloat(iniFile, "Heal", 100.0);
ini_setFloat(iniFile, "Armour", 100.0);
ini_setInteger(iniFile, "Skin", 294);
ini_closeFile(iniFile);
SPD(playerid, 3, DSI, "Авторизация", "Здравствуйте! Ваш аккаунт зарегистрирован.\nВведите Ваш пароль в окошко:", "Ок", "Выход");
}
}
else
{
Kick(playerid);
return 1;
}
}
if(dialogid == 3) // Авторизация
{
if(!strlen(inputtext)) return SPD(playerid, 3, DSI, "Авторизация", "Здравствуйте! Ваш аккаунт зарегистрирован.\nВведите Ваш пароль в окошко:", "Ок", "Выход");
if(response)
{
new pName[MAX_PLAYER_NAME]; new password[64]; new account[128];
GetPlayerName(playerid, pName, sizeof(pName));
format(account, sizeof(account), "%s.ini", pName);
if(IsPlayerNPC(playerid)) return 1;
new iniFile = ini_openFile(account);
ini_getString(iniFile, "Pass", password);
if(!strcmp(inputtext, password, true))
{
ini_getInteger(iniFile, "Money", PlayerInfo[playerid][Money]);
ini_getFloat(iniFile, "Heal", PlayerInfo[playerid][Heal]);
ini_getFloat(iniFile, "Armour", PlayerInfo[playerid][Armour]);
ini_closeFile(iniFile);
SpawnPlayer(playerid);
SetPlayerHealth(playerid, PlayerInfo[playerid][Heal]);
SetPlayerArmour(playerid, PlayerInfo[playerid][Armour]);
GivePlayerMoney(playerid, PlayerInfo[playerid][Money]);
return 1;
}
else
{
SCM(playerid, COLOR_RED, "Пароль неверный, повторите попытку");
SPD(playerid, 3, DSI, "Авторизация", "Здравствуйте! Ваш аккаунт зарегистрирован.\nВведите Ваш пароль в окошко:", "Ок", "Выход");
return 1;
}
}
else
{
Kick(playerid);
return 1;
}

Osetin
19.06.2015, 20:50
http://pro-pawn.ru/showthread.php?6571

Sp1ke
19.06.2015, 22:24
Привет! Пытался создать регистрацию, так как не очень опытен, нашел на одном форуме по pawn (другом) систему регистрации. Я ее немного переделал под себя, но при спавне мне не выдаются ни хп, ни деньги, ни броня, ни скин. Мне просто выдает 0 хп, 0 брони и столько же денег. Такое происходит даже если пароль введен неверно. Что делать, подскажите, пожалуйста!

if(dialogid == 2) // Регистрация
{
if(!strlen(inputtext)) return SPD(playerid, 2, DSI, "Регистрация", "Добро пожаловать на LoL Role Play.\nЭтот аккаунт не зарегистрирован, введите Ваш пароль в окошко ниже:", "Регистрация", "Выход");
if(response)
{
new pName[MAX_PLAYER_NAME]; new account[128];
GetPlayerName(playerid, pName, sizeof(pName));
format(account,sizeof(account), "users/%s.ini",pName);
if(fexist(account)) return SPD(playerid, 3, DSI, "Авторизация", "Здравствуйте! Ваш аккаунт зарегистрирован.\nВведите Ваш пароль в окошко:", "Ок", "Выход");
new iniFile = ini_createFile(account);
if(iniFile < 0) ini_openFile(account);
{
ini_setString(iniFile, "Pass", inputtext);
ini_setInteger(iniFile, "Money", 500);
ini_setFloat(iniFile, "Heal", 100.0);
ini_setFloat(iniFile, "Armour", 100.0);
ini_setInteger(iniFile, "Skin", 294);
ini_closeFile(iniFile);
SPD(playerid, 3, DSI, "Авторизация", "Здравствуйте! Ваш аккаунт зарегистрирован.\nВведите Ваш пароль в окошко:", "Ок", "Выход");
}
}
else
{
Kick(playerid);
return 1;
}
}
if(dialogid == 3) // Авторизация
{
if(!strlen(inputtext)) return SPD(playerid, 3, DSI, "Авторизация", "Здравствуйте! Ваш аккаунт зарегистрирован.\nВведите Ваш пароль в окошко:", "Ок", "Выход");
if(response)
{
new pName[MAX_PLAYER_NAME]; new password[64]; new account[128];
GetPlayerName(playerid, pName, sizeof(pName));
format(account, sizeof(account), "%s.ini", pName);
if(IsPlayerNPC(playerid)) return 1;
new iniFile = ini_openFile(account);
ini_getString(iniFile, "Pass", password);
if(!strcmp(inputtext, password, true))
{
ini_getInteger(iniFile, "Money", PlayerInfo[playerid][Money]);
ini_getFloat(iniFile, "Heal", PlayerInfo[playerid][Heal]);
ini_getFloat(iniFile, "Armour", PlayerInfo[playerid][Armour]);
ini_closeFile(iniFile);
SpawnPlayer(playerid);
SetPlayerHealth(playerid, PlayerInfo[playerid][Heal]);
SetPlayerArmour(playerid, PlayerInfo[playerid][Armour]);
GivePlayerMoney(playerid, PlayerInfo[playerid][Money]);
return 1;
}
else
{
SCM(playerid, COLOR_RED, "Пароль неверный, повторите попытку");
SPD(playerid, 3, DSI, "Авторизация", "Здравствуйте! Ваш аккаунт зарегистрирован.\nВведите Ваш пароль в окошко:", "Ок", "Выход");
return 1;
}
}
else
{
Kick(playerid);
return 1;
}

Попробуй просто установить значение переменной, а после напиши сток для сохранения и пропиши его в конце регистрации.

gangzone.ini
20.06.2015, 01:10
OnPlayerSpawn:

SetPlayerHealth(playerid, PlayerInfo[playerid][Heal]);
SetPlayerArmour(playerid, PlayerInfo[playerid][Armour]);
Загрузка аккаунта:


ResetPlayerMoney(playerid);
GivePlayerMoney(playerid, PlayerInfo[playerid][Money]);