HLMOD.HU Forrás Megtekintés - www.hlmod.hu
  1. #include <amxmodx>
  2.  
  3. new g_iTarget[33]
  4. new jelent_prefix
  5.  
  6. public plugin_init()
  7. {
  8. register_plugin("Jelentes indokkal", "1.0", "mforce")
  9.  
  10. register_clcmd("say /jelent", "jelent")
  11. register_clcmd("say_team /jelent", "jelent")
  12. register_clcmd("Indok", "jelentok");
  13.  
  14. jelent_prefix = register_cvar("jelent_prefix", "SzerverPrefix")
  15. }
  16.  
  17. public jelent(id)
  18. {
  19. new prefix[64]
  20. get_pcvar_string(jelent_prefix, prefix, 63)
  21. new jelentmenu[256]
  22. formatex(jelentmenu, charsmax(jelentmenu), "\r[%s] \wCsaló Jelentése", prefix);
  23.  
  24. new menu = menu_create(jelentmenu, "jelenth")
  25.  
  26. new players[32], num
  27. new szName[32], szTempid[32]
  28.  
  29. get_players(players, num, "ach")
  30.  
  31. for(new i; i < num; i++)
  32. {
  33. get_user_name(players[i], szName, charsmax(szName))
  34.  
  35. num_to_str(get_user_userid(players[i]), szTempid, charsmax(szTempid))
  36.  
  37. menu_additem(menu, szName, szTempid, 0)
  38. }
  39. menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
  40. menu_setprop(menu, MPROP_BACKNAME, "Vissza");
  41. menu_setprop(menu, MPROP_NEXTNAME, "Következő˜");
  42. menu_setprop(menu, MPROP_EXITNAME, "Kilépés");
  43. menu_display(id, menu)
  44. }
  45.  
  46. public jelenth(id, menu, item)
  47. {
  48. if(item == MENU_EXIT)
  49. {
  50. menu_destroy(menu)
  51. return PLUGIN_HANDLED
  52. }
  53.  
  54. new szData[6], szName[64], iAccess, iCallback
  55. menu_item_getinfo(menu, item, iAccess, szData, charsmax(szData), szName, charsmax(szName), iCallback)
  56.  
  57. g_iTarget[id] = find_player("k", str_to_num(szData))
  58.  
  59. client_cmd(id, "messagemode Indok")
  60.  
  61. menu_destroy(menu)
  62. return PLUGIN_HANDLED
  63. }
  64.  
  65. public jelentok(id)
  66. {
  67. new indok[300]
  68. read_args(indok, charsmax(indok))
  69. remove_quotes(indok)
  70.  
  71. if(!strlen(indok))
  72. return PLUGIN_HANDLED
  73.  
  74. new kuldo[32], jelentett[32]
  75. get_user_name(id, kuldo, charsmax(kuldo))
  76. get_user_name(g_iTarget[id], jelentett, charsmax(jelentett))
  77. log_to_file( "jelentesek.log", "%s jelentette %s-t. Indok: %s", kuldo, jelentett, indok);
  78.  
  79. new players[32], num, id
  80. get_players(players, num, "c")
  81.  
  82. for( new i; i< num; i++ )
  83. {
  84. id = players[i]
  85. if(get_user_flags(id) & ADMIN_KICK)
  86. {
  87. print_color(id, "!t%s !yjelentette!g %s!y-t. Indok: !g%s", kuldo, jelentett, indok)
  88. }
  89.  
  90. }
  91.  
  92. return PLUGIN_CONTINUE
  93. }
  94.  
  95. stock print_color(const id, const input[], any:...)
  96. {
  97. new count = 1, players[32]
  98. static msg[191]
  99. vformat(msg, 190, input, 3)
  100.  
  101. replace_all(msg, 190, "!g", "^4")
  102. replace_all(msg, 190, "!y", "^1")
  103. replace_all(msg, 190, "!t", "^3")
  104.  
  105. if (id) players[0] = id; else get_players(players, count, "ch")
  106. {
  107. for (new i = 0; i < count; i++)
  108. {
  109. if (is_user_connected(players[i]))
  110. {
  111. message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i])
  112. write_byte(players[i])
  113. write_string(msg)
  114. message_end()
  115. }
  116. }
  117. }
  118. return PLUGIN_HANDLED
  119. }
  120. /* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
  121. *{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1038\\ f0\\ fs16 \n\\ par }
  122. */
  123.