hlmod.hu
https://hlmod.hu/

Rang rendszer bug
https://hlmod.hu/viewtopic.php?f=9&t=26032
Oldal: 1 / 1

Szerző:  voga955 [2016.08.28. 18:35 ]
Hozzászólás témája:  Rang rendszer bug

Hali!
Van egy rangrendszerem eddig tökéletesen működött viszont ilyen 100 kill felett azt mutatja az embereknek hogy A következő ranghoz kell még: -70 ölés.
De nem értem miért kér - öléseket a leges legelején még nincs probléma csak a későbbiekben...

  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. }

Szerző:  The Peace [2016.08.28. 23:42 ]
Hozzászólás témája:  Re: Rang rendszer bug

hanyadik szinttől írja?

Szerző:  voga955 [2016.08.28. 23:48 ]
Hozzászólás témája:  Re: Rang rendszer bug

The Peace írta:
hanyadik szinttől írja?


Már az elsőtől.

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