HLMOD.HU Forrás Megtekintés - www.hlmod.hu
  1. #include <amxmodx>
  2. #include <amxmisc>
  3. #include <fun>
  4. #include <fakemeta>
  5.  
  6. #define PLUGIN_NAME "Invisible Player"
  7. #define PLUGIN_AUTHOR "Kristaps08"
  8. #define PLUGIN_VERSION "1.4"
  9. #define PLUGIN_CVAR "amx_invisible_version"
  10.  
  11. #define REQUIRED_FLAG ADMIN_MAP
  12.  
  13. new invisible_amount
  14.  
  15. new bool:g_is_invisible[33]
  16.  
  17. public plugin_init() {
  18. register_plugin(PLUGIN_NAME, PLUGIN_VERSION, PLUGIN_AUTHOR)
  19.  
  20. register_cvar(PLUGIN_CVAR, PLUGIN_VERSION, FCVAR_SERVER)
  21.  
  22. invisible_amount = register_cvar("amx_invisible_amount","20")
  23.  
  24. register_forward(FM_PlayerPreThink, "fw_PlayerPreThink")
  25.  
  26. register_concmd("amx_invisible", "cmd_invisible", REQUIRED_FLAG, "<target> [0|1] - 0=OFF 1=ON")
  27.  
  28. register_dictionary("invisible_player.txt")
  29. }
  30.  
  31. public client_disconnect(id)
  32. g_is_invisible[id] = false
  33.  
  34. public fw_PlayerPreThink(id) {
  35. if(!is_user_alive(id) || !is_user_connected(id) || !g_is_invisible[id])
  36. return PLUGIN_HANDLED
  37.  
  38. set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransAlpha, get_pcvar_num(invisible_amount))
  39. return PLUGIN_HANDLED
  40. }
  41.  
  42. public cmd_invisible(id, level, cid) {
  43. if(!cmd_access(id, level, cid, 2))
  44. return PLUGIN_HANDLED
  45.  
  46. new arg[32]
  47. new arg2[2]
  48. read_argv(1, arg, 31)
  49. read_argv(2, arg2, 1)
  50.  
  51. new player = cmd_target(id, arg, 7)
  52. if(!player)
  53. return PLUGIN_HANDLED
  54.  
  55. new name[32]
  56. new admin[32]
  57. get_user_name(player, name, 31)
  58. get_user_name(id, admin, 31)
  59.  
  60. if(equal(arg2, "1")) {
  61. if(!g_is_invisible[player]) {
  62. set_user_rendering(player, kRenderFxGlowShell, 0, 0, 0, kRenderTransAlpha, get_pcvar_num(invisible_amount))
  63. switch(get_cvar_num("amx_show_activity")) {
  64. case 1: client_print(0, print_chat, "%L", LANG_PLAYER, "ADMIN_INVISIBLE_ON_PLAYER_CASE1", name)
  65. case 2: client_print(0, print_chat, "%L", LANG_PLAYER, "ADMIN_INVISIBLE_ON_PLAYER_CASE2", admin, name)
  66. }
  67. g_is_invisible[player] = true
  68. }
  69. else
  70. client_print(0, print_console, "%L", LANG_PLAYER, "ADMIN_ALREADY_IS")
  71. }
  72. else if(equal(arg2, "0")) {
  73. if(g_is_invisible[player]) {
  74. set_user_rendering(player, kRenderFxGlowShell, 0, 0, 0, kRenderTransAlpha, 255)
  75. switch(get_cvar_num("amx_show_activity")) {
  76. case 1: client_print(0, print_chat, "%L", LANG_PLAYER, "ADMIN_INVISIBLE_OFF_PLAYER_CASE1", name)
  77. case 2: client_print(0, print_chat, "%L", LANG_PLAYER, "ADMIN_INVISIBLE_OFF_PLAYER_CASE2", admin, name)
  78. }
  79. g_is_invisible[player] = false
  80. }
  81. else
  82. client_print(0, print_console, "%L", LANG_PLAYER, "ADMIN_DOESNT_HAVE")
  83. }
  84. return PLUGIN_HANDLED
  85. }
  86.