▲Denny▲
Умник
Во-первых, не загружает информацию с базы.
Во-вторых, не спавнит игрока в режиме наблюдателя. А если делать до спавна, то выбивает стрелочки и кнопку спавн.
PHP:
case Autorize:
{
if(!response) return ShowPlayerDialog(playerid, KickDialog, DIALOG_STYLE_MSGBOX, "Оповещение", "Вы были кикнуты.\nПричина: отказ от авторизации.\nВведите \"/q\" для выхода с сервера!", "Принять", "");
if(!strlen(inputtext)) return ShowPlayerDialog(playerid, RegisterPass, DIALOG_STYLE_INPUT, "Авторизация", "{FF0000}Ошибка: {FFFFFF}Вы не можете авторизоваться не введя пароль!\nВведите пароль для авторизации аккаунта:\n{C0C0C0}Примечание:\n{666666}- Пароль чувствителен к регистру.\n- Пароль должен содержать от 4 до 30 символов.\n- Пароль может содержать латинские/кириллические символы и цифры (aA-zZ, аА-яЯ, 0-9).", "Войти", "Выход");
else if(strlen(inputtext) < 4) return ShowPlayerDialog(playerid, RegisterPass, DIALOG_STYLE_INPUT, "Авторизация", "{FF0000}Ошибка: {FFFFFF}Пароль слишком короткий!\nВведите пароль для авторизации аккаунта:\n{C0C0C0}Примечание:\n{666666}- Пароль чувствителен к регистру.\n- Пароль должен содержать от 4 до 30 символов.\n- Пароль может содержать латинские/кириллические символы и цифры (aA-zZ, аА-яЯ, 0-9).", "Войти", "Выход");
else if(strlen(inputtext) > 30) return ShowPlayerDialog(playerid, RegisterPass, DIALOG_STYLE_INPUT, "Авторизация", "{FF0000}Ошибка: {FFFFFF}Пароль слишком длинный!\nВведите пароль для авторизации аккаунта:\n{C0C0C0}Примечание:\n{666666}- Пароль чувствителен к регистру.\n- Пароль должен содержать от 4 до 30 символов.\n- Пароль может содержать латинские/кириллические символы и цифры (aA-zZ, аА-яЯ, 0-9).", "Войти", "Выход");
for(new i = strlen(inputtext)-1; i != -1; i--)
{
switch(inputtext[i])
{
case '0'..'9', 'а'..'я', 'a'..'z', 'А'..'Я', 'A'..'Z': continue;
default: return ShowPlayerDialog(playerid, RegisterPass, DIALOG_STYLE_INPUT, "Авторизация пользователя", "{FF0000}Ошибка: {FFFFFF}Пароль содержит запрещённые символы!\nВведите пароль для авторизации аккаунта:\n{C0C0C0}Примечание:\n{666666}- Пароль чувствителен к регистру.\n- Пароль должен содержать от 4 до 30 символов.\n- Пароль может содержать латинские/кириллические символы и цифры (aA-zZ, аА-яЯ, 0-9).", "Войти", "Выход");
}
}
if(!strcmp(pinfo[playerid][pass], inputtext, false))
{
new query[100];
GetPlayerName(playerid, pinfo[playerid][name], 24);
mysql_format(connect, query, sizeof(query), "SELECT * FROM `accounts` WHERE `name` = '%s' LIMIT 1", pinfo[playerid][name]);
mysql_pquery(connect, query, "LoadPlayerInfo", "i", playerid);
}
return 1;
}
stock LoadPlayerInfo(playerid)
{
cache_get_value_name(0, "ref", pinfo[playerid][ref], 24);
cache_get_value_name_int(0, "exp", pinfo[playerid][exp]);
cache_get_value_name_int(0, "hours", pinfo[playerid][hours]);
cache_get_value_name_int(0, "sex", pinfo[playerid][sex]);
cache_get_value_name_int(0, "cloth", pinfo[playerid][cloth]);
cache_get_value_name_int(0, "money", pinfo[playerid][money]);
cache_get_value_name_int(0, "depoz", pinfo[playerid][depoz]);
cache_get_value_name_int(0, "bmoney", pinfo[playerid][bmoney]);
cache_get_value_name_int(0, "phone", pinfo[playerid][phone]);
cache_get_value_name_int(0, "zak", pinfo[playerid][zak]);
cache_get_value_name_int(0, "crime", pinfo[playerid][crime]);
cache_get_value_name_int(0, "arrest", pinfo[playerid][arrest]);
cache_get_value_name_int(0, "wanted", pinfo[playerid][wanted]);
cache_get_value_name_int(0, "warns", pinfo[playerid][warns]);
cache_get_value_name_int(0, "bans", pinfo[playerid][bans]);
cache_get_value_name_int(0, "work", pinfo[playerid][work]);
cache_get_value_name_int(0, "org", pinfo[playerid][org]);
cache_get_value_name_int(0, "rang", pinfo[playerid][rang]);
cache_get_value_name_int(0, "zavnar", pinfo[playerid][zavnar]);
cache_get_value_name_int(0, "nark", pinfo[playerid][nark]);
cache_get_value_name_int(0, "muts", pinfo[playerid][muts]);
cache_get_value_name(0, "reg", pinfo[playerid][reg], 10);
cache_get_value_name_int(0, "vip", pinfo[playerid][vip]);
cache_get_value_name_int(0, "home", pinfo[playerid][home]);
cache_get_value_name_int(0, "biz", pinfo[playerid][biz]);
cache_get_value_name(0, "regip", pinfo[playerid][regip], 30);
cache_get_value_name(0, "lastip", pinfo[playerid][lastip], 30);
cache_get_value_name_int(0, "country", pinfo[playerid][country]);
TogglePlayerSpectating(playerid, false);
SpawnPlayer(playerid);
return 1;
}
PHP:
case RegisterCountry:
{
if(!response) return ShowPlayerDialog(playerid, KickDialog, DIALOG_STYLE_MSGBOX, "Оповещение", "Вы были кикнуты.\nПричина: отказ от регистрации.\nВведите \"/q\" для выхода с сервера!", "Принять", "");
new kick = SetTimerEx("Registr", 1000*60*2, false, "i", playerid);
switch(listitem)
{
case 0:
{
pinfo[playerid][country] = 1;
new query[500];
GetPlayerIp(playerid, pinfo[playerid][regip], 30);
format(query, sizeof(query), "INSERT INTO `accounts` (`name`, `pass`, `mail`, `ref`, `country`, `cloth`, `sex`, `regip`) VALUES ('%s', '%s', '%s', '%s', '%i', '%i', '%i', '%s')", pinfo[playerid][name], pinfo[playerid][pass], pinfo[playerid][mail], pinfo[playerid][ref], pinfo[playerid][country], pinfo[playerid][cloth], pinfo[playerid][sex], pinfo[playerid][regip]);
SendClientMessage(playerid, -1, query);
mysql_format(connect, query, sizeof(query), "INSERT INTO `accounts` (`name`, `pass`, `mail`, `ref`, `country`, `cloth`, `sex`, `regip`) VALUES ('%s', '%s', '%s', '%s', '%i', '%i', '%i', '%s')", pinfo[playerid][name], pinfo[playerid][pass], pinfo[playerid][mail], pinfo[playerid][ref], pinfo[playerid][country], pinfo[playerid][cloth], pinfo[playerid][sex], pinfo[playerid][regip]);
mysql_pquery(connect, query);
SetPlayerSkin(playerid, pinfo[playerid][cloth]);
SetPlayerInterior(playerid,0);
SetPlayerVirtualWorld(playerid, 0);
pinfo[playerid][logged] = 1;
KillTimer(kick);
SetPlayerPos(playerid, 1223.8850,-1813.9154,16.5938);
SetPlayerFacingAngle(playerid, 180.1453);
SendClientMessage(playerid, -1, "Благодарим вас за регистрацию. Приятной игры на сервере Richmond Role Play | Cherry!");
TogglePlayerSpectating(playerid, false);
return 1;
}
case 1:
{
pinfo[playerid][country] = 2;
new query[500];
GetPlayerIp(playerid, pinfo[playerid][regip], 30);
mysql_format(connect, query, sizeof(query), "INSERT INTO `accounts` (`name`, `pass`, `mail`, `ref`, `country`, `cloth`, `sex`, `regip`) VALUES ('%s', '%s', '%s', '%s', '%i', '%i', '%i', '%s')", pinfo[playerid][name], pinfo[playerid][pass], pinfo[playerid][mail], pinfo[playerid][ref], pinfo[playerid][country], pinfo[playerid][cloth], pinfo[playerid][sex], pinfo[playerid][regip]); mysql_pquery(connect, query);
mysql_pquery(connect, query);
SetPlayerSkin(playerid, pinfo[playerid][cloth]);
SetPlayerInterior(playerid,0);
SetPlayerVirtualWorld(playerid, 0);
pinfo[playerid][logged] = 1;
KillTimer(kick);
SetPlayerPos(playerid, -1961.7004,137.9463,27.6940);
SetPlayerFacingAngle(playerid, 89.5677);
SendClientMessage(playerid, -1, "Благодарим вас за регистрацию. Приятной игры на сервере Richmond Role Play | Cherry!");
TogglePlayerSpectating(playerid, false);
return 1;
}
case 2:
{
pinfo[playerid][country] = 2;
new query[500];
GetPlayerIp(playerid, pinfo[playerid][regip], 30);
mysql_format(connect, query, sizeof(query), "INSERT INTO `accounts` (`name`, `pass`, `mail`, `ref`, `country`, `cloth`, `sex`, `regip`) VALUES ('%s', '%s', '%s', '%s', '%i', '%i', '%i', '%s')", pinfo[playerid][name], pinfo[playerid][pass], pinfo[playerid][mail], pinfo[playerid][ref], pinfo[playerid][country], pinfo[playerid][cloth], pinfo[playerid][sex], pinfo[playerid][regip]);
mysql_pquery(connect, query);
SetPlayerSkin(playerid, pinfo[playerid][cloth]);
SetPlayerInterior(playerid,0);
SetPlayerVirtualWorld(playerid, 0);
pinfo[playerid][logged] = 1;
KillTimer(kick);
SetPlayerPos(playerid, 2847.8511,1290.8820,11.3906);
SetPlayerFacingAngle(playerid, 90.2177);
SendClientMessage(playerid, -1, "Благодарим вас за регистрацию. Приятной игры на сервере Richmond Role Play | Cherry!");
TogglePlayerSpectating(playerid, false);
return 1;
}
}
}
