Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //=================================Инклуды================================//
- #include <a_samp>
- #include <streamer>
- #include <dc_cmd>
- #include <a_mysql>
- #include <sscanf2>
- #include <mxdate>
- //========================================================================//
- //=================================Дефайны================================//
- #define SERVER_NAME "Exclusive RolePlay 1 | First Server"
- //------------------------------Дефайны функций---------------------------//
- #define SCM SendClientMessage
- #define SPD ShowPlayerDialog
- #define DSL DIALOG_STYLE_LIST
- #define DSI DIALOG_STYLE_INPUT
- #define DSM DIALOG_STYLE_MSGBOX
- #define DSP DIALOG_STYLE_PASSWORD
- //------------------------------------------------------------------------//
- //-------------------------------Дефайны цвета----------------------------//
- #define COLOR_RED 0xFF0000FF
- #define COLOR_ORANGE 0xFFBB3DFF
- //------------------------------------------------------------------------//
- //--------------------------------База данных-----------------------------//
- #define MYSQL_DEBUG 1
- #define MYSQL_HOST "localhost"
- #define MYSQL_USER "root"
- #define MYSQL_DATABASE "roleplay"
- #define MYSQL_PASSWORD ""
- //------------------------------------------------------------------------//
- //========================================================================//
- //================================Переменные==============================//
- new dbHandle;
- //-------------------------Переменные Входа/Выхода------------------------//
- new vhodmeriya;
- //------------------------------------------------------------------------//
- //--------------------------Переменные текстдравов------------------------//
- new Text:logotip;
- //------------------------------------------------------------------------//
- //-----------------------------Правила сервера----------------------------//
- new pravila[] =
- "{FFDA1F}1. Основное{FFFFFF}\n"\
- "-Запрещено использовать любые читы, трейнеры, моды или CLEO скрипты\n"\
- "-Запрещен DeathMatch (DM) - убийство и нанесение вреда игрокам без причины\n"\
- "-Запрещено убивать игроков на спавне(на месте, где они появляются)\n"\
- "-Запрещены убийства путем наезда на него или стрельба из авто\n"\
- "-Запрещено уходить на паузу в целяъ спасения от нападающих\n"\
- "-Запрещено использование возможностей сервера для создания неудобств другим игрокам\n",
- pravila_1[] =
- "{FFDA1F}2. Процесс общения{FFFFFF}\n"\
- "-Запрещен мат, оскорбление других игроков\n"\
- "-Запрещены угрозы другим игрокам(не относящиеся к игровому процессу)\n"\
- "-Запрещено писать транслитом(например ""ya zawel na server"")\n"\
- "-Запрещена любая реклама сторонних ресурсов\n"\
- "-Запрещено флудить(часто повторять одинаковые фразы, или фразы без смысловой нагрузки)\n",
- pravila_2[] =
- "{FFDA1F}3. Администрация{FFFFFF}\n"\
- "-Необходимо сообщать администрации сервера о любых случаях нарушения данных правил\n"\
- "-Администрация самостоятельно выбирает штрафные санкции для каждого конкретного случая\n"\
- "-Санкции могут применяться сразу после нарушения или через время(например, впоследствии поступления жалобы)\n"\
- "-Если штрафная санкция была применена к вам ошибочно, свяжитесь с администрацией";
- //------------------------------------------------------------------------//
- //========================================================================//
- enum player
- {
- ID,
- EMAIL[32],
- SEX,
- ADMIN,
- }
- new player_info[MAX_PLAYERS][player];
- main()
- {
- }
- public OnGameModeInit()
- {
- DisableInteriorEnterExits();
- EnableStuntBonusForAll(0);
- SetGameModeText("Exclusive RP Russian");
- SendRconCommand("hostname "SERVER_NAME"");
- mysql_connects();
- pravila[sizeof(pravila)-1] = '\n';
- pravila_1[sizeof(pravila_1)-1] = '\n';
- pravila_2[sizeof(pravila_2)-1] = '\0';
- //----------------------------------Пикапы--------------------------------//
- vhodmeriya = CreatePickup(1318, 23, 1481.0325,-1772.3140,18.7958,0);
- //------------------------------------------------------------------------//
- //--------------------------------Текстдравы------------------------------//
- logotip = TextDrawCreate(546.500000, 8.166695, "exclusive role-play");
- TextDrawLetterSize(logotip, 0.449999, 1.600000);
- TextDrawAlignment(logotip, 1);
- TextDrawColor(logotip, -1728052993);
- TextDrawUseBox(logotip, true);
- TextDrawBoxColor(logotip, 0);
- TextDrawSetShadow(logotip, 1);
- TextDrawSetOutline(logotip, 0);
- TextDrawBackgroundColor(logotip, 51);
- TextDrawFont(logotip, 3);
- TextDrawSetProportional(logotip, 1);
- //------------------------------------------------------------------------//
- //----------------------------------Машины--------------------------------//
- CreateVehicle(411,1803.5603,-1903.3192,13.1278,88.9795,6,6,600,0);
- CreateVehicle(411,1803.2970,-1908.2898,13.1253,89.3806,7,7,600,0);
- //------------------------------------------------------------------------//
- return 1;
- }
- public OnGameModeExit()
- {
- return 1;
- }
- public OnPlayerRequestClass(playerid, classid)
- {
- return 1;
- }
- public OnPlayerConnect(playerid)
- {
- SCM(playerid, 0x038EFFFF, "Добро пожаловать на Exclusive RolePlay!");
- TextDrawShowForPlayer(playerid, logotip);
- SetTimerEx("player_connect", 250, false, "i", playerid);
- return 1;
- }
- public OnPlayerDisconnect(playerid, reason)
- {
- save_account(playerid);
- return 1;
- }
- public OnPlayerSpawn(playerid)
- {
- SetPlayerPos(playerid, 1760.1957,-1898.3301,13.5626);
- return 1;
- }
- public OnPlayerDeath(playerid, killerid, reason)
- {
- return 1;
- }
- public OnVehicleSpawn(vehicleid)
- {
- return 1;
- }
- public OnVehicleDeath(vehicleid, killerid)
- {
- return 1;
- }
- public OnPlayerText(playerid, text[])
- {
- return 1;
- }
- public OnPlayerCommandText(playerid, cmdtext[])
- {
- return 0;
- }
- public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
- {
- return 1;
- }
- public OnPlayerExitVehicle(playerid, vehicleid)
- {
- return 1;
- }
- public OnPlayerStateChange(playerid, newstate, oldstate)
- {
- 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 OnPlayerPickUpPickup(playerid, pickupid)
- {
- if(pickupid == vhodmeriya)
- {
- SCM(playerid, COLOR_RED, "Вы вступили в организацию [Пидоры]!");
- }
- 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 OnPlayerSelectedMenuRow(playerid, row)
- {
- return 1;
- }
- public OnPlayerExitedMenu(playerid)
- {
- return 1;
- }
- public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
- {
- return 1;
- }
- public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
- {
- 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 OnVehicleStreamIn(vehicleid, forplayerid)
- {
- return 1;
- }
- public OnVehicleStreamOut(vehicleid, forplayerid)
- {
- return 1;
- }
- public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
- {
- switch(dialogid)
- {
- case 1:
- {
- if(!strlen(inputtext) || strlen(inputtext) < 6 || strlen(inputtext) > 15)
- {
- show_register(playerid);
- }
- else
- {
- new query[128], temp[15];
- mysql_real_escape_string(inputtext, temp);
- new ip[20], data[16];
- format(data, sizeof(data), "%s", date("%dd.%mm.%yyyy", gettime()));
- GetPlayerIp(playerid, ip, sizeof(ip));
- format(query, sizeof(query), "INSERT INTO `accounts` (`login`, `password`, `regdata`, `regip`) VALUES ('%s', '%s', '%s', '%s')", sendername(playerid), temp, data, ip);
- mysql_function_query(dbHandle, query, false, "", "");
- format(query, sizeof(query), "SELECT * FROM `accounts` WHERE `login` = '%s' AND `password` = '%s' LIMIT 1", sendername(playerid), temp);
- mysql_function_query(dbHandle, query, true, "player_login", "i", playerid);
- SPD(playerid, 2, DSI, "{1472FF}Email", "{FFFFFF}Введите адрес вашей электронной почты\nИспользуя его, вы сможете восстановить доступ к аккаунту\nв случае взлома или если забудете пароль\n\nНа email мы вышлем ссылку в течение 14 дней Вы можете\nперейти по ней для подтверждения почты\nУбедитесь в правильности ввода и нажмите Далее", "Далее", "");
- }
- }
- case 2:
- {
- if(!strlen(inputtext) || strlen(inputtext) < 6 || strlen(inputtext) > 32)
- {
- SPD(playerid, 2, DSI, "{1472FF}Email", "{FFFFFF}Введите адрес вашей электронной почты\nИспользуя его, вы сможете восстановить доступ к аккаунту\nв случае взлома или если забудете пароль\n\nНа email мы вышлем ссылку в течение 14 дней Вы можете\nперейти по ней для подтверждения почты\nУбедитесь в правильности ввода и нажмите Далее", "Далее", "");
- }
- else
- {
- new temp[32];
- mysql_real_escape_string(inputtext, temp);
- player_info[playerid][EMAIL] = temp;
- SPD(playerid, 3, DSI, "{1472FF}Ник пригласившего игрока", "{FFFFFF}Если Вы узнали о нашем сервере от своего друга\nкоторый тут играет, укажите его ник в поле ниже\n\n{C3FF1F}При достижении вами 4-го уровня, он получит вознаграждение", "Далее", "Пропустить");
- }
- }
- case 3:
- {
- if(!response)//Нет реферала
- {
- SPD(playerid, 4, DSM, "{1472FF}Exclusive RolePlay", "{FFFFFF}Вы впервые играете в GTA San Andreas Multiplayer (SAMP)?\nМы покажем вам дополнительные подсказки для вас", "Новичок", "Уже играл");
- }
- else
- {
- SPD(playerid, 4, DSM, "{1472FF}Exclusive RolePlay", "{FFFFFF}Вы впервые играете в GTA San Andreas Multiplayer (SAMP)?\nМы покажем вам дополнительные подсказки для вас", "Новичок", "Уже играл");
- }
- }
- case 4:
- {
- if(!response)//Уже играл
- {
- SPD(playerid, 5, DSM, "{1472FF}Выбор пола", "{FFFFFF}Выберите пол вашего персонажа","Мужской","Женский");
- }
- else//Новичок
- {
- SPD(playerid, 5, DSM, "{1472FF}Выбор пола", "{FFFFFF}Выберите пол вашего персонажа","Мужской","Женский");
- }
- }
- case 5:
- {
- if(!response)
- {
- player_info[playerid][SEX] = 2;//Женский пол
- SPD(playerid, 6, DSM, "{1472FF}Правила сервера", pravila, "Принять", "Отмена");
- }
- else
- {
- player_info[playerid][SEX] = 1;//Мужской пол
- SPD(playerid, 6, DSM, "{1472FF}Правила сервера", pravila, "Принять", "Отмена");
- }
- }
- case 6:
- {
- if(!response)
- {
- SpawnPlayer(playerid);
- }
- else
- {
- SpawnPlayer(playerid);
- }
- }
- }
- return 1;
- }
- public OnPlayerClickPlayer(playerid, clickedplayerid, source)
- {
- return 1;
- }
- //================================Форварды================================//
- forward player_connect(playerid);
- public player_connect(playerid)
- {
- new query[48+24];
- format(query, sizeof(query), "SELECT `id` FROM `accounts` WHERE `login` = '%s'", sendername(playerid));
- mysql_function_query(dbHandle, query, true, "player_check", "ii", playerid, 0);
- return 1;
- }
- forward player_check(playerid);
- public player_check(playerid)
- {
- new rows[2];
- cache_get_data(rows[0], rows[1]);
- if(rows[0]) show_login(playerid);
- else show_register(playerid);
- return 1;
- }
- forward player_login(playerid);
- public player_login(playerid)
- {
- new rows[2], temp[128];
- cache_get_data(rows[0], rows[1]);
- if(rows[0])
- {
- cache_get_field_content(0, "id", temp), player_info[playerid][ID] = strval(temp);
- cache_get_field_content(0, "email", temp), strmid(player_info[playerid][EMAIL], temp, 0, strlen(temp), 32);
- cache_get_field_content(0, "sex", temp), player_info[playerid][SEX] = strval(temp);
- cache_get_field_content(0, "admin", temp), player_info[playerid][ADMIN] = strval(temp);
- }
- }
- //========================================================================//
- //==================================Стоки=================================//
- stock sendername(playerid)
- {
- new novoeimya[MAX_PLAYER_NAME];
- GetPlayerName(playerid, novoeimya, sizeof(novoeimya));
- return novoeimya;
- }
- stock mysql_connects()
- {
- dbHandle = mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_DATABASE, MYSQL_PASSWORD);
- switch(mysql_errno())
- {
- case 0: print("Подключение к базе данных MYSQL успешно");
- default: print("Подключение к базе данных MYSQL НЕ успешно");
- }
- mysql_log(LOG_ERROR | LOG_WARNING);
- mysql_set_charset("cp1251");
- }
- stock show_login(playerid)
- {
- return 1;
- /*SPD(playerid, 2, DSI, "Авторизация", "", "".)*/
- }
- stock show_register(playerid)
- {
- SPD(playerid, 1, DSI, "{1472FF}Регистрация", "{FFFFFF}Добро пожаловать на сервер Exclusive RolePlay\nЧтобы начать игру, вам необходимо пройти регистрацию\n\nВведите пароль для вашего аккаунта\nОн будет запрашиваться каждый раз когда вы заходите на сервер\n\n\t{33E82D}Примечания:\n\t- Пароль может состоять из русских и латинских символов\n\t- Пароль чувствителен к регистру\n\t- Длина пароля от 6-ти до 15-ти символов", "Далее", "");
- }
- stock save_account(playerid)
- {
- new query[128];
- format(query, sizeof(query), "UPDATE `accounts` SET \
- `email` = '%s', `sex` = '%d', `admin` = '%d' WHERE `id` = '%d' LIMIT 1",
- player_info[playerid][EMAIL],
- player_info[playerid][SEX],
- player_info[playerid][ADMIN],
- player_info[playerid][ID]);
- mysql_function_query(dbHandle, query, false, "", "");
- }
- //========================================================================//
- //=============================Команды сервера============================//
- ALTX:mn("/menu");
- CMD:mn(playerid)
- {
- SPD(playerid, 4444, DSL, "{1472FF}Меню игрока", "{FFFFFF}1. Статистика\n2. Список команд\n3. Личные настройки\n4. Настройки безопасности\n5. Связь с администрацией\n6. Улучшения\n7. Правила сервера\n8. Изменить имя\n9. Дополнительно", "Выбрать", "Закрыть");
- }
- CMD:setpi(playerid, params[])
- {
- if(sscanf(params, "ud", params[0], params[1])) return SCM(playerid, COLOR_RED, "{FFFFFF}Введите /setpi [id] [id интерьера]");
- new string[128];
- format(string, sizeof(string), "{FFFFFF}Вы телепортировали игрока %s[ %d ] в интерьер с ID %d", sendername(params[0]), params[0], params[1]);
- SCM(playerid, COLOR_ORANGE, string);
- SetPlayerInterior(playerid, params[1]);
- return 1;
- }
- CMD:setvw(playerid, params[])
- {
- if(sscanf(params, "ud", params[0], params[1])) return SCM(playerid, COLOR_RED, "{FFFFFF}Введите /setvw [id] [id виртуального мира]");
- new string[128];
- format(string, sizeof(string), "{FFFFFF}Вы телепортировали игрока %s[ %d ] в виртуальный мир с ID %d", sendername(params[0]), params[0], params[1]);
- SCM(playerid, COLOR_ORANGE, string);
- SetPlayerVirtualWorld(playerid, params[1]);
- return 1;
- }
- //========================================================================//
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement