hlmod.hu

Magyar Half-Life Mód közösség!
Pontos idő: 2025.06.16. 20:37



Jelenlévő felhasználók

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

A legtöbb felhasználó (2761 fő) 2025.01.09. 20:06-kor tartózkodott itt.

Regisztrált felhasználók: Bing [Bot], Google [Bot]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  [5 hozzászólás ] 
Szerző Üzenet
 Hozzászólás témája: Admin irás
HozzászólásElküldve:2013.09.21. 13:47 
Offline
Beavatott

Csatlakozott:2013.08.02. 14:53
Hozzászólások:91
Megköszönt másnak: 16 alkalommal
Megköszönték neki: 3 alkalommal
Üdv. Azt a plugint szeretném ami álltalában zombi szervereken szokott lenni, hogy az admin ha t: piros a nev és zolden ir. Ha ct: zold a nev és keken ir.
Valami ilyesmi. Köszönöm.


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Admin irás
HozzászólásElküldve:2013.09.21. 13:48 
Offline
Félisten
Avatar

Csatlakozott:2013.03.12. 10:03
Hozzászólások:859
Megköszönt másnak: 37 alkalommal
Megköszönték neki: 44 alkalommal
Sima Admin Chat Colors. Álísd be Cvar-al

_________________
Kép


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Admin irás
HozzászólásElküldve:2013.09.21. 13:52 
Offline
Felfüggesztve

Csatlakozott:2013.08.09. 22:37
Hozzászólások:571
Megköszönt másnak: 10 alkalommal
Megköszönték neki: 85 alkalommal
asszem ez:

SMA Forráskód: [ Mindet kijelol ]
  1. /********************************************* ******************************************
  2.  
  3. Colored Admin Chat - (c) 2007 by Exolent
  4.  
  5.  
  6. Description:
  7. This plugin allows admin with the specified admin level to have colored text
  8. as all the text in their messagemode and messagemode2 chat messages. Also.
  9. "/command" messages and "@", "@@", and "@@@" messages will not be shown but
  10. they still will work.
  11.  
  12. Cvars:
  13. amx_cac_enabled <0|1> (default: 1)
  14. amx_adminlisten_voice <0|1> (default: 1)
  15. amx_adminlisten_voice <0|1> (default: 1)
  16.  
  17. *NOTE* This was ONLY tested in CS 1.6. Use in other mods at own risk.
  18.  
  19.  
  20. This plugin's source and compiled files can be found @:
  21.  
  22.  
  23.  
  24. ********************************************* ******************************************
  25.  
  26.  
  27. Changelog:
  28.  
  29. Version 1.0
  30. - Initial release
  31.  
  32.  
  33. Version 1.1
  34. - Added admin level for green chat
  35. - Merged 4 format() functions into one
  36.  
  37.  
  38. Version 2.0
  39. - Simple code cleanup
  40. - Merged AdminListen with fakemeta and not engine
  41.  
  42.  
  43. Version 3.0
  44. - Multiplied color possibilites
  45. - Rearranged messages
  46. - Fixed a few bugs
  47. - Renamed plugin
  48.  
  49.  
  50. Version 3.1
  51. - Cleanup code
  52. - Fixed cvar chat issue
  53.  
  54.  
  55. Version 3.2
  56. - Made only 1 check for @ | @@ | @@@ say commands
  57. - Made voice follow sv_alltalk when not using voice listening
  58. - Added cvar to turn on/off plugin
  59. - Removed green name with green chat
  60. - Optimized has_color_chat() and get_color_chat() when using get_user_flags()
  61. - Removed SPEAK_MUTED for its uselessness
  62.  
  63.  
  64. Version 4.0
  65. - Rewrote code
  66. - Fixed a few bugs
  67.  
  68.  
  69. ********************************************* *****************************************/
  70.  
  71.  
  72. // COLOR CHAT LEVELS
  73. // --------------------------------------------------------------------------------------
  74. #define ADMIN_NORMAL ADMIN_LEVEL_A // level for normal chat with green name only
  75. #define ADMIN_RED ADMIN_LEVEL_B // level for red chat
  76. #define ADMIN_BLUE ADMIN_LEVEL_C // level for blue chat
  77. #define ADMIN_SILVER ADMIN_LEVEL_D // level for silver chat
  78. // --------------------------------------------------------------------------------------
  79.  
  80.  
  81. // ADMIN LISTEN LEVELS
  82. // --------------------------------------------------------------------------------------
  83. #define LISTEN_CHAT ADMIN_KICK // level to see all chat (adminlisten style)
  84. #define LISTEN_VOICE ADMIN_IMMUNITY // level to hear all voices (adminlisten style)
  85. // --------------------------------------------------------------------------------------
  86.  
  87.  
  88.  
  89.  
  90. // DO NOT EDIT BEYOND THIS LINE UNLESS YOU KNOW WHAT YOU ARE DOING
  91. // --------------------------------------------------------------------------------------
  92.  
  93. #include <amxmodx>
  94. #include <fakemeta>
  95.  
  96. #define SPEAK_NORMAL (1<<0)
  97. //#define SPEAK_MUTED (1<<1)
  98. #define SPEAK_ALL (1<<2)
  99. #define SPEAK_LISTENALL (1<<3)
  100.  
  101.  
  102. new pCvar_enabled;
  103. new pCvar_voice;
  104. new pCvar_chat;
  105. new pCvar_alltalk;
  106.  
  107. new giMaxPlayers;
  108. new giMsgSayText;
  109. new giMsgTeamInfo;
  110. new giSpeakFlags[33];
  111. new const giColorLevels[] =
  112. {
  113. ADMIN_ALL,
  114. ADMIN_NORMAL,
  115. ADMIN_RED,
  116. ADMIN_BLUE,
  117. ADMIN_SILVER
  118. };
  119.  
  120. new const gszColorCode[][] =
  121. {
  122. "",
  123. "^x01",
  124. "^x03",
  125. "^x03",
  126. "^x03"
  127. };
  128. new const gszColorTeams[][] =
  129. {
  130. "",
  131. "",
  132. "TERRORIST",
  133. "CT",
  134. "SPECTATOR"
  135. };
  136. new const gszTeamNames[][] =
  137. {
  138. "Spectator",
  139. "Terrorist",
  140. "Counter-Terrorist",
  141. "Spectator"
  142. };
  143.  
  144. public plugin_init()
  145. {
  146. register_plugin("Colored Admin Chat", "4.0", "Exolent");
  147. register_clcmd("say", "handle_say");
  148. register_clcmd("say_team", "handle_teamsay");
  149. register_forward(FM_Voice_SetClientListening, "fm_SetVoice");
  150.  
  151. pCvar_enabled = register_cvar("amx_cac_enabled", "1");
  152. pCvar_voice = register_cvar("amx_adminlisten_voice", "1");
  153. pCvar_chat = register_cvar("amx_adminlisten_chat", "1");
  154. pCvar_alltalk = get_cvar_pointer("sv_alltalk");
  155.  
  156. giMaxPlayers = get_maxplayers();
  157. giMsgSayText = get_user_msgid("SayText");
  158. giMsgTeamInfo = get_user_msgid("TeamInfo");
  159. }
  160.  
  161. public handle_say(id)
  162. {
  163. if(!get_pcvar_num(pCvar_enabled))
  164. return PLUGIN_CONTINUE;
  165.  
  166. static szMessage[192];
  167. read_args(szMessage, 191);
  168. remove_quotes(szMessage);
  169.  
  170. if(!is_valid_message(szMessage))
  171. return PLUGIN_CONTINUE;
  172.  
  173. static bool:bAdmin;
  174. bAdmin = has_color_chat(id);
  175.  
  176. static iChatColor, iAlive, i;
  177. iChatColor = get_chat_color(id);
  178. iAlive = is_user_alive(id);
  179.  
  180. static szName[32], szTeam[32], szTeam2[32];
  181. get_user_name(id, szName, 31);
  182. get_user_team(id, szTeam, 31);
  183.  
  184. format(szMessage, 191, "%s%s%s ^x01: %s %s",\
  185. iAlive ? "" : "^x01*DEAD*",\
  186. bAdmin ? "^x04" : "^x01",\
  187. szName,\
  188. bAdmin ? gszColorCode[iChatColor] : "",\
  189. szMessage);
  190.  
  191. for(i = 1; i <= giMaxPlayers; i++)
  192. {
  193. if(!is_user_connected(i))
  194. continue;
  195.  
  196. if(iAlive == is_user_alive(i)
  197. || (get_pcvar_num(pCvar_chat)) && (get_user_flags(i) & LISTEN_CHAT))
  198. {
  199. get_user_team(i, szTeam2, 31);
  200. handle_message(i, szTeam, szTeam2, iChatColor, szMessage);
  201. }
  202. }
  203. return PLUGIN_HANDLED;
  204. }
  205.  
  206. public handle_teamsay(id)
  207. {
  208. if(!get_pcvar_num(pCvar_enabled))
  209. return PLUGIN_CONTINUE;
  210.  
  211. static szMessage[192];
  212. read_args(szMessage, 191);
  213. remove_quotes(szMessage);
  214.  
  215. if(!is_valid_message(szMessage))
  216. return PLUGIN_CONTINUE;
  217.  
  218. static bool:bAdmin;
  219. bAdmin = has_color_chat(id);
  220.  
  221. static iChatColor, iAlive, iTeam, i;
  222. iChatColor = get_chat_color(id);
  223. iAlive = is_user_alive(id);
  224. iTeam = get_user_team(id);
  225.  
  226. static szName[32], szTeam[32], szTeam2[32];
  227. get_user_name(id, szName, 31);
  228. get_user_team(id, szTeam, 31);
  229.  
  230. format(szMessage, 191, "^x01%s(%s)%s %s^x01 : %s %s",\
  231. iAlive ? "" : "*DEAD*",\
  232. gszTeamNames[iTeam],\
  233. bAdmin ? "^x04" : "^x03",\
  234. szName,\
  235. bAdmin ? gszColorCode[iChatColor] : "",\
  236. szMessage);
  237.  
  238. for(i = 1; i <= giMaxPlayers; i++)
  239. {
  240. if(!is_user_connected(i))
  241. continue;
  242.  
  243. get_user_team(i, szTeam2, 31);
  244. if(!equali(szTeam, szTeam2) && (get_pcvar_num(pCvar_chat) != 1))
  245. continue;
  246.  
  247. if(iAlive == is_user_alive(i)
  248. || get_user_flags(i) & LISTEN_CHAT)
  249. {
  250. handle_message(id, szTeam, szTeam2, iChatColor, szMessage);
  251. }
  252. }
  253. return PLUGIN_HANDLED;
  254. }
  255.  
  256. public fm_SetVoice(iReceiver, iSender, bool:bListen)
  257. {
  258. reset_speak(iReceiver);
  259. reset_speak(iSender);
  260. if((giSpeakFlags[iSender] & SPEAK_ALL) != 0)
  261. {
  262. set_speak(iReceiver, iSender, true);
  263. return FMRES_SUPERCEDE;
  264. }
  265. if((giSpeakFlags[iReceiver] & SPEAK_LISTENALL) != 0)
  266. {
  267. set_speak(iReceiver, iSender, true);
  268. return FMRES_SUPERCEDE;
  269. }
  270. forward_return(FMV_CELL, bListen);
  271. return FMRES_IGNORED;
  272. }
  273.  
  274. bool:is_valid_message(const szMessage[])
  275. {
  276. if(szMessage[0] == '/'
  277. || szMessage[0] == '@'
  278. || !strlen(szMessage))
  279. {
  280. return false;
  281. }
  282. return true;
  283. }
  284.  
  285. bool:has_color_chat(const id)
  286. {
  287. static iFlags, i;
  288. iFlags = get_user_flags(id);
  289. for(i = 1; i < sizeof giColorLevels; i++)
  290. {
  291. if(iFlags & giColorLevels[i])
  292. return true;
  293. }
  294. return false;
  295. }
  296.  
  297. get_chat_color(const id)
  298. {
  299. static iFlags, i;
  300. iFlags = get_user_flags(id);
  301. for(i = 1; i < sizeof giColorLevels; i++)
  302. {
  303. if(iFlags & giColorLevels[i])
  304. return i;
  305. }
  306. return 0;
  307. }
  308.  
  309. handle_message(const id, const szTeam[], const szTeam2[], const iChatColor, const szMessage[])
  310. {
  311. if(equali(gszColorCode[iChatColor], "^x03") && !equali(gszColorTeams[iChatColor], szTeam2))
  312. {
  313. show_TeamInfo_msg(id, gszColorTeams[iChatColor]);
  314. show_SayText_msg(id, szMessage);
  315. show_TeamInfo_msg(id, szTeam2);
  316. }
  317. else if(!equali(szTeam, szTeam2) && !iChatColor)
  318. {
  319. show_TeamInfo_msg(id, szTeam);
  320. show_SayText_msg(id, szMessage);
  321. show_TeamInfo_msg(id, szTeam2);
  322. }
  323. else
  324. {
  325. show_SayText_msg(id, szMessage);
  326. }
  327. return 1;
  328. }
  329.  
  330. show_TeamInfo_msg(const id, const szTeam[])
  331. {
  332. message_begin(MSG_ONE, giMsgTeamInfo, _, id);
  333. write_byte(id);
  334. write_string(szTeam);
  335. message_end();
  336. }
  337.  
  338. show_SayText_msg(const id, const szMessage[])
  339. {
  340. message_begin(MSG_ONE, giMsgSayText, _, id);
  341. write_byte(id);
  342. write_string(szMessage);
  343. message_end();
  344. }
  345.  
  346. reset_speak(const id)
  347. {
  348. if(get_pcvar_num(pCvar_alltalk) == 1)
  349. {
  350. giSpeakFlags[id] = SPEAK_ALL;
  351. }
  352. else if((get_pcvar_num(pCvar_voice) == 1) && (get_user_flags(id) & LISTEN_VOICE))
  353. {
  354. giSpeakFlags[id] = SPEAK_LISTENALL;
  355. }
  356. else
  357. {
  358. giSpeakFlags[id] = SPEAK_NORMAL;
  359. }
  360. }
  361.  
  362. set_speak(const iReceiver, const iSender, const bool:bListen)
  363. {
  364. engfunc(EngFunc_SetClientListening, iReceiver, iSender, bListen)
  365. forward_return(FMV_CELL, bListen);
  366. }
  367.  
  368.  


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Admin irás
HozzászólásElküldve:2013.09.21. 14:44 
Offline
Beavatott

Csatlakozott:2013.08.02. 14:53
Hozzászólások:91
Megköszönt másnak: 16 alkalommal
Megköszönték neki: 3 alkalommal
Papi és mik a beállitások?


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Admin irás
HozzászólásElküldve:2013.09.21. 14:49 
Offline
Felfüggesztve

Csatlakozott:2013.08.09. 22:37
Hozzászólások:571
Megköszönt másnak: 10 alkalommal
Megköszönték neki: 85 alkalommal
misu88 írta:
Papi és mik a beállitások?

Javitva ezaz:

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.  


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


Ki van itt

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