PDA

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



gangzone.ini
21.02.2015, 18:55
Вообщем когда регистрирую аккаунт, не спавнится, надо нажимать 'SPAWN', выбираю пол, скин, выхожу, аккаунт сохраняется, когда захожу опять вылетает опять выбор пола и скина...

Создание аккаунт



stock account_create(playerid, password[])
{
new account[37];
format(account,sizeof(account),"Account/%s.ini", pNick(playerid));
if(fexist(account)) return ShowPlayerDialog(playerid, dialog_login, DIALOG_STYLE_INPUT, "Авторизация", "Данный аккаунт зарегистрирован. Введите пароль:", "Далее", "Выход");
new iniFile = ini_createFile(account);
if(iniFile < 0) ini_openFile (account);
{
ini_setString(iniFile, "password", password);
ini_setInteger(iniFile, "money", 1500);
ini_setInteger(iniFile, "level", 1);
ini_setInteger(iniFile, "sex", player_info[playerid][player_sex]);
ini_setInteger(iniFile, "skin", player_info[playerid][player_skin]);
ini_setInteger(iniFile, "registr", player_info[playerid][player_register]);
ini_closeFile(iniFile);
player_login(playerid);
}
return 1;
}


Проверка аккаунта:



stock player_login(playerid)
{
new account[37];
format(account,sizeof(account),"Account/%s.ini", pNick(playerid));
new iniFile = ini_openFile(account);
ini_getString(iniFile, "password", player_info[playerid][player_password], 64);
ini_getInteger(iniFile, "money", player_info[playerid][player_money]);
ini_closeFile(iniFile);
ResetPlayerMoney(playerid);
GivePlayerMoney(playerid, player_info[playerid][player_money]);
ini_getInteger(iniFile, "level", player_info[playerid][player_level]);
ini_getInteger(iniFile, "sex", player_info[playerid][player_sex]);
ini_getInteger(iniFile, "skin", player_info[playerid][player_skin]);
ini_getInteger(iniFile, "registr", player_info[playerid][player_register]);
player_info[playerid][player_logged] = true;
SpawnPlayer(playerid);
return 1;
}

Сохранение аккаунта:


stock save_player(playerid)
{
if(player_info[playerid][player_logged] == false) return 1;
new account[37];
format(account,sizeof(account),"Account/%s.ini", pNick(playerid));
new iniFile = ini_openFile(account);
ini_setString(iniFile, "password", player_info[playerid][player_password]);
player_info[playerid][player_money] = GetPlayerMoney(playerid);
ini_setInteger(iniFile, "money", player_info[playerid][player_money]);
ini_setInteger(iniFile, "level", player_info[playerid][player_level]);
ini_setInteger(iniFile, "sex", player_info[playerid][player_sex]);
ini_setInteger(iniFile, "skin", player_info[playerid][player_skin]);
ini_setInteger(iniFile, "registr", player_info[playerid][player_register]);
ini_closeFile(iniFile);
return 1;
}


OnPlayerSpawn:


if(player_info[playerid][player_register] == 0)
{
SetPlayerPos(playerid, 1125.3031,5.3819,1002.0859);
SetPlayerFacingAngle(playerid, 179.5547);
SetPlayerCameraPos(playerid, 1678.2035,-1481.4669,110.1527);
SetPlayerCameraLookAt(playerid, 1614.6501,-1576.7792,88.1527);
ShowPlayerDialog(playerid, dialog_skin, DIALOG_STYLE_MSGBOX, "{3DB6F2}Пол","{FFFFFF}Выберите пол вашего персонажа","Мужчина","Женщина");
TogglePlayerControllable(playerid, 0);
}
else
{
if(player_info[playerid][player_level] >= 0)
{
SetPlayerPos(playerid, 1760.7921,-1900.1312,13.5636);
SetPlayerFacingAngle(playerid,270.02);
SetPlayerInterior(playerid,0);
SetPlayerVirtualWorld(playerid, 0);
SetPlayerSkin(playerid, player_info[playerid][player_skin]);
}
}


Выбор скина:


case dialog_skin:
{
if(response)
{
SetPlayerVirtualWorld(playerid, 78);
SetPlayerInterior(playerid, 10);
SetPlayerPos(playerid, 233.7308,117.3896,1010.2118);
SetPlayerFacingAngle(playerid, 150.0000);
SetPlayerCameraPos(playerid, 231.2633,113.8849,1010.2188);
SetPlayerCameraLookAt(playerid, 233.7308,117.3896,1010.2118);
new skin =2 + random(100);
SetPlayerVirtualWorld(playerid, skin);
player_info[playerid][player_sex] = 1;
player_info[playerid][player_register] = 0;
player_info[playerid][player_skin] = 79;
PlayerPlaySound(playerid, 1183, 0.0, 0.0, 0.0);
SendClientMessage(playerid, 0x8CD435AA, "Регистрация завершена!");
ShowPlayerDialog(playerid, dialog_skin+1, DIALOG_STYLE_MSGBOX,"{66CCFF}Выбор скина","{FFFFFF}Выберите скин для своего персонажа","Next","Save");
TogglePlayerControllable(playerid, 0);
SetPlayerAttachedObject(playerid,8,1210,5,0.299999,0.099999,0.000000,0.000000,-83.000000,0.000000,1.000000,1.000000,1.000000);
SetPlayerSkin(playerid, player_info[playerid][player_skin]);
select_skin[playerid] = 255;
select_skin_place[playerid] = 1;
player_info[playerid][player_skin] = chosen_skin[playerid];
return true;
}
else
{
SetPlayerVirtualWorld(playerid, 80);
SetPlayerInterior(playerid, 10);
SetPlayerPos(playerid, 233.7308,117.3896,1010.2118);
SetPlayerFacingAngle(playerid, 150.0000);
SetPlayerCameraPos(playerid, 231.2633,113.8849,1010.2188);
SetPlayerCameraLookAt(playerid, 233.7308,117.3896,1010.2118);
new skin =2 + random(100);
SetPlayerVirtualWorld(playerid,skin);
player_info[playerid][player_sex] = 2;
player_info[playerid][player_register] = 0;
player_info[playerid][player_skin] = 13;
PlayerPlaySound(playerid, 1183, 0.0, 0.0, 0.0);
SendClientMessage(playerid, 0x8CD435AA, "Регистрация завершена!");
ShowPlayerDialog(playerid, dialog_skin+2,DIALOG_STYLE_MSGBOX,"{66CCFF}Выбор скина","{FFFFFF}Выберите скин для своего персонажа","Next","Save");
TogglePlayerControllable(playerid, 0);
SetPlayerAttachedObject(playerid, 8,1210,5,0.299999,0.099999,0.000000,0.000000,-83.000000,0.000000,1.000000,1.000000,1.000000);
SetPlayerSkin(playerid, player_info[playerid][player_skin]);
select_skin[playerid] = 255;
select_skin_place[playerid] = 1;
player_info[playerid][player_skin] = chosen_skin[playerid];
return true;
}
}
case dialog_skin+1:
{
if(response)
{
if(select_skin_place[playerid] == 1)
{
SetPlayerSkin(playerid, 79);
select_skin_place[playerid] = 2;
chosen_skin[playerid] = 79;
ShowPlayerDialog(playerid, dialog_skin+1, DIALOG_STYLE_MSGBOX,"{66CCFF}Выбор скина","{FFFFFF}Выберите скин для своего персонажа","Next","Save");
}
else if(select_skin_place[playerid] == 2)
{
SetPlayerSkin(playerid, 134);
select_skin_place[playerid] = 3;
chosen_skin[playerid] = 134;
ShowPlayerDialog(playerid, dialog_skin+1, DIALOG_STYLE_MSGBOX,"{66CCFF}Выбор скина","{FFFFFF}Выберите скин для своего персонажа","Next","Save");
}
else if(select_skin_place[playerid] == 3)
{
SetPlayerSkin(playerid, 135);
select_skin_place[playerid] = 4;
chosen_skin[playerid] = 135;
ShowPlayerDialog(playerid, dialog_skin+1, DIALOG_STYLE_MSGBOX,"{66CCFF}Выбор скина","{FFFFFF}Выберите скин для своего персонажа","Next","Save");
}
else if(select_skin_place[playerid] == 4)
{
SetPlayerSkin(playerid, 136);
select_skin_place[playerid] = 5;
chosen_skin[playerid] = 136;
ShowPlayerDialog(playerid, dialog_skin+1, DIALOG_STYLE_MSGBOX,"{66CCFF}Выбор скина","{FFFFFF}Выберите скин для своего персонажа","Next","Save");
}
else if(select_skin_place[playerid] == 5)
{
SetPlayerSkin(playerid, 137);
select_skin_place[playerid] = 6;
chosen_skin[playerid] = 137;
ShowPlayerDialog(playerid, dialog_skin+1, DIALOG_STYLE_MSGBOX,"{66CCFF}Выбор скина","{FFFFFF}Выберите скин для своего персонажа","Next","Save");
}
else if(select_skin_place[playerid] == 6)
{
SetPlayerSkin(playerid, 160);
select_skin_place[playerid] = 7;
chosen_skin[playerid] = 160;
ShowPlayerDialog(playerid, dialog_skin+1, DIALOG_STYLE_MSGBOX,"{66CCFF}Выбор скина","{FFFFFF}Выберите скин для своего персонажа","Next","Save");
}
else if(select_skin_place[playerid] == 7)
{
SetPlayerSkin(playerid, 200);
select_skin_place[playerid] = 8;
chosen_skin[playerid] = 200;
ShowPlayerDialog(playerid, dialog_skin+1, DIALOG_STYLE_MSGBOX,"{66CCFF}Выбор скина","{FFFFFF}Выберите скин для своего персонажа","Next","Save");
}
else if(select_skin_place[playerid] == 8)
{
SetPlayerSkin(playerid, 212);
select_skin_place[playerid] = 9;
chosen_skin[playerid] = 212;
ShowPlayerDialog(playerid, dialog_skin+1, DIALOG_STYLE_MSGBOX,"{66CCFF}Выбор скина","{FFFFFF}Выберите скин для своего персонажа","Next","Save");
}
else if(select_skin_place[playerid] == 9)
{
SetPlayerSkin(playerid, 213);
select_skin_place[playerid] = 10;
chosen_skin[playerid] = 213;
ShowPlayerDialog(playerid, dialog_skin+1, DIALOG_STYLE_MSGBOX,"{66CCFF}Выбор скина","{FFFFFF}Выберите скин для своего персонажа","Next","Save");
}
else if(select_skin_place[playerid] == 10)
{
SetPlayerSkin(playerid, 230);
select_skin_place[playerid] = 1;
chosen_skin[playerid] = 230;
ShowPlayerDialog(playerid, dialog_skin+1, DIALOG_STYLE_MSGBOX,"{66CCFF}Выбор скина","{FFFFFF}Выберите скин для своего персонажа","Next","Save");
}
return true;
}
else
{
player_info[playerid][player_skin] = GetPlayerSkin(playerid);
SetPlayerSkin(playerid, player_info[playerid][player_skin]);
player_info[playerid][player_sex] = 1;
player_info[playerid][player_register] = 1;
PlayerPlaySound(playerid, 1069, 0.0, 0.0, 0.0);
change_skin[playerid] = 0;
SpawnPlayer(playerid);
save_player(playerid);
return true;
}
}
case dialog_skin+2:
{
if(response)
{
if(select_skin_place[playerid] == 1)
{
SetPlayerSkin(playerid, 13);
select_skin_place[playerid] = 2;
chosen_skin[playerid] = 13;
ShowPlayerDialog(playerid,dialog_skin+2,DIALOG_STYLE_MSGBOX,"{66CCFF}Выбор скина","{FFFFFF}Выберите скин для своего персонажа","Next","Save");
}
else if(select_skin_place[playerid] == 2)
{
SetPlayerSkin(playerid, 39);
select_skin_place[playerid] = 3;
chosen_skin[playerid] = 39;
ShowPlayerDialog(playerid,dialog_skin+2,DIALOG_STYLE_MSGBOX,"{66CCFF}Выбор скина","{FFFFFF}Выберите скин для своего персонажа","Next","Save");
}
else if(select_skin_place[playerid] == 3)
{
SetPlayerSkin(playerid, 77);
select_skin_place[playerid] = 4;
chosen_skin[playerid] = 77;
ShowPlayerDialog(playerid,dialog_skin+2,DIALOG_STYLE_MSGBOX,"{66CCFF}Выбор скина","{FFFFFF}Выберите скин для своего персонажа","Next","Save");
}
else if(select_skin_place[playerid] == 4)
{
SetPlayerSkin(playerid, 129);
select_skin_place[playerid] = 5;
chosen_skin[playerid] = 129;
ShowPlayerDialog(playerid,dialog_skin+2,DIALOG_STYLE_MSGBOX,"{66CCFF}Выбор скина","{FFFFFF}Выберите скин для своего персонажа","Next","Save");
}
else if(select_skin_place[playerid] == 5)
{
SetPlayerSkin(playerid, 198);
select_skin_place[playerid] = 6;
chosen_skin[playerid] = 198;
ShowPlayerDialog(playerid,dialog_skin+2,DIALOG_STYLE_MSGBOX,"{66CCFF}Выбор скина","{FFFFFF}Выберите скин для своего персонажа","Next","Save");
}
else if(select_skin_place[playerid] == 6)
{
SetPlayerSkin(playerid, 151);
select_skin_place[playerid] = 7;
chosen_skin[playerid] = 151;
ShowPlayerDialog(playerid,dialog_skin+2,DIALOG_STYLE_MSGBOX,"{66CCFF}Выбор скина","{FFFFFF}Выберите скин для своего персонажа","Next","Save");
}
else if(select_skin_place[playerid] == 7)
{
SetPlayerSkin(playerid, 232);
select_skin_place[playerid] = 8;
chosen_skin[playerid] = 232;
ShowPlayerDialog(playerid,dialog_skin+2,DIALOG_STYLE_MSGBOX,"{66CCFF}Выбор скина","{FFFFFF}Выберите скин для своего персонажа","Next","Save");
}
else if(select_skin_place[playerid] == 8)
{
SetPlayerSkin(playerid, 157);
select_skin_place[playerid] = 1;
chosen_skin[playerid] = 157;
ShowPlayerDialog(playerid,dialog_skin+2,DIALOG_STYLE_MSGBOX,"{66CCFF}Выбор скина","{FFFFFF}Выберите скин для своего персонажа","Next","Save");
}
return true;
}
else
{
player_info[playerid][player_skin] = GetPlayerSkin(playerid);
SetPlayerSkin(playerid, player_info[playerid][player_skin]);
player_info[playerid][player_sex] = 2;
player_info[playerid][player_register] = 1;
PlayerPlaySound(playerid, 1069, 0.0, 0.0, 0.0);
change_skin[playerid] = 0;
SpawnPlayer(playerid);
save_player(playerid);
return true;
}
}

XakeP
22.02.2015, 17:18
Погоди у тебя же на MySQL был мод...

I'm Cobra
22.02.2015, 18:42
dialog_login скинь

gangzone.ini
22.02.2015, 23:02
Погоди у тебя же на MySQL был мод...

Он и есть, 2 делаю, mxINI и MySQL :)

- - - Добавлено - - -


dialog_login скинь


case dialog_login:
{
if(!response) return Kick(playerid);
else if(response)
{
if(!strlen(inputtext)) return ShowPlayerDialog(playerid, dialog_login, DIALOG_STYLE_INPUT, "{FF0000}Ошибка", "Для игры на сервере Вы должны авторизироваться!\nВведите ваш пароль:", "Далее", "Выход");
new account[37];
format(account,sizeof(account),"Account/%s.ini",pNick(playerid));
if(!fexist(account)) return ShowPlayerDialog(playerid, dialog_registration,DIALOG_STYLE_INPUT, "Регистрация", "Данный аккаунт не зарегистрирован на нашем сервере. Для регистрации введите пароль:", "Далее", "Выход");
else
{
new password[64];
new iniFile = ini_openFile(account);
ini_getString(iniFile, "password",password);
ini_closeFile(iniFile);
if(!strcmp(inputtext, password, true)) return player_login(playerid);
else return ShowPlayerDialog(playerid, dialog_login, DIALOG_STYLE_INPUT, "{FF0000}Ошибка", "Вы ввели неверный пароль! Повторите попытку\nВведите ваш пароль:", "Далее", "Выход");
}
}
}

I'm Cobra
23.02.2015, 10:04
А зачем два раза загружать пароль? В dialog_login и в player_login?
Попробуй проверку на пароль сделать через stock OnPlayerLogin(playerid, inputtext)

Dima_Tushin
23.02.2015, 10:30
Совет: лучше выбери MYSQL зачем тебе эти файлы.

у меня был мод на файлах у меня все дома,бизнесы, склад фракции слетали...

gangzone.ini
23.02.2015, 10:39
Совет: лучше выбери MYSQL зачем тебе эти файлы.

у меня был мод на файлах у меня все дома,бизнесы, склад фракции слетали...
Если нормально делать, а не с паблика качать, нечего не слетает.
У меня и так есть MySQL, днлаю 2 мода, mxINI и MySQL R39-2