HLMOD.HU Forrás Megtekintés - www.hlmod.hu
  1. #include <amxmodx>
  2. #include <amxmisc>
  3.  
  4. new cvar_message, cvar_color, cvar_location, cvar_effects, cvar_show, cvar_cmd, hudsync
  5.  
  6. public plugin_init() {
  7. register_plugin("Uzenet", "1.1", "noname")
  8. cvar_message = register_cvar("amx_permanent_message", "WWW.AMXMODX.CRYS.HU")
  9. cvar_color = register_cvar("amx_permanent_message_color", "255 0 0")
  10. cvar_location = register_cvar("amx_permanent_message_location", "2")
  11. cvar_effects = register_cvar("amx_permanent_message_effects", "2")
  12. cvar_show = register_cvar("amx_permanent_message_show", "0")
  13. cvar_cmd = register_cvar("amx_permanent_message_cmd", "1")
  14. register_concmd("amx_perm_msg", "cmdChangeMsg", ADMIN_LEVEL_A)
  15. hudsync = CreateHudSyncObj()
  16. set_task(1.0, "show_hud", 0, "", 0, "b")
  17. }
  18.  
  19. public show_hud() {
  20. new message[200], location, eff, show, players[32], inum
  21. static red, green, blue
  22. get_pcvar_string(cvar_message, message, charsmax(message))
  23. get_hud_color(red, green, blue)
  24. location = get_pcvar_num(cvar_location)
  25. eff = clamp(get_pcvar_num(cvar_effects), 0, 2)
  26. show = get_pcvar_num(cvar_show)
  27. get_players(players, inum)
  28.  
  29. replace_all(message, charsmax(message), "", "X^n")
  30. replace_all(message, charsmax(message), "/n", "^n")
  31.  
  32. switch(location) {
  33. case 1: set_hudmessage(red, green, blue, 0.01, 0.15, eff, 1.0, 1.0, 0.1, 0.2, -1)
  34. case 2: set_hudmessage(red, green, blue, -1.0, 0.15, eff, 1.0, 1.0, 0.1, 0.2, -1)
  35. case 3: set_hudmessage(red, green, blue, 0.99, 0.15, eff, 1.0, 1.0, 0.1, 0.2, -1)
  36. case 4: set_hudmessage(red, green, blue, 0.01, -1.0, eff, 1.0, 1.0, 0.1, 0.2, -1)
  37. case 5: set_hudmessage(red, green, blue, -1.0, -1.0, eff, 1.0, 1.0, 0.1, 0.2, -1)
  38. case 6: set_hudmessage(red, green, blue, 0.99, -1.0, eff, 1.0, 1.0, 0.1, 0.2, -1)
  39. case 7: set_hudmessage(red, green, blue, 0.01, 0.75, eff, 1.0, 1.0, 0.1, 0.2, -1)
  40. case 8: set_hudmessage(red, green, blue, -1.0, 0.75, eff, 1.0, 1.0, 0.1, 0.2, -1)
  41. case 9: set_hudmessage(red, green, blue, 0.99, 0.70, eff, 1.0, 1.0, 0.1, 0.2, -1)
  42. }
  43.  
  44. for(new i=0; i<inum; ++i) {
  45. switch(show) {
  46. case 0: ShowSyncHudMsg(0, hudsync, message)
  47. case 1: {
  48. if(!is_user_alive(players[i]))
  49. ShowSyncHudMsg(players[i], hudsync, message)
  50. }
  51. case 2: {
  52. if(is_user_alive(players[i]))
  53. ShowSyncHudMsg(players[i], hudsync, message)
  54. }
  55. case 3: {
  56. if(is_user_admin(players[i]))
  57. ShowSyncHudMsg(players[i], hudsync, message)
  58. }
  59. case 4: {
  60. if(!is_user_admin(players[i]))
  61. ShowSyncHudMsg(players[i], hudsync, message)
  62. }
  63. case 5: {
  64. if(is_user_admin(players[i]) && is_user_alive(players[i]))
  65. ShowSyncHudMsg(players[i], hudsync, message)
  66. }
  67. case 6: {
  68. if(is_user_admin(players[i]) && !is_user_alive(players[i]))
  69. ShowSyncHudMsg(players[i], hudsync, message)
  70. }
  71. case 7: {
  72. if(!is_user_admin(players[i]) && is_user_alive(players[i]))
  73. ShowSyncHudMsg(players[i], hudsync, message)
  74. }
  75. case 8: {
  76. if(!is_user_admin(players[i]) && !is_user_alive(players[i]))
  77. ShowSyncHudMsg(players[i], hudsync, message)
  78. }
  79. default: ShowSyncHudMsg(0, hudsync, message)
  80. }
  81. }
  82. return PLUGIN_CONTINUE
  83. }
  84.  
  85. public cmdChangeMsg(id, level, cid) {
  86. if(!get_pcvar_num(cvar_cmd) || !cmd_access(id, level, cid, 1))
  87. return PLUGIN_HANDLED
  88.  
  89. new args[200], name[32]
  90. read_args(args, charsmax(args))
  91. remove_quotes(args)
  92. get_user_name(id, name, charsmax(name))
  93.  
  94. set_pcvar_string(cvar_message, args)
  95. log_amx("Az admin, ^"%s^" megvaltoztatta az uzenetet: ^"%s^"", name, args)
  96.  
  97. return PLUGIN_CONTINUE
  98. }
  99.  
  100. get_hud_color(&r, &g, &b) {
  101. new color[20]
  102. static red[5], green[5], blue[5]
  103. get_pcvar_string(cvar_color, color, charsmax(color))
  104. parse(color, red, charsmax(red), green, charsmax(green), blue, charsmax(blue))
  105.  
  106. r = str_to_num(red)
  107. g = str_to_num(green)
  108. b = str_to_num(blue)
  109. }