Advertisement
Guest User

Untitled

a guest
Sep 18th, 2019
103
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.66 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, admin_name[24], reason[128], answer[128];
  13.  
  14. cache_get_row_count(rows);
  15.  
  16. STRING_GLOBAL = "{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, "%s{32a44b}%d. {ffffff}%s\t\t{94f490}%s\n", STRING_GLOBAL, i + 2, admin_name, reason);
  25. }
  26.  
  27. ShowPlayerDialog(playerid, SEND_ADMIN_REPORT, DIALOG_STYLE_LIST, "{32a44b}Жалобы на администрацию", STRING_GLOBAL, "Далее", "Закрыть");
  28. }
  29.  
  30. CMD:ans_report(playerid)
  31. {
  32. if(GetPlayerAdminEx(playerid) < 4) return 1;
  33.  
  34. mysql_tquery(mysql, "SELECT * FROM `a_reports`");
  35.  
  36. STRING_GLOBAL[0] = EOS;
  37.  
  38. new rows, fmt_str[1500], admin_name[24], reason[128], owner[24];
  39.  
  40. cache_get_row_count(rows);
  41.  
  42. STRING_GLOBAL = "";
  43.  
  44. for(new i = 0; i != rows; i ++)
  45. {
  46. cache_get_value_name(i, "owner", owner);
  47. cache_get_value_name(i, "admin", admin_name);
  48. cache_get_value_name(i, "reason", reason);
  49.  
  50. format(STRING_GLOBAL, sizeof STRING_GLOBAL, "%s{32a44b}%d. {ffffff}Жалоба от игрока {94f490}%s {ffffff}на администратора {94f490}%s\n", STRING_GLOBAL, i + 1, owner, admin_name);
  51. }
  52.  
  53. ShowPlayerDialog(playerid, ADMIN_REPORTS, DIALOG_STYLE_LIST, "{32a44b}Жалобы на администрацию", STRING_GLOBAL, "Далее", "Закрыть");
  54.  
  55. return 1;
  56. }
  57.  
  58. // ## OnDialogResponse
  59.  
  60. case SEND_ADMIN_REPORT:
  61. {
  62. if(!response || listitem == 1) return 1;
  63.  
  64. if(listitem == 0)
  65. {
  66. ShowPlayerDialog
  67. (
  68. playerid, SEND_ADMIN_NICKNAME, DIALOG_STYLE_INPUT,
  69. "{32a44b}Жалоба на администратора",
  70. "{ffffff}Мы ценим своих игроков и максимально стараемся помочь Вам и\n"\
  71. "уберечь от {94f490}некомпетентной {ffffff}администрации. Поэтому Вы можете {94f490}оставить жалобу\n"\
  72. "{ffffff}на нарушения со стороны администрации прямо в игре не заходя на форум.\n\n"\
  73. "{cecece}Введите никнейм администратора в окно ниже:",
  74. "Далее", "Закрыть"
  75. );
  76. }
  77.  
  78. STRING_GLOBAL[0] = EOS;
  79.  
  80. format(STRING_GLOBAL, sizeof STRING_GLOBAL, "SELECT * FROM `a_reports` WHERE `id` = '%d' LIMIT 1", listitem - 1);
  81. mysql_tquery(mysql, STRING_GLOBAL);
  82.  
  83. new rows, owner[24], admin_name[24], reason[128], report_date[30], answer[128];
  84.  
  85. cache_get_row_count(rows);
  86.  
  87. cache_get_value_name(0, "owner", owner);
  88. cache_get_value_name(0, "admin", admin_name);
  89. cache_get_value_name(0, "date", report_date);
  90. cache_get_value_name(0, "reason", reason);
  91. cache_get_value_name(0, "answer", answer);
  92.  
  93. if(strlen(answer) < 2) return 1;
  94.  
  95. STRING_GLOBAL[0] = EOS;
  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