Advertisement
Guest User

Untitled

a guest
Sep 18th, 2019
150
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 7.65 KB | None | 0 0
  1. // ## CMD
  2.  
  3. CMD:areport(playerid)
  4. {
  5.     STRING_GLOBAL[0] = EOS;
  6.    
  7.     format(STRING_GLOBAL, sizeof STRING_GLOBAL, "SELECT * FROM `a_reports` WHERE `owner` = '%s'", g_player[playerid][NAME]);
  8.     mysql_tquery(mysql, STRING_GLOBAL);
  9.    
  10.     STRING_GLOBAL[0] = EOS;
  11.    
  12.     new rows, fmt_str[1500], admin_name[24], reason[128], answer[128];
  13.    
  14.     cache_get_row_count(rows);
  15.    
  16.     fmt_str = "{32a44b}1. {ffffff}Создать новую жалобу на администратора\n \n";
  17.    
  18.     for(new i = 0; i != rows; i ++)
  19.     {
  20.         cache_get_value_name(i, "admin", admin_name);
  21.         cache_get_value_name(i, "reason", reason);
  22.         cache_get_value_name(i, "answer", answer);
  23.    
  24.         format(STRING_GLOBAL, sizeof STRING_GLOBAL, "{32a44b}%d. {ffffff}%s\t\t{94f490}%s\n", i + 2, admin_name, reason);
  25.         strcat(fmt_str, STRING_GLOBAL);
  26.     }
  27.    
  28.     ShowPlayerDialog(playerid, SEND_ADMIN_REPORT, DIALOG_STYLE_LIST, "{32a44b}Жалобы на администрацию", fmt_str, "Далее", "Закрыть");
  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, fmt_str[1500], admin_name[24], reason[128], owner[24];
  40.    
  41.     cache_get_row_count(rows);
  42.    
  43.     fmt_str = "";
  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, "{32a44b}%d. {ffffff}Жалоба от игрока {94f490}%s {ffffff}на администратора {94f490}%s\n", i + 1, owner, admin_name);
  52.         strcat(fmt_str, STRING_GLOBAL);
  53.     }
  54.    
  55.     ShowPlayerDialog(playerid, ADMIN_REPORTS, DIALOG_STYLE_LIST, "{32a44b}Жалобы на администрацию", fmt_str, "Далее", "Закрыть");
  56.    
  57.     return 1;
  58. }
  59.  
  60. // ## OnDialogResponse
  61.  
  62.         case SEND_ADMIN_REPORT:
  63.         {
  64.             if(!response || listitem == 1) return 1;
  65.            
  66.             if(listitem == 0)
  67.             {
  68.                 ShowPlayerDialog
  69.                 (
  70.                     playerid, SEND_ADMIN_NICKNAME, DIALOG_STYLE_INPUT,
  71.                     "{32a44b}Жалоба на администратора",
  72.                     "{ffffff}Мы ценим своих игроков и максимально стараемся помочь Вам и\n"\
  73.                     "уберечь от {94f490}некомпетентной {ffffff}администрации. Поэтому Вы можете {94f490}оставить жалобу\n"\
  74.                     "{ffffff}на нарушения со стороны администрации прямо в игре не заходя на форум.\n\n"\
  75.                     "{cecece}Введите никнейм администратора в окно ниже:",
  76.                     "Далее", "Закрыть"
  77.                 );
  78.             }
  79.            
  80.             STRING_GLOBAL[0] = EOS;
  81.            
  82.             format(STRING_GLOBAL, sizeof STRING_GLOBAL, "SELECT * FROM `a_reports` WHERE `id` = '%d' LIMIT 1", listitem - 1);
  83.             mysql_tquery(mysql, STRING_GLOBAL);
  84.            
  85.             new rows, owner[24], admin_name[24], reason[128], report_date[30], answer[128];
  86.            
  87.             cache_get_row_count(rows);
  88.            
  89.             cache_get_value_name(0, "owner", owner);
  90.             cache_get_value_name(0, "admin", admin_name);
  91.             cache_get_value_name(0, "date", report_date);
  92.             cache_get_value_name(0, "reason", reason);
  93.             cache_get_value_name(0, "answer", answer);
  94.            
  95.             if(strlen(answer) < 2) return 1;
  96.        
  97.             format
  98.             (
  99.                 STRING_GLOBAL, sizeof STRING_GLOBAL,
  100.                 "{ffffff}Жалоба от игрока: {94f490}%s\n"\
  101.                 "{ffffff}Жалоба на администратора: {94f490}%s\n"\
  102.                 "{ffffff}Дата и время: {94f490}%s\n"\
  103.                 "{ffffff}Причина жалобы: {94f490}%s\n\n"\
  104.                 "{ffffff}Текст ответа: {94f490}%s",
  105.                 owner,
  106.                 admin_name,
  107.                 report_date,
  108.                 reason,
  109.                 answer
  110.             );     
  111.            
  112.             ShowPlayerDialog
  113.             (
  114.                 playerid, INVALID_DIALOG_ID, DIALOG_STYLE_MSGBOX,
  115.                 "{32a44b}Жалоба на администратора",
  116.                 STRING_GLOBAL,
  117.                 "Закрыть", ""
  118.             );     
  119.  
  120.             STRING_GLOBAL[0] = EOS;
  121.  
  122.             format(STRING_GLOBAL, sizeof STRING_GLOBAL, "DELETE FROM `a_reports` WHERE `id` = '%d' LIMIT 1", listitem + 3);
  123.             mysql_tquery(mysql, STRING_GLOBAL);        
  124.         }
  125.        
  126.         case SEND_ADMIN_NICKNAME:
  127.         {
  128.             if(!response) return 1;
  129.            
  130.             format(admin_report_nickname[playerid], 24, "%s", inputtext);
  131.            
  132.             ShowPlayerDialog
  133.             (
  134.                 playerid, SEND_ADMIN_REASON, DIALOG_STYLE_INPUT,
  135.                 "{32a44b}Жалоба на администратора",
  136.                 "{ffffff}Введите {94f490}причину {ffffff}подачи жалобы на администратора в окно ниже.\n\n"\
  137.                 "Просьба изложить Вашу мысль максимально {94f490}кратко {ffffff}и {94f490}внятно{ffffff},\n"\
  138.                 "в случае, если жалоба будет некорректно составлена, мы автоматически {f49090}отклоним ее{ffffff}.",
  139.                 "Далее", "Закрыть"
  140.             );
  141.         }
  142.        
  143.         case SEND_ADMIN_REASON:
  144.         {
  145.             if(!response) return 1;
  146.            
  147.             new hourss, minn, secc;
  148.            
  149.             gettime(hourss, minn, secc);
  150.            
  151.             STRING_GLOBAL[0] = EOS;
  152.            
  153.             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);
  154.             mysql_tquery(mysql, STRING_GLOBAL);
  155.            
  156.             SendClientMessage(playerid, 0x32a44bFF, "Подсказка: {ffffff}Вы успешно отправили жалобу на администратора. Для проверки статуса жалобы, используйте: {94f490}/areport");
  157.            
  158.             admin_report_nickname[playerid][0] = EOS;
  159.         }
  160.        
  161.         case ADMIN_REPORTS:
  162.         {
  163.             if(!response) return 1;
  164.            
  165.             SetPVarInt(playerid, "admin_report_id", listitem + 1);
  166.            
  167.             STRING_GLOBAL[0] = EOS;
  168.            
  169.             format(STRING_GLOBAL, sizeof STRING_GLOBAL, "SELECT * FROM `a_reports` WHERE `id` = '%d', `answer` = '0' LIMIT 1", listitem + 1);
  170.             mysql_tquery(mysql, STRING_GLOBAL);
  171.            
  172.             new rows, owner[24], admin_name[24], reason[128], report_date[30];
  173.            
  174.             cache_get_row_count(rows);
  175.            
  176.             cache_get_value_name(0, "owner", owner);
  177.             cache_get_value_name(0, "admin", admin_name);
  178.             cache_get_value_name(0, "date", report_date);
  179.             cache_get_value_name(0, "reason", reason);
  180.        
  181.             format
  182.             (
  183.                 STRING_GLOBAL, sizeof STRING_GLOBAL,
  184.                 "{ffffff}Жалоба от игрока: {94f490}%s\n"\
  185.                 "{ffffff}Жалоба на администратора: {94f490}%s\n"\
  186.                 "{ffffff}Дата и время: {94f490}%s\n"\
  187.                 "{ffffff}Причина жалобы: {94f490}%s\n\n"\
  188.                 "{ffffff}Введите ответ на данную жалобу в окно ниже и нажмите '{94f490}Далее{ffffff}' для ответа.",
  189.                 owner,
  190.                 admin_name,
  191.                 report_date,
  192.                 reason
  193.             );     
  194.            
  195.             ShowPlayerDialog
  196.             (
  197.                 playerid, SEND_ADMIN_REPORT_ANSWER, DIALOG_STYLE_INPUT,
  198.                 "{32a44b}Жалоба на администратора",
  199.                 STRING_GLOBAL,
  200.                 "Далее", "Закрыть"
  201.             );
  202.         }
  203.        
  204.         case SEND_ADMIN_REPORT_ANSWER:
  205.         {
  206.             if(!response) return 1;
  207.            
  208.             if(strlen(inputtext) > 128 || strlen(inputtext) < 2)
  209.                 return SendClientMessage(playerid, 0xf49090FF, "Неверно введены значения для ответа. Ответ должен содержать от 2-х до 128-ми символов.");
  210.            
  211.             STRING_GLOBAL[0] = EOS;
  212.            
  213.             format(STRING_GLOBAL, sizeof STRING_GLOBAL, "UPDATE `a_reports` SET `answer` = '%s' WHERE `id` = '%d'", inputtext, GetPVarInt(playerid, "admin_report_id"));
  214.             mysql_tquery(mysql, STRING_GLOBAL);
  215.            
  216.             DeletePVar(playerid, "admin_report_id");
  217.         }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement