hlmod.hu

Magyar Half-Life Mód közösség!
Pontos idő: 2024.03.29. 07:02



Jelenlévő felhasználók

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

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

Regisztrált felhasználók: Bing [Bot] 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  [ 2 hozzászólás ] 
Szerző Üzenet
 Hozzászólás témája: Rangrendszer hiba
HozzászólásElküldve: 2018.06.10. 17:30 
Offline
Tag
Avatar

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

_________________
|Az élet minden csatája arra jó, hogy tanuljunk valamit belőle,még azokból is, amelyeket elveszítünk..|


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Rangrendszer hiba
HozzászólásElküldve: 2018.06.10. 18:06 
Offline
Fanatikus

Csatlakozott: 2018.05.05. 18:34
Hozzászólások: 198
Megköszönt másnak: 39 alkalommal
Megköszönték neki: 8 alkalommal
Allchat van a szerveren vagy valami más admin prefixes plugin mert ha van az akózza.

_________________
Kép


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


Ki van itt

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