hlmod.hu

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



Jelenlévő felhasználók

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

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

Regisztrált felhasználók: Google [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ő


Lezárt fórum  A témát lezárták, nem szerkesztheted a hozzászólásaid, és nem küldhetsz új hozzászólást.  [ 4 hozzászólás ] 
Szerző Üzenet
HozzászólásElküldve: 2016.07.12. 12:07 
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
Tehát így kéne lennie :[Őrvezető|Lvl.1] Voga.: asd
És még is így van : [Őrvezető|Lvl.1]Voga.: asd

Ez egy rank rendszer , a probléma az hogy egy karaktert kihagy a prefix előtt és így ha valaki hosszabb mondatot írt még hosszabb lesz mint alapból lenne.

Kép:
Ezen is látható hogy ott még van egy hely karakternek, ebbe azért is vagyok olyan biztos mikor jönnek a hírdetések a szerveren akkor azt az kitölti.
Kép

sma:
  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.         "ŐrvezetĹ‘|Lvl.1",
  52.         "Tizedes|Lvl.2",
  53.         "SzakaszvezetĹ‘|Lvl.3",
  54.         "Őrmester|Lvl.4",
  55.         "TörzsĹ‘rmester|Lvl.5",
  56.         "FĹ‘törzsĹ‘rmester|Lvl.6",
  57.         "ZászlĂłs|Lvl.7",
  58.         "TörzszászlĂłs|Lvl.8",
  59.         "FĹ‘törzszászlĂłs|Lvl.9",
  60.         "Alhadnagy|Lvl.10",
  61.         "Hadnagy|Lvl.11",
  62.         "FĹ‘hadnagy|Lvl.12",
  63.         "Százados|Lvl.13",
  64.         "Őrnagy|Lvl.14",
  65.         "Alezredes|Lvl.15",
  66.         "Ezredes|Lvl.16",
  67.         "Dandártábornok|Lvl.17",
  68.         "VezĂ©rĹ‘rnagy|Lvl.18",
  69.         "VezĂ©rezredes|Lvl.19"
  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, "^4[-|MNK|-]^1ĂŤrd be ^4/rang ^1vagy ^4rang ^1hogy 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_RCON)
  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_LEVEL_H)
  198.         {
  199.             getTeam(id)
  200.             format (strName, 191, "%s^4[Configos][%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_BAN)
  205.         {
  206.             getTeam(id)
  207.             format (strName, 191, "%s^4[Admin][%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_RCON)
  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_LEVEL_H)
  274.         {
  275.             getTeam(id)
  276.             format (strName, 191, "%s(%s)^4[Configos][%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_BAN)
  281.         {
  282.             getTeam(id)
  283.             format (strName, 191, "%s(%s)^4[Admin][%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(255, 0, 0, 0.01, 0.20, 1, 6.0, 1.0, 0.0, 0.0, -1)
  485.         show_hudmessage(id, "-|MNK|- Team^n---------------^nĂ–lĂ©seid: %i ^nRang: %s^n---------------", 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.     }


Hozzászólás jelentése
Vissza a tetejére
   
 
HozzászólásElküldve: 2016.07.12. 13:16 
Offline
Tiszteletbeli
Avatar

Csatlakozott: 2015.04.10. 19:49
Hozzászólások: 610
Megköszönt másnak: 53 alkalommal
Megköszönték neki: 147 alkalommal
alive = "^1 "
Itt az a fölösleges space.

Edit: azt nem is néztem regener :D

_________________
Néha itt, de többször nem.

Ők köszönték meg Akosch:. nek ezt a hozzászólást: voga955 (2016.07.12. 13:37)
  Népszerűség: 2.27%


Hozzászólás jelentése
Vissza a tetejére
   
 
HozzászólásElküldve: 2016.07.12. 13:26 
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
294.sor
  1. format (message, 191, "%s ^1%s", strName, strText)

->
  1. format (message, 191, "%s^1%s", strName, strText)


Akosch:.
Az a neve (és a prefix) elé menne, de neki az üzenet előtt lévő szóköz nem kell :)

Ők köszönték meg regener nek ezt a hozzászólást: voga955 (2016.07.12. 13:37)
  Népszerűség: 2.27%


Hozzászólás jelentése
Vissza a tetejére
   
 
HozzászólásElküldve: 2016.07.12. 13:37 
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
Köszi srácok!


Hozzászólás jelentése
Vissza a tetejére
   
 
Hozzászólások megjelenítése:  Rendezés  
Lezárt fórum  A témát lezárták, nem szerkesztheted a hozzászólásaid, és nem küldhetsz új hozzászólást.  [ 4 hozzászólás ] 


Ki van itt

Jelenlévő fórumozók: nincs regisztrált felhasználó valamint 11 vendég


Nem nyithatsz témákat ebben a fórumban.
Nem 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