Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- main() { } // Glad Role Play by Vano_Glad
- // Версия 0.4
- // vk.com/alex.drin - Я
- // vk.com/vanoglad - Моя группа ВК
- // Отдельная благодарность в помощи: DeimoS, James Black, SooBad, Sonic X, iWors, Twixxx
- @___If_u_can_read_this_u_r_nerd(); // 10 different ways to crash DeAMX
- @___If_u_can_read_this_u_r_nerd() // and also a nice tag for exported functions table in the AMX file
- { // by Daniel_Cortez \\ pro-pawn.ru
- #emit stack 0x7FFFFFFF // wtf (1) (stack over... overf*ck!?)
- #emit inc.s cellmax // wtf (2) (this one should probably make DeAMX allocate all available memory and lag forever)
- static const ___[][] = {"pro-pawn", ".ru"}; // pretty old anti-deamx trick
- #emit retn
- #emit load.s.pri ___ // wtf (3) (opcode outside of function?)
- #emit proc // wtf (4) (if DeAMX hasn't crashed already, it would think it is a new function)
- #emit proc // wtf (5) (a function inside of another function!?)
- #emit fill cellmax // wtf (6) (fill random memory block with 0xFFFFFFFF)
- #emit proc
- #emit stack 1 // wtf (7) (compiler usually allocates 4 bytes or 4*N for arrays of N elements)
- #emit stor.alt ___ // wtf (8) (...)
- #emit strb.i 2 // wtf (9)
- #emit switch 4
- #emit retn // wtf (10) (no "casetbl" opcodes before retn - invalid switch statement?)
- L1:
- #emit jump L1 // avoid compiler crash from "#emit switch"
- #emit zero cellmin // wtf (11) (nonexistent address)
- }
- // ~~~~~~~~~~~~~~~~~~~~ [ Инклуды ] ~~~~~~~~~~~~~~~~~~~~
- #include <a_samp>
- #include <a_engine>
- #include <a_mysql>
- #include <sscanf2>
- #include <foreach>
- #include <mxdate>
- #include <streamer>
- #include <Pawn.CMD>
- // ~~~~~~~~~~~~~~~~~~~~ [ MySQL ] ~~~~~~~~~~~~~~~~~~~~
- // Хост
- /*#define MySQL_HOST ""
- #define MySQL_USER ""
- #define MySQL_DB ""
- #define MySQL_PASS ""*/
- // Локалка
- #define MySQL_HOST "localhost"
- #define MySQL_USER "root"
- #define MySQL_DB "gladrp"
- #define MySQL_PASS ""
- // ~~~~~~~~~~~~~~~~~~~~ [ Цвета ] ~~~~~~~~~~~~~~~~~~~~
- #define COLOR_YELLOW 0xFFFF00FF
- #define COLOR_RED 0xFF0000FF
- #define COLOR_WHITE 0xFFFFFFFF
- #define COLOR_GREY 0xB4B4B4FF
- #define COLOR_LIGHTRED 0xFF6347AA
- #define COLOR_GREY2 0xC8C8C8C8
- #define COLOR_GREY3 0xAAAAAAAA
- #define COLOR_GREY4 0x8C8C8C8C
- #define COLOR_GREY5 0x6E6E6E6E
- #define COLOR_GREEN 0x1AA41EAA
- #define COLOR_ORANGE 0xEBA21BAA
- #define COLOR_BLUE 0x0D80FFAA
- #define COLOR_PURPLE 0xC2A2DAAA
- #define COLOR_YELLOW2 0xF5DEB3AA
- // ~~~~~~~~~~~~~~~~~~~~ [ Дефайны ] ~~~~~~~~~~~~~~~~~~~~
- #define GN(%1) player[%1][pname]
- #define SPD ShowPlayerDialog
- #define DSI DIALOG_STYLE_INPUT
- #define SCM SendClientMessage
- #define Tkick(%1) SetTimerEx("@_TimeKick", 100, false, "i", %1)
- #define DSM DIALOG_STYLE_MSGBOX
- #define DSP DIALOG_STYLE_PASSWORD
- #define DSL DIALOG_STYLE_LIST
- #define DST DIALOG_STYLE_TABLIST
- #define DSTH DIALOG_STYLE_TABLIST_HEADERS
- #define Freeze(%0,%1) TogglePlayerControllable(%0, %1)
- #define SCMTA SendClientMessageToAll
- #define PRESSED(%0) (((newkeys & (%0)) == (%0)) && ((oldkeys & (%0)) != (%0)))
- #define MAX_GANG_ZONE 130
- // ~~~~~~~~~~~~~~~~~~~~ [ Переменные ] ~~~~~~~~~~~~~~~~~~~~
- new
- // Итераторы
- Iterator:connect_admins<MAX_PLAYERS>,
- Iterator:connect_cop<MAX_PLAYERS>,
- Iterator:connect_gos<MAX_PLAYERS>,
- // Массивы
- select_skin[MAX_PLAYERS char],
- attemps_pass[MAX_PLAYERS char],
- anti_flood_time_check[MAX_PLAYERS char],
- update_timer[MAX_PLAYERS],
- authorization_timer[MAX_PLAYERS],
- taser_timer[MAX_PLAYERS],
- search_timer[MAX_PLAYERS],
- Menu: bomj_menu[2],
- Text: logo_td[3],
- Float: PosPic[3][MAX_PLAYERS],
- lspd_pick[7],
- sfpd_pick[7],
- lvpd_pick[7],
- lspd_car[27],
- sfpd_car[29],
- lvpd_car[17],
- mayor_pick[2],
- army_gz[2],
- // Переменные
- connect_mysql,
- hour_server,
- minute_server,
- second_server,
- year_server,
- month_server,
- day_server,
- unlock_date,
- noooc_time_check = 0,
- noooc_time = -1,
- // Массивы BOOL типа
- bool: access_check[MAX_PLAYERS char],
- bool: login_check[MAX_PLAYERS char],
- bool: settings_nick[MAX_PLAYERS char],
- bool: anti_flood_pick[MAX_PLAYERS char],
- bool: handcuffs_check[MAX_PLAYERS char],
- bool: taser_check[MAX_PLAYERS char],
- bool: freeze_player_check[MAX_PLAYERS char],
- bool: checkpoint_accept[MAX_PLAYERS char],
- bool: engine_state_check[MAX_VEHICLES],
- bool: noooc_check = false,
- // Двумерные массивы
- fraction_name[4][5] = {
- {"-"}, {"LSPD"}, {"SFPD"}, {"LVPD"}
- },
- fraction_ranks_pd[11][13] = {
- {"-"}, {"Кадет"}, {"Офицер"}, {"Сержант"}, {"Прапорщик"}, {"Лейтенант"}, {"Капитан"}, {"Майор"}, {"Подполковник"}, {"Полковник"}, {"Шериф"}
- };
- // Enum'ы
- enum pInfo {
- pname[MAX_PLAYER_NAME+1], plevel, ppass[32+1], psex, pskin, pmoney, pmail[80+1], pid, padmin, pakey[20+1], pakeys, pexp, pmodel, pmember, prank, pleader,
- pip[16+1], pdata_reg[18+1], pip_last[16+1], pdata_last[18+1], pwanted, pwanted_time, pmute
- }
- enum gzInfo {
- gid, Float: gcoords[4], gmember
- }
- new
- player[MAX_PLAYERS][pInfo],
- gangzone[MAX_GANG_ZONE][gzInfo];
- // ~~~~~~~~~~~~~~~~~~~~ [ Паблики ] ~~~~~~~~~~~~~~~~~~~~
- public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
- {
- new
- carid = GetPlayerVehicleID(playerid);
- switch(dialogid)
- {
- case 1:
- {
- if(response)
- {
- if(!strlen(inputtext))
- {
- static const
- fmt_str[] =
- "\
- {FFFFFF}Добро пожаловать на Glad Role Play!\
- \nВаш Логин: {FFFF00}%s{FFFFFF}\n\
- \nПридумайте пароль от Вашего аккаунт:\
- \n{FFFF00}-{FFFFFF} Пароль должен быть чувствителен к регистру\
- \n{FFFF00}-{FFFFFF} Длина пароля состоять от 6-ти до 32-ух символов\
- ";
- new
- string[sizeof(fmt_str)+MAX_PLAYER_NAME-1];
- format(string, sizeof(string), fmt_str, GN(playerid));
- SPD(playerid, 1, DSI, "Регистрация", string, "Далее", "Выход");
- SCM(playerid, COLOR_GREY, !"Вы ничего не ввели!");
- return true;
- }
- if(strlen(inputtext) < 6 || strlen(inputtext) > 32)
- {
- static const
- fmt_str[] =
- "\
- {FFFFFF}Добро пожаловать на Glad Role Play!\
- \nВаш Логин: {FFFF00}%s{FFFFFF}\n\
- \nПридумайте пароль от Вашего аккаунт:\
- \n{FFFF00}-{FFFFFF} Пароль должен быть чувствителен к регистру\
- \n{FFFF00}-{FFFFFF} Длина пароля состоять от 6-ти до 32-ух символов\
- ";
- new
- string[sizeof(fmt_str)+MAX_PLAYER_NAME-1];
- format(string, sizeof(string), fmt_str, GN(playerid));
- SPD(playerid, 1, DSI, "Регистрация", string, "Далее", "Выход");
- SCM(playerid, COLOR_GREY, !"Неверная длина пароля!");
- return true;
- }
- for(new i = strlen(inputtext); i != 0; --i)
- switch(inputtext[i])
- {
- case 'А'..'Я', 'а'..'я', ' ':
- {
- static const
- fmt_str[] =
- "\
- {FFFFFF}Добро пожаловать на Glad Role Play!\
- \nВаш Логин: {FFFF00}%s{FFFFFF}\n\
- \nПридумайте пароль от Вашего аккаунт:\
- \n{FFFF00}-{FFFFFF} Пароль должен быть чувствителен к регистру\
- \n{FFFF00}-{FFFFFF} Длина пароля состоять от 6-ти до 32-ух символов\
- ";
- new
- string[sizeof(fmt_str)+MAX_PLAYER_NAME-1];
- format(string, sizeof(string), fmt_str, GN(playerid));
- SPD(playerid, 1, DSI, "Регистрация", string, "Далее", "Выход");
- SCM(playerid, COLOR_GREY, !"Смените раскладку клавиатуры!");
- return true;
- }
- }
- strmid(player[playerid][ppass], inputtext, 0, strlen(inputtext), 32+1);
- SPD(playerid, 2, DSI, "Почта", "{FFFFFF}Введите свой действующий E-Mail:", "Далее", "Назад");
- }
- else
- {
- SCM(playerid, COLOR_LIGHTRED, !"Введите команду (/q)uit, чтобы выйди с сервера");
- Tkick(playerid);
- }
- }
- case 2:
- {
- if(response)
- {
- if(!strlen(inputtext))
- {
- SPD(playerid, 2, DSI, "Почта", "{FFFFFF}Введите свой действующий E-Mail:", "Далее", "Назад");
- SCM(playerid, COLOR_GREY, !"Вы ничего не ввели!");
- return true;
- }
- if(strlen(inputtext) > 80)
- {
- SPD(playerid, 2, DSI, "Почта", "{FFFFFF}Введите свой действующий E-Mail:", "Далее", "Назад");
- SCM(playerid, COLOR_GREY, !"Неверная длина почты!");
- return true;
- }
- for(new i = strlen(inputtext); i != 0; --i)
- switch(inputtext[i])
- {
- case 'А'..'Я', 'а'..'я', ' ':
- {
- SPD(playerid, 2, DSI, "Почта", "{FFFFFF}Введите свой действующий E-Mail:", "Далее", "Назад");
- SCM(playerid, COLOR_GREY, !"Смените раскладку клавиатуры!");
- return true;
- }
- }
- if(strfind(inputtext, "@", true) == -1 || strfind(inputtext, ".", true) == -1)
- {
- SPD(playerid, 2, DSI, "Почта", "{FFFFFF}Введите свой действующий E-Mail:", "Далее", "Назад");
- SCM(playerid, COLOR_GREY, !"Неверный формат почты!");
- return true;
- }
- strmid(player[playerid][pmail], inputtext, 0, strlen(inputtext), 80+1);
- SPD(playerid, 14, DSM, "Правила сервера",
- "\
- 1. Игровой процесс.\
- \nЗапрещено:\
- \n- Использование любых программ скриптов читов и.т.п. дающие нечестное преймущество в игре.\
- \n- Использование багов (Ошибок, Неисправностей мода).\
- \n- Использовать ESC в целях ухода от погони/смерти.\
- \n- Убивать игроков на спавне (Место возрождений, базы организаций).\
- \n- Убивать игроков при помощи транспорта (Давить, Стрелять с водительского места).\
- \n- Убийство/нанесение физического вреда игрокам без причины (ДМ - Death Match).\
- \n- Вооброжения из себя супер героя (Powergaming).\
- \n- Развод игроков на деньги.\
- \n- Просьбы, вымагательство паролей от аккаунта.\
- \n- Выдача себя за членов администрации.\
- \n- Злоупотребление игровыми возможностями для создания неудбств игрокам.\n\
- \n2. Ник в игре.\
- \n(сменить ник можно через /mm >> Сменить ник)\
- \n- Ник должен состоять из Имени_Фамилии с заглавных букв.\
- \nЗапрещено:\
- \n- Использовать чужие (Уже кем-то занятые) ники.\
- \n- Использовать ники, содержащие Нецензурные или оскорбительные слова.\
- \n- Отправлять более одной заявки в час (Исключение: Просьба администрации).\
- \n- Если вам отказали в смене ник, Значит нельзя.", "Согласен", "Назад\
- ");
- }
- else
- {
- static const
- fmt_str[] =
- "\
- {FFFFFF}Добро пожаловать на Glad Role Play!\
- \nВаш Логин: {FFFF00}%s{FFFFFF}\n\
- \nПридумайте пароль от Вашего аккаунт:\
- \n{FFFF00}-{FFFFFF} Пароль должен быть чувствителен к регистру\
- \n{FFFF00}-{FFFFFF} Длина пароля состоять от 6-ти до 32-ух символов\
- ";
- new
- string[sizeof(fmt_str)+MAX_PLAYER_NAME-1];
- format(string, sizeof(string), fmt_str, GN(playerid));
- SPD(playerid, 1, DSI, "Регистрация", string, "Далее", "Выход");
- }
- }
- case 3:
- {
- if(response)
- {
- player[playerid][psex] = 1;
- player[playerid][pskin] = 78;
- ShowMenuForPlayer(bomj_menu[0], playerid);
- select_skin{playerid} = 1;
- }
- else
- {
- player[playerid][psex] = 2;
- player[playerid][pskin] = 10;
- ShowMenuForPlayer(bomj_menu[1], playerid);
- select_skin{playerid} = 9;
- }
- SpawnPlayer(playerid);
- Freeze(playerid, 0);
- SetPlayerPos(playerid, 225.8433,-8.1080,1002.2109);
- SetPlayerFacingAngle(playerid, 86.6024);
- SetPlayerCameraPos(playerid, 220.5063,-8.1659,1002.5109);
- SetPlayerCameraLookAt(playerid, 225.8433,-8.1080,1002.2109);
- SetPlayerSkin(playerid, player[playerid][pskin]);
- SetPlayerInterior(playerid, 5);
- SetPlayerVirtualWorld(playerid, playerid);
- }
- case 4:
- {
- if(response)
- {
- if(!strlen(inputtext))
- {
- SCM(playerid, COLOR_GREY, !"Вы ничего не ввели!");
- static const
- fmt_str[] =
- "\
- {FFFFFF}Добро пожаловать на Glad Role Play!\
- \nВаш Логин: {FFFF00}%s{FFFFFF}\n\
- \nВведите пароль от Вашего аккаунт:\
- ";
- new
- string[sizeof(fmt_str)+MAX_PLAYER_NAME-1];
- format(string, sizeof(string), fmt_str, GN(playerid));
- SPD(playerid, 4, DSP, "Авторизация", string, "Далее", "Выход");
- return true;
- }
- static
- fmt_str[] = "SELECT * FROM `accounts` WHERE `Name` = '%e' AND `Pass` = '%e'";
- new
- string[sizeof(fmt_str)+MAX_PLAYER_NAME+30];
- mysql_format(connect_mysql, string, sizeof(string), fmt_str, GN(playerid), inputtext);
- mysql_function_query(connect_mysql, string, true, "@_OnLogin", "i", playerid);
- }
- else
- {
- SCM(playerid, COLOR_LIGHTRED, !"Введите команду (/q)uit, чтобы выйди с сервера");
- Tkick(playerid);
- }
- }
- case 5:
- {
- if(response)
- {
- switch(listitem)
- {
- case 0: ShowStats(playerid, playerid);
- case 1: Commands(playerid);
- case 2: SPD(playerid, 7, DSI, "Репорт", "{FFFFFF}Напишите свою жалобу администраторам:", "Далее", "Назад");
- case 3:
- {
- if(settings_nick{playerid} == false)
- {
- SPD(playerid, 8, DSL, "Настройки",
- "\
- - Сменить пароль\
- \n- Очистить чат\
- \n- Выключить никнеймы", "Выбрать", "Назад\
- ");
- }
- else
- {
- SPD(playerid, 8, DSL, "Настройки",
- "\
- - Сменить пароль\
- \n- Очистить чат\
- \n- Включить никнеймы", "Выбрать", "Назад\
- ");
- }
- }
- case 4:
- {
- SPD(playerid, 16, DSM, "Правила сервера",
- "\
- 1. Игровой процесс.\
- \nЗапрещено:\
- \n- Использование любых программ скриптов читов и.т.п. дающие нечестное преймущество в игре.\
- \n- Использование багов (Ошибок, Неисправностей мода).\
- \n- Использовать ESC в целях ухода от погони/смерти.\
- \n- Убивать игроков на спавне (Место возрождений, базы организаций).\
- \n- Убивать игроков при помощи транспорта (Давить, Стрелять с водительского места).\
- \n- Убийство/нанесение физического вреда игрокам без причины (ДМ - Death Match).\
- \n- Вооброжения из себя супер героя (Powergaming).\
- \n- Развод игроков на деньги.\
- \n- Просьбы, вымагательство паролей от аккаунта.\
- \n- Выдача себя за членов администрации.\
- \n- Злоупотребление игровыми возможностями для создания неудбств игрокам.\n\
- \n2. Ник в игре.\
- \n(сменить ник можно через /mm >> Сменить ник)\
- \n- Ник должен состоять из Имени_Фамилии с заглавных букв.\
- \nЗапрещено:\
- \n- Использовать чужие (Уже кем-то занятые) ники.\
- \n- Использовать ники, содержащие Нецензурные или оскорбительные слова.\
- \n- Отправлять более одной заявки в час (Исключение: Просьба администрации).\
- \n- Если вам отказали в смене ник, Значит нельзя.", "Далее", "Назад\
- ");
- }
- }
- }
- }
- case 6:
- {
- if(response)
- return true;
- else
- callcmd::menu(playerid);
- }
- case 7:
- {
- if(response)
- {
- if(!strlen(inputtext))
- {
- SPD(playerid, 7, DSI, "Репорт", "{FFFFFF}Напишите свою жалобу администраторам:", "Далее", "Назад");
- SCM(playerid, COLOR_GREY, !"Вы ничего не ввели!");
- return true;
- }
- static const
- fmt_str[] = "Ваша жалоба: %s",
- fmt_str_2[] = "Жалоба от игрока %s[%d]: {FFFFFF}%s";
- new
- string[sizeof(fmt_str)+128],
- string_2[sizeof(fmt_str_2)+128];
- format(string, sizeof(string), fmt_str, (inputtext));
- format(string_2, sizeof(string_2), fmt_str_2, GN(playerid), playerid, (inputtext));
- SCM(playerid, COLOR_YELLOW, string);
- AdmChat(COLOR_GREEN, string_2);
- }
- else
- callcmd::menu(playerid);
- }
- case 8:
- {
- if(response)
- {
- switch(listitem)
- {
- case 0: SPD(playerid, 9, DSI, "Смена пароля", "{FFFFFF}Введите свой старый пароль:", "Далее", "Назад");
- case 1:
- {
- new
- a;
- while(a++ < 100)
- SCM(playerid, COLOR_WHITE, "");
- callcmd::menu(playerid);
- SCM(playerid, COLOR_WHITE, !"Чат очищен!");
- }
- case 2:
- {
- if(settings_nick{playerid} == false)
- {
- settings_nick{playerid} = true;
- foreach(new i: Player) ShowPlayerNameTagForPlayer(playerid, i, false);
- return true;
- }
- settings_nick{playerid} = false;
- foreach(new i: Player) ShowPlayerNameTagForPlayer(playerid, i, true);
- }
- }
- }
- else
- callcmd::menu(playerid);
- }
- case 9:
- {
- if(response)
- {
- if(!strlen(inputtext))
- {
- SPD(playerid, 9, DSI, "Смена пароля", "{FFFFFF}Введите свой старый пароль:", "Далее", "Назад");
- SCM(playerid, COLOR_GREY, !"Вы ничего не ввели!");
- return true;
- }
- if(strlen(inputtext) > 32)
- {
- SPD(playerid, 9, DSI, "Смена пароля", "{FFFFFF}Введите свой старый пароль:", "Далее", "Назад");
- SCM(playerid, COLOR_GREY, !"Вы ввели слишком длиный пароль!");
- return true;
- }
- if(strfind(player[playerid][ppass], inputtext, true) != -1)
- {
- SCM(playerid, COLOR_GREEN, !"Пароль принят");
- SPD(playerid, 10, DSI, "Смена пароля", "{FFFFFF}Введите свой новый пароль:", "Далее", "Назад");
- }
- else
- {
- SCM(playerid, COLOR_RED, !"Неверный пароль");
- SPD(playerid, 9, DSI, "Смена пароля", "{FFFFFF}Введите свой старый пароль:", "Далее", "Назад");
- }
- }
- else
- SPD(playerid, 8, DSL, "Настройки", "- Сменить пароль", "Выбрать", "Назад");
- }
- case 10:
- {
- if(response)
- {
- if(!strlen(inputtext))
- {
- SPD(playerid, 10, DSI, "Смена пароля", "{FFFFFF}Введите свой новый пароль:", "Далее", "Назад");
- SCM(playerid, COLOR_GREY, !"Вы ничего не ввели!");
- return true;
- }
- if(strlen(inputtext) > 32)
- {
- SPD(playerid, 10, DSI, "Смена пароля", "{FFFFFF}Введите свой новый пароль:", "Далее", "Назад");
- SCM(playerid, COLOR_GREY, !"Вы ввели слишком длиный пароль!");
- return true;
- }
- strmid(player[playerid][ppass], inputtext, 0, strlen(inputtext), 32+1);
- static
- fmt_str[] = "UPDATE `accounts` SET `Pass` = '%s' WHERE `Name` = '%s'",
- fmt_str_2[] = "Пароль успешно изменён на %s";
- new
- string[sizeof(fmt_str)+MAX_PLAYER_NAME+29],
- string_2[sizeof(fmt_str_2)+15];
- mysql_format(connect_mysql, string, sizeof(string), fmt_str, inputtext, GN(playerid));
- format(string_2, sizeof(string_2), fmt_str_2, inputtext);
- mysql_function_query(1, string, false, "","");
- SCM(playerid, COLOR_GREEN, string_2);
- SCM(playerid, COLOR_GREEN, "Рекомендуем сделать скриншот своего нового пароля (клавиша F8)");
- }
- }
- case 11:
- {
- if(response)
- {
- if(player[playerid][pakeys] == 0)
- {
- if(!strlen(inputtext))
- {
- SCM(playerid, COLOR_GREY, !"Вы ничего не ввели!");
- callcmd::alogin(playerid);
- return true;
- }
- for(new i = strlen(inputtext); i != 0; --i)
- switch(inputtext[i])
- {
- case 'А'..'Я', 'а'..'я':
- {
- SCM(playerid, COLOR_GREY, !"Смените раскладку клавиатуры!");
- callcmd::alogin(playerid);
- return true;
- }
- }
- if(strlen(inputtext) < 6 || strlen(inputtext) > 20)
- {
- SCM(playerid, COLOR_GREY, !"Неверная длина пароля!");
- callcmd::alogin(playerid);
- return true;
- }
- static const
- fmt_str[] = "Ваш админ пароль: %s";
- new
- string[sizeof(fmt_str)+19];
- format(string, sizeof(string), fmt_str, inputtext);
- SCM(playerid, COLOR_YELLOW, string);
- SCM(playerid, COLOR_GREEN, !"Рекомендуем сделать скриншот своего админ пароля (клавиша F8)");
- strmid(player[playerid][pakey], inputtext, 0, strlen(inputtext), 20+1);
- player[playerid][pakeys] = 1;
- SavePlayer(playerid, "Admin Pass", inputtext, "s");
- SavePlayer(playerid, "Admin Check", player[playerid][pakeys], "d");
- }
- else
- {
- if(!strlen(inputtext))
- {
- SCM(playerid, COLOR_GREY, !"Вы ничего не ввели!");
- callcmd::alogin(playerid);
- return true;
- }
- if(strcmp(player[playerid][pakey], inputtext, false) != 0 || strlen(inputtext) <= 0)
- {
- SCM(playerid, COLOR_RED, !"Неверный пароль!");
- callcmd::alogin(playerid);
- return true;
- }
- static const
- fmt_str[] = "%s успешно авторизовался, как администратор сервера!";
- new
- string[sizeof(fmt_str)+MAX_PLAYER_NAME-1];
- format(string, sizeof(string), fmt_str, GN(playerid));
- AdmChat(COLOR_ORANGE, string);
- SCM(playerid, COLOR_GREEN, !"Вы успешно авторизовались!");
- access_check{playerid} = true;
- }
- }
- }
- case 12:
- {
- if(response)
- {
- switch(listitem)
- {
- case 0:
- {
- SPD(playerid, 13, DSM, "1 уровень",
- "\
- {FFFF00}/a {FFFFFF}- Админ чат\
- \n{FFFF00}/kick {FFFFFF}- Кикнуть игрока\
- \n{FFFF00}/freeze {FFFFFF}- Заморозить/разморозить игрока\
- \n{FFFF00}/tp {FFFFFF}- Меню телепортов\
- \n{FFFF00}/noooc {FFFFFF}- Включить/Выключить общий чат\
- \n{FFFF00}/aad {FFFFFF}- Админ объявления\
- \n{FFFF00}/getstats {FFFFFF}- Статистика игрока\
- \n{FFFF00}/spawn {FFFFFF}- Заспавнить себя\
- \n{FFFF00}/akey {FFFFFF}- Админ пароль\
- \n{FFFF00}(/g)oto {FFFFFF}- Телепортироваться к игроку\
- \n{FFFF00}/admins {FFFFFF}- Администрация онлайн\
- \n{FFFF00}/fall {FFFFFF}- Заморозить рядомстоящих игроков", "Принять", "Назад\
- ");
- }
- case 1:
- {
- if(player[playerid][padmin] < 2)
- {
- callcmd::ahelp(playerid);
- SCM(playerid, COLOR_GREY, !"Доступ закрыт!");
- return true;
- }
- SPD(playerid, 13, DSM, "2 уровень",
- "\
- {FFFF00}/ban {FFFFFF}- Забанить игрока\
- \n{FFFF00}/gethere {FFFFFF}- Телепортировать игрока к себе\
- \n{FFFF00}/mute {FFFFFF}- Выдать/убрать бан чата игроку", "Принять", "Назад\
- ");
- }
- case 2:
- {
- if(player[playerid][padmin] < 3)
- {
- callcmd::ahelp(playerid);
- SCM(playerid, COLOR_GREY, !"Доступ закрыт!");
- return true;
- }
- SPD(playerid, 13, DSM, "3 уровень",
- "\
- {FFFF00}/veh {FFFFFF}- Создать транспорт\
- \n{FFFF00}/delcar {FFFFFF}- Удалить транспорт\
- \n{FFFF00}/setspawn {FFFFFF}- Заспавнить игрока", "Принять", "Назад\
- ");
- }
- case 3:
- {
- if(player[playerid][padmin] < 4)
- {
- callcmd::ahelp(playerid);
- SCM(playerid, COLOR_GREY, !"Доступ закрыт!");
- return true;
- }
- SPD(playerid, 13, DSM, "3 уровень",
- "\
- {FFFF00}/setarmour {FFFFFF}- Выдать/Забрать броню у игрока\
- \n{FFFF00}/sethp {FFFFFF}- Выдать/Забрать здоровье у игрока", "Принять", "Назад\
- ");
- }
- case 4:
- {
- if(player[playerid][padmin] < 5)
- {
- callcmd::ahelp(playerid);
- SCM(playerid, COLOR_GREY, !"Доступ закрыт!");
- return true;
- }
- SPD(playerid, 13, DSM, "5 уровень",
- "\
- {FFFF00}/sban {FFFFFF}- Забанить игрока (тихо)\
- \n{FFFF00}/reg {FFFFFF}- Посмотреть регистрационные данные\
- \n{FFFF00}/givegun {FFFFFF}- Создать оружие игроку", "Принять", "Назад\
- ");
- }
- case 5:
- {
- if(player[playerid][padmin] < 6)
- {
- callcmd::ahelp(playerid);
- SCM(playerid, COLOR_GREY, !"Доступ закрыт!");
- return true;
- }
- SPD(playerid, 13, DSM, "6 уровень",
- "\
- {FFFF00}/makeleader {FFFFFF}- Назначит игрока лидером", "Принять", "Назад\
- ");
- }
- case 6:
- {
- if(player[playerid][padmin] < 7)
- {
- callcmd::ahelp(playerid);
- SCM(playerid, COLOR_GREY, !"Доступ закрыт!");
- return true;
- }
- SPD(playerid, 13, DSM, "7 уровень",
- "\
- {FFFF00}/makeadmin {FFFFFF}- Сменить лвл админки игроку", "Принять", "Назад\
- ");
- }
- }
- }
- }
- case 13:
- {
- if(response)
- return true;
- else
- callcmd::ahelp(playerid);
- }
- case 14:
- {
- if(response)
- {
- SPD(playerid, 15, DSM, "Правила сервера",
- "\
- 3. Чат сервера.\
- \nOOC (Out Of Character) - Это все, что касается реального мира.\
- \nIC (In Character) - Это все, что касается виртуального мира, то есть игры.\
- \nЗапрещено:\
- \n- Ругательство, оскорбления или нецензурная речь.\
- \n- Угрозы игрокам (Не относящиеся к игровому процессу).\
- \n- Писать сообщения в верхнем регистре (Caps Lock).\
- \n- Писать в чат объявлений сообщения не относящиеся к Role Play.\
- \n- Использование OOC информации в IC (Metagaming).\
- \n- Писать одно и тоже сообщение слишком часто.\
- \n- Обсуждать, критиковать действия администрации.\
- \n- Рекламма сторонних ресурсов.\n\
- \n4. Администрация.\
- \n- Сообщать администрации о каких либо нарушениях из данных правил (/mm >> Репорт).\
- \n- Администрация самостоятельно выбирает штрафные санкции для каждого из случаев.\
- \n- Запрещено препятствовать администрации в работе.\
- \n- Решение администрации является окончательным и не подлежит обсуждению.\n\
- \n5. Торговля.\
- \n- Запрещены любые денежные махинации.\
- \n- Запрещена продажа / покупка чего либо, за реальные деньги.\
- \n- Запрещен обмен внеигровых предметов в любой форме, на игровые.\
- \n- Запрещен обмен чего либо между игровыми серверами.\
- \n- Запрещена продажа / передача аккаунтов.", "Согласен", "Назад\
- ");
- }
- else
- SPD(playerid, 2, DSI, "Почта", "{FFFFFF}Введите свой действующий E-Mail:", "Далее", "Назад");
- }
- case 15:
- {
- if(response)
- SPD(playerid, 3, DSM, "Пол", "{FFFFFF}Выберите пол:", "Мужской", "Женский");
- else
- {
- SPD(playerid, 14, DSM, "Правила сервера",
- "\
- 1. Игровой процесс.\
- \nЗапрещено:\
- \n- Использование любых программ скриптов читов и.т.п. дающие нечестное преймущество в игре.\
- \n- Использование багов (Ошибок, Неисправностей мода).\
- \n- Использовать ESC в целях ухода от погони/смерти.\
- \n- Убивать игроков на спавне (Место возрождений, базы организаций).\
- \n- Убивать игроков при помощи транспорта (Давить, Стрелять с водительского места).\
- \n- Убийство/нанесение физического вреда игрокам без причины (ДМ - Death Match).\
- \n- Вооброжения из себя супер героя (Powergaming).\
- \n- Развод игроков на деньги.\
- \n- Просьбы, вымагательство паролей от аккаунта.\
- \n- Выдача себя за членов администрации.\
- \n- Злоупотребление игровыми возможностями для создания неудбств игрокам.\n\
- \n2. Ник в игре.\
- \n(сменить ник можно через /mm >> Сменить ник)\
- \n- Ник должен состоять из Имени_Фамилии с заглавных букв.\
- \nЗапрещено:\
- \n- Использовать чужие (Уже кем-то занятые) ники.\
- \n- Использовать ники, содержащие Нецензурные или оскорбительные слова.\
- \n- Отправлять более одной заявки в час (Исключение: Просьба администрации).\
- \n- Если вам отказали в смене ник, Значит нельзя.", "Согласен", "Назад\
- ");
- }
- }
- case 16:
- {
- if(response)
- {
- SPD(playerid, 17, DSM, "Правила сервера",
- "\
- 3. Чат сервера.\
- \nOOC (Out Of Character) - Это все, что касается реального мира.\
- \nIC (In Character) - Это все, что касается виртуального мира, то есть игры.\
- \nЗапрещено:\
- \n- Ругательство, оскорбления или нецензурная речь.\
- \n- Угрозы игрокам (Не относящиеся к игровому процессу).\
- \n- Писать сообщения в верхнем регистре (Caps Lock).\
- \n- Писать в чат объявлений сообщения не относящиеся к Role Play.\
- \n- Использование OOC информации в IC (Metagaming).\
- \n- Писать одно и тоже сообщение слишком часто.\
- \n- Обсуждать, критиковать действия администрации.\
- \n- Рекламма сторонних ресурсов.\n\
- \n4. Администрация.\
- \n- Сообщать администрации о каких либо нарушениях из данных правил (/mm >> Репорт).\
- \n- Администрация самостоятельно выбирает штрафные санкции для каждого из случаев.\
- \n- Запрещено препятствовать администрации в работе.\
- \n- Решение администрации является окончательным и не подлежит обсуждению.\n\
- \n5. Торговля.\
- \n- Запрещены любые денежные махинации.\
- \n- Запрещена продажа / покупка чего либо, за реальные деньги.\
- \n- Запрещен обмен внеигровых предметов в любой форме, на игровые.\
- \n- Запрещен обмен чего либо между игровыми серверами.\
- \n- Запрещена продажа / передача аккаунтов.", "Принять", "Назад\
- ");
- }
- else
- callcmd::menu(playerid);
- }
- case 17:
- {
- if(response)
- callcmd::menu(playerid);
- else
- {
- SPD(playerid, 16, DSM, "Правила сервера",
- "\
- 1. Игровой процесс.\
- \nЗапрещено:\
- \n- Использование любых программ скриптов читов и.т.п. дающие нечестное преймущество в игре.\
- \n- Использование багов (Ошибок, Неисправностей мода).\
- \n- Использовать ESC в целях ухода от погони/смерти.\
- \n- Убивать игроков на спавне (Место возрождений, базы организаций).\
- \n- Убивать игроков при помощи транспорта (Давить, Стрелять с водительского места).\
- \n- Убийство/нанесение физического вреда игрокам без причины (ДМ - Death Match).\
- \n- Вооброжения из себя супер героя (Powergaming).\
- \n- Развод игроков на деньги.\
- \n- Просьбы, вымагательство паролей от аккаунта.\
- \n- Выдача себя за членов администрации.\
- \n- Злоупотребление игровыми возможностями для создания неудбств игрокам.\n\
- \n2. Ник в игре.\
- \n(сменить ник можно через /mm >> Сменить ник)\
- \n- Ник должен состоять из Имени_Фамилии с заглавных букв.\
- \nЗапрещено:\
- \n- Использовать чужие (Уже кем-то занятые) ники.\
- \n- Использовать ники, содержащие Нецензурные или оскорбительные слова.\
- \n- Отправлять более одной заявки в час (Исключение: Просьба администрации).\
- \n- Если вам отказали в смене ник, Значит нельзя.", "Далее", "Назад\
- ");
- }
- }
- case 18:
- {
- if(response)
- {
- switch(listitem)
- {
- case 0:
- {
- SPD(playerid, 19, DSM, "Обычные",
- "\
- {FFFF00}/gps {FFFFFF}- GPS навигатор", "Принять", "Назад\
- ");
- }
- case 1:
- {
- SPD(playerid, 19, DSM, "Чат",
- "\
- {FFFF00}/b {FFFFFF}- НонРП чат\
- \n{FFFF00}(/s)hout {FFFFFF}- Крикнуть\
- \n{FFFF00}/w {FFFFFF}- Шепнуть\
- \n{FFFF00}/me {FFFFFF}- Действие\
- \n{FFFF00}/sms {FFFFFF}- Отправить игроку личное сообщение\
- \n{FFFF00}(/r)adio {FFFFFF}- Чат гос. фракций\
- \n{FFFF00}(/o)oc {FFFFFF}- Общий чат", "Принять", "Назад\
- ");
- }
- case 2:
- {
- SPD(playerid, 19, DSM, "Транспорт",
- "\
- {FFFF00}/en {FFFFFF}- Завести транспортное средство", "Принять", "Назад\
- ");
- }
- case 3:
- {
- switch(player[playerid][pmember])
- {
- case 1..3:
- {
- SPD(playerid, 19, DSM, "Транспорт",
- "\
- {FFFF00}/cuff {FFFFFF}- Надеть/снять наручники\
- \n{FFFF00}/tazer {FFFFFF}- Ударить игрока шокером\
- \n{FFFF00}/su {FFFFFF}- Выдать игроку розыск", "Принять", "Назад\
- ");
- }
- default:
- {
- SCM(playerid, COLOR_GREY, !"Доступ закрыт!");
- Commands(playerid);
- }
- }
- }
- }
- }
- else
- callcmd::menu(playerid);
- }
- case 19:
- {
- if(response)
- callcmd::menu(playerid);
- else
- Commands(playerid);
- }
- case 20:
- {
- if(response)
- {
- switch(listitem)
- {
- case 0:
- {
- SPD(playerid, 21, DSL, "Важные",
- "\
- - Мэрия\
- \n- Автовокзал LS", "Выбрать", "Назад\
- ");
- }
- case 1:
- {
- SPD(playerid, 22, DSL, "Организации",
- "\
- - LSPD\
- \n- SFPD\
- \n- LVPD", "Выбрать", "Назад\
- ");
- }
- }
- }
- }
- case 21:
- {
- if(response)
- {
- switch(listitem)
- {
- case 0: SetPlayerRaceCheckpoint(playerid, 1, 1479.2026,-1740.2540,13.5469, 0.0, 0.0, 0.0, 3);
- case 1: SetPlayerRaceCheckpoint(playerid, 1, 1157.3179,-1748.4629,13.5703, 0.0, 0.0, 0.0, 3);
- }
- checkpoint_accept{playerid} = true;
- GameTextForPlayer(playerid, "~g~GPS ON", 5000, 1);
- SCM(playerid, COLOR_WHITE, "Метка установлена. Для дизактивации метки введите /gps");
- }
- else
- callcmd::gps(playerid);
- }
- case 22:
- {
- if(response)
- {
- switch(listitem)
- {
- case 0: SetPlayerRaceCheckpoint(playerid, 1, 1536.3562,-1674.4814,13.3828, 0.0, 0.0, 0.0, 3);
- case 1: SetPlayerRaceCheckpoint(playerid, 1, -1604.9774,722.7117,11.8734, 0.0, 0.0, 0.0, 3);
- case 2: SetPlayerRaceCheckpoint(playerid, 1, 2235.1411,2453.3938,10.7635, 0.0, 0.0, 0.0, 3);
- }
- checkpoint_accept{playerid} = true;
- GameTextForPlayer(playerid, "~g~GPS ON", 5000, 1);
- SCM(playerid, COLOR_WHITE, "Метка установлена. Для дизактивации метки введите /gps");
- }
- else
- callcmd::gps(playerid);
- }
- case 23:
- {
- if(response)
- {
- switch(listitem)
- {
- case 0:
- {
- SPD(playerid, 24, DSL, "Фракции",
- "\
- - LSPD\
- \n- SFPD\
- \n- LVPD", "Выбрать", "Назад\
- ");
- }
- case 1:
- {
- SPD(playerid, 25, DSL, "Остальное",
- "\
- - Мэрия\
- \n- Автовокзал LS", "Выбрать", "Назад\
- ");
- }
- }
- }
- }
- case 24:
- {
- if(response)
- {
- switch(listitem)
- {
- case 0:
- {
- if(GetPlayerState(playerid) == 2)
- SetVehiclePos(carid, 1536.3562,-1674.4814,13.3828);
- else
- SetPlayerPos(playerid, 1536.3562,-1674.4814,13.3828);
- }
- case 1:
- {
- if(GetPlayerState(playerid) == 2)
- SetVehiclePos(carid, -1604.9774,722.7117,11.8734);
- else
- SetPlayerPos(playerid, -1604.9774,722.7117,11.8734);
- }
- case 2:
- {
- if(GetPlayerState(playerid) == 2)
- SetVehiclePos(carid, 2235.1411,2453.3938,10.7635);
- else
- SetPlayerPos(playerid, 2235.1411,2453.3938,10.7635);
- }
- }
- SetCameraBehindPlayer(playerid);
- SetPlayerInterior(playerid, 0);
- SetPlayerVirtualWorld(playerid, 0);
- }
- else
- callcmd::tp(playerid);
- }
- case 25:
- {
- if(response)
- {
- switch(listitem)
- {
- case 0:
- {
- if(GetPlayerState(playerid) == 2)
- SetVehiclePos(carid, 1479.2026,-1740.2540,13.5469);
- else
- SetPlayerPos(playerid, 1479.2026,-1740.2540,13.5469);
- }
- case 1:
- {
- if(GetPlayerState(playerid) == 2)
- SetVehiclePos(carid, 1157.3179,-1748.4629,13.5703);
- else
- SetPlayerPos(playerid, 1157.3179,-1748.4629,13.5703);
- }
- }
- SetCameraBehindPlayer(playerid);
- SetPlayerInterior(playerid, 0);
- SetPlayerVirtualWorld(playerid, 0);
- }
- else
- callcmd::tp(playerid);
- }
- }
- return true;
- }
- public OnGameModeInit()
- {
- AddPlayerClass(0, 1958.33, 1343.12, 15.36, 269.15, 0, 0, 0, 0, 0, 0);
- SetGameModeText("Glad-Rp");
- ShowPlayerMarkers(PLAYER_MARKERS_MODE_STREAMED);
- ShowNameTags(true);
- SetNameTagDrawDistance(20.0);
- DisableInteriorEnterExits();
- EnableStuntBonusForAll(0);
- ManualVehicleEngineAndLights();
- connect_mysql = mysql_connect(MySQL_HOST, MySQL_USER, MySQL_DB, MySQL_PASS);
- mysql_function_query(connect_mysql, "SET NAMES utf8", false, "", "");
- mysql_function_query(connect_mysql, "SET CHARACTER SET 'cp1251'", false, "", "");
- SetTimer("@_UpdateServer", 1_000, true);
- Menu();
- TextDraws();
- Pickups();
- Cars();
- LoadGangZones();
- return true;
- }
- public OnGameModeExit()
- {
- return true;
- }
- public OnPlayerRequestClass(playerid, classid)
- {
- return true;
- }
- public OnPlayerConnect(playerid)
- {
- GetPlayerName(playerid, player[playerid][pname], MAX_PLAYER_NAME);
- static
- fmt_str[] = "SELECT `Level` FROM `accounts` WHERE `Name` = '%s'",
- fmt_str_2[] = "SELECT * FROM `bans` WHERE `Name` = '%s'";
- new
- string[sizeof(fmt_str)+MAX_PLAYER_NAME-1],
- string_2[sizeof(fmt_str_2)+MAX_PLAYER_NAME-1];
- mysql_format(connect_mysql, string, sizeof(string), fmt_str, GN(playerid));
- mysql_format(connect_mysql, string_2, sizeof(string_2), fmt_str_2, GN(playerid));
- mysql_function_query(connect_mysql, string, true, "@_PlayerCheck", "d", playerid);
- mysql_function_query(1, string_2, true, "@_CheckBan", "d", playerid);
- Clear(playerid);
- GangZoneShowForPlayer(playerid, army_gz[0], COLOR_YELLOW2);
- GangZoneShowForPlayer(playerid, army_gz[1], COLOR_YELLOW2);
- for(new gz = 0; gz < sizeof(gangzone); gz++) GangZoneShowForPlayer(playerid, gangzone[gz][gid], GetGangZoneColor(gz));
- for(new i; i != 3; i++) TextDrawShowForPlayer(playerid, logo_td[i]);
- return true;
- }
- public OnPlayerDisconnect(playerid, reason)
- {
- if(login_check{playerid} == true)
- SavePlayerAll(playerid);
- if(player[playerid][padmin] > 0)
- Iter_Remove(connect_admins, playerid);
- KillTimers(playerid);
- switch(player[playerid][pmember])
- {
- case 1..3:
- {
- Iter_Remove(connect_cop, playerid);
- Iter_Remove(connect_gos, playerid);
- }
- }
- return true;
- }
- public OnPlayerSpawn(playerid)
- {
- if(login_check{playerid} == true)
- SetPlayerSpawn(playerid);
- return true;
- }
- public OnPlayerDeath(playerid, killerid, reason)
- {
- return true;
- }
- public OnVehicleSpawn(vehicleid)
- {
- engine_state_check[vehicleid] = false;
- return true;
- }
- public OnVehicleDeath(vehicleid, killerid)
- {
- return true;
- }
- public OnPlayerText(playerid, text[])
- {
- if(login_check{playerid} == false)
- return false;
- if(anti_flood_time_check{playerid} > gettime())
- {
- SCM(playerid, COLOR_RED, "Не флуди!");
- return false;
- }
- anti_flood_time_check{playerid} = gettime()+1;
- if(player[playerid][pmute] > 0)
- {
- SCM(playerid, COLOR_RED, !"У Вас бан чата!");
- return false;
- }
- if(strcmp(text, "чВ", true) == 0 || strcmp(text, "хДД", true) == 0 || strcmp(text, "xDD", true) == 0)
- {
- static const
- fmt_str[] = "%s валяется от смеха";
- new
- string[sizeof(fmt_str)+MAX_PLAYER_NAME-1];
- format(string, sizeof(string), fmt_str, GN(playerid));
- ProxDetector(playerid, 20.0, COLOR_PURPLE, string);
- SetPlayerChatBubble(playerid, !"валяется от смеха", COLOR_PURPLE, 20.0, 10_000);
- return false;
- }
- if(strcmp(text, "xD", true) == 0 || strcmp(text, "хД", true) == 0)
- {
- static const
- fmt_str[] = "%s смеется";
- new
- string[sizeof(fmt_str)+MAX_PLAYER_NAME-1];
- format(string, sizeof(string), fmt_str, GN(playerid));
- ProxDetector(playerid, 20.0, COLOR_PURPLE, string);
- SetPlayerChatBubble(playerid, !"смеется", COLOR_PURPLE, 20.0, 10_000);
- return false;
- }
- if(strcmp(text, ")", true) == 0 || strcmp(text, "))", true) == 0)
- {
- static const
- fmt_str[] = "%s улыбается";
- new
- string[sizeof(fmt_str)+MAX_PLAYER_NAME-1];
- format(string, sizeof(string), fmt_str, GN(playerid));
- ProxDetector(playerid, 20.0, COLOR_PURPLE, string);
- SetPlayerChatBubble(playerid, !"улыбается", COLOR_PURPLE, 20.0, 10_000);
- return false;
- }
- if(strcmp(text, "(", true) == 0 || strcmp(text, "((", true) == 0)
- {
- static const
- fmt_str[] = "%s грустит";
- new
- string[sizeof(fmt_str)+MAX_PLAYER_NAME-1];
- format(string, sizeof(string), fmt_str, GN(playerid));
- ProxDetector(playerid, 20.0, COLOR_PURPLE, string);
- SetPlayerChatBubble(playerid, !"грустит", COLOR_PURPLE, 20.0, 10_000);
- return false;
- }
- if(strcmp(text, ":D", true) == 0)
- {
- static const
- fmt_str[] = "%s хохочет во весь голос";
- new
- string[sizeof(fmt_str)+MAX_PLAYER_NAME-1];
- format(string, sizeof(string), fmt_str, GN(playerid));
- ProxDetector(playerid, 20.0, COLOR_PURPLE, string);
- SetPlayerChatBubble(playerid, !"хохочет во весь голос", COLOR_PURPLE, 20.0, 10_000);
- return false;
- }
- static const
- fmt_str[] = "%s[%d]: %s";
- new
- string[sizeof(fmt_str)+128];
- format(string, sizeof(string), fmt_str, GN(playerid), playerid, text);
- SetPlayerChatBubble(playerid, text, COLOR_WHITE, 15.0, 10_000);
- ProxDetector(playerid, 20.0, COLOR_WHITE, string);
- if(GetPlayerState(playerid) == PLAYER_STATE_ONFOOT)
- {
- ApplyAnimation(playerid, "PED", "IDLE_chat", 4.1, 0, 1, 1, 1, 1);
- SetTimerEx("@_ClearAnim", 3_000, false, "i", playerid);
- }
- return false;
- }
- public OnPlayerCommandText(playerid, cmdtext[])
- {
- return false;
- }
- public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
- {
- return true;
- }
- public OnPlayerExitVehicle(playerid, vehicleid)
- {
- return true;
- }
- public OnPlayerStateChange(playerid, newstate, oldstate)
- {
- new
- carid = GetPlayerVehicleID(playerid);
- if(newstate == PLAYER_STATE_DRIVER)
- {
- if(carid >= lspd_car[0] && carid <= lspd_car[26])
- {
- if(player[playerid][pmember] == 1)
- { }
- else
- {
- SCM(playerid, COLOR_GREY, !"Вы не можете управлять этим транспортным средством!");
- RemovePlayerFromVehicle(playerid);
- return true;
- }
- }
- if(carid >= sfpd_car[0] && carid <= sfpd_car[28])
- {
- if(player[playerid][pmember] == 2)
- { }
- else
- {
- SCM(playerid, COLOR_GREY, !"Вы не можете управлять этим транспортным средством!");
- RemovePlayerFromVehicle(playerid);
- return true;
- }
- }
- if(carid >= lvpd_car[0] && carid <= lvpd_car[16])
- {
- if(player[playerid][pmember] == 3)
- { }
- else
- {
- SCM(playerid, COLOR_GREY, !"Вы не можете управлять этим транспортным средством!");
- RemovePlayerFromVehicle(playerid);
- return true;
- }
- }
- if(engine_state_check[carid] == false)
- {
- if(Velosipedi(carid))
- {
- GetVehicleParamsEx(carid, engine, lights, alarm, doors, bonnet, boot, objective);
- SetVehicleParamsEx(carid, true, lights, alarm, doors, bonnet, boot, objective);
- }
- else
- SCM(playerid, COLOR_GREEN, "Завести транспорт \"Ctrl\" или введите /en");
- }
- }
- return true;
- }
- public OnPlayerEnterCheckpoint(playerid)
- {
- if(checkpoint_accept{playerid} == true)
- {
- DisablePlayerCheckpoint(playerid);
- checkpoint_accept{playerid} = false;
- }
- return true;
- }
- public OnPlayerLeaveCheckpoint(playerid)
- {
- return true;
- }
- public OnPlayerEnterRaceCheckpoint(playerid)
- {
- if(checkpoint_accept{playerid} == true)
- {
- DisablePlayerRaceCheckpoint(playerid);
- checkpoint_accept{playerid} = false;
- }
- return true;
- }
- public OnPlayerLeaveRaceCheckpoint(playerid)
- {
- return true;
- }
- public OnRconCommand(cmd[])
- {
- return true;
- }
- public OnPlayerRequestSpawn(playerid)
- {
- return false;
- }
- public OnObjectMoved(objectid)
- {
- return true;
- }
- public OnPlayerObjectMoved(playerid, objectid)
- {
- return true;
- }
- public OnPlayerPickUpDynamicPickup(playerid, pickupid)
- {
- if(anti_flood_pick{playerid} == true)
- return true;
- else
- {
- anti_flood_pick{playerid} = true;
- GetPlayerPos(playerid, PosPic[0][playerid], PosPic[1][playerid], PosPic[2][playerid]);
- }
- if(pickupid == lspd_pick[0])
- {
- SetPlayerPos(playerid, 1553.4041,-1675.7526,16.1950);
- SetPlayerFacingAngle(playerid, 96.3000);
- SetPlayerInterior(playerid, 0);
- SetPlayerVirtualWorld(playerid, 0);
- SetCameraBehindPlayer(playerid);
- }
- if(pickupid == lspd_pick[1])
- {
- SetPlayerPos(playerid, 1568.9121,-1692.8832,5.8906);
- SetPlayerFacingAngle(playerid, 175.5273);
- SetPlayerInterior(playerid, 0);
- SetPlayerVirtualWorld(playerid, 0);
- SetCameraBehindPlayer(playerid);
- }
- if(pickupid == lspd_pick[2])
- {
- SetPlayerPos(playerid, 246.3673,65.1669,1003.6406);
- SetPlayerFacingAngle(playerid, 1.5043);
- SetPlayerInterior(playerid, 6);
- SetPlayerVirtualWorld(playerid, 1);
- SetCameraBehindPlayer(playerid);
- }
- if(pickupid == lspd_pick[3])
- {
- switch(player[playerid][pmember])
- {
- case 1..3:
- {
- SetPlayerPos(playerid, 246.2644,85.3509,1003.6406);
- SetPlayerFacingAngle(playerid, 181.0460);
- SetPlayerInterior(playerid, 6);
- SetPlayerVirtualWorld(playerid, 1);
- SetCameraBehindPlayer(playerid);
- }
- default: SCM(playerid, COLOR_GREY, !"Вам сюда нельзя!");
- }
- }
- if(pickupid == lspd_pick[4])
- {
- switch(player[playerid][pmember])
- {
- case 1..3:
- {
- SetPlayerPos(playerid, 316.5210,-167.6392,999.5938);
- SetPlayerFacingAngle(playerid, 1.6488);
- SetPlayerInterior(playerid, 6);
- SetPlayerVirtualWorld(playerid, 1);
- SetCameraBehindPlayer(playerid);
- }
- default: SCM(playerid, COLOR_GREY, !"Вам сюда нельзя!");
- }
- }
- if(pickupid == lspd_pick[5])
- {
- SetPlayerPos(playerid, 1527.5182,-1677.4285,5.8906);
- SetPlayerFacingAngle(playerid, 268.2752);
- SetPlayerInterior(playerid, 0);
- SetPlayerVirtualWorld(playerid, 0);
- SetCameraBehindPlayer(playerid);
- }
- if(pickupid == lspd_pick[6])
- {
- if(player[playerid][pmember] == 1)
- {
- GivePlayerWeapon(playerid, 24, 35);
- GivePlayerWeapon(playerid, 25, 20);
- GivePlayerWeapon(playerid, 29, 60);
- SCM(playerid, COLOR_GREEN, "Вы взяли Deagle, Shotgun, MP5");
- }
- else
- SCM(playerid, COLOR_GREY, !"Вы не можете взять оружие!");
- }
- if(pickupid == sfpd_pick[0])
- {
- SetPlayerPos(playerid, -1606.1028,712.3408,13.8672);
- SetPlayerFacingAngle(playerid, 2.7169);
- SetPlayerInterior(playerid, 0);
- SetPlayerVirtualWorld(playerid, 0);
- SetCameraBehindPlayer(playerid);
- }
- if(pickupid == sfpd_pick[1])
- {
- SetPlayerPos(playerid, -1591.7604,716.0225,-5.2422);
- SetPlayerFacingAngle(playerid, 269.6326);
- SetPlayerInterior(playerid, 0);
- SetPlayerVirtualWorld(playerid, 0);
- SetCameraBehindPlayer(playerid);
- }
- if(pickupid == sfpd_pick[2])
- {
- SetPlayerPos(playerid, 246.1616,109.4713,1003.2188);
- SetPlayerFacingAngle(playerid, 358.3006);
- SetPlayerInterior(playerid, 10);
- SetPlayerVirtualWorld(playerid, 2);
- SetCameraBehindPlayer(playerid);
- }
- if(pickupid == sfpd_pick[3])
- {
- switch(player[playerid][pmember])
- {
- case 1..3:
- {
- SetPlayerPos(playerid, 216.5968,120.9596,999.0156);
- SetPlayerFacingAngle(playerid, 269.3131);
- SetPlayerInterior(playerid, 10);
- SetPlayerVirtualWorld(playerid, 2);
- SetCameraBehindPlayer(playerid);
- }
- default: SCM(playerid, COLOR_GREY, !"Вам сюда нельзя!");
- }
- }
- if(pickupid == sfpd_pick[4])
- {
- switch(player[playerid][pmember])
- {
- case 1..3:
- {
- SetPlayerPos(playerid, 316.5210,-167.6392,999.5938);
- SetPlayerFacingAngle(playerid, 1.6488);
- SetPlayerInterior(playerid, 6);
- SetPlayerVirtualWorld(playerid, 2);
- SetCameraBehindPlayer(playerid);
- }
- default: SCM(playerid, COLOR_GREY, !"Вам сюда нельзя!");
- }
- }
- if(pickupid == sfpd_pick[5])
- {
- SetPlayerPos(playerid, -1606.5457,674.9291,-5.2422);
- SetPlayerFacingAngle(playerid, 357.8888);
- SetPlayerInterior(playerid, 0);
- SetPlayerVirtualWorld(playerid, 0);
- SetCameraBehindPlayer(playerid);
- }
- if(pickupid == sfpd_pick[6])
- {
- if(player[playerid][pmember] == 2)
- {
- GivePlayerWeapon(playerid, 24, 35);
- GivePlayerWeapon(playerid, 25, 20);
- GivePlayerWeapon(playerid, 29, 60);
- SCM(playerid, COLOR_GREEN, "Вы взяли Deagle, Shotgun, MP5");
- }
- else
- SCM(playerid, COLOR_GREY, !"Вы не можете взять оружие!");
- }
- if(pickupid == lvpd_pick[0])
- {
- SetPlayerPos(playerid, 2294.4536,2451.9175,10.8203);
- SetPlayerFacingAngle(playerid, 88.2980);
- SetPlayerInterior(playerid, 0);
- SetPlayerVirtualWorld(playerid, 0);
- SetCameraBehindPlayer(playerid);
- }
- if(pickupid == lvpd_pick[1])
- {
- switch(player[playerid][pmember])
- {
- case 1..3:
- {
- SetPlayerPos(playerid, 238.5559,140.7177,1003.0234);
- SetPlayerFacingAngle(playerid, 358.9971);
- SetPlayerInterior(playerid, 3);
- SetPlayerVirtualWorld(playerid, 3);
- SetCameraBehindPlayer(playerid);
- }
- default: SCM(playerid, COLOR_GREY, !"Вам сюда нельзя!");
- }
- }
- if(pickupid == lvpd_pick[2])
- {
- switch(player[playerid][pmember])
- {
- case 1..3:
- {
- SetPlayerPos(playerid, 2278.0354,2461.6772,38.6837);
- SetPlayerFacingAngle(playerid, 1.4161);
- SetCameraBehindPlayer(playerid);
- }
- default: SCM(playerid, COLOR_GREY, !"Вам сюда нельзя!");
- }
- }
- if(pickupid == lvpd_pick[3])
- {
- switch(player[playerid][pmember])
- {
- case 1..3:
- {
- SetPlayerPos(playerid, 2294.5315,2468.3311,10.8203);
- SetPlayerFacingAngle(playerid, 90.0905);
- SetCameraBehindPlayer(playerid);
- }
- default: SCM(playerid, COLOR_GREY, !"Вам сюда нельзя!");
- }
- }
- if(pickupid == lvpd_pick[4])
- {
- SetPlayerPos(playerid, 2287.3958,2429.3655,10.8203);
- SetPlayerFacingAngle(playerid, 179.1890);
- SetPlayerInterior(playerid, 0);
- SetPlayerVirtualWorld(playerid, 0);
- SetCameraBehindPlayer(playerid);
- }
- if(pickupid == lvpd_pick[5])
- {
- SetPlayerPos(playerid, 288.5378,169.6181,1007.1719);
- SetPlayerFacingAngle(playerid, 0.8772);
- SetPlayerInterior(playerid, 3);
- SetPlayerVirtualWorld(playerid, 3);
- SetCameraBehindPlayer(playerid);
- }
- if(pickupid == lvpd_pick[6])
- {
- if(player[playerid][pmember] == 3)
- {
- GivePlayerWeapon(playerid, 24, 35);
- GivePlayerWeapon(playerid, 25, 20);
- GivePlayerWeapon(playerid, 29, 60);
- SCM(playerid, COLOR_GREEN, "Вы взяли Deagle, Shotgun, MP5");
- }
- else
- SCM(playerid, COLOR_GREY, !"Вы не можете взять оружие!");
- }
- if(pickupid == mayor_pick[0])
- {
- SetPlayerPos(playerid, 386.4587,173.9182,1008.3828);
- SetPlayerFacingAngle(playerid, 91.4937);
- SetPlayerInterior(playerid, 3);
- SetCameraBehindPlayer(playerid);
- }
- if(pickupid == mayor_pick[1])
- {
- SetPlayerPos(playerid, 1481.4323,-1769.1099,18.7958);
- SetPlayerFacingAngle(playerid, 1.1173);
- SetPlayerInterior(playerid, 0);
- SetCameraBehindPlayer(playerid);
- }
- return true;
- }
- public OnVehicleMod(playerid, vehicleid, componentid)
- {
- return true;
- }
- public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
- {
- return true;
- }
- public OnVehicleRespray(playerid, vehicleid, color1, color2)
- {
- return true;
- }
- public OnPlayerSelectedMenuRow(playerid, row)
- {
- if(GetPlayerMenu(playerid) == bomj_menu[0])
- {
- switch(row)
- {
- case 0:
- {
- switch(select_skin{playerid})
- {
- case 1: player[playerid][pskin] = 79;
- case 2: player[playerid][pskin] = 134;
- case 3: player[playerid][pskin] = 135;
- case 4: player[playerid][pskin] = 136;
- case 5: player[playerid][pskin] = 137;
- case 6: player[playerid][pskin] = 230;
- case 7: player[playerid][pskin] = 212;
- case 8: player[playerid][pskin] = 78;
- }
- select_skin{playerid} ++;
- if(select_skin{playerid} == 9)
- select_skin{playerid} = 1;
- ShowMenuForPlayer(bomj_menu[0], playerid);
- SetPlayerSkin(playerid, player[playerid][pskin]);
- }
- case 1:
- {
- switch(select_skin{playerid})
- {
- case 3: player[playerid][pskin] = 79;
- case 4: player[playerid][pskin] = 134;
- case 5: player[playerid][pskin] = 135;
- case 6: player[playerid][pskin] = 136;
- case 7: player[playerid][pskin] = 137;
- case 8: player[playerid][pskin] = 230;
- case 1: player[playerid][pskin] = 212;
- case 2: player[playerid][pskin] = 78;
- }
- select_skin{playerid} --;
- if(select_skin{playerid} == 0)
- select_skin{playerid} = 8;
- ShowMenuForPlayer(bomj_menu[0], playerid);
- SetPlayerSkin(playerid, player[playerid][pskin]);
- }
- case 2: CreateAccount(playerid);
- }
- }
- else if(GetPlayerMenu(playerid) == bomj_menu[1])
- {
- switch(row)
- {
- case 0:
- {
- switch(select_skin{playerid})
- {
- case 9: player[playerid][pskin] = 77;
- case 10: player[playerid][pskin] = 196;
- case 11: player[playerid][pskin] = 197;
- case 12: player[playerid][pskin] = 10;
- }
- select_skin{playerid} ++;
- if(select_skin{playerid} == 13)
- select_skin{playerid} = 9;
- ShowMenuForPlayer(bomj_menu[1], playerid);
- SetPlayerSkin(playerid, player[playerid][pskin]);
- }
- case 1:
- {
- switch(select_skin{playerid})
- {
- case 11: player[playerid][pskin] = 77;
- case 12: player[playerid][pskin] = 196;
- case 9: player[playerid][pskin] = 197;
- case 10: player[playerid][pskin] = 10;
- }
- select_skin{playerid} --;
- if(select_skin{playerid} == 8)
- select_skin{playerid} = 12;
- ShowMenuForPlayer(bomj_menu[1], playerid);
- SetPlayerSkin(playerid, player[playerid][pskin]);
- }
- case 2: CreateAccount(playerid);
- }
- }
- return true;
- }
- public OnPlayerExitedMenu(playerid)
- {
- return true;
- }
- public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
- {
- return true;
- }
- public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
- {
- if(newkeys == KEY_SECONDARY_ATTACK)
- {
- if(select_skin{playerid} > 0)
- {
- if(player[playerid][psex] == 1)
- ShowMenuForPlayer(bomj_menu[0], playerid);
- else
- ShowMenuForPlayer(bomj_menu[1], playerid);
- }
- }
- if(PRESSED(KEY_ACTION))
- callcmd::en(playerid);
- return true;
- }
- public OnRconLoginAttempt(ip[], password[], success)
- {
- return true;
- }
- public OnPlayerUpdate(playerid)
- {
- return true;
- }
- public OnPlayerStreamIn(playerid, forplayerid)
- {
- return true;
- }
- public OnPlayerStreamOut(playerid, forplayerid)
- {
- return true;
- }
- public OnVehicleStreamIn(vehicleid, forplayerid)
- {
- return true;
- }
- public OnVehicleStreamOut(vehicleid, forplayerid)
- {
- return true;
- }
- public OnPlayerClickPlayer(playerid, clickedplayerid, source)
- {
- return true;
- }
- public OnPlayerClickMap(playerid, Float:fX, Float:fY, Float:fZ)
- {
- if(player[playerid][padmin] > 0)
- {
- new
- carid = GetPlayerVehicleID(playerid);
- if(carid > 0 && GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
- SetVehiclePos(carid, fX, fY, fZ);
- else
- SetPlayerPos(playerid, fX, fY, fZ);
- }
- return true;
- }
- public OnPlayerCommandReceived(playerid, cmd[], params[], flags)
- {
- if(login_check{playerid} == false)
- {
- SCM(playerid, COLOR_WHITE, "Необходимо авторизоваться!");
- return false;
- }
- if(anti_flood_time_check{playerid} > gettime())
- {
- SCM(playerid, COLOR_RED, "Не флуди!");
- return false;
- }
- anti_flood_time_check{playerid} = gettime()+1;
- return true;
- }
- @_TimeKick(playerid);
- @_TimeKick(playerid)
- {
- Kick(playerid);
- return true;
- }
- @_PlayerCheck(playerid);
- @_PlayerCheck(playerid)
- {
- new
- rows,
- fields;
- cache_get_data(rows, fields);
- if(rows)
- {
- authorization_timer[playerid] = SetTimerEx("@_TimeAuto", 60_000, false, "i", playerid);
- static const
- fmt_str[] =
- "\
- {FFFFFF}Добро пожаловать на Glad Role Play!\
- \nВаш Логин: {FFFF00}%s{FFFFFF}\n\
- \nВведите пароль от Вашего аккаунт:\
- ";
- new
- string[sizeof(fmt_str)+MAX_PLAYER_NAME-1];
- format(string, sizeof(string), fmt_str, GN(playerid));
- SPD(playerid, 4, DSP, "Авторизация", string, "Далее", "Выход");
- }
- else
- {
- static const
- fmt_str[] =
- "\
- {FFFFFF}Добро пожаловать на Glad Role Play!\
- \nВаш Логин: {FFFF00}%s{FFFFFF}\n\
- \nПридумайте пароль от Вашего аккаунт:\
- \n{FFFF00}-{FFFFFF} Пароль должен быть чувствителен к регистру\
- \n{FFFF00}-{FFFFFF} Длина пароля состоять от 6-ти до 32-ух символов\
- ";
- new
- string[sizeof(fmt_str)+MAX_PLAYER_NAME-1];
- format(string, sizeof(string), fmt_str, GN(playerid));
- SPD(playerid, 1, DSI, "Регистрация", string, "Далее", "Выход");
- }
- return true;
- }
- @_OnLogin(playerid);
- @_OnLogin(playerid)
- {
- new
- rows,
- rows2;
- cache_get_data(rows, rows2);
- if(rows)
- {
- cache_get_field_content(0, "Pass", player[playerid][ppass], connect_mysql, 32);
- cache_get_field_content(0, "Admin Pass", player[playerid][pakey], connect_mysql, 20);
- cache_get_field_content(0, "IP", player[playerid][pip], connect_mysql, 16);
- cache_get_field_content(0, "Data Reg", player[playerid][pdata_reg], connect_mysql, 18);
- player[playerid][plevel] = cache_get_field_content_int(0, "Level");
- player[playerid][psex] = cache_get_field_content_int(0, "Sex");
- player[playerid][pskin] = cache_get_field_content_int(0, "Skin");
- player[playerid][pmoney] = cache_get_field_content_int(0, "Money");
- player[playerid][pid] = cache_get_field_content_int(0, "ID");
- player[playerid][padmin] = cache_get_field_content_int(0, "Admin");
- player[playerid][pakeys] = cache_get_field_content_int(0, "Admin Check");
- player[playerid][pexp] = cache_get_field_content_int(0, "Exp");
- player[playerid][pmodel] = cache_get_field_content_int(0, "Model");
- player[playerid][pmember] = cache_get_field_content_int(0, "Member");
- player[playerid][prank] = cache_get_field_content_int(0, "Rank");
- player[playerid][pleader] = cache_get_field_content_int(0, "Leader");
- player[playerid][pwanted] = cache_get_field_content_int(0, "Wanted");
- player[playerid][pwanted_time] = cache_get_field_content_int(0, "Wanted Time");
- player[playerid][pmute] = cache_get_field_content_int(0, "Mute");
- if(player[playerid][padmin] > 0)
- Iter_Add(connect_admins, playerid);
- switch(player[playerid][pmember])
- {
- case 1..3:
- {
- Iter_Add(connect_cop, playerid);
- Iter_Add(connect_gos, playerid);
- }
- }
- SetPlayerWantedLevel(playerid, player[playerid][pwanted]);
- login_check{playerid} = true;
- KillTimer(authorization_timer[playerid]);
- update_timer[playerid] = SetTimerEx("@_UpdateTime", 1_000, false, "i", playerid);
- SetTimerEx("@_SpawnAutorizations", 100, false, "i", playerid);
- if(player[playerid][pwanted] > 0 && player[playerid][pwanted_time] > 0)
- {
- search_timer[playerid] = SetTimerEx("@_SuTimer", 1_000, false, "i", playerid);
- SetPlayerWantedLevel(playerid, player[playerid][pwanted]);
- }
- }
- else
- {
- attemps_pass{playerid} ++;
- switch(attemps_pass{playerid})
- {
- case 1:
- {
- SCM(playerid, COLOR_RED, !"Пароль неверный!");
- SCM(playerid, COLOR_LIGHTRED, !"У вас осталось 2 попытки");
- }
- case 2:
- {
- SCM(playerid, COLOR_RED, !"Пароль неверный!");
- SCM(playerid, COLOR_LIGHTRED, !"У вас осталось 1 попытка");
- }
- case 3:
- {
- SCM(playerid, COLOR_RED, !"Пароль неверный!");
- SCM(playerid, COLOR_LIGHTRED, !"Введите команду (/q)uit, чтобы выйди с сервера");
- Tkick(playerid);
- return true;
- }
- }
- static const
- fmt_str[] =
- "\
- {FFFFFF}Добро пожаловать на Glad Role Play!\
- \nВаш Логин: {FFFF00}%s{FFFFFF}\n\
- \nВведите пароль от Вашего аккаунт:\
- ";
- new
- string[sizeof(fmt_str)+MAX_PLAYER_NAME-1];
- format(string, sizeof(string), fmt_str, GN(playerid));
- SPD(playerid, 4, DSP, "Авторизация", string, "Далее", "Выход");
- }
- return true;
- }
- @_SpawnAutorizations(playerid);
- @_SpawnAutorizations(playerid)
- {
- SpawnPlayer(playerid);
- return true;
- }
- @_UpdateTime(playerid);
- @_UpdateTime(playerid)
- {
- if(player[playerid][pmoney] != GetPlayerMoney(playerid))
- {
- ResetPlayerMoney(playerid);
- GivePlayerMoney(playerid, player[playerid][pmoney]);
- }
- if(player[playerid][pmute] > 0)
- {
- player[playerid][pmute] --;
- if(player[playerid][pmute] == 0) SCM(playerid, COLOR_GREEN, "Вы снова можете использовать чат");
- }
- foreach(new i: Player)
- {
- if(!IsPlayerInRangeOfPoint(i, 3.0, PosPic[0][i], PosPic[1][i], PosPic[2][i]))
- anti_flood_pick{i} = false;
- }
- update_timer[playerid] = SetTimerEx("@_UpdateTime", 1_000, false, "i", playerid);
- return true;
- }
- @_TimeAuto(playerid);
- @_TimeAuto(playerid)
- {
- SCM(playerid, COLOR_LIGHTRED, !"Время на авторизацию вышло! Введите команду (/q)uit, чтобы выйди с сервера");
- Tkick(playerid);
- return true;
- }
- @_ClearAnim(playerid);
- @_ClearAnim(playerid)
- {
- ApplyAnimation(playerid,"CARRY","crry_prtial",2.5,0,0,0,0,0,0);
- return true;
- }
- @_GetID(playerid);
- @_GetID(playerid)
- {
- new
- rows,
- fields;
- cache_get_data(rows, fields);
- if(rows)
- {
- new
- id = cache_get_field_content_int(0, "ID");
- player[playerid][pid] = id;
- }
- return true;
- }
- @_UpdateServer();
- @_UpdateServer()
- {
- gettime(hour_server, minute_server, second_server);
- if(minute_server == 0 && second_server == 0)
- PayDay();
- return true;
- }
- @_StopPayDay(playerid);
- @_StopPayDay(playerid)
- {
- PlayerPlaySound(playerid, 1069, 0.0, 0.0, 0.0);
- return true;
- }
- @_CheckBan(playerid);
- @_CheckBan(playerid)
- {
- new
- rows,
- fields;
- cache_get_data(rows, fields);
- if(rows)
- {
- new
- date_2 = cache_get_field_content_int(0, "date");
- if(date_2 == 1)
- {
- SPD(playerid, 0, DSM, "{FF0000}Ошибка!",
- "\
- {FF0000}Ваш аккаунт заблокирован!\
- \nДата разблокировки: Никогда", "Закрыть", "\
- ");
- Tkick(playerid);
- return true;
- }
- unlock_date = cache_get_field_content_int(0, "unlock_date");
- if(gettime() >= unlock_date)
- {
- static const
- fmt_str[] = "DELETE FROM `bans` WHERE `Name` = '%s'";
- new
- string[sizeof(fmt_str)+MAX_PLAYER_NAME-1];
- format(string, sizeof(string), fmt_str, GN(playerid));
- mysql_function_query(1, string, false, "", "");
- return true;
- }
- else
- {
- static const
- fmt_str[] =
- "\
- {FF6347}Ваш аккаунт заблокирован!\
- \nДата разблокировки: {FFFFFF}%s\
- ";
- new
- string[sizeof(fmt_str)+10];
- format(string, sizeof(string), fmt_str , date("%dd/%mm/%yyyy", unlock_date));
- SPD(playerid, 0, DSM, "", string, "Закрыть", "");
- Tkick(playerid);
- }
- }
- return true;
- }
- @_TimeTaser(playerid);
- @_TimeTaser(playerid)
- {
- Freeze(playerid, 1);
- taser_check{playerid} = false;
- return true;
- }
- @_SuTimer(playerid);
- @_SuTimer(playerid)
- {
- player[playerid][pwanted_time] --;
- switch(player[playerid][pwanted_time])
- {
- case 3000:
- {
- player[playerid][pwanted] --;
- SavePlayer(playerid, "Wanted", player[playerid][pwanted], "d");
- SetPlayerWantedLevel(playerid, player[playerid][pwanted]);
- SCM(playerid, COLOR_LIGHTRED, "Уровень розыска снижен!");
- }
- case 2400:
- {
- player[playerid][pwanted] --;
- SavePlayer(playerid, "Wanted", player[playerid][pwanted], "d");
- SetPlayerWantedLevel(playerid, player[playerid][pwanted]);
- SCM(playerid, COLOR_LIGHTRED, "Уровень розыска снижен!");
- }
- case 1800:
- {
- player[playerid][pwanted] --;
- SavePlayer(playerid, "Wanted", player[playerid][pwanted], "d");
- SetPlayerWantedLevel(playerid, player[playerid][pwanted]);
- SCM(playerid, COLOR_LIGHTRED, "Уровень розыска снижен!");
- }
- case 1200:
- {
- player[playerid][pwanted] --;
- SavePlayer(playerid, "Wanted", player[playerid][pwanted], "d");
- SetPlayerWantedLevel(playerid, player[playerid][pwanted]);
- SCM(playerid, COLOR_LIGHTRED, "Уровень розыска снижен!");
- }
- case 600:
- {
- player[playerid][pwanted] --;
- SavePlayer(playerid, "Wanted", player[playerid][pwanted], "d");
- SetPlayerWantedLevel(playerid, player[playerid][pwanted]);
- SCM(playerid, COLOR_LIGHTRED, "Уровень розыска снижен!");
- }
- case 0:
- {
- KillTimer(search_timer[playerid]);
- player[playerid][pwanted] = 0;
- SavePlayer(playerid, "Wanted", player[playerid][pwanted], "d");
- SetPlayerWantedLevel(playerid, player[playerid][pwanted]);
- SCM(playerid, COLOR_LIGHTRED, "Уровень розыска снижен!");
- }
- }
- search_timer[playerid] = SetTimerEx("@_SuTimer", 1_000, false, "i", playerid);
- return true;
- }
- // ~~~~~~~~~~~~~~~~~~~~ [ Стоки ] ~~~~~~~~~~~~~~~~~~~~
- stock Clear(playerid)
- {
- login_check{playerid} = false;
- select_skin{playerid} = 0;
- attemps_pass{playerid} = 0;
- access_check{playerid} = false;
- settings_nick{playerid} = false;
- handcuffs_check{playerid} = false;
- taser_check{playerid} = false;
- freeze_player_check{playerid} = false;
- checkpoint_accept{playerid} = false;
- }
- stock SavePlayerAll(playerid)
- {
- GetPlayerIp(playerid, player[playerid][pip_last], 16);
- getdate(year_server, month_server, day_server);
- static const
- fmt_str[] =
- "\
- UPDATE `accounts` SET \
- `Money` = %d, \
- `IP Last` = '%s', \
- `Data Last` = '%s', \
- `Wanted Time` = %d, \
- `Mute` = %d \
- WHERE `Name` = '%s' \
- ";
- new
- string[sizeof(fmt_str)+MAX_PLAYER_NAME+45];
- format(string, sizeof(string), fmt_str,
- player[playerid][pmoney], player[playerid][pip_last], player[playerid][pdata_last], player[playerid][pwanted_time], player[playerid][pmute],
- GN(playerid));
- format(player[playerid][pdata_last], 18, "%02i/%02i/%i" , day_server, month_server, year_server);
- mysql_function_query(connect_mysql, string, false, "", "");
- }
- stock SetPlayerSpawn(playerid)
- {
- SetPlayerScore(playerid, player[playerid][plevel]);
- SetCameraBehindPlayer(playerid);
- SetPlayerHealth(playerid, 100.0);
- if(player[playerid][pmember] > 0)
- {
- SetPlayerSkin(playerid, player[playerid][pmodel]);
- Clist(playerid);
- switch(player[playerid][pmember])
- {
- case 1:
- {
- SetPlayerPos(playerid, 254.1158,77.7199,1003.6406);
- SetPlayerFacingAngle(playerid, 182.9027);
- SetPlayerInterior(playerid, 6);
- SetPlayerVirtualWorld(playerid, 1);
- }
- case 2:
- {
- SetPlayerPos(playerid, 224.8768,122.9018,999.0294);
- SetPlayerFacingAngle(playerid, 89.5751);
- SetPlayerInterior(playerid, 10);
- SetPlayerVirtualWorld(playerid, 2);
- }
- case 3:
- {
- SetPlayerPos(playerid, 211.2106,186.5429,1003.0313);
- SetPlayerFacingAngle(playerid, 182.6122);
- SetPlayerInterior(playerid, 3);
- SetPlayerVirtualWorld(playerid, 3);
- }
- }
- return true;
- }
- SetPlayerColor(playerid, 0xFFFFFF00);
- SetPlayerSkin(playerid, player[playerid][pskin]);
- SetPlayerPos(playerid, 1157.1063,-1769.9608,16.5938);
- SetPlayerFacingAngle(playerid, 2.3473);
- SetPlayerInterior(playerid, 0);
- SetPlayerVirtualWorld(playerid, 0);
- return true;
- }
- stock KillTimers(playerid)
- {
- KillTimer(update_timer[playerid]);
- KillTimer(authorization_timer[playerid]);
- KillTimer(taser_timer[playerid]);
- KillTimer(search_timer[playerid]);
- }
- stock SavePlayer(playerid, const field_name[], const set[], const type[])
- {
- new
- query_string[128];
- if(!strcmp(type, "d", true)) mysql_format(connect_mysql, query_string, sizeof(query_string),
- "UPDATE `accounts` SET `%e` = '%d' WHERE `Name` = '%s'",
- field_name, set, GN(playerid)
- );
- else if(!strcmp(type, "s", true)) mysql_format(connect_mysql, query_string, sizeof(query_string),
- "UPDATE `accounts` SET `%e` = '%e' WHERE `Name` = '%s'",
- field_name, set, GN(playerid)
- );
- else if(!strcmp(type, "f", true)) mysql_format(connect_mysql, query_string, sizeof(query_string),
- "UPDATE `accounts` SET `%e` = '%f' WHERE `Name` = '%s'",
- field_name, set, GN(playerid)
- );
- mysql_function_query(connect_mysql, query_string, false, "", "");
- return true;
- }
- stock Menu()
- {
- bomj_menu[0] = CreateMenu("Victim", 1, 50.0, 160.0, 100.0);
- SetMenuColumnHeader(bomj_menu[0], 0, "Choose Skin");
- AddMenuItem(bomj_menu[0], 0, "Next");
- AddMenuItem(bomj_menu[0], 0, "Previous");
- AddMenuItem(bomj_menu[0], 0, "Save");
- bomj_menu[1] = CreateMenu("Victim", 1, 50.0, 160.0, 100.0);
- SetMenuColumnHeader(bomj_menu[1], 0, "Choose Skin");
- AddMenuItem(bomj_menu[1], 0, "Next");
- AddMenuItem(bomj_menu[1], 0, "Previous");
- AddMenuItem(bomj_menu[1], 0, "Save");
- }
- stock CreateAccount(playerid)
- {
- select_skin{playerid} = 0;
- Freeze(playerid, 1);
- // Создание аккаунта
- player[playerid][plevel] = 1;
- player[playerid][pmoney] = 0;
- player[playerid][padmin] = 0;
- player[playerid][pakeys] = 0;
- player[playerid][pexp] = 0;
- player[playerid][pmodel] = 0;
- player[playerid][pmember] = 0;
- player[playerid][pleader] = 0;
- player[playerid][prank] = 0;
- player[playerid][pwanted] = 0;
- player[playerid][pwanted_time] = 0;
- player[playerid][pmute] = 0;
- //
- GetPlayerIp(playerid, player[playerid][pip], 16);
- getdate(year_server, month_server, day_server);
- update_timer[playerid] = SetTimerEx("@_UpdateTime", 1_000, false, "i", playerid);
- static
- fmt_str[] = "INSERT INTO `accounts` (`Name`, `Pass`, `Mail`, `Sex`, `Skin`, `Level`, `IP`, `Data Reg`) VALUES ('%s', '%s', '%s', '%d', '%d', '%d', '%s', '%s')",
- fmt_str_2[] = "SELECT * FROM accounts WHERE Name = '%s'";
- new
- string[sizeof(fmt_str)+MAX_PLAYER_NAME+140],
- string_2[sizeof(fmt_str_2)+MAX_PLAYER_NAME-1];
- mysql_format(connect_mysql, string, sizeof(string), fmt_str,
- GN(playerid), player[playerid][ppass], player[playerid][pmail], player[playerid][psex], player[playerid][pskin], player[playerid][plevel],
- player[playerid][pip], player[playerid][pdata_reg]);
- mysql_format(connect_mysql, string_2, sizeof(string_2), fmt_str_2, GN(playerid));
- format(player[playerid][pdata_reg], 18, "%02i/%02i/%i", day_server, month_server, year_server);
- login_check{playerid} = true;
- SpawnPlayer(playerid);
- mysql_function_query(connect_mysql, string, true, "", "");
- mysql_function_query(1, string_2, true, "@_GetID", "d", playerid);
- }
- stock ProxDetector(playerid, Float:max_range, color, string[], Float:max_ratio = 1.6)
- {
- new
- Float:pos_x,
- Float:pos_y,
- Float:pos_z,
- Float:range,
- Float:range_ratio,
- Float:range_with_ratio,
- clr_r,
- clr_g,
- clr_b,
- Float:color_r,
- Float:color_g,
- Float:color_b;
- if(!GetPlayerPos(playerid, pos_x, pos_y, pos_z))
- return false;
- color_r = float(color >> 24 & 0xFF);
- color_g = float(color >> 16 & 0xFF);
- color_b = float(color >> 8 & 0xFF);
- range_with_ratio = max_range * max_ratio;
- #if defined foreach
- foreach(new i : Player) {
- #else
- for(new i = GetPlayerPoolSize(); i != -1; i--) {
- #endif
- if(!IsPlayerStreamedIn(playerid, i))
- continue;
- range = GetPlayerDistanceFromPoint(i, pos_x, pos_y, pos_z);
- if(range > max_range)
- continue;
- range_ratio = (range_with_ratio - range) / range_with_ratio;
- clr_r = floatround(range_ratio * color_r);
- clr_g = floatround(range_ratio * color_g);
- clr_b = floatround(range_ratio * color_b);
- SCM(i, (color & 0xFF) | (clr_b << 8) | (clr_g << 16) | (clr_r << 24), string);
- }
- SCM(playerid, color, string);
- return true;
- }
- stock ShowStats(playerid, id)
- {
- static const
- fmt_str[] =
- "\
- {FFFFFF}ID:\t\t\t{95EE83}%d\
- \n{FFFFFF}Никнейм:\t\t{95EE83}%s\n\
- \n{FFFFFF}Уровень:\t\t{95EE83}%d\
- \n{FFFFFF}EXP:\t\t{95EE83}%d/%d\
- \n{FFFFFF}Деньги:\t\t{95EE83}%d$\n\
- \n{FFFFFF}Пол:\t\t\t{95EE83}%s\
- ";
- new
- string[sizeof(fmt_str)+MAX_PLAYER_NAME+28];
- format(string, sizeof(string), fmt_str,
- player[id][pid], GN(id), player[id][plevel], player[id][pexp], (player[id][plevel]+1)*4, player[id][pmoney], (player[id][psex] == 1) ? ("Мужской") : ("Женский"));
- SPD(playerid, 6, DSM, "Статистика игрока", string, "Принять", "Назад");
- }
- stock AdmChat(color, const string[])
- {
- foreach(new i : connect_admins)
- SCM(i, color, string);
- }
- stock TextDraws()
- {
- // Логотип
- logo_td[0] = TextDrawCreate(548.170166, 4.083311, "G");
- TextDrawLetterSize(logo_td[0], 0.517935, 2.165833);
- TextDrawAlignment(logo_td[0], 1);
- TextDrawColor(logo_td[0], 16711935);
- TextDrawSetShadow(logo_td[0], 0);
- TextDrawSetOutline(logo_td[0], 1);
- TextDrawBackgroundColor(logo_td[0], 255);
- TextDrawFont(logo_td[0], 2);
- TextDrawSetProportional(logo_td[0], 1);
- logo_td[1] = TextDrawCreate(563.162597, 10.499973, "lad");
- TextDrawLetterSize(logo_td[1], 0.382532, 1.372499);
- TextDrawAlignment(logo_td[1], 1);
- TextDrawColor(logo_td[1], -1);
- TextDrawSetShadow(logo_td[1], 0);
- TextDrawSetOutline(logo_td[1], 1);
- TextDrawBackgroundColor(logo_td[1], 255);
- TextDrawFont(logo_td[1], 2);
- TextDrawSetProportional(logo_td[1], 1);
- logo_td[2] = TextDrawCreate(548.638610, 20.999990, "Role Play");
- TextDrawLetterSize(logo_td[2], 0.293513, 1.115833);
- TextDrawAlignment(logo_td[2], 1);
- TextDrawColor(logo_td[2], -1);
- TextDrawSetShadow(logo_td[2], 0);
- TextDrawSetOutline(logo_td[2], 1);
- TextDrawBackgroundColor(logo_td[2], 255);
- TextDrawFont(logo_td[2], 2);
- TextDrawSetProportional(logo_td[2], 1);
- }
- stock PayDay()
- {
- gettime(hour_server, minute_server, second_server);
- SetWorldTime(hour_server);
- foreach(new i: Player)
- {
- if(login_check[i] == false)
- return true;
- player[i][pexp] ++;
- if(player[i][pexp] == (player[i][plevel]+1)*4)
- {
- player[i][plevel] ++;
- player[i][pexp] = 0;
- SetPlayerScore(i, player[i][plevel]);
- }
- PlayerPlaySound(i, 1068, 0.0, 0.0, 0.0);
- SetTimerEx("@_StopPayDay", 4_000, false, "i", i);
- SCM(i, COLOR_ORANGE, !"==-- PayDay --==");
- SavePlayer(i, "Exp", player[i][pexp], "d");
- GameTextForPlayer(i, "PayDay", 3000, 1);
- }
- for(new gz = 0; gz < sizeof(gangzone); gz++) SaveGangZones(gz);
- return true;
- }
- stock Commands(playerid)
- {
- SPD(playerid, 18, DSL, "Команды сервера",
- "\
- - Обычные\
- \n- Чат\
- \n- Транспорт\
- \n- Фракция", "Выбрать", "Назад\
- ");
- }
- stock Clist(playerid)
- {
- switch(player[playerid][pmember])
- {
- case 1..3: SetPlayerColor(playerid, 0x3C36FFFF);
- }
- }
- stock Pickups()
- {
- // ================================== [ LSPD ] ==================================
- lspd_pick[0] = CreateDynamicPickup(1318, 23, 246.7940,62.3234,1003.6406, 1);
- lspd_pick[1] = CreateDynamicPickup(1318, 23, 246.3910,88.0092,1003.6406, 1);
- lspd_pick[2] = CreateDynamicPickup(1318, 23, 1555.5012,-1675.6152,16.1953);
- lspd_pick[3] = CreateDynamicPickup(1318, 23, 1568.6606,-1689.9703,6.2188);
- lspd_pick[4] = CreateDynamicPickup(1318, 23, 1524.4830,-1677.8638,6.2188);
- lspd_pick[5] = CreateDynamicPickup(1318, 23, 316.3518,-170.2972,999.5938, 1);
- lspd_pick[6] = CreateDynamicPickup(2061, 23, 312.4698,-168.7080,999.5938, 1);
- // ================================== [ SFPD ] ==================================
- sfpd_pick[0] = CreateDynamicPickup(1318, 23, 246.3706,107.2995,1003.2188, 2);
- sfpd_pick[1] = CreateDynamicPickup(1318, 23, 213.9754,121.7000,999.0156, 2);
- sfpd_pick[2] = CreateDynamicPickup(1318, 23, -1605.6206,710.2720,13.8672);
- sfpd_pick[3] = CreateDynamicPickup(1318, 23, -1594.2120,716.3030,-4.9063);
- sfpd_pick[4] = CreateDynamicPickup(1318, 23, -1606.3276,672.0616,-4.9063);
- sfpd_pick[5] = CreateDynamicPickup(1318, 23, 316.3518,-170.2972,999.5938, 2);
- sfpd_pick[6] = CreateDynamicPickup(2061, 23, 312.4698,-168.7080,999.5938, 2);
- // ================================== [ LVPD ] ==================================
- lvpd_pick[0] = CreateDynamicPickup(1318, 23, 238.7304,138.6257,1003.0234, 3);
- lvpd_pick[1] = CreateDynamicPickup(1318, 23, 2297.1177,2451.3838,10.8203);
- lvpd_pick[2] = CreateDynamicPickup(1318, 23, 2297.1169,2468.6726,10.8203);
- lvpd_pick[3] = CreateDynamicPickup(1318, 23, 2277.9673,2458.3674,38.6837);
- lvpd_pick[4] = CreateDynamicPickup(1318, 23, 288.8242,166.9212,1007.1719, 3);
- lvpd_pick[5] = CreateDynamicPickup(1318, 23, 2286.9873,2432.3679,10.8203);
- lvpd_pick[6] = CreateDynamicPickup(1318, 23, 229.1528,168.5440,1003.0234, 3);
- // ================================== [ Мэрия ] ==================================
- mayor_pick[0] = CreateDynamicPickup(1318, 23, 1480.9924,-1772.3131,18.7958);
- mayor_pick[1] = CreateDynamicPickup(1318, 23, 390.7685,173.8308,1008.3828);
- }
- stock Cars()
- {
- // =================================== [ LSPD ] =================================
- lspd_car[0] = AddStaticVehicleEx(596, 1602.4960, -1683.9705, 5.6106, 89.9966, 0, 1, 600);
- lspd_car[1] = AddStaticVehicleEx(596, 1602.4961, -1688.1863, 5.6106, 89.9944, 0, 1, 600);
- lspd_car[2] = AddStaticVehicleEx(596, 1602.4960, -1692.1858, 5.6106, 89.9963, 0, 1, 600);
- lspd_car[3] = AddStaticVehicleEx(596, 1602.4961, -1696.4399, 5.6106, 89.9965, 0, 1, 600);
- lspd_car[4] = AddStaticVehicleEx(596, 1602.4961, -1700.4475, 5.6105, 89.9928, 0, 1, 600);
- lspd_car[5] = AddStaticVehicleEx(596, 1602.4973, -1704.7720, 5.6111, 89.9599, 0, 1, 600);
- lspd_car[6] = AddStaticVehicleEx(596, 1591.1188, -1710.8458, 5.6106, 359.9953, 0, 1, 600);
- lspd_car[7] = AddStaticVehicleEx(596, 1587.0615, -1710.8457, 5.6106, 359.9914, 0, 1, 600);
- lspd_car[8] = AddStaticVehicleEx(596, 1582.9340, -1710.8418, 5.6106, 359.9973, 0, 1, 600);
- lspd_car[9] = AddStaticVehicleEx(596, 1578.0387, -1710.8459, 5.6106, 359.9960, 0, 1, 600);
- lspd_car[10] = AddStaticVehicleEx(596, 1574.0431, -1710.8464, 5.6115, 359.9565, 0, 1, 600);
- lspd_car[11] = AddStaticVehicleEx(596, 1569.6342, -1710.8481, 5.5788, 359.9579, 0, 1, 600);
- lspd_car[12] = AddStaticVehicleEx(596, 1558.3914, -1710.8352, 5.6231, 359.9962, 0, 1, 600);
- lspd_car[13] = AddStaticVehicleEx(596, 1584.5720, -1672.3798, 5.6135, 269.9952, 0, 1, 600);
- lspd_car[14] = AddStaticVehicleEx(596, 1584.5693, -1668.1559, 5.6123, 269.9404, 0, 1, 600);
- lspd_car[15] = AddStaticVehicleEx(523, 1545.6881, -1684.3760, 5.4628, 89.8548, 0, 1, 600);
- lspd_car[16] = AddStaticVehicleEx(523, 1545.6832, -1680.3370, 5.4628, 90.0000, 0, 1, 600);
- lspd_car[17] = AddStaticVehicleEx(523, 1545.6796, -1676.2489, 5.4715, 90.0000, 0, 1, 600);
- lspd_car[18] = AddStaticVehicleEx(523, 1545.6934, -1672.1342, 5.4719, 90.0000, 0, 1, 600);
- lspd_car[19] = AddStaticVehicleEx(523, 1545.7043, -1667.6414, 5.4657, 89.5909, 0, 1, 600);
- lspd_car[20] = AddStaticVehicleEx(523, 1545.6930, -1663.1404, 5.4719, 90.0000, 0, 1, 600);
- lspd_car[21] = AddStaticVehicleEx(601, 1545.4475, -1659.0334, 5.6477, 89.9272, 0, 1, 600);
- lspd_car[22] = AddStaticVehicleEx(601, 1545.4456, -1655.0054, 5.6652, 89.9993, 0, 1, 600);
- lspd_car[23] = AddStaticVehicleEx(427, 1538.1487, -1644.9996, 6.0336, 180.0003, 0, 1, 600);
- lspd_car[24] = AddStaticVehicleEx(427, 1534.1730, -1644.9996, 6.0335, 180.0002, 0, 1, 600);
- lspd_car[25] = AddStaticVehicleEx(427, 1529.9532, -1644.9991, 6.0335, 180.0003, 0, 1, 600);
- lspd_car[26] = AddStaticVehicleEx(497, 1559.2762,-1644.1458,28.5774,90.9602, 0, 1, 600);
- // ================================ [ SFPD ] ====================================
- sfpd_car[0] = AddStaticVehicleEx(427, -1638.7850, 653.7558, -5.1094, 271.5658, 0, 1, 600);
- sfpd_car[1] = AddStaticVehicleEx(427, -1638.8691, 657.6266, -5.1104, 271.5658, 0, 1, 600);
- sfpd_car[2] = AddStaticVehicleEx(427, -1638.9778, 661.6664, -5.1103, 271.5658, 0, 1, 600);
- sfpd_car[3] = AddStaticVehicleEx(427, -1639.0596, 666.1422, -5.1103, 271.5658, 0, 1, 600);
- sfpd_car[4] = AddStaticVehicleEx(427, -1639.1912, 670.1107, -5.1098, 271.5658, 0, 1, 600);
- sfpd_car[5] = AddStaticVehicleEx(597, -1608.5095, 748.6892, -5.4740, 180.7957, 0, 1, 600);
- sfpd_car[6] = AddStaticVehicleEx(597, -1604.3743, 748.7833, -5.4732, 180.8979, 0, 1, 600);
- sfpd_car[7] = AddStaticVehicleEx(597, -1600.1812, 748.8475, -5.4732, 180.6038, 0, 1, 600);
- sfpd_car[9] = AddStaticVehicleEx(597, -1579.5892, 749.2114, -5.4732, 180.1104, 0, 1, 600);
- sfpd_car[10] = AddStaticVehicleEx(597, -1591.9786, 748.9724, -5.4733, 180.5795, 0, 1, 600);
- sfpd_car[11] = AddStaticVehicleEx(597, -1583.8110, 749.2034, -5.4739, 179.4646, 0, 1, 600);
- sfpd_car[12] = AddStaticVehicleEx(597, -1596.0133, 748.9694, -5.4740, 179.9943, 0, 1, 600);
- sfpd_car[13] = AddStaticVehicleEx(597, -1587.7101, 749.0371, -5.4737, 180.2399, 0, 1, 600);
- sfpd_car[14] = AddStaticVehicleEx(597, -1574.1715, 738.8038, -5.4727, 90.8081, 0, 1, 600);
- sfpd_car[15] = AddStaticVehicleEx(597, -1574.2087, 714.2832, -5.4741, 90.8081, 0, 1, 600);
- sfpd_car[16] = AddStaticVehicleEx(597, -1574.2324, 718.6381, -5.4733, 90.8081, 0, 1, 600);
- sfpd_car[17] = AddStaticVehicleEx(597, -1573.9800, 734.5951, -5.4732, 90.8081, 0, 1, 600);
- sfpd_car[18] = AddStaticVehicleEx(597, -1573.7732, 730.6323, -5.4739, 90.8081, 0, 1, 600);
- sfpd_car[19] = AddStaticVehicleEx(497, -1680.9225, 705.6724, 30.7915, 95.5060, 0, 1, 600);
- sfpd_car[20] = AddStaticVehicleEx(523, -1600.0845, 695.2717, -5.6700, 180.5546, 0, 1, 600);
- sfpd_car[21] = AddStaticVehicleEx(523, -1603.5908, 695.2377, -5.6700, 180.5546, 0, 1, 600);
- sfpd_car[22] = AddStaticVehicleEx(523, -1608.4457, 695.1907, -5.6700, 180.5546, 0, 1, 600);
- sfpd_car[23] = AddStaticVehicleEx(523, -1611.6722, 695.1595, -5.6701, 180.5546, 0, 1, 600);
- sfpd_car[24] = AddStaticVehicleEx(523, -1616.8567, 692.3514, -5.6723, 177.3526, 0, 1, 600);
- sfpd_car[25] = AddStaticVehicleEx(523, -1620.4467, 692.5175, -5.6723, 177.3526, 0, 1, 600);
- sfpd_car[26] = AddStaticVehicleEx(523, -1624.2755, 692.6945, -5.6723, 177.3526, 0, 1, 600);
- sfpd_car[27] = AddStaticVehicleEx(523, -1629.6143, 692.9413, -5.6722, 177.3526, 0, 1, 600);
- sfpd_car[28] = AddStaticVehicleEx(523, -1632.7988, 693.0886, -5.6722, 177.3526, 0, 1, 600);
- // ================================== [ LVPD ] ==================================
- lvpd_car[0] = AddStaticVehicleEx(598, 2268.9678, 2443.6958, 10.5668, 359.5409, 0, 1, 600);
- lvpd_car[1] = AddStaticVehicleEx(598, 2273.5706, 2443.7290, 10.5665, 0.6987, 0, 1, 600);
- lvpd_car[2] = AddStaticVehicleEx(598, 2277.9482, 2443.7490, 10.5654, 359.8027, 0, 1, 600);
- lvpd_car[3] = AddStaticVehicleEx(598, 2282.1309, 2443.7957, 10.5660, 359.7104, 0, 1, 600);
- lvpd_car[4] = AddStaticVehicleEx(598, 2282.5002, 2476.4595, 10.5663, 181.3129, 0, 1, 600);
- lvpd_car[5] = AddStaticVehicleEx(598, 2277.6665, 2476.5178, 10.5670, 180.8092, 0, 1, 600);
- lvpd_car[6] = AddStaticVehicleEx(598, 2273.6030, 2476.5684, 10.5669, 180.3357, 0, 1, 600);
- lvpd_car[7] = AddStaticVehicleEx(598, 2268.8853, 2476.6331, 10.5663, 179.7468, 0, 1, 600);
- lvpd_car[8] = AddStaticVehicleEx(598, 2269.2004, 2459.8330, 10.5683, 0.1298, 0, 1, 600);
- lvpd_car[9] = AddStaticVehicleEx(598, 2273.3623, 2459.5422, 10.5661, 178.7547, 0, 1, 600);
- lvpd_car[10] = AddStaticVehicleEx(598, 2278.0513, 2459.7075, 10.5667, 359.0662, 0, 1, 600);
- lvpd_car[11] = AddStaticVehicleEx(598, 2281.9307, 2459.4504, 10.5672, 180.7914, 0, 1, 600);
- lvpd_car[12] = AddStaticVehicleEx(599, 2290.6970, 2443.7861, 11.0110, 1.2899, 0, 1, 600);
- lvpd_car[13] = AddStaticVehicleEx(599, 2260.5859, 2476.3032, 11.0123, 180.0692, 0, 1, 600);
- lvpd_car[14] = AddStaticVehicleEx(497, 2271.4736, 2470.6799, 38.8604, 0.0013, 0, 1, 600);
- lvpd_car[15] = AddStaticVehicleEx(523, 2255.9148, 2476.6135, 10.4263, 180.0082, 0, 1, 600);
- lvpd_car[16] = AddStaticVehicleEx(523, 2251.9368, 2476.6135, 10.4263, 180.0082, 0, 1, 600);
- }
- stock Velosipedi(carid)
- {
- switch(GetVehicleModel(carid))
- {
- case 481, 509, 510: return true;
- }
- return false;
- }
- stock Float:GetDistanceBetweenPlayers(p1, p2)
- {
- new
- Float: x1,
- Float: y1,
- Float: z1,
- Float: x2,
- Float: y2,
- Float: z2;
- if(!IsPlayerConnected(p1) || !IsPlayerConnected(p2))
- return -1.00;
- GetPlayerPos(p1,x1,y1,z1);
- GetPlayerPos(p2,x2,y2,z2);
- return floatsqroot(floatpower(floatabs(floatsub(x2,x1)),2) + floatpower(floatabs(floatsub(y2,y1)),2) + floatpower(floatabs(floatsub(z2,z1)),2));
- }
- stock MembersCop(color, string[])
- {
- foreach(new i: connect_cop)
- SCM(i, color, string);
- }
- stock LoadGangZones()
- {
- mysql_query(connect_mysql, "SELECT * FROM `gangzones`");
- for(new gz = 0; gz < sizeof(gangzone); gz++)
- {
- gangzone[gz][gid] = cache_get_field_content_int(gz, "ID");
- gangzone[gz][gcoords][0] = cache_get_field_content_float(gz, "Gang Zone X 1");
- gangzone[gz][gcoords][1] = cache_get_field_content_float(gz, "Gang Zone Y 1");
- gangzone[gz][gcoords][2] = cache_get_field_content_float(gz, "Gang Zone X 2");
- gangzone[gz][gcoords][3] = cache_get_field_content_float(gz, "Gang Zone Y 2");
- gangzone[gz][gmember] = cache_get_field_content_int(gz, "Member");
- gangzone[gz][gid] = GangZoneCreate(gangzone[gz][gcoords][0], gangzone[gz][gcoords][1], gangzone[gz][gcoords][2], gangzone[gz][gcoords][3]);
- }
- army_gz[0] = GangZoneCreate(-49.979476, 1695.982177, 414.020507, 2175.982177);
- army_gz[1] = GangZoneCreate(2634.4395, -2562.5022, 2861.7734, -2320.1594);
- }
- stock GetGangZoneColor(gangzones)
- {
- new
- gz;
- switch(gangzone[gangzones][gmember])
- {
- case 10: gz = 0xd200ff99;
- case 11: gz = 0xcfbe0899;
- case 12: gz = 0x06b50699;
- case 13: gz = 0x03c3b899;
- case 14: gz = 0x007fffAA;
- default: gz = 0xFEFEFEAA;
- }
- return gz;
- }
- stock SaveGangZones(gz)
- {
- static
- fmt_str[] =
- "\
- UPDATE `gangzones` SET \
- `Gang Zone X 1`= '%f', \
- `Gang Zone Y 1`= '%f', \
- `Gang Zone X 2`= '%f', \
- `Gang Zone Y 2`= '%f', \
- `Member`= '%d' \
- WHERE ID = '%d' \
- ";
- new
- string[sizeof(fmt_str)+38];
- mysql_format(connect_mysql, string, sizeof(string), fmt_str,
- gangzone[gz][gcoords][0], gangzone[gz][gcoords][1], gangzone[gz][gcoords][2], gangzone[gz][gcoords][3], gangzone[gz][gmember], gangzone[gz][gid]);
- mysql_function_query(connect_mysql, string, true, "", "");
- }
- stock MembersGos(member, color, string[])
- {
- foreach(new i: connect_gos)
- if(player[i][pmember] == member)
- SCM(i, color, string);
- }
- // ~~~~~~~~~~~~~~~~~~~~ [ Команды сервера ] ~~~~~~~~~~~~~~~~~~~~
- cmd:menu(playerid)
- {
- SPD(playerid, 5, DSL, "Меню игрока",
- "\
- - Статистика игрока\
- \n- Команды сервера\
- \n- Репорт\
- \n- Настройки\
- \n- Правила сервера", "Выбрать", "Отмена\
- ");
- return true;
- }
- alias:menu("mm", "mn");
- cmd:alogin(playerid)
- {
- if(player[playerid][padmin] < 1)
- return true;
- if(player[playerid][pakeys] == 0)
- return SPD(playerid, 11, DSI, "Админ авторизация", "{FFFFFF}Придумайте и введите свой админ пароль:", "Далее", "Отмена");
- if(access_check{playerid} == false)
- return SPD(playerid, 11, DSP, "Админ авторизация", "{FFFFFF}Введите свой админ пароль для авторизации:", "Далее", "Отмена");
- return true;
- }
- cmd:makeadmin(playerid, params[])
- {
- if(player[playerid][padmin] < 1)
- return true;
- if(player[playerid][padmin] < 7)
- return SCM(playerid, COLOR_GREY, !"Вы не уполномочены использовать данную команду!");
- if(player[playerid][pakeys] == 0)
- return SCM(playerid, COLOR_WHITE, !"Введите команду /alogin");
- if(access_check{playerid} == false)
- return callcmd::alogin(playerid);
- if(sscanf(params, "ii", params[0], params[1]))
- return SCM(playerid, COLOR_WHITE, !"Введите команду /makeadmin [ID] [Уровень]");
- if(!IsPlayerConnected(params[0]))
- return SCM(playerid, COLOR_GREY, !"Игрок не найден!");
- if(login_check{params[0]} == false)
- return SCM(playerid, COLOR_GREY, !"Игрок не авторизован!");
- if(params[1] < 0 || params[1] > 6)
- return SCM(playerid, COLOR_GREY, !"Неверное значение!");
- if(params[1] == 0)
- {
- if(Iter_Contains(connect_admins, params[0]))
- Iter_Remove(connect_admins, params[0]);
- }
- else
- Iter_Add(connect_admins, params[0]);
- if(params[1] > 0)
- {
- if(player[params[0]][pakeys] == 1)
- return true;
- SCM(params[0], COLOR_WHITE, !"Для админ авторизации введите команду /alogin");
- }
- static const
- fmt_str[] = "Игроку %s был изменён админ уровень на %d",
- fmt_str_2[] = "Администратор %s изменил ваш админ уровень до %d";
- new
- string[sizeof(fmt_str)+MAX_PLAYER_NAME-2],
- string_2[sizeof(fmt_str_2)+MAX_PLAYER_NAME-3];
- format(string, sizeof(string), fmt_str, GN(params[0]), params[1]);
- format(string_2, sizeof(string_2), fmt_str_2, GN(playerid), params[1]);
- SCM(params[0], COLOR_BLUE, string);
- SCM(playerid, COLOR_BLUE, string_2);
- player[params[0]][padmin] = params[1];
- SavePlayer(params[0], "Admin", params[1], "d");
- return true;
- }
- cmd:pm(playerid, params[])
- {
- if(player[playerid][padmin] < 1)
- return true;
- if(player[playerid][pakeys] == 0)
- return SCM(playerid, COLOR_WHITE, !"Введите команду /alogin");
- if(access_check{playerid} == false)
- return callcmd::alogin(playerid);
- if(player[playerid][pmute] > 0)
- {
- SCM(playerid, COLOR_RED, !"У Вас бан чата!");
- return false;
- }
- if(sscanf(params,"is[128]", params[0], params[1]))
- return SCM(playerid, COLOR_WHITE, !"Введите команду /pm [ID] [Ответ]");
- if(!IsPlayerConnected(params[0]))
- return SCM(playerid, COLOR_GREY, !"Игрок не найден!");
- if(login_check{params[0]} == false)
- return SCM(playerid, COLOR_GREY, !"Игрок не авторизован!");
- static const
- fmt_str[] = "Ответ от администратора %s игроку %s[%d]: %s",
- fmt_str_2[] = "Ответ от администратора %s: %s";
- new
- string[sizeof(fmt_str)+128],
- string_2[sizeof(fmt_str_2)+128];
- format(string, sizeof(string), fmt_str, GN(playerid), GN(params[0]), params[0], params[1]);
- format(string_2, sizeof(string_2), fmt_str_2, GN(playerid), params[1]);
- SCM(params[0], COLOR_ORANGE, string_2);
- AdmChat(COLOR_ORANGE, string);
- return true;
- }
- cmd:a(playerid, params[])
- {
- if(player[playerid][padmin] < 1)
- return true;
- if(player[playerid][pakeys] == 0)
- return SCM(playerid, COLOR_WHITE, !"Введите команду /alogin");
- if(access_check{playerid} == false)
- return callcmd::alogin(playerid);
- if(player[playerid][pmute] > 0)
- {
- SCM(playerid, COLOR_RED, !"У Вас бан чата!");
- return false;
- }
- if(sscanf(params, "s[128]",params[0]))
- return SCM(playerid, COLOR_WHITE, !"Введите команду /a [Текст]");
- static const
- fmt_str[] = "[A] {FFFFFF}%s[%d]: %s";
- new
- string[sizeof(fmt_str)+128];
- format(string, sizeof(string), fmt_str, GN(playerid), playerid, params[0]);
- AdmChat(COLOR_YELLOW, string);
- return true;
- }
- cmd:kick(playerid, params[])
- {
- if(player[playerid][padmin] < 1)
- return true;
- if(player[playerid][pakeys] == 0)
- return SCM(playerid, COLOR_WHITE, !"Введите команду /alogin");
- if(access_check{playerid} == false)
- return callcmd::alogin(playerid);
- if(sscanf(params, "is[128]", params[0], params[1]))
- return SCM(playerid, COLOR_WHITE, !"Введите команду /kick [ID] [Причина]");
- if(!IsPlayerConnected(params[0]))
- return SCM(playerid, COLOR_GREY, !"Игрок не найден!");
- if(login_check{params[0]} == false)
- return SCM(playerid, COLOR_GREY, !"Игрок не авторизован!");
- if(player[playerid][padmin] < player[params[0]][padmin])
- return SCM(playerid, COLOR_GREY, !"Вы не можете кикнуть администратора уровнем выше вашего!");
- static const
- fmt_str[] = "Администратор %s кикнул игрока %s. Причина: %s";
- new
- string[sizeof(fmt_str)+128];
- format(string, sizeof(string), fmt_str, GN(playerid), GN(params[0]), params[1]);
- SCMTA(COLOR_LIGHTRED, string);
- Tkick(params[0]);
- return true;
- }
- cmd:ahelp(playerid)
- {
- if(player[playerid][padmin] < 1)
- return true;
- if(player[playerid][pakeys] == 0)
- return SCM(playerid, COLOR_WHITE, !"Введите команду /alogin");
- if(access_check{playerid} == false)
- return callcmd::alogin(playerid);
- SPD(playerid, 12, DSL, "Админ команды",
- "\
- 1 уровень\
- \n2 уровень\
- \n3 уровень\
- \n4 уровень\
- \n5 уровень\
- \n6 уровень\
- \n7 уровень", "Выбрать", "Отмена\
- ");
- return true;
- }
- cmd:b(playerid, params[])
- {
- if(player[playerid][pmute] > 0)
- {
- SCM(playerid, COLOR_RED, !"У Вас бан чата!");
- return false;
- }
- if(sscanf(params, "s[128]", params[0]))
- return SCM(playerid, COLOR_WHITE, !"Введите команду /b [Текст]");
- static const
- fmt_str[] = "(( %s: %s ))";
- new
- string[sizeof(fmt_str)+128];
- format(string, sizeof(string), fmt_str, GN(playerid), params[0]);
- ProxDetector(playerid, 20.0, COLOR_WHITE, string);
- return true;
- }
- cmd:shout(playerid, params[])
- {
- if(player[playerid][pmute] > 0)
- {
- SCM(playerid, COLOR_RED, !"У Вас бан чата!");
- return false;
- }
- if(sscanf(params, "s[128]", params[0]))
- return SCM(playerid, COLOR_WHITE, !"Введите команду (/s)hout [Текст]");
- static const
- fmt_str[] = "%s кричит: %s";
- new
- string[sizeof(fmt_str)+128];
- format(string, sizeof(string), fmt_str, GN(playerid), params[0]);
- SetPlayerChatBubble(playerid, params[0], COLOR_WHITE, 40.0, 5*1_000);
- ProxDetector(playerid, 40.0, COLOR_WHITE, string);
- ApplyAnimation(playerid, "ON_LOOKERS", "shout_01",1_000.0,0,0,0,0,0,1);
- return true;
- }
- alias:shout("s");
- cmd:w(playerid, params[])
- {
- if(player[playerid][pmute] > 0)
- {
- SCM(playerid, COLOR_RED, !"У Вас бан чата!");
- return false;
- }
- if(sscanf(params, "s[128]", params[0]))
- return SCM(playerid, COLOR_WHITE, !"Введите команду /b [Текст]");
- static const
- fmt_str[] = "%s шепчет: %s";
- new
- string[sizeof(fmt_str)+128];
- format(string, sizeof(string), fmt_str, GN(playerid), params[0]);
- ProxDetector(playerid, 3.0, COLOR_GREY, string);
- return true;
- }
- cmd:me(playerid, params[])
- {
- if(player[playerid][pmute] > 0)
- {
- SCM(playerid, COLOR_RED, !"У Вас бан чата!");
- return false;
- }
- if(sscanf(params, "s[128]", params[0]))
- return SCM(playerid, COLOR_WHITE, !"Введите команду /me [Текст]");
- static const
- fmt_str[] = "%s %s";
- new
- string[sizeof(fmt_str)+128];
- format(string, sizeof(string), fmt_str, GN(playerid), params[0]);
- ProxDetector(playerid, 20.0, COLOR_PURPLE, string);
- return true;
- }
- cmd:makeleader(playerid, params[])
- {
- if(player[playerid][padmin] < 1)
- return true;
- if(player[playerid][padmin] < 6)
- return SCM(playerid, COLOR_GREY, !"Вы не уполномочены использовать данную команду!");
- if(player[playerid][pakeys] == 0)
- return SCM(playerid, COLOR_WHITE, !"Введите команду /alogin");
- if(access_check{playerid} == false)
- return callcmd::alogin(playerid);
- if(sscanf(params,"ii", params[0], params[1]))
- return SCM(playerid, COLOR_WHITE, !"ведите команду /makeleader [ID] [ID фракции]");
- if(!IsPlayerConnected(params[0]))
- return SCM(playerid, COLOR_GREY, !"Игрок не найден!");
- if(login_check{params[0]} == false)
- return SCM(playerid, COLOR_GREY, !"Игрок не авторизован!");
- if(params[1] < 0 || params[1] > 3)
- return SCM(playerid, COLOR_GREY, !"Неверное значение!");
- switch(params[1])
- {
- case 1:
- {
- if(player[params[0]][psex] == 1)
- player[params[0]][pmodel] = 288;
- else
- player[params[0]][pmodel] = 306;
- }
- case 2:
- {
- if(player[params[0]][psex] == 1)
- player[params[0]][pmodel] = 288;
- else
- player[params[0]][pmodel] = 307;
- }
- case 3:
- {
- if(player[params[0]][psex] == 1)
- player[params[0]][pmodel] = 288;
- else
- player[params[0]][pmodel] = 309;
- }
- }
- SavePlayer(params[0], "Model", player[params[0]][pmodel], "d");
- if(params[1] == 0)
- {
- if(player[params[0]][pleader] == 0)
- return SCM(playerid, COLOR_GREY, !"Этот игрок не лидер!");
- switch(player[params[0]][pmember])
- {
- case 1..3:
- {
- if(Iter_Contains(connect_cop, params[0]))
- Iter_Remove(connect_cop, params[0]);
- if(Iter_Contains(connect_gos, params[0]))
- Iter_Remove(connect_gos, params[0]);
- }
- }
- player[params[0]][pmember] = 0;
- SavePlayer(params[0], "Member", player[params[0]][pmember], "d");
- player[params[0]][prank] = 0;
- SavePlayer(params[0], "Rank", player[params[0]][prank], "d");
- player[params[0]][pleader] = 0;
- SavePlayer(params[0], "Leader", player[params[0]][pleader], "d");
- SetPlayerArmour(params[0], 0.0);
- ResetPlayerWeapons(params[0]);
- SetPlayerSkin(params[0], player[params[0]][pskin]);
- SetPlayerColor(params[0], 0xFFFFFF00);
- static const
- fmt_str[] = "Администратор %s снял с лидерки %s игрока %s[%d]",
- fmt_str_2[] = "Вы были сняты с должности лидера фракции %s Администратором %s";
- new
- string[sizeof(fmt_str)+MAX_PLAYER_NAME*2+1],
- string_2[sizeof(fmt_str_2)+MAX_PLAYER_NAME+2];
- format(string, sizeof(string), fmt_str, GN(playerid), fraction_name[params[1]], GN(params[0]), params[0]);
- format(string_2, sizeof(string_2), fmt_str_2, fraction_name[params[1]], GN(playerid));
- SCM(params[0], COLOR_RED, string_2);
- AdmChat(COLOR_ORANGE, string);
- return true;
- }
- switch(params[1])
- {
- case 1..3:
- {
- Iter_Add(connect_cop, params[0]);
- Iter_Add(connect_gos, params[0]);
- }
- }
- player[params[0]][pmember] = params[1];
- player[params[0]][pleader] = params[1];
- player[params[0]][prank] = 10;
- SavePlayer(params[0], "Rank", player[params[0]][prank], "d");
- SavePlayer(params[0], "Leader", params[1], "d");
- SavePlayer(params[0], "Member", params[1], "d");
- Clist(params[0]);
- SetPlayerSkin(params[0], player[params[0]][pmodel]);
- SetPlayerHealth(params[0], 100.0);
- static const
- fmt_str[] = "Администратор %s назначил Вас контролировать фракцию %s",
- fmt_str_2[] = "Вы назначили %s[%d] контролировать фракцию %s";
- new
- string[sizeof(fmt_str)+MAX_PLAYER_NAME+3],
- string_2[sizeof(fmt_str_2)+MAX_PLAYER_NAME+3];
- format(string, sizeof(string), fmt_str, GN(playerid), fraction_name[params[1]]);
- format(string_2, sizeof(string_2), fmt_str_2, GN(params[0]), params[0], fraction_name[params[1]]);
- SCM(playerid, COLOR_BLUE, string_2);
- SCM(params[0], COLOR_BLUE, string);
- return true;
- }
- cmd:en(playerid)
- {
- new
- carid = GetPlayerVehicleID(playerid);
- if(Velosipedi(carid))
- return true;
- if(IsPlayerInAnyVehicle(playerid))
- {
- if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
- {
- GetVehicleParamsEx(carid, engine, lights, alarm, doors, bonnet, boot, objective);
- if(engine_state_check[carid] == false)
- {
- static const
- fmt_str[] = "%s завёл(а) двигатель";
- new
- string[sizeof(fmt_str)+MAX_PLAYER_NAME-1];
- format(string, sizeof(string), fmt_str, GN(playerid));
- ProxDetector(playerid, 10.0, COLOR_PURPLE, string);
- SetVehicleParamsEx(carid, true, lights, alarm, doors, bonnet, boot, objective);
- engine_state_check[carid] = true;
- }
- else
- {
- static const
- fmt_str[] = "%s заглушил(а) двигатель";
- new
- string[sizeof(fmt_str)+MAX_PLAYER_NAME-1];
- format(string, sizeof(string), fmt_str, GN(playerid));
- ProxDetector(playerid, 10.0, COLOR_PURPLE, string);
- SetVehicleParamsEx(carid, false, lights, alarm, doors, bonnet, boot, objective);
- engine_state_check[carid] = false;
- }
- }
- }
- return true;
- }
- cmd:ban(playerid, params[])
- {
- if(player[playerid][padmin] < 1)
- return true;
- if(player[playerid][padmin] < 2)
- return SCM(playerid, COLOR_GREY, !"Вы не уполномочены использовать данную команду!");
- if(player[playerid][pakeys] == 0)
- return SCM(playerid, COLOR_WHITE, !"Введите команду /alogin");
- if(access_check{playerid} == false)
- return callcmd::alogin(playerid);
- if(sscanf(params, "iis[128]", params[0], params[1], params[2]))
- return SCM(playerid, COLOR_WHITE, !"Введите команду /ban [ID] [Дни] [Причина]");
- if(!IsPlayerConnected(params[0]))
- return SCM(playerid, COLOR_GREY, !"Игрок не найден!");
- if(login_check{params[0]} == false)
- return SCM(playerid, COLOR_GREY, !"Игрок не авторизован!");
- if(player[playerid][padmin] < player[params[0]][padmin])
- return SCM(playerid, COLOR_GREY, !"Вы не можете забанить администратора уровнем выше вашего!");
- if(params[1] < -1 || params[1] > 30)
- return SCM(playerid, COLOR_GREY, !"От 0 до 30 дней. -1 - Вечный бан!");
- if(params[1] == -1)
- {
- if(player[playerid][padmin] < 5)
- return SCM(playerid, COLOR_GREY, !"Вы не уполномочены использовать данную команду!");
- switch(player[params[0]][pmember])
- {
- case 1..3:
- {
- if(Iter_Contains(connect_cop, params[0]))
- Iter_Remove(connect_cop, params[0]);
- if(Iter_Contains(connect_gos, params[0]))
- Iter_Remove(connect_gos, params[0]);
- }
- }
- static const
- fmt_str[] = "Администратор %s забанил игрока %s. Причина: %s",
- fmt_str_2[] = "INSERT INTO `bans` (`Name`, `date`) VALUES ('%s', '1')";
- new
- string[sizeof(fmt_str)+128],
- string_2[sizeof(fmt_str_2)+MAX_PLAYER_NAME-1];
- format(string, sizeof(string), fmt_str, GN(playerid), GN(params[0]), params[2]);
- format(string_2, sizeof(string_2), fmt_str_2, GN(params[0]));
- SCMTA(COLOR_LIGHTRED, string);
- mysql_function_query(1, string_2, false, "","");
- player[params[0]][pmember] = 0;
- player[params[0]][pleader] = 0;
- player[params[0]][prank] = 0;
- SavePlayer(params[0], "Member", player[params[0]][pmember], "d");
- SavePlayer(params[0], "Rank", player[params[0]][pleader], "d");
- SavePlayer(params[0], "Leader", player[params[0]][prank], "d");
- Tkick(params[0]);
- return true;
- }
- switch(player[params[0]][pmember])
- {
- case 1..3:
- {
- if(Iter_Contains(connect_cop, params[0]))
- Iter_Remove(connect_cop, params[0]);
- if(Iter_Contains(connect_gos, params[0]))
- Iter_Remove(connect_gos, params[0]);
- }
- }
- unlock_date = gettime() + params[1]*86400;
- static const
- fmt_str[] = "Администратор %s забанил игрока %s на %d дней. Причина: %s",
- fmt_str_2[] = "INSERT INTO `bans` (`Name`, `date`) VALUES ('%s', '%d')";
- new
- string[sizeof(fmt_str)+128],
- string_2[sizeof(fmt_str_2)+MAX_PLAYER_NAME+8];
- format(string, sizeof(string), fmt_str, GN(playerid), GN(params[0]), params[1], params[2]);
- format(string_2, sizeof(string_2), fmt_str_2, GN(params[0]), unlock_date);
- mysql_function_query(1, string_2, false, "","");
- SCMTA(COLOR_LIGHTRED, string);
- player[params[0]][pmember] = 0;
- player[params[0]][pleader] = 0;
- player[params[0]][prank] = 0;
- SavePlayer(params[0], "Member", player[params[0]][pmember], "d");
- SavePlayer(params[0], "Rank", player[params[0]][pleader], "d");
- SavePlayer(params[0], "Leader", player[params[0]][prank], "d");
- Tkick(params[0]);
- return true;
- }
- cmd:sban(playerid, params[])
- {
- if(player[playerid][padmin] < 1)
- return true;
- if(player[playerid][padmin] < 5)
- return SCM(playerid, COLOR_GREY, !"Вы не уполномочены использовать данную команду!");
- if(player[playerid][pakeys] == 0)
- return SCM(playerid, COLOR_WHITE, !"Введите команду /alogin");
- if(access_check{playerid} == false)
- return callcmd::alogin(playerid);
- if(sscanf(params, "ii", params[0], params[1]))
- return SCM(playerid, COLOR_WHITE, !"Введите команду /sban [ID] [Дни]");
- if(!IsPlayerConnected(params[0]))
- return SCM(playerid, COLOR_GREY, !"Игрок не найден!");
- if(login_check{params[0]} == false)
- return SCM(playerid, COLOR_GREY, !"Игрок не авторизован!");
- if(player[playerid][padmin] < player[params[0]][padmin])
- return SCM(playerid, COLOR_GREY, !"Вы не можете забанить администратора уровнем выше вашего!");
- if(params[1] < -1 || params[1] > 30)
- return SCM(playerid, COLOR_GREY, !"От 0 до 30 дней. -1 - Вечный бан!");
- if(params[1] == -1)
- {
- switch(player[params[0]][pmember])
- {
- case 1..3:
- {
- if(Iter_Contains(connect_cop, params[0]))
- Iter_Remove(connect_cop, params[0]);
- if(Iter_Contains(connect_gos, params[0]))
- Iter_Remove(connect_gos, params[0]);
- }
- }
- static const
- fmt_str[] = "INSERT INTO `bans` (`Name`, `date`) VALUES ('%s', '1')";
- new
- string[sizeof(fmt_str)+MAX_PLAYER_NAME-1];
- format(string, sizeof(string), fmt_str, GN(params[0]));
- mysql_function_query(1, string, false, "","");
- player[params[0]][pmember] = 0;
- player[params[0]][pleader] = 0;
- player[params[0]][prank] = 0;
- SavePlayer(params[0], "Member", player[params[0]][pmember], "d");
- SavePlayer(params[0], "Rank", player[params[0]][pleader], "d");
- SavePlayer(params[0], "Leader", player[params[0]][prank], "d");
- Tkick(params[0]);
- return true;
- }
- switch(player[params[0]][pmember])
- {
- case 1..3:
- {
- if(Iter_Contains(connect_cop, params[0]))
- Iter_Remove(connect_cop, params[0]);
- if(Iter_Contains(connect_gos, params[0]))
- Iter_Remove(connect_gos, params[0]);
- }
- }
- unlock_date = gettime() + params[1]*86400;
- static const
- fmt_str[] = "INSERT INTO `bans` (`Name`, `date`) VALUES ('%s', '%d')";
- new
- string[sizeof(fmt_str)+MAX_PLAYER_NAME+8];
- format(string, sizeof(string), fmt_str, GN(params[0]), unlock_date);
- mysql_function_query(1, string, false, "","");
- player[params[0]][pmember] = 0;
- player[params[0]][pleader] = 0;
- player[params[0]][prank] = 0;
- SavePlayer(params[0], "Member", player[params[0]][pmember], "d");
- SavePlayer(params[0], "Rank", player[params[0]][pleader], "d");
- SavePlayer(params[0], "Leader", player[params[0]][prank], "d");
- Tkick(params[0]);
- return true;
- }
- cmd:reg(playerid, params[])
- {
- if(player[playerid][padmin] < 1)
- return true;
- if(player[playerid][padmin] < 5)
- return SCM(playerid, COLOR_GREY, !"Вы не уполномочены использовать данную команду!");
- if(player[playerid][pakeys] == 0)
- return SCM(playerid, COLOR_WHITE, !"Введите команду /alogin");
- if(access_check{playerid} == false)
- return callcmd::alogin(playerid);
- if(sscanf(params, "ii", params[0], params[1]))
- return SCM(playerid, COLOR_WHITE, !"Введите команду /reg [ID]");
- if(!IsPlayerConnected(params[0]))
- return SCM(playerid, COLOR_GREY, !"Игрок не найден!");
- if(login_check{params[0]} == false)
- return SCM(playerid, COLOR_GREY, !"Игрок не авторизован!");
- static const
- fmt_str[] =
- "\
- {FFFFFF}Имя: {FFFF00}%s\n\
- \n{FFFFFF}Дата регистрации: {FFFF00}%s\
- \n{FFFFFF}IP при регистрации: {FFFF00}%s\
- ";
- new
- string[sizeof(fmt_str)+MAX_PLAYER_NAME+29];
- format(string, sizeof(string), fmt_str, GN(params[0]), player[params[0]][pdata_reg], player[params[0]][pip]);
- SPD(playerid, 0, DSM, "Регистрационные данные", string, "Готово", "");
- return true;
- }
- cmd:cuff(playerid, params[])
- {
- switch(player[playerid][pmember])
- {
- case 1..3:
- {
- if(sscanf(params,"i", params[0]))
- return SCM(playerid, COLOR_WHITE, !"Введите команду /cuff [ID]");
- if(!IsPlayerConnected(params[0]))
- return SCM(playerid, COLOR_GREY, !"Игрок не найден!");
- if(login_check{params[0]} == false)
- return SCM(playerid, COLOR_GREY, !"Игрок не авторизован!");
- if(params[0] == playerid)
- return SCM(playerid, COLOR_GREY, !"Вы указали свой ID!");
- if(player[params[0]][pwanted] == 0 && handcuffs_check{params[0]} == false)
- return SCM(playerid, COLOR_GREY, !"Игрок должен находиться в розыске!");
- if(player[params[0]][pmember] > 0 && player[params[0]][pmember] < 4)
- return SCM(playerid, COLOR_GREY, !"Нельзя надеть наручники на законника!");
- if(IsPlayerInAnyVehicle(playerid))
- return SCM(playerid, COLOR_GREY, !"Нельзя использовать в транспорте!");
- if(IsPlayerInAnyVehicle(params[0]))
- return SCM(playerid, COLOR_GREY, !"Игрок находится в транспорте!");
- if(GetDistanceBetweenPlayers(playerid, params[0]) > 3.0)
- return SCM(playerid, COLOR_GREY, !"Игрок далеко от Вас!");
- if(handcuffs_check{params[0]} == true)
- {
- static const
- fmt_str[] = "Вы надели наручники на игрока %s[%d]",
- fmt_str_2[] = "%s надел на Вас наручники",
- fmt_str_3[] = "Сотрудник полиции %s проводит задержание преступника %s";
- new
- string[sizeof(fmt_str)+MAX_PLAYER_NAME],
- string_2[sizeof(fmt_str_2)+MAX_PLAYER_NAME-1],
- string_3[sizeof(fmt_str_3)+MAX_PLAYER_NAME*2-3];
- format(string, sizeof(string), fmt_str, GN(params[0]), params[0]);
- format(string_2, sizeof(string_2), fmt_str_2, GN(playerid));
- format(string_3, sizeof(string_3), fmt_str_3, GN(playerid), GN(params[0]));
- SCM(playerid, COLOR_BLUE, string);
- SCM(params[0], COLOR_BLUE, string_2);
- ProxDetector(playerid, 15.0, COLOR_PURPLE, string_3);
- SetPlayerSpecialAction(params[0], SPECIAL_ACTION_CUFFED);
- SetPlayerAttachedObject(params[0], 0, 19418, 6, -0.011000, 0.028000, -0.022000, -15.600012, -33.699977, -81.700035, 0.891999, 1.000000, 1.168000);
- taser_check{params[0]} = false;
- handcuffs_check{params[0]} = true;
- KillTimer(taser_timer[params[0]]);
- ClearAnimations(params[0]);
- Freeze(params[0], 0);
- return true;
- }
- static const
- fmt_str[] = "Вы сняли наручники с игрока %s[%d]",
- fmt_str_2[] = "%s снял с Вас наручники";
- new
- string[sizeof(fmt_str)+MAX_PLAYER_NAME],
- string_2[sizeof(fmt_str_2)+MAX_PLAYER_NAME-1];
- format(string, sizeof(string), fmt_str, GN(params[0]), params[0]);
- format(string_2, sizeof(string_2), fmt_str_2, GN(playerid));
- SCM(playerid, COLOR_BLUE, string);
- SCM(params[0], COLOR_BLUE, string_2);
- handcuffs_check{params[0]} = false;
- RemovePlayerAttachedObject(params[0], 0);
- SetPlayerSpecialAction(params[0], SPECIAL_ACTION_NONE);
- Freeze(params[0], 1);
- }
- default: SCM(playerid, COLOR_GREY, !"Вы не уполномочены использовать данную команду!");
- }
- return true;
- }
- cmd:freeze(playerid, params[])
- {
- if(player[playerid][padmin] < 1)
- return true;
- if(player[playerid][pakeys] == 0)
- return SCM(playerid, COLOR_WHITE, !"Введите команду /alogin");
- if(access_check{playerid} == false)
- return callcmd::alogin(playerid);
- if(sscanf(params, "ii", params[0], params[1]))
- return SCM(playerid, COLOR_WHITE, !"Введите команду /freeze [ID]");
- if(!IsPlayerConnected(params[0]))
- return SCM(playerid, COLOR_GREY, !"Игрок не найден!");
- if(login_check{params[0]} == false)
- return SCM(playerid, COLOR_GREY, !"Игрок не авторизован!");
- if(freeze_player_check{params[0]} == false)
- {
- static const
- fmt_str[] = "Администратор %s заморозил Вас",
- fmt_str_2[] = "Вы заморозили игрока %s";
- new
- string[sizeof(fmt_str)+MAX_PLAYER_NAME-1],
- string_2[sizeof(fmt_str_2)+MAX_PLAYER_NAME-1];
- format(string, sizeof(string), fmt_str, GN(playerid));
- format(string_2, sizeof(string_2), fmt_str_2, GN(params[0]));
- SCM(params[0], COLOR_BLUE, string);
- SCM(playerid, COLOR_BLUE, string_2);
- freeze_player_check{params[0]} = true;
- Freeze(params[0], 0);
- }
- else
- {
- static const
- fmt_str[] = "Администратор %s разморозил Вас",
- fmt_str_2[] = "Вы разморозили игрока %s";
- new
- string[sizeof(fmt_str)+MAX_PLAYER_NAME-1],
- string_2[sizeof(fmt_str_2)+MAX_PLAYER_NAME-1];
- format(string, sizeof(string), fmt_str, GN(playerid));
- format(string_2, sizeof(string_2), fmt_str_2, GN(params[0]));
- SCM(params[0], COLOR_BLUE, string);
- SCM(playerid, COLOR_BLUE, string_2);
- freeze_player_check{params[0]} = false;
- Freeze(params[0], 1);
- }
- return true;
- }
- cmd:tazer(playerid, params[])
- {
- switch(player[playerid][pmember])
- {
- case 1..3:
- {
- if(sscanf(params,"i", params[0]))
- return SCM(playerid, COLOR_WHITE, !"Введите команду /tazer [ID]");
- if(!IsPlayerConnected(params[0]))
- return SCM(playerid, COLOR_GREY, !"Игрок не найден!");
- if(login_check{params[0]} == false)
- return SCM(playerid, COLOR_GREY, !"Игрок не авторизован!");
- if(params[0] == playerid)
- return SCM(playerid, COLOR_GREY, !"Вы указали свой ID!");
- if(player[params[0]][pmember] > 0 && player[params[0]][pmember] < 4)
- return SCM(playerid, COLOR_GREY, !"Нельзя ударить шокером законника!");
- if(IsPlayerInAnyVehicle(playerid))
- return SCM(playerid, COLOR_GREY, !"Нельзя использовать в транспорте!");
- if(IsPlayerInAnyVehicle(params[0]))
- return SCM(playerid, COLOR_GREY, !"Игрок находится в транспорте!");
- if(GetDistanceBetweenPlayers(playerid, params[0]) > 5.0)
- return SCM(playerid, COLOR_GREY, !"Игрок далеко от Вас!");
- if(taser_check{params[0]} == true)
- return SCM(playerid, COLOR_GREY, !"Игрок уже обездвижен!");
- static const
- fmt_str[] = "Вы обездвижили игрока %s[%d]",
- fmt_str_2[] = "%s обездвижил Вас",
- fmt_str_3[] = "Сотрудник полиции %s ударил шокером %s";
- new
- string[sizeof(fmt_str)+MAX_PLAYER_NAME],
- string_2[sizeof(fmt_str_2)+MAX_PLAYER_NAME-1],
- string_3[sizeof(fmt_str_3)+MAX_PLAYER_NAME*2-3];
- format(string, sizeof(string), fmt_str, GN(params[0]), params[0]);
- format(string_2, sizeof(string_2), fmt_str_2, GN(playerid));
- format(string_3, sizeof(string_3), fmt_str_3, GN(playerid), GN(params[0]));
- SCM(playerid, COLOR_BLUE, string);
- SCM(params[0], COLOR_BLUE, string_2);
- ProxDetector(playerid, 15.0, COLOR_PURPLE, string_3);
- Freeze(params[0], 0);
- taser_check{params[0]} = true;
- taser_timer[params[0]] = SetTimerEx("@_TimeTaser", 15_000, false, "i", params[0]);
- }
- default: SCM(playerid, COLOR_GREY, !"Вы не уполномочены использовать данную команду!");
- }
- return true;
- }
- cmd:su(playerid, params[])
- {
- switch(player[playerid][pmember])
- {
- case 1..3:
- {
- if(sscanf(params,"is[128]", params[0], params[1]))
- return SCM(playerid, COLOR_WHITE, !"Введите команду /su [ID] [Причина]");
- if(!IsPlayerConnected(params[0]))
- return SCM(playerid, COLOR_GREY, !"Игрок не найден!");
- if(login_check{params[0]} == false)
- return SCM(playerid, COLOR_GREY, !"Игрок не авторизован!");
- if(params[0] == playerid)
- return SCM(playerid, COLOR_GREY, !"Вы указали свой ID!");
- if(player[params[0]][pmember] > 0 && player[params[0]][pmember] < 4)
- return SCM(playerid, COLOR_GREY, !"Нельзя дать розыск законнику!");
- if(player[params[0]][pwanted] == 6)
- return SCM(playerid, COLOR_GREY, !"У игрока максимальный уровень розыска!");
- static const
- fmt_str[] = "%s выдал розыск игроку %s[%d]. Причрна: %s",
- fmt_str_2[] = "%s выдвал Вам розыск. Причина: %s";
- new
- string[sizeof(fmt_str)+128],
- string_2[sizeof(fmt_str_2)+128];
- format(string, sizeof(string), fmt_str, GN(playerid), GN(params[0]), params[0], params[1]);
- format(string_2, sizeof(string_2), fmt_str_2, GN(playerid), params[1]);
- MembersCop(COLOR_ORANGE, string);
- SCM(params[0], COLOR_BLUE, string_2);
- player[params[0]][pwanted] ++;
- player[params[0]][pwanted_time] += 600;
- SavePlayer(params[0], "Wanted", player[params[0]][pwanted], "d");
- SetPlayerWantedLevel(params[0], player[params[0]][pwanted]);
- KillTimer(search_timer[params[0]]);
- search_timer[params[0]] = SetTimerEx("@_SuTimer", 1000, false, "i", params[0]);
- }
- default: SCM(playerid, COLOR_GREY, !"Вы не уполномочены использовать данную команду!");
- }
- return true;
- }
- cmd:gps(playerid)
- {
- if(checkpoint_accept{playerid} == true)
- {
- DisablePlayerRaceCheckpoint(playerid);
- checkpoint_accept{playerid} = false;
- GameTextForPlayer(playerid, "~r~GPS OFF", 5000, 1);
- }
- SPD(playerid, 20, DSL, "GPS навигатор",
- "\
- - Важные места\
- \n- Организации", "Выбрать", "Отмена\
- ");
- return true;
- }
- cmd:tp(playerid)
- {
- if(player[playerid][padmin] < 1)
- return true;
- if(player[playerid][pakeys] == 0)
- return SCM(playerid, COLOR_WHITE, !"Введите команду /alogin");
- if(access_check{playerid} == false)
- return callcmd::alogin(playerid);
- SPD(playerid, 23, DSL, "Телепорт",
- "\
- - Фракции\
- \n- Остальные", "Выбрать", "Отмена\
- ");
- return true;
- }
- CMD:sms(playerid, params[])
- {
- if(player[playerid][pmute] > 0)
- {
- SCM(playerid, COLOR_RED, !"У Вас бан чата!");
- return false;
- }
- if(sscanf(params, "is[128]", params[0], params[1]))
- return SCM(playerid, COLOR_WHITE, !"Введите команду /sms [ID] [Текст]");
- if(!IsPlayerConnected(params[0]))
- return SCM(playerid, COLOR_GREY, !"Игрок не найден!");
- if(login_check{params[0]} == false)
- return SCM(playerid, COLOR_GREY, !"Игрок не авторизован!");
- if(params[0] == playerid)
- return SCM(playerid, COLOR_GREY, !"Вы указали свой ID!");
- static const
- fmt_str[] = "SMS: %s. Отправитель: %s[%d]",
- fmt_str_2[] = "SMS: %s. Получатель: %s[%d]",
- fmt_str_3[] = "%s достал(а) телефон";
- new
- string[sizeof(fmt_str)+128],
- string_2[sizeof(fmt_str_2)+128],
- string_3[sizeof(fmt_str_3)+MAX_PLAYER_NAME-1];
- format(string, sizeof(string), fmt_str, params[1], GN(playerid), playerid);
- format(string_2, sizeof(string_2), fmt_str_2, params[1], GN(params[0]), params[0]);
- format(string_3, sizeof(string_3), fmt_str_3, GN(playerid));
- SCM(params[0], COLOR_YELLOW, string);
- SCM(playerid, COLOR_YELLOW, string_2);
- SCM(playerid, COLOR_WHITE, !"Сообщение отправлено");
- ProxDetector(playerid, 20.0, COLOR_PURPLE, string_3);
- return true;
- }
- cmd:radio(playerid, params[])
- {
- if(player[playerid][pmute] > 0)
- {
- SCM(playerid, COLOR_RED, !"У Вас бан чата!");
- return false;
- }
- if(sscanf(params,"s[128]", params[0]))
- return SCM(playerid, COLOR_WHITE, !"Введите команду (/r)adio [Текст]");
- new
- rank[13+1];
- switch(player[playerid][pmember])
- {
- case 1..3: rank = fraction_ranks_pd[player[playerid][prank]];
- default: SCM(playerid, COLOR_GREY, !"Вы не уполномочены использовать данную команду!");
- }
- static const
- fmt_str[] = "[R] %s %s[%d]: %s";
- new
- string[sizeof(fmt_str)+128];
- format(string, sizeof(string), fmt_str, rank, GN(playerid), playerid, params[0]);
- MembersGos(player[playerid][pmember], 0x928AFFFF, string);
- return true;
- }
- alias:radio("r");
- cmd:time(playerid)
- {
- gettime(hour_server, minute_server, second_server);
- static
- const fmt_str[] = "~g~%02d:%02d:%02d";
- new
- string[sizeof(fmt_str)+1];
- format(string, sizeof(string), fmt_str, hour_server, minute_server, second_server);
- GameTextForPlayer(playerid, string, 3000, 1);
- return true;
- }
- cmd:ooc(playerid, params[])
- {
- if(player[playerid][pmute] > 0)
- {
- SCM(playerid, COLOR_RED, !"У Вас бан чата!");
- return false;
- }
- if(sscanf(params, "s[128]", params[0]))
- return SCM(playerid, COLOR_WHITE, !"Введите команду (/o)oc [Текст]");
- if(player[playerid][padmin] > 0 || noooc_check == true)
- {
- if(noooc_time_check > gettime())
- return SCM(playerid, COLOR_GREY, !"Общий чат недоступен!");
- noooc_time_check = gettime()+noooc_time;
- static const
- fmt_str[] = "<< %s[%d]: %s >>";
- new
- string[sizeof(fmt_str)+128];
- format(string, sizeof(string), fmt_str, GN(playerid), playerid, params[0]);
- SCMTA(COLOR_WHITE, string);
- }
- else
- SCM(playerid, COLOR_GREY, !"Общий чат недоступен!");
- return true;
- }
- alias:ooc("o");
- cmd:noooc(playerid, params[])
- {
- if(player[playerid][padmin] < 1)
- return true;
- if(player[playerid][pakeys] == 0)
- return SCM(playerid, COLOR_WHITE, !"Введите команду /alogin");
- if(access_check{playerid} == false)
- return callcmd::alogin(playerid);
- if(sscanf(params, "i", params[0]))
- return SCM(playerid, COLOR_WHITE, !"Введите команду /noooc [Время]");
- if(params[0] < -1 || params[0] > 60)
- return SCM(playerid, COLOR_GREY, !"-1 - выключить общий чат, 0-60 - время антифлуда в OOC чат!");
- if(params[0] == -1)
- {
- SCMTA(COLOR_WHITE, !"Общий чат отключён");
- noooc_check = false;
- return true;
- }
- noooc_check = true;
- noooc_time = params[0];
- SCMTA(COLOR_WHITE, !"Общий чат включён");
- return true;
- }
- cmd:aad(playerid, params[])
- {
- if(player[playerid][padmin] < 1)
- return true;
- if(player[playerid][pakeys] == 0)
- return SCM(playerid, COLOR_WHITE, !"Введите команду /alogin");
- if(access_check{playerid} == false)
- return callcmd::alogin(playerid);
- if(player[playerid][pmute] > 0)
- {
- SCM(playerid, COLOR_RED, !"У Вас бан чата!");
- return false;
- }
- if(sscanf(params, "s[128]", params[0]))
- return SCM(playerid, COLOR_WHITE, !"Введите команду /aad [Текст]");
- static const
- fmt_str[] = "Администратор %s: %s";
- new
- string[sizeof(fmt_str)+128];
- format(string, sizeof(string), fmt_str, GN(playerid), params[0]);
- SCMTA(COLOR_LIGHTRED, string);
- return true;
- }
- cmd:getstats(playerid, params[])
- {
- if(player[playerid][padmin] < 1)
- return true;
- if(player[playerid][pakeys] == 0)
- return SCM(playerid, COLOR_WHITE, !"Введите команду /alogin");
- if(access_check{playerid} == false)
- return callcmd::alogin(playerid);
- if(sscanf(params, "i", params[0]))
- return SCM(playerid, COLOR_WHITE, !"Введите команду /getstats [ID]");
- if(!IsPlayerConnected(params[0]))
- return SCM(playerid, COLOR_GREY, !"Игрок не найден!");
- if(login_check{params[0]} == false)
- return SCM(playerid, COLOR_GREY, !"Игрок не авторизован!");
- ShowStats(playerid, params[0]);
- return true;
- }
- cmd:veh(playerid, params[])
- {
- if(player[playerid][padmin] < 1)
- return true;
- if(player[playerid][padmin] < 3)
- return SCM(playerid, COLOR_GREY, !"Вы не уполномочены использовать данную команду!");
- if(player[playerid][pakeys] == 0)
- return SCM(playerid, COLOR_WHITE, !"Введите команду /alogin");
- if(access_check{playerid} == false)
- return callcmd::alogin(playerid);
- if(sscanf(params, "iii", params[0], params[1], params[2]))
- return SCM(playerid, COLOR_WHITE, !"Введите команду /veh [ID транспорта] [Цвет №1] [Цвет №2]");
- if(params[0] < 400 || params[0] > 611)
- return SCM(playerid, COLOR_GREY, !"ID транспорта от 400 до 611!");
- if(params[1] < 0 || params[1] > 255 || params[2] < 0 || params[2] > 255)
- return SCM(playerid, COLOR_GREY, !"ID цвета от 0 до 255!");
- static const
- fmt_str[] = "Транспорт ID: %d создан. Для удаления транспорта введите /delcar";
- new
- string[sizeof(fmt_str)+2],
- Float: X,
- Float: Y,
- Float: Z;
- format(string, sizeof(string), fmt_str, params[0]);
- SCM(playerid, COLOR_YELLOW, string);
- GetPlayerPos(playerid, X, Y, Z);
- CreateVehicle(params[0], X+3.0, Y, Z+1, 0.0, params[1], params[2], 99_999);
- return true;
- }
- cmd:givegun(playerid, params[])
- {
- if(player[playerid][padmin] < 1)
- return true;
- if(player[playerid][padmin] < 5)
- return SCM(playerid, COLOR_GREY, !"Вы не уполномочены использовать данную команду!");
- if(player[playerid][pakeys] == 0)
- return SCM(playerid, COLOR_WHITE, !"Введите команду /alogin");
- if(access_check{playerid} == false)
- return callcmd::alogin(playerid);
- if(sscanf(params, "iii", params[0], params[1], params[2]))
- return SCM(playerid, COLOR_WHITE, !"Введите команду /givegun [ID] [ID оружия] [Патроны]");
- if(!IsPlayerConnected(params[0]))
- return SCM(playerid, COLOR_GREY, !"Игрок не найден!");
- if(login_check{params[0]} == false)
- return SCM(playerid, COLOR_GREY, !"Игрок не авторизован!");
- if(params[1] < 0 || params[1] > 46)
- return SCM(playerid, COLOR_GREY, !"ID оружия от 0 до 46!");
- if(params[2] < 1 || params[2] > 10000)
- return SCM(playerid, COLOR_GREY, !"Количество патрон от 0 до 10.000!");
- static const
- fmt_str[] = "Администратор %s создал игроку %s оружие ID: %d %d патрон";
- new
- string[sizeof(fmt_str)+MAX_PLAYER_NAME];
- format(string, sizeof(string), fmt_str, GN(playerid), GN(params[0]), params[1], params[2]);
- AdmChat(COLOR_ORANGE, string);
- GivePlayerWeapon(params[0], params[1], params[2]);
- return true;
- }
- cmd:delcar(playerid)
- {
- if(player[playerid][padmin] < 1)
- return true;
- if(player[playerid][padmin] < 3)
- return SCM(playerid, COLOR_GREY, !"Вы не уполномочены использовать данную команду!");
- if(player[playerid][pakeys] == 0)
- return SCM(playerid, COLOR_WHITE, !"Введите команду /alogin");
- if(access_check{playerid} == false)
- return callcmd::alogin(playerid);
- if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER)
- return SCM(playerid, COLOR_GREY, !"Вы должны находится в транспорте!");
- new
- carid = GetPlayerVehicleID(playerid);
- engine_state_check[carid] = false;
- SCM(playerid, COLOR_RED, !"Транспорт удалён");
- DestroyVehicle(carid);
- return true;
- }
- cmd:spawn(playerid)
- {
- if(player[playerid][padmin] < 1)
- return true;
- if(player[playerid][pakeys] == 0)
- return SCM(playerid, COLOR_WHITE, !"Введите команду /alogin");
- if(access_check{playerid} == false)
- return callcmd::alogin(playerid);
- SetPlayerSpawn(playerid);
- return true;
- }
- cmd:setspawn(playerid, params[])
- {
- if(player[playerid][padmin] < 1)
- return true;
- if(player[playerid][padmin] < 3)
- return SCM(playerid, COLOR_GREY, !"Вы не уполномочены использовать данную команду!");
- if(player[playerid][pakeys] == 0)
- return SCM(playerid, COLOR_WHITE, !"Введите команду /alogin");
- if(access_check{playerid} == false)
- return callcmd::alogin(playerid);
- if(sscanf(params, "i", params[0]))
- return SCM(playerid, COLOR_WHITE, !"Введите команду /setspawn [ID]");
- if(!IsPlayerConnected(params[0]))
- return SCM(playerid, COLOR_GREY, !"Игрок не найден!");
- if(login_check{params[0]} == false)
- return SCM(playerid, COLOR_GREY, !"Игрок не авторизован!");
- SetPlayerSpawn(params[0]);
- return true;
- }
- cmd:setarmour(playerid, params[])
- {
- if(player[playerid][padmin] < 1)
- return true;
- if(player[playerid][padmin] < 4)
- return SCM(playerid, COLOR_GREY, !"Вы не уполномочены использовать данную команду!");
- if(player[playerid][pakeys] == 0)
- return SCM(playerid, COLOR_WHITE, !"Введите команду /alogin");
- if(access_check{playerid} == false)
- return callcmd::alogin(playerid);
- if(sscanf(params, "ii", params[0], params[1]))
- return SCM(playerid, COLOR_WHITE, !"Введите команду /setarmour [ID] [Броня]");
- if(!IsPlayerConnected(params[0]))
- return SCM(playerid, COLOR_GREY, !"Игрок не найден!");
- if(login_check{params[0]} == false)
- return SCM(playerid, COLOR_GREY, !"Игрок не авторизован!");
- if(params[1] < 0 || params[1] > 100)
- return SCM(playerid, COLOR_GREY, !"Значение брони от 0 до 100!");
- SetPlayerArmour(params[0], params[1]);
- return true;
- }
- cmd:sethp(playerid, params[])
- {
- if(player[playerid][padmin] < 1)
- return true;
- if(player[playerid][padmin] < 4)
- return SCM(playerid, COLOR_GREY, !"Вы не уполномочены использовать данную команду!");
- if(player[playerid][pakeys] == 0)
- return SCM(playerid, COLOR_WHITE, !"Введите команду /alogin");
- if(access_check{playerid} == false)
- return callcmd::alogin(playerid);
- if(sscanf(params, "ii", params[0], params[1]))
- return SCM(playerid, COLOR_WHITE, !"Введите команду /sethp [ID] [Здоровье]");
- if(!IsPlayerConnected(params[0]))
- return SCM(playerid, COLOR_GREY, !"Игрок не найден!");
- if(login_check{params[0]} == false)
- return SCM(playerid, COLOR_GREY, !"Игрок не авторизован!");
- if(params[1] < 0 || params[1] > 200)
- return SCM(playerid, COLOR_GREY, !"Значение здоровья от 0 до 200!");
- SetPlayerHealth(params[0], params[1]);
- return true;
- }
- cmd:akey(playerid, params[])
- {
- if(player[playerid][padmin] < 1)
- return true;
- if(player[playerid][pakeys] == 0)
- return SCM(playerid, COLOR_WHITE, !"Введите команду /alogin");
- if(access_check{playerid} == false)
- return callcmd::alogin(playerid);
- if(sscanf(params, "s[128]", params[0]))
- return SCM(playerid, COLOR_WHITE, !"Введите команду /akey [Пароль]");
- if(strlen(params[0]) < 6 || strlen(params[0]) > 20)
- return SCM(playerid, COLOR_GREY, !"Неверная длина пароля!");
- strmid(player[playerid][pakey], params[0], 0, strlen(params[0]), 20+1);
- SavePlayer(playerid, "Admin Pass", params[0], "s");
- static const
- fmt_str[] = "Новый админ пароль: %s";
- new
- string[sizeof(fmt_str)+19];
- format(string, sizeof(string), fmt_str, params[0]);
- SCM(playerid, COLOR_WHITE, string);
- return true;
- }
- cmd:goto(playerid, params[])
- {
- if(player[playerid][padmin] < 1)
- return true;
- if(player[playerid][pakeys] == 0)
- return SCM(playerid, COLOR_WHITE, !"Введите команду /alogin");
- if(access_check{playerid} == false)
- return callcmd::alogin(playerid);
- if(sscanf(params, "i", params[0]))
- return SCM(playerid, COLOR_WHITE, !"Введите команду (/g)oto [ID]");
- if(!IsPlayerConnected(params[0]))
- return SCM(playerid, COLOR_GREY, !"Игрок не найден!");
- if(login_check{params[0]} == false)
- return SCM(playerid, COLOR_GREY, !"Игрок не авторизован!");
- if(params[0] == playerid)
- return SCM(playerid, COLOR_GREY, !"Вы указали свой ID!");
- new
- carid = GetPlayerVehicleID(playerid),
- interior = GetPlayerInterior(params[0]),
- world = GetPlayerVirtualWorld(params[0]),
- Float: X,
- Float: Y,
- Float: Z;
- GetPlayerPos(params[0], X, Y, Z);
- if(GetPlayerState(playerid) == 2)
- {
- if(world != 0 || interior != 0)
- return SCM(playerid, COLOR_GREY, !"Игрок находится в интерьере/другом виртуальном мире!");
- SetVehiclePos(carid, X, Y+4, Z);
- }
- else
- {
- SetPlayerPos(playerid, X, Y+2, Z);
- SetPlayerVirtualWorld(playerid, world);
- SetPlayerInterior(playerid, interior);
- }
- return true;
- }
- alias:goto("g");
- cmd:gethere(playerid, params[])
- {
- if(player[playerid][padmin] < 1)
- return true;
- if(player[playerid][padmin] < 2)
- return SCM(playerid, COLOR_GREY, !"Вы не уполномочены использовать данную команду!");
- if(player[playerid][pakeys] == 0)
- return SCM(playerid, COLOR_WHITE, !"Введите команду /alogin");
- if(access_check{playerid} == false)
- return callcmd::alogin(playerid);
- if(sscanf(params, "i", params[0]))
- return SCM(playerid, COLOR_WHITE, !"Введите команду /gethere [ID]");
- if(!IsPlayerConnected(params[0]))
- return SCM(playerid, COLOR_GREY, !"Игрок не найден!");
- if(login_check{params[0]} == false)
- return SCM(playerid, COLOR_GREY, !"Игрок не авторизован!");
- if(params[0] == playerid)
- return SCM(playerid, COLOR_GREY, !"Вы указали свой ID!");
- new
- interior = GetPlayerInterior(params[0]),
- world = GetPlayerVirtualWorld(params[0]),
- Float: X,
- Float: Y,
- Float: Z;
- static const
- fmt_str[] = "Администратор %s телепортировал Вас к себе";
- new
- string[sizeof(fmt_str)+MAX_PLAYER_NAME-1];
- format(string, sizeof(string), fmt_str, GN(playerid));
- SCM(params[0], COLOR_WHITE, string);
- GetPlayerPos(playerid, X, Y, Z);
- SetPlayerPos(params[0], X, Y+2, Z);
- SetPlayerInterior(params[0], interior);
- SetPlayerVirtualWorld(params[0], world);
- return true;
- }
- cmd:mute(playerid, params[])
- {
- if(player[playerid][padmin] < 1)
- return true;
- if(player[playerid][padmin] < 2)
- return SCM(playerid, COLOR_GREY, !"Вы не уполномочены использовать данную команду!");
- if(player[playerid][pakeys] == 0)
- return SCM(playerid, COLOR_WHITE, !"Введите команду /alogin");
- if(access_check{playerid} == false)
- return callcmd::alogin(playerid);
- if(sscanf(params, "iis[128]", params[0], params[1], params[2]))
- return SCM(playerid, COLOR_WHITE, !"Введите команду /mute [ID] [Минуты] [Причина]");
- if(!IsPlayerConnected(params[0]))
- return SCM(playerid, COLOR_GREY, !"Игрок не найден!");
- if(login_check{params[0]} == false)
- return SCM(playerid, COLOR_GREY, !"Игрок не авторизован!");
- if(player[params[0]][pmute] > 0)
- return SCM(playerid, COLOR_GREY, !"У игрока уже бан чата!");
- if(params[1] < 1 || params[1] > 600)
- return SCM(playerid, COLOR_GREY, !"Введите время от 1 до 600 минут!");
- if(player[params[0]][pmute] > 0)
- {
- static const
- fmt_str[] = "Администратор %s снял бан чата игроку %s",
- fmt_str_2[] = "Администратор %s снял Вам бан чата";
- new
- string[sizeof(fmt_str)+MAX_PLAYER_NAME*2-3],
- string_2[sizeof(fmt_str_2)+MAX_PLAYER_NAME-1];
- format(string, sizeof(string), fmt_str, GN(playerid), GN(params[0]));
- format(string_2, sizeof(string_2), fmt_str_2, GN(playerid));
- SCMTA(COLOR_LIGHTRED, string);
- SCM(params[0], COLOR_LIGHTRED, string_2);
- player[params[0]][pmute] = 0;
- SavePlayer(params[0], "Mute", player[params[0]][pmute], "d");
- }
- else
- {
- static const
- fmt_str[] = "Администратор %s выдал бан чата игроку %s на %d минут. Причина: %s",
- fmt_str_2[] = "Администратор %s выдал Вам бан чата на %d минут. Причина: %s";
- new
- string[sizeof(fmt_str)+MAX_PLAYER_NAME*2+70],
- string_2[sizeof(fmt_str_2)+MAX_PLAYER_NAME+90];
- format(string, sizeof(string), fmt_str, GN(playerid), GN(params[0]), params[1], params[2]);
- format(string_2, sizeof(string_2), fmt_str_2, GN(playerid), params[1], params[2]);
- SCMTA(COLOR_LIGHTRED, string);
- SCM(params[0], COLOR_LIGHTRED, string_2);
- player[params[0]][pmute] = params[1]*60;
- SavePlayer(params[0], "Mute", player[params[0]][pmute], "d");
- }
- return true;
- }
- CMD:admins(playerid)
- {
- if(player[playerid][padmin] > 0 || player[playerid][pleader] > 0)
- {
- SCM(playerid, COLOR_YELLOW, !"Администраторы онлайн:");
- foreach(new i : connect_admins)
- {
- static const
- fmt_str[] = "%s[%d]";
- new
- string[sizeof(fmt_str)+MAX_PLAYER_NAME];
- format(string, sizeof(string), fmt_str , GN(i), i);
- SCM(playerid, COLOR_ORANGE, string);
- }
- }
- else
- SCM(playerid, COLOR_GREY, !"Вы не уполномочены использовать данную команду!");
- return true;
- }
- cmd:fall(playerid)
- {
- if(player[playerid][padmin] < 1)
- return true;
- if(player[playerid][pakeys] == 0)
- return SCM(playerid, COLOR_WHITE, !"Введите команду /alogin");
- if(access_check{playerid} == false)
- return callcmd::alogin(playerid);
- new
- Float: X,
- Float: Y,
- Float: Z;
- GetPlayerPos(playerid, X, Y, Z);
- foreach(new i: Player)
- {
- if(i != playerid)
- {
- if(!IsPlayerInRangeOfPoint(i, 10.0, X, Y, Z))
- continue;
- SetPlayerSpecialAction(i, SPECIAL_ACTION_HANDSUP);
- Freeze(i, 0);
- SetTimerEx("@_TimeTaser", 15_000, false, "i", i);
- static const
- fmt_str[] = "Администратор %s оглушил Вас шокером";
- new
- string[sizeof(fmt_str)+MAX_PLAYER_NAME-1];
- format(string, sizeof(string), fmt_str , GN(playerid));
- SCM(i, COLOR_BLUE, string);
- SCM(playerid, COLOR_BLUE, !"Вы оглушили рядомстоящих игроков шокером");
- }
- }
- return true;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement