hlmod.hu

Magyar Half-Life Mód közösség!
Pontos idő: 2024.04.27. 12:48



Jelenlévő felhasználók

Jelenleg 530 felhasználó van jelen :: 1 regisztrált, 0 rejtett és 529 vendég

A legtöbb felhasználó (1565 fő) 2020.11.21. 11:26-kor tartózkodott itt.

Regisztrált felhasználók: siska15 az 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  [ 3 hozzászólás ] 
Szerző Üzenet
 Hozzászólás témája: Rang rendszer bug
HozzászólásElküldve: 2016.08.28. 18:35 
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!
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. }


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Rang rendszer bug
HozzászólásElküldve: 2016.08.28. 23:42 
Offline
Félisten
Avatar

Csatlakozott: 2016.03.06. 14:20
Hozzászólások: 964
Megköszönt másnak: 102 alkalommal
Megköszönték neki: 134 alkalommal
hanyadik szinttől írja?

_________________
 ! Moderátori megjegyzés (kiki):
Kérlek csekkold az aláírásra vonatkozó szabályokat!


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Rang rendszer bug
HozzászólásElküldve: 2016.08.28. 23:48 
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
The Peace írta:
hanyadik szinttől írja?


Már az elsőtől.


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


Ki van itt

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