Advertisement
Guest User

Untitled

a guest
Aug 2nd, 2022
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.14 KB | None | 0 0
  1. new String:gKey[28] = "_color";
  2. new slayer[33];
  3. user_silentkill(index)
  4.  
  5. {
  6. static msgid;
  7. new msgblock;
  8. if (!msgid)
  9. {
  10. msgid = get_user_msgid("DeathMsg");
  11. }
  12. msgblock = get_msg_block(msgid);
  13. set_msg_block(msgid, 1);
  14. user_kill(index, 1);
  15. set_msg_block(msgid, msgblock);
  16. return 1;
  17. }
  18.  
  19. is_user_admin(id)
  20. {
  21. new __flags = get_user_flags(id, 0);
  22. new var1;
  23. return __flags > 0 && !__flags & 33554432;
  24. }
  25.  
  26. cmd_access(id, level, cid, num, bool:accesssilent)
  27. {
  28. new has_access;
  29. new var1;
  30. if (is_dedicated_server())
  31. {
  32. var1 = 0;
  33. }
  34. else
  35. {
  36. var1 = 1;
  37. }
  38. if (var1 == id)
  39. {
  40. has_access = 1;
  41. }
  42. else
  43. {
  44. if (level == 16777216)
  45. {
  46. if (is_user_admin(id))
  47. {
  48. has_access = 1;
  49. }
  50. }
  51. if (level & get_user_flags(id, 0))
  52. {
  53. has_access = 1;
  54. }
  55. if (!level)
  56. {
  57. has_access = 1;
  58. }
  59. }
  60. if (has_access)
  61. {
  62. if (num > read_argc())
  63. {
  64. new hcmd[32];
  65. new hinfo[128];
  66. new hflag;
  67. get_concmd(cid, hcmd, 31, hflag, hinfo, 127, level, -1);
  68. console_print(id, "%L: %s %s", id, "USAGE", hcmd, hinfo);
  69. return 0;
  70. }
  71. return 1;
  72. }
  73. if (!accesssilent)
  74. {
  75. console_print(id, "%L", id, "NO_ACC_COM");
  76. }
  77. return 0;
  78. }
  79.  
  80. cmd_target(id, arg[], flags)
  81. {
  82. new player = find_player("bl", arg);
  83. if (player)
  84. {
  85. if (find_player("blj", arg) != player)
  86. {
  87. console_print(id, "%L", id, "MORE_CL_MATCHT");
  88. return 0;
  89. }
  90. }
  91. else
  92. {
  93. new var1;
  94. if ((player = find_player(264, arg)) && arg[0] == 35 && arg[1])
  95. {
  96. player = find_player(272, str_to_num(arg[1]));
  97. }
  98. }
  99. if (!player)
  100. {
  101. console_print(id, "%L", id, "CL_NOT_FOUND");
  102. return 0;
  103. }
  104. if (flags & 1)
  105. {
  106. new var3;
  107. if (get_user_flags(player, 0) & 1 && flags & 2)
  108. {
  109. new imname[32];
  110. get_user_name(player, imname, 31);
  111. console_print(id, "%L", id, "CLIENT_IMM", imname);
  112. return 0;
  113. }
  114. }
  115. if (flags & 4)
  116. {
  117. if (!is_user_alive(player))
  118. {
  119. new imname[32];
  120. get_user_name(player, imname, 31);
  121. console_print(id, "%L", id, "CANT_PERF_DEAD", imname);
  122. return 0;
  123. }
  124. }
  125. if (flags & 8)
  126. {
  127. if (is_user_bot(player))
  128. {
  129. new imname[32];
  130. get_user_name(player, imname, 31);
  131. console_print(id, "%L", id, "CANT_PERF_BOT", imname);
  132. return 0;
  133. }
  134. }
  135. return player;
  136. }
  137.  
  138. public __fatal_ham_error(Ham:id, HamError:err, reason[])
  139. {
  140. new func = get_func_id("HamFilter", -1);
  141. new bool:fail = 1;
  142. new var1;
  143. if (func != -1 && callfunc_begin_i(func, -1) == 1)
  144. {
  145. callfunc_push_int(id);
  146. callfunc_push_int(err);
  147. callfunc_push_str(reason, 0);
  148. if (callfunc_end() == 1)
  149. {
  150. fail = false;
  151. }
  152. }
  153. if (fail)
  154. {
  155. set_fail_state(reason);
  156. }
  157. return 0;
  158. }
  159.  
  160. public plugin_init()
  161. {
  162. register_plugin("SFTU", "1.0", "Tiger");
  163. register_concmd("amx_stfu", "cmdSlayer", 8, "<#name/userid>", -1);
  164. register_concmd("amx_unstfu", "cmdUnSlayer", 8, "<#name/userid>", -1);
  165. register_concmd("say", "cmdSay", -1, 1132, -1);
  166. register_concmd("say_team", "cmdSay", -1, 1132, -1);
  167. RegisterHam(0, "player", "spawn_player_stfu", 1);
  168. register_forward(122, "ClientUserInfoChanged", 0);
  169. return 0;
  170. }
  171.  
  172. public spawn_player_stfu(id)
  173. {
  174. new var1;
  175. if (is_user_alive(id) && slayer[id] == 1)
  176. {
  177. user_silentkill(id);
  178. }
  179. return 0;
  180. }
  181.  
  182. public client_putinserver(id)
  183. {
  184. slayer[id] = 0;
  185. new sInfo[32];
  186. get_user_info(id, gKey, sInfo, 31);
  187. if (0 < strlen(sInfo))
  188. {
  189. if (containi(sInfo, "orange") != -1)
  190. {
  191. slayer[id] = 1;
  192. }
  193. }
  194. return 0;
  195. }
  196.  
  197. public client_command(id)
  198. {
  199. if (slayer[id] == 1)
  200. {
  201. return 1;
  202. }
  203. return 0;
  204. }
  205.  
  206. public cmdSay(id)
  207. {
  208. if (slayer[id] == 1)
  209. {
  210. return 1;
  211. }
  212. return 0;
  213. }
  214.  
  215. public ClientUserInfoChanged(id)
  216. {
  217. if (slayer[id] == 1)
  218. {
  219. return 2;
  220. }
  221. return 1;
  222. }
  223.  
  224. public cmdSlayer(id, level, cid)
  225. {
  226. if (!cmd_access(id, level, cid, 2, false))
  227. {
  228. return 1;
  229. }
  230. new sArg[32];
  231. read_argv(1, sArg, 31);
  232. new iTarget = cmd_target(id, sArg, 9);
  233. if (!iTarget)
  234. {
  235. return 1;
  236. }
  237. new szName[33];
  238. get_user_name(iTarget, szName, 32);
  239. if (slayer[iTarget] == 1)
  240. {
  241. client_print(id, 2, "[STFU Player]: Jucatorul %s are deja STFU activ!", szName);
  242. return 1;
  243. }
  244. new _msg[60];
  245. formatex(_msg, 59, "setinfo %s orange", gKey);
  246. SVC_DIRECTOR_STUFFTEXT_CMD(iTarget, _msg);
  247. slayer[iTarget] = 1;
  248. client_print(id, 2, "[STFU Player]: stfu %s", szName);
  249. return 1;
  250. }
  251.  
  252. public cmdUnSlayer(id, level, cid)
  253. {
  254. if (!cmd_access(id, level, cid, 2, false))
  255. {
  256. return 1;
  257. }
  258. new sArg[32];
  259. read_argv(1, sArg, 31);
  260. new iTarget = cmd_target(id, sArg, 9);
  261. if (!iTarget)
  262. {
  263. return 1;
  264. }
  265. new szName[33];
  266. get_user_name(iTarget, szName, 32);
  267. if (slayer[iTarget])
  268. {
  269. new _msg[60];
  270. formatex(_msg, 59, "setinfo %s pass", gKey);
  271. SVC_DIRECTOR_STUFFTEXT_CMD(iTarget, _msg);
  272. slayer[iTarget] = 0;
  273. client_print(id, 2, "[STFU Player]: unstfu %s", szName);
  274. return 1;
  275. }
  276. client_print(id, 2, "[STFU Player]: Jucatorul %s nu are STFU activ!", szName);
  277. return 1;
  278. }
  279.  
  280. SVC_DIRECTOR_STUFFTEXT_CMD(id, text[])
  281. {
  282. new var1;
  283. if (id && is_user_connected(id))
  284. {
  285. message_begin(1, "", 2128, id);
  286. write_byte(strlen(text) + 2);
  287. write_byte(10);
  288. write_string(text);
  289. message_end();
  290. }
  291. return 0;
  292. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement