hlmod.hu
https://hlmod.hu/

Prefix Hiba.
https://hlmod.hu/viewtopic.php?f=9&t=16069
Oldal: 1 / 1

Szerző:  Papi [2014.05.29. 22:26 ]
Hozzászólás témája:  Prefix Hiba.

valamiért Nem Fordítja le...Valaki Tudja? már mindent próbáltam..
SMA Forráskód: [ Mindet kijelol ]
  1.  
  2. #include <amxmodx>
  3. #include <amxmisc>
  4.  
  5. #define PLUGIN "PLUGIN"
  6. #define VERSION "VERSION"
  7. #define AUTHOR "AUTHOR"
  8.  
  9. #define ACCESS_LEVEL ADMIN_KICK
  10. #define ADMIN_LISTEN ADMIN_KICK
  11.  
  12. new message[192]
  13. new sayText
  14. new teamInfo
  15. new maxPlayers
  16.  
  17. new strName[191]
  18. new strText[191]
  19. new alive[11]
  20. #define FLAG ADMIN_RESERVATION
  21.  
  22. new COLCHAR[3][2] = { "^x03"/*team col*/, "^x04"/*green*/, "^x01"/*white*/ }
  23.  
  24. //cvar pointers
  25. new p_allchat, p_namecol, p_msgcol, p_alltalk, p_hidestat, p_teamchat
  26.  
  27. //vars to check if message has already been duplicated
  28. new alv_sndr, alv_str2[26], alv_str4[101]
  29. new msg[200]
  30.  
  31. public plugin_init()
  32. {
  33. register_plugin (PLUGIN, VERSION, AUTHOR)
  34.  
  35. sayText = get_user_msgid ("SayText")
  36. teamInfo = get_user_msgid ("TeamInfo")
  37. maxPlayers = get_maxplayers()
  38.  
  39. register_message (sayText, "avoid_duplicated")
  40.  
  41. register_clcmd ("say", "hook_say")
  42. register_clcmd ("say_team", "hook_teamsay")
  43. p_allchat = register_cvar( "sv_allchat", "1" )
  44. p_namecol = register_cvar( "ac_namecolor", "0" )
  45. p_msgcol = register_cvar( "ac_msgcolor", "1" )
  46. p_hidestat = register_cvar( "ac_hidestatus", "0" )
  47. p_teamchat = register_cvar( "ac_teamchat", "0" )
  48. p_alltalk = get_cvar_pointer( "sv_alltalk" )
  49.  
  50. register_message( get_user_msgid("SayText"), "col_changer" )
  51. return PLUGIN_CONTINUE
  52. }
  53.  
  54. public avoid_duplicated (msgId, msgDest, receiver)
  55. {
  56. return PLUGIN_HANDLED
  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.  
  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 bool:steam = false
  79.  
  80. if (is_user_steam(id))
  81. steam = true
  82.  
  83. new isAlive
  84.  
  85. if (is_user_alive (id))
  86. {
  87. isAlive = 1
  88. alive = "^x01*él* "
  89. }
  90. else
  91. {
  92. isAlive = 0
  93. alive = "^x01*Halott* "
  94. }
  95.  
  96. static color[10]
  97.  
  98. if(get_user_flags(id)&ADMIN_LEVEL_B)
  99. {
  100. get_user_team (id, color, 9)
  101.  
  102. format (strName, 191, "%s^x04[ADMIN] » ^x03%s", alive, name)
  103.  
  104. format (strText, 191, "^x04%s", message)
  105. }
  106. else if(!steam)
  107. {
  108. get_user_team (id, color, 9)
  109.  
  110. format (strName, 191, "%s^x04[JátĂ©kos] » ^x03%s", alive, name)
  111.  
  112. format (strText, 191, "%s", message)
  113. }
  114. else if (steam)
  115. {
  116. get_user_team (id, color, 9)
  117.  
  118. format (strName, 191, "%s^x04[Steames] » ^x03%s", alive, name)
  119.  
  120. format (strText, 191, "%s", message)
  121. }
  122.  
  123. format (message, 191, "%s »^x01 %s", strName, strText)
  124.  
  125. sendMessage (color, isAlive)
  126.  
  127. return PLUGIN_CONTINUE
  128. }
  129.  
  130.  
  131. public hook_teamsay(id)
  132. {
  133. new playerTeam = get_user_team(id)
  134. new playerTeamName[19]
  135.  
  136. switch (playerTeam)
  137. {
  138. case 1:
  139. copy (playerTeamName, 11, "Terrorista")
  140.  
  141. case 2:
  142. copy (playerTeamName, 18, "Anti-Terrorista")
  143.  
  144. default:
  145. copy (playerTeamName, 9, "Néző")
  146. }
  147.  
  148. read_args (message, 191)
  149. remove_quotes (message)
  150.  
  151. if (message[0] == '@' || message[0] == '/' || message[0] == '!' || equal (message, ""))
  152.  
  153. return PLUGIN_CONTINUE
  154.  
  155.  
  156. new name[32]
  157. get_user_name (id, name, 31)
  158.  
  159. new bool:admin = false
  160.  
  161. if (get_user_flags(id) & ACCESS_LEVEL)
  162. admin = true
  163.  
  164.  
  165. new bool:steam = false
  166.  
  167. if(is_user_steam(id))
  168. steam = true
  169.  
  170. new isAlive
  171.  
  172. if (is_user_alive (id))
  173. {
  174. isAlive = 1
  175. alive = "^x01*él* "
  176. }
  177. else
  178. {
  179. isAlive = 0
  180. alive = "^x01*Halott* "
  181. }
  182.  
  183. static color[10]
  184.  
  185. if(get_user_flags(id)&ADMIN_LEVEL_B)
  186. {
  187. get_user_team (id, color, 9)
  188.  
  189. format (strName, 191, "%s(%s) ^x04[Admin] » ^x03%s", alive, playerTeamName, name)
  190.  
  191. format (strText, 191, "^x04%s", message)
  192. }
  193. else if(!steam)
  194. {
  195. get_user_team (id, color, 9)
  196.  
  197. format (strName, 191, "%s(%s) ^x04[JátĂ©kos] » ^x03%s", alive, playerTeamName, name)
  198.  
  199. format (strText, 191, "%s", message)
  200. }
  201. else if(steam)
  202. {
  203. get_user_team (id, color, 9)
  204.  
  205. format (strName, 191, "%s(%s) ^x04[Steames] » ^x03%s", alive, playerTeamName, name)
  206.  
  207. format (strText, 191, "%s", message)
  208. }
  209.  
  210. format (message, 191, "%s » ^x01%s", strName, strText)
  211.  
  212. sendTeamMessage (color, isAlive, playerTeam)
  213.  
  214. return PLUGIN_CONTINUE
  215. }
  216.  
  217. public sendMessage (color[], alive)
  218. {
  219. new teamName[10]
  220.  
  221. for (new player = 1; player < maxPlayers; player++)
  222. {
  223. if (!is_user_connected(player))
  224. continue
  225.  
  226. if (alive && is_user_alive(player) || !alive && !is_user_alive(player) || get_user_flags(player) & ADMIN_LISTEN)
  227. {
  228. get_user_team (player, teamName, 9)
  229.  
  230. changeTeamInfo (player, color)
  231.  
  232. writeMessage (player, message)
  233.  
  234. changeTeamInfo (player, teamName)
  235. }
  236. }
  237. }
  238.  
  239.  
  240. public sendTeamMessage (color[], alive, playerTeam)
  241. {
  242. new teamName[10]
  243.  
  244. for (new player = 1; player < maxPlayers; player++)
  245. {
  246. if (!is_user_connected(player))
  247. continue
  248.  
  249. if (get_user_team(player) == playerTeam || get_user_flags(player) & ADMIN_LISTEN)
  250. {
  251. if (alive && is_user_alive(player) || !alive && !is_user_alive(player) || get_user_flags(player) & ADMIN_LISTEN)
  252. {
  253. get_user_team (player, teamName, 9)
  254.  
  255. changeTeamInfo (player, color)
  256. writeMessage (player, message)
  257.  
  258. changeTeamInfo (player, teamName)
  259. }
  260. }
  261. }
  262. }
  263.  
  264.  
  265. public changeTeamInfo (player, team[])
  266. {
  267. message_begin (MSG_ONE, teamInfo, _, player)
  268. write_byte (player)
  269. write_string (team)
  270. message_end()
  271. }
  272.  
  273.  
  274. public writeMessage (player, message[])
  275. {
  276. message_begin (MSG_ONE, sayText, {0, 0, 0}, player)
  277. write_byte (player)
  278. write_string (message)
  279. message_end ()
  280. }
  281.  
  282. stock bool:is_user_steam(id)
  283. {
  284. static dp_pointer;
  285.  
  286. if (dp_pointer || (dp_pointer = get_cvar_pointer("dp_r_id_provider")))
  287. {
  288. server_cmd("dp_clientinfo %d", id);
  289. server_exec();
  290. return (get_pcvar_num(dp_pointer) == 2) ? true : false;
  291. }
  292.  
  293. return false;
  294. }
  295.  
  296. public col_changer( msg_id, msg_dest, rcvr )
  297. {
  298. new str2[26]
  299. get_msg_arg_string( 2, str2, 25 )
  300. if( equal( str2, "#Cstrike_Chat", 13 ) )
  301. {
  302. new str3[22]
  303. get_msg_arg_string( 3, str3, 21 )
  304.  
  305. if( !strlen( str3 ) )
  306. {
  307. new str4[101]
  308. get_msg_arg_string( 4, str4, 100 )
  309. new sndr = get_msg_arg_int( 1 )
  310.  
  311. new bool:is_team_msg = !bool:equal( str2, "#Cstrike_Chat_All", 17 )
  312.  
  313. new sndr_team = get_user_team( sndr )
  314. new bool:is_sndr_spec = !bool:( 0 < sndr_team < 3 )
  315.  
  316. new namecol = clamp( get_pcvar_num(p_namecol), 0, 2 )
  317. new msgcol = clamp( get_pcvar_num(p_msgcol), 0, 2 )
  318.  
  319. new bool:same_as_last = bool:( alv_sndr == sndr && equal( alv_str2, str2 ) && equal( alv_str4, str4) )
  320.  
  321. if( !same_as_last )
  322. {//Duplicate message once
  323. new allchat = clamp( get_pcvar_num( p_allchat ), 0, 2 )
  324. if( allchat == 2 || ( allchat == 1 && clamp( get_pcvar_num( p_alltalk ), 0, 1 ) == 1 ) )
  325. {
  326. if( !( is_team_msg && ( is_sndr_spec || is_team_msg && get_pcvar_num( p_teamchat ) == 0 ) ) )
  327. {//Don't duplicate if it's a spectator team message
  328. new flags[5], team[10]
  329. if( is_user_alive( sndr ) ) flags = "bch"
  330. else flags = "ach"
  331.  
  332. if( is_team_msg )
  333. {
  334. add( flags[strlen( flags )], 4, "e" )
  335. if( sndr_team == 1 ) team = "TERRORIST"
  336. else team = "CT"
  337. }
  338.  
  339. new players[32], num
  340. get_players( players, num, flags, team )
  341.  
  342. if( get_user_flags( sndr ) & FLAG )
  343. buildmsg( sndr, is_sndr_spec, is_team_msg, sndr_team, namecol, msgcol, str4 ) //admin colored, by cvars
  344. else buildmsg( sndr, is_sndr_spec, is_team_msg, sndr_team, 0, 2, str4 ) //normal colors
  345.  
  346. for( new i=0; i < num; i++ )
  347. {
  348. message_begin( MSG_ONE, get_user_msgid( "SayText" ), _, players[i] )
  349. write_byte( sndr )
  350. write_string( msg )
  351. message_end()
  352. }
  353.  
  354. }
  355.  
  356. alv_sndr = sndr
  357. alv_str2 = str2
  358. alv_str4 = str4
  359. if( task_exists( 411 ) ) remove_task( 411 )
  360. set_task( 0.1, "task_clear_antiloop_vars", 411 )
  361. }
  362. }
  363.  
  364. if( get_user_flags( sndr ) & FLAG && ( namecol != 0 || msgcol != 2 ) )
  365. {//execute if sndr is admin and cols are not set to engine defaults
  366. if( !same_as_last ) buildmsg( sndr, is_sndr_spec, is_team_msg, sndr_team, namecol, msgcol, str4 )
  367.  
  368. set_msg_arg_string( 2, msg )
  369. set_msg_arg_string( 4, "" )
  370. }
  371. }
  372. }
  373. return PLUGIN_CONTINUE
  374. }
  375.  
  376. public buildmsg( sndr, is_sndr_spec, is_team_msg, sndr_team, namecol, msgcol, str4[ ] )
  377. {
  378. new sndr_name[33]
  379. get_user_name( sndr, sndr_name, 32 )
  380.  
  381. new prefix[30] = "^x01"
  382. if( get_pcvar_num( p_hidestat ) == 0 )
  383. {
  384. if( is_sndr_spec ) prefix = "^x01*SPEC* "
  385. else if( !is_user_alive( sndr ) ) prefix = "^x01*DEAD* "
  386. }
  387.  
  388. if( is_team_msg )
  389. {
  390. if( is_sndr_spec ) prefix = "^x01(Spectator) "
  391. else if( sndr_team == 1 ) add( prefix[strlen(prefix)-1], 29, "(Terrorist) " )
  392. else if( sndr_team == 2 ) add( prefix[strlen(prefix)-1], 29, "(Counter-Terrorist) " )
  393. }
  394.  
  395. format( msg, 199, "%s%s%s : %s%s",\
  396. strlen( prefix ) > 1 ? prefix : "",\
  397. COLCHAR[namecol], sndr_name, COLCHAR[msgcol], str4 )
  398. return PLUGIN_HANDLED
  399. }
  400.  
  401. public task_clear_antiloop_vars( )
  402. {
  403. alv_sndr = 0
  404. alv_str2 = ""
  405. alv_str4 = ""
  406. }
  407. stock print_color(const id, const input[], any:...)
  408. {
  409. new count = 1, players[32]
  410. static msg[191]
  411. vformat(msg, 190, input, 3)
  412.  
  413. replace_all(msg, 190, "!g", "^4")
  414. replace_all(msg, 190, "!y", "^1")
  415. replace_all(msg, 190, "!t", "^3")
  416. replace_all(msg, 190, "á", "á")
  417. replace_all(msg, 190, "é", "Ă©")
  418. replace_all(msg, 190, "í", "Ă­")
  419. replace_all(msg, 190, "ó", "Ăł")
  420. replace_all(msg, 190, "ö", "ö")
  421. replace_all(msg, 190, "ő", "Ĺ‘")
  422. replace_all(msg, 190, "ú", "Ăş")
  423. replace_all(msg, 190, "ü", "ĂĽ")
  424. replace_all(msg, 190, "ű", "ű")
  425. replace_all(msg, 190, "Á", "Á")
  426. replace_all(msg, 190, "É", "É")
  427. replace_all(msg, 190, "Í", "ĂŤ")
  428. replace_all(msg, 190, "Ó", "Ă“")
  429. replace_all(msg, 190, "Ö", "Ă–")
  430. replace_all(msg, 190, "Ő", "Ő")
  431. replace_all(msg, 190, "Ú", "Ăš")
  432. replace_all(msg, 190, "Ü", "Ăś")
  433. replace_all(msg, 190, "Ű", "Ű")
  434.  
  435. if (id) players[0] = id; else get_players(players, count, "ch")
  436. {
  437. for (new i = 0; i < count; i++)
  438. {
  439. if (is_user_connected(players[i]))
  440. {
  441. message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i])
  442. write_byte(players[i])
  443. write_string(msg)
  444. message_end()
  445. }
  446. }
  447. }
  448. return PLUGIN_HANDLED
  449. }
  450.  

Szerző:  Golo [2014.05.29. 22:37 ]
Hozzászólás témája:  Re: Prefix Hiba.

Lefordítja
Próbáld http://amx.freakz.ro
vagy amxx studio
nekem simán lefordítja

Szerző:  Papi [2014.05.29. 23:01 ]
Hozzászólás témája:  Re: Prefix Hiba.

Nekem egyátalán nem fordítja le...és még az ékezett sem megy...többi pluginba meg igen..

Szerző:  golden15 [2014.05.30. 11:00 ]
Hozzászólás témája:  Re: Prefix Hiba.

Elküldtem fb-n az ammx-et :)

Oldal: 1 / 1 Minden időpont UTC+02:00 időzóna szerinti
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/