Доступ к архиву

Переход в группу "Пользователь"

300.00 ₽
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info

Проблема с выбором пола.

Статус
В этой теме нельзя размещать новые ответы.

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;
}
//------------------------------------------------------------------------------
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу