Advertisement
Guest User

Untitled

a guest
Oct 3rd, 2019
230
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 14.58 KB | None | 0 0
  1. CMD:areport(playerid)
  2. {
  3.     STRING_GLOBAL[0] = EOS;
  4.    
  5.     format(STRING_GLOBAL, sizeof STRING_GLOBAL, "SELECT * FROM `a_reports` WHERE `owner` = '%s'", g_player[playerid][NAME]);
  6.     mysql_tquery(mysql, STRING_GLOBAL);
  7.    
  8.     STRING_GLOBAL[0] = EOS;
  9.    
  10.     new rows, admin_name[24], reason[128], answer[128], report_id;
  11.    
  12.     cache_get_row_count(rows);
  13.    
  14.     STRING_GLOBAL = "{32a44b}1. {ffffff}Создать новую жалобу на администратора\n \n";
  15.    
  16.     for(new i = 0; i != rows; i ++)
  17.     {
  18.         cache_get_value_name(i, "admin", admin_name);
  19.         cache_get_value_name(i, "reason", reason);
  20.         cache_get_value_name(i, "answer", answer);
  21.         cache_get_value_name_int(i, "id", report_id);
  22.            
  23.         dialog_listitem_values[playerid][i] = report_id;
  24.    
  25.         format(STRING_GLOBAL, sizeof STRING_GLOBAL, "%s{32a44b}%d. {ffffff}%s\t\t{94f490}%s\n", STRING_GLOBAL, i + 2, admin_name, reason);
  26.     }
  27.    
  28.     ShowPlayerDialog(playerid, SEND_ADMIN_REPORT, DIALOG_STYLE_LIST, "{32a44b}Жалобы на администрацию", STRING_GLOBAL, "Далее", "Закрыть");
  29. }
  30.  
  31. CMD:ans_report(playerid)
  32. {
  33.     if(GetPlayerAdminEx(playerid) < 4) return 1;
  34.    
  35.     mysql_tquery(mysql, "SELECT * FROM `a_reports`");
  36.    
  37.     STRING_GLOBAL[0] = EOS;
  38.    
  39.     new rows, admin_name[24], reason[128], owner[24];
  40.    
  41.     cache_get_row_count(rows);
  42.    
  43.     STRING_GLOBAL = "";
  44.    
  45.     for(new i = 0; i != rows; i ++)
  46.     {
  47.         cache_get_value_name(i, "owner", owner);
  48.         cache_get_value_name(i, "admin", admin_name);
  49.         cache_get_value_name(i, "reason", reason);
  50.    
  51.         format(STRING_GLOBAL, sizeof STRING_GLOBAL, "%s{32a44b}%d. {ffffff}Жалоба от игрока {94f490}%s {ffffff}на администратора {94f490}%s\n", STRING_GLOBAL, i + 1, owner, admin_name);
  52.     }
  53.    
  54.     ShowPlayerDialog(playerid, ADMIN_REPORTS, DIALOG_STYLE_LIST, "{32a44b}Жалобы на администрацию", STRING_GLOBAL, "Далее", "Закрыть");
  55.    
  56.     return 1;
  57. }
  58.  
  59. CMD:test_report(playerid)
  60. {
  61.     ShowPlayerDialog
  62.     (
  63.         playerid, DIALOG_SEND_REPORT, DIALOG_STYLE_INPUT,
  64.         "{32a44b}Сообщение администрации",
  65.         "{ffffff}Для того, чтобы {94f490}отправить {ffffff}администрации свое сообщение,\n"\
  66.         "{94f490}введите {ffffff}его текст в окно ниже и нажмите '{94f490}Далее{ffffff}'\n\n"\
  67.         "\tПримечание:\n"\
  68.         "\tТекст сообщения должен содержать от {94f490}6-ти {ffffff}до {94f490}144 символов{ffffff}.\n"\
  69.         "\tТекст должен быть {94f490}внятно и {ffffff}коротко составлен.\n"\
  70.         "\tТекст сообщения не должен содержать {94f490}ненормативную лексику{ffffff}.\n\n"\
  71.         "После отправки сообщения, Вам {94f490}ответит {ffffff}один из агентов поддержки и\n"\
  72.         "попытается максимально помочь Вам. В случае, если ответ на Ваше сообщение\n"\
  73.         "является {94f490}неудовлетворительным{ffffff}, Вы сможете оставить жалобу прямо из игры: {94f490}/areport",
  74.         "Далее", "Закрыть"
  75.     );
  76.    
  77.     return 1;
  78. }
  79.  
  80. CMD:test_ans(playerid)
  81. {
  82.     if(GetPlayerAdminEx(playerid) < 1) return 1;
  83.    
  84.     STRING_GLOBAL[0] = EOS;
  85.    
  86.     STRING_GLOBAL = "";
  87.    
  88.     for(new i = 0; i != sizeof g_report; i ++)
  89.     {
  90.         if(g_report[i][REPORT_PLAYER_ID] == -1) continue;
  91.        
  92.         dialog_listitem_values[playerid][i] = g_report[i][REPORT_ID];
  93.        
  94.         format
  95.         (
  96.             STRING_GLOBAL, sizeof STRING_GLOBAL,
  97.             "%s{32a44b}%d.\t{ffffff}%s [%d]\t\t{94f490}%d минут\n",
  98.             STRING_GLOBAL,
  99.             i + 1,
  100.             GetPlayerNameEx(g_report[i][REPORT_PLAYER_ID]),
  101.             g_report[i][REPORT_PLAYER_ID],
  102.             g_report[i][REPORT_TIME]
  103.         );
  104.     }
  105.    
  106.     ShowPlayerDialog(playerid, DIALOG_REPORT_INFO, DIALOG_STYLE_LIST, "{32a44b}Список сообщений", STRING_GLOBAL, "Далее", "Закрыть");   
  107.    
  108.     return 1;
  109. }
  110.  
  111.         case DIALOG_ANSWER_REPORT:
  112.         {
  113.             if(!response) return 1;
  114.            
  115.             if(strlen(inputtext) < 2 || strlen(inputtext) > 144)
  116.                 return SendClientMessage(playerid, 0xf49090FF, "Ответ на сообщение игрока должен содержать от 2-х до 144-х символов.");
  117.            
  118.             STRING_GLOBAL[0] = EOS;
  119.            
  120.             format(STRING_GLOBAL, sizeof STRING_GLOBAL, "Администратор %s[%d] для %s[%d]: %s", g_player[playerid][NAME], playerid, GetPlayerNameEx(g_report[report_id_admin[playerid]][REPORT_PLAYER_ID]), g_report[report_id_admin[playerid]][REPORT_PLAYER_ID], inputtext);
  121.             SendClientMessage(g_report[report_id_admin[playerid]][REPORT_PLAYER_ID], 0xFF9945FF, STRING_GLOBAL);
  122.             SendMessageToAdmins(STRING_GLOBAL, 0xFF9945FF);
  123.            
  124.             g_report[report_id_admin[playerid]][REPORT_PLAYER_ID] =
  125.             g_report[report_id_admin[playerid]][REPORT_ID] = -1;
  126.            
  127.             g_report[report_id_admin[playerid]][REPORT_TEXT] = EOS;
  128.            
  129.             g_report[report_id_admin[playerid]][REPORT_TIME] = 0;
  130.            
  131.             for(new i = 0; i != sizeof g_report; i ++)
  132.             {
  133.                 if(g_report[i][REPORT_PLAYER_ID] == -1) continue;
  134.                 g_report[i][REPORT_ID] --;
  135.             }
  136.         }
  137.        
  138.         case DIALOG_REPORT_INFO:
  139.         {
  140.             if(!response) return 1;
  141.            
  142.             STRING_GLOBAL[0] = EOS;
  143.            
  144.             report_id_admin[playerid] = dialog_listitem_values[playerid][listitem];
  145.            
  146.             format
  147.             (
  148.                 STRING_GLOBAL, sizeof STRING_GLOBAL,
  149.                 "{ffffff}Сообщение от игрока: {94f490}%s [%d]\n"\
  150.                 "{ffffff}Текст сообщения: {94f490}%s\n\n"\
  151.                 "{ffffff}Для ответа на сообщения, введите текст ответа в окно ниже и нажмите '{94f490}Далее{ffffff}'",
  152.                 GetPlayerNameEx(g_report[report_id_admin[playerid]][REPORT_PLAYER_ID]),
  153.                 g_report[report_id_admin[playerid]][REPORT_PLAYER_ID],
  154.                 g_report[report_id_admin[playerid]][REPORT_TEXT]
  155.             );
  156.            
  157.             ShowPlayerDialog(playerid, DIALOG_ANSWER_REPORT, DIALOG_STYLE_INPUT, "{32a44b}Сообщение от игрока", STRING_GLOBAL, "Далее", "Закрыть");
  158.         }
  159.        
  160.         case DIALOG_SEND_REPORT:
  161.         {
  162.             if(!response) return 1;
  163.            
  164.             if(strlen(inputtext) < 6 || strlen(inputtext) > 144)
  165.             {
  166.                 ShowPlayerDialog
  167.                 (
  168.                     playerid, DIALOG_SEND_REPORT, DIALOG_STYLE_INPUT,
  169.                     "{32a44b}Сообщение администрации",
  170.                     "{ffffff}Для того, чтобы {94f490}отправить {ffffff}администрации свое сообщение,\n"\
  171.                     "{94f490}введите {ffffff}его текст в окно ниже и нажмите 'Далее'\n\n"\
  172.                     "\tПримечание:\n"\
  173.                     "\tТекст сообщения должен содержать от {94f490}6-ти {ffffff}до {94f490}144 символов{ffffff}.\n"\
  174.                     "\tТекст должен быть {94f490}внятно и {ffffff}коротко составлен.\n"\
  175.                     "\tТекст сообщения не должен содержать {94f490}ненормативную лексику{ffffff}.\n\n"\
  176.                     "После отправки сообщения, Вам {94f490}ответит {ffffff}один из агентов поддержки и\n"\
  177.                     "попытается максимально помочь Вам. В случае, если ответ на Ваше сообщение\n"\
  178.                     "является {94f490}неудовлетворительным{ffffff}, Вы сможете оставить жалобу прямо из игры: {94f490}/areport\n\n"\
  179.                     "{f49090}Вы допустили ошибку в тексте Вашего сообщения, пожалуйста, повторите попытку.",
  180.                     "Далее", "Закрыть"
  181.                 )
  182.  
  183.                 return 1;
  184.             }
  185.            
  186.             for(new i = 0; i != sizeof g_report; i ++)
  187.             {
  188.                 if(g_report[i][REPORT_PLAYER_ID] != -1) continue;
  189.                
  190.                 g_report[i][REPORT_PLAYER_ID] = playerid;
  191.                 format(g_report[i][REPORT_TEXT], 144, "%s", inputtext);
  192.                
  193.                 g_report[i][REPORT_ID] = i;
  194.                
  195.                 break;
  196.             }
  197.            
  198.             STRING_GLOBAL[0] = EOS;
  199.            
  200.             format(STRING_GLOBAL, sizeof STRING_GLOBAL, "Оповещение: {ffffff}Игрок {94f490}%s [%d] {ffffff}отправил сообщение содержащие текст: {94f490}%s", g_player[playerid][NAME], playerid, inputtext);
  201.             SendMessageToAdmins(STRING_GLOBAL, 0x32a44bFF);
  202.            
  203.             SendClientMessage(playerid, 0x32a44bFF, "Подсказка: {ffffff}Вы успешно {94f490}отправили сообщение {ffffff}агентам поддержки. Ожидайте ответа.");
  204.         }
  205.        
  206.         case SEND_ADMIN_REPORT:
  207.         {
  208.             if(!response || listitem == 1) return 1;
  209.            
  210.             if(listitem == 0)
  211.             {
  212.                 ShowPlayerDialog
  213.                 (
  214.                     playerid, SEND_ADMIN_NICKNAME, DIALOG_STYLE_INPUT,
  215.                     "{32a44b}Жалоба на администратора",
  216.                     "{ffffff}Мы ценим своих игроков и максимально стараемся помочь Вам и\n"\
  217.                     "уберечь от {94f490}некомпетентной {ffffff}администрации. Поэтому Вы можете {94f490}оставить жалобу\n"\
  218.                     "{ffffff}на нарушения со стороны администрации прямо в игре не заходя на форум.\n\n"\
  219.                     "{cecece}Введите никнейм администратора в окно ниже:",
  220.                     "Далее", "Закрыть"
  221.                 );
  222.             }
  223.            
  224.             STRING_GLOBAL[0] = EOS;
  225.            
  226.             format(STRING_GLOBAL, sizeof STRING_GLOBAL, "SELECT * FROM `a_reports` WHERE `id` = '%d' LIMIT 1", dialog_listitem_values[playerid][listitem]);
  227.             mysql_tquery(mysql, STRING_GLOBAL);
  228.            
  229.             new rows, owner[24], admin_name[24], reason[128], report_date[30], answer[128];
  230.            
  231.             cache_get_row_count(rows);
  232.            
  233.             cache_get_value_name(0, "owner", owner);
  234.             cache_get_value_name(0, "admin", admin_name);
  235.             cache_get_value_name(0, "date", report_date);
  236.             cache_get_value_name(0, "reason", reason);
  237.             cache_get_value_name(0, "answer", answer);
  238.            
  239.             if(strlen(answer) < 2) return 1;
  240.        
  241.             format
  242.             (
  243.                 STRING_GLOBAL, sizeof STRING_GLOBAL,
  244.                 "{ffffff}Жалоба от игрока: {94f490}%s\n"\
  245.                 "{ffffff}Жалоба на администратора: {94f490}%s\n"\
  246.                 "{ffffff}Дата и время: {94f490}%s\n"\
  247.                 "{ffffff}Причина жалобы: {94f490}%s\n\n"\
  248.                 "{ffffff}Текст ответа: {94f490}%s",
  249.                 owner,
  250.                 admin_name,
  251.                 report_date,
  252.                 reason,
  253.                 answer
  254.             );     
  255.            
  256.             ShowPlayerDialog
  257.             (
  258.                 playerid, INVALID_DIALOG_ID, DIALOG_STYLE_MSGBOX,
  259.                 "{32a44b}Жалоба на администратора",
  260.                 STRING_GLOBAL,
  261.                 "Закрыть", ""
  262.             );     
  263.  
  264.             STRING_GLOBAL[0] = EOS;
  265.  
  266.             format(STRING_GLOBAL, sizeof STRING_GLOBAL, "DELETE FROM `a_reports` WHERE `id` = '%d' LIMIT 1", dialog_listitem_values[playerid][listitem]);
  267.             mysql_tquery(mysql, STRING_GLOBAL);        
  268.         }
  269.        
  270.         case SEND_ADMIN_NICKNAME:
  271.         {
  272.             if(!response) return 1;
  273.            
  274.             format(admin_report_nickname[playerid], 24, "%s", inputtext);
  275.            
  276.             ShowPlayerDialog
  277.             (
  278.                 playerid, SEND_ADMIN_REASON, DIALOG_STYLE_INPUT,
  279.                 "{32a44b}Жалоба на администратора",
  280.                 "{ffffff}Введите {94f490}причину {ffffff}подачи жалобы на администратора в окно ниже.\n\n"\
  281.                 "Просьба изложить Вашу мысль максимально {94f490}кратко {ffffff}и {94f490}внятно{ffffff},\n"\
  282.                 "в случае, если жалоба будет некорректно составлена, мы автоматически {f49090}отклоним ее{ffffff}.",
  283.                 "Далее", "Закрыть"
  284.             );
  285.         }
  286.        
  287.         case SEND_ADMIN_REASON:
  288.         {
  289.             if(!response) return 1;
  290.            
  291.             new hourss, minn, secc;
  292.            
  293.             gettime(hourss, minn, secc);
  294.            
  295.             STRING_GLOBAL[0] = EOS;
  296.            
  297.             format(STRING_GLOBAL, sizeof STRING_GLOBAL, "INSERT INTO `a_reports` (`owner`, `admin`, `reason`, `date`, `answer`) VALUES ('%s', '%s', '%s', 'NOW()', '0')", GetPlayerNameEx(playerid), admin_report_nickname[playerid], inputtext);
  298.             mysql_tquery(mysql, STRING_GLOBAL);
  299.            
  300.             SendClientMessage(playerid, 0x32a44bFF, "Подсказка: {ffffff}Вы успешно отправили жалобу на администратора. Для проверки статуса жалобы, используйте: {94f490}/areport");
  301.            
  302.             admin_report_nickname[playerid][0] = EOS;
  303.         }
  304.        
  305.         case ADMIN_REPORTS:
  306.         {
  307.             if(!response) return 1;
  308.            
  309.             SetPVarInt(playerid, "admin_report_id", dialog_listitem_values[playerid][listitem]);
  310.            
  311.             STRING_GLOBAL[0] = EOS;
  312.            
  313.             format(STRING_GLOBAL, sizeof STRING_GLOBAL, "SELECT * FROM `a_reports` WHERE `id` = '%d', `answer` = '0' LIMIT 1", dialog_listitem_values[playerid][listitem]);
  314.             mysql_tquery(mysql, STRING_GLOBAL);
  315.            
  316.             new rows, owner[24], admin_name[24], reason[128], report_date[30];
  317.            
  318.             cache_get_row_count(rows);
  319.            
  320.             cache_get_value_name(0, "owner", owner);
  321.             cache_get_value_name(0, "admin", admin_name);
  322.             cache_get_value_name(0, "date", report_date);
  323.             cache_get_value_name(0, "reason", reason);
  324.        
  325.             format
  326.             (
  327.                 STRING_GLOBAL, sizeof STRING_GLOBAL,
  328.                 "{ffffff}Жалоба от игрока: {94f490}%s\n"\
  329.                 "{ffffff}Жалоба на администратора: {94f490}%s\n"\
  330.                 "{ffffff}Дата и время: {94f490}%s\n"\
  331.                 "{ffffff}Причина жалобы: {94f490}%s\n\n"\
  332.                 "{ffffff}Введите ответ на данную жалобу в окно ниже и нажмите '{94f490}Далее{ffffff}' для ответа.",
  333.                 owner,
  334.                 admin_name,
  335.                 report_date,
  336.                 reason
  337.             );     
  338.            
  339.             ShowPlayerDialog
  340.             (
  341.                 playerid, SEND_ADMIN_REPORT_ANSWER, DIALOG_STYLE_INPUT,
  342.                 "{32a44b}Жалоба на администратора",
  343.                 STRING_GLOBAL,
  344.                 "Далее", "Закрыть"
  345.             );
  346.         }
  347.        
  348.         case SEND_ADMIN_REPORT_ANSWER:
  349.         {
  350.             if(!response) return 1;
  351.            
  352.             if(strlen(inputtext) > 128 || strlen(inputtext) < 2)
  353.                 return SendClientMessage(playerid, 0xf49090FF, "Неверно введены значения для ответа. Ответ должен содержать от 2-х до 128-ми символов.");
  354.            
  355.             STRING_GLOBAL[0] = EOS;
  356.            
  357.             format(STRING_GLOBAL, sizeof STRING_GLOBAL, "UPDATE `a_reports` SET `answer` = '%s' WHERE `id` = '%d'", inputtext, GetPVarInt(playerid, "admin_report_id"));
  358.             mysql_tquery(mysql, STRING_GLOBAL);
  359.            
  360.             DeletePVar(playerid, "admin_report_id");
  361.         }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement