hlmod.hu

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



Jelenlévő felhasználók

Jelenleg 335 felhasználó van jelen :: 3 regisztrált, 0 rejtett és 332 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], Zolika_36az 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  [8 hozzászólás ] 
Szerző Üzenet
 Hozzászólás témája: Rang rendszer bug(még mindig)
HozzászólásElküldve:2016.09.04. 20:40 
Offline
Tiszteletbeli
Avatar

Csatlakozott:2015.07.14. 14:30
Hozzászólások:380
Megköszönt másnak: 43 alkalommal
Megköszönték neki: 30 alkalommal
Hali!
Ahogy valaki eléri a 101 ölést azaz átlépne 2.-es szintre úgy minuszba kezdenek menni az ölések már sokat néztem de nem jöttem rá..Tehát : A következő ranghoz még : -101 ölés kell
ezt írja ki..Valaki tudna segíteni? Köszönöm!

  1. #include <amxmodx>
  2. #include <amxmisc>
  3. #include <cstrike>
  4. #include <csstats>
  5. #include <colorchat>
  6.  
  7. #define PLUGIN "Rankrendszer (HUD + prefix)"
  8. #define VERSION "1.5"
  9. #define AUTHOR "6lmasok,qKKKJ;>, RaZ_HU"
  10.  
  11. #define MAXRANKS 18
  12.  
  13. new message[192], strName[191], strText[191], sayText, teamInfo, maxPlayers, PlayerRank[33], stats[8], bodyhits[8], color[10]
  14.  
  15. new const RANKS[MAXRANKS+1][] =
  16. {
  17.     "Silver I",
  18.     "Silver II",
  19.     "Silver III",
  20.     "Silver IV",
  21.     "Silver Elite",
  22.     "Silver Elite Mester",
  23.     "Arany Nova I",
  24.     "Arany Nova II",
  25.     "Arany Nova III",
  26.     "Arany Nova Mester",
  27.     "AK",
  28.     "Koszorús AK",
  29.     "Dupla AK",
  30.     "Sheriff",
  31.     "Sas",
  32.     "Sas Mester",
  33.     "Supreme",
  34.     "Global Elite",
  35.     "Veterán"
  36. }
  37.  
  38. new const szamok[MAXRANKS] =
  39. {
  40.     100,
  41.     250,
  42.     300,
  43.     450,
  44.     500,
  45.     650,
  46.     800,
  47.     1000,
  48.     1200,
  49.     1400,
  50.     1700,
  51.     2000,
  52.     2500,
  53.     3000,
  54.     3600,
  55.     4500,
  56.     5500,
  57.     12000
  58. }
  59.  
  60. public plugin_init()
  61. {
  62.     register_plugin(PLUGIN, VERSION, AUTHOR)
  63.     register_clcmd("say /rang", "hud")
  64.     register_clcmd("say rang", "hud")
  65.     register_clcmd ("say", "hook_say")
  66.     register_clcmd ("say_team", "hook_teamsay")
  67.    
  68.     register_cvar("sv_rankrendszer_HUD","0") // A HUD-ra való kijelzés be- illetve kikapcsolása
  69.     register_cvar("sv_rankrendszer_HUDtime","1.0") // A HUD-ra való kijelzés frissítési ideje másodpercben
  70.    
  71.     sayText = get_user_msgid ("SayText")
  72.     teamInfo = get_user_msgid ("TeamInfo")
  73.     maxPlayers = get_maxplayers()
  74.    
  75.     set_task(160.0, "korUzenet", 0, _, _, "b")
  76.    
  77.     register_message (sayText, "avoid_duplicated")
  78. }
  79. public avoid_duplicated (msgId, msgDest, receiver) return PLUGIN_HANDLED
  80. public korUzenet() ColorChat( 0, GREEN, "^4[-|MNK|-] ^1Írd be ^3/rang ^1hogy megnézd hány ölés kell a következő ranghoz.")
  81. public hud(id) {
  82.     get_user_stats(id, stats, bodyhits)
  83.     ColorChat( id, GREEN, "^1Rangod: ^3%s ^4| ^1Ölések: ^3%d",RANKS[PlayerRank[id]], stats[0])
  84.    
  85.     if(PlayerRank[id] == MAXRANKS) ColorChat( id, GREEN, "^4Már elérted a legnagyobb ^4rangot.")
  86.     else ColorChat( id, GREEN, "^1Következő rang: ^3%s ^4| ^1A következő szinthez kell még: ^3%d ^1ölés",RANKS[PlayerRank[id]+1], szamok[PlayerRank[id]]-stats[0])
  87. }
  88. public hook_say(id)
  89. {
  90.     read_args (message, 191)
  91.     remove_quotes (message)
  92.    
  93.     if (message[0] == '@' || message[0] == '/' || message[0] == '!' || equal (message, "")) return PLUGIN_CONTINUE
  94.    
  95.     new name[32]
  96.     get_user_name (id, name, 31)
  97.    
  98.     new isAlive, alive[32]
  99.    
  100.     if (is_user_alive (id))
  101.     {
  102.         isAlive = 1
  103.         alive = "^1"
  104.     }
  105.     else
  106.     {
  107.         isAlive = 0
  108.         alive = "^1*HALOTT* "
  109.     }
  110.    
  111.     if(get_user_flags(id)&ADMIN_RCON)
  112.     {
  113.         get_user_team (id, color, 9)
  114.         format (strName, 191, "%s^4[TULAJDONOS][%s] ^3%s:", alive, RANKS[PlayerRank[id]], name)
  115.         format (strText, 191, "^4%s", message)
  116.     }  
  117.     else if(get_user_flags(id)&ADMIN_LEVEL_B)
  118.     {
  119.         get_user_team (id, color, 9)
  120.         format (strName, 191, "%s^4[ADMIN][%s] ^3%s:", alive, RANKS[PlayerRank[id]], name)
  121.         format (strText, 191, "^4%s", message)
  122.     }    
  123.     else if(get_user_flags(id)&ADMIN_LEVEL_G)
  124.     {
  125.         get_user_team (id, color, 9)
  126.         format (strName, 191, "%s^4[VIP][%s] ^3%s:", alive, RANKS[PlayerRank[id]], name)
  127.         format (strText, 191, "^4%s", message)
  128.     }
  129.     else if(get_user_flags(id)&ADMIN_LEVEL_H)
  130.     {
  131.         get_user_team (id, color, 9)
  132.         format (strName, 191, "%s^4[KONFIGOS][%s] ^3%s:", alive, RANKS[PlayerRank[id]], name)
  133.         format (strText, 191, "^4%s", message)
  134.     }
  135.     else if(get_user_flags(id)&ADMIN_USER)
  136.     {
  137.         get_user_team (id, color, 9)
  138.         format (strName, 191, "%s^4[%s] ^3%s:",alive, RANKS[PlayerRank[id]], name)
  139.         format (strText, 191, "^1%s", message)
  140.     }
  141.    
  142.     format (message, 191, "%s ^1%s", strName, strText)
  143.     sendMessage (color, isAlive)
  144.    
  145.     return PLUGIN_CONTINUE
  146. }
  147. public hook_teamsay(id)
  148. {
  149.     new playerTeam = get_user_team(id)
  150.     new playerTeamName[19]
  151.    
  152.     switch (playerTeam)
  153.     {
  154.         case 1: copy (playerTeamName, 11, "Terrorista")
  155.         case 2: copy (playerTeamName, 18, "Anti-Terrorista")
  156.         default: copy (playerTeamName, 9, "Néző")
  157.     }
  158.        
  159.     read_args (message, 191)
  160.     remove_quotes (message)
  161.        
  162.     if (message[0] == '@' || message[0] == '/' || message[0] == '!' || equal (message, "")) return PLUGIN_CONTINUE
  163.        
  164.     new isAlive, alive[32]
  165.        
  166.     if (is_user_alive (id))
  167.     {
  168.         isAlive = 1
  169.         alive = "^1 "
  170.     }
  171.     else
  172.     {
  173.         isAlive = 0
  174.         alive = "^1*HALOTT* "
  175.     }
  176.        
  177.     new name[32]
  178.     get_user_name (id, name, 31)
  179.    
  180.     if(get_user_flags(id)&ADMIN_RCON)
  181.     {
  182.         get_user_team (id, color, 9)
  183.         format (strName, 191, "%s(%s)^4[TULAJDONOS][%s] ^3%s:",alive , playerTeamName, RANKS[PlayerRank[id]], name)
  184.         format (strText, 191, "^4%s", message)
  185.     }  
  186.     else if(get_user_flags(id)&ADMIN_LEVEL_B)
  187.     {
  188.         get_user_team (id, color, 9)
  189.         format (strName, 191, "%s(%s)^4[ADMIN][%s] ^3%s:",alive , playerTeamName, RANKS[PlayerRank[id]], name)
  190.         format (strText, 191, "^4%s", message)
  191.     }    
  192.     else if(get_user_flags(id)&ADMIN_LEVEL_G)
  193.     {
  194.         get_user_team (id, color, 9)
  195.         format (strName, 191, "%s(%s)^4[VIP][%s] ^3%s:",alive , playerTeamName, RANKS[PlayerRank[id]], name)
  196.         format (strText, 191, "^4%s", message)
  197.     }
  198.     else if(get_user_flags(id)&ADMIN_LEVEL_H)
  199.     {
  200.         get_user_team (id, color, 9)
  201.         format (strName, 191, "%s(%s)^4[KONFIGOS][%s] ^3%s:",alive , playerTeamName, RANKS[PlayerRank[id]], name)
  202.         format (strText, 191, "^4%s", message)
  203.     }
  204.     else if(get_user_flags(id) & ADMIN_USER)
  205.     {
  206.         get_user_team (id, color, 9)
  207.         format (strName, 191, "%s(%s)^4[%s] ^3%s:",alive ,playerTeamName, RANKS[PlayerRank[id]], name)
  208.         format (strText, 191, "^1%s", message)
  209.     }
  210.        
  211.     format (message, 191, "%s ^1%s", strName, strText)
  212.     sendTeamMessage (color,isAlive, playerTeam)
  213.        
  214.     return PLUGIN_CONTINUE
  215. }
  216. public sendMessage (color[], alive)
  217. {
  218.     new teamName[10]
  219.    
  220.     for (new player = 1; player < maxPlayers; player++)
  221.     {
  222.         if (!is_user_connected(player))
  223.             continue
  224.         if((alive && is_user_alive(player)) || (!alive && !is_user_alive(player)) || (get_user_flags(player) && ADMIN_CHAT))
  225.         {
  226.             get_user_team (player, teamName, 9)
  227.             changeTeamInfo (player, color)
  228.             writeMessage (player, message)
  229.             changeTeamInfo (player, teamName)
  230.         }
  231.     }
  232. }
  233. public sendTeamMessage (color[], alive, playerTeam)
  234. {
  235.     new teamName[10]
  236.    
  237.     for (new player = 1; player < maxPlayers; player++)
  238.     {
  239.         if (!is_user_connected(player))
  240.             continue
  241.        
  242.         if (get_user_team(player) == playerTeam || get_user_flags(player) & ADMIN_CHAT)
  243.         {
  244.             if (alive && is_user_alive(player) || !alive && !is_user_alive(player) || get_user_flags(player) & ADMIN_CHAT)
  245.             {
  246.                 get_user_team (player, teamName, 9)
  247.                 changeTeamInfo (player, color)
  248.                 writeMessage (player, message)
  249.                 changeTeamInfo (player, teamName)
  250.             }
  251.         }
  252.     }
  253. }
  254. public changeTeamInfo (player, team[])
  255. {
  256.     message_begin (MSG_ONE, teamInfo, _, player)  
  257.     write_byte (player)
  258.     write_string (team)
  259.     message_end()  
  260. }
  261. public writeMessage (player, message[])
  262. {
  263.     message_begin (MSG_ONE, sayText, {0, 0, 0}, player)
  264.     write_byte (player)
  265.     write_string (message)
  266.     message_end ()
  267. }
  268. stock bool:is_user_steam(id)
  269. {
  270.     static dp_pointer;
  271.    
  272.     if (dp_pointer || (dp_pointer = get_cvar_pointer("dp_r_id_provider")))
  273.     {
  274.         server_cmd("dp_clientinfo %d", id);
  275.         server_exec();
  276.         return (get_pcvar_num(dp_pointer) == 2) ? true : false;
  277.     }
  278.    
  279.     return false;
  280. }
  281. public client_connect(id) if(get_cvar_num("sv_rankrendszer_HUD")==1) setDisplay(id)
  282. public setDisplay(id) {
  283.     if(!is_user_connected(id)) return PLUGIN_CONTINUE
  284.    
  285.     get_user_stats(id, stats, bodyhits)
  286.    
  287.     for(new i=1; i <= 17; i++) {
  288.         if(stats[0] < szamok[0]) PlayerRank[id] = 0
  289.         else if(stats[0] >= szamok[i-1] && stats[0] < szamok[i]) PlayerRank[id] = i
  290.         else if(stats[0] >= szamok[17]) PlayerRank[id] = 18
  291.     }
  292.    
  293.     set_hudmessage(random(255),random(255),random(255), 0.0, 0.22, 0, 6.0, 12.0)
  294.     show_hudmessage(id, "^nÖléseid: %i ^nRang: %s", stats[0], RANKS[PlayerRank[id]])
  295.    
  296.     set_task(get_cvar_float("sv_rankrendszer_HUDtime"), "setDisplay", id)
  297.    
  298.     return PLUGIN_CONTINUE
  299. }
  300. stock colorchat(const id, const input[], any:...)
  301. {
  302.     new count = 1, players[32];
  303.     static msg[191];
  304.     vformat(msg, 190, input, 3);
  305.    
  306.     replace_all(msg, 190, "!g", "^4"); // Green Color
  307.     replace_all(msg, 190, "!y", "^1"); // Default Color
  308.     replace_all(msg, 190, "!t", "^3"); // Team Color
  309.    
  310.     if (id) players[0] = id; else get_players(players, count, "ch");
  311. {
  312.     for (new i = 0; i < count; i++)
  313.     {
  314.         if (is_user_connected(players[i]))
  315.         {
  316.             message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i]);
  317.             write_byte(players[i]);
  318.             write_string(msg);
  319.             message_end();
  320.         }
  321.     }
  322. }
  323. }
  324. /* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
  325. *{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1038\\ f0\\ fs16 \n\\ par }
  326. */


Esetleg még erre gondoltam:

  1. else if(stats[0] >= szamok[i-1] && stats[0] < szamok[i]) PlayerRank[id] = i


helyett:

  1. else if(stats[0] >= szamok[i+1] && stats[0] < szamok[i]) PlayerRank[id] = i


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Rang rendszer bug(még mindig)
HozzászólásElküldve:2016.09.04. 20:55 
Offline
Senior Tag

Csatlakozott:2016.06.01. 21:49
Hozzászólások:234
Megköszönt másnak: 29 alkalommal
Megköszönték neki: 17 alkalommal
  1. #include <amxmodx>
  2. #include <amxmisc>
  3. #include <cstrike>
  4. #include <csstats>
  5. #include <colorchat>
  6.  
  7. #define PLUGIN "Rankrendszer (HUD + prefix)"
  8. #define VERSION "1.5"
  9. #define AUTHOR "6lmasok,qKKKJ;>, RaZ_HU"
  10.  
  11. #define MAXRANKS 18
  12.  
  13. new message[192], strName[191], strText[191], sayText, teamInfo, maxPlayers, PlayerRank[33], stats[8], bodyhits[8], color[10]
  14.  
  15. new const RANKS[MAXRANKS+1][] =
  16. {
  17.     "Silver I",
  18.     "Silver II",
  19.     "Silver III",
  20.     "Silver IV",
  21.     "Silver Elite",
  22.     "Silver Elite Mester",
  23.     "Arany Nova I",
  24.     "Arany Nova II",
  25.     "Arany Nova III",
  26.     "Arany Nova Mester",
  27.     "AK",
  28.     "Koszorús AK",
  29.     "Dupla AK",
  30.     "Sheriff",
  31.     "Sas",
  32.     "Sas Mester",
  33.     "Supreme",
  34.     "Global Elite",
  35.     "Veterán"
  36. }
  37.  
  38. new const szamok[MAXRANKS] =
  39. {
  40.     100,
  41.     250,
  42.     300,
  43.     450,
  44.     500,
  45.     650,
  46.     800,
  47.     1000,
  48.     1200,
  49.     1400,
  50.     1700,
  51.     2000,
  52.     2500,
  53.     3000,
  54.     3600,
  55.     4500,
  56.     5500,
  57.     12000
  58. }
  59.  
  60. public plugin_init()
  61. {
  62.     register_plugin(PLUGIN, VERSION, AUTHOR)
  63.     register_clcmd("say /rang", "hud")
  64.     register_clcmd("say rang", "hud")
  65.     register_clcmd ("say", "hook_say")
  66.     register_clcmd ("say_team", "hook_teamsay")
  67.    
  68.     register_cvar("sv_rankrendszer_HUD","0") // A HUD-ra való kijelzés be- illetve kikapcsolása
  69.     register_cvar("sv_rankrendszer_HUDtime","1.0") // A HUD-ra való kijelzés frissítési ideje másodpercben
  70.    
  71.     sayText = get_user_msgid ("SayText")
  72.     teamInfo = get_user_msgid ("TeamInfo")
  73.     maxPlayers = get_maxplayers()
  74.    
  75.     set_task(160.0, "korUzenet", 0, _, _, "b")
  76.    
  77.     register_message (sayText, "avoid_duplicated")
  78. }
  79. public avoid_duplicated (msgId, msgDest, receiver) return PLUGIN_HANDLED
  80. public korUzenet() ColorChat( 0, GREEN, "^4[-|MNK|-] ^1Írd be ^3/rang ^1hogy megnézd hány ölés kell a következő ranghoz.")
  81. public hud(id) {
  82.     get_user_stats(id, stats, bodyhits)
  83.     ColorChat( id, GREEN, "^1Rangod: ^3%s ^4| ^1Ölések: ^3%d",RANKS[PlayerRank[id]], stats[0])
  84.    
  85.     if(PlayerRank[id] == MAXRANKS) ColorChat( id, GREEN, "^4Már elérted a legnagyobb ^4rangot.")
  86.     else ColorChat( id, GREEN, "^1Következő rang: ^3%s ^4| ^1A következő szinthez kell még: ^3%d ^1ölés",RANKS[PlayerRank[id]+1], szamok[PlayerRank[id]]-stats[0])
  87. }
  88. public hook_say(id)
  89. {
  90.     read_args (message, 191)
  91.     remove_quotes (message)
  92.    
  93.     if (message[0] == '@' || message[0] == '/' || message[0] == '!' || equal (message, "")) return PLUGIN_CONTINUE
  94.    
  95.     new name[32]
  96.     get_user_name (id, name, 31)
  97.    
  98.     new isAlive, alive[32]
  99.    
  100.     if (is_user_alive (id))
  101.     {
  102.         isAlive = 1
  103.         alive = "^1"
  104.     }
  105.     else
  106.     {
  107.         isAlive = 0
  108.         alive = "^1*HALOTT* "
  109.     }
  110.    
  111.     if(get_user_flags(id)&ADMIN_RCON)
  112.     {
  113.         get_user_team (id, color, 9)
  114.         format (strName, 191, "%s^4[TULAJDONOS][%s] ^3%s:", alive, RANKS[PlayerRank[id]], name)
  115.         format (strText, 191, "^4%s", message)
  116.     }  
  117.     else if(get_user_flags(id)&ADMIN_LEVEL_B)
  118.     {
  119.         get_user_team (id, color, 9)
  120.         format (strName, 191, "%s^4[ADMIN][%s] ^3%s:", alive, RANKS[PlayerRank[id]], name)
  121.         format (strText, 191, "^4%s", message)
  122.     }    
  123.     else if(get_user_flags(id)&ADMIN_LEVEL_G)
  124.     {
  125.         get_user_team (id, color, 9)
  126.         format (strName, 191, "%s^4[VIP][%s] ^3%s:", alive, RANKS[PlayerRank[id]], name)
  127.         format (strText, 191, "^4%s", message)
  128.     }
  129.     else if(get_user_flags(id)&ADMIN_LEVEL_H)
  130.     {
  131.         get_user_team (id, color, 9)
  132.         format (strName, 191, "%s^4[KONFIGOS][%s] ^3%s:", alive, RANKS[PlayerRank[id]], name)
  133.         format (strText, 191, "^4%s", message)
  134.     }
  135.     else if(get_user_flags(id)&ADMIN_USER)
  136.     {
  137.         get_user_team (id, color, 9)
  138.         format (strName, 191, "%s^4[%s] ^3%s:",alive, RANKS[PlayerRank[id]], name)
  139.         format (strText, 191, "^1%s", message)
  140.     }
  141.    
  142.     format (message, 191, "%s ^1%s", strName, strText)
  143.     sendMessage (color, isAlive)
  144.    
  145.     return PLUGIN_CONTINUE
  146. }
  147. public hook_teamsay(id)
  148. {
  149.     new playerTeam = get_user_team(id)
  150.     new playerTeamName[19]
  151.    
  152.     switch (playerTeam)
  153.     {
  154.         case 1: copy (playerTeamName, 11, "Terrorista")
  155.         case 2: copy (playerTeamName, 18, "Anti-Terrorista")
  156.         default: copy (playerTeamName, 9, "Néző")
  157.     }
  158.        
  159.     read_args (message, 191)
  160.     remove_quotes (message)
  161.        
  162.     if (message[0] == '@' || message[0] == '/' || message[0] == '!' || equal (message, "")) return PLUGIN_CONTINUE
  163.        
  164.     new isAlive, alive[32]
  165.        
  166.     if (is_user_alive (id))
  167.     {
  168.         isAlive = 1
  169.         alive = "^1 "
  170.     }
  171.     else
  172.     {
  173.         isAlive = 0
  174.         alive = "^1*HALOTT* "
  175.     }
  176.        
  177.     new name[32]
  178.     get_user_name (id, name, 31)
  179.    
  180.     if(get_user_flags(id)&ADMIN_RCON)
  181.     {
  182.         get_user_team (id, color, 9)
  183.         format (strName, 191, "%s(%s)^4[TULAJDONOS][%s] ^3%s:",alive , playerTeamName, RANKS[PlayerRank[id]], name)
  184.         format (strText, 191, "^4%s", message)
  185.     }  
  186.     else if(get_user_flags(id)&ADMIN_LEVEL_B)
  187.     {
  188.         get_user_team (id, color, 9)
  189.         format (strName, 191, "%s(%s)^4[ADMIN][%s] ^3%s:",alive , playerTeamName, RANKS[PlayerRank[id]], name)
  190.         format (strText, 191, "^4%s", message)
  191.     }    
  192.     else if(get_user_flags(id)&ADMIN_LEVEL_G)
  193.     {
  194.         get_user_team (id, color, 9)
  195.         format (strName, 191, "%s(%s)^4[VIP][%s] ^3%s:",alive , playerTeamName, RANKS[PlayerRank[id]], name)
  196.         format (strText, 191, "^4%s", message)
  197.     }
  198.     else if(get_user_flags(id)&ADMIN_LEVEL_H)
  199.     {
  200.         get_user_team (id, color, 9)
  201.         format (strName, 191, "%s(%s)^4[KONFIGOS][%s] ^3%s:",alive , playerTeamName, RANKS[PlayerRank[id]], name)
  202.         format (strText, 191, "^4%s", message)
  203.     }
  204.     else if(get_user_flags(id) & ADMIN_USER)
  205.     {
  206.         get_user_team (id, color, 9)
  207.         format (strName, 191, "%s(%s)^4[%s] ^3%s:",alive ,playerTeamName, RANKS[PlayerRank[id]], name)
  208.         format (strText, 191, "^1%s", message)
  209.     }
  210.        
  211.     format (message, 191, "%s ^1%s", strName, strText)
  212.     sendTeamMessage (color,isAlive, playerTeam)
  213.        
  214.     return PLUGIN_CONTINUE
  215. }
  216. public sendMessage (color[], alive)
  217. {
  218.     new teamName[10]
  219.    
  220.     for (new player = 1; player < maxPlayers; player++)
  221.     {
  222.         if (!is_user_connected(player))
  223.             continue
  224.         if((alive && is_user_alive(player)) || (!alive && !is_user_alive(player)) || (get_user_flags(player) && ADMIN_CHAT))
  225.         {
  226.             get_user_team (player, teamName, 9)
  227.             changeTeamInfo (player, color)
  228.             writeMessage (player, message)
  229.             changeTeamInfo (player, teamName)
  230.         }
  231.     }
  232. }
  233. public sendTeamMessage (color[], alive, playerTeam)
  234. {
  235.     new teamName[10]
  236.    
  237.     for (new player = 1; player < maxPlayers; player++)
  238.     {
  239.         if (!is_user_connected(player))
  240.             continue
  241.        
  242.         if (get_user_team(player) == playerTeam || get_user_flags(player) & ADMIN_CHAT)
  243.         {
  244.             if (alive && is_user_alive(player) || !alive && !is_user_alive(player) || get_user_flags(player) & ADMIN_CHAT)
  245.             {
  246.                 get_user_team (player, teamName, 9)
  247.                 changeTeamInfo (player, color)
  248.                 writeMessage (player, message)
  249.                 changeTeamInfo (player, teamName)
  250.             }
  251.         }
  252.     }
  253. }
  254. public changeTeamInfo (player, team[])
  255. {
  256.     message_begin (MSG_ONE, teamInfo, _, player)  
  257.     write_byte (player)
  258.     write_string (team)
  259.     message_end()  
  260. }
  261. public writeMessage (player, message[])
  262. {
  263.     message_begin (MSG_ONE, sayText, {0, 0, 0}, player)
  264.     write_byte (player)
  265.     write_string (message)
  266.     message_end ()
  267. }
  268. stock bool:is_user_steam(id)
  269. {
  270.     static dp_pointer;
  271.    
  272.     if (dp_pointer || (dp_pointer = get_cvar_pointer("dp_r_id_provider")))
  273.     {
  274.         server_cmd("dp_clientinfo %d", id);
  275.         server_exec();
  276.         return (get_pcvar_num(dp_pointer) == 2) ? true : false;
  277.     }
  278.    
  279.     return false;
  280. }
  281. public client_connect(id) if(get_cvar_num("sv_rankrendszer_HUD")==1) setDisplay(id)
  282. public setDisplay(id) {
  283.     if(!is_user_connected(id)) return PLUGIN_CONTINUE
  284.    
  285.     get_user_stats(id, stats, bodyhits)
  286.    
  287.     for(new i=1; i <= 17; i++) {
  288.         if(stats[0] < szamok[0]) PlayerRank[id] = 0
  289.         else if(stats[0] >= szamok[i+1] && stats[0] < szamok[i]) PlayerRank[id] = i
  290.         else if(stats[0] >= szamok[17]) PlayerRank[id] = 18
  291.     }
  292.    
  293.     set_hudmessage(random(255),random(255),random(255), 0.0, 0.22, 0, 6.0, 12.0)
  294.     show_hudmessage(id, "^nÖléseid: %i ^nRang: %s", stats[0], RANKS[PlayerRank[id]])
  295.    
  296.     set_task(get_cvar_float("sv_rankrendszer_HUDtime"), "setDisplay", id)
  297.    
  298.     return PLUGIN_CONTINUE
  299. }
  300. stock colorchat(const id, const input[], any:...)
  301. {
  302.     new count = 1, players[32];
  303.     static msg[191];
  304.     vformat(msg, 190, input, 3);
  305.    
  306.     replace_all(msg, 190, "!g", "^4"); // Green Color
  307.     replace_all(msg, 190, "!y", "^1"); // Default Color
  308.     replace_all(msg, 190, "!t", "^3"); // Team Color
  309.    
  310.     if (id) players[0] = id; else get_players(players, count, "ch");
  311. {
  312.     for (new i = 0; i < count; i++)
  313.     {
  314.         if (is_user_connected(players[i]))
  315.         {
  316.             message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i]);
  317.             write_byte(players[i]);
  318.             write_string(msg);
  319.             message_end();
  320.         }
  321.     }
  322. }
  323. }
  324. /* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
  325. *{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1038\\ f0\\ fs16 \n\\ par }
  326. */

_________________
*pbT# Knife Hamarosan.


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Rang rendszer bug(még mindig)
HozzászólásElküldve:2016.09.04. 20:58 
Offline
Tiszteletbeli
Avatar

Csatlakozott:2015.07.14. 14:30
Hozzászólások:380
Megköszönt másnak: 43 alkalommal
Megköszönték neki: 30 alkalommal
Nem jó most már -2-őt ír.


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Rang rendszer bug(még mindig)
HozzászólásElküldve:2016.09.04. 21:01 
Offline
Senior Tag

Csatlakozott:2016.06.01. 21:49
Hozzászólások:234
Megköszönt másnak: 29 alkalommal
Megköszönték neki: 17 alkalommal
  1. #include <amxmodx>
  2. #include <amxmisc>
  3. #include <cstrike>
  4. #include <csstats>
  5. #include <colorchat>
  6.  
  7. #define PLUGIN "Rankrendszer (HUD + prefix)"
  8. #define VERSION "1.5"
  9. #define AUTHOR "6lmasok,qKKKJ;>, RaZ_HU"
  10.  
  11. #define MAXRANKS 18
  12.  
  13. new message[192], strName[191], strText[191], sayText, teamInfo, maxPlayers, PlayerRank[33], stats[8], bodyhits[8], color[10]
  14.  
  15. new const RANKS[MAXRANKS+1][] =
  16. {
  17.     "Silver I",
  18.     "Silver II",
  19.     "Silver III",
  20.     "Silver IV",
  21.     "Silver Elite",
  22.     "Silver Elite Mester",
  23.     "Arany Nova I",
  24.     "Arany Nova II",
  25.     "Arany Nova III",
  26.     "Arany Nova Mester",
  27.     "AK",
  28.     "Koszorús AK",
  29.     "Dupla AK",
  30.     "Sheriff",
  31.     "Sas",
  32.     "Sas Mester",
  33.     "Supreme",
  34.     "Global Elite",
  35.     "Veterán"
  36. }
  37.  
  38. new const szamok[MAXRANKS] =
  39. {
  40.     100,
  41.     250,
  42.     300,
  43.     450,
  44.     500,
  45.     650,
  46.     800,
  47.     1000,
  48.     1200,
  49.     1400,
  50.     1700,
  51.     2000,
  52.     2500,
  53.     3000,
  54.     3600,
  55.     4500,
  56.     5500,
  57.     12000
  58. }
  59.  
  60. public plugin_init()
  61. {
  62.     register_plugin(PLUGIN, VERSION, AUTHOR)
  63.     register_clcmd("say /rang", "hud")
  64.     register_clcmd("say rang", "hud")
  65.     register_clcmd ("say", "hook_say")
  66.     register_clcmd ("say_team", "hook_teamsay")
  67.    
  68.     register_cvar("sv_rankrendszer_HUD","0") // A HUD-ra való kijelzés be- illetve kikapcsolása
  69.     register_cvar("sv_rankrendszer_HUDtime","1.0") // A HUD-ra való kijelzés frissítési ideje másodpercben
  70.    
  71.     sayText = get_user_msgid ("SayText")
  72.     teamInfo = get_user_msgid ("TeamInfo")
  73.     maxPlayers = get_maxplayers()
  74.    
  75.     set_task(160.0, "korUzenet", 0, _, _, "b")
  76.    
  77.     register_message (sayText, "avoid_duplicated")
  78. }
  79. public avoid_duplicated (msgId, msgDest, receiver) return PLUGIN_HANDLED
  80. public korUzenet() ColorChat( 0, GREEN, "^4[-|MNK|-] ^1Írd be ^3/rang ^1hogy megnézd hány ölés kell a következő ranghoz.")
  81. public hud(id) {
  82.     get_user_stats(id, stats, bodyhits)
  83.     ColorChat( id, GREEN, "^1Rangod: ^3%s ^4| ^1Ölések: ^3%d",RANKS[PlayerRank[id]], stats[0])
  84.    
  85.     if(PlayerRank[id] == MAXRANKS) ColorChat( id, GREEN, "^4Már elérted a legnagyobb ^4rangot.")
  86.     else ColorChat( id, GREEN, "^1Következő rang: ^3%s ^4| ^1A következő szinthez kell még: ^3%d ^1ölés",RANKS[PlayerRank[id]+1], szamok[PlayerRank[id]]-stats[0])
  87. }
  88. public hook_say(id)
  89. {
  90.     read_args (message, 191)
  91.     remove_quotes (message)
  92.    
  93.     if (message[0] == '@' || message[0] == '/' || message[0] == '!' || equal (message, "")) return PLUGIN_CONTINUE
  94.    
  95.     new name[32]
  96.     get_user_name (id, name, 31)
  97.    
  98.     new isAlive, alive[32]
  99.    
  100.     if (is_user_alive (id))
  101.     {
  102.         isAlive = 1
  103.         alive = "^1"
  104.     }
  105.     else
  106.     {
  107.         isAlive = 0
  108.         alive = "^1*HALOTT* "
  109.     }
  110.    
  111.     if(get_user_flags(id)&ADMIN_RCON)
  112.     {
  113.         get_user_team (id, color, 9)
  114.         format (strName, 191, "%s^4[TULAJDONOS][%s] ^3%s:", alive, RANKS[PlayerRank[id]], name)
  115.         format (strText, 191, "^4%s", message)
  116.     }  
  117.     else if(get_user_flags(id)&ADMIN_LEVEL_B)
  118.     {
  119.         get_user_team (id, color, 9)
  120.         format (strName, 191, "%s^4[ADMIN][%s] ^3%s:", alive, RANKS[PlayerRank[id]], name)
  121.         format (strText, 191, "^4%s", message)
  122.     }    
  123.     else if(get_user_flags(id)&ADMIN_LEVEL_G)
  124.     {
  125.         get_user_team (id, color, 9)
  126.         format (strName, 191, "%s^4[VIP][%s] ^3%s:", alive, RANKS[PlayerRank[id]], name)
  127.         format (strText, 191, "^4%s", message)
  128.     }
  129.     else if(get_user_flags(id)&ADMIN_LEVEL_H)
  130.     {
  131.         get_user_team (id, color, 9)
  132.         format (strName, 191, "%s^4[KONFIGOS][%s] ^3%s:", alive, RANKS[PlayerRank[id]], name)
  133.         format (strText, 191, "^4%s", message)
  134.     }
  135.     else if(get_user_flags(id)&ADMIN_USER)
  136.     {
  137.         get_user_team (id, color, 9)
  138.         format (strName, 191, "%s^4[%s] ^3%s:",alive, RANKS[PlayerRank[id]], name)
  139.         format (strText, 191, "^1%s", message)
  140.     }
  141.    
  142.     format (message, 191, "%s ^1%s", strName, strText)
  143.     sendMessage (color, isAlive)
  144.    
  145.     return PLUGIN_CONTINUE
  146. }
  147. public hook_teamsay(id)
  148. {
  149.     new playerTeam = get_user_team(id)
  150.     new playerTeamName[19]
  151.    
  152.     switch (playerTeam)
  153.     {
  154.         case 1: copy (playerTeamName, 11, "Terrorista")
  155.         case 2: copy (playerTeamName, 18, "Anti-Terrorista")
  156.         default: copy (playerTeamName, 9, "Néző")
  157.     }
  158.        
  159.     read_args (message, 191)
  160.     remove_quotes (message)
  161.        
  162.     if (message[0] == '@' || message[0] == '/' || message[0] == '!' || equal (message, "")) return PLUGIN_CONTINUE
  163.        
  164.     new isAlive, alive[32]
  165.        
  166.     if (is_user_alive (id))
  167.     {
  168.         isAlive = 1
  169.         alive = "^1 "
  170.     }
  171.     else
  172.     {
  173.         isAlive = 0
  174.         alive = "^1*HALOTT* "
  175.     }
  176.        
  177.     new name[32]
  178.     get_user_name (id, name, 31)
  179.    
  180.     if(get_user_flags(id)&ADMIN_RCON)
  181.     {
  182.         get_user_team (id, color, 9)
  183.         format (strName, 191, "%s(%s)^4[TULAJDONOS][%s] ^3%s:",alive , playerTeamName, RANKS[PlayerRank[id]], name)
  184.         format (strText, 191, "^4%s", message)
  185.     }  
  186.     else if(get_user_flags(id)&ADMIN_LEVEL_B)
  187.     {
  188.         get_user_team (id, color, 9)
  189.         format (strName, 191, "%s(%s)^4[ADMIN][%s] ^3%s:",alive , playerTeamName, RANKS[PlayerRank[id]], name)
  190.         format (strText, 191, "^4%s", message)
  191.     }    
  192.     else if(get_user_flags(id)&ADMIN_LEVEL_G)
  193.     {
  194.         get_user_team (id, color, 9)
  195.         format (strName, 191, "%s(%s)^4[VIP][%s] ^3%s:",alive , playerTeamName, RANKS[PlayerRank[id]], name)
  196.         format (strText, 191, "^4%s", message)
  197.     }
  198.     else if(get_user_flags(id)&ADMIN_LEVEL_H)
  199.     {
  200.         get_user_team (id, color, 9)
  201.         format (strName, 191, "%s(%s)^4[KONFIGOS][%s] ^3%s:",alive , playerTeamName, RANKS[PlayerRank[id]], name)
  202.         format (strText, 191, "^4%s", message)
  203.     }
  204.     else if(get_user_flags(id) & ADMIN_USER)
  205.     {
  206.         get_user_team (id, color, 9)
  207.         format (strName, 191, "%s(%s)^4[%s] ^3%s:",alive ,playerTeamName, RANKS[PlayerRank[id]], name)
  208.         format (strText, 191, "^1%s", message)
  209.     }
  210.        
  211.     format (message, 191, "%s ^1%s", strName, strText)
  212.     sendTeamMessage (color,isAlive, playerTeam)
  213.        
  214.     return PLUGIN_CONTINUE
  215. }
  216. public sendMessage (color[], alive)
  217. {
  218.     new teamName[10]
  219.    
  220.     for (new player = 1; player < maxPlayers; player++)
  221.     {
  222.         if (!is_user_connected(player))
  223.             continue
  224.         if((alive && is_user_alive(player)) || (!alive && !is_user_alive(player)) || (get_user_flags(player) && ADMIN_CHAT))
  225.         {
  226.             get_user_team (player, teamName, 9)
  227.             changeTeamInfo (player, color)
  228.             writeMessage (player, message)
  229.             changeTeamInfo (player, teamName)
  230.         }
  231.     }
  232. }
  233. public sendTeamMessage (color[], alive, playerTeam)
  234. {
  235.     new teamName[10]
  236.    
  237.     for (new player = 1; player < maxPlayers; player++)
  238.     {
  239.         if (!is_user_connected(player))
  240.             continue
  241.        
  242.         if (get_user_team(player) == playerTeam || get_user_flags(player) & ADMIN_CHAT)
  243.         {
  244.             if (alive && is_user_alive(player) || !alive && !is_user_alive(player) || get_user_flags(player) & ADMIN_CHAT)
  245.             {
  246.                 get_user_team (player, teamName, 9)
  247.                 changeTeamInfo (player, color)
  248.                 writeMessage (player, message)
  249.                 changeTeamInfo (player, teamName)
  250.             }
  251.         }
  252.     }
  253. }
  254. public changeTeamInfo (player, team[])
  255. {
  256.     message_begin (MSG_ONE, teamInfo, _, player)  
  257.     write_byte (player)
  258.     write_string (team)
  259.     message_end()  
  260. }
  261. public writeMessage (player, message[])
  262. {
  263.     message_begin (MSG_ONE, sayText, {0, 0, 0}, player)
  264.     write_byte (player)
  265.     write_string (message)
  266.     message_end ()
  267. }
  268. stock bool:is_user_steam(id)
  269. {
  270.     static dp_pointer;
  271.    
  272.     if (dp_pointer || (dp_pointer = get_cvar_pointer("dp_r_id_provider")))
  273.     {
  274.         server_cmd("dp_clientinfo %d", id);
  275.         server_exec();
  276.         return (get_pcvar_num(dp_pointer) == 2) ? true : false;
  277.     }
  278.    
  279.     return false;
  280. }
  281. public client_connect(id) if(get_cvar_num("sv_rankrendszer_HUD")==1) setDisplay(id)
  282. public setDisplay(id) {
  283.     if(!is_user_connected(id)) return PLUGIN_CONTINUE
  284.    
  285.     get_user_stats(id, stats, bodyhits)
  286.    
  287.     for(new i=1; i <= 17; i++) {
  288.         if(stats[0] < szamok[0]) PlayerRank[id] = 0
  289.         else if(stats[0] >= szamok[17] && stats[0] < szamok[i]) PlayerRank[id] = i
  290.         else if(stats[0] >= szamok[17]) PlayerRank[id] = 18
  291.     }
  292.    
  293.     set_hudmessage(random(255),random(255),random(255), 0.0, 0.22, 0, 6.0, 12.0)
  294.     show_hudmessage(id, "^nÖléseid: %i ^nRang: %s", stats[0], RANKS[PlayerRank[id]])
  295.    
  296.     set_task(get_cvar_float("sv_rankrendszer_HUDtime"), "setDisplay", id)
  297.    
  298.     return PLUGIN_CONTINUE
  299. }
  300. stock colorchat(const id, const input[], any:...)
  301. {
  302.     new count = 1, players[32];
  303.     static msg[191];
  304.     vformat(msg, 190, input, 3);
  305.    
  306.     replace_all(msg, 190, "!g", "^4"); // Green Color
  307.     replace_all(msg, 190, "!y", "^1"); // Default Color
  308.     replace_all(msg, 190, "!t", "^3"); // Team Color
  309.    
  310.     if (id) players[0] = id; else get_players(players, count, "ch");
  311. {
  312.     for (new i = 0; i < count; i++)
  313.     {
  314.         if (is_user_connected(players[i]))
  315.         {
  316.             message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i]);
  317.             write_byte(players[i]);
  318.             write_string(msg);
  319.             message_end();
  320.         }
  321.     }
  322. }
  323. }
  324. /* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
  325. *{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1038\\ f0\\ fs16 \n\\ par }
  326. */

_________________
*pbT# Knife Hamarosan.


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Rang rendszer bug(még mindig)
HozzászólásElküldve:2016.09.04. 21:08 
Offline
Tiszteletbeli
Avatar

Csatlakozott:2015.07.14. 14:30
Hozzászólások:380
Megköszönt másnak: 43 alkalommal
Megköszönték neki: 30 alkalommal
Dettó ugyanaz..


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Rang rendszer bug(még mindig)
HozzászólásElküldve:2016.09.04. 21:14 
Offline
Beavatott
Avatar

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

Tessék.

_________________
Kép


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Rang rendszer bug(még mindig)
HozzászólásElküldve:2016.09.17. 11:45 
Offline
Tiszteletbeli
Avatar

Csatlakozott:2015.07.14. 14:30
Hozzászólások:380
Megköszönt másnak: 43 alkalommal
Megköszönték neki: 30 alkalommal
Ez is buggol .. Valaki?


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Rang rendszer bug(még mindig)
HozzászólásElküldve:2016.09.17. 13:19 
Offline
Őstag
Avatar

Csatlakozott:2015.07.27. 22:56
Hozzászólások:1367
Megköszönt másnak: 28 alkalommal
Megköszönték neki: 351 alkalommal
  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.51"
  10. #define AUTHOR "6lmasok,qKKKJ;>, RaZ_HU"
  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 Float:HUD_INTERVAL
  46.  
  47. new static color[10]
  48.  
  49. new const RANKS[MAXRANKS][] =
  50. {
  51.         "Silver I",
  52.         "Silver II",
  53.         "Silver III",
  54.         "Silver IV",
  55.         "Silver Elite",
  56.         "Silver Elite Mester",
  57.         "Arany Nova I",
  58.         "Arany Nova II",
  59.         "Arany Nova III",
  60.         "Arany Nova Mester",
  61.         "AK",
  62.         "Koszorus AK",
  63.         "Dupla AK",
  64.         "Sheriff",
  65.         "Sas",
  66.         "Sas Mester",
  67.         "Supreme",
  68.         "Global Elite",
  69.         "Legenda"
  70. }
  71.  
  72. #define size 19
  73.  
  74. new const szamok[size] =
  75. {
  76.         0,
  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", "chat")
  101.         register_clcmd("say rang", "chat")
  102.         register_clcmd ("say", "hook_say")
  103.         register_clcmd ("say_team", "hook_teamsay")
  104.  
  105.         register_cvar("sv_rankrendszer","1") // A plugin be- illetve kikapcsolása
  106.         register_cvar("sv_rankrendszer_HUD","1") // A HUD-ra való kijelzés be- illetve kikapcsolása
  107.         sethudtime()
  108.  
  109.         sayText = get_user_msgid ("SayText")
  110.         teamInfo = get_user_msgid ("TeamInfo")
  111.         maxPlayers = get_maxplayers()
  112.  
  113.         set_task(160.0, "korUzenet", 0, _, _, "b")
  114.  
  115.         register_message (sayText, "avoid_duplicated")
  116. }
  117.  
  118. public sethudtime()
  119. {
  120.         new refreshtime = register_cvar("sv_rankrendszer_HUDtime","0.9") // A HUD-ra való kijelzés frissítési ideje másodpercben
  121.         if (refreshtime == 0.9)
  122.         {
  123.             HUD_INTERVAL = 0.9
  124.         }
  125.         else if (refreshtime != 0.9)
  126.         {
  127.             HUD_INTERVAL = get_pcvar_float(refreshtime)
  128.         }
  129.  
  130.         return PLUGIN_CONTINUE
  131. }
  132.  
  133. public avoid_duplicated (msgId, msgDest, receiver)
  134. {
  135.         return PLUGIN_HANDLED
  136. }
  137.  
  138. public korUzenet()
  139. {
  140.         ColorChat( 0, "^3Írd be ^4/rang ^3vagy ^4rang ^3hogy megnézd hány ölés kell a következő ranghoz.")
  141.         return PLUGIN_HANDLED;
  142. }
  143.  
  144. public chat(id)
  145. {
  146.     new kills = get_player_kills(id)
  147.  
  148.     ColorChat( id, "^4Rangod: ^3%s ^1| ^4Ölések: ^3%d",RANKS[PlayerRank[id]], kills)
  149.  
  150.     if(PlayerRank[id] == MAXRANKS-1)
  151.     {
  152.         ColorChat( id, "^4Már elérted a legnagyobb ^4rangot.")
  153.     }
  154.     else
  155.     {
  156.         ColorChat( id, "^4Következő rang: ^3%s ^1| ^4A következő szinthez kell még: ^3%d",RANKS[PlayerRank[id]+1], szamok[PlayerRank[id]+1]-kills)
  157.     }
  158. }
  159.  
  160. public hook_say(id)
  161. {
  162.         read_args (message, 191)
  163.         remove_quotes (message)
  164.  
  165.         if (message[0] == '@' || message[0] == '/' || message[0] == '!' || equal (message, "")) // Ignores Admin Hud Messages, Admin Slash commands,
  166.         return PLUGIN_CONTINUE
  167.  
  168.         new name[32]
  169.         get_user_name (id, name, 31)
  170.  
  171.         new isAlive, alive[32]
  172.  
  173.         if (is_user_alive (id))
  174.         {
  175.             isAlive = 1
  176.             alive = "^1 "
  177.         }
  178.         else
  179.         {
  180.             isAlive = 0
  181.             alive = "^1*HALOTT* "
  182.         }
  183.  
  184.         //static color[10]
  185.  
  186.         if(get_user_flags(id)&ADMIN_CVAR)
  187.         {
  188.             //get_user_team (id, color, 9)
  189.             getTeam(id)
  190.             format (strName, 191, "%s^4[TULAJ][%s] ^3%s:", alive, RANKS[PlayerRank[id]], name)
  191.             format (strText, 191, "^4%s", message)
  192.         }
  193.  
  194.         else if(get_user_flags(id)&ADMIN_MAP)
  195.         {
  196.             getTeam(id)
  197.             format (strName, 191, "%s^4[ADMIN][%s] ^3%s:", alive, RANKS[PlayerRank[id]], name)
  198.             format (strText, 191, "^4%s", message)
  199.         }
  200.  
  201.         else if(get_user_flags(id)&ADMIN_MENU)
  202.         {
  203.             getTeam(id)
  204.             format (strName, 191, "%s^4[VIP][%s] ^3%s:", alive, RANKS[PlayerRank[id]], name)
  205.             format (strText, 191, "^4%s", message)
  206.         }
  207.  
  208.         else if(get_user_flags(id)&ADMIN_USER)
  209.         {
  210.             getTeam(id)
  211.             format (strName, 191, "%s^4[%s] ^3%s:",alive, RANKS[PlayerRank[id]], name)
  212.             format (strText, 191, "^1%s", message)
  213.         }
  214.  
  215.         format (message, 191, "%s ^1%s", strName, strText)
  216.         sendMessage (color, isAlive)
  217.  
  218.         return PLUGIN_CONTINUE
  219. }
  220.  
  221. public hook_teamsay(id)
  222. {
  223.         new playerTeam = get_user_team(id)
  224.         new playerTeamName[19]
  225.  
  226.         switch (playerTeam)
  227.         {
  228.             case 1:
  229.             copy (playerTeamName, 11, "Terrorista")
  230.  
  231.             case 2:
  232.             copy (playerTeamName, 18, "Anti-Terrorista")
  233.  
  234.             default:
  235.             copy (playerTeamName, 9, "Néző")
  236.         }
  237.  
  238.         read_args (message, 191)
  239.         remove_quotes (message)
  240.  
  241.         if (message[0] == '@' || message[0] == '/' || message[0] == '!' || equal (message, ""))
  242.         return PLUGIN_CONTINUE
  243.  
  244.         new isAlive, alive[32]
  245.  
  246.         if (is_user_alive (id))
  247.         {
  248.             isAlive = 1
  249.             alive = "^1 "
  250.         }
  251.         else
  252.         {
  253.             isAlive = 0
  254.             alive = "^1*HALOTT* "
  255.         }
  256.  
  257.         new name[32]
  258.         get_user_name (id, name, 31)
  259.  
  260.         //static color[10]
  261.  
  262.         if(get_user_flags(id)&ADMIN_CVAR)
  263.         {
  264.             //get_user_team (id, color, 9)
  265.             getTeam(id)
  266.             format (strName, 191, "%s(%s)^4[TULAJ][%s] ^3%s:",alive , playerTeamName, RANKS[PlayerRank[id]], name)
  267.             format (strText, 191, "^4%s", message)
  268.         }
  269.  
  270.         else if(get_user_flags(id)&ADMIN_MAP)
  271.         {
  272.             getTeam(id)
  273.             format (strName, 191, "%s(%s)^4[ADMIN][%s] ^3%s:",alive , playerTeamName, RANKS[PlayerRank[id]], name)
  274.             format (strText, 191, "^4%s", message)
  275.         }
  276.  
  277.         else if(get_user_flags(id)&ADMIN_MENU)
  278.         {
  279.             getTeam(id)
  280.             format (strName, 191, "%s(%s)^4[VIP][%s] ^3%s:",alive , playerTeamName, RANKS[PlayerRank[id]], name)
  281.             format (strText, 191, "^4%s", message)
  282.         }
  283.  
  284.         else if(get_user_flags(id)&ADMIN_USER)
  285.         {
  286.             getTeam(id)
  287.             format (strName, 191, "%s(%s)^4[%s] ^3%s:",alive ,playerTeamName, RANKS[PlayerRank[id]], name)
  288.             format (strText, 191, "^1%s", message)
  289.         }
  290.  
  291.         format (message, 191, "%s ^1%s", strName, strText)
  292.         sendTeamMessage (color,isAlive, playerTeam)
  293.  
  294.         return PLUGIN_CONTINUE
  295. }
  296.  
  297. public sendMessage (color[], alive)
  298. {
  299.         new teamName[10]
  300.  
  301.         for (new player = 1; player < maxPlayers; player++)
  302.         {
  303.         if (!is_user_connected(player))
  304.             continue
  305.         if((alive && is_user_alive(player)) || (!alive && !is_user_alive(player)) || (get_user_flags(player) && ADMIN_LISTEN))
  306.             {
  307.                     get_user_team (player, teamName, 9)
  308.                     changeTeamInfo (player, color)
  309.                     writeMessage (player, message)
  310.                     changeTeamInfo (player, teamName)
  311.             }
  312.         }
  313. }
  314.  
  315. public sendTeamMessage (color[], alive, playerTeam)
  316. {
  317.         new teamName[10]
  318.  
  319.         for (new player = 1; player < maxPlayers; player++)
  320.         {
  321.         if (!is_user_connected(player))
  322.             continue
  323.  
  324.         if (get_user_team(player) == playerTeam || get_user_flags(player) & ADMIN_LISTEN)
  325.             {
  326.                     if (alive && is_user_alive(player) || !alive && !is_user_alive(player) || get_user_flags(player) & ADMIN_LISTEN)
  327.                     {
  328.                         get_user_team (player, teamName, 9)
  329.                         changeTeamInfo (player, color)
  330.                         writeMessage (player, message)
  331.                         changeTeamInfo (player, teamName)
  332.                     }
  333.             }
  334.         }
  335. }
  336.  
  337. public changeTeamInfo (player, team[])
  338. {
  339.         message_begin (MSG_ONE, teamInfo, _, player)
  340.         write_byte (player)
  341.         write_string (team)
  342.         message_end()
  343. }
  344.  
  345. public writeMessage (player, message[])
  346. {
  347.         message_begin (MSG_ONE, sayText, {0, 0, 0}, player)
  348.         write_byte (player)
  349.         write_string (message)
  350.         message_end ()
  351. }
  352.  
  353. public client_putinserver(id)
  354. {
  355.         if(get_cvar_num("sv_rankrendszer")==0)
  356.         {
  357.             return PLUGIN_HANDLED
  358.         }
  359.         else if (get_cvar_num("sv_rankrendszer")==1 && get_cvar_num("sv_rankrendszer_HUD")==1)
  360.         {
  361.             set_task(HUD_INTERVAL, "setDisplay", id)
  362.         }
  363.  
  364.         return PLUGIN_CONTINUE
  365. }
  366.  
  367. public getTeam(id)
  368. {
  369.         get_user_team (id, color, 9)
  370. }
  371.  
  372. public setDisplay(id)
  373. {
  374.     if(!is_user_connected(id))
  375.         return PLUGIN_CONTINUE
  376.  
  377.     new kills = get_player_kills(id)
  378.  
  379.         if(kills < 50)
  380.         {
  381.             PlayerRank[id] = RANK_SILVER
  382.         }
  383.         else if(kills >= 50 && kills < 100)
  384.         {
  385.             PlayerRank[id] = RANK_SILVER2
  386.         }
  387.         else if(kills >= 100 && kills < 200)
  388.         {
  389.             PlayerRank[id] = RANK_SILVER3
  390.         }
  391.         else if(kills >= 200 && kills < 300)
  392.         {
  393.             PlayerRank[id] = RANK_SILVER4
  394.         }
  395.         else if(kills >= 300 && kills < 450)
  396.         {
  397.             PlayerRank[id] = RANK_SILVERE
  398.         }
  399.         else if(kills >= 450 && kills < 650)
  400.         {
  401.             PlayerRank[id] = RANK_SILVEREM
  402.         }
  403.         else if(kills >= 650 && kills < 800)
  404.         {
  405.             PlayerRank[id] = RANK_NOVA
  406.         }
  407.         else if(kills >= 800 && kills < 1000)
  408.         {
  409.             PlayerRank[id] = RANK_NOVA2
  410.         }
  411.         else if(kills >= 1000 && kills < 1200)
  412.         {
  413.             PlayerRank[id] = RANK_NOVA3
  414.         }
  415.         else if(kills >= 1200 && kills < 1400)
  416.         {
  417.             PlayerRank[id] = RANK_NOVAM
  418.         }
  419.         else if(kills >= 1400 && kills < 1700)
  420.         {
  421.             PlayerRank[id] = RANK_AK
  422.         }
  423.         else if(kills >= 1700 && kills < 2000)
  424.         {
  425.             PlayerRank[id] = RANK_AK2
  426.         }
  427.         else if(kills >= 2000 && kills < 2500)
  428.         {
  429.             PlayerRank[id] = RANK_DAK
  430.         }
  431.         else if(kills >= 2500 && kills < 3000)
  432.         {
  433.             PlayerRank[id] = RANK_SHERIFF
  434.         }
  435.         else if(kills >= 3000 && kills < 3600)
  436.         {
  437.             PlayerRank[id] = RANK_SAS
  438.         }
  439.         else if(kills >= 3600 && kills < 4500)
  440.         {
  441.             PlayerRank[id] = RANK_SASM
  442.         }
  443.         else if(kills >= 4500 && kills < 5500)
  444.         {
  445.             PlayerRank[id] = RANK_SUPREME
  446.         }
  447.         else if(kills >= 5500 && kills < 20000)
  448.         {
  449.             PlayerRank[id] = RANK_GLOBAL
  450.         }
  451.         else if(kills >= 20000)
  452.         {
  453.             PlayerRank[id] = RANK_UBER
  454.         }
  455.  
  456.         set_hudmessage(142, 239, 39, 0.01, 0.20, 0, 6.0, 1.0, 0.0, 0.0, -1)
  457.         show_hudmessage(id, "^nÖléseid: %i ^nRang: %s", kills, RANKS[PlayerRank[id]])
  458.        
  459.         set_task(HUD_INTERVAL, "setDisplay", id)
  460.  
  461.         return PLUGIN_CONTINUE
  462. }
  463.  
  464. stock ColorChat(const id, const input[], any:...)
  465. {
  466.         new count = 1, players[32];
  467.         static msg[191];
  468.         vformat(msg, 190, input, 3);
  469.  
  470.         replace_all(msg, 190, "!g", "^4"); // Green Color
  471.         replace_all(msg, 190, "!y", "^1"); // Default Color
  472.         replace_all(msg, 190, "!t", "^3"); // Team Color
  473.  
  474.         if (id) players[0] = id; else get_players(players, count, "ch");
  475.         {
  476.             for (new i = 0; i < count; i++)
  477.             {
  478.                     if (is_user_connected(players[i]))
  479.                     {
  480.                         message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i]);
  481.                         write_byte(players[i]);
  482.                         write_string(msg);
  483.                         message_end();
  484.                     }
  485.             }
  486.         }
  487. }
  488.  
  489. stock get_player_kills(id)
  490. {
  491.     new stats[8]
  492.     new bodyhits[8]
  493.     get_user_stats(id, stats, bodyhits);
  494.  
  495.     return stats[0];
  496. }


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


Ki van itt

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