HLMOD.HU Forrás Megtekintés - www.hlmod.hu
  1. /* //
  2. * AMX Mod X Script //
  3. *=====================================================//
  4. * //
  5. * Server Informer //
  6. * Sho0ter edit by .csF Group //
  7. * 1.2 Public //
  8. * //
  9. * //
  10. * ///////////////////////////////////////////////
  11. *
  12. *
  13. *
  14. * Êâàðû:
  15. * csf_info - A plugin ki/be kapcsolása <1> bekapcsolva <0> kikapcsolva
  16. * csf_server_mode - Kivalaszthatod milyen mod fut a szervereden
  17. * csf_admin_msn - Itt megadhatod mi az msn cimed vagy a skype cimed
  18. * csf_info_mod - Mutassa vagy, ne a jelenglegi modot <1> | igen | <0> nem
  19. * csf_info_ct - Mutassa vagy, ne mennyi az ido <1> | igen | <0> nem
  20. * csf_info_nm - Mutassa vagy, ne melyik a kovetkezo map <1> | igen | <0> nem
  21. * csf_info_ap - Mutassa, hogy hanyan vannak a szeron <1> | igen | <0> nem
  22. * csf_info_ai - Mutassa az admin elerhetosehet? <1> | igen | <0> nem
  23. * csf_info_ao - Jelenlevo adminok <1> | igen | <0> nem
  24. * csf_info_rds - Mutassa hanyadik kör van <1> | igen | <0> nem
  25. * csf_info_si - Szerver Ipt mutassa vagy ne <1> | igen | <0> nem
  26. * csf_hud_rgb - Milyen szinu legyen a szöveg RGB szinkodba adhatod meg
  27. * csf_hud_x - X Kordinatan hol helyezkedjen el
  28. * csf_hud_y - Y Kordinatan hol helyezkedjen el
  29. * csf_hud_efct - Effekt 0(sima), 1(robbano szoveg), 2(folyamatosan irodik ki), alapertek 0.
  30. *
  31. *
  32. *
  33. *
  34. * ----------------------------------------------------------------------------------------------------------------------------------------------------------
  35. */
  36. #include <amxmodx>
  37. #include <amxmisc>
  38. #include <engine>
  39.  
  40. #define PLUGIN_NAME "Server Informer"
  41. #define PLUGIN_AUTHOR "Sho0ter edit by .csF Group"
  42. #define PLUGIN_VERSION "1.2 Public"
  43.  
  44. #define INFORMERTID 100503
  45.  
  46. new g_MaxClients
  47. new g_HudText
  48. new hud_rgb
  49. new hud_x
  50. new hud_y
  51. new hud_efct
  52. new g_round = 0
  53.  
  54. public plugin_init()
  55. {
  56. register_plugin(PLUGIN_NAME, PLUGIN_VERSION, PLUGIN_AUTHOR)
  57.  
  58. register_dictionary("server_info.txt")
  59.  
  60. set_task(1.0, "Informer", INFORMERTID, "", 0, "b")
  61.  
  62. register_cvar("csf_server_mode", "PUBLIC")
  63. register_cvar("csf_admin_msn", "MSN CIMED")
  64. register_cvar("csf_info", "1")
  65. register_cvar("csf_info_mod", "1")
  66. register_cvar("csf_info_mod", "1")
  67. register_cvar("csf_info_ct", "1")
  68. register_cvar("csf_info_nm", "1")
  69. register_cvar("csf_info_ap", "1")
  70. register_cvar("csf_info_ai", "1")
  71. register_cvar("csf_info_ao", "1")
  72. register_cvar("csf_info_rds", "1")
  73. register_cvar("csf_info_si", "1")
  74. hud_rgb = register_cvar( "csf_hud_rgb", "0 255 0" )
  75. hud_x = register_cvar( "csf_hud_x", "0.01" )
  76. hud_y = register_cvar( "csf_hud_y", "0.18" )
  77. hud_efct = register_cvar( "csf_hud_efct", "0" )
  78. g_HudText = CreateHudSyncObj()
  79.  
  80. register_event("HLTV", "event_newround", "a", "1=0", "2=0");
  81. g_MaxClients = get_global_int(GL_maxClients)
  82. }
  83.  
  84. public event_newround() {
  85. g_round++
  86. }
  87.  
  88. public Informer()
  89. {
  90. if(!get_cvar_num("csf_info"))
  91. {
  92. remove_task(INFORMERTID)
  93. return PLUGIN_HANDLED
  94. }
  95. new id, all, CurrentTime[32], NextMap[32], Message[512]
  96. for(id = 1; id <= g_MaxClients; id++)
  97. {
  98. if(!is_user_connected(id))
  99. {
  100. continue
  101. }
  102. else
  103. {
  104. all++
  105. }
  106. }
  107. for(id = 1; id <= g_MaxClients; id++)
  108. {
  109. new Len, ServerMod[32], AdminIcq[32], ServerIp[33]
  110. if(get_cvar_num("csf_info_mod"))
  111. {
  112. get_cvar_string("csf_server_mode", ServerMod, 31)
  113. Len = format(Message, 511, "%L: %L", LANG_PLAYER, "SERVERMOD", LANG_PLAYER, ServerMod)
  114. }
  115. if(get_cvar_num("csf_info_ct"))
  116. {
  117. get_time("%H:%M:%S", CurrentTime, 31)
  118. Len += format(Message[Len], 511 - Len, "^n%L: %s", LANG_PLAYER, "CURRENTTIME", CurrentTime)
  119. if(get_cvar_float("mp_timelimit"))
  120. {
  121. new a = get_timeleft()
  122. Len += format(Message[Len], 511 - Len, "^n%L: %d:%02d", LANG_PLAYER, "TLEFT", (a / 60), (a % 60))
  123. }
  124. else
  125. {
  126. Len += format(Message[Len], 511 - Len, "^n%L: %L", LANG_PLAYER, "TLEFT", LANG_PLAYER, "LASTR")
  127. }
  128. }
  129. if(get_cvar_num("csf_info_nm"))
  130. {
  131. get_cvar_string("amx_nextmap", NextMap, 31)
  132. Len += format(Message[Len], 511 - Len, "^n%L: %s", LANG_PLAYER, "NMAP", NextMap)
  133. }
  134. if(get_cvar_num("csf_info_ap"))
  135. {
  136. Len += format(Message[Len], 511 - Len, "^n%L: %d|%d", LANG_PLAYER, "APLAYERS", all, g_MaxClients)
  137. }
  138. if(get_cvar_num("csf_info_ai"))
  139. {
  140. get_cvar_string("csf_admin_msn", AdminIcq, 31)
  141. Len += format(Message[Len], 511 - Len, "^n%L: %s", LANG_PLAYER, "ADMINICQ", AdminIcq)
  142. }
  143. if(get_cvar_num("csf_info_ao"))
  144. {
  145. new admins = 0;
  146. if(is_user_admin(id))
  147. admins++;
  148. Len += format(Message[Len], 511 - Len, "^n%L: %i", LANG_PLAYER, "ADMINS", admins)
  149. }
  150. if(get_cvar_num("csf_info_rds"))
  151. {
  152. Len += format(Message[Len], 511 - Len, "^n%L: %i", LANG_PLAYER, "ROUNDS", g_round)
  153. }
  154. if(get_cvar_num("csf_info_si"))
  155. {
  156. get_user_ip(0, ServerIp, 32)
  157. Len += format(Message[Len], 511 - Len, "^n%L: %s", LANG_PLAYER, "SERVERIP", ServerIp)
  158. }
  159. if(all)
  160. {
  161. new red, green, blue
  162. get_hud_color(red, green, blue)
  163. set_hudmessage(red,green,blue,get_pcvar_float(hud_x),get_pcvar_float(hud_y), get_pcvar_num(hud_efct), 1.0, 1.0)
  164.  
  165. ShowSyncHudMsg(id, g_HudText, "%s", Message)
  166. }
  167. }
  168. return PLUGIN_CONTINUE
  169. }
  170.  
  171. get_hud_color(&r, &g, &b) {
  172. new color[20]
  173. static red[5], green[5], blue[5]
  174. get_pcvar_string(hud_rgb, color, charsmax(color))
  175. parse(color, red, charsmax(red), green, charsmax(green), blue, charsmax(blue))
  176.  
  177. r = str_to_num(red)
  178. g = str_to_num(green)
  179. b = str_to_num(blue)
  180. }
  181.