Advertisement
LeonusDHL

Untitled

Dec 28th, 2018
270
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 28.51 KB | None | 0 0
  1. #define SCM                     SendClientMessage
  2. #define SCMTA                   SendClientMessageToAll
  3. #define SPD                     ShowPlayerDialog
  4. #define DSM                     DIALOG_STYLE_MSGBOX
  5. #define GN(%1)                  pInfo[%1][pName]
  6. #define INFINITY                (Float:0x7F800000)
  7. #define MYSQL_HOST              "194.58.96.225"
  8. #define MYSQL_USER              "botproverka"
  9. #define MYSQL_DATABASE          "valverde_database22"
  10. #define MYSQL_PASSWORD          "5X8h2P0o"
  11.  
  12. #include <a_samp>
  13. #include <a_mysql>
  14. #include <dc_cmd>
  15. #include <sscanf2>
  16. #include <foreach>
  17. #include <L_Colors>
  18. #include <enum>
  19.  
  20. new MySQL:mysql_connect_ID;
  21. new player_is_authorized[MAX_PLAYERS char];
  22. new MapTP;
  23. new pukanulebat[MAX_PLAYERS];
  24.  
  25. main()
  26. {
  27.     print("\n ----------------------------------");
  28.     print("---------+18-North States-+18-------");
  29.     print(" ----------------------------------\n");
  30. }
  31.  
  32. public OnGameModeInit()
  33. {
  34.     mysql_connect_ID = mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_PASSWORD, MYSQL_DATABASE);
  35.     SetGameModeText("NS RP | RU UK");
  36.     AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
  37.     return 1;
  38. }
  39.  
  40. public OnGameModeExit()
  41. {
  42.     mysql_close(mysql_connect_ID);
  43.     return 1;
  44. }
  45.  
  46. public OnPlayerRequestClass(playerid, classid)
  47. {
  48.     SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
  49.     SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
  50.     SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
  51.     return 1;
  52. }
  53.  
  54. public OnPlayerConnect(playerid)
  55. {
  56.     GetPlayerName(playerid, pInfo[playerid][pName], MAX_PLAYER_NAME);
  57.     new query_string[49+MAX_PLAYER_NAME-4];
  58.     format(query_string, sizeof(query_string), "SELECT * FROM `accounts` WHERE `player_name` = '%s'", pInfo[playerid][pName]);
  59.     mysql_tquery(mysql_connect_ID, query_string, "FindPlayerInTable","i", playerid);
  60.     return 1;
  61. }
  62.  
  63. public OnPlayerDisconnect(playerid, reason)
  64. {
  65.     SaveAccount(playerid);
  66.     RemovePlayerInfo(playerid);
  67.     MapTP = 0;
  68.     return 1;
  69. }
  70.  
  71. public OnPlayerSpawn(playerid)
  72. {
  73.     return 1;
  74. }
  75.  
  76. public OnPlayerDeath(playerid, killerid, reason)
  77. {
  78.     return 1;
  79. }
  80.  
  81. public OnVehicleSpawn(vehicleid)
  82. {
  83.     return 1;
  84. }
  85.  
  86. public OnVehicleDeath(vehicleid, killerid)
  87. {
  88.     return 1;
  89. }
  90.  
  91. public OnPlayerText(playerid, text[])
  92. {
  93.     if(player_is_authorized{playerid} == 0)
  94.     {
  95.         SCM(playerid, -1, "Вы не авторизировались и не можете писать в чат!");
  96.         return 0;
  97.     }
  98.     return 1;
  99. }
  100.  
  101. public OnPlayerCommandText(playerid, cmdtext[])
  102. {
  103.     new cmd[128];
  104.     new string[256];
  105. //===========================================================================================================
  106.     if(strcmp(cmdtext, "/cc", true) == 0 || strcmp(cmdtext, "/clearchat", true) == 0)
  107.     {
  108.         if(pInfo[playerid][pAdmin] >= 2){
  109.             for(new i = 0; i < 100; i++)
  110.             {
  111.                 SendClientMessageToAll(COLOR_WHITE, " ");
  112.             }
  113.         }
  114.         else
  115.         {
  116.             SCM(playerid, COLOR_WHITE, "");
  117.         }
  118.         return 1;
  119.     }
  120. //===========================================================================================================
  121.     if(strcmp(cmdtext, "/bull", true, 10) == 0)
  122.     {
  123.         if(IsPlayerConnected(playerid))
  124.         {
  125.             if(pukanulebat[playerid] == 0)
  126.             {
  127.                 SetPlayerAttachedObject( playerid, 1, 18694, 1, -0.344386, 0.290451, 1.574107, 177.343902, 359.412261, 0.000000, 1.000000, 1.000000, 1.000000 );
  128.                 SCM(playerid,COLOR_YELLOW,"*Ёбынй врот!! Хули так воняет?");
  129.                 pukanulebat[playerid] = 1;
  130.             }
  131.             else
  132.             {
  133.                 RemovePlayerAttachedObject(playerid, 1);
  134.                 SCM(playerid,COLOR_YELLOW,"*Ну с облегчением тебя гандон");
  135.                 pukanulebat[playerid] = 0;
  136.             }
  137.         }
  138.         return 1;
  139.     }
  140. //===========================================================================================================
  141.     if (strcmp(cmd, "/admins", true) == 0)
  142.     {
  143.         new sendername[MAX_PLAYER_NAME];
  144.         if(IsPlayerConnected(playerid))
  145.         {
  146.             if(pInfo[playerid][pAdmin] < 1) return SCM(playerid, COLOR_GRAD1, "{ffffff}-.");
  147.             SCM(playerid, COLOR_GREY, "{6699FF} Администрация {fff800}Online");
  148.             for(new i = 0; i < MAX_PLAYERS; i++)
  149.             {
  150.                 if(IsPlayerConnected(i))
  151.                 {
  152.                     if(pInfo[i][pAdmin] >= 0)
  153.                     {
  154.                         GetPlayerName(i, sendername, sizeof(sendername));
  155.                         format(string, 256, "{6699FF}Администратор[%d]: {99ff99} %s {6699FF} [id: %d]",pInfo[i][pAdmin], sendername, i);
  156.                         SCM(playerid, COLOR_GREY, string);
  157.                     }
  158.                 }
  159.             }
  160.         }
  161.         return 1;
  162.     }
  163. //===========================================================================================================
  164.     return 0;
  165. }
  166.  
  167. public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
  168. {
  169.     return 1;
  170. }
  171.  
  172. public OnPlayerExitVehicle(playerid, vehicleid)
  173. {
  174.     return 1;
  175. }
  176.  
  177. public OnPlayerStateChange(playerid, newstate, oldstate)
  178. {
  179.     return 1;
  180. }
  181.  
  182. public OnPlayerEnterCheckpoint(playerid)
  183. {
  184.     return 1;
  185. }
  186.  
  187. public OnPlayerLeaveCheckpoint(playerid)
  188. {
  189.     return 1;
  190. }
  191.  
  192. public OnPlayerEnterRaceCheckpoint(playerid)
  193. {
  194.     return 1;
  195. }
  196.  
  197. public OnPlayerLeaveRaceCheckpoint(playerid)
  198. {
  199.     return 1;
  200. }
  201.  
  202. public OnRconCommand(cmd[])
  203. {
  204.     return 1;
  205. }
  206.  
  207. public OnPlayerRequestSpawn(playerid)
  208. {
  209.     return 1;
  210. }
  211.  
  212. public OnObjectMoved(objectid)
  213. {
  214.     return 1;
  215. }
  216.  
  217. public OnPlayerObjectMoved(playerid, objectid)
  218. {
  219.     return 1;
  220. }
  221.  
  222. public OnPlayerPickUpPickup(playerid, pickupid)
  223. {
  224.     return 1;
  225. }
  226.  
  227. public OnVehicleMod(playerid, vehicleid, componentid)
  228. {
  229.     return 1;
  230. }
  231.  
  232. public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
  233. {
  234.     return 1;
  235. }
  236.  
  237. public OnVehicleRespray(playerid, vehicleid, color1, color2)
  238. {
  239.     return 1;
  240. }
  241.  
  242. public OnPlayerSelectedMenuRow(playerid, row)
  243. {
  244.     return 1;
  245. }
  246.  
  247. public OnPlayerExitedMenu(playerid)
  248. {
  249.     return 1;
  250. }
  251.  
  252. public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
  253. {
  254.     return 1;
  255. }
  256.  
  257. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  258. {
  259.     if(newkeys == 512)
  260.     {
  261.         OnPlayerCommandText(playerid,"/lights");
  262.     }
  263.     return 1;
  264. }
  265.  
  266. public OnRconLoginAttempt(ip[], password[], success)
  267. {
  268.     return 1;
  269. }
  270.  
  271. public OnPlayerUpdate(playerid)
  272. {
  273.     return 1;
  274. }
  275.  
  276. public OnPlayerStreamIn(playerid, forplayerid)
  277. {
  278.     return 1;
  279. }
  280.  
  281. public OnPlayerStreamOut(playerid, forplayerid)
  282. {
  283.     return 1;
  284. }
  285.  
  286. public OnPlayerClickMap(playerid, Float:fX, Float:fY, Float:fZ)
  287. {
  288.         if(MapTP == 1) SetPlayerPosFindZ(playerid, fX, fY, fZ);
  289.         return true;
  290. }
  291.  
  292. public OnVehicleStreamIn(vehicleid, forplayerid)
  293. {
  294.     return 1;
  295. }
  296.  
  297. public OnVehicleStreamOut(vehicleid, forplayerid)
  298. {
  299.     return 1;
  300. }
  301.  
  302. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  303. {
  304.     switch(dialogid)
  305.     {
  306.         case dRegister:
  307.         {
  308.             if(!response)
  309.             {
  310.                 SPD(playerid, dKickMessage, DSM, "Оповещение", "{FFFFFF}Вы были кикнуты с сервера.\n{FF0000}Причина: Отказ от регистрации.\n{FFFFFF}Для выхода с сервера введите \"/q\" в чат", "Выход", "");
  311.                 return Kick(playerid);
  312.             }
  313.             if(!strlen(inputtext)) return SPD(playerid, dRegister, DIALOG_STYLE_INPUT, "Регистрация", "{FF0000}Ошибка: {FFFFFF}Вы не можете продолжить регистрацию не введя пароль!\nВведите пароль для регистрации нового аккаунта:\n{C0C0C0}Примечание:\n{666666}- Пароль чувствителен к регистру.\n- Пароль должен содержать от 4 до 30 символов.\n- Пароль может содержать латинские/кириллические символы и цифры (aA-zZ, аА-яЯ, 0-9).", "Регистрация", "Выход");
  314.             else if(strlen(inputtext) < 4) return SPD(playerid, dRegister, DIALOG_STYLE_INPUT, "Регистрация", "{FF0000}Ошибка: {FFFFFF}Пароль слишком короткий!\nВведите пароль для регистрации нового аккаунта:\n{C0C0C0}Примечание:\n{666666}- Пароль чувствителен к регистру.\n- Пароль должен содержать от 4 до 30 символов.\n- Пароль может содержать латинские/кириллические символы и цифры (aA-zZ, аА-яЯ, 0-9).", "Регистрация", "Выход");
  315.             else if(strlen(inputtext) > 30) return SPD(playerid, dRegister, DIALOG_STYLE_INPUT, "Регистрация", "{FF0000}Ошибка: {FFFFFF}Пароль слишком длинный!\nВведите пароль для регистрации нового аккаунта:\n{C0C0C0}Примечание:\n{666666}- Пароль чувствителен к регистру.\n- Пароль должен содержать от 4 до 30 символов.\n- Пароль может содержать латинские/кириллические символы и цифры (aA-zZ, аА-яЯ, 0-9).", "Регистрация", "Выход");
  316.             for(new i = strlen(inputtext)-1; i != -1; i--)
  317.             {
  318.                 switch(inputtext[i])
  319.                 {
  320.                     case '0'..'9', 'а'..'я', 'a'..'z', 'А'..'Я', 'A'..'Z': continue;
  321.                     default: return SPD(playerid, dRegister, DIALOG_STYLE_INPUT, "Регистрация", "{FF0000}Ошибка: {FFFFFF}Пароль содержит запрещённые символы!\nВведите пароль для регистрации нового аккаунта:\n{C0C0C0}Примечание:\n{666666}- Пароль чувствителен к регистру.\n- Пароль должен содержать от 4 до 30 символов.\n- Пароль может содержать латинские/кириллические символы и цифры (aA-zZ, аА-яЯ, 0-9).", "Регистрация", "Выход");
  322.                 }
  323.             }
  324.             pInfo[playerid][pPassword][0] = EOS;
  325.             strins(pInfo[playerid][pPassword], inputtext, 0);
  326.             CreateNewAccount(playerid, pInfo[playerid][pPassword]);
  327.             return 1;
  328.         }
  329.         case dLogin:
  330.         {
  331.             if(!response)
  332.             {
  333.                 SPD(playerid, dKickMessage, DSM, "Оповещение", "{FFFFFF}Вы были кикнуты с сервера.\n{FF0000}Причина: Отказ от авторизации.\n{FFFFFF}Для выхода с сервера введите \"/q\" в чат", "Выход", "");
  334.                 return Kick(playerid);
  335.             }
  336.             if(!strlen(inputtext)) return SPD(playerid, dLogin, DIALOG_STYLE_INPUT, "Авторизация", "{FF0000}Ошибка: {FFFFFF}Вы не можете продолжить авторизацию не введя пароль!\nВведите пароль от аккаунта для входа на сервер:", "Вход", "Выход");
  337.             for(new i = strlen(inputtext)-1; i != -1; i--)
  338.             {
  339.                 switch(inputtext[i])
  340.                 {
  341.                     case '0'..'9', 'а'..'я', 'a'..'z', 'А'..'Я', 'A'..'Z': continue;
  342.                     default: return SPD(playerid, dLogin, DIALOG_STYLE_INPUT, "Авторизация", "{FF0000}Ошибка: {FFFFFF}Введённый пароль содержит запрещённые символы!\nВведите пароль от аккаунта для входа на сервер:", "Вход", "Выход");
  343.                 }
  344.             }
  345.             if(!strcmp(pInfo[playerid][pPassword], inputtext))
  346.             {
  347.                 new query_string[49+MAX_PLAYER_NAME];
  348.                 format(query_string, sizeof(query_string), "SELECT * FROM `accounts` WHERE `player_name` = '%s'", pInfo[playerid][pName]);
  349.                 mysql_tquery(mysql_connect_ID, query_string, "UploadPlayerAccount","i", playerid);
  350.             }
  351.             else
  352.             {
  353.                 switch(GetPVarInt(playerid, "WrongPassword"))
  354.                 {
  355.                     case 0: SPD(playerid, dLogin, DIALOG_STYLE_INPUT, "Авторизация", "{FF0000}Ошибка: {FFFFFF}Вы ввели неверный пароль! У Вас осталось 3 попытки.\nВведите пароль от аккаунта для входа на сервер:", "Вход", "Выход");
  356.                     case 1: SPD(playerid, dLogin, DIALOG_STYLE_INPUT, "Авторизация", "{FF0000}Ошибка: {FFFFFF}Вы ввели неверный пароль! У Вас осталось 2 попытки.\nВведите пароль от аккаунта для входа на сервер:", "Вход", "Выход");
  357.                     case 2: SPD(playerid, dLogin, DIALOG_STYLE_INPUT, "Авторизация", "{FF0000}Ошибка: {FFFFFF}Вы ввели неверный пароль! У Вас осталось 1 попытка.\nВведите пароль от аккаунта для входа на сервер:", "Вход", "Выход");
  358.                     case 3: SPD(playerid, dLogin, DIALOG_STYLE_INPUT, "Авторизация", "{FF0000}Ошибка: {FFFFFF}Вы ввели неверный пароль! У Вас осталась последняя попытка, после чего Вас кикнет.\nВведите пароль от аккаунта для входа на сервер:", "Вход", "Выход");
  359.                     default:
  360.                     {
  361.                         SPD(playerid, dKickMessage, DSM, "Оповещение", "{FFFFFF}Вы были кикнуты с сервера.\n{FF0000}Причина: Превышен лимит попыток на ввод пароля.\n{FFFFFF}Для выхода с сервера введите \"/q\" в чат", "Выход", "");
  362.                         return Kick(playerid);
  363.                     }
  364.                 }
  365.                 SetPVarInt(playerid, "WrongPassword", GetPVarInt(playerid, "WrongPassword")+1);
  366.             }
  367.             return 1;
  368.         }
  369.         case dMail:
  370.         {
  371.             if(!strlen(inputtext)) return SPD(playerid, dMail, DIALOG_STYLE_INPUT, "Почта", "Для продолжения необходимо ввести деуствующую почту.\n- Введите свою почту:", "Продолжить", "Выход");
  372.             strins(pInfo[playerid][pMail], inputtext, 0);
  373.             AddMail(playerid, pInfo[playerid][pMail]);
  374.             return 1;
  375.         }
  376.     }
  377.     return 1;
  378. }
  379.  
  380. public OnPlayerClickPlayer(playerid, clickedplayerid, source)
  381. {
  382.     return 1;
  383. }
  384.  
  385. forward FindPlayerInTable(playerid);
  386. public FindPlayerInTable(playerid)
  387. {
  388.     new rows;
  389.     cache_get_row_count(rows);
  390.  
  391.     if(!rows)
  392.     {
  393.         SPD(playerid, dRegister, DIALOG_STYLE_INPUT, "Регистрация", "Введите пароль для регистрации вашего аккаунта:", "Регистрация", "Выход");
  394.     }
  395.     else
  396.     {
  397.         SPD(playerid, dLogin, DIALOG_STYLE_INPUT, "Авторизация", "Введите пароль от аккаунта для того, чтоб продолжить игру:", "Вход", "Выход");
  398.         cache_get_value_name(0, "password", pInfo[playerid][pPassword], 31);
  399.     }
  400.     return 1;
  401. }
  402.  
  403. forward UploadPlayerAccountNumber(playerid);
  404. public UploadPlayerAccountNumber(playerid) pInfo[playerid][pID] = cache_insert_id();
  405. //====================================================STOCK==================================================
  406. stock CreateNewAccount(playerid, password[])
  407. {
  408.     new query_string[66+MAX_PLAYER_NAME-4+30];
  409.     format(query_string, sizeof(query_string), "INSERT INTO `accounts` (`player_name`, `password`) VALUES ('%s', '%s')", pInfo[playerid][pName], password);
  410.     mysql_tquery(mysql_connect_ID, query_string, "UploadPlayerAccountNumber", "i", playerid);
  411.  
  412.  
  413.     format(query_string, sizeof(query_string), "Аккаунт %s успешно зарегистрирован. Администрация желает Вам приятной игры!", pInfo[playerid][pName]);
  414.     SCM(playerid, 0xFFFFFF00, query_string);
  415.     player_is_authorized{playerid} = 1;
  416.     SpawnPlayer(playerid);
  417.     return 1;
  418. }
  419.  
  420. stock AddMail(playerid, mail[])
  421. {
  422.     new query_string[66+MAX_PLAYER_NAME-4+30];
  423.     format(query_string, sizeof(query_string), "INSERT INTO `accounts` (`player_name`, `pMail`) VALUES ('%s', '%s')", pInfo[playerid][pName], mail);
  424.     mysql_tquery(mysql_connect_ID, query_string, "UploadPlayerAccountNumber", "i", playerid);
  425.  
  426.  
  427.     format(query_string, sizeof(query_string), "Почта успешно добавлена!", pInfo[playerid][pName]);
  428.     SCM(playerid, 0xFFFFFF00, query_string);
  429.     player_is_authorized{playerid} = 1;
  430.     SpawnPlayer(playerid);
  431.     return 1;
  432. }
  433.  
  434. forward UploadPlayerAccount(playerid);
  435. public UploadPlayerAccount(playerid)
  436. {
  437.     cache_get_value_name_int(0, "id", pInfo[playerid][pID]);
  438.     SCM(playerid, 0xFFFFFF00, "Вы успешно авторизировались!");
  439.     SpawnPlayer(playerid);
  440.     return 1;
  441. }
  442.  
  443. stock SaveAccount(playerid)
  444. {
  445.     new query_string[(21)+(16+11)+(20+MAX_PLAYER_NAME)+(16+30)] = "UPDATE `accounts` SET";
  446.  
  447.     format(query_string, sizeof(query_string), "%s `player_name` = '%s',", query_string, pInfo[playerid][pName]);
  448.     format(query_string, sizeof(query_string), "%s `password` = '%s'", query_string, pInfo[playerid][pPassword]);
  449.  
  450.     format(query_string, sizeof(query_string), "%s WHERE `id` = '%d'", query_string, pInfo[playerid][pID]);
  451.     mysql_tquery(mysql_connect_ID, query_string, "", "");
  452.     return 1;
  453. }
  454.  
  455. stock RemovePlayerInfo(playerid)
  456. {
  457.     pInfo[playerid][pID] = 0;
  458.     pInfo[playerid][pName][0] = EOS;
  459.     pInfo[playerid][pPassword][0] = EOS;
  460.     return 1;
  461. }
  462.  
  463. stock AdminChat(color,const string[])
  464. {
  465.     foreach(new i: Player)
  466.     {
  467.         if(pInfo[i][pAdmin] > 0)
  468.         {
  469.             SCM(i,color,string);
  470.         }
  471.     }
  472. }
  473. //================================================CMD========================================================
  474. CMD:agod(playerid, params[])
  475. {
  476.     if(pInfo[playerid][pAdmin] >= 2 )
  477.     {
  478.         if(GetPVarInt(playerid,"agod") == 0)
  479.         {
  480.             SetPVarInt(playerid,"agod", 1);
  481.             SetPlayerHealth(playerid, 0x7F800000);
  482.             SCM(playerid, -1, "Теперь ты как Есус, только бессмертный -_-");
  483.         }
  484.         else
  485.         {
  486.             SetPVarInt(playerid,"agod", 0);
  487.             SetPlayerHealth(playerid, 100.0);
  488.             SCM(playerid, -1, "Чтож, теперь ты официально биомусор.");
  489.         }
  490.     }
  491.     else
  492.     {
  493.         SCM(playerid, -1, "Отсоси гавно! Это для тебя слишком жирко!");
  494.     }
  495.     return 1;
  496. }
  497. //===========================================================================================================
  498. CMD:vbonus(playerid, params[])
  499. {
  500.     if (pInfo[playerid][pVip] == 1)
  501.     {
  502.         SCM(playerid, -1, "Вам был выдан бонус ( 2VIPLvL+200k )");
  503.         pInfo[playerid][pVip] = 2;
  504.         GivePlayerMoney(playerid, 200000);
  505.         return 1;
  506.     }
  507.     else
  508.     {
  509.         SCM(playerid, -1, "Бонус только для VIP игроков 1 LvL");
  510.     }
  511.     return 1;
  512. }
  513. //===========================================================================================================
  514. CMD:freeze(playerid, params[])
  515. {
  516.     if(pInfo[playerid][pAdmin] >= 2)
  517.     {
  518.         if(sscanf(params, "i", params[0])) return SCM(playerid, 0xFFFFFFFF, "[Использование]: /freeze [id]");
  519.         if(!IsPlayerConnected(params[0])) return SCM(playerid, 0xA19B9BFF, "Игрок не найден!");
  520.         if(GetPVarInt(playerid,"Freeze") == 0)
  521.         {
  522.             SetPVarInt(playerid,"Freeze", 1);
  523.             TogglePlayerControllable(params[0], 0);
  524.             SCM(params[0], 0xFFFFFFFF, "Вы были заморожены!");
  525.         }
  526.         else
  527.         {
  528.              DeletePVar(playerid, "Freeze");
  529.              TogglePlayerControllable(params[0], 1);
  530.              SCM(params[0], 0xFFFFFFFF, "Вас разморозили!");
  531.         }
  532.         return true;
  533.     }
  534.     return true;
  535. }
  536. //===========================================================================================================
  537. CMD:repaircar(playerid)
  538. {
  539.     if(pInfo[playerid][pVip] >= 3 || pInfo[playerid][pAdmin] >= 2)
  540.     {
  541.         if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER) return SCM(playerid, -1, "Вы не в машине!");
  542.         SetVehicleHealth(GetPlayerVehicleID(playerid), 1000);
  543.         RepairVehicle(GetPlayerVehicleID(playerid));
  544.         return true;
  545.     }
  546.     return true;
  547. }
  548. //===========================================================================================================
  549. CMD:goto(playerid, params[])
  550. {
  551.     if(GetPVarInt(params[0],"toggotome") && pInfo[playerid][pAdmin] < 8) return SCM(playerid, -1,"Администратор запретил к себе телепорт!");
  552.     if(pInfo[playerid][pAdmin] >= 2)
  553.     {
  554.         if(sscanf(params,"d",params[0])) return SCM(playerid, 0xA3A3A3FF, "[Использование]: /goto [Ид игрока]");
  555.         new Float:x,Float:y,Float:z;
  556.         new intid;
  557.         GetPlayerPos(params[0], x, y, z);
  558.         intid = GetPlayerInterior(params[0]);
  559.         SetPlayerInterior(playerid, intid);
  560.         SetPlayerPos(playerid, x+2, y, z);
  561.         new string[128];
  562.         format(string, 128, "Администратор %s был перемещён к вам!", pInfo[playerid][pName]);
  563.         SCM(params[0], 0x00FFC3FF, string);
  564.         format(string, 128, "Вы были перемещены к игроку %s", pInfo[params[0]][pName]);
  565.         SCM(playerid, 0x00FFC3FF, string);
  566.         return 1;
  567.     }
  568.     return 1;
  569. }
  570. //===========================================================================================================
  571. CMD:gethere(playerid, params[])
  572. {
  573.     if(pInfo[playerid][pAdmin] >= 4)
  574.     {
  575.         if(sscanf(params,"d",params[0])) return SCM(playerid, 0xA3A3A3FF, "[Использование]: /gethere [Ид игрока]");
  576.         new Float:x,Float:y,Float:z;
  577.         new intid;
  578.         GetPlayerPos(playerid, x, y, z);
  579.         intid = GetPlayerInterior(playerid);
  580.         SetPlayerInterior(params[0], intid);
  581.         SetPlayerPos(params[0], x+2, y, z);
  582.         new string[128];
  583.         format(string, 128, "Вы были перемещены к администратору %s!", pInfo[playerid][pName]);
  584.         SCM(params[0], 0x00FFC3FF, string);
  585.         format(string, 128, "Игрок %s был перемещён к вам!", pInfo[params[0]][pName]);
  586.         SCM(playerid, 0x00FFC3FF, string);
  587.         return 1;
  588.     }
  589.     return 1;
  590. }
  591. //===========================================================================================================
  592. CMD:id(playerid, params[])
  593. {
  594.     if(pInfo[playerid][pAdmin] >= 1)
  595.     {
  596.         new string[33];
  597.         new name[MAX_PLAYER_NAME];
  598.         GetPlayerName(playerid, name, sizeof(name));
  599.         if(sscanf(params, "u", params[0])) return SCM(playerid, 0xFFFFFF, "[Использование]: /id [Часть ника или ID уебана]");
  600.         if(!IsPlayerConnected(params[0])) return SCM(playerid, 0xFFFFFF, "Игрока нет нах!");
  601.         format(string, sizeof(string), "%s[%d]", name, params[0]);
  602.         SCM(playerid, 0xFFFFFF, string);
  603.         return true;
  604.     }
  605.     return true;
  606. }
  607. //===========================================================================================================
  608. CMD:masturbate(playerid)
  609. {
  610.     if(pInfo[playerid][pSex] == 2)
  611.     {
  612.         new string [50] ;
  613.         format(string, sizeof(string), "[ID %d] Спустил штаны, и начал мастурбацию.", playerid);
  614.         format(string, sizeof(string), "[ID %d] Ради биночки спермы и не на токое попрёшь.", playerid);
  615.         SendClientMessageToAll(0xFF0000ff, string);
  616.         ApplyAnimation(playerid,"PAULNMAC", "wank_loop", 1.800001, 1, 0, 0, 1, 600);
  617.         PlayerPlaySound(playerid,20803,0.0,0.0,0.0);
  618.         return 1;
  619.     }
  620.     else
  621.     {
  622.         new string [50] ;
  623.         format(string, sizeof(string), "[ID %d] Задрала юбкуб и начала мастурбацию со сквиртом", playerid);
  624.         SendClientMessageToAll(0xFF0000ff, string);
  625.         ApplyAnimation(playerid,"PAULNMAC", "wank_loop", 1.800001, 1, 0, 0, 1, 600);
  626.         PlayerPlaySound(playerid,20803,0.0,0.0,0.0);
  627.         return 1;
  628.     }
  629. }
  630. //===========================================================================================================
  631. forward GameModeExitFunc();
  632. public GameModeExitFunc()
  633. {
  634.     GameModeExit();
  635. }
  636.  
  637. CMD:restart(playerid, params[])
  638. {
  639.     if(pInfo[playerid][pAdmin] >= 8)
  640.     {
  641.         if(sscanf(params, "d", params[0])) return SCM(playerid, COLOR_RED, "Используйте /restart [время в секундах]");
  642.         SetTimer("GameModeExitFunc", params[0] * 1000, 0);
  643.         new string[128];
  644.         format(string, sizeof(string), "Внимание! Рестарт сервера произойдёт через %d сек!", params[0]);
  645.         SCMTA(COLOR_RED, string);
  646.         return 1;
  647.     }
  648.     else
  649.     {
  650.         SCM(playerid, COLOR_GRAD1, "Уйди нахер отседава. Сасунок ещё сервер перезагружать!");
  651.     }
  652.     return true;
  653. }
  654. //===========================================================================================================
  655. CMD:offgoto(playerid)
  656. {
  657.     if(pInfo[playerid][pAdmin] < 8) return SCM(playerid, COLOR_WHITE, "• {FFC800}[Ошибка] У вас не подходящий уровень!");
  658.     else if (!GetPVarInt(playerid,"toggotome")) SetPVarInt(playerid,"toggotome", true), SCM(playerid, COLOR_BLUE, "Запрет на телепортацию к себе включен!(теперь можно передёрнуть)");
  659.     else if (GetPVarInt(playerid,"toggotome")) DeletePVar(playerid,"toggotome"), SCM(playerid, COLOR_BLUE, "Запрет на телепортацию к себе выключен!");
  660.     return true;
  661. }
  662. //===========================================================================================================
  663. CMD:maptp(playerid,params[])
  664. {
  665.     if(pInfo[playerid][pAdmin] >= 2)
  666.     {
  667.         if(MapTP == 0)
  668.         {
  669.                 MapTP = 1;
  670.                 SCM(playerid, 0xBEDB00FF, "Вы включили телепорт маркером");
  671.         }
  672.         else
  673.         {
  674.                 MapTP = 0;
  675.                 SCM(playerid, 0xBEDB00FF, "Вы выключили телепорт маркером");
  676.         }
  677.         return true;
  678.     }
  679.     return true;
  680. }
  681. //===========================================================================================================
  682. CMD:getip(playerid, params[])
  683. {
  684.     new string[128];
  685.     new ip[16];
  686.     if(pInfo[playerid][pAdmin] < 3) return SCM(playerid, 0xFF0000AA, "{FFFFFF}Вы не уполномочены использовать данную команду!");
  687.     if(sscanf(params, "i", params[0])) return SCM(playerid, 0xFF0000AA, "{FFFFFF}Введите: /getip [id]");
  688.     if(!IsPlayerConnected(params[0])) return SCM(playerid, 0xFF0000AA, "{FFFFFF}Данный игрок не в сети!");
  689.     format(string, sizeof(string), "IP игрока %s: %s", GN(params[0]), ip);
  690.     SCM(playerid, 0xFF6347AA, string);
  691.     return true;
  692. }
  693. //===========================================================================================================
  694. CMD:a(playerid,params[])
  695. {
  696.         if(pInfo[playerid][pAdmin] <= 0) return SCM(playerid,COLOR_RED,"Даже не пытайся ))");
  697.         if(sscanf(params,"s[256]",params[0]))return SCM(playerid,COLOR_RED,"Использование: /a [Текст]");
  698.         new ttext[60];new string[256];
  699.         switch(pInfo[playerid][pAdmin])
  700.         {
  701.             case 1: ttext = "Мл.Хелпер";
  702.             case 2: ttext = "Хелпер";
  703.             case 3: ttext = "Ст.Хелпер";
  704.             case 4: ttext = "Мл.Администратор";
  705.             case 5: ttext = "Администратор";
  706.             case 6: ttext = "Ст.Администратор";
  707.             case 7: ttext = "Следящий за Гос.";
  708.             case 8: ttext = "Следящий за Гетто.";
  709.             case 9: ttext = "Гл.Администратор";
  710.             case 10: ttext = "Основатель сервера.";
  711.         }
  712.         GetPlayerName(playerid,pInfo[playerid][pName],MAX_PLAYER_NAME);
  713.         format(string,sizeof(string),"{1E90FF}[{FFD700}%s{1E90FF}]{FFD700}%s{1E90FF}[90FF}]{FFD700}:%s",ttext,pInfo[playerid][pName],playerid,params[0]);
  714.         AdminChat(COLOR_BLUE,string);
  715.         return true;
  716. }
  717. //===========================================================================================================
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement