hlmod.hu
https://hlmod.hu/

Rangrendszer ami nem HUD-os.
https://hlmod.hu/viewtopic.php?f=29&t=28025
Oldal: 1 / 1

Szerző:  Sheriff Kapitány. [ 2017.07.30. 14:45 ]
Hozzászólás témája:  Rangrendszer ami nem HUD-os.

Üdvözlök minden kedves embert.
Egy rangrendszer keresek.Tudom, hogy egy csomó van a keresőbe kerestem is.Olyan Ranrendszert keresnék ami nem HUD-os azért meg ezt a WSS izét beraktam és ami van Hudos rangrendszer zavarja a másik hudost.Ugye bár a WSS is HUD-os.És ezért kérnék tőletek.Töltöttem le sokat és beraktam és még nem ír a chatba.:)

Szerző:  qkly [ 2017.07.30. 15:01 ]
Hozzászólás témája:  Re: Rangrendszer ami nem HUD-os.

Sheriff Kapitány. írta:
Üdvözlök minden kedves embert.
Egy rangrendszer keresek.Tudom, hogy egy csomó van a keresőbe kerestem is.Olyan Ranrendszert keresnék ami nem HUD-os azért meg ezt a WSS izét beraktam és ami van Hudos rangrendszer zavarja a másik hudost.Ugye bár a WSS is HUD-os.És ezért kérnék tőletek.Töltöttem le sokat és beraktam és még nem ír a chatba.:)


Remélem áttudod írni testvérem.

HLMOD.Hus Rangok

Szerző:  Jucika [ 2017.11.25. 11:59 ]
Hozzászólás témája:  Re: Rangrendszer ami nem HUD-os.

Sziasztok, megszeretném osztani ezt a plugint. A plugint nem én írtam csak Javítottam/Javítgattam


Érdekesség
/rangok az összes rangot listázza ki öléssel együtt
/rang megtudod tekinteni az ölésed, halálod, aktivitásod
/hud ki/be kapcsolja a HUD üzeneteket

Plugin.
  1. #include <amxmodx>
  2. #include <amxmisc>
  3. #include <cstrike>
  4. #include <csstats>
  5.  
  6. #pragma tabsize 0
  7.  
  8. #define PLUGIN "Rankrendszer (HUD + prefix)"
  9. #define VERSION "1.5"
  10. #define AUTHOR "6lmasok,qKKKJ;>, RaZ_HU" ///Szerk:. Jucika
  11.  
  12. #define ACCESS_LEVEL ADMIN_CHAT
  13. #define ADMIN_LISTEN ADMIN_CHAT
  14.  
  15. #define RANK_SILVER 0
  16. #define RANK_SILVER2 1
  17. #define RANK_SILVER3 2
  18. #define RANK_SILVER4 3
  19. #define RANK_SILVERE 4
  20. #define RANK_SILVEREM 5
  21. #define RANK_NOVA 6
  22. #define RANK_NOVA2 7
  23. #define RANK_NOVA3 8
  24. #define RANK_NOVAM 9
  25. #define RANK_AK 10
  26. #define RANK_AK2 11
  27. #define RANK_DAK 12
  28. #define RANK_SHERIFF 13
  29. #define RANK_SAS 14
  30. #define RANK_SASM 15
  31. #define RANK_SUPREME 16
  32. #define RANK_GLOBAL 17
  33. #define RANK_UBER 18
  34.  
  35. #define MAXRANKS 19
  36.  
  37. new message[192]
  38.  
  39. new strName[191]
  40. new strText[191]
  41. new sayText
  42. new teamInfo
  43. new maxPlayers
  44. new PlayerRank[33]
  45. new bool: g_bHud[ 33 ]
  46. new Float:HUD_INTERVAL
  47.  
  48. new static color[10]
  49.  
  50. new const RANKS[MAXRANKS][] =
  51. {
  52.     "Silver I",
  53.     "Silver II",
  54.     "Silver III",
  55.     "Silver IV",
  56.     "Silver Elite",
  57.     "Silver Elite Mester",
  58.     "Arany Nova I",
  59.     "Arany Nova II",
  60.     "Arany Nova III",
  61.     "Arany Nova Mester",
  62.     "AK",
  63.     "Koszorus AK",
  64.     "Dupla AK",
  65.     "Sheriff",
  66.     "Sas",
  67.     "Sas Mester",
  68.     "Supreme",
  69.     "Global Elite",
  70.     "Legenda"
  71. }
  72.  
  73. #define size 18
  74.  
  75. new const szamok[size] =
  76. {
  77.     50,
  78.     100,
  79.     200,
  80.     300,
  81.     450,
  82.     650,
  83.     800,
  84.     1000,
  85.     1200,
  86.     1400,
  87.     1700,
  88.     2000,
  89.     2500,
  90.     3000,
  91.     3600,
  92.     4500,
  93.     5500,
  94.     20000
  95. }
  96.  
  97. public plugin_init()
  98. {
  99.     register_plugin(PLUGIN, VERSION, AUTHOR)
  100.     register_clcmd("say /rang", "hud")
  101.     register_clcmd("say rang", "hud")
  102.     register_clcmd( "say /rangok", "cmdRangs" );
  103.     register_clcmd( "say /hud", "cmdHud" );
  104.     register_clcmd ("say", "hook_say")
  105.     register_clcmd ("say_team", "hook_teamsay")
  106.    
  107.     register_cvar("sv_rankrendszer","1") // A plugin be- illetve kikapcsolása
  108.     register_cvar("sv_rankrendszer_HUD","1") // A HUD-ra való kijelzés be- illetve kikapcsolása
  109.     sethudtime()
  110.    
  111.     sayText = get_user_msgid ("SayText")
  112.     teamInfo = get_user_msgid ("TeamInfo")
  113.     maxPlayers = get_maxplayers()
  114.    
  115.     set_task(160.0, "korUzenet", 0, _, _, "b")
  116.    
  117.     register_message (sayText, "avoid_duplicated")
  118. }
  119.  
  120. public cmdRangs( iPlayerId )
  121. {
  122.     static iLen = 0, sMotd[ 2048 ], iMotdLen = charsmax( sMotd );
  123.    
  124.     iLen = formatex( sMotd, iMotdLen, "<meta charset=utf-8><style>table{color:#FFB000;} td,th{border:1px solid #666;text-align:center;}</style><body bgcolor=#000000><center><table width='400'><tr><th>Rang</th><th>Ölés</th><tr>" );
  125.     iLen += formatex( sMotd[ iLen ], iMotdLen - iLen, "<tr><td>%s</td><td>0</td><tr>", RANKS[ 0 ] );
  126.    
  127.     for ( new i; i < size; ++i )
  128.         iLen += formatex( sMotd[ iLen ], iMotdLen - iLen, "<tr><td>%s</td><td>%d</td><tr>", RANKS[ i + 1 ], szamok[ i ] );
  129.    
  130.     show_motd( iPlayerId, sMotd, "Rangrendszer info" );
  131. }
  132.  
  133. public cmdHud( iPlayerId )
  134. {
  135.     ColorChat( iPlayerId, "^1A hud kijelzõ ^3%skapcsolva^1!", ( g_bHud[ iPlayerId ] ^= true ) ? "be" : "ki" );
  136.    
  137.     if ( !g_bHud[ iPlayerId ] ) remove_task( iPlayerId );
  138.     else { if ( !task_exists( iPlayerId ) ) set_task( HUD_INTERVAL, "setDisplay", iPlayerId ); }
  139. }
  140.  
  141. public sethudtime()
  142. {
  143.     new refreshtime = register_cvar("sv_rankrendszer_HUDtime","0.9") // A HUD-ra való kijelzés frissítési ideje másodpercben
  144.     if (refreshtime == 0.9)
  145.     {
  146.         HUD_INTERVAL = 0.9
  147.     }
  148.     else if (refreshtime != 0.9)
  149.     {
  150.         HUD_INTERVAL = get_pcvar_float(refreshtime)
  151.     }
  152.    
  153.     return PLUGIN_CONTINUE
  154. }
  155.  
  156. public avoid_duplicated (msgId, msgDest, receiver)
  157. {
  158.     return PLUGIN_HANDLED
  159. }
  160.  
  161. public korUzenet()
  162. {
  163.     ColorChat( 0, "^3Írd be ^4/rang ^3vagy ^4rang ^3hogy megnézd hány ölés kell a következő ranghoz.")
  164.     return PLUGIN_HANDLED;
  165. }
  166.  
  167. public hud(id)
  168. {
  169.     new stats[8]
  170.     new bodyhits[8]
  171.     get_user_stats(id, stats, bodyhits)
  172.    
  173.     ColorChat( id, "^4Rangod: ^3%s ^1| ^4Ölések: ^3%d",RANKS[PlayerRank[id]], stats[0])
  174.    
  175.     if(PlayerRank[id] == MAXRANKS-1)
  176.     {
  177.         //client_print(id, print_chat, "^4Rangod: ^3%s ^1| ^4Ölések: ^3%d ^n^4A következő szinthez kell még: ^3%d",RANKS[PlayerRank[id]], stats[0],szamok[PlayerRank[id]]-stats[0])
  178.         ColorChat( id, "^4Már elérted a legnagyobb ^4rangot.")
  179.     }
  180.     else
  181.     {
  182.         //client_print(id, print_chat, "^4Rangod: ^3%s ^1| ^4Ölések: ^3%d ^n^4Már elérted a legnagyobb rangot.",RANKS[PlayerRank[id]], stats[0])
  183.         ColorChat( id, "^4Következő rang: ^3%s ^1| ^4A következő szinthez kell még: ^3%d",RANKS[PlayerRank[id]+1], szamok[PlayerRank[id]]-stats[0])
  184.     }
  185. }
  186.  
  187. public hook_say(id)
  188. {
  189.     read_args (message, 191)
  190.     remove_quotes (message)
  191.    
  192.     if (message[0] == '@' || message[0] == '/' || message[0] == '!' || equal (message, "")) // Ignores Admin Hud Messages, Admin Slash commands,
  193.     return PLUGIN_CONTINUE
  194.    
  195.     new name[32]
  196.     get_user_name (id, name, 31)
  197.    
  198.     new isAlive, alive[32]
  199.    
  200.     if (is_user_alive (id))
  201.     {
  202.         isAlive = 1
  203.         alive = "^1 "
  204.     }
  205.     else
  206.     {
  207.         isAlive = 0
  208.         alive = "^1*HALOTT* "
  209.     }
  210.    
  211.     //static color[10]
  212.    
  213.     if(get_user_flags(id)&ADMIN_CVAR)
  214.     {
  215.         //get_user_team (id, color, 9)
  216.         getTeam(id)
  217.         format (strName, 191, "%s^4[TULAJ][%s] ^3%s:", alive, RANKS[PlayerRank[id]], name)
  218.         format (strText, 191, "^4%s", message)
  219.     }  
  220.    
  221.     else if(get_user_flags(id)&ADMIN_MAP)
  222.     {
  223.         getTeam(id)
  224.         format (strName, 191, "%s^4[ADMIN][%s] ^3%s:", alive, RANKS[PlayerRank[id]], name)
  225.         format (strText, 191, "^4%s", message)
  226.     }    
  227.    
  228.     else if(get_user_flags(id)&ADMIN_MENU)
  229.     {
  230.         getTeam(id)
  231.         format (strName, 191, "%s^4[VIP][%s] ^3%s:", alive, RANKS[PlayerRank[id]], name)
  232.         format (strText, 191, "^4%s", message)
  233.     }
  234.    
  235.     else if(get_user_flags(id)&ADMIN_USER)
  236.     {
  237.         getTeam(id)
  238.         format (strName, 191, "%s^4[%s] ^3%s:",alive, RANKS[PlayerRank[id]], name)
  239.         format (strText, 191, "^1%s", message)
  240.     }
  241.    
  242.     format (message, 191, "%s ^1%s", strName, strText)
  243.     sendMessage (color, isAlive)
  244.    
  245.     return PLUGIN_CONTINUE
  246. }
  247.  
  248. public hook_teamsay(id)
  249. {
  250.     new playerTeam = get_user_team(id)
  251.     new playerTeamName[19]
  252.    
  253.     switch (playerTeam)
  254.     {
  255.         case 1:
  256.             copy (playerTeamName, 11, "Terrorista")
  257.        
  258.         case 2:
  259.             copy (playerTeamName, 18, "Anti-Terrorista")
  260.        
  261.         default:
  262.             copy (playerTeamName, 9, "Néző")
  263.     }
  264.    
  265.     read_args (message, 191)
  266.     remove_quotes (message)
  267.    
  268.     if (message[0] == '@' || message[0] == '/' || message[0] == '!' || equal (message, ""))
  269.     return PLUGIN_CONTINUE
  270.    
  271.     new isAlive, alive[32]
  272.    
  273.     if (is_user_alive (id))
  274.     {
  275.         isAlive = 1
  276.         alive = "^1 "
  277.     }
  278.     else
  279.     {
  280.         isAlive = 0
  281.         alive = "^1*HALOTT* "
  282.     }
  283.    
  284.     new name[32]
  285.     get_user_name (id, name, 31)
  286.    
  287.     //static color[10]
  288.    
  289.     if(get_user_flags(id)&ADMIN_CVAR)
  290.     {
  291.         //get_user_team (id, color, 9)
  292.         getTeam(id)
  293.         format (strName, 191, "%s(%s)^4[TULAJ][%s] ^3%s:",alive , playerTeamName, RANKS[PlayerRank[id]], name)
  294.         format (strText, 191, "^4%s", message)
  295.     }  
  296.    
  297.     else if(get_user_flags(id)&ADMIN_MAP)
  298.     {
  299.         getTeam(id)
  300.         format (strName, 191, "%s(%s)^4[ADMIN][%s] ^3%s:",alive , playerTeamName, RANKS[PlayerRank[id]], name)
  301.         format (strText, 191, "^4%s", message)
  302.     }    
  303.    
  304.     else if(get_user_flags(id)&ADMIN_MENU)
  305.     {
  306.         getTeam(id)
  307.         format (strName, 191, "%s(%s)^4[VIP][%s] ^3%s:",alive , playerTeamName, RANKS[PlayerRank[id]], name)
  308.         format (strText, 191, "^4%s", message)
  309.     }
  310.    
  311.     else if(get_user_flags(id)&ADMIN_USER)
  312.     {
  313.         getTeam(id)
  314.         format (strName, 191, "%s(%s)^4[%s] ^3%s:",alive ,playerTeamName, RANKS[PlayerRank[id]], name)
  315.         format (strText, 191, "^1%s", message)
  316.     }
  317.    
  318.     format (message, 191, "%s ^1%s", strName, strText)
  319.     sendTeamMessage (color,isAlive, playerTeam)
  320.    
  321.     return PLUGIN_CONTINUE
  322. }
  323.  
  324. public sendMessage (color[], alive)
  325. {
  326.     new teamName[10]
  327.    
  328.     for (new player = 1; player < maxPlayers; player++)
  329.     {
  330.         if (!is_user_connected(player))
  331.             continue
  332.         if((alive && is_user_alive(player)) || (!alive && !is_user_alive(player)) || (get_user_flags(player) && ADMIN_LISTEN))
  333.         {
  334.             get_user_team (player, teamName, 9)
  335.             changeTeamInfo (player, color)
  336.             writeMessage (player, message)
  337.             changeTeamInfo (player, teamName)
  338.         }
  339.     }
  340. }
  341.  
  342. public sendTeamMessage (color[], alive, playerTeam)
  343. {
  344.     new teamName[10]
  345.    
  346.     for (new player = 1; player < maxPlayers; player++)
  347.     {
  348.         if (!is_user_connected(player))
  349.             continue
  350.        
  351.         if (get_user_team(player) == playerTeam || get_user_flags(player) & ADMIN_LISTEN)
  352.         {
  353.             if (alive && is_user_alive(player) || !alive && !is_user_alive(player) || get_user_flags(player) & ADMIN_LISTEN)
  354.             {
  355.                 get_user_team (player, teamName, 9)
  356.                 changeTeamInfo (player, color)
  357.                 writeMessage (player, message)
  358.                 changeTeamInfo (player, teamName)
  359.             }
  360.         }
  361.     }
  362. }
  363.  
  364. public changeTeamInfo (player, team[])
  365. {
  366.     message_begin (MSG_ONE, teamInfo, _, player)  
  367.     write_byte (player)
  368.     write_string (team)
  369.     message_end()  
  370. }
  371.  
  372. public writeMessage (player, message[])
  373. {
  374.     message_begin (MSG_ONE, sayText, {0, 0, 0}, player)
  375.     write_byte (player)
  376.     write_string (message)
  377.     message_end ()
  378. }
  379.  
  380. stock bool:is_user_steam(id)
  381. {
  382.     static dp_pointer;
  383.    
  384.     if (dp_pointer || (dp_pointer = get_cvar_pointer("dp_r_id_provider")))
  385.     {
  386.         server_cmd("dp_clientinfo %d", id);
  387.         server_exec();
  388.         return (get_pcvar_num(dp_pointer) == 2) ? true : false;
  389.     }
  390.  
  391.     return false;
  392. }
  393.  
  394. public client_putinserver(id)
  395. {
  396.     if(get_cvar_num("sv_rankrendszer")==0)
  397.     {
  398.         return PLUGIN_HANDLED
  399.     }
  400.     else if (get_cvar_num("sv_rankrendszer")==1 && get_cvar_num("sv_rankrendszer_HUD")==1)
  401.     {
  402.         g_bHud[ id ] = true;
  403.         set_task(HUD_INTERVAL, "setDisplay", id)
  404.     }
  405.     else
  406.     {
  407.         set_task(0.5, "remTask", id)
  408.     }
  409.    
  410.     return PLUGIN_CONTINUE
  411. }
  412.  
  413. public remTask(id)
  414. {
  415.     remove_task(id, 0)
  416. }
  417.  
  418. public getTeam(id)
  419. {
  420.     get_user_team (id, color, 9)
  421. }
  422.  
  423. public setDisplay(id)
  424. {
  425.     if(!is_user_connected(id))
  426.         return PLUGIN_CONTINUE
  427.    
  428.     new stats[8]
  429.     new bodyhits[8]
  430.     get_user_stats(id, stats, bodyhits)
  431.    
  432.     if(stats[0] < 50)
  433.     {
  434.         PlayerRank[id] = RANK_SILVER
  435.     }
  436.     else if(stats[0] >= 50 && stats[0] < 100)
  437.     {
  438.         PlayerRank[id] = RANK_SILVER2
  439.     }
  440.     else if(stats[0] >= 100 && stats[0] < 200)
  441.     {
  442.         PlayerRank[id] = RANK_SILVER3
  443.     }
  444.     else if(stats[0] >= 200 && stats[0] < 300)
  445.     {
  446.         PlayerRank[id] = RANK_SILVER4
  447.     }
  448.     else if(stats[0] >= 300 && stats[0] < 450)
  449.     {
  450.         PlayerRank[id] = RANK_SILVERE
  451.     }
  452.     else if(stats[0] >= 450 && stats[0] < 650)
  453.     {
  454.         PlayerRank[id] = RANK_SILVEREM
  455.     }
  456.     else if(stats[0] >= 650 && stats[0] < 800)
  457.     {
  458.         PlayerRank[id] = RANK_NOVA
  459.     }
  460.     else if(stats[0] >= 800 && stats[0] < 1000)
  461.     {
  462.         PlayerRank[id] = RANK_NOVA2
  463.     }
  464.     else if(stats[0] >= 1000 && stats[0] < 1200)
  465.     {
  466.         PlayerRank[id] = RANK_NOVA3
  467.     }
  468.     else if(stats[0] >= 1200 && stats[0] < 1400)
  469.     {
  470.         PlayerRank[id] = RANK_NOVAM
  471.     }
  472.     else if(stats[0] >= 1400 && stats[0] < 1700)
  473.     {
  474.         PlayerRank[id] = RANK_AK
  475.     }
  476.     else if(stats[0] >= 1700 && stats[0] < 2000)
  477.     {
  478.         PlayerRank[id] = RANK_AK2
  479.     }
  480.     else if(stats[0] >= 2000 && stats[0] < 2500)
  481.     {
  482.         PlayerRank[id] = RANK_DAK
  483.     }
  484.     else if(stats[0] >= 2500 && stats[0] < 3000)
  485.     {
  486.         PlayerRank[id] = RANK_SHERIFF
  487.     }
  488.     else if(stats[0] >= 3000 && stats[0] < 3600)
  489.     {
  490.         PlayerRank[id] = RANK_SAS
  491.     }
  492.     else if(stats[0] >= 3600 && stats[0] < 4500)
  493.     {
  494.         PlayerRank[id] = RANK_SASM
  495.     }
  496.     else if(stats[0] >= 4500 && stats[0] < 5500)
  497.     {
  498.         PlayerRank[id] = RANK_SUPREME
  499.     }
  500.     else if(stats[0] >= 5500 && stats[0] < 20000)
  501.     {
  502.         PlayerRank[id] = RANK_GLOBAL
  503.     }
  504.     else if(stats[0] >= 20000)
  505.     {
  506.         PlayerRank[id] = RANK_UBER
  507.     }
  508.    
  509.     set_hudmessage(142, 239, 39, 0.01, 0.20, 0, 6.0, 1.0, 0.0, 0.0, -1)
  510.     show_hudmessage(id, "^nÖléseid: %i^nRang: %s^nParancsok: /rang, /rangok", stats[0], RANKS[PlayerRank[id]])
  511.     //show_hudmessage(id, "%s ^nÖlések: %i ^nRang: %s", name, stats[0], RANKS[PlayerRank[id]])
  512.    
  513.     set_task(HUD_INTERVAL, "setDisplay", id)
  514.    
  515.     return PLUGIN_CONTINUE
  516. }
  517.  
  518. stock ColorChat(const id, const input[], any:...)
  519. {
  520.     new count = 1, players[32];
  521.     static msg[191];
  522.     vformat(msg, 190, input, 3);
  523.    
  524.     replace_all(msg, 190, "!g", "^4"); // Green Color
  525.     replace_all(msg, 190, "!y", "^1"); // Default Color
  526.     replace_all(msg, 190, "!t", "^3"); // Team Color
  527.    
  528.     if (id) players[0] = id; else get_players(players, count, "ch");
  529.     {
  530.         for (new i = 0; i < count; i++)
  531.         {
  532.             if (is_user_connected(players[i]))
  533.             {
  534.                 message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i]);
  535.                 write_byte(players[i]);
  536.                 write_string(msg);
  537.                 message_end();
  538.             }
  539.         }
  540.     }
  541. }

Szerző:  Sheriff Kapitány. [ 2017.11.25. 12:05 ]
Hozzászólás témája:  Re: Rangrendszer ami nem HUD-os.

Köszi, máskor jó lesz a D2 szerverembe.
Berakom majd a szerverbe! :)

Szerző:  Pika [ 2017.11.25. 12:23 ]
Hozzászólás témája:  Re: Rangrendszer ami nem HUD-os.

Sheriff Kapitány. írta:
Köszi, máskor jó lesz a D2 szerverembe.
Berakom majd a szerverbe! :)


Nem unod? Mert már kezd idegesíteni, hogy 150 PÜ után sem veszed észre magad....

Szerző:  Jucika [ 2017.11.25. 12:28 ]
Hozzászólás témája:  Re: Rangrendszer ami nem HUD-os.

Sheriff Kapitány. írta:
Köszi, máskor jó lesz a D2 szerverembe.
Berakom majd a szerverbe! :)

Nem értem minek szólongatunk hozzá feleslegesen + miért nem megköszönjük a gombbal azt kész?

Szerző:  duvilax [ 2017.12.08. 07:12 ]
Hozzászólás témája:  Re: Rangrendszer ami nem HUD-os.

Jucika írta:
Sziasztok, megszeretném osztani ezt a plugint. A plugint nem én írtam csak Javítottam/Javítgattam


Érdekesség
/rangok az összes rangot listázza ki öléssel együtt
/rang megtudod tekinteni az ölésed, halálod, aktivitásod
/hud ki/be kapcsolja a HUD üzeneteket

Plugin.
  1. #include <amxmodx>
  2. #include <amxmisc>
  3. #include <cstrike>
  4. #include <csstats>
  5.  
  6. #pragma tabsize 0
  7.  
  8. #define PLUGIN "Rankrendszer (HUD + prefix)"
  9. #define VERSION "1.5"
  10. #define AUTHOR "6lmasok,qKKKJ;>, RaZ_HU" ///Szerk:. Jucika
  11.  
  12. #define ACCESS_LEVEL ADMIN_CHAT
  13. #define ADMIN_LISTEN ADMIN_CHAT
  14.  
  15. #define RANK_SILVER 0
  16. #define RANK_SILVER2 1
  17. #define RANK_SILVER3 2
  18. #define RANK_SILVER4 3
  19. #define RANK_SILVERE 4
  20. #define RANK_SILVEREM 5
  21. #define RANK_NOVA 6
  22. #define RANK_NOVA2 7
  23. #define RANK_NOVA3 8
  24. #define RANK_NOVAM 9
  25. #define RANK_AK 10
  26. #define RANK_AK2 11
  27. #define RANK_DAK 12
  28. #define RANK_SHERIFF 13
  29. #define RANK_SAS 14
  30. #define RANK_SASM 15
  31. #define RANK_SUPREME 16
  32. #define RANK_GLOBAL 17
  33. #define RANK_UBER 18
  34.  
  35. #define MAXRANKS 19
  36.  
  37. new message[192]
  38.  
  39. new strName[191]
  40. new strText[191]
  41. new sayText
  42. new teamInfo
  43. new maxPlayers
  44. new PlayerRank[33]
  45. new bool: g_bHud[ 33 ]
  46. new Float:HUD_INTERVAL
  47.  
  48. new static color[10]
  49.  
  50. new const RANKS[MAXRANKS][] =
  51. {
  52.     "Silver I",
  53.     "Silver II",
  54.     "Silver III",
  55.     "Silver IV",
  56.     "Silver Elite",
  57.     "Silver Elite Mester",
  58.     "Arany Nova I",
  59.     "Arany Nova II",
  60.     "Arany Nova III",
  61.     "Arany Nova Mester",
  62.     "AK",
  63.     "Koszorus AK",
  64.     "Dupla AK",
  65.     "Sheriff",
  66.     "Sas",
  67.     "Sas Mester",
  68.     "Supreme",
  69.     "Global Elite",
  70.     "Legenda"
  71. }
  72.  
  73. #define size 18
  74.  
  75. new const szamok[size] =
  76. {
  77.     50,
  78.     100,
  79.     200,
  80.     300,
  81.     450,
  82.     650,
  83.     800,
  84.     1000,
  85.     1200,
  86.     1400,
  87.     1700,
  88.     2000,
  89.     2500,
  90.     3000,
  91.     3600,
  92.     4500,
  93.     5500,
  94.     20000
  95. }
  96.  
  97. public plugin_init()
  98. {
  99.     register_plugin(PLUGIN, VERSION, AUTHOR)
  100.     register_clcmd("say /rang", "hud")
  101.     register_clcmd("say rang", "hud")
  102.     register_clcmd( "say /rangok", "cmdRangs" );
  103.     register_clcmd( "say /hud", "cmdHud" );
  104.     register_clcmd ("say", "hook_say")
  105.     register_clcmd ("say_team", "hook_teamsay")
  106.    
  107.     register_cvar("sv_rankrendszer","1") // A plugin be- illetve kikapcsolása
  108.     register_cvar("sv_rankrendszer_HUD","1") // A HUD-ra való kijelzés be- illetve kikapcsolása
  109.     sethudtime()
  110.    
  111.     sayText = get_user_msgid ("SayText")
  112.     teamInfo = get_user_msgid ("TeamInfo")
  113.     maxPlayers = get_maxplayers()
  114.    
  115.     set_task(160.0, "korUzenet", 0, _, _, "b")
  116.    
  117.     register_message (sayText, "avoid_duplicated")
  118. }
  119.  
  120. public cmdRangs( iPlayerId )
  121. {
  122.     static iLen = 0, sMotd[ 2048 ], iMotdLen = charsmax( sMotd );
  123.    
  124.     iLen = formatex( sMotd, iMotdLen, "<meta charset=utf-8><style>table{color:#FFB000;} td,th{border:1px solid #666;text-align:center;}</style><body bgcolor=#000000><center><table width='400'><tr><th>Rang</th><th>Ölés</th><tr>" );
  125.     iLen += formatex( sMotd[ iLen ], iMotdLen - iLen, "<tr><td>%s</td><td>0</td><tr>", RANKS[ 0 ] );
  126.    
  127.     for ( new i; i < size; ++i )
  128.         iLen += formatex( sMotd[ iLen ], iMotdLen - iLen, "<tr><td>%s</td><td>%d</td><tr>", RANKS[ i + 1 ], szamok[ i ] );
  129.    
  130.     show_motd( iPlayerId, sMotd, "Rangrendszer info" );
  131. }
  132.  
  133. public cmdHud( iPlayerId )
  134. {
  135.     ColorChat( iPlayerId, "^1A hud kijelzõ ^3%skapcsolva^1!", ( g_bHud[ iPlayerId ] ^= true ) ? "be" : "ki" );
  136.    
  137.     if ( !g_bHud[ iPlayerId ] ) remove_task( iPlayerId );
  138.     else { if ( !task_exists( iPlayerId ) ) set_task( HUD_INTERVAL, "setDisplay", iPlayerId ); }
  139. }
  140.  
  141. public sethudtime()
  142. {
  143.     new refreshtime = register_cvar("sv_rankrendszer_HUDtime","0.9") // A HUD-ra való kijelzés frissítési ideje másodpercben
  144.     if (refreshtime == 0.9)
  145.     {
  146.         HUD_INTERVAL = 0.9
  147.     }
  148.     else if (refreshtime != 0.9)
  149.     {
  150.         HUD_INTERVAL = get_pcvar_float(refreshtime)
  151.     }
  152.    
  153.     return PLUGIN_CONTINUE
  154. }
  155.  
  156. public avoid_duplicated (msgId, msgDest, receiver)
  157. {
  158.     return PLUGIN_HANDLED
  159. }
  160.  
  161. public korUzenet()
  162. {
  163.     ColorChat( 0, "^3Írd be ^4/rang ^3vagy ^4rang ^3hogy megnézd hány ölés kell a következő ranghoz.")
  164.     return PLUGIN_HANDLED;
  165. }
  166.  
  167. public hud(id)
  168. {
  169.     new stats[8]
  170.     new bodyhits[8]
  171.     get_user_stats(id, stats, bodyhits)
  172.    
  173.     ColorChat( id, "^4Rangod: ^3%s ^1| ^4Ölések: ^3%d",RANKS[PlayerRank[id]], stats[0])
  174.    
  175.     if(PlayerRank[id] == MAXRANKS-1)
  176.     {
  177.         //client_print(id, print_chat, "^4Rangod: ^3%s ^1| ^4Ölések: ^3%d ^n^4A következő szinthez kell még: ^3%d",RANKS[PlayerRank[id]], stats[0],szamok[PlayerRank[id]]-stats[0])
  178.         ColorChat( id, "^4Már elérted a legnagyobb ^4rangot.")
  179.     }
  180.     else
  181.     {
  182.         //client_print(id, print_chat, "^4Rangod: ^3%s ^1| ^4Ölések: ^3%d ^n^4Már elérted a legnagyobb rangot.",RANKS[PlayerRank[id]], stats[0])
  183.         ColorChat( id, "^4Következő rang: ^3%s ^1| ^4A következő szinthez kell még: ^3%d",RANKS[PlayerRank[id]+1], szamok[PlayerRank[id]]-stats[0])
  184.     }
  185. }
  186.  
  187. public hook_say(id)
  188. {
  189.     read_args (message, 191)
  190.     remove_quotes (message)
  191.    
  192.     if (message[0] == '@' || message[0] == '/' || message[0] == '!' || equal (message, "")) // Ignores Admin Hud Messages, Admin Slash commands,
  193.     return PLUGIN_CONTINUE
  194.    
  195.     new name[32]
  196.     get_user_name (id, name, 31)
  197.    
  198.     new isAlive, alive[32]
  199.    
  200.     if (is_user_alive (id))
  201.     {
  202.         isAlive = 1
  203.         alive = "^1 "
  204.     }
  205.     else
  206.     {
  207.         isAlive = 0
  208.         alive = "^1*HALOTT* "
  209.     }
  210.    
  211.     //static color[10]
  212.    
  213.     if(get_user_flags(id)&ADMIN_CVAR)
  214.     {
  215.         //get_user_team (id, color, 9)
  216.         getTeam(id)
  217.         format (strName, 191, "%s^4[TULAJ][%s] ^3%s:", alive, RANKS[PlayerRank[id]], name)
  218.         format (strText, 191, "^4%s", message)
  219.     }  
  220.    
  221.     else if(get_user_flags(id)&ADMIN_MAP)
  222.     {
  223.         getTeam(id)
  224.         format (strName, 191, "%s^4[ADMIN][%s] ^3%s:", alive, RANKS[PlayerRank[id]], name)
  225.         format (strText, 191, "^4%s", message)
  226.     }    
  227.    
  228.     else if(get_user_flags(id)&ADMIN_MENU)
  229.     {
  230.         getTeam(id)
  231.         format (strName, 191, "%s^4[VIP][%s] ^3%s:", alive, RANKS[PlayerRank[id]], name)
  232.         format (strText, 191, "^4%s", message)
  233.     }
  234.    
  235.     else if(get_user_flags(id)&ADMIN_USER)
  236.     {
  237.         getTeam(id)
  238.         format (strName, 191, "%s^4[%s] ^3%s:",alive, RANKS[PlayerRank[id]], name)
  239.         format (strText, 191, "^1%s", message)
  240.     }
  241.    
  242.     format (message, 191, "%s ^1%s", strName, strText)
  243.     sendMessage (color, isAlive)
  244.    
  245.     return PLUGIN_CONTINUE
  246. }
  247.  
  248. public hook_teamsay(id)
  249. {
  250.     new playerTeam = get_user_team(id)
  251.     new playerTeamName[19]
  252.    
  253.     switch (playerTeam)
  254.     {
  255.         case 1:
  256.             copy (playerTeamName, 11, "Terrorista")
  257.        
  258.         case 2:
  259.             copy (playerTeamName, 18, "Anti-Terrorista")
  260.        
  261.         default:
  262.             copy (playerTeamName, 9, "Néző")
  263.     }
  264.    
  265.     read_args (message, 191)
  266.     remove_quotes (message)
  267.    
  268.     if (message[0] == '@' || message[0] == '/' || message[0] == '!' || equal (message, ""))
  269.     return PLUGIN_CONTINUE
  270.    
  271.     new isAlive, alive[32]
  272.    
  273.     if (is_user_alive (id))
  274.     {
  275.         isAlive = 1
  276.         alive = "^1 "
  277.     }
  278.     else
  279.     {
  280.         isAlive = 0
  281.         alive = "^1*HALOTT* "
  282.     }
  283.    
  284.     new name[32]
  285.     get_user_name (id, name, 31)
  286.    
  287.     //static color[10]
  288.    
  289.     if(get_user_flags(id)&ADMIN_CVAR)
  290.     {
  291.         //get_user_team (id, color, 9)
  292.         getTeam(id)
  293.         format (strName, 191, "%s(%s)^4[TULAJ][%s] ^3%s:",alive , playerTeamName, RANKS[PlayerRank[id]], name)
  294.         format (strText, 191, "^4%s", message)
  295.     }  
  296.    
  297.     else if(get_user_flags(id)&ADMIN_MAP)
  298.     {
  299.         getTeam(id)
  300.         format (strName, 191, "%s(%s)^4[ADMIN][%s] ^3%s:",alive , playerTeamName, RANKS[PlayerRank[id]], name)
  301.         format (strText, 191, "^4%s", message)
  302.     }    
  303.    
  304.     else if(get_user_flags(id)&ADMIN_MENU)
  305.     {
  306.         getTeam(id)
  307.         format (strName, 191, "%s(%s)^4[VIP][%s] ^3%s:",alive , playerTeamName, RANKS[PlayerRank[id]], name)
  308.         format (strText, 191, "^4%s", message)
  309.     }
  310.    
  311.     else if(get_user_flags(id)&ADMIN_USER)
  312.     {
  313.         getTeam(id)
  314.         format (strName, 191, "%s(%s)^4[%s] ^3%s:",alive ,playerTeamName, RANKS[PlayerRank[id]], name)
  315.         format (strText, 191, "^1%s", message)
  316.     }
  317.    
  318.     format (message, 191, "%s ^1%s", strName, strText)
  319.     sendTeamMessage (color,isAlive, playerTeam)
  320.    
  321.     return PLUGIN_CONTINUE
  322. }
  323.  
  324. public sendMessage (color[], alive)
  325. {
  326.     new teamName[10]
  327.    
  328.     for (new player = 1; player < maxPlayers; player++)
  329.     {
  330.         if (!is_user_connected(player))
  331.             continue
  332.         if((alive && is_user_alive(player)) || (!alive && !is_user_alive(player)) || (get_user_flags(player) && ADMIN_LISTEN))
  333.         {
  334.             get_user_team (player, teamName, 9)
  335.             changeTeamInfo (player, color)
  336.             writeMessage (player, message)
  337.             changeTeamInfo (player, teamName)
  338.         }
  339.     }
  340. }
  341.  
  342. public sendTeamMessage (color[], alive, playerTeam)
  343. {
  344.     new teamName[10]
  345.    
  346.     for (new player = 1; player < maxPlayers; player++)
  347.     {
  348.         if (!is_user_connected(player))
  349.             continue
  350.        
  351.         if (get_user_team(player) == playerTeam || get_user_flags(player) & ADMIN_LISTEN)
  352.         {
  353.             if (alive && is_user_alive(player) || !alive && !is_user_alive(player) || get_user_flags(player) & ADMIN_LISTEN)
  354.             {
  355.                 get_user_team (player, teamName, 9)
  356.                 changeTeamInfo (player, color)
  357.                 writeMessage (player, message)
  358.                 changeTeamInfo (player, teamName)
  359.             }
  360.         }
  361.     }
  362. }
  363.  
  364. public changeTeamInfo (player, team[])
  365. {
  366.     message_begin (MSG_ONE, teamInfo, _, player)  
  367.     write_byte (player)
  368.     write_string (team)
  369.     message_end()  
  370. }
  371.  
  372. public writeMessage (player, message[])
  373. {
  374.     message_begin (MSG_ONE, sayText, {0, 0, 0}, player)
  375.     write_byte (player)
  376.     write_string (message)
  377.     message_end ()
  378. }
  379.  
  380. stock bool:is_user_steam(id)
  381. {
  382.     static dp_pointer;
  383.    
  384.     if (dp_pointer || (dp_pointer = get_cvar_pointer("dp_r_id_provider")))
  385.     {
  386.         server_cmd("dp_clientinfo %d", id);
  387.         server_exec();
  388.         return (get_pcvar_num(dp_pointer) == 2) ? true : false;
  389.     }
  390.  
  391.     return false;
  392. }
  393.  
  394. public client_putinserver(id)
  395. {
  396.     if(get_cvar_num("sv_rankrendszer")==0)
  397.     {
  398.         return PLUGIN_HANDLED
  399.     }
  400.     else if (get_cvar_num("sv_rankrendszer")==1 && get_cvar_num("sv_rankrendszer_HUD")==1)
  401.     {
  402.         g_bHud[ id ] = true;
  403.         set_task(HUD_INTERVAL, "setDisplay", id)
  404.     }
  405.     else
  406.     {
  407.         set_task(0.5, "remTask", id)
  408.     }
  409.    
  410.     return PLUGIN_CONTINUE
  411. }
  412.  
  413. public remTask(id)
  414. {
  415.     remove_task(id, 0)
  416. }
  417.  
  418. public getTeam(id)
  419. {
  420.     get_user_team (id, color, 9)
  421. }
  422.  
  423. public setDisplay(id)
  424. {
  425.     if(!is_user_connected(id))
  426.         return PLUGIN_CONTINUE
  427.    
  428.     new stats[8]
  429.     new bodyhits[8]
  430.     get_user_stats(id, stats, bodyhits)
  431.    
  432.     if(stats[0] < 50)
  433.     {
  434.         PlayerRank[id] = RANK_SILVER
  435.     }
  436.     else if(stats[0] >= 50 && stats[0] < 100)
  437.     {
  438.         PlayerRank[id] = RANK_SILVER2
  439.     }
  440.     else if(stats[0] >= 100 && stats[0] < 200)
  441.     {
  442.         PlayerRank[id] = RANK_SILVER3
  443.     }
  444.     else if(stats[0] >= 200 && stats[0] < 300)
  445.     {
  446.         PlayerRank[id] = RANK_SILVER4
  447.     }
  448.     else if(stats[0] >= 300 && stats[0] < 450)
  449.     {
  450.         PlayerRank[id] = RANK_SILVERE
  451.     }
  452.     else if(stats[0] >= 450 && stats[0] < 650)
  453.     {
  454.         PlayerRank[id] = RANK_SILVEREM
  455.     }
  456.     else if(stats[0] >= 650 && stats[0] < 800)
  457.     {
  458.         PlayerRank[id] = RANK_NOVA
  459.     }
  460.     else if(stats[0] >= 800 && stats[0] < 1000)
  461.     {
  462.         PlayerRank[id] = RANK_NOVA2
  463.     }
  464.     else if(stats[0] >= 1000 && stats[0] < 1200)
  465.     {
  466.         PlayerRank[id] = RANK_NOVA3
  467.     }
  468.     else if(stats[0] >= 1200 && stats[0] < 1400)
  469.     {
  470.         PlayerRank[id] = RANK_NOVAM
  471.     }
  472.     else if(stats[0] >= 1400 && stats[0] < 1700)
  473.     {
  474.         PlayerRank[id] = RANK_AK
  475.     }
  476.     else if(stats[0] >= 1700 && stats[0] < 2000)
  477.     {
  478.         PlayerRank[id] = RANK_AK2
  479.     }
  480.     else if(stats[0] >= 2000 && stats[0] < 2500)
  481.     {
  482.         PlayerRank[id] = RANK_DAK
  483.     }
  484.     else if(stats[0] >= 2500 && stats[0] < 3000)
  485.     {
  486.         PlayerRank[id] = RANK_SHERIFF
  487.     }
  488.     else if(stats[0] >= 3000 && stats[0] < 3600)
  489.     {
  490.         PlayerRank[id] = RANK_SAS
  491.     }
  492.     else if(stats[0] >= 3600 && stats[0] < 4500)
  493.     {
  494.         PlayerRank[id] = RANK_SASM
  495.     }
  496.     else if(stats[0] >= 4500 && stats[0] < 5500)
  497.     {
  498.         PlayerRank[id] = RANK_SUPREME
  499.     }
  500.     else if(stats[0] >= 5500 && stats[0] < 20000)
  501.     {
  502.         PlayerRank[id] = RANK_GLOBAL
  503.     }
  504.     else if(stats[0] >= 20000)
  505.     {
  506.         PlayerRank[id] = RANK_UBER
  507.     }
  508.    
  509.     set_hudmessage(142, 239, 39, 0.01, 0.20, 0, 6.0, 1.0, 0.0, 0.0, -1)
  510.     show_hudmessage(id, "^nÖléseid: %i^nRang: %s^nParancsok: /rang, /rangok", stats[0], RANKS[PlayerRank[id]])
  511.     //show_hudmessage(id, "%s ^nÖlések: %i ^nRang: %s", name, stats[0], RANKS[PlayerRank[id]])
  512.    
  513.     set_task(HUD_INTERVAL, "setDisplay", id)
  514.    
  515.     return PLUGIN_CONTINUE
  516. }
  517.  
  518. stock ColorChat(const id, const input[], any:...)
  519. {
  520.     new count = 1, players[32];
  521.     static msg[191];
  522.     vformat(msg, 190, input, 3);
  523.    
  524.     replace_all(msg, 190, "!g", "^4"); // Green Color
  525.     replace_all(msg, 190, "!y", "^1"); // Default Color
  526.     replace_all(msg, 190, "!t", "^3"); // Team Color
  527.    
  528.     if (id) players[0] = id; else get_players(players, count, "ch");
  529.     {
  530.         for (new i = 0; i < count; i++)
  531.         {
  532.             if (is_user_connected(players[i]))
  533.             {
  534.                 message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i]);
  535.                 write_byte(players[i]);
  536.                 write_string(msg);
  537.                 message_end();
  538.             }
  539.         }
  540.     }
  541. }


Köszi a plugint. Admin prefix bele van írva alapból?

Szerző:  Jucika [ 2017.12.08. 09:41 ]
Hozzászólás témája:  Re: Rangrendszer ami nem HUD-os.

duvilax írta:
Jucika írta:
Sziasztok, megszeretném osztani ezt a plugint. A plugint nem én írtam csak Javítottam/Javítgattam


Érdekesség
/rangok az összes rangot listázza ki öléssel együtt
/rang megtudod tekinteni az ölésed, halálod, aktivitásod
/hud ki/be kapcsolja a HUD üzeneteket

Plugin.
  1. #include <amxmodx>
  2. #include <amxmisc>
  3. #include <cstrike>
  4. #include <csstats>
  5.  
  6. #pragma tabsize 0
  7.  
  8. #define PLUGIN "Rankrendszer (HUD + prefix)"
  9. #define VERSION "1.5"
  10. #define AUTHOR "6lmasok,qKKKJ;>, RaZ_HU" ///Szerk:. Jucika
  11.  
  12. #define ACCESS_LEVEL ADMIN_CHAT
  13. #define ADMIN_LISTEN ADMIN_CHAT
  14.  
  15. #define RANK_SILVER 0
  16. #define RANK_SILVER2 1
  17. #define RANK_SILVER3 2
  18. #define RANK_SILVER4 3
  19. #define RANK_SILVERE 4
  20. #define RANK_SILVEREM 5
  21. #define RANK_NOVA 6
  22. #define RANK_NOVA2 7
  23. #define RANK_NOVA3 8
  24. #define RANK_NOVAM 9
  25. #define RANK_AK 10
  26. #define RANK_AK2 11
  27. #define RANK_DAK 12
  28. #define RANK_SHERIFF 13
  29. #define RANK_SAS 14
  30. #define RANK_SASM 15
  31. #define RANK_SUPREME 16
  32. #define RANK_GLOBAL 17
  33. #define RANK_UBER 18
  34.  
  35. #define MAXRANKS 19
  36.  
  37. new message[192]
  38.  
  39. new strName[191]
  40. new strText[191]
  41. new sayText
  42. new teamInfo
  43. new maxPlayers
  44. new PlayerRank[33]
  45. new bool: g_bHud[ 33 ]
  46. new Float:HUD_INTERVAL
  47.  
  48. new static color[10]
  49.  
  50. new const RANKS[MAXRANKS][] =
  51. {
  52.     "Silver I",
  53.     "Silver II",
  54.     "Silver III",
  55.     "Silver IV",
  56.     "Silver Elite",
  57.     "Silver Elite Mester",
  58.     "Arany Nova I",
  59.     "Arany Nova II",
  60.     "Arany Nova III",
  61.     "Arany Nova Mester",
  62.     "AK",
  63.     "Koszorus AK",
  64.     "Dupla AK",
  65.     "Sheriff",
  66.     "Sas",
  67.     "Sas Mester",
  68.     "Supreme",
  69.     "Global Elite",
  70.     "Legenda"
  71. }
  72.  
  73. #define size 18
  74.  
  75. new const szamok[size] =
  76. {
  77.     50,
  78.     100,
  79.     200,
  80.     300,
  81.     450,
  82.     650,
  83.     800,
  84.     1000,
  85.     1200,
  86.     1400,
  87.     1700,
  88.     2000,
  89.     2500,
  90.     3000,
  91.     3600,
  92.     4500,
  93.     5500,
  94.     20000
  95. }
  96.  
  97. public plugin_init()
  98. {
  99.     register_plugin(PLUGIN, VERSION, AUTHOR)
  100.     register_clcmd("say /rang", "hud")
  101.     register_clcmd("say rang", "hud")
  102.     register_clcmd( "say /rangok", "cmdRangs" );
  103.     register_clcmd( "say /hud", "cmdHud" );
  104.     register_clcmd ("say", "hook_say")
  105.     register_clcmd ("say_team", "hook_teamsay")
  106.    
  107.     register_cvar("sv_rankrendszer","1") // A plugin be- illetve kikapcsolása
  108.     register_cvar("sv_rankrendszer_HUD","1") // A HUD-ra való kijelzés be- illetve kikapcsolása
  109.     sethudtime()
  110.    
  111.     sayText = get_user_msgid ("SayText")
  112.     teamInfo = get_user_msgid ("TeamInfo")
  113.     maxPlayers = get_maxplayers()
  114.    
  115.     set_task(160.0, "korUzenet", 0, _, _, "b")
  116.    
  117.     register_message (sayText, "avoid_duplicated")
  118. }
  119.  
  120. public cmdRangs( iPlayerId )
  121. {
  122.     static iLen = 0, sMotd[ 2048 ], iMotdLen = charsmax( sMotd );
  123.    
  124.     iLen = formatex( sMotd, iMotdLen, "<meta charset=utf-8><style>table{color:#FFB000;} td,th{border:1px solid #666;text-align:center;}</style><body bgcolor=#000000><center><table width='400'><tr><th>Rang</th><th>Ölés</th><tr>" );
  125.     iLen += formatex( sMotd[ iLen ], iMotdLen - iLen, "<tr><td>%s</td><td>0</td><tr>", RANKS[ 0 ] );
  126.    
  127.     for ( new i; i < size; ++i )
  128.         iLen += formatex( sMotd[ iLen ], iMotdLen - iLen, "<tr><td>%s</td><td>%d</td><tr>", RANKS[ i + 1 ], szamok[ i ] );
  129.    
  130.     show_motd( iPlayerId, sMotd, "Rangrendszer info" );
  131. }
  132.  
  133. public cmdHud( iPlayerId )
  134. {
  135.     ColorChat( iPlayerId, "^1A hud kijelzõ ^3%skapcsolva^1!", ( g_bHud[ iPlayerId ] ^= true ) ? "be" : "ki" );
  136.    
  137.     if ( !g_bHud[ iPlayerId ] ) remove_task( iPlayerId );
  138.     else { if ( !task_exists( iPlayerId ) ) set_task( HUD_INTERVAL, "setDisplay", iPlayerId ); }
  139. }
  140.  
  141. public sethudtime()
  142. {
  143.     new refreshtime = register_cvar("sv_rankrendszer_HUDtime","0.9") // A HUD-ra való kijelzés frissítési ideje másodpercben
  144.     if (refreshtime == 0.9)
  145.     {
  146.         HUD_INTERVAL = 0.9
  147.     }
  148.     else if (refreshtime != 0.9)
  149.     {
  150.         HUD_INTERVAL = get_pcvar_float(refreshtime)
  151.     }
  152.    
  153.     return PLUGIN_CONTINUE
  154. }
  155.  
  156. public avoid_duplicated (msgId, msgDest, receiver)
  157. {
  158.     return PLUGIN_HANDLED
  159. }
  160.  
  161. public korUzenet()
  162. {
  163.     ColorChat( 0, "^3Írd be ^4/rang ^3vagy ^4rang ^3hogy megnézd hány ölés kell a következő ranghoz.")
  164.     return PLUGIN_HANDLED;
  165. }
  166.  
  167. public hud(id)
  168. {
  169.     new stats[8]
  170.     new bodyhits[8]
  171.     get_user_stats(id, stats, bodyhits)
  172.    
  173.     ColorChat( id, "^4Rangod: ^3%s ^1| ^4Ölések: ^3%d",RANKS[PlayerRank[id]], stats[0])
  174.    
  175.     if(PlayerRank[id] == MAXRANKS-1)
  176.     {
  177.         //client_print(id, print_chat, "^4Rangod: ^3%s ^1| ^4Ölések: ^3%d ^n^4A következő szinthez kell még: ^3%d",RANKS[PlayerRank[id]], stats[0],szamok[PlayerRank[id]]-stats[0])
  178.         ColorChat( id, "^4Már elérted a legnagyobb ^4rangot.")
  179.     }
  180.     else
  181.     {
  182.         //client_print(id, print_chat, "^4Rangod: ^3%s ^1| ^4Ölések: ^3%d ^n^4Már elérted a legnagyobb rangot.",RANKS[PlayerRank[id]], stats[0])
  183.         ColorChat( id, "^4Következő rang: ^3%s ^1| ^4A következő szinthez kell még: ^3%d",RANKS[PlayerRank[id]+1], szamok[PlayerRank[id]]-stats[0])
  184.     }
  185. }
  186.  
  187. public hook_say(id)
  188. {
  189.     read_args (message, 191)
  190.     remove_quotes (message)
  191.    
  192.     if (message[0] == '@' || message[0] == '/' || message[0] == '!' || equal (message, "")) // Ignores Admin Hud Messages, Admin Slash commands,
  193.     return PLUGIN_CONTINUE
  194.    
  195.     new name[32]
  196.     get_user_name (id, name, 31)
  197.    
  198.     new isAlive, alive[32]
  199.    
  200.     if (is_user_alive (id))
  201.     {
  202.         isAlive = 1
  203.         alive = "^1 "
  204.     }
  205.     else
  206.     {
  207.         isAlive = 0
  208.         alive = "^1*HALOTT* "
  209.     }
  210.    
  211.     //static color[10]
  212.    
  213.     if(get_user_flags(id)&ADMIN_CVAR)
  214.     {
  215.         //get_user_team (id, color, 9)
  216.         getTeam(id)
  217.         format (strName, 191, "%s^4[TULAJ][%s] ^3%s:", alive, RANKS[PlayerRank[id]], name)
  218.         format (strText, 191, "^4%s", message)
  219.     }  
  220.    
  221.     else if(get_user_flags(id)&ADMIN_MAP)
  222.     {
  223.         getTeam(id)
  224.         format (strName, 191, "%s^4[ADMIN][%s] ^3%s:", alive, RANKS[PlayerRank[id]], name)
  225.         format (strText, 191, "^4%s", message)
  226.     }    
  227.    
  228.     else if(get_user_flags(id)&ADMIN_MENU)
  229.     {
  230.         getTeam(id)
  231.         format (strName, 191, "%s^4[VIP][%s] ^3%s:", alive, RANKS[PlayerRank[id]], name)
  232.         format (strText, 191, "^4%s", message)
  233.     }
  234.    
  235.     else if(get_user_flags(id)&ADMIN_USER)
  236.     {
  237.         getTeam(id)
  238.         format (strName, 191, "%s^4[%s] ^3%s:",alive, RANKS[PlayerRank[id]], name)
  239.         format (strText, 191, "^1%s", message)
  240.     }
  241.    
  242.     format (message, 191, "%s ^1%s", strName, strText)
  243.     sendMessage (color, isAlive)
  244.    
  245.     return PLUGIN_CONTINUE
  246. }
  247.  
  248. public hook_teamsay(id)
  249. {
  250.     new playerTeam = get_user_team(id)
  251.     new playerTeamName[19]
  252.    
  253.     switch (playerTeam)
  254.     {
  255.         case 1:
  256.             copy (playerTeamName, 11, "Terrorista")
  257.        
  258.         case 2:
  259.             copy (playerTeamName, 18, "Anti-Terrorista")
  260.        
  261.         default:
  262.             copy (playerTeamName, 9, "Néző")
  263.     }
  264.    
  265.     read_args (message, 191)
  266.     remove_quotes (message)
  267.    
  268.     if (message[0] == '@' || message[0] == '/' || message[0] == '!' || equal (message, ""))
  269.     return PLUGIN_CONTINUE
  270.    
  271.     new isAlive, alive[32]
  272.    
  273.     if (is_user_alive (id))
  274.     {
  275.         isAlive = 1
  276.         alive = "^1 "
  277.     }
  278.     else
  279.     {
  280.         isAlive = 0
  281.         alive = "^1*HALOTT* "
  282.     }
  283.    
  284.     new name[32]
  285.     get_user_name (id, name, 31)
  286.    
  287.     //static color[10]
  288.    
  289.     if(get_user_flags(id)&ADMIN_CVAR)
  290.     {
  291.         //get_user_team (id, color, 9)
  292.         getTeam(id)
  293.         format (strName, 191, "%s(%s)^4[TULAJ][%s] ^3%s:",alive , playerTeamName, RANKS[PlayerRank[id]], name)
  294.         format (strText, 191, "^4%s", message)
  295.     }  
  296.    
  297.     else if(get_user_flags(id)&ADMIN_MAP)
  298.     {
  299.         getTeam(id)
  300.         format (strName, 191, "%s(%s)^4[ADMIN][%s] ^3%s:",alive , playerTeamName, RANKS[PlayerRank[id]], name)
  301.         format (strText, 191, "^4%s", message)
  302.     }    
  303.    
  304.     else if(get_user_flags(id)&ADMIN_MENU)
  305.     {
  306.         getTeam(id)
  307.         format (strName, 191, "%s(%s)^4[VIP][%s] ^3%s:",alive , playerTeamName, RANKS[PlayerRank[id]], name)
  308.         format (strText, 191, "^4%s", message)
  309.     }
  310.    
  311.     else if(get_user_flags(id)&ADMIN_USER)
  312.     {
  313.         getTeam(id)
  314.         format (strName, 191, "%s(%s)^4[%s] ^3%s:",alive ,playerTeamName, RANKS[PlayerRank[id]], name)
  315.         format (strText, 191, "^1%s", message)
  316.     }
  317.    
  318.     format (message, 191, "%s ^1%s", strName, strText)
  319.     sendTeamMessage (color,isAlive, playerTeam)
  320.    
  321.     return PLUGIN_CONTINUE
  322. }
  323.  
  324. public sendMessage (color[], alive)
  325. {
  326.     new teamName[10]
  327.    
  328.     for (new player = 1; player < maxPlayers; player++)
  329.     {
  330.         if (!is_user_connected(player))
  331.             continue
  332.         if((alive && is_user_alive(player)) || (!alive && !is_user_alive(player)) || (get_user_flags(player) && ADMIN_LISTEN))
  333.         {
  334.             get_user_team (player, teamName, 9)
  335.             changeTeamInfo (player, color)
  336.             writeMessage (player, message)
  337.             changeTeamInfo (player, teamName)
  338.         }
  339.     }
  340. }
  341.  
  342. public sendTeamMessage (color[], alive, playerTeam)
  343. {
  344.     new teamName[10]
  345.    
  346.     for (new player = 1; player < maxPlayers; player++)
  347.     {
  348.         if (!is_user_connected(player))
  349.             continue
  350.        
  351.         if (get_user_team(player) == playerTeam || get_user_flags(player) & ADMIN_LISTEN)
  352.         {
  353.             if (alive && is_user_alive(player) || !alive && !is_user_alive(player) || get_user_flags(player) & ADMIN_LISTEN)
  354.             {
  355.                 get_user_team (player, teamName, 9)
  356.                 changeTeamInfo (player, color)
  357.                 writeMessage (player, message)
  358.                 changeTeamInfo (player, teamName)
  359.             }
  360.         }
  361.     }
  362. }
  363.  
  364. public changeTeamInfo (player, team[])
  365. {
  366.     message_begin (MSG_ONE, teamInfo, _, player)  
  367.     write_byte (player)
  368.     write_string (team)
  369.     message_end()  
  370. }
  371.  
  372. public writeMessage (player, message[])
  373. {
  374.     message_begin (MSG_ONE, sayText, {0, 0, 0}, player)
  375.     write_byte (player)
  376.     write_string (message)
  377.     message_end ()
  378. }
  379.  
  380. stock bool:is_user_steam(id)
  381. {
  382.     static dp_pointer;
  383.    
  384.     if (dp_pointer || (dp_pointer = get_cvar_pointer("dp_r_id_provider")))
  385.     {
  386.         server_cmd("dp_clientinfo %d", id);
  387.         server_exec();
  388.         return (get_pcvar_num(dp_pointer) == 2) ? true : false;
  389.     }
  390.  
  391.     return false;
  392. }
  393.  
  394. public client_putinserver(id)
  395. {
  396.     if(get_cvar_num("sv_rankrendszer")==0)
  397.     {
  398.         return PLUGIN_HANDLED
  399.     }
  400.     else if (get_cvar_num("sv_rankrendszer")==1 && get_cvar_num("sv_rankrendszer_HUD")==1)
  401.     {
  402.         g_bHud[ id ] = true;
  403.         set_task(HUD_INTERVAL, "setDisplay", id)
  404.     }
  405.     else
  406.     {
  407.         set_task(0.5, "remTask", id)
  408.     }
  409.    
  410.     return PLUGIN_CONTINUE
  411. }
  412.  
  413. public remTask(id)
  414. {
  415.     remove_task(id, 0)
  416. }
  417.  
  418. public getTeam(id)
  419. {
  420.     get_user_team (id, color, 9)
  421. }
  422.  
  423. public setDisplay(id)
  424. {
  425.     if(!is_user_connected(id))
  426.         return PLUGIN_CONTINUE
  427.    
  428.     new stats[8]
  429.     new bodyhits[8]
  430.     get_user_stats(id, stats, bodyhits)
  431.    
  432.     if(stats[0] < 50)
  433.     {
  434.         PlayerRank[id] = RANK_SILVER
  435.     }
  436.     else if(stats[0] >= 50 && stats[0] < 100)
  437.     {
  438.         PlayerRank[id] = RANK_SILVER2
  439.     }
  440.     else if(stats[0] >= 100 && stats[0] < 200)
  441.     {
  442.         PlayerRank[id] = RANK_SILVER3
  443.     }
  444.     else if(stats[0] >= 200 && stats[0] < 300)
  445.     {
  446.         PlayerRank[id] = RANK_SILVER4
  447.     }
  448.     else if(stats[0] >= 300 && stats[0] < 450)
  449.     {
  450.         PlayerRank[id] = RANK_SILVERE
  451.     }
  452.     else if(stats[0] >= 450 && stats[0] < 650)
  453.     {
  454.         PlayerRank[id] = RANK_SILVEREM
  455.     }
  456.     else if(stats[0] >= 650 && stats[0] < 800)
  457.     {
  458.         PlayerRank[id] = RANK_NOVA
  459.     }
  460.     else if(stats[0] >= 800 && stats[0] < 1000)
  461.     {
  462.         PlayerRank[id] = RANK_NOVA2
  463.     }
  464.     else if(stats[0] >= 1000 && stats[0] < 1200)
  465.     {
  466.         PlayerRank[id] = RANK_NOVA3
  467.     }
  468.     else if(stats[0] >= 1200 && stats[0] < 1400)
  469.     {
  470.         PlayerRank[id] = RANK_NOVAM
  471.     }
  472.     else if(stats[0] >= 1400 && stats[0] < 1700)
  473.     {
  474.         PlayerRank[id] = RANK_AK
  475.     }
  476.     else if(stats[0] >= 1700 && stats[0] < 2000)
  477.     {
  478.         PlayerRank[id] = RANK_AK2
  479.     }
  480.     else if(stats[0] >= 2000 && stats[0] < 2500)
  481.     {
  482.         PlayerRank[id] = RANK_DAK
  483.     }
  484.     else if(stats[0] >= 2500 && stats[0] < 3000)
  485.     {
  486.         PlayerRank[id] = RANK_SHERIFF
  487.     }
  488.     else if(stats[0] >= 3000 && stats[0] < 3600)
  489.     {
  490.         PlayerRank[id] = RANK_SAS
  491.     }
  492.     else if(stats[0] >= 3600 && stats[0] < 4500)
  493.     {
  494.         PlayerRank[id] = RANK_SASM
  495.     }
  496.     else if(stats[0] >= 4500 && stats[0] < 5500)
  497.     {
  498.         PlayerRank[id] = RANK_SUPREME
  499.     }
  500.     else if(stats[0] >= 5500 && stats[0] < 20000)
  501.     {
  502.         PlayerRank[id] = RANK_GLOBAL
  503.     }
  504.     else if(stats[0] >= 20000)
  505.     {
  506.         PlayerRank[id] = RANK_UBER
  507.     }
  508.    
  509.     set_hudmessage(142, 239, 39, 0.01, 0.20, 0, 6.0, 1.0, 0.0, 0.0, -1)
  510.     show_hudmessage(id, "^nÖléseid: %i^nRang: %s^nParancsok: /rang, /rangok", stats[0], RANKS[PlayerRank[id]])
  511.     //show_hudmessage(id, "%s ^nÖlések: %i ^nRang: %s", name, stats[0], RANKS[PlayerRank[id]])
  512.    
  513.     set_task(HUD_INTERVAL, "setDisplay", id)
  514.    
  515.     return PLUGIN_CONTINUE
  516. }
  517.  
  518. stock ColorChat(const id, const input[], any:...)
  519. {
  520.     new count = 1, players[32];
  521.     static msg[191];
  522.     vformat(msg, 190, input, 3);
  523.    
  524.     replace_all(msg, 190, "!g", "^4"); // Green Color
  525.     replace_all(msg, 190, "!y", "^1"); // Default Color
  526.     replace_all(msg, 190, "!t", "^3"); // Team Color
  527.    
  528.     if (id) players[0] = id; else get_players(players, count, "ch");
  529.     {
  530.         for (new i = 0; i < count; i++)
  531.         {
  532.             if (is_user_connected(players[i]))
  533.             {
  534.                 message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i]);
  535.                 write_byte(players[i]);
  536.                 write_string(msg);
  537.                 message_end();
  538.             }
  539.         }
  540.     }
  541. }


Köszi a plugint. Admin prefix bele van írva alapból?

Szia, igen bele.

Szerző:  duvilax [ 2017.12.08. 11:18 ]
Hozzászólás témája:  Re: Rangrendszer ami nem HUD-os.

Jucika írta:
duvilax írta:
Jucika írta:
Sziasztok, megszeretném osztani ezt a plugint. A plugint nem én írtam csak Javítottam/Javítgattam


Érdekesség
/rangok az összes rangot listázza ki öléssel együtt
/rang megtudod tekinteni az ölésed, halálod, aktivitásod
/hud ki/be kapcsolja a HUD üzeneteket

Plugin.
  1. #include <amxmodx>
  2. #include <amxmisc>
  3. #include <cstrike>
  4. #include <csstats>
  5.  
  6. #pragma tabsize 0
  7.  
  8. #define PLUGIN "Rankrendszer (HUD + prefix)"
  9. #define VERSION "1.5"
  10. #define AUTHOR "6lmasok,qKKKJ;>, RaZ_HU" ///Szerk:. Jucika
  11.  
  12. #define ACCESS_LEVEL ADMIN_CHAT
  13. #define ADMIN_LISTEN ADMIN_CHAT
  14.  
  15. #define RANK_SILVER 0
  16. #define RANK_SILVER2 1
  17. #define RANK_SILVER3 2
  18. #define RANK_SILVER4 3
  19. #define RANK_SILVERE 4
  20. #define RANK_SILVEREM 5
  21. #define RANK_NOVA 6
  22. #define RANK_NOVA2 7
  23. #define RANK_NOVA3 8
  24. #define RANK_NOVAM 9
  25. #define RANK_AK 10
  26. #define RANK_AK2 11
  27. #define RANK_DAK 12
  28. #define RANK_SHERIFF 13
  29. #define RANK_SAS 14
  30. #define RANK_SASM 15
  31. #define RANK_SUPREME 16
  32. #define RANK_GLOBAL 17
  33. #define RANK_UBER 18
  34.  
  35. #define MAXRANKS 19
  36.  
  37. new message[192]
  38.  
  39. new strName[191]
  40. new strText[191]
  41. new sayText
  42. new teamInfo
  43. new maxPlayers
  44. new PlayerRank[33]
  45. new bool: g_bHud[ 33 ]
  46. new Float:HUD_INTERVAL
  47.  
  48. new static color[10]
  49.  
  50. new const RANKS[MAXRANKS][] =
  51. {
  52.     "Silver I",
  53.     "Silver II",
  54.     "Silver III",
  55.     "Silver IV",
  56.     "Silver Elite",
  57.     "Silver Elite Mester",
  58.     "Arany Nova I",
  59.     "Arany Nova II",
  60.     "Arany Nova III",
  61.     "Arany Nova Mester",
  62.     "AK",
  63.     "Koszorus AK",
  64.     "Dupla AK",
  65.     "Sheriff",
  66.     "Sas",
  67.     "Sas Mester",
  68.     "Supreme",
  69.     "Global Elite",
  70.     "Legenda"
  71. }
  72.  
  73. #define size 18
  74.  
  75. new const szamok[size] =
  76. {
  77.     50,
  78.     100,
  79.     200,
  80.     300,
  81.     450,
  82.     650,
  83.     800,
  84.     1000,
  85.     1200,
  86.     1400,
  87.     1700,
  88.     2000,
  89.     2500,
  90.     3000,
  91.     3600,
  92.     4500,
  93.     5500,
  94.     20000
  95. }
  96.  
  97. public plugin_init()
  98. {
  99.     register_plugin(PLUGIN, VERSION, AUTHOR)
  100.     register_clcmd("say /rang", "hud")
  101.     register_clcmd("say rang", "hud")
  102.     register_clcmd( "say /rangok", "cmdRangs" );
  103.     register_clcmd( "say /hud", "cmdHud" );
  104.     register_clcmd ("say", "hook_say")
  105.     register_clcmd ("say_team", "hook_teamsay")
  106.    
  107.     register_cvar("sv_rankrendszer","1") // A plugin be- illetve kikapcsolása
  108.     register_cvar("sv_rankrendszer_HUD","1") // A HUD-ra való kijelzés be- illetve kikapcsolása
  109.     sethudtime()
  110.    
  111.     sayText = get_user_msgid ("SayText")
  112.     teamInfo = get_user_msgid ("TeamInfo")
  113.     maxPlayers = get_maxplayers()
  114.    
  115.     set_task(160.0, "korUzenet", 0, _, _, "b")
  116.    
  117.     register_message (sayText, "avoid_duplicated")
  118. }
  119.  
  120. public cmdRangs( iPlayerId )
  121. {
  122.     static iLen = 0, sMotd[ 2048 ], iMotdLen = charsmax( sMotd );
  123.    
  124.     iLen = formatex( sMotd, iMotdLen, "<meta charset=utf-8><style>table{color:#FFB000;} td,th{border:1px solid #666;text-align:center;}</style><body bgcolor=#000000><center><table width='400'><tr><th>Rang</th><th>Ölés</th><tr>" );
  125.     iLen += formatex( sMotd[ iLen ], iMotdLen - iLen, "<tr><td>%s</td><td>0</td><tr>", RANKS[ 0 ] );
  126.    
  127.     for ( new i; i < size; ++i )
  128.         iLen += formatex( sMotd[ iLen ], iMotdLen - iLen, "<tr><td>%s</td><td>%d</td><tr>", RANKS[ i + 1 ], szamok[ i ] );
  129.    
  130.     show_motd( iPlayerId, sMotd, "Rangrendszer info" );
  131. }
  132.  
  133. public cmdHud( iPlayerId )
  134. {
  135.     ColorChat( iPlayerId, "^1A hud kijelzõ ^3%skapcsolva^1!", ( g_bHud[ iPlayerId ] ^= true ) ? "be" : "ki" );
  136.    
  137.     if ( !g_bHud[ iPlayerId ] ) remove_task( iPlayerId );
  138.     else { if ( !task_exists( iPlayerId ) ) set_task( HUD_INTERVAL, "setDisplay", iPlayerId ); }
  139. }
  140.  
  141. public sethudtime()
  142. {
  143.     new refreshtime = register_cvar("sv_rankrendszer_HUDtime","0.9") // A HUD-ra való kijelzés frissítési ideje másodpercben
  144.     if (refreshtime == 0.9)
  145.     {
  146.         HUD_INTERVAL = 0.9
  147.     }
  148.     else if (refreshtime != 0.9)
  149.     {
  150.         HUD_INTERVAL = get_pcvar_float(refreshtime)
  151.     }
  152.    
  153.     return PLUGIN_CONTINUE
  154. }
  155.  
  156. public avoid_duplicated (msgId, msgDest, receiver)
  157. {
  158.     return PLUGIN_HANDLED
  159. }
  160.  
  161. public korUzenet()
  162. {
  163.     ColorChat( 0, "^3Írd be ^4/rang ^3vagy ^4rang ^3hogy megnézd hány ölés kell a következő ranghoz.")
  164.     return PLUGIN_HANDLED;
  165. }
  166.  
  167. public hud(id)
  168. {
  169.     new stats[8]
  170.     new bodyhits[8]
  171.     get_user_stats(id, stats, bodyhits)
  172.    
  173.     ColorChat( id, "^4Rangod: ^3%s ^1| ^4Ölések: ^3%d",RANKS[PlayerRank[id]], stats[0])
  174.    
  175.     if(PlayerRank[id] == MAXRANKS-1)
  176.     {
  177.         //client_print(id, print_chat, "^4Rangod: ^3%s ^1| ^4Ölések: ^3%d ^n^4A következő szinthez kell még: ^3%d",RANKS[PlayerRank[id]], stats[0],szamok[PlayerRank[id]]-stats[0])
  178.         ColorChat( id, "^4Már elérted a legnagyobb ^4rangot.")
  179.     }
  180.     else
  181.     {
  182.         //client_print(id, print_chat, "^4Rangod: ^3%s ^1| ^4Ölések: ^3%d ^n^4Már elérted a legnagyobb rangot.",RANKS[PlayerRank[id]], stats[0])
  183.         ColorChat( id, "^4Következő rang: ^3%s ^1| ^4A következő szinthez kell még: ^3%d",RANKS[PlayerRank[id]+1], szamok[PlayerRank[id]]-stats[0])
  184.     }
  185. }
  186.  
  187. public hook_say(id)
  188. {
  189.     read_args (message, 191)
  190.     remove_quotes (message)
  191.    
  192.     if (message[0] == '@' || message[0] == '/' || message[0] == '!' || equal (message, "")) // Ignores Admin Hud Messages, Admin Slash commands,
  193.     return PLUGIN_CONTINUE
  194.    
  195.     new name[32]
  196.     get_user_name (id, name, 31)
  197.    
  198.     new isAlive, alive[32]
  199.    
  200.     if (is_user_alive (id))
  201.     {
  202.         isAlive = 1
  203.         alive = "^1 "
  204.     }
  205.     else
  206.     {
  207.         isAlive = 0
  208.         alive = "^1*HALOTT* "
  209.     }
  210.    
  211.     //static color[10]
  212.    
  213.     if(get_user_flags(id)&ADMIN_CVAR)
  214.     {
  215.         //get_user_team (id, color, 9)
  216.         getTeam(id)
  217.         format (strName, 191, "%s^4[TULAJ][%s] ^3%s:", alive, RANKS[PlayerRank[id]], name)
  218.         format (strText, 191, "^4%s", message)
  219.     }  
  220.    
  221.     else if(get_user_flags(id)&ADMIN_MAP)
  222.     {
  223.         getTeam(id)
  224.         format (strName, 191, "%s^4[ADMIN][%s] ^3%s:", alive, RANKS[PlayerRank[id]], name)
  225.         format (strText, 191, "^4%s", message)
  226.     }    
  227.    
  228.     else if(get_user_flags(id)&ADMIN_MENU)
  229.     {
  230.         getTeam(id)
  231.         format (strName, 191, "%s^4[VIP][%s] ^3%s:", alive, RANKS[PlayerRank[id]], name)
  232.         format (strText, 191, "^4%s", message)
  233.     }
  234.    
  235.     else if(get_user_flags(id)&ADMIN_USER)
  236.     {
  237.         getTeam(id)
  238.         format (strName, 191, "%s^4[%s] ^3%s:",alive, RANKS[PlayerRank[id]], name)
  239.         format (strText, 191, "^1%s", message)
  240.     }
  241.    
  242.     format (message, 191, "%s ^1%s", strName, strText)
  243.     sendMessage (color, isAlive)
  244.    
  245.     return PLUGIN_CONTINUE
  246. }
  247.  
  248. public hook_teamsay(id)
  249. {
  250.     new playerTeam = get_user_team(id)
  251.     new playerTeamName[19]
  252.    
  253.     switch (playerTeam)
  254.     {
  255.         case 1:
  256.             copy (playerTeamName, 11, "Terrorista")
  257.        
  258.         case 2:
  259.             copy (playerTeamName, 18, "Anti-Terrorista")
  260.        
  261.         default:
  262.             copy (playerTeamName, 9, "Néző")
  263.     }
  264.    
  265.     read_args (message, 191)
  266.     remove_quotes (message)
  267.    
  268.     if (message[0] == '@' || message[0] == '/' || message[0] == '!' || equal (message, ""))
  269.     return PLUGIN_CONTINUE
  270.    
  271.     new isAlive, alive[32]
  272.    
  273.     if (is_user_alive (id))
  274.     {
  275.         isAlive = 1
  276.         alive = "^1 "
  277.     }
  278.     else
  279.     {
  280.         isAlive = 0
  281.         alive = "^1*HALOTT* "
  282.     }
  283.    
  284.     new name[32]
  285.     get_user_name (id, name, 31)
  286.    
  287.     //static color[10]
  288.    
  289.     if(get_user_flags(id)&ADMIN_CVAR)
  290.     {
  291.         //get_user_team (id, color, 9)
  292.         getTeam(id)
  293.         format (strName, 191, "%s(%s)^4[TULAJ][%s] ^3%s:",alive , playerTeamName, RANKS[PlayerRank[id]], name)
  294.         format (strText, 191, "^4%s", message)
  295.     }  
  296.    
  297.     else if(get_user_flags(id)&ADMIN_MAP)
  298.     {
  299.         getTeam(id)
  300.         format (strName, 191, "%s(%s)^4[ADMIN][%s] ^3%s:",alive , playerTeamName, RANKS[PlayerRank[id]], name)
  301.         format (strText, 191, "^4%s", message)
  302.     }    
  303.    
  304.     else if(get_user_flags(id)&ADMIN_MENU)
  305.     {
  306.         getTeam(id)
  307.         format (strName, 191, "%s(%s)^4[VIP][%s] ^3%s:",alive , playerTeamName, RANKS[PlayerRank[id]], name)
  308.         format (strText, 191, "^4%s", message)
  309.     }
  310.    
  311.     else if(get_user_flags(id)&ADMIN_USER)
  312.     {
  313.         getTeam(id)
  314.         format (strName, 191, "%s(%s)^4[%s] ^3%s:",alive ,playerTeamName, RANKS[PlayerRank[id]], name)
  315.         format (strText, 191, "^1%s", message)
  316.     }
  317.    
  318.     format (message, 191, "%s ^1%s", strName, strText)
  319.     sendTeamMessage (color,isAlive, playerTeam)
  320.    
  321.     return PLUGIN_CONTINUE
  322. }
  323.  
  324. public sendMessage (color[], alive)
  325. {
  326.     new teamName[10]
  327.    
  328.     for (new player = 1; player < maxPlayers; player++)
  329.     {
  330.         if (!is_user_connected(player))
  331.             continue
  332.         if((alive && is_user_alive(player)) || (!alive && !is_user_alive(player)) || (get_user_flags(player) && ADMIN_LISTEN))
  333.         {
  334.             get_user_team (player, teamName, 9)
  335.             changeTeamInfo (player, color)
  336.             writeMessage (player, message)
  337.             changeTeamInfo (player, teamName)
  338.         }
  339.     }
  340. }
  341.  
  342. public sendTeamMessage (color[], alive, playerTeam)
  343. {
  344.     new teamName[10]
  345.    
  346.     for (new player = 1; player < maxPlayers; player++)
  347.     {
  348.         if (!is_user_connected(player))
  349.             continue
  350.        
  351.         if (get_user_team(player) == playerTeam || get_user_flags(player) & ADMIN_LISTEN)
  352.         {
  353.             if (alive && is_user_alive(player) || !alive && !is_user_alive(player) || get_user_flags(player) & ADMIN_LISTEN)
  354.             {
  355.                 get_user_team (player, teamName, 9)
  356.                 changeTeamInfo (player, color)
  357.                 writeMessage (player, message)
  358.                 changeTeamInfo (player, teamName)
  359.             }
  360.         }
  361.     }
  362. }
  363.  
  364. public changeTeamInfo (player, team[])
  365. {
  366.     message_begin (MSG_ONE, teamInfo, _, player)  
  367.     write_byte (player)
  368.     write_string (team)
  369.     message_end()  
  370. }
  371.  
  372. public writeMessage (player, message[])
  373. {
  374.     message_begin (MSG_ONE, sayText, {0, 0, 0}, player)
  375.     write_byte (player)
  376.     write_string (message)
  377.     message_end ()
  378. }
  379.  
  380. stock bool:is_user_steam(id)
  381. {
  382.     static dp_pointer;
  383.    
  384.     if (dp_pointer || (dp_pointer = get_cvar_pointer("dp_r_id_provider")))
  385.     {
  386.         server_cmd("dp_clientinfo %d", id);
  387.         server_exec();
  388.         return (get_pcvar_num(dp_pointer) == 2) ? true : false;
  389.     }
  390.  
  391.     return false;
  392. }
  393.  
  394. public client_putinserver(id)
  395. {
  396.     if(get_cvar_num("sv_rankrendszer")==0)
  397.     {
  398.         return PLUGIN_HANDLED
  399.     }
  400.     else if (get_cvar_num("sv_rankrendszer")==1 && get_cvar_num("sv_rankrendszer_HUD")==1)
  401.     {
  402.         g_bHud[ id ] = true;
  403.         set_task(HUD_INTERVAL, "setDisplay", id)
  404.     }
  405.     else
  406.     {
  407.         set_task(0.5, "remTask", id)
  408.     }
  409.    
  410.     return PLUGIN_CONTINUE
  411. }
  412.  
  413. public remTask(id)
  414. {
  415.     remove_task(id, 0)
  416. }
  417.  
  418. public getTeam(id)
  419. {
  420.     get_user_team (id, color, 9)
  421. }
  422.  
  423. public setDisplay(id)
  424. {
  425.     if(!is_user_connected(id))
  426.         return PLUGIN_CONTINUE
  427.    
  428.     new stats[8]
  429.     new bodyhits[8]
  430.     get_user_stats(id, stats, bodyhits)
  431.    
  432.     if(stats[0] < 50)
  433.     {
  434.         PlayerRank[id] = RANK_SILVER
  435.     }
  436.     else if(stats[0] >= 50 && stats[0] < 100)
  437.     {
  438.         PlayerRank[id] = RANK_SILVER2
  439.     }
  440.     else if(stats[0] >= 100 && stats[0] < 200)
  441.     {
  442.         PlayerRank[id] = RANK_SILVER3
  443.     }
  444.     else if(stats[0] >= 200 && stats[0] < 300)
  445.     {
  446.         PlayerRank[id] = RANK_SILVER4
  447.     }
  448.     else if(stats[0] >= 300 && stats[0] < 450)
  449.     {
  450.         PlayerRank[id] = RANK_SILVERE
  451.     }
  452.     else if(stats[0] >= 450 && stats[0] < 650)
  453.     {
  454.         PlayerRank[id] = RANK_SILVEREM
  455.     }
  456.     else if(stats[0] >= 650 && stats[0] < 800)
  457.     {
  458.         PlayerRank[id] = RANK_NOVA
  459.     }
  460.     else if(stats[0] >= 800 && stats[0] < 1000)
  461.     {
  462.         PlayerRank[id] = RANK_NOVA2
  463.     }
  464.     else if(stats[0] >= 1000 && stats[0] < 1200)
  465.     {
  466.         PlayerRank[id] = RANK_NOVA3
  467.     }
  468.     else if(stats[0] >= 1200 && stats[0] < 1400)
  469.     {
  470.         PlayerRank[id] = RANK_NOVAM
  471.     }
  472.     else if(stats[0] >= 1400 && stats[0] < 1700)
  473.     {
  474.         PlayerRank[id] = RANK_AK
  475.     }
  476.     else if(stats[0] >= 1700 && stats[0] < 2000)
  477.     {
  478.         PlayerRank[id] = RANK_AK2
  479.     }
  480.     else if(stats[0] >= 2000 && stats[0] < 2500)
  481.     {
  482.         PlayerRank[id] = RANK_DAK
  483.     }
  484.     else if(stats[0] >= 2500 && stats[0] < 3000)
  485.     {
  486.         PlayerRank[id] = RANK_SHERIFF
  487.     }
  488.     else if(stats[0] >= 3000 && stats[0] < 3600)
  489.     {
  490.         PlayerRank[id] = RANK_SAS
  491.     }
  492.     else if(stats[0] >= 3600 && stats[0] < 4500)
  493.     {
  494.         PlayerRank[id] = RANK_SASM
  495.     }
  496.     else if(stats[0] >= 4500 && stats[0] < 5500)
  497.     {
  498.         PlayerRank[id] = RANK_SUPREME
  499.     }
  500.     else if(stats[0] >= 5500 && stats[0] < 20000)
  501.     {
  502.         PlayerRank[id] = RANK_GLOBAL
  503.     }
  504.     else if(stats[0] >= 20000)
  505.     {
  506.         PlayerRank[id] = RANK_UBER
  507.     }
  508.    
  509.     set_hudmessage(142, 239, 39, 0.01, 0.20, 0, 6.0, 1.0, 0.0, 0.0, -1)
  510.     show_hudmessage(id, "^nÖléseid: %i^nRang: %s^nParancsok: /rang, /rangok", stats[0], RANKS[PlayerRank[id]])
  511.     //show_hudmessage(id, "%s ^nÖlések: %i ^nRang: %s", name, stats[0], RANKS[PlayerRank[id]])
  512.    
  513.     set_task(HUD_INTERVAL, "setDisplay", id)
  514.    
  515.     return PLUGIN_CONTINUE
  516. }
  517.  
  518. stock ColorChat(const id, const input[], any:...)
  519. {
  520.     new count = 1, players[32];
  521.     static msg[191];
  522.     vformat(msg, 190, input, 3);
  523.    
  524.     replace_all(msg, 190, "!g", "^4"); // Green Color
  525.     replace_all(msg, 190, "!y", "^1"); // Default Color
  526.     replace_all(msg, 190, "!t", "^3"); // Team Color
  527.    
  528.     if (id) players[0] = id; else get_players(players, count, "ch");
  529.     {
  530.         for (new i = 0; i < count; i++)
  531.         {
  532.             if (is_user_connected(players[i]))
  533.             {
  534.                 message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i]);
  535.                 write_byte(players[i]);
  536.                 write_string(msg);
  537.                 message_end();
  538.             }
  539.         }
  540.     }
  541. }


Köszi a plugint. Admin prefix bele van írva alapból?

Szia, igen bele.

Nagyon szépen köszönöm a válaszod.

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