HLMOD.HU Forrás Megtekintés - www.hlmod.hu
  1. #include <amxmodx>
  2.  
  3. enum Icon {
  4. C4,
  5. Escape,
  6. Rescue,
  7. Defuser,
  8. Buyzone,
  9. VipSafety
  10. }
  11.  
  12. new Cvars[Icon]
  13. new CvarsDefaultValues[Icon][] = { "255 135 0", "255 240 0", "255 50 0 ", "0 100 255","0 200 0","175 0 255"}
  14. new IconNames[Icon][] = {"c4","escape","rescue","defuser","buyzone","vipsafety"}
  15.  
  16. new Trie:TrieIconNames
  17.  
  18. public plugin_init() {
  19. register_plugin( "Ikon szin lecserelo", "1.0", "xPaw" );
  20.  
  21. TrieIconNames = TrieCreate();
  22.  
  23. new cvarName[20]
  24.  
  25. new append = formatex(cvarName, charsmax(cvarName), "icons_");
  26.  
  27. for(new Icon:i = C4 ; i<Icon;i++) {
  28. formatex(cvarName[append], charsmax(cvarName) - append, IconNames[i]);
  29. Cvars[i] = register_cvar(cvarName,CvarsDefaultValues[i]);
  30.  
  31. TrieSetCell(TrieIconNames,IconNames[i],i);
  32. }
  33.  
  34. register_message( get_user_msgid("StatusIcon"), "msgStatusIcon" );
  35. }
  36.  
  37. public msgStatusIcon( msgId, msgDest, id ) {
  38. if( get_msg_arg_int( 1 ) == 0 )
  39. return PLUGIN_CONTINUE;
  40.  
  41. new szIcon[10]
  42. get_msg_arg_string( 2, szIcon, 9 );
  43.  
  44. new Icon:icon
  45.  
  46. if( TrieGetCell(TrieIconNames,szIcon,icon) ) {
  47. new szColor[ 12 ], rgb[ 3 ][ 4 ], iRed, iGreen, iBlue;
  48.  
  49. get_pcvar_string( Cvars[icon] , szColor, charsmax( szColor ) );
  50. parse( szColor, rgb[ 0 ], 3 , rgb[ 1 ], 3 , rgb[ 2 ], 3 );
  51.  
  52. iRed = clamp( str_to_num( rgb[ 0 ] ), 0, 255 );
  53. iGreen = clamp( str_to_num( rgb[ 1 ] ), 0, 255 );
  54. iBlue = clamp( str_to_num( rgb[ 2 ] ), 0, 255 );
  55.  
  56. set_msg_arg_int( 3, ARG_BYTE, iRed );
  57. set_msg_arg_int( 4, ARG_BYTE, iGreen );
  58. set_msg_arg_int( 5, ARG_BYTE, iBlue );
  59. }
  60.  
  61. return PLUGIN_CONTINUE;
  62. }