den1046
Новичок
Всем привет.У меня одна проблема.Когда выбираешь пол мужской или женский,то появляется один скин мужика .Я пытался,но все время ошибки.Меню не работает.Как исправить?Вот мой весь код.
PHP:
#include <a_samp>
#include <mxINI>
#include <foreach>
#include <sscanf2>
#include <a_mysql>
#include <streamer>
//------------------------------
#define COLOR_WHITE 0xFFFFFFAA
#define COLOR_GREY 0xAFAFAFAA
#define COLOR_YELLOW 0xFFFF00AA
#define COLOR_YELLOW2 0xF5DEB3AA
#define TEAM_BLUE_COLOR 0x8D8DFF00
#define COLOR_LIGHTRED 0xFF6347AA
#define COLOR_PURPLE 0xC2A2DAAA
#define COLOR_GRAD1 0xB4B5B7FF
#define COLOR_GRAD2 0xBFC0C2FF
#define COLOR_GRAD3 0xCBCCCEFF
#define COLOR_GRAD4 0xD8D8D8FF
#define COLOR_GRAD5 0xE3E3E3FF
#define COLOR_GRAD6 0xF0F0F0FF
#define COLOR_FADE1 0xE6E6E6E6
#define COLOR_FADE2 0xC8C8C8C8
#define COLOR_FADE3 0xAAAAAAAA
#define COLOR_FADE4 0x8C8C8C8C
#define COLOR_BLUE 0x33AAFFFF
#define COLOR_FADE5 0x6E6E6E6E
#define SQL_HOST "localhost"
#define SQL_USER "Samp-rp"
#define SQL_DB "Samp-rp"
#define SQL_PASS "fhvflf"
#define SQL_DEBUG 1
#define T_ACCOUNT "accounts"
//------------------------------------------------------------------------------
new stringg[500];
new Menu:bomj[2];
new query[2048];
new Menu:spawn_menu[2];
main()
{
if(mysql_ping() == 1) printf(" Подключение к базе `%s` успешно", SQL_DB);
else printf(" Подключение к базе `%s` не успешно", SQL_DB);
}
enum pInfo
{
pName[24],
pKey[16],
pEmail[50],
pDrug[24],
pSex,
pReg,
pSkin,
pModel[5],
pModels[50],
pLevel,
pHouse,
pCar,
pCarColor1,
pCarColor2,
pMoney,
pText,
pAdminLevel,
pExp,
pZakon,
pNumber,
pNumberMny,
pPhoneListPhone[10],
pBank,
pDrugs
};
new PlayerInfo[MAX_PLAYERS][pInfo];
new SkinMen[12] = { 78,79,132,134,135,136,137,200,212,213,230,160 };
new SkinGirl[14] = { 10,13,31,39,54,77,129,130,151,157,196,197,198,218 };
DisconnectMySQL()
{
mysql_close();
return true;
}
public OnGameModeInit()
{
spawn_menu[0] = CreateMenu("Choose", 1, 50.0, 150.0, 140.0);
AddMenuItem(spawn_menu[0],0,"Next");
AddMenuItem(spawn_menu[0],0,"Back");
AddMenuItem(spawn_menu[0],0,"Accept");
spawn_menu[1] = CreateMenu("Choose", 1, 50.0, 150.0, 140.0);
AddMenuItem(spawn_menu[1],0,"Back");
AddMenuItem(spawn_menu[1],0,"Next");
AddMenuItem(spawn_menu[1],0,"Accept");
SetGameModeText("Samp-Rp");
AddPlayerClass(66,1958.3783,1343.1572,865.6302,269.1425,0,0,0,0,0,0);
Menu();
ConnectMySQL();
//------------------------------------------------------------------------------
SetTimer("OtherTime", 1000, 1);
SetTimer("FuelCheck", 13000, 1);
return 1;
}
stock ConnectMySQL()
{
mysql_connect(SQL_HOST, SQL_USER, SQL_DB, SQL_PASS);
mysql_debug(SQL_DEBUG);
mysql_set_charset("cp1251_general_ci");
mysql_query("SET NAMES 'cp1251'");
mysql_query("SET CHARACTER SET 'cp1251'");
return true;
}
public OnGameModeExit()
{
DisconnectMySQL();
SaveAccounts(); // сохраняем тты
return 1;
}
public OnPlayerRequestClass(playerid, classid)
{
SendClientMessage(playerid,0xFF9900AA, "Добро пожаловать на Black Face.Rp");
SetPlayerCameraPos(playerid,1200.4225,-1200.6000,120.3332);
SetPlayerCameraLookAt(playerid,1200.4225,-1200.6000,120.3332);
//------------------------------------------------------------------------------
format(query, sizeof(query), "SELECT * FROM "T_ACCOUNT" WHERE Name = '%s'", PlayerInfo[playerid][pName]);
mysql_query(query);
mysql_store_result();
if(mysql_fetch_row_format(query))
{
format(stringg,sizeof(stringg),"{FFFFFF}Добро пожаловать на сервер Black Face.Rp\nВаш ник зарегистрирован\n\nЛогин: {1DBF3A}%s{FFFFFF}\nВведите пароль:",PlayerInfo[playerid][pName]);
ShowPlayerDialog(playerid,2,DIALOG_STYLE_INPUT,"{3DB6F2}Авторизация",stringg, "Войти","Отмена");
}
else
{
ShowPlayerDialog(playerid,1,DIALOG_STYLE_INPUT,"{3DB6F2}Регистрация","{FFFFFF}Добро пожаловать на сервер Black Face.Rp\nЧтобы начать игру вам необходимо пройти регистрацию\n\nВведите пароль для вашего аккаунта\nОн будет запрашиваться каждый раз, когда вы заходите на сервер\n\n\t{1DBF3A}Примечания:\n\t- Пароль может состоять из русских и латинских символов\n\t- Длина пароля от 6-ти до 15-ти символов", "Ок","Отмена");
}
return 1;
}
public OnPlayerConnect(playerid)
{
GetPlayerName(playerid, PlayerInfo[playerid][pName], MAX_PLAYER_NAME);
//==============================================================================
strmid(PlayerInfo[playerid][pEmail],"-", 0, strlen("-"), 2);
strmid(PlayerInfo[playerid][pDrug],"-", 0, strlen("-"), 2);
PlayerInfo[playerid][pSex] = 0;
PlayerInfo[playerid][pReg] = 0;
PlayerInfo[playerid][pSkin] = 0;
PlayerInfo[playerid][pLevel] = 0;
PlayerInfo[playerid][pDrugs] = 0;
PlayerInfo[playerid][pHouse] = 9999;
PlayerInfo[playerid][pCar] = 462;
PlayerInfo[playerid][pCarColor1] = 0;
PlayerInfo[playerid][pCarColor2] = 0;
PlayerInfo[playerid][pMoney] = 0;
PlayerInfo[playerid][pText] = 0;
PlayerInfo[playerid][pExp] = 0;
PlayerInfo[playerid][pZakon] = 0;
PlayerInfo[playerid][pNumber] = 0;
PlayerInfo[playerid][pNumberMny] = 0;
PlayerInfo[playerid][pAdminLevel] = 0;
return 1;
}
public OnPlayerSpawn(playerid)
{
if(GetPVarInt(playerid, "Logged") == 0)
{
SetPlayerCameraPos(playerid,1678.2035,-1481.4669,110.1527);
SetPlayerCameraLookAt(playerid,1614.6501,-1576.7792,88.1527);
ShowPlayerDialog(playerid,1000,DIALOG_STYLE_MSGBOX,"{E6B122}Ошибка","{FFFFFF}Для игры на сервере Вы должны пройти регистрацию / авторизацию", "Закрыть","");
SendClientMessage(playerid, 0xFF9900AA, "Введите /q (/quit) чтобы выйти"), Kick(playerid);
return 1;
}
if(IsPlayerAttachedObjectSlotUsed(playerid,3)) RemovePlayerAttachedObject(playerid,3);
SetPlayerSkin(playerid, PlayerInfo[playerid][pSkin]);
SetMoney(playerid, PlayerInfo[playerid][pMoney]);
SetPlayerScore(playerid, PlayerInfo[playerid][pLevel]);
//------------------------------------------------------------------------------
//------------------------------------------------------------------------------
SetPlayerInterior(playerid,0);
SetPlayerPos(playerid,1760.3505,-1902.9790,13.5649);
return 1;
}
public OnVehicleSpawn(vehicleid)
{
return 1;
}
public OnVehicleDeath(vehicleid, killerid)
{
return 1;
}
public OnPlayerText(playerid, text[])
{
if(GetPVarInt(playerid, "Logged") == 0) { SendClientMessage(playerid, COLOR_YELLOW2, "Пожалуйста авторизируйтесь!"); return 0; }
//-------------------------------------------------------------------
{
format(stringg, sizeof(stringg), "- %s: %s", PlayerInfo[playerid][pName], text);
ProxDetector(15.0, playerid, stringg,0xE6E6E6E6,0xE6E6E6E6,0xE6E6E6E6,0x9C9C9CAA,0x757575AA,0x383838AA);
SetPlayerChatBubble(playerid, text, 0x6495EDFF, 15.0, 6000);
}
return 1;
}
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
return 1;
}
public OnPlayerExitVehicle(playerid, vehicleid)
{
return 1;
}
public OnPlayerEnterCheckpoint(playerid)
{
return 1;
}
public OnPlayerLeaveCheckpoint(playerid)
{
return 1;
}
public OnPlayerEnterRaceCheckpoint(playerid)
{
return 1;
}
public OnPlayerLeaveRaceCheckpoint(playerid)
{
return 1;
}
public OnRconCommand(cmd[])
{
return 1;
}
public OnPlayerRequestSpawn(playerid)
{
return 1;
}
public OnObjectMoved(objectid)
{
return 1;
}
public OnPlayerObjectMoved(playerid, objectid)
{
return 1;
}
public OnVehicleMod(playerid, vehicleid, componentid)
{
return 1;
}
public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
{
return 1;
}
public OnVehicleRespray(playerid, vehicleid, color1, color2)
{
return 1;
}
public OnPlayerExitedMenu(playerid)
{
if(GetPVarInt(playerid, "spawns_add") > 0) return ShowMenuForPlayer(spawn_menu[0],playerid);
return 1;
}
public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
{
return 1;
}
public OnRconLoginAttempt(ip[], password[], success)
{
return 1;
}
public OnPlayerUpdate(playerid)
{
return 1;
}
public OnPlayerStreamIn(playerid, forplayerid)
{
return 1;
}
public OnPlayerStreamOut(playerid, forplayerid)
{
return 1;
}
public OnVehicleStreamOut(vehicleid, forplayerid)
{
return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
//------------------------------------------------------------------------------
switch(dialogid)
{
case 1:
{
if(response)
{
if(!strlen(inputtext)) return ShowPlayerDialog(playerid,1,DIALOG_STYLE_INPUT,"{3DB6F2}Регистрация","{FFFFFF}Добро пожаловать на сервер Black Face.Rp\nЧтобы начать игру вам необходимо пройти регистрацию\n\nВведите пароль для вашего аккаунта\nОн будет запрашиваться каждый раз, когда вы заходите на сервер\n\n\t{1DBF3A}Примечания:\n\t- Пароль может состоять из русских и латинских символов\n\t- Длина пароля от 6-ти до 15-ти символов", "Ок","Отмена");
if(strlen(inputtext) < 6 || strlen(inputtext) > 15) return ShowPlayerDialog(playerid,20,DIALOG_STYLE_MSGBOX,"{E6B122}Ошибка","{FFFFFF}Длина пароля должна быть от 6 до 15 символов\nРекомендуется использовать русские и латинские буквы, а также любые знаки", "Повтор","");
strmid(PlayerInfo[playerid][pKey], inputtext, 0, strlen(inputtext), 15);
ShowPlayerDialog(playerid,3,DIALOG_STYLE_INPUT,"{3DB6F2}Email","{FFFFFF}Введите адрес вашей электронной почты\nИспользуя его, вы сможете восстановить доступ к аккаунту\nв случае взлома или если забудете пароль", "Готово","Пропуск");
}
else return SendClientMessage(playerid, 0xFF9900AA, "Введите /q (/quit) чтобы выйти"), Kick(playerid);
}
//------------------------------------------------------------------------------
case 2:
{
if(response)
{
if(!strlen(inputtext))
{
format(stringg,sizeof(stringg),"{FFFFFF}Добро пожаловать на сервер Black Face.Rp\nВаш ник зарегистрирован\n\nЛогин: {1DBF3A}%s{FFFFFF}\nВведите пароль:",PlayerInfo[playerid][pName]);
ShowPlayerDialog(playerid,2,DIALOG_STYLE_INPUT,"{3DB6F2}Авторизация",stringg, "Войти","Отмена");
return 1;
}
OnPlayerLogin(playerid, inputtext);
}
else return SendClientMessage(playerid, 0xFF9900AA, "Введите /q (/quit) чтобы выйти"), Kick(playerid);
}
//------------------------------------------------------------------------------
case 3:
{
if(response)
{
if(!strlen(inputtext)) return ShowPlayerDialog(playerid,3,DIALOG_STYLE_INPUT,"{3DB6F2}Email","{FFFFFF}Введите адрес вашей электронной почты\nИспользуя его, вы сможете восстановить доступ к аккаунту\nв случае взлома или если забудете пароль", "Готово","Пропуск");
if(strfind(inputtext, "@", true) == -1 || strfind(inputtext, ".", true) == -1) return ShowPlayerDialog(playerid,21,DIALOG_STYLE_MSGBOX,"{E6B122}Ошибка","{FFFFFF}Адрес электронной почты введён неверно", "Повтор","");
strmid(PlayerInfo[playerid][pEmail], inputtext, 0, strlen(inputtext), 50);
ShowPlayerDialog(playerid,4,DIALOG_STYLE_INPUT,"{3DB6F2}Ник пригласившего игрока","{FFFFFF}Если Вы узнали о нашем сервере от своего друга\nкоторый тут играет, укажите его ник в поле ниже\n\n{B8E82A}При достижении вами 4-го уровня он получит вознаграждение", "Ввести","Пропустить");
}
else
{
strmid(PlayerInfo[playerid][pEmail], "None", 0, strlen("None"), 50);
return ShowPlayerDialog(playerid,4,DIALOG_STYLE_INPUT,"{3DB6F2}Ник пригласившего игрока","{FFFFFF}Если Вы узнали о нашем сервере от своего друга\nкоторый тут играет, укажите его ник в поле ниже\n\n{B8E82A}При достижении вами 4-го уровня он получит вознаграждение", "Ввести","Пропустить");
}
}
//------------------------------------------------------------------------------
case 4:
{
if(response)
{
if(!strlen(inputtext)) return ShowPlayerDialog(playerid,4,DIALOG_STYLE_INPUT,"{3DB6F2}Ник пригласившего игрока","{FFFFFF}Если Вы узнали о нашем сервере от своего друга\nкоторый тут играет, укажите его ник в поле ниже\n\n{B8E82A}При достижении вами 4-го уровня он получит вознаграждение", "Ввести","Пропустить");
format(stringg, sizeof(stringg), "accounts/%s.ini", inputtext);
if(fexist(stringg))
{
strmid(PlayerInfo[playerid][pDrug], inputtext, 0, strlen(inputtext), 24);
ShowPlayerDialog(playerid,5,DIALOG_STYLE_MSGBOX,"{3DB6F2}Пол","{FFFFFF}Выберите пол вашего персонажа", "Мужской","Женский");
return 1;
}
else return ShowPlayerDialog(playerid,22,DIALOG_STYLE_MSGBOX,"{E6B122}Ошибка","{FFFFFF}Такого игрока не существует.\nЕсли вы не знаете других игроков нажмите кнопку ''Пропустить''", "Повтор","Пропустить");
}
else return ShowPlayerDialog(playerid,5,DIALOG_STYLE_MSGBOX,"{3DB6F2}Пол","{FFFFFF}Выберите пол вашего персонажа", "Мужской","Женский");
}
//------------------------------------------------------------------------------
case 5:
{
if(response) PlayerInfo[playerid][pSex] = 1; // мужчина
if(!response) PlayerInfo[playerid][pSex] = 2; // женщина
new str[1500], sctring[1500];
format(str,sizeof(str),"{E6B122}1. Основное\n");
strcat(sctring,str);
format(str,sizeof(str),"{FFFFFF}- Запрещено использовать любые читы, трейнеры, моды или CLEO скрипты\n");
strcat(sctring,str);
format(str,sizeof(str),"- Запрещен DeathMatch (DM) - убийство и нанесение вреда игрокам без причины\n");
strcat(sctring,str);
format(str,sizeof(str),"- Запрещено убивать игроков на спавне (на месте, где они появляются в игре)\n");
strcat(sctring,str);
format(str,sizeof(str),"- Запрещены убийства путем наезда на него или стрельбы из авто\n");
strcat(sctring,str);
format(str,sizeof(str),"- Запрещено уходить на паузу в целях спасения от нападающих\n");
strcat(sctring,str);
format(str,sizeof(str),"- Запрещено использование возможностей сервера для создания неудобств другим игрокам\n\n");
strcat(sctring,str);
format(str,sizeof(str),"{E6B122}2. Процесс общения\n");
strcat(sctring,str);
format(str,sizeof(str),"{FFFFFF}- Запрещен мат, оскорбление других игроков\n");
strcat(sctring,str);
format(str,sizeof(str),"- Запрещены угрозы другим игрокам (не относящиеся к игровому процессу)\n");
strcat(sctring,str);
format(str,sizeof(str),"- Запрещено писать транслитом (например ''ya zawel na server'')\n");
strcat(sctring,str);
format(str,sizeof(str),"- Запрещена любая реклама сторонних ресурсов\n");
strcat(sctring,str);
format(str,sizeof(str),"- Запрещено флудить (часто повторять одинаковые фразы, или фразы без смысловой нагрузки)\n\n");
strcat(sctring,str);
format(str,sizeof(str),"{E6B122}3. Администрация\n");
strcat(sctring,str);
format(str,sizeof(str),"{FFFFFF}- Необходимо сообщать администрации сервера о любых случаях нарушения данных правил\n");
strcat(sctring,str);
format(str,sizeof(str),"- Администрация самостоятельно выбирает штрафные санкции для каждого конкретного случая\n");
strcat(sctring,str);
format(str,sizeof(str),"- Санкции могут применяться сразу после нарушения или через время (например, впоследствии поступления жалобы)\n");
strcat(sctring,str);
format(str,sizeof(str),"- Если штрафная санкция была применена ошибочно, свяжитесь с администрацией\n");
strcat(sctring,str);
ShowPlayerDialog(playerid,6,DIALOG_STYLE_MSGBOX,"{3DB6F2}Правила сервера",sctring,"Принять","Отмена");
}
//------------------------------------------------------------------------------
case 6:
{
if(response)
{
SpawnPlayer(playerid);
SendClientMessage(playerid, COLOR_WHITE, "Регистрация завершена!");
SendClientMessage(playerid, 0x8CD435AA, "Теперь выберите внешность Вашего персонажа");
if(PlayerInfo[playerid][pSex] == 1) PlayerInfo[playerid][pSkin] = SkinMen[0], SetPlayerSkin(playerid,PlayerInfo[playerid][pSkin]), ShowMenuForPlayer(bomj[0],playerid);
else if(PlayerInfo[playerid][pSex] == 2) PlayerInfo[playerid][pSkin] = SkinGirl[0], SetPlayerSkin(playerid,PlayerInfo[playerid][pSkin]), ShowMenuForPlayer(bomj[1],playerid);
PlayerInfo[playerid][pSkin] = GetPlayerSkin(playerid);
PlayerInfo[playerid][pModel][0] = PlayerInfo[playerid][pSkin];
OnPlayerRegister(playerid);
}
else return SendClientMessage(playerid, 0xFF9900AA, "Введите /q (/quit) чтобы выйти"), Kick(playerid);
}
//------------------------------------------------------------------------------
//------------------------------------------------------------------------------
case 20: return ShowPlayerDialog(playerid,1,DIALOG_STYLE_INPUT,"{3DB6F2}Регистрация","{FFFFFF}Добро пожаловать на сервер Black Face.Rp\nЧтобы начать игру вам необходимо пройти регистрацию\n\nВведите пароль для вашего аккаунта\nОн будет запрашиваться каждый раз, когда вы заходите на сервер\n\n\t{1DBF3A}Примечания:\n\t- Пароль может состоять из русских и латинских символов\n\t- Длина пароля от 6-ти до 15-ти символов", "Ок","Отмена");
//------------------------------------------------------------------------------
case 21: return ShowPlayerDialog(playerid,3,DIALOG_STYLE_INPUT,"{3DB6F2}Email","{FFFFFF}Введите адрес вашей электронной почты\nИспользуя его, вы сможете восстановить доступ к аккаунту\nв случае взлома или если забудете пароль", "Готово","Пропуск");
//------------------------------------------------------------------------------
case 22:
{
if(response) return ShowPlayerDialog(playerid,4,DIALOG_STYLE_INPUT,"{3DB6F2}Ник пригласившего игрока","{FFFFFF}Если Вы узнали о нашем сервере от своего друга\nкоторый тут играет, укажите его ник в поле ниже\n\n{B8E82A}При достижении вами 4-го уровня он получит вознаграждение", "Ввести","Пропустить");
}
//------------------------------------------------------------------------------
//------------------------------------------------------------------------------
case 81:
{
SendClientMessage(playerid, COLOR_BLUE, "Вы изменили внешний вид!");
SetPlayerSkin(playerid, PlayerInfo[playerid][pSkin]);
return true;
}
}
return 1;
}
stock SetHealth(playerid, Float: Heal)
{
SetPlayerHealth(playerid, Heal);
return 1;
}
//------------------------------------------------------------------------------
stock Menu()
{
bomj[0] = CreateMenu("Skin", 1, 180.0, 250.0, 60.0);
AddMenuItem(bomj[0] ,0,"Next >>");
AddMenuItem(bomj[0] ,0,"<< Prev");
AddMenuItem(bomj[0] ,0,"OK");
bomj[1] = CreateMenu("Skin", 1, 180.0, 250.0, 60.0);
AddMenuItem(bomj[1] ,0,"Next >>");
AddMenuItem(bomj[1] ,0,"<< Prev");
AddMenuItem(bomj[1] ,0,"OK");
return 1;
}
//------------------------------------------------------------------------------
stock OnPlayerRegister(playerid)
{
new sqlname[MAX_PLAYER_NAME], day, month, year;
GetPlayerName(playerid, sqlname, 24);
getdate(year, month, day);
format(query, sizeof(query), "INSERT INTO `"T_ACCOUNT"` (`Name`, `Key`, `Sex`, `Email`) VALUE ('%s', '%s', %i, '%s')", sqlname, PlayerInfo[playerid][pKey], PlayerInfo[playerid][pSex], PlayerInfo[playerid][pEmail]);
mysql_query(query);
SetPVarInt(playerid, "Logged", 1);
OnPlayerLogin(playerid, PlayerInfo[playerid][pKey]);
format(stringg,sizeof(stringg), "accounts/%s.ini", PlayerInfo[playerid][pName]);
new iniFile = ini_createFile(stringg);
if(iniFile < 0)
{
iniFile = ini_openFile(stringg);
}
if(iniFile >= 0)
{
ini_setString(iniFile,"Key",PlayerInfo[playerid][pKey]);
ini_setString(iniFile,"Email",PlayerInfo[playerid][pEmail]);
ini_setString(iniFile,"Drug",PlayerInfo[playerid][pDrug]);
iniSetInt(iniFile,"Sex",PlayerInfo[playerid][pSex]);
iniSetInt(iniFile,"Reg",PlayerInfo[playerid][pReg]);
iniSetInt(iniFile,"Skin",PlayerInfo[playerid][pSkin]);
iniSetInt(iniFile,"Level",PlayerInfo[playerid][pLevel]);
iniSetInt(iniFile,"House",PlayerInfo[playerid][pHouse]);
iniSetInt(iniFile,"Car",PlayerInfo[playerid][pCar]);
iniSetInt(iniFile,"CarColor1",PlayerInfo[playerid][pCarColor1]);
iniSetInt(iniFile,"CarColor2",PlayerInfo[playerid][pCarColor2]);
iniSetInt(iniFile,"Money",PlayerInfo[playerid][pMoney]);
iniSetInt(iniFile,"Text",PlayerInfo[playerid][pText]);
iniSetInt(iniFile,"AdminLevel",PlayerInfo[playerid][pAdminLevel]);
iniSetInt(iniFile,"Exp",PlayerInfo[playerid][pExp]);
iniSetInt(iniFile,"Zakon",PlayerInfo[playerid][pZakon]);
iniSetInt(iniFile,"Number",PlayerInfo[playerid][pNumber]);
iniSetInt(iniFile,"NumnerMny",PlayerInfo[playerid][pNumberMny]);
iniSetInt(iniFile,"Bank",PlayerInfo[playerid][pBank]);
}
return 1;
}
//------------------------------------------------------------------------------
stock OnPlayerLogin(playerid, password[])
{
new sqlpass[32],
str[2048],
name[32];
GetPlayerName(playerid, name, 32);
mysql_real_escape_string(password, sqlpass);
format(query, sizeof(query), "SELECT * FROM `"T_ACCOUNT"` WHERE `Key` = '%s' AND `Name` = '%s'", sqlpass, name);
mysql_query(query);
mysql_store_result();
if(mysql_num_rows() == 1)
{
mysql_fetch_row_format(str, "|");
sscanf(str, "p<|>sssiiiiiiiiiiiiiiiiis[32]s[32]s[32]s[32]s[32]s[32]s[32]s[32]s[32]s[32]iiiiiiiiiiis[50]",
PlayerInfo[playerid][pName],
PlayerInfo[playerid][pKey],
PlayerInfo[playerid][pEmail],
PlayerInfo[playerid][pDrug],
PlayerInfo[playerid][pSex],
PlayerInfo[playerid][pReg],
PlayerInfo[playerid][pSkin],
PlayerInfo[playerid][pLevel],
PlayerInfo[playerid][pHouse],
PlayerInfo[playerid][pCar],
PlayerInfo[playerid][pCarColor1],
PlayerInfo[playerid][pCarColor2],
PlayerInfo[playerid][pMoney],
PlayerInfo[playerid][pText],
PlayerInfo[playerid][pAdminLevel],
PlayerInfo[playerid][pExp],
PlayerInfo[playerid][pZakon],
PlayerInfo[playerid][pNumber],
PlayerInfo[playerid][pNumberMny],
PlayerInfo[playerid][pBank],
PlayerInfo[playerid][pDrugs],
PlayerInfo[playerid][pModels]);
mysql_free_result();
SetPVarInt(playerid, "Logged", 1);
SetSpawnInfo(playerid, 255, PlayerInfo[playerid][pSkin], 0, 0, 0, 1.0, -1, -1, -1, -1, -1, -1);
SpawnPlayer(playerid);
return true;
}
else
{
SetPVarInt(playerid, "WrongPass", GetPVarInt(playerid, "WrongPass") +1);
if(GetPVarInt(playerid, "WrongPass") == 4) return ShowPlayerDialog(playerid,1001,DIALOG_STYLE_MSGBOX,"{E6B122} Лимит попыток авторизации","{FFFFFF} Вы ввели неправильный пароль 3 раза подряд. Ваш IP адрес забанен на сутки","Закрыть",""), SendClientMessage(playerid, COLOR_WHITE, "{FF6347}При неправильном вводе пароля Вы будете забанены"), Kick(playerid);
new logtires = 4 - GetPVarInt(playerid, "WrongPass");
format(stringg,sizeof(stringg),"{FFFFFF}Добро пожаловать на сервер Black Face.Rp\nВаш ник зарегистрирован\n\nЛогин: {1DBF3A}%s{FFFFFF}\n{FF0000}Неверный пароль! Осталось попыток: %d", PlayerInfo[playerid][pName], logtires);
ShowPlayerDialog(playerid,2,DIALOG_STYLE_INPUT,"{3DB6F2}Авторизация",stringg, "Войти","Отмена");
return true;
}
}
//------------------------------------------------------------------------------
stock SaveAccount(playerid)
{
if(GetPVarInt(playerid, "Logged") == 0) return 1;
new src[1024], name[32];
GetPlayerName(playerid, name, 32);
format(query,sizeof(query),"UPDATE "T_ACCOUNT" SET ");
format(src,40,"AdminLevel=%d,",PlayerInfo[playerid][pAdminLevel]);
strcat(query,src,sizeof(query));
format(src,40,"Level=%d,",PlayerInfo[playerid][pLevel]);
strcat(query,src,sizeof(query));
format(src,40,"Drug=%d,",PlayerInfo[playerid][pDrug]);
strcat(query,src,sizeof(query));
format(src,40,"Sex=%d,",PlayerInfo[playerid][pSex]);
strcat(query,src,sizeof(query));
format(src,40,"House=%d,",PlayerInfo[playerid][pHouse]);
strcat(query,src,sizeof(query));
format(src,40,"Level=%d,",PlayerInfo[playerid][pLevel]);
strcat(query,src,sizeof(query));
format(src,40,"House=%d,",PlayerInfo[playerid][pHouse]);
strcat(query,src,sizeof(query));
format(src,40,"Car=%d,",PlayerInfo[playerid][pCar]);
strcat(query,src,sizeof(query));
format(src,40,"Drugs=%d,",PlayerInfo[playerid][pDrugs]);
strcat(query,src,sizeof(query));
format(src,40,"CarColor1=%d,",PlayerInfo[playerid][pCarColor1]);
strcat(query,src,sizeof(query));
format(src,40,"CarColor2=%d,",PlayerInfo[playerid][pCarColor2]);
strcat(query,src,sizeof(query));
format(src,40,"Reg=%d,",PlayerInfo[playerid][pReg]);
strcat(query,src,sizeof(query));
format(src,40,"Money=%d,",PlayerInfo[playerid][pMoney]);
strcat(query,src,sizeof(query));
format(src,40,"Text=%d,",PlayerInfo[playerid][pText]);
strcat(query,src,sizeof(query));
format(src,40,"Zakon=%d,",PlayerInfo[playerid][pZakon]);
strcat(query,src,sizeof(query));
format(src,40,"Exp=%d,",PlayerInfo[playerid][pExp]);
strcat(query,src,sizeof(query));
format(src,40,"Skin=%d,",PlayerInfo[playerid][pSkin]);
strcat(query,src,sizeof(query));
format(src,40,"pNumber=%d,",PlayerInfo[playerid][pNumber]);
strcat(query,src,sizeof(query));
format(PlayerInfo[playerid][pModels], 50, "%i, %i, %i, %i, %i", PlayerInfo[playerid][pModel][0],
PlayerInfo[playerid][pModel][1], PlayerInfo[playerid][pModel][2], PlayerInfo[playerid][pModel][3], PlayerInfo[playerid][pModel][4]);
format(src,40,"pModels='%s',",PlayerInfo[playerid][pModels]);
strcat(query,src,sizeof(query));
format(src,40,"pNumberMny=%d,",PlayerInfo[playerid][pNumberMny]);
strcat(query,src,sizeof(query));
format(src,40,"pBank=%d,",PlayerInfo[playerid][pBank]);
strcat(query,src,sizeof(query));
format(src,40," WHERE Name='%s'",name);
strcat(query,src,sizeof(query));
mysql_query(query);
format(stringg,sizeof(stringg), "accounts/%s.ini", PlayerInfo[playerid][pName]);
new iniFile = ini_openFile(stringg);
ini_setString(iniFile,"Email",PlayerInfo[playerid][pEmail]);
ini_setString(iniFile,"Drug",PlayerInfo[playerid][pDrug]);
iniSetInt(iniFile,"Sex",PlayerInfo[playerid][pSex]);
iniSetInt(iniFile,"Reg",PlayerInfo[playerid][pReg]);
iniSetInt(iniFile,"Skin",PlayerInfo[playerid][pSkin]);
iniSetInt(iniFile,"Level",PlayerInfo[playerid][pLevel]);
iniSetInt(iniFile,"House",PlayerInfo[playerid][pHouse]);
iniSetInt(iniFile,"Car",PlayerInfo[playerid][pCar]);
iniSetInt(iniFile,"CarColor1",PlayerInfo[playerid][pCarColor1]);
iniSetInt(iniFile,"CarColor2",PlayerInfo[playerid][pCarColor2]);
iniSetInt(iniFile,"Money",PlayerInfo[playerid][pMoney]);
iniSetInt(iniFile,"Text",PlayerInfo[playerid][pText]);
iniSetInt(iniFile,"AdminLevel",PlayerInfo[playerid][pAdminLevel]);
iniSetInt(iniFile,"Exp",PlayerInfo[playerid][pExp]);
iniSetInt(iniFile,"Zakon",PlayerInfo[playerid][pZakon]);
iniSetInt(iniFile,"Number",PlayerInfo[playerid][pNumber]);
iniSetInt(iniFile,"NumnerMny",PlayerInfo[playerid][pNumberMny]);
iniSetInt(iniFile,"Bank",PlayerInfo[playerid][pBank]);
return 1;
}
//------------------------------------------------------------------------------
//------------------------------------------------------------------------------
stock SaveAccounts()
{
foreach(Player, i)
{
if(!IsPlayerConnected(i)) continue;
SaveAccount(i);
}
return 1;
}
//------------------------------------------------------------------------------
stock SetMoney(playerid, amount)
{
PlayerInfo[playerid][pMoney] = amount;
ResetPlayerMoney(playerid);
GivePlayerMoney(playerid, amount);
}
//------------------------------------------------------------------------------
stock ProxDetector(Float:radi, playerid, string[],col1,col2,col3,col4,col5,col6)
{
new Float:posx, Float:posy, Float:posz;
new Float:oldposx, Float:oldposy, Float:oldposz;
new Float:tempposx, Float:tempposy, Float:tempposz;
GetPlayerPos(playerid, oldposx, oldposy, oldposz);
foreach(Player, i)
{
if(GetPlayerVirtualWorld(playerid) == GetPlayerVirtualWorld(i) && GetPlayerInterior(playerid) == GetPlayerInterior(i))
{
GetPlayerPos(i, posx, posy, posz);
tempposx = (oldposx -posx);
tempposy = (oldposy -posy);
tempposz = (oldposz -posz);
if(((tempposx < radi/32) && (tempposx > -radi/32)) && ((tempposy < radi/32) && (tempposy > -radi/32)) && ((tempposz < radi/32) && (tempposz > -radi/32))) SendClientMessage(i, col1, string);
else if(((tempposx < radi/16) && (tempposx > -radi/16)) && ((tempposy < radi/16) && (tempposy > -radi/16)) && ((tempposz < radi/16) && (tempposz > -radi/16))) SendClientMessage(i, col2, string);
else if(((tempposx < radi/8) && (tempposx > -radi/8)) && ((tempposy < radi/8) && (tempposy > -radi/8)) && ((tempposz < radi/8) && (tempposz > -radi/8))) SendClientMessage(i, col3, string);
else if(((tempposx < radi/4) && (tempposx > -radi/4)) && ((tempposy < radi/4) && (tempposy > -radi/4)) && ((tempposz < radi/4) && (tempposz > -radi/4))) SendClientMessage(i, col4, string);
else if(((tempposx < radi/2) && (tempposx > -radi/2)) && ((tempposy < radi/2) && (tempposy > -radi/2)) && ((tempposz < radi/2) && (tempposz > -radi/2))) SendClientMessage(i, col5, string);
else if(((tempposx < radi) && (tempposx > -radi)) && ((tempposy < radi) && (tempposy > -radi)) && ((tempposz < radi) && (tempposz > -radi))) SendClientMessage(i, col6, string);
}
}
return 1;
}
//------------------------------------------------------------------------------
