hlmod.hu

Magyar Half-Life Mód közösség!
Pontos idő: 2024.04.28. 15:57



Jelenlévő felhasználók

Jelenleg 540 felhasználó van jelen :: 0 regisztrált, 0 rejtett és 540 vendég

A legtöbb felhasználó (1565 fő) 2020.11.21. 11:26-kor tartózkodott itt.

Regisztrált felhasználók: nincs regisztrált felhasználó az elmúlt 5 percben aktív felhasználók alapján

Utoljára aktív
Ahhoz hogy lásd ki volt utoljára aktív, be kell jelentkezned.



Az oldal teljeskörű
használatához regisztrálj.

Regisztráció

Kereső


Új téma nyitása  Hozzászólás a témához  [ 2 hozzászólás ] 
Szerző Üzenet
 Hozzászólás témája: Plugin Egybeírás
HozzászólásElküldve: 2013.12.26. 12:04 
Offline
Félisten

Csatlakozott: 2012.06.19. 15:12
Hozzászólások: 926
Megköszönt másnak: 109 alkalommal
Megköszönték neki: 31 alkalommal
Valaki egybe írná ezt a hirdetés tiltó és az admin chat colorst

Hirdetés tiltó
SMA Forráskód: [ Mindet kijelol ]
  1. #include <amxmodx>
  2. #include <fakemeta>
  3. #include <colorchat>
  4. public plugin_init()
  5. {
  6. register_plugin("Hirdetes", "Petrik", "1.0")
  7. register_forward(FM_ClientUserInfoChanged, "ClientInfoChanged")
  8. register_clcmd ("say", "msgControl")
  9. register_clcmd ("say_team", "msgControl")
  10. }
  11. public msgControl(id){
  12. new message[192]
  13. read_args (message, 191)
  14. remove_quotes (message)
  15. new Bnum = strlen(message)
  16. new Nnum = 0
  17. new i = 0
  18. while(i < Bnum)
  19. {
  20. if(message[i] == '1' || message[i] == '2' || message[i] == '3' || message[i] == '4' || message[i] == '5' || message[i] == '6' || message[i] == '7' || message[i] == '8' || message[i] == '9' || message[i] == '0')
  21. Nnum++
  22. ++i
  23. }
  24. if( Nnum >= 7)
  25. {
  26. //client_print(id, print_chat, "[L.o.L] A szerveren TILOS a szerverek HIRDETÉSE!")
  27. ColorChat(id,GREEN,"[Hirdetes] A szerveren ^3TILOS a ^3HIRDETÉS!")
  28. return PLUGIN_HANDLED
  29. }
  30. return PLUGIN_CONTINUE
  31. }
  32. public client_connect(id)
  33. set_task(3.0, "NameConrol",id)
  34.  
  35.  
  36.  
  37. public ClientInfoChanged(id)
  38. set_task(3.0, "NameConrol",id)
  39. public NameConrol(id){
  40. if(!is_user_connected(id))
  41. return PLUGIN_CONTINUE
  42. new name[31]
  43. get_user_name(id, name, 30)
  44. new Bnum = strlen(name);
  45. new i=0
  46. new Nnum=0
  47. while(i < Bnum)
  48. {
  49. if(name[i] == '1' || name[i] == '2' || name[i] == '3' || name[i] == '4' || name[i] == '5' || name[i] == '6' || name[i] == '7' || name[i] == '8' || name[i] == '9' || name[i] == '0')
  50. Nnum++;
  51. ++i;
  52. }
  53. if( Nnum >= 7)
  54. {
  55. client_cmd(id, "name ^"TILOS HIRDETNI!^"")
  56. client_cmd(id, "retry")
  57. return PLUGIN_CONTINUE
  58. }
  59. return PLUGIN_CONTINUE
  60. }
  61. stock print_color(const id, const input[], any:...)
  62. {
  63. new count = 1, players[32]
  64. static msg[191]
  65. vformat(msg, 190, input, 3)
  66.  
  67. replace_all(msg, 190, "!g", "^4")
  68. replace_all(msg, 190, "!y", "^1")
  69. replace_all(msg, 190, "!t", "^3")
  70. replace_all(msg, 190, "á", "á")
  71. replace_all(msg, 190, "é", "Ă©")
  72. replace_all(msg, 190, "í", "Ă")
  73. replace_all(msg, 190, "ó", "Ăł")
  74. replace_all(msg, 190, "ö", "ö")
  75. replace_all(msg, 190, "ő", "Ĺ‘")
  76. replace_all(msg, 190, "ú", "Ăş")
  77. replace_all(msg, 190, "ü", "ĂĽ")
  78. replace_all(msg, 190, "ű", "ű")
  79. replace_all(msg, 190, "Á", "Á")
  80. replace_all(msg, 190, "É", "É")
  81. replace_all(msg, 190, "Í", "ĂŤ")
  82. replace_all(msg, 190, "Ó", "Ă“")
  83. replace_all(msg, 190, "Ö", "Ă–")
  84. replace_all(msg, 190, "Ő", "Ő")
  85. replace_all(msg, 190, "Ú", "Ăš")
  86. replace_all(msg, 190, "Ü", "Ăś")
  87. replace_all(msg, 190, "Ű", "Ĺ°")
  88.  
  89. if (id) players[0] = id; else get_players(players, count, "ch")
  90. {
  91. for (new i = 0; i < count; i++)
  92. {
  93. if (is_user_connected(players[i]))
  94. {
  95. message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i])
  96. write_byte(players[i])
  97. write_string(msg)
  98. message_end()
  99. }
  100. }
  101. }
  102. return PLUGIN_HANDLED
  103. }


Admin Chat colors
SMA Forráskód: [ Mindet kijelol ]
  1. #include <amxmodx>
  2. #include <amxmisc>
  3.  
  4. #define PLUGIN "Admin Chat Colors"
  5. #define VERSION "2.0"
  6. #define AUTHOR "Arion"
  7.  
  8. #define ACCESS_LEVEL ADMIN_CHAT
  9. #define ADMIN_LISTEN ADMIN_BAN
  10.  
  11. new message[192]
  12. new sayText
  13. new teamInfo
  14. new maxPlayers
  15.  
  16. new g_MessageColor
  17. new g_NameColor
  18. new g_AdminListen
  19.  
  20. new strName[191]
  21. new strText[191]
  22. new alive[11]
  23.  
  24. public plugin_init()
  25. {
  26. register_plugin (PLUGIN, VERSION, AUTHOR)
  27.  
  28. g_MessageColor = register_cvar ("amx_color", "2") // Message colors: [1] Default Yellow, [2] Green, [3] White, [4] Blue, [5] Red
  29.  
  30. g_NameColor = register_cvar ("amx_namecolor", "6") // Name colors: [1] Default Yellow, [2] Green, [3] White, [4] Blue, [5] Red, [6] Team-color
  31.  
  32. g_AdminListen = register_cvar ("amx_listen", "1") // Set whether admins see or not all messages (Alive, dead and team-only)
  33.  
  34.  
  35. sayText = get_user_msgid ("SayText")
  36. teamInfo = get_user_msgid ("TeamInfo")
  37. maxPlayers = get_maxplayers()
  38.  
  39.  
  40. register_message (sayText, "avoid_duplicated")
  41.  
  42. register_clcmd ("amx_color", "set_color", ACCESS_LEVEL, "<color>")
  43. register_clcmd ("amx_namecolor", "set_name_color", ACCESS_LEVEL, "<color>")
  44. register_clcmd ("amx_listen", "set_listen", ACCESS_LEVEL, "<1 | 0>")
  45.  
  46. register_clcmd ("say", "hook_say")
  47. register_clcmd ("say_team", "hook_teamsay")
  48. }
  49.  
  50.  
  51. public avoid_duplicated (msgId, msgDest, receiver)
  52. {
  53. return PLUGIN_HANDLED
  54. }
  55.  
  56.  
  57. public hook_say(id)
  58. {
  59. read_args (message, 191)
  60. remove_quotes (message)
  61.  
  62. if (message[0] == '@' || message[0] == '/' || message[0] == '!' || equal (message, "")) // Ignores Admin Hud Messages, Admin Slash commands,
  63. // Gungame commands and empty messages
  64. return PLUGIN_CONTINUE
  65.  
  66.  
  67. new name[32]
  68. get_user_name (id, name, 31)
  69.  
  70. new bool:admin = false
  71.  
  72. if (get_user_flags(id) & ACCESS_LEVEL)
  73. admin = true
  74.  
  75.  
  76. new isAlive
  77.  
  78. if (is_user_alive (id))
  79. {
  80. isAlive = 1
  81. alive = "^x01"
  82. }
  83. else
  84. {
  85. isAlive = 0
  86. alive = "^x01*DEAD* "
  87. }
  88.  
  89. static color[10]
  90.  
  91.  
  92.  
  93. if (admin)
  94. {
  95. // Name
  96. switch (get_pcvar_num (g_NameColor))
  97. {
  98. case 1:
  99. format (strName, 191, "%s%s", alive, name)
  100.  
  101. case 2:
  102. format (strName, 191, "%s^x04%s", alive, name)
  103.  
  104. case 3:
  105. {
  106. color = "SPECTATOR"
  107. format (strName, 191, "%s^x03%s", alive, name)
  108. }
  109.  
  110. case 4:
  111. {
  112. color = "CT"
  113. format (strName, 191, "%s^x03%s", alive, name)
  114. }
  115.  
  116. case 5:
  117. {
  118. color = "TERRORIST"
  119. format (strName, 191, "%s^x03%s", alive, name)
  120. }
  121.  
  122. case 6:
  123. {
  124. get_user_team (id, color, 9)
  125.  
  126. format (strName, 191, "%s^x03%s", alive, name)
  127. }
  128. }
  129.  
  130.  
  131. // Message
  132. switch (get_pcvar_num (g_MessageColor))
  133. {
  134. case 1: // Yellow
  135. format (strText, 191, "%s", message)
  136.  
  137. case 2: // Green
  138. format (strText, 191, "^x04%s", message)
  139.  
  140. case 3: // White
  141. {
  142. copy (color, 9, "SPECTATOR")
  143. format (strText, 191, "^x03%s", message)
  144. }
  145.  
  146. case 4: // Blue
  147. {
  148. copy (color, 9, "CT")
  149. format (strText, 191, "^x03%s", message)
  150. }
  151.  
  152. case 5: // Red
  153. {
  154. copy (color, 9, "TERRORIST")
  155. format (strText, 191, "^x03%s", message)
  156. }
  157. }
  158. }
  159.  
  160. else // Player is not admin. Team-color name : Yellow message
  161. {
  162. get_user_team (id, color, 9)
  163.  
  164. format (strName, 191, "%s^x03%s", alive, name)
  165.  
  166. format (strText, 191, "%s", message)
  167. }
  168.  
  169. format (message, 191, "%s^x01 : %s", strName, strText)
  170.  
  171. sendMessage (color, isAlive) // Sends the colored message
  172.  
  173. return PLUGIN_CONTINUE
  174. }
  175.  
  176.  
  177. public hook_teamsay(id)
  178. {
  179. new playerTeam = get_user_team(id)
  180. new playerTeamName[19]
  181.  
  182. switch (playerTeam) // Team names which appear on team-only messages
  183. {
  184. case 1:
  185. copy (playerTeamName, 11, "Terrorists")
  186.  
  187. case 2:
  188. copy (playerTeamName, 18, "Counter-Terrorists")
  189.  
  190. default:
  191. copy (playerTeamName, 9, "Spectator")
  192. }
  193.  
  194. read_args (message, 191)
  195. remove_quotes (message)
  196.  
  197. if (message[0] == '@' || message[0] == '/' || message[0] == '!' || equal (message, "")) // Ignores Admin Hud Messages, Admin Slash commands,
  198. // Gungame commands and empty messages
  199. return PLUGIN_CONTINUE
  200.  
  201.  
  202. new name[32]
  203. get_user_name (id, name, 31)
  204.  
  205. new bool:admin = false
  206.  
  207. if (get_user_flags(id) & ACCESS_LEVEL)
  208. admin = true
  209.  
  210.  
  211. new isAlive
  212.  
  213. if (is_user_alive (id))
  214. {
  215. isAlive = 1
  216. alive = "^x01"
  217. }
  218. else
  219. {
  220. isAlive = 0
  221. alive = "^x01*DEAD* "
  222. }
  223.  
  224. static color[10]
  225.  
  226.  
  227.  
  228. if (admin)
  229. {
  230. // Name
  231. switch (get_pcvar_num (g_NameColor))
  232. {
  233. case 1:
  234. format (strName, 191, "%s(%s) %s", alive, playerTeamName, name)
  235.  
  236. case 2:
  237. format (strName, 191, "%s(%s) ^x04%s", alive, playerTeamName, name)
  238.  
  239. case 3:
  240. {
  241. color = "SPECTATOR"
  242. format (strName, 191, "%s(%s) ^x03%s", alive, playerTeamName, name)
  243. }
  244.  
  245. case 4:
  246. {
  247. color = "CT"
  248. format (strName, 191, "%s(%s) ^x03%s", alive, playerTeamName, name)
  249. }
  250.  
  251. case 5:
  252. {
  253. color = "TERRORIST"
  254. format (strName, 191, "%s(%s) ^x03%s", alive, playerTeamName, name)
  255. }
  256.  
  257. case 6:
  258. {
  259. get_user_team (id, color, 9)
  260.  
  261. format (strName, 191, "%s(%s) ^x03%s", alive, playerTeamName, name)
  262. }
  263. }
  264.  
  265.  
  266. // Message
  267. switch (get_pcvar_num (g_MessageColor))
  268. {
  269. case 1: // Yellow
  270. format (strText, 191, "%s", message)
  271.  
  272. case 2: // Green
  273. format (strText, 191, "^x04%s", message)
  274.  
  275. case 3: // White
  276. {
  277. copy (color, 9, "SPECTATOR")
  278. format (strText, 191, "^x03%s", message)
  279. }
  280.  
  281. case 4: // Blue
  282. {
  283. copy (color, 9, "CT")
  284. format (strText, 191, "^x03%s", message)
  285. }
  286.  
  287. case 5: // Red
  288. {
  289. copy (color, 9, "TERRORIST")
  290. format (strText, 191, "^x03%s", message)
  291. }
  292. }
  293. }
  294.  
  295. else // Player is not admin. Team-color name : Yellow message
  296. {
  297. get_user_team (id, color, 9)
  298.  
  299. format (strName, 191, "%s(%s) ^x03%s", alive, playerTeamName, name)
  300.  
  301. format (strText, 191, "%s", message)
  302. }
  303.  
  304. format (message, 191, "%s ^x01: %s", strName, strText)
  305.  
  306. sendTeamMessage (color, isAlive, playerTeam) // Sends the colored message
  307.  
  308. return PLUGIN_CONTINUE
  309. }
  310.  
  311.  
  312. public set_color (id, level, cid)
  313. {
  314. if (!cmd_access(id, level, cid, 2))
  315. return PLUGIN_HANDLED
  316.  
  317. new arg[1], newColor
  318. read_argv (1, arg, 1)
  319.  
  320. newColor = str_to_num (arg)
  321.  
  322. if (newColor >= 1 && newColor <= 5)
  323. {
  324. set_cvar_num ("amx_color", newColor)
  325. set_pcvar_num (g_MessageColor, newColor)
  326.  
  327. if (get_pcvar_num (g_NameColor) != 1 &&
  328. ((newColor == 3 && get_pcvar_num (g_NameColor) != 3)
  329. || (newColor == 4 && get_pcvar_num (g_NameColor) != 4)
  330. || (newColor == 5 && get_pcvar_num (g_NameColor) != 5)))
  331. {
  332. set_cvar_num ("amx_namecolor", 2)
  333. set_pcvar_num (g_NameColor, 2)
  334. }
  335. }
  336.  
  337. return PLUGIN_HANDLED
  338. }
  339.  
  340.  
  341. public set_name_color (id, level, cid)
  342. {
  343. if (!cmd_access(id, level, cid, 2))
  344. return PLUGIN_HANDLED
  345.  
  346. new arg[1], newColor
  347. read_argv (1, arg, 1)
  348.  
  349. newColor = str_to_num (arg)
  350.  
  351. if (newColor >= 1 && newColor <= 6)
  352. {
  353. set_cvar_num ("amx_namecolor", newColor)
  354. set_pcvar_num (g_NameColor, newColor)
  355.  
  356. if ((get_pcvar_num (g_MessageColor) != 1
  357. && ((newColor == 3 && get_pcvar_num (g_MessageColor) != 3)
  358. || (newColor == 4 && get_pcvar_num (g_MessageColor) != 4)
  359. || (newColor == 5 && get_pcvar_num (g_MessageColor) != 5)))
  360. || get_pcvar_num (g_NameColor) == 6)
  361. {
  362. set_cvar_num ("amx_color", 2)
  363. set_pcvar_num (g_MessageColor, 2)
  364. }
  365. }
  366.  
  367. return PLUGIN_HANDLED
  368. }
  369.  
  370.  
  371. public set_listen (id, level, cid)
  372. {
  373. if (!cmd_access(id, level, cid, 2))
  374. return PLUGIN_HANDLED
  375.  
  376. new arg[1], newListen
  377. read_argv(1, arg, 1)
  378.  
  379. newListen = str_to_num (arg)
  380.  
  381. set_cvar_num ("amx_listen", newListen)
  382. set_pcvar_num (g_AdminListen, newListen)
  383.  
  384. return PLUGIN_HANDLED
  385. }
  386.  
  387.  
  388. public sendMessage (color[], alive)
  389. {
  390. new teamName[10]
  391.  
  392. for (new player = 1; player < maxPlayers; player++)
  393. {
  394. if (!is_user_connected(player))
  395. continue
  396.  
  397. if (alive && is_user_alive(player) || !alive && !is_user_alive(player) || get_pcvar_num(g_AdminListen) && get_user_flags(player) & ADMIN_LISTEN)
  398. {
  399. get_user_team (player, teamName, 9) // Stores user's team name to change back after sending the message
  400.  
  401. changeTeamInfo (player, color) // Changes user's team according to color choosen
  402.  
  403. writeMessage (player, message) // Writes the message on player's chat
  404.  
  405. changeTeamInfo (player, teamName) // Changes user's team back to original
  406. }
  407. }
  408. }
  409.  
  410.  
  411. public sendTeamMessage (color[], alive, playerTeam)
  412. {
  413. new teamName[10]
  414.  
  415. for (new player = 1; player < maxPlayers; player++)
  416. {
  417. if (!is_user_connected(player))
  418. continue
  419.  
  420. if (get_user_team(player) == playerTeam || get_pcvar_num(g_AdminListen) && get_user_flags(player) & ADMIN_LISTEN)
  421. {
  422. if (alive && is_user_alive(player) || !alive && !is_user_alive(player) || get_pcvar_num(g_AdminListen) && get_user_flags(player) & ADMIN_LISTEN)
  423. {
  424. get_user_team (player, teamName, 9) // Stores user's team name to change back after sending the message
  425.  
  426. changeTeamInfo (player, color) // Changes user's team according to color choosen
  427.  
  428. writeMessage (player, message) // Writes the message on player's chat
  429.  
  430. changeTeamInfo (player, teamName) // Changes user's team back to original
  431. }
  432. }
  433. }
  434. }
  435.  
  436.  
  437. public changeTeamInfo (player, team[])
  438. {
  439. message_begin (MSG_ONE, teamInfo, _, player) // Tells to to modify teamInfo (Which is responsable for which time player is)
  440. write_byte (player) // Write byte needed
  441. write_string (team) // Changes player's team
  442. message_end() // Also Needed
  443. }
  444.  
  445.  
  446. public writeMessage (player, message[])
  447. {
  448. message_begin (MSG_ONE, sayText, {0, 0, 0}, player) // Tells to modify sayText (Which is responsable for writing colored messages)
  449. write_byte (player) // Write byte needed
  450. write_string (message) // Effectively write the message, finally, afterall
  451. message_end () // Needed as always
  452. }
  453.  

_________________
Kép


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Plugin Egybeírás
HozzászólásElküldve: 2013.12.26. 16:27 
Offline
Jómunkásember
Avatar

Csatlakozott: 2013.10.27. 23:13
Hozzászólások: 412
Megköszönt másnak: 21 alkalommal
Megköszönték neki: 68 alkalommal
Itt van az egybe írt.

SMA Forráskód: [ Mindet kijelol ]
  1. /* Plugin generated by AMXX-Studio */
  2.  
  3. #include <amxmodx>
  4. #include <amxmisc>
  5. #include <fakemeta>
  6. #include <colorchat>
  7.  
  8.  
  9. #define ACCESS_LEVEL ADMIN_CHAT
  10. #define ADMIN_LISTEN ADMIN_BAN
  11.  
  12. new message[192]
  13. new sayText
  14. new teamInfo
  15. new maxPlayers
  16.  
  17. new g_MessageColor
  18. new g_NameColor
  19. new g_AdminListen
  20.  
  21. new strName[191]
  22. new strText[191]
  23. new alive[11]
  24.  
  25.  
  26. public plugin_init() {
  27. register_forward(FM_ClientUserInfoChanged, "ClientInfoChanged")
  28. register_clcmd ("say", "msgControl")
  29. register_clcmd ("say_team", "msgControl")
  30.  
  31. g_MessageColor = register_cvar ("amx_color", "2") // Message colors: [1] Default Yellow, [2] Green, [3] White, [4] Blue, [5] Red
  32.  
  33. g_NameColor = register_cvar ("amx_namecolor", "6") // Name colors: [1] Default Yellow, [2] Green, [3] White, [4] Blue, [5] Red, [6] Team-color
  34.  
  35. g_AdminListen = register_cvar ("amx_listen", "1") // Set whether admins see or not all messages (Alive, dead and team-only)
  36.  
  37.  
  38. sayText = get_user_msgid ("SayText")
  39. teamInfo = get_user_msgid ("TeamInfo")
  40. maxPlayers = get_maxplayers()
  41.  
  42.  
  43. register_message (sayText, "avoid_duplicated")
  44.  
  45. register_clcmd ("amx_color", "set_color", ACCESS_LEVEL, "<color>")
  46. register_clcmd ("amx_namecolor", "set_name_color", ACCESS_LEVEL, "<color>")
  47. register_clcmd ("amx_listen", "set_listen", ACCESS_LEVEL, "<1 | 0>")
  48.  
  49. register_clcmd ("say", "hook_say")
  50. register_clcmd ("say_team", "hook_teamsay")
  51. }
  52. public msgControl(id){
  53. new message[192]
  54. read_args (message, 191)
  55. remove_quotes (message)
  56. new Bnum = strlen(message)
  57. new Nnum = 0
  58. new i = 0
  59. while(i < Bnum)
  60. {
  61. if(message[i] == '1' || message[i] == '2' || message[i] == '3' || message[i] == '4' || message[i] == '5' || message[i] == '6' || message[i] == '7' || message[i] == '8' || message[i] == '9' || message[i] == '0')
  62. Nnum++
  63. ++i
  64. }
  65. if( Nnum >= 7)
  66. {
  67. //client_print(id, print_chat, "[L.o.L] A szerveren TILOS a szerverek HIRDETÉSE!")
  68. ColorChat(id,GREEN,"[Hirdetes] A szerveren ^3TILOS a ^3HIRDETÉS!")
  69. return PLUGIN_HANDLED
  70. }
  71. return PLUGIN_CONTINUE
  72. }
  73. public client_connect(id)
  74. set_task(3.0, "NameConrol",id)
  75.  
  76.  
  77.  
  78. public ClientInfoChanged(id)
  79. set_task(3.0, "NameConrol",id)
  80. public NameConrol(id){
  81. if(!is_user_connected(id))
  82. return PLUGIN_CONTINUE
  83. new name[31]
  84. get_user_name(id, name, 30)
  85. new Bnum = strlen(name);
  86. new i=0
  87. new Nnum=0
  88. while(i < Bnum)
  89. {
  90. if(name[i] == '1' || name[i] == '2' || name[i] == '3' || name[i] == '4' || name[i] == '5' || name[i] == '6' || name[i] == '7' || name[i] == '8' || name[i] == '9' || name[i] == '0')
  91. Nnum++;
  92. ++i;
  93. }
  94. if( Nnum >= 7)
  95. {
  96. client_cmd(id, "name ^"TILOS HIRDETNI!^"")
  97. client_cmd(id, "retry")
  98. return PLUGIN_CONTINUE
  99. }
  100. return PLUGIN_CONTINUE
  101. }
  102. stock print_color(const id, const input[], any:...)
  103. {
  104. new count = 1, players[32]
  105. static msg[191]
  106. vformat(msg, 190, input, 3)
  107.  
  108. replace_all(msg, 190, "!g", "^4")
  109. replace_all(msg, 190, "!y", "^1")
  110. replace_all(msg, 190, "!t", "^3")
  111. replace_all(msg, 190, "á", "á")
  112. replace_all(msg, 190, "é", "Ă©")
  113. replace_all(msg, 190, "í", "Ă")
  114. replace_all(msg, 190, "ó", "Ăł")
  115. replace_all(msg, 190, "ö", "ö")
  116. replace_all(msg, 190, "ő", "Ĺ‘")
  117. replace_all(msg, 190, "ú", "Ăş")
  118. replace_all(msg, 190, "ü", "ĂĽ")
  119. replace_all(msg, 190, "ű", "ű")
  120. replace_all(msg, 190, "Á", "Á")
  121. replace_all(msg, 190, "É", "É")
  122. replace_all(msg, 190, "Í", "ĂŤ")
  123. replace_all(msg, 190, "Ó", "Ă“")
  124. replace_all(msg, 190, "Ö", "Ă–")
  125. replace_all(msg, 190, "Ő", "Ő")
  126. replace_all(msg, 190, "Ú", "Ăš")
  127. replace_all(msg, 190, "Ü", "Ăś")
  128. replace_all(msg, 190, "Ű", "Ĺ°")
  129.  
  130. if (id) players[0] = id; else get_players(players, count, "ch")
  131. {
  132. for (new i = 0; i < count; i++)
  133. {
  134. if (is_user_connected(players[i]))
  135. {
  136. message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i])
  137. write_byte(players[i])
  138. write_string(msg)
  139. message_end()
  140. }
  141. }
  142. }
  143. return PLUGIN_HANDLED
  144. }
  145. public avoid_duplicated (msgId, msgDest, receiver)
  146. {
  147. return PLUGIN_HANDLED
  148. }
  149.  
  150.  
  151. public hook_say(id)
  152. {
  153. read_args (message, 191)
  154. remove_quotes (message)
  155.  
  156. if (message[0] == '@' || message[0] == '/' || message[0] == '!' || equal (message, "")) // Ignores Admin Hud Messages, Admin Slash commands,
  157. // Gungame commands and empty messages
  158. return PLUGIN_CONTINUE
  159.  
  160.  
  161. new name[32]
  162. get_user_name (id, name, 31)
  163.  
  164. new bool:admin = false
  165.  
  166. if (get_user_flags(id) & ACCESS_LEVEL)
  167. admin = true
  168.  
  169.  
  170. new isAlive
  171.  
  172. if (is_user_alive (id))
  173. {
  174. isAlive = 1
  175. alive = "^x01"
  176. }
  177. else
  178. {
  179. isAlive = 0
  180. alive = "^x01*DEAD* "
  181. }
  182.  
  183. static color[10]
  184.  
  185.  
  186.  
  187. if (admin)
  188. {
  189. // Name
  190. switch (get_pcvar_num (g_NameColor))
  191. {
  192. case 1:
  193. format (strName, 191, "%s%s", alive, name)
  194.  
  195. case 2:
  196. format (strName, 191, "%s^x04%s", alive, name)
  197.  
  198. case 3:
  199. {
  200. color = "SPECTATOR"
  201. format (strName, 191, "%s^x03%s", alive, name)
  202. }
  203.  
  204. case 4:
  205. {
  206. color = "CT"
  207. format (strName, 191, "%s^x03%s", alive, name)
  208. }
  209.  
  210. case 5:
  211. {
  212. color = "TERRORIST"
  213. format (strName, 191, "%s^x03%s", alive, name)
  214. }
  215.  
  216. case 6:
  217. {
  218. get_user_team (id, color, 9)
  219.  
  220. format (strName, 191, "%s^x03%s", alive, name)
  221. }
  222. }
  223.  
  224.  
  225. // Message
  226. switch (get_pcvar_num (g_MessageColor))
  227. {
  228. case 1: // Yellow
  229. format (strText, 191, "%s", message)
  230.  
  231. case 2: // Green
  232. format (strText, 191, "^x04%s", message)
  233.  
  234. case 3: // White
  235. {
  236. copy (color, 9, "SPECTATOR")
  237. format (strText, 191, "^x03%s", message)
  238. }
  239.  
  240. case 4: // Blue
  241. {
  242. copy (color, 9, "CT")
  243. format (strText, 191, "^x03%s", message)
  244. }
  245.  
  246. case 5: // Red
  247. {
  248. copy (color, 9, "TERRORIST")
  249. format (strText, 191, "^x03%s", message)
  250. }
  251. }
  252. }
  253.  
  254. else // Player is not admin. Team-color name : Yellow message
  255. {
  256. get_user_team (id, color, 9)
  257.  
  258. format (strName, 191, "%s^x03%s", alive, name)
  259.  
  260. format (strText, 191, "%s", message)
  261. }
  262.  
  263. format (message, 191, "%s^x01 : %s", strName, strText)
  264.  
  265. sendMessage (color, isAlive) // Sends the colored message
  266.  
  267. return PLUGIN_CONTINUE
  268. }
  269.  
  270.  
  271. public hook_teamsay(id)
  272. {
  273. new playerTeam = get_user_team(id)
  274. new playerTeamName[19]
  275.  
  276. switch (playerTeam) // Team names which appear on team-only messages
  277. {
  278. case 1:
  279. copy (playerTeamName, 11, "Terrorists")
  280.  
  281. case 2:
  282. copy (playerTeamName, 18, "Counter-Terrorists")
  283.  
  284. default:
  285. copy (playerTeamName, 9, "Spectator")
  286. }
  287.  
  288. read_args (message, 191)
  289. remove_quotes (message)
  290.  
  291. if (message[0] == '@' || message[0] == '/' || message[0] == '!' || equal (message, "")) // Ignores Admin Hud Messages, Admin Slash commands,
  292. // Gungame commands and empty messages
  293. return PLUGIN_CONTINUE
  294.  
  295.  
  296. new name[32]
  297. get_user_name (id, name, 31)
  298.  
  299. new bool:admin = false
  300.  
  301. if (get_user_flags(id) & ACCESS_LEVEL)
  302. admin = true
  303.  
  304.  
  305. new isAlive
  306.  
  307. if (is_user_alive (id))
  308. {
  309. isAlive = 1
  310. alive = "^x01"
  311. }
  312. else
  313. {
  314. isAlive = 0
  315. alive = "^x01*DEAD* "
  316. }
  317.  
  318. static color[10]
  319.  
  320.  
  321.  
  322. if (admin)
  323. {
  324. // Name
  325. switch (get_pcvar_num (g_NameColor))
  326. {
  327. case 1:
  328. format (strName, 191, "%s(%s) %s", alive, playerTeamName, name)
  329.  
  330. case 2:
  331. format (strName, 191, "%s(%s) ^x04%s", alive, playerTeamName, name)
  332.  
  333. case 3:
  334. {
  335. color = "SPECTATOR"
  336. format (strName, 191, "%s(%s) ^x03%s", alive, playerTeamName, name)
  337. }
  338.  
  339. case 4:
  340. {
  341. color = "CT"
  342. format (strName, 191, "%s(%s) ^x03%s", alive, playerTeamName, name)
  343. }
  344.  
  345. case 5:
  346. {
  347. color = "TERRORIST"
  348. format (strName, 191, "%s(%s) ^x03%s", alive, playerTeamName, name)
  349. }
  350.  
  351. case 6:
  352. {
  353. get_user_team (id, color, 9)
  354.  
  355. format (strName, 191, "%s(%s) ^x03%s", alive, playerTeamName, name)
  356. }
  357. }
  358.  
  359.  
  360. // Message
  361. switch (get_pcvar_num (g_MessageColor))
  362. {
  363. case 1: // Yellow
  364. format (strText, 191, "%s", message)
  365.  
  366. case 2: // Green
  367. format (strText, 191, "^x04%s", message)
  368.  
  369. case 3: // White
  370. {
  371. copy (color, 9, "SPECTATOR")
  372. format (strText, 191, "^x03%s", message)
  373. }
  374.  
  375. case 4: // Blue
  376. {
  377. copy (color, 9, "CT")
  378. format (strText, 191, "^x03%s", message)
  379. }
  380.  
  381. case 5: // Red
  382. {
  383. copy (color, 9, "TERRORIST")
  384. format (strText, 191, "^x03%s", message)
  385. }
  386. }
  387. }
  388.  
  389. else // Player is not admin. Team-color name : Yellow message
  390. {
  391. get_user_team (id, color, 9)
  392.  
  393. format (strName, 191, "%s(%s) ^x03%s", alive, playerTeamName, name)
  394.  
  395. format (strText, 191, "%s", message)
  396. }
  397.  
  398. format (message, 191, "%s ^x01: %s", strName, strText)
  399.  
  400. sendTeamMessage (color, isAlive, playerTeam) // Sends the colored message
  401.  
  402. return PLUGIN_CONTINUE
  403. }
  404.  
  405.  
  406. public set_color (id, level, cid)
  407. {
  408. if (!cmd_access(id, level, cid, 2))
  409. return PLUGIN_HANDLED
  410.  
  411. new arg[1], newColor
  412. read_argv (1, arg, 1)
  413.  
  414. newColor = str_to_num (arg)
  415.  
  416. if (newColor >= 1 && newColor <= 5)
  417. {
  418. set_cvar_num ("amx_color", newColor)
  419. set_pcvar_num (g_MessageColor, newColor)
  420.  
  421. if (get_pcvar_num (g_NameColor) != 1 &&
  422. ((newColor == 3 && get_pcvar_num (g_NameColor) != 3)
  423. || (newColor == 4 && get_pcvar_num (g_NameColor) != 4)
  424. || (newColor == 5 && get_pcvar_num (g_NameColor) != 5)))
  425. {
  426. set_cvar_num ("amx_namecolor", 2)
  427. set_pcvar_num (g_NameColor, 2)
  428. }
  429. }
  430.  
  431. return PLUGIN_HANDLED
  432. }
  433.  
  434.  
  435. public set_name_color (id, level, cid)
  436. {
  437. if (!cmd_access(id, level, cid, 2))
  438. return PLUGIN_HANDLED
  439.  
  440. new arg[1], newColor
  441. read_argv (1, arg, 1)
  442.  
  443. newColor = str_to_num (arg)
  444.  
  445. if (newColor >= 1 && newColor <= 6)
  446. {
  447. set_cvar_num ("amx_namecolor", newColor)
  448. set_pcvar_num (g_NameColor, newColor)
  449.  
  450. if ((get_pcvar_num (g_MessageColor) != 1
  451. && ((newColor == 3 && get_pcvar_num (g_MessageColor) != 3)
  452. || (newColor == 4 && get_pcvar_num (g_MessageColor) != 4)
  453. || (newColor == 5 && get_pcvar_num (g_MessageColor) != 5)))
  454. || get_pcvar_num (g_NameColor) == 6)
  455. {
  456. set_cvar_num ("amx_color", 2)
  457. set_pcvar_num (g_MessageColor, 2)
  458. }
  459. }
  460.  
  461. return PLUGIN_HANDLED
  462. }
  463.  
  464.  
  465. public set_listen (id, level, cid)
  466. {
  467. if (!cmd_access(id, level, cid, 2))
  468. return PLUGIN_HANDLED
  469.  
  470. new arg[1], newListen
  471. read_argv(1, arg, 1)
  472.  
  473. newListen = str_to_num (arg)
  474.  
  475. set_cvar_num ("amx_listen", newListen)
  476. set_pcvar_num (g_AdminListen, newListen)
  477.  
  478. return PLUGIN_HANDLED
  479. }
  480.  
  481.  
  482. public sendMessage (color[], alive)
  483. {
  484. new teamName[10]
  485.  
  486. for (new player = 1; player < maxPlayers; player++)
  487. {
  488. if (!is_user_connected(player))
  489. continue
  490.  
  491. if (alive && is_user_alive(player) || !alive && !is_user_alive(player) || get_pcvar_num(g_AdminListen) && get_user_flags(player) & ADMIN_LISTEN)
  492. {
  493. get_user_team (player, teamName, 9) // Stores user's team name to change back after sending the message
  494.  
  495. changeTeamInfo (player, color) // Changes user's team according to color choosen
  496.  
  497. writeMessage (player, message) // Writes the message on player's chat
  498.  
  499. changeTeamInfo (player, teamName) // Changes user's team back to original
  500. }
  501. }
  502. }
  503.  
  504.  
  505. public sendTeamMessage (color[], alive, playerTeam)
  506. {
  507. new teamName[10]
  508.  
  509. for (new player = 1; player < maxPlayers; player++)
  510. {
  511. if (!is_user_connected(player))
  512. continue
  513.  
  514. if (get_user_team(player) == playerTeam || get_pcvar_num(g_AdminListen) && get_user_flags(player) & ADMIN_LISTEN)
  515. {
  516. if (alive && is_user_alive(player) || !alive && !is_user_alive(player) || get_pcvar_num(g_AdminListen) && get_user_flags(player) & ADMIN_LISTEN)
  517. {
  518. get_user_team (player, teamName, 9) // Stores user's team name to change back after sending the message
  519.  
  520. changeTeamInfo (player, color) // Changes user's team according to color choosen
  521.  
  522. writeMessage (player, message) // Writes the message on player's chat
  523.  
  524. changeTeamInfo (player, teamName) // Changes user's team back to original
  525. }
  526. }
  527. }
  528. }
  529.  
  530.  
  531. public changeTeamInfo (player, team[])
  532. {
  533. message_begin (MSG_ONE, teamInfo, _, player) // Tells to to modify teamInfo (Which is responsable for which time player is)
  534. write_byte (player) // Write byte needed
  535. write_string (team) // Changes player's team
  536. message_end() // Also Needed
  537. }
  538.  
  539.  
  540. public writeMessage (player, message[])
  541. {
  542. message_begin (MSG_ONE, sayText, {0, 0, 0}, player) // Tells to modify sayText (Which is responsable for writing colored messages)
  543. write_byte (player) // Write byte needed
  544. write_string (message) // Effectively write the message, finally, afterall
  545. message_end () // Needed as always
  546. }

_________________
Kép

Ők köszönték meg NiGGeR-BorZ nek ezt a hozzászólást: Tomos (2013.12.27. 10:46)
  Népszerűség: 2.27%


Hozzászólás jelentése
Vissza a tetejére
   
Hozzászólások megjelenítése:  Rendezés  
Új téma nyitása  Hozzászólás a témához  [ 2 hozzászólás ] 


Ki van itt

Jelenlévő fórumozók: nincs regisztrált felhasználó valamint 27 vendég


Nyithatsz új témákat ebben a fórumban.
Válaszolhatsz egy témára ebben a fórumban.
Nem szerkesztheted a hozzászólásaidat ebben a fórumban.
Nem törölheted a hozzászólásaidat ebben a fórumban.
Nem küldhetsz csatolmányokat ebben a fórumban.

Keresés:
Ugrás:  
Powered by phpBB® Forum Software © phpBB Limited
Magyar fordítás © Magyar phpBB Közösség
Portal: Kiss Portal Extension © Michael O'Toole