Advertisement
Guest User

Untitled

a guest
Jan 29th, 2020
108
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.30 KB | None | 0 0
  1. #pragma semicolon 1
  2.  
  3. #define DEBUG
  4.  
  5. #define PLUGIN_AUTHOR "LaFF"
  6. #define PLUGIN_VERSION "0.00"
  7.  
  8. #include <sourcemod>
  9. #include <sdktools>
  10. #include <menus>
  11.  
  12. #pragma newdecls required
  13.  
  14. bool g_bRemove = true;
  15.  
  16. public Plugin myinfo =
  17. {
  18. name = "Helping menu for admins and devs for hexxes",
  19. author = PLUGIN_AUTHOR,
  20. description = "opens menu with usefull commands",
  21. version = PLUGIN_VERSION,
  22. url = "Hexxes.eu"
  23. };
  24.  
  25. public void OnPluginStart()
  26. {
  27. RegAdminCmd("sm_helpmenu", menu_help, ADMFLAG_BAN);
  28. RegAdminCmd("sm_amenu", menu_help, ADMFLAG_BAN);
  29. RegAdminCmd("sm_atools", command_atools, ADMFLAG_BAN);
  30. RegAdminCmd("sm_avarovani", command_varovani, ADMFLAG_BAN);
  31. RegAdminCmd("sm_voice", command_voice, ADMFLAG_BAN);
  32. RegAdminCmd("sm_mody", command_mody, ADMFLAG_BAN);
  33.  
  34. HookEvent("round_end", OnRoundEnd);
  35. }
  36. public Action OnRoundEnd(Event event, const char[] name, bool dbc)
  37. {
  38. g_bRemove = false;
  39. }
  40.  
  41. public Action menu_help(int client, int args)
  42. {
  43.  
  44. if(IsClientInGame(client))
  45. {
  46. Menu adminhelp = new Menu (mMenu);
  47.  
  48. adminhelp.SetTitle("Příkazy pro adminy");
  49. adminhelp.AddItem("hsonly", "Herní mody");
  50. adminhelp.AddItem("atools", "Admin tools");
  51. adminhelp.AddItem("avarovani", "Všeobecné varování");
  52.  
  53.  
  54. adminhelp.SetTitle("Příkazy pro adminy");
  55.  
  56.  
  57. adminhelp.Display(client, 20);
  58. }
  59. }
  60. public Action command_mody(int client, int args)
  61. {
  62.  
  63. if(IsClientInGame(client))
  64. {
  65. Menu mody = new Menu (mMody);
  66.  
  67. mody.SetTitle("Herní mody");
  68. mody.AddItem("hson", "Only headshot ON");
  69. mody.AddItem("hsoff", "Only headshot OFF");
  70. mody.AddItem("onlyknife", "Only knife");
  71.  
  72.  
  73. mody.Display(client, MENU_TIME_FOREVER);
  74. }
  75. }
  76.  
  77. public Action command_atools(int client, int args)
  78. {
  79. if(IsValidClient(client))
  80. {
  81. Menu atools = new Menu(mAtools);
  82.  
  83. atools.SetTitle("Admin tools");
  84. atools.AddItem("invis", "Invis");
  85. atools.AddItem("restartmap1", "Restartování mapy");
  86. atools.AddItem("voice", "Vypnutí voice pro norm. hráče");
  87. atools.AddItem("slay", "slay @aim");
  88. atools.AddItem("kick", "Kick @aim");
  89. atools.Display(client, MENU_TIME_FOREVER);
  90. }
  91. }
  92. public Action command_voice(int client, int args)
  93. {
  94. if(IsValidClient(client))
  95. {
  96. Menu voice = new Menu(mVoice);
  97. voice.AddItem("voiceoff", "Voice chat- OFF");
  98. voice.AddItem("voiceon", "Voice chat- ON");
  99.  
  100. voice.Display(client, MENU_TIME_FOREVER);
  101. }
  102. }
  103. public Action command_varovani(int client, int args)
  104. {
  105. if(IsValidClient(client))
  106. {
  107. Menu avarovani = new Menu(mVarovani);
  108. avarovani.SetTitle("Varování");
  109. avarovani.AddItem("spamvoice", "Varování o spamu voice a nadávky");
  110. avarovani.AddItem("varovania", "Pravidlo ONLY A");
  111. avarovani.AddItem("varovaniaeng", "Pravidlo ONLY A(ENG)");
  112.  
  113. avarovani.Display(client, MENU_TIME_FOREVER);
  114. }
  115. }
  116.  
  117.  
  118.  
  119. public int mMenu(Menu adminhelp, MenuAction onclick, int client, int args)
  120. {
  121. switch(onclick)
  122. {
  123. case MenuAction_Select:
  124. {
  125. char id[32];
  126. adminhelp.GetItem(args, id, sizeof(id));
  127.  
  128. if (StrEqual(id, "restartmap1"))
  129. {
  130. ClientCommand(client, "sm_restartmap");
  131. }
  132.  
  133. else if (StrEqual(id, "hsonly"))
  134. {
  135. FakeClientCommand(client, "sm_mody");
  136. }
  137. else if (StrEqual(id, "atools"))
  138. {
  139. FakeClientCommand(client, "sm_atools");
  140. }
  141. else if (StrEqual(id, "avarovani"))
  142. {
  143. FakeClientCommand(client, "sm_avarovani");
  144. }
  145. }
  146.  
  147. }
  148. }
  149. public int mMody(Menu mody, MenuAction onclick, int client, int args)
  150. {
  151. switch(onclick)
  152. {
  153. case MenuAction_Select:
  154. {
  155. char id[32];
  156. mody.GetItem(args, id, sizeof(id));
  157.  
  158. if (StrEqual(id, "hson"))
  159. {
  160. ClientCommand(client, "sm_msay zapl headshot only");
  161. PrintToChatAll("\x01[\x10HeXXeS\x01]\x03%N: \x04Zapl \x0BOnly Headshot", client);
  162. PrintToChatAll("\x01[\x10HeXXeS\x01]\x03%N: \x04Zapl \x0BOnly Headshot", client);
  163. PrintToChatAll("\x01[\x10HeXXeS\x01]\x03%N: \x04Zapl \x0BOnly Headshot", client);
  164. PrintToChatAll("\x01[\x10HeXXeS\x01]\x03%N: \x04Zapl \x0BOnly Headshot", client);
  165. ServerCommand("mp_damage_headshot_only 1");
  166. }
  167.  
  168. else if (StrEqual(id, "hsoff"))
  169. {
  170. PrintToChatAll("\x01[\x10HeXXeS\x01]\x03%N: \x02Vypl \x0BOnly Headshot", client);
  171. PrintToChatAll("\x01[\x10HeXXeS\x01]\x03%N: \x02Vypl \x0BOnly Headshot", client);
  172. PrintToChatAll("\x01[\x10HeXXeS\x01]\x03%N: \x02Vypl \x0BOnly Headshot", client);
  173. PrintToChatAll("\x01[\x10HeXXeS\x01]\x03%N: \x02Vypl \x0BOnly Headshot", client);
  174. ServerCommand("mp_damage_headshot_only 0");
  175. }
  176. else if (StrEqual(id, "onlyknife"))
  177. {
  178. PrintToChatAll("\x01[\x10HeXXeS\x01]\x03%N: \x02Zapl \x0BOnly knife", client);
  179.  
  180. ServerCommand("mp_buytime, 0");
  181. }
  182.  
  183. }
  184.  
  185. }
  186. }
  187.  
  188. public Action AutoClear(Handle timer)
  189. {
  190. if(!g_bRemove) return Plugin_Stop;
  191.  
  192. for(int i = 1; i <= MaxClients; i++)
  193. {
  194. if(!IsValidClient(i)) continue;
  195. RemovePlayerPrimary(i);
  196. RemovePlayerPistol(i);
  197. }
  198.  
  199. return Plugin_Continue;
  200. }
  201.  
  202. public int mAtools(Menu atools, MenuAction onclick, int client, int args)
  203. {
  204. switch(onclick)
  205. {
  206. case MenuAction_Select:
  207. {
  208. char szItem[32];
  209. atools.GetItem(args, szItem, sizeof(szItem));
  210.  
  211. if(StrEqual(szItem, "slay"))
  212. {
  213. FakeClientCommand(client, "sm_slay @aim");
  214. }
  215. else if(StrEqual(szItem, "kick"))
  216. {
  217. FakeClientCommand(client, "sm_kick @aim");
  218. }
  219. else if(StrEqual(szItem, "restartmap1"))
  220. {
  221. ClientCommand(client, "sm_restartmap");
  222. }
  223. else if(StrEqual(szItem, "invis"))
  224. {
  225. FakeClientCommand(client, "sm_i4x5as47");
  226. }
  227. else if(StrEqual(szItem, "voice"))
  228. {
  229. FakeClientCommand(client, "sm_voice");
  230. }
  231. }
  232. }
  233. }
  234. public int mVarovani(Menu avarovani, MenuAction onclick, int client, int args)
  235. {
  236. switch(onclick)
  237. {
  238. case MenuAction_Select:
  239. {
  240. char szItem[32];
  241. avarovani.GetItem(args, szItem, sizeof(szItem));
  242.  
  243. if(StrEqual(szItem, "spamvoice"))
  244. {
  245. FakeClientCommand(client, "sm_msay nenadávejte a nespamujte voice");
  246. }
  247. else if (StrEqual(szItem, "varovania"))
  248. {
  249. FakeClientCommand(client, "sm_msay Pokud je dohromady v teamech méně jak 8 hráčů hraje se only site A");
  250. }
  251. else if (StrEqual(szItem, "varovaniaeng"))
  252. {
  253. FakeClientCommand(client, "sm_msay If there's less than 8 players playing, you can only play site A");
  254. }
  255. }
  256. }
  257. }
  258. public int mVoice(Menu voice, MenuAction onclick, int client, int args)
  259. {
  260. switch(onclick)
  261. {
  262. case MenuAction_Select:
  263. {
  264. char szItem[32];
  265. voice.GetItem(args, szItem, sizeof(szItem));
  266.  
  267. if(StrEqual(szItem, "voiceoff"))
  268. {
  269. PrintToChatAll("\x01[\x10HeXXeS\x01]\x03%N: \x02vypnul \x0BVoice chat pro normální hráče", client);
  270. PrintToChatAll("\x01[\x10HeXXeS\x01]\x03%N: \x02vypnul \x0BVoice chat pro normální hráče", client);
  271. PrintToChatAll("\x01[\x10HeXXeS\x01]\x03%N: \x02vypnul \x0BVoice chat pro normální hráče", client);
  272. FakeClientCommand(client, "sm_voicedisable");
  273. }
  274. else if (StrEqual(szItem, "voiceon"))
  275. {
  276. PrintToChatAll("\x01[\x10HeXXeS\x01]\x03%N: \x04zapnul \x0BVoice chat pro normální hráče!", client);
  277. PrintToChatAll("\x01[\x10HeXXeS\x01]\x03%N: \x04zapnul \x0BVoice chat pro normální hráče!", client);
  278. PrintToChatAll("\x01[\x10HeXXeS\x01]\x03%N: \x04zapnul \x0BVoice chat pro normální hráče!", client);
  279. FakeClientCommand(client, "sm_voiceenable");
  280. }
  281. }
  282. }
  283. }
  284. ///////////////////////////////// defin ////////////////////////////////////////
  285.  
  286. stock bool IsValidClient(int client)
  287. {
  288. if(client >= 1 && client <= MaxClients && IsClientConnected(client) && IsClientInGame(client) && !IsClientSourceTV(client))
  289. {
  290. return true;
  291. }
  292.  
  293. return false;
  294. }
  295.  
  296. stock void RemovePlayerPistol(int client) {
  297. int fegya;
  298. for (int i = 0; i < 6; i++)
  299. {
  300. fegya = GetPlayerWeaponSlot(client, i);
  301. if(IsValidEntity(fegya) && i == 1)
  302. {
  303. RemovePlayerItem(client, fegya);
  304. }
  305. }
  306. }
  307.  
  308. stock void RemovePlayerPrimary(int client) {
  309. int fegya;
  310. for (int i = 0; i < 6; i++)
  311. {
  312. fegya = GetPlayerWeaponSlot(client, i);
  313. if(IsValidEntity(fegya) && i == 0)
  314. {
  315. RemovePlayerItem(client, fegya);
  316. }
  317. }
  318. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement