hlmod.hu

Magyar Half-Life Mód közösség!
Pontos idő: 2024.04.27. 12:08



Jelenlévő felhasználók

Jelenleg 526 felhasználó van jelen :: 0 regisztrált, 0 rejtett és 526 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  [ 4 hozzászólás ] 
Szerző Üzenet
 Hozzászólás témája: Hirdetésgátló átírása! PLEASE
HozzászólásElküldve: 2013.04.25. 04:49 
Offline
Tud valamit

Csatlakozott: 2013.01.21. 10:10
Hozzászólások: 138
Megköszönt másnak: 20 alkalommal
Megköszönték neki: 6 alkalommal
Sziasztok! Az alábbi kódot kellene nekem átírni úgy hogy ha valaki ír 3 számot, akkor ne így írja ki: Player: 197.857.541:2013 és az a baj, hogy ezt a játékosok is látják mert a plugin olyan (sajnos) hogy először kiírja az IP -t amit az illető írt, majd utána figyelmezteti hogy NE HIRDESS! :D Példa képpen felhoznám a *TQL -t, náluk az ONLY D2 szerón, ha valaki ír egy IP-t akkor azt semelyik játékos nem látja, amit írt, illetve ő se csak a figyelmeztetést: NE HIRDESS!

Nagyon szépen megköszönném ha valaki megcsinálná ezt nekem :) Yah és persze megy a KÖSZIIIIII :D

SMA Forráskód: [ Mindet kijelol ]
  1. #include <amxmodx>
  2. #include <fakemeta>
  3.  
  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.  
  12. public msgControl(id){
  13. new message[192]
  14. read_args (message, 191)
  15. remove_quotes (message)
  16.  
  17. new Bnum = strlen(message)
  18. new Nnum = 0
  19. new i = 0
  20.  
  21. while(i < Bnum)
  22. {
  23. 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')
  24. Nnum++
  25. ++i
  26. }
  27.  
  28. if( Nnum >= 3)
  29. {
  30. client_print(id, print_chat, "Nem irhatsz 3 szamnal tobbet!")
  31. return PLUGIN_HANDLED
  32. }
  33.  
  34. return PLUGIN_CONTINUE
  35. }
  36.  
  37. public client_connect(id)
  38. set_task(3.0, "NameConrol",id)
  39.  
  40. public ClientInfoChanged(id)
  41. set_task(3.0, "NameConrol",id)
  42.  
  43. public NameConrol(id){
  44. if(!is_user_connected(id))
  45. return PLUGIN_CONTINUE
  46.  
  47. new name[31]
  48. get_user_name(id, name, 30)
  49.  
  50. new Bnum = strlen(name);
  51.  
  52. new i=0
  53. new Nnum=0
  54.  
  55. while(i < Bnum)
  56. {
  57.  
  58. 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')
  59. Nnum++;
  60. ++i;
  61. }
  62.  
  63. if( Nnum >= 3)
  64. {
  65. client_cmd(id, "name ^"Max 3 szam lehet a nevedben!^"")
  66. client_cmd(id, "retry")
  67. return PLUGIN_CONTINUE
  68. }
  69. return PLUGIN_CONTINUE
  70. }

_________________
See you next time! :)

Ha hasznosnak találtad a hozzászólásomat, köszönd meg a Kép lenyomásával..!! :)


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Hirdetésgátló átírása! PLEASE
HozzászólásElküldve: 2013.04.25. 05:27 
Offline
Őskövület
Avatar

Csatlakozott: 2011.12.28. 00:35
Hozzászólások: 2736
Megköszönt másnak: 56 alkalommal
Megköszönték neki: 275 alkalommal
Ez tökéletesen működik:
SMA Forráskód: [ Mindet kijelol ]
  1. #include <amxmodx>
  2. #include <amxmisc>
  3.  
  4. #define PLUGIN "Hirdetes ellen"
  5. #define VERSION "1.0"
  6. #define AUTHOR "IrOn"
  7.  
  8. new message[192]
  9. new pont;
  10. new kettospont;
  11. new szam;
  12.  
  13. public plugin_init() {
  14. register_plugin(PLUGIN, VERSION, AUTHOR)
  15.  
  16. register_clcmd("say", "sayhook")
  17. register_clcmd("say_team", "sayhook")
  18. }
  19.  
  20. public sayhook(id)
  21. {
  22. read_args (message, 191)
  23. remove_quotes (message)
  24. new hossz = strlen(message);
  25.  
  26. new i=0;
  27. pont=0;
  28. kettospont=0;
  29. szam=0;
  30.  
  31. while(i < hossz)
  32. {
  33. if(message[i] == '.')
  34. pont++;
  35. if(message[i] == ':')
  36. kettospont++;
  37. 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')
  38. szam++;
  39. ++i;
  40. }
  41.  
  42. if(pont >= 3 && kettospont >= 1 && szam >= 8)
  43. {
  44. client_print(id, print_chat, "Ne hirdess!")
  45. return PLUGIN_HANDLED;
  46. }
  47. return PLUGIN_CONTINUE;
  48. }
  49.  


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

_________________
****

Ők köszönték meg pixxa112 nek ezt a hozzászólást: UlTiMaT3 (2013.04.25. 14:01)
  Népszerűség: 2.27%


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Hirdetésgátló átírása! PLEASE
HozzászólásElküldve: 2013.04.25. 13:58 
Offline
Tud valamit

Csatlakozott: 2013.01.21. 10:10
Hozzászólások: 138
Megköszönt másnak: 20 alkalommal
Megköszönték neki: 6 alkalommal
pixxa112 írta:
Ez tökéletesen működik:
SMA Forráskód: [ Mindet kijelol ]
  1. #include <amxmodx>
  2. #include <amxmisc>
  3.  
  4. #define PLUGIN "Hirdetes ellen"
  5. #define VERSION "1.0"
  6. #define AUTHOR "IrOn"
  7.  
  8. new message[192]
  9. new pont;
  10. new kettospont;
  11. new szam;
  12.  
  13. public plugin_init() {
  14. register_plugin(PLUGIN, VERSION, AUTHOR)
  15.  
  16. register_clcmd("say", "sayhook")
  17. register_clcmd("say_team", "sayhook")
  18. }
  19.  
  20. public sayhook(id)
  21. {
  22. read_args (message, 191)
  23. remove_quotes (message)
  24. new hossz = strlen(message);
  25.  
  26. new i=0;
  27. pont=0;
  28. kettospont=0;
  29. szam=0;
  30.  
  31. while(i < hossz)
  32. {
  33. if(message[i] == '.')
  34. pont++;
  35. if(message[i] == ':')
  36. kettospont++;
  37. 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')
  38. szam++;
  39. ++i;
  40. }
  41.  
  42. if(pont >= 3 && kettospont >= 1 && szam >= 8)
  43. {
  44. client_print(id, print_chat, "Ne hirdess!")
  45. return PLUGIN_HANDLED;
  46. }
  47. return PLUGIN_CONTINUE;
  48. }
  49.  


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

Ezt hogy érted hogy Admin chat colorosan??

_________________
See you next time! :)

Ha hasznosnak találtad a hozzászólásomat, köszönd meg a Kép lenyomásával..!! :)


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Hirdetésgátló átírása! PLEASE
HozzászólásElküldve: 2013.04.25. 13:59 
Offline
Jómunkásember
Avatar

Csatlakozott: 2013.03.07. 18:39
Hozzászólások: 352
Megköszönt másnak: 3 alkalommal
Megköszönték neki: 38 alkalommal
Admin chat colors = Admin színek chatban.
Azért szokták így csinálni, hogy egybe a 2 plugin, így nem akadályozzák meg, hogy például összeakadjanak.
A sima admin chat colors plugint vedd ki, amit most használsz, és ezt tedd be.
UI: Ő nem olyat küldött, hogy 3-nál többet ír akkor írja, hogy 3-nál több szám nem lehet a nevedben. Másfélét küldött. (ha nem tudnád)


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  [ 4 hozzászólás ] 


Ki van itt

Jelenlévő fórumozók: nincs regisztrált felhasználó valamint 53 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