hlmod.hu
https://hlmod.hu/

Rang rendszer működő
https://hlmod.hu/viewtopic.php?f=29&t=26268
Oldal: 1 / 1

Szerző:  voga955 [ 2016.09.23. 19:31 ]
Hozzászólás témája:  Rang rendszer működő

Hali!

Már nagyon rég óta van bajom a rang rendszerekkel és várok a nagy Ő-re..A rang rendszerekkel a gondom a következő valahol vagy bugol az ölések száma minuszba számolja, nincsenek benne az admin prefixek,a játékos nem tud chaten új üzenetet írni csak az admin ecetera-ecetera. A következőre lenne szükségem tartalmazzon rang rendszert , admin prefixeket is jogokra, ne bugoljon ölésekbe, normálisan mindenki tudja írni, HALOTT/NÉZŐ szöveg magyarítás.

Aki tudna segíteni megköszönném, már régóta keresek ilyen rangrendszert de valamivel mindig gond volt eddig.

Szerző:  SmaCk [ 2016.09.23. 19:48 ]
Hozzászólás témája:  Re: Rang rendszer működő

Régen ezt raktad ki, ezzel mi a problémád? Én hónapokon át használtam és no problem :)
  1. #include <amxmodx>
  2.     #include <amxmisc>
  3.     #include <cstrike>
  4.     #include <csstats>
  5.     #include <colorchat>
  6.  
  7.     #pragma tabsize 0
  8.  
  9.     #define PLUGIN "Rankrendszer (HUD + prefix)"
  10.     #define VERSION "1.5"
  11.     #define AUTHOR "6lmasok,qKKKJ;>, RaZ_HU"
  12.  
  13.     #define ACCESS_LEVEL ADMIN_CHAT
  14.     #define ADMIN_LISTEN ADMIN_CHAT
  15.  
  16.     #define RANK_SILVER 0
  17.     #define RANK_SILVER2 1
  18.     #define RANK_SILVER3 2
  19.     #define RANK_SILVER4 3
  20.     #define RANK_SILVERE 4
  21.     #define RANK_SILVEREM 5
  22.     #define RANK_NOVA 6
  23.     #define RANK_NOVA2 7
  24.     #define RANK_NOVA3 8
  25.     #define RANK_NOVAM 9
  26.     #define RANK_AK 10
  27.     #define RANK_AK2 11
  28.     #define RANK_DAK 12
  29.     #define RANK_SHERIFF 13
  30.     #define RANK_SAS 14
  31.     #define RANK_SASM 15
  32.     #define RANK_SUPREME 16
  33.     #define RANK_GLOBAL 17
  34.     #define RANK_UBER 18
  35.  
  36.     #define MAXRANKS 19
  37.  
  38.     new message[192]
  39.  
  40.     new strName[191]
  41.     new strText[191]
  42.     new sayText
  43.     new teamInfo
  44.     new maxPlayers
  45.     new PlayerRank[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.         "Koszorús AK",
  64.         "Dupla AK",
  65.         "Sheriff",
  66.         "Sas",
  67.         "Sas Mester",
  68.         "Supreme",
  69.         "Global Elite",
  70.         "Veterán"
  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", "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, GREEN, "^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 hud(id)
  145.     {
  146.         new stats[8]
  147.     new bodyhits[8]
  148.         get_user_stats(id, stats, bodyhits)
  149.  
  150.         ColorChat( id, GREEN, "^4Rangod: ^3%s ^1| ^4Ölések: ^3%d",RANKS[PlayerRank[id]], stats[0])
  151.  
  152.         if(PlayerRank[id] == MAXRANKS-1)
  153.         {
  154.             //client_print(id, print_chat, "^4Rangod: ^3%s ^1| ^4Öléseid: ^3%d ^n^4A következő szinthez kell még: ^3%d",RANKS[PlayerRank[id]], stats[0],szamok[PlayerRank[id]]-stats[0])
  155.             ColorChat( id, GREEN, "^4Már elérted a legnagyobb ^4rangot.")
  156.         }
  157.         else
  158.         {
  159.             //client_print(id, print_chat, "^4Rangod: ^3%s ^1| ^4Öléseid: ^3%d ^n^4Már elérted a legnagyobb rangot.",RANKS[PlayerRank[id]], stats[0])
  160.             ColorChat( id, GREEN, "^4Következő rang: ^3%s ^1| ^4A következő szinthez kell még: ^3%d",RANKS[PlayerRank[id]+1], szamok[PlayerRank[id]]-stats[0])
  161.         }
  162.     }
  163.  
  164.     public hook_say(id)
  165.     {
  166.         read_args (message, 191)
  167.         remove_quotes (message)
  168.  
  169.         if (message[0] == '@' || message[0] == '/' || message[0] == '!' || equal (message, "")) // Ignores Admin Hud Messages, Admin Slash commands,
  170.         return PLUGIN_CONTINUE
  171.  
  172.         new name[32]
  173.         get_user_name (id, name, 31)
  174.  
  175.         new isAlive, alive[32]
  176.  
  177.         if (is_user_alive (id))
  178.         {
  179.             isAlive = 1
  180.             alive = "^1 "
  181.         }
  182.         else
  183.         {
  184.             isAlive = 0
  185.             alive = "^1*HALOTT* "
  186.         }
  187.  
  188.         //static color[10]
  189.  
  190.         if(get_user_flags(id)&ADMIN_CVAR)
  191.         {
  192.         getTeam(id)
  193.             format (strName, 191, "%s^4[TULAJDONOS][%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.         else if(get_user_flags(id)&ADMIN_MENU)
  204.         {
  205.         getTeam(id)
  206.             format (strName, 191, "%s^4[VIP][%s] ^3%s:", alive, RANKS[PlayerRank[id]], name)
  207.             format (strText, 191, "^4%s", message)
  208.         }
  209.     else if(get_user_flags(id)&ADMIN_RCON)
  210.         {
  211.         getTeam(id)
  212.             format (strName, 191, "%s^4[FőAdmin][%s] ^3%s:", alive, RANKS[PlayerRank[id]], name)
  213.             format (strText, 191, "^4%s", message)
  214.     }
  215.         else if(get_user_flags(id)&ADMIN_USER)
  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.         if(get_user_flags(id)&ADMIN_CVAR)
  270.         {
  271.             //get_user_team (id, color, 9)
  272.             getTeam(id)
  273.             format (strName, 191, "%s(%s)^4[TULAJDONOS][%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_MAP)
  278.         {
  279.             getTeam(id)
  280.             format (strName, 191, "%s(%s)^4[ADMIN][%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_MENU)
  285.         {
  286.             getTeam(id)
  287.             format (strName, 191, "%s(%s)^4[VIP][%s] ^3%s:",alive , playerTeamName, RANKS[PlayerRank[id]], name)
  288.             format (strText, 191, "^4%s", message)
  289.         }
  290.                   else if(get_user_flags(id)&ADMIN_RCON)
  291.         {
  292.             getTeam(id)
  293.             format (strName, 191, "%s(%s)^4[FőAdmin][%s] ^3%s:",alive , playerTeamName, RANKS[PlayerRank[id]], name)
  294.             format (strText, 191, "^4%s", message)
  295.     }
  296.         else if(get_user_flags(id) & ADMIN_USER)
  297.         {
  298.             getTeam(id)
  299.             format (strName, 191, "%s(%s)^4[%s] ^3%s:",alive ,playerTeamName, RANKS[PlayerRank[id]], name)
  300.             format (strText, 191, "^1%s", message)
  301.         }
  302.  
  303.         format (message, 191, "%s ^1%s", strName, strText)
  304.         sendTeamMessage (color,isAlive, playerTeam)
  305.  
  306.         return PLUGIN_CONTINUE 
  307.     }
  308.     public sendMessage (color[], alive)
  309.     {
  310.         new teamName[10]
  311.  
  312.         for (new player = 1; player < maxPlayers; player++)
  313.         {
  314.         if (!is_user_connected(player))
  315.             continue
  316.         if((alive && is_user_alive(player)) || (!alive && !is_user_alive(player)) || (get_user_flags(player) && ADMIN_LISTEN))
  317.             {
  318.                 get_user_team (player, teamName, 9)
  319.                 changeTeamInfo (player, color)
  320.                 writeMessage (player, message)
  321.                 changeTeamInfo (player, teamName)
  322.             }
  323.         }
  324.     }
  325.  
  326.     public sendTeamMessage (color[], alive, playerTeam)
  327.     {
  328.         new teamName[10]
  329.  
  330.         for (new player = 1; player < maxPlayers; player++)
  331.         {
  332.         if (!is_user_connected(player))
  333.             continue
  334.  
  335.         if (get_user_team(player) == playerTeam || get_user_flags(player) & ADMIN_LISTEN)
  336.             {
  337.                 if (alive && is_user_alive(player) || !alive && !is_user_alive(player) || get_user_flags(player) & ADMIN_LISTEN)
  338.                 {
  339.                     get_user_team (player, teamName, 9)
  340.                     changeTeamInfo (player, color)
  341.                     writeMessage (player, message)
  342.                     changeTeamInfo (player, teamName)
  343.                 }
  344.             }
  345.         }
  346.     }
  347.  
  348.     public changeTeamInfo (player, team[])
  349.     {
  350.         message_begin (MSG_ONE, teamInfo, _, player)   
  351.         write_byte (player)
  352.         write_string (team)
  353.         message_end()  
  354.     }
  355.  
  356.     public writeMessage (player, message[])
  357.     {
  358.         message_begin (MSG_ONE, sayText, {0, 0, 0}, player)
  359.         write_byte (player)
  360.         write_string (message)
  361.         message_end ()
  362.     }
  363.  
  364.     stock bool:is_user_steam(id)
  365.     {
  366.         static dp_pointer;
  367.  
  368.         if (dp_pointer || (dp_pointer = get_cvar_pointer("dp_r_id_provider")))
  369.         {
  370.             server_cmd("dp_clientinfo %d", id);
  371.             server_exec();
  372.             return (get_pcvar_num(dp_pointer) == 2) ? true : false;
  373.         }
  374.  
  375.         return false;
  376.     }
  377.  
  378.     public client_putinserver(id)
  379.     {
  380.         if(get_cvar_num("sv_rankrendszer")==0)
  381.         {
  382.             return PLUGIN_HANDLED
  383.         }
  384.         else if (get_cvar_num("sv_rankrendszer")==1 && get_cvar_num("sv_rankrendszer_HUD")==1)
  385.         {
  386.             set_task(HUD_INTERVAL, "setDisplay", id)
  387.         }
  388.         else
  389.         {
  390.             set_task(0.5, "remTask", id)
  391.         }
  392.  
  393.         return PLUGIN_CONTINUE
  394.     }
  395.  
  396.     public remTask(id)
  397.     {
  398.         remove_task(id, 0)
  399.     }
  400.  
  401.     public getTeam(id)
  402.     {
  403.         get_user_team (id, color, 9)
  404.     }
  405.  
  406.     public setDisplay(id)
  407.     {
  408.         if(!is_user_connected(id))
  409.             return PLUGIN_CONTINUE
  410.  
  411.     new stats[8]
  412.     new bodyhits[8]
  413.         get_user_stats(id, stats, bodyhits)
  414.  
  415.         if(stats[0] < 50)
  416.         {
  417.             PlayerRank[id] = RANK_SILVER
  418.         }
  419.         else if(stats[0] >= 50 && stats[0] < 100)
  420.         {
  421.             PlayerRank[id] = RANK_SILVER2
  422.         }
  423.         else if(stats[0] >= 100 && stats[0] < 200)
  424.         {
  425.             PlayerRank[id] = RANK_SILVER3
  426.         }
  427.         else if(stats[0] >= 200 && stats[0] < 300)
  428.         {
  429.             PlayerRank[id] = RANK_SILVER4
  430.         }
  431.         else if(stats[0] >= 300 && stats[0] < 450)
  432.         {
  433.             PlayerRank[id] = RANK_SILVERE
  434.         }
  435.         else if(stats[0] >= 450 && stats[0] < 650)
  436.         {
  437.             PlayerRank[id] = RANK_SILVEREM
  438.         }
  439.         else if(stats[0] >= 650 && stats[0] < 800)
  440.         {
  441.             PlayerRank[id] = RANK_NOVA
  442.         }
  443.         else if(stats[0] >= 800 && stats[0] < 1000)
  444.         {
  445.             PlayerRank[id] = RANK_NOVA2
  446.         }
  447.         else if(stats[0] >= 1000 && stats[0] < 1200)
  448.         {
  449.             PlayerRank[id] = RANK_NOVA3
  450.         }
  451.         else if(stats[0] >= 1200 && stats[0] < 1400)
  452.         {
  453.             PlayerRank[id] = RANK_NOVAM
  454.         }
  455.         else if(stats[0] >= 1400 && stats[0] < 1700)
  456.         {
  457.             PlayerRank[id] = RANK_AK
  458.         }
  459.         else if(stats[0] >= 1700 && stats[0] < 2000)
  460.         {
  461.             PlayerRank[id] = RANK_AK2
  462.         }
  463.         else if(stats[0] >= 2000 && stats[0] < 2500)
  464.         {
  465.             PlayerRank[id] = RANK_DAK
  466.         }
  467.         else if(stats[0] >= 2500 && stats[0] < 3000)
  468.         {
  469.             PlayerRank[id] = RANK_SHERIFF
  470.         }
  471.         else if(stats[0] >= 3000 && stats[0] < 3600)
  472.         {
  473.             PlayerRank[id] = RANK_SAS
  474.         }
  475.         else if(stats[0] >= 3600 && stats[0] < 4500)
  476.         {
  477.             PlayerRank[id] = RANK_SASM
  478.         }
  479.         else if(stats[0] >= 4500 && stats[0] < 5500)
  480.         {
  481.             PlayerRank[id] = RANK_SUPREME
  482.         }
  483.         else if(stats[0] >= 5500 && stats[0] < 20000)
  484.         {
  485.             PlayerRank[id] = RANK_GLOBAL
  486.         }
  487.         else if(stats[0] >= 20000)
  488.         {
  489.             PlayerRank[id] = RANK_UBER
  490.         }
  491.  
  492.         set_hudmessage(random(255),random(255),random(255), 0.0, 0.19, 0, 6.0, 12.0)
  493.         show_hudmessage(id, "^nÖléseid: %i ^nRang: %s", stats[0], RANKS[PlayerRank[id]])
  494.         //show_hudmessage(id, "%s ^nÖléseid: %i ^nRang: %s", name, stats[0], RANKS[PlayerRank[id]])
  495.  
  496.         set_task(HUD_INTERVAL, "setDisplay", id)
  497.  
  498.         return PLUGIN_CONTINUE
  499.     }
  500.     stock colorchat(const id, const input[], any:...)
  501.     {
  502.         new count = 1, players[32];
  503.         static msg[191];
  504.         vformat(msg, 190, input, 3);
  505.  
  506.         replace_all(msg, 190, "!g", "^4"); // Green Color
  507.         replace_all(msg, 190, "!y", "^1"); // Default Color
  508.         replace_all(msg, 190, "!t", "^3"); // Team Color
  509.  
  510.         if (id) players[0] = id; else get_players(players, count, "ch");
  511.         {
  512.             for (new i = 0; i < count; i++)
  513.             {
  514.                 if (is_user_connected(players[i]))
  515.                 {
  516.                     message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i]);
  517.                     write_byte(players[i]);
  518.                     write_string(msg);
  519.                     message_end();
  520.                 }
  521.             }
  522.         }
  523.     }

Szerző:  regener [ 2016.09.23. 20:53 ]
Hozzászólás témája:  Re: Rang rendszer működő

Annyi hogy legalul kell lennie és más chat plugin ne menjen a szerón, akkor nincs bug...

Szerző:  voga955 [ 2016.09.23. 21:22 ]
Hozzászólás témája:  Re: Rang rendszer működő

Ezek mind megvannak.. És nem is olyan bug van ,hogy dupla szöveg vagy bármi hanem valami miatt a játékosok mikor írnak és amit admin írt utoljára szöveget azt dobja ki ,de most amit SmaCk küldött annál eddig ez jó sőt a rangok között sincsenek bugok remélem még nem léptünk Silver II-re ott majd kiderül ,köszönöm azért a segítségeteket!

Szerző:  TheWalking [ 2017.06.11. 16:12 ]
Hozzászólás témája:  Re: Rang rendszer működő

SmaCk írta:
Régen ezt raktad ki, ezzel mi a problémád? Én hónapokon át használtam és no problem :)
  1. #include <amxmodx>
  2.     #include <amxmisc>
  3.     #include <cstrike>
  4.     #include <csstats>
  5.     #include <colorchat>
  6.  
  7.     #pragma tabsize 0
  8.  
  9.     #define PLUGIN "Rankrendszer (HUD + prefix)"
  10.     #define VERSION "1.5"
  11.     #define AUTHOR "6lmasok,qKKKJ;>, RaZ_HU"
  12.  
  13.     #define ACCESS_LEVEL ADMIN_CHAT
  14.     #define ADMIN_LISTEN ADMIN_CHAT
  15.  
  16.     #define RANK_SILVER 0
  17.     #define RANK_SILVER2 1
  18.     #define RANK_SILVER3 2
  19.     #define RANK_SILVER4 3
  20.     #define RANK_SILVERE 4
  21.     #define RANK_SILVEREM 5
  22.     #define RANK_NOVA 6
  23.     #define RANK_NOVA2 7
  24.     #define RANK_NOVA3 8
  25.     #define RANK_NOVAM 9
  26.     #define RANK_AK 10
  27.     #define RANK_AK2 11
  28.     #define RANK_DAK 12
  29.     #define RANK_SHERIFF 13
  30.     #define RANK_SAS 14
  31.     #define RANK_SASM 15
  32.     #define RANK_SUPREME 16
  33.     #define RANK_GLOBAL 17
  34.     #define RANK_UBER 18
  35.  
  36.     #define MAXRANKS 19
  37.  
  38.     new message[192]
  39.  
  40.     new strName[191]
  41.     new strText[191]
  42.     new sayText
  43.     new teamInfo
  44.     new maxPlayers
  45.     new PlayerRank[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.         "Koszorús AK",
  64.         "Dupla AK",
  65.         "Sheriff",
  66.         "Sas",
  67.         "Sas Mester",
  68.         "Supreme",
  69.         "Global Elite",
  70.         "Veterán"
  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", "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, GREEN, "^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 hud(id)
  145.     {
  146.         new stats[8]
  147.     new bodyhits[8]
  148.         get_user_stats(id, stats, bodyhits)
  149.  
  150.         ColorChat( id, GREEN, "^4Rangod: ^3%s ^1| ^4Ölések: ^3%d",RANKS[PlayerRank[id]], stats[0])
  151.  
  152.         if(PlayerRank[id] == MAXRANKS-1)
  153.         {
  154.             //client_print(id, print_chat, "^4Rangod: ^3%s ^1| ^4Öléseid: ^3%d ^n^4A következő szinthez kell még: ^3%d",RANKS[PlayerRank[id]], stats[0],szamok[PlayerRank[id]]-stats[0])
  155.             ColorChat( id, GREEN, "^4Már elérted a legnagyobb ^4rangot.")
  156.         }
  157.         else
  158.         {
  159.             //client_print(id, print_chat, "^4Rangod: ^3%s ^1| ^4Öléseid: ^3%d ^n^4Már elérted a legnagyobb rangot.",RANKS[PlayerRank[id]], stats[0])
  160.             ColorChat( id, GREEN, "^4Következő rang: ^3%s ^1| ^4A következő szinthez kell még: ^3%d",RANKS[PlayerRank[id]+1], szamok[PlayerRank[id]]-stats[0])
  161.         }
  162.     }
  163.  
  164.     public hook_say(id)
  165.     {
  166.         read_args (message, 191)
  167.         remove_quotes (message)
  168.  
  169.         if (message[0] == '@' || message[0] == '/' || message[0] == '!' || equal (message, "")) // Ignores Admin Hud Messages, Admin Slash commands,
  170.         return PLUGIN_CONTINUE
  171.  
  172.         new name[32]
  173.         get_user_name (id, name, 31)
  174.  
  175.         new isAlive, alive[32]
  176.  
  177.         if (is_user_alive (id))
  178.         {
  179.             isAlive = 1
  180.             alive = "^1 "
  181.         }
  182.         else
  183.         {
  184.             isAlive = 0
  185.             alive = "^1*HALOTT* "
  186.         }
  187.  
  188.         //static color[10]
  189.  
  190.         if(get_user_flags(id)&ADMIN_CVAR)
  191.         {
  192.         getTeam(id)
  193.             format (strName, 191, "%s^4[TULAJDONOS][%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.         else if(get_user_flags(id)&ADMIN_MENU)
  204.         {
  205.         getTeam(id)
  206.             format (strName, 191, "%s^4[VIP][%s] ^3%s:", alive, RANKS[PlayerRank[id]], name)
  207.             format (strText, 191, "^4%s", message)
  208.         }
  209.     else if(get_user_flags(id)&ADMIN_RCON)
  210.         {
  211.         getTeam(id)
  212.             format (strName, 191, "%s^4[FőAdmin][%s] ^3%s:", alive, RANKS[PlayerRank[id]], name)
  213.             format (strText, 191, "^4%s", message)
  214.     }
  215.         else if(get_user_flags(id)&ADMIN_USER)
  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.         if(get_user_flags(id)&ADMIN_CVAR)
  270.         {
  271.             //get_user_team (id, color, 9)
  272.             getTeam(id)
  273.             format (strName, 191, "%s(%s)^4[TULAJDONOS][%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_MAP)
  278.         {
  279.             getTeam(id)
  280.             format (strName, 191, "%s(%s)^4[ADMIN][%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_MENU)
  285.         {
  286.             getTeam(id)
  287.             format (strName, 191, "%s(%s)^4[VIP][%s] ^3%s:",alive , playerTeamName, RANKS[PlayerRank[id]], name)
  288.             format (strText, 191, "^4%s", message)
  289.         }
  290.                   else if(get_user_flags(id)&ADMIN_RCON)
  291.         {
  292.             getTeam(id)
  293.             format (strName, 191, "%s(%s)^4[FőAdmin][%s] ^3%s:",alive , playerTeamName, RANKS[PlayerRank[id]], name)
  294.             format (strText, 191, "^4%s", message)
  295.     }
  296.         else if(get_user_flags(id) & ADMIN_USER)
  297.         {
  298.             getTeam(id)
  299.             format (strName, 191, "%s(%s)^4[%s] ^3%s:",alive ,playerTeamName, RANKS[PlayerRank[id]], name)
  300.             format (strText, 191, "^1%s", message)
  301.         }
  302.  
  303.         format (message, 191, "%s ^1%s", strName, strText)
  304.         sendTeamMessage (color,isAlive, playerTeam)
  305.  
  306.         return PLUGIN_CONTINUE 
  307.     }
  308.     public sendMessage (color[], alive)
  309.     {
  310.         new teamName[10]
  311.  
  312.         for (new player = 1; player < maxPlayers; player++)
  313.         {
  314.         if (!is_user_connected(player))
  315.             continue
  316.         if((alive && is_user_alive(player)) || (!alive && !is_user_alive(player)) || (get_user_flags(player) && ADMIN_LISTEN))
  317.             {
  318.                 get_user_team (player, teamName, 9)
  319.                 changeTeamInfo (player, color)
  320.                 writeMessage (player, message)
  321.                 changeTeamInfo (player, teamName)
  322.             }
  323.         }
  324.     }
  325.  
  326.     public sendTeamMessage (color[], alive, playerTeam)
  327.     {
  328.         new teamName[10]
  329.  
  330.         for (new player = 1; player < maxPlayers; player++)
  331.         {
  332.         if (!is_user_connected(player))
  333.             continue
  334.  
  335.         if (get_user_team(player) == playerTeam || get_user_flags(player) & ADMIN_LISTEN)
  336.             {
  337.                 if (alive && is_user_alive(player) || !alive && !is_user_alive(player) || get_user_flags(player) & ADMIN_LISTEN)
  338.                 {
  339.                     get_user_team (player, teamName, 9)
  340.                     changeTeamInfo (player, color)
  341.                     writeMessage (player, message)
  342.                     changeTeamInfo (player, teamName)
  343.                 }
  344.             }
  345.         }
  346.     }
  347.  
  348.     public changeTeamInfo (player, team[])
  349.     {
  350.         message_begin (MSG_ONE, teamInfo, _, player)   
  351.         write_byte (player)
  352.         write_string (team)
  353.         message_end()  
  354.     }
  355.  
  356.     public writeMessage (player, message[])
  357.     {
  358.         message_begin (MSG_ONE, sayText, {0, 0, 0}, player)
  359.         write_byte (player)
  360.         write_string (message)
  361.         message_end ()
  362.     }
  363.  
  364.     stock bool:is_user_steam(id)
  365.     {
  366.         static dp_pointer;
  367.  
  368.         if (dp_pointer || (dp_pointer = get_cvar_pointer("dp_r_id_provider")))
  369.         {
  370.             server_cmd("dp_clientinfo %d", id);
  371.             server_exec();
  372.             return (get_pcvar_num(dp_pointer) == 2) ? true : false;
  373.         }
  374.  
  375.         return false;
  376.     }
  377.  
  378.     public client_putinserver(id)
  379.     {
  380.         if(get_cvar_num("sv_rankrendszer")==0)
  381.         {
  382.             return PLUGIN_HANDLED
  383.         }
  384.         else if (get_cvar_num("sv_rankrendszer")==1 && get_cvar_num("sv_rankrendszer_HUD")==1)
  385.         {
  386.             set_task(HUD_INTERVAL, "setDisplay", id)
  387.         }
  388.         else
  389.         {
  390.             set_task(0.5, "remTask", id)
  391.         }
  392.  
  393.         return PLUGIN_CONTINUE
  394.     }
  395.  
  396.     public remTask(id)
  397.     {
  398.         remove_task(id, 0)
  399.     }
  400.  
  401.     public getTeam(id)
  402.     {
  403.         get_user_team (id, color, 9)
  404.     }
  405.  
  406.     public setDisplay(id)
  407.     {
  408.         if(!is_user_connected(id))
  409.             return PLUGIN_CONTINUE
  410.  
  411.     new stats[8]
  412.     new bodyhits[8]
  413.         get_user_stats(id, stats, bodyhits)
  414.  
  415.         if(stats[0] < 50)
  416.         {
  417.             PlayerRank[id] = RANK_SILVER
  418.         }
  419.         else if(stats[0] >= 50 && stats[0] < 100)
  420.         {
  421.             PlayerRank[id] = RANK_SILVER2
  422.         }
  423.         else if(stats[0] >= 100 && stats[0] < 200)
  424.         {
  425.             PlayerRank[id] = RANK_SILVER3
  426.         }
  427.         else if(stats[0] >= 200 && stats[0] < 300)
  428.         {
  429.             PlayerRank[id] = RANK_SILVER4
  430.         }
  431.         else if(stats[0] >= 300 && stats[0] < 450)
  432.         {
  433.             PlayerRank[id] = RANK_SILVERE
  434.         }
  435.         else if(stats[0] >= 450 && stats[0] < 650)
  436.         {
  437.             PlayerRank[id] = RANK_SILVEREM
  438.         }
  439.         else if(stats[0] >= 650 && stats[0] < 800)
  440.         {
  441.             PlayerRank[id] = RANK_NOVA
  442.         }
  443.         else if(stats[0] >= 800 && stats[0] < 1000)
  444.         {
  445.             PlayerRank[id] = RANK_NOVA2
  446.         }
  447.         else if(stats[0] >= 1000 && stats[0] < 1200)
  448.         {
  449.             PlayerRank[id] = RANK_NOVA3
  450.         }
  451.         else if(stats[0] >= 1200 && stats[0] < 1400)
  452.         {
  453.             PlayerRank[id] = RANK_NOVAM
  454.         }
  455.         else if(stats[0] >= 1400 && stats[0] < 1700)
  456.         {
  457.             PlayerRank[id] = RANK_AK
  458.         }
  459.         else if(stats[0] >= 1700 && stats[0] < 2000)
  460.         {
  461.             PlayerRank[id] = RANK_AK2
  462.         }
  463.         else if(stats[0] >= 2000 && stats[0] < 2500)
  464.         {
  465.             PlayerRank[id] = RANK_DAK
  466.         }
  467.         else if(stats[0] >= 2500 && stats[0] < 3000)
  468.         {
  469.             PlayerRank[id] = RANK_SHERIFF
  470.         }
  471.         else if(stats[0] >= 3000 && stats[0] < 3600)
  472.         {
  473.             PlayerRank[id] = RANK_SAS
  474.         }
  475.         else if(stats[0] >= 3600 && stats[0] < 4500)
  476.         {
  477.             PlayerRank[id] = RANK_SASM
  478.         }
  479.         else if(stats[0] >= 4500 && stats[0] < 5500)
  480.         {
  481.             PlayerRank[id] = RANK_SUPREME
  482.         }
  483.         else if(stats[0] >= 5500 && stats[0] < 20000)
  484.         {
  485.             PlayerRank[id] = RANK_GLOBAL
  486.         }
  487.         else if(stats[0] >= 20000)
  488.         {
  489.             PlayerRank[id] = RANK_UBER
  490.         }
  491.  
  492.         set_hudmessage(random(255),random(255),random(255), 0.0, 0.19, 0, 6.0, 12.0)
  493.         show_hudmessage(id, "^nÖléseid: %i ^nRang: %s", stats[0], RANKS[PlayerRank[id]])
  494.         //show_hudmessage(id, "%s ^nÖléseid: %i ^nRang: %s", name, stats[0], RANKS[PlayerRank[id]])
  495.  
  496.         set_task(HUD_INTERVAL, "setDisplay", id)
  497.  
  498.         return PLUGIN_CONTINUE
  499.     }
  500.     stock colorchat(const id, const input[], any:...)
  501.     {
  502.         new count = 1, players[32];
  503.         static msg[191];
  504.         vformat(msg, 190, input, 3);
  505.  
  506.         replace_all(msg, 190, "!g", "^4"); // Green Color
  507.         replace_all(msg, 190, "!y", "^1"); // Default Color
  508.         replace_all(msg, 190, "!t", "^3"); // Team Color
  509.  
  510.         if (id) players[0] = id; else get_players(players, count, "ch");
  511.         {
  512.             for (new i = 0; i < count; i++)
  513.             {
  514.                 if (is_user_connected(players[i]))
  515.                 {
  516.                     message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i]);
  517.                     write_byte(players[i]);
  518.                     write_string(msg);
  519.                     message_end();
  520.                 }
  521.             }
  522.         }
  523.     }





ebből hogy tudom kivenni hogy ne irja tulajdonos admin stb mert egyedi prefix a szerveren

Szerző:  {S}noopy [ 2017.06.11. 17:24 ]
Hozzászólás témája:  Re: Rang rendszer működő

TheWalking írta:
SmaCk írta:
Régen ezt raktad ki, ezzel mi a problémád? Én hónapokon át használtam és no problem :)
  1. #include <amxmodx>
  2.     #include <amxmisc>
  3.     #include <cstrike>
  4.     #include <csstats>
  5.     #include <colorchat>
  6.  
  7.     #pragma tabsize 0
  8.  
  9.     #define PLUGIN "Rankrendszer (HUD + prefix)"
  10.     #define VERSION "1.5"
  11.     #define AUTHOR "6lmasok,qKKKJ;>, RaZ_HU"
  12.  
  13.     #define ACCESS_LEVEL ADMIN_CHAT
  14.     #define ADMIN_LISTEN ADMIN_CHAT
  15.  
  16.     #define RANK_SILVER 0
  17.     #define RANK_SILVER2 1
  18.     #define RANK_SILVER3 2
  19.     #define RANK_SILVER4 3
  20.     #define RANK_SILVERE 4
  21.     #define RANK_SILVEREM 5
  22.     #define RANK_NOVA 6
  23.     #define RANK_NOVA2 7
  24.     #define RANK_NOVA3 8
  25.     #define RANK_NOVAM 9
  26.     #define RANK_AK 10
  27.     #define RANK_AK2 11
  28.     #define RANK_DAK 12
  29.     #define RANK_SHERIFF 13
  30.     #define RANK_SAS 14
  31.     #define RANK_SASM 15
  32.     #define RANK_SUPREME 16
  33.     #define RANK_GLOBAL 17
  34.     #define RANK_UBER 18
  35.  
  36.     #define MAXRANKS 19
  37.  
  38.     new message[192]
  39.  
  40.     new strName[191]
  41.     new strText[191]
  42.     new sayText
  43.     new teamInfo
  44.     new maxPlayers
  45.     new PlayerRank[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.         "Koszorús AK",
  64.         "Dupla AK",
  65.         "Sheriff",
  66.         "Sas",
  67.         "Sas Mester",
  68.         "Supreme",
  69.         "Global Elite",
  70.         "Veterán"
  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", "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, GREEN, "^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 hud(id)
  145.     {
  146.         new stats[8]
  147.     new bodyhits[8]
  148.         get_user_stats(id, stats, bodyhits)
  149.  
  150.         ColorChat( id, GREEN, "^4Rangod: ^3%s ^1| ^4Ölések: ^3%d",RANKS[PlayerRank[id]], stats[0])
  151.  
  152.         if(PlayerRank[id] == MAXRANKS-1)
  153.         {
  154.             //client_print(id, print_chat, "^4Rangod: ^3%s ^1| ^4Öléseid: ^3%d ^n^4A következő szinthez kell még: ^3%d",RANKS[PlayerRank[id]], stats[0],szamok[PlayerRank[id]]-stats[0])
  155.             ColorChat( id, GREEN, "^4Már elérted a legnagyobb ^4rangot.")
  156.         }
  157.         else
  158.         {
  159.             //client_print(id, print_chat, "^4Rangod: ^3%s ^1| ^4Öléseid: ^3%d ^n^4Már elérted a legnagyobb rangot.",RANKS[PlayerRank[id]], stats[0])
  160.             ColorChat( id, GREEN, "^4Következő rang: ^3%s ^1| ^4A következő szinthez kell még: ^3%d",RANKS[PlayerRank[id]+1], szamok[PlayerRank[id]]-stats[0])
  161.         }
  162.     }
  163.  
  164.     public hook_say(id)
  165.     {
  166.         read_args (message, 191)
  167.         remove_quotes (message)
  168.  
  169.         if (message[0] == '@' || message[0] == '/' || message[0] == '!' || equal (message, "")) // Ignores Admin Hud Messages, Admin Slash commands,
  170.         return PLUGIN_CONTINUE
  171.  
  172.         new name[32]
  173.         get_user_name (id, name, 31)
  174.  
  175.         new isAlive, alive[32]
  176.  
  177.         if (is_user_alive (id))
  178.         {
  179.             isAlive = 1
  180.             alive = "^1 "
  181.         }
  182.         else
  183.         {
  184.             isAlive = 0
  185.             alive = "^1*HALOTT* "
  186.         }
  187.  
  188.         //static color[10]
  189.  
  190.         if(get_user_flags(id)&ADMIN_CVAR)
  191.         {
  192.         getTeam(id)
  193.             format (strName, 191, "%s^4[TULAJDONOS][%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.         else if(get_user_flags(id)&ADMIN_MENU)
  204.         {
  205.         getTeam(id)
  206.             format (strName, 191, "%s^4[VIP][%s] ^3%s:", alive, RANKS[PlayerRank[id]], name)
  207.             format (strText, 191, "^4%s", message)
  208.         }
  209.     else if(get_user_flags(id)&ADMIN_RCON)
  210.         {
  211.         getTeam(id)
  212.             format (strName, 191, "%s^4[FőAdmin][%s] ^3%s:", alive, RANKS[PlayerRank[id]], name)
  213.             format (strText, 191, "^4%s", message)
  214.     }
  215.         else if(get_user_flags(id)&ADMIN_USER)
  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.         if(get_user_flags(id)&ADMIN_CVAR)
  270.         {
  271.             //get_user_team (id, color, 9)
  272.             getTeam(id)
  273.             format (strName, 191, "%s(%s)^4[TULAJDONOS][%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_MAP)
  278.         {
  279.             getTeam(id)
  280.             format (strName, 191, "%s(%s)^4[ADMIN][%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_MENU)
  285.         {
  286.             getTeam(id)
  287.             format (strName, 191, "%s(%s)^4[VIP][%s] ^3%s:",alive , playerTeamName, RANKS[PlayerRank[id]], name)
  288.             format (strText, 191, "^4%s", message)
  289.         }
  290.                   else if(get_user_flags(id)&ADMIN_RCON)
  291.         {
  292.             getTeam(id)
  293.             format (strName, 191, "%s(%s)^4[FőAdmin][%s] ^3%s:",alive , playerTeamName, RANKS[PlayerRank[id]], name)
  294.             format (strText, 191, "^4%s", message)
  295.     }
  296.         else if(get_user_flags(id) & ADMIN_USER)
  297.         {
  298.             getTeam(id)
  299.             format (strName, 191, "%s(%s)^4[%s] ^3%s:",alive ,playerTeamName, RANKS[PlayerRank[id]], name)
  300.             format (strText, 191, "^1%s", message)
  301.         }
  302.  
  303.         format (message, 191, "%s ^1%s", strName, strText)
  304.         sendTeamMessage (color,isAlive, playerTeam)
  305.  
  306.         return PLUGIN_CONTINUE 
  307.     }
  308.     public sendMessage (color[], alive)
  309.     {
  310.         new teamName[10]
  311.  
  312.         for (new player = 1; player < maxPlayers; player++)
  313.         {
  314.         if (!is_user_connected(player))
  315.             continue
  316.         if((alive && is_user_alive(player)) || (!alive && !is_user_alive(player)) || (get_user_flags(player) && ADMIN_LISTEN))
  317.             {
  318.                 get_user_team (player, teamName, 9)
  319.                 changeTeamInfo (player, color)
  320.                 writeMessage (player, message)
  321.                 changeTeamInfo (player, teamName)
  322.             }
  323.         }
  324.     }
  325.  
  326.     public sendTeamMessage (color[], alive, playerTeam)
  327.     {
  328.         new teamName[10]
  329.  
  330.         for (new player = 1; player < maxPlayers; player++)
  331.         {
  332.         if (!is_user_connected(player))
  333.             continue
  334.  
  335.         if (get_user_team(player) == playerTeam || get_user_flags(player) & ADMIN_LISTEN)
  336.             {
  337.                 if (alive && is_user_alive(player) || !alive && !is_user_alive(player) || get_user_flags(player) & ADMIN_LISTEN)
  338.                 {
  339.                     get_user_team (player, teamName, 9)
  340.                     changeTeamInfo (player, color)
  341.                     writeMessage (player, message)
  342.                     changeTeamInfo (player, teamName)
  343.                 }
  344.             }
  345.         }
  346.     }
  347.  
  348.     public changeTeamInfo (player, team[])
  349.     {
  350.         message_begin (MSG_ONE, teamInfo, _, player)   
  351.         write_byte (player)
  352.         write_string (team)
  353.         message_end()  
  354.     }
  355.  
  356.     public writeMessage (player, message[])
  357.     {
  358.         message_begin (MSG_ONE, sayText, {0, 0, 0}, player)
  359.         write_byte (player)
  360.         write_string (message)
  361.         message_end ()
  362.     }
  363.  
  364.     stock bool:is_user_steam(id)
  365.     {
  366.         static dp_pointer;
  367.  
  368.         if (dp_pointer || (dp_pointer = get_cvar_pointer("dp_r_id_provider")))
  369.         {
  370.             server_cmd("dp_clientinfo %d", id);
  371.             server_exec();
  372.             return (get_pcvar_num(dp_pointer) == 2) ? true : false;
  373.         }
  374.  
  375.         return false;
  376.     }
  377.  
  378.     public client_putinserver(id)
  379.     {
  380.         if(get_cvar_num("sv_rankrendszer")==0)
  381.         {
  382.             return PLUGIN_HANDLED
  383.         }
  384.         else if (get_cvar_num("sv_rankrendszer")==1 && get_cvar_num("sv_rankrendszer_HUD")==1)
  385.         {
  386.             set_task(HUD_INTERVAL, "setDisplay", id)
  387.         }
  388.         else
  389.         {
  390.             set_task(0.5, "remTask", id)
  391.         }
  392.  
  393.         return PLUGIN_CONTINUE
  394.     }
  395.  
  396.     public remTask(id)
  397.     {
  398.         remove_task(id, 0)
  399.     }
  400.  
  401.     public getTeam(id)
  402.     {
  403.         get_user_team (id, color, 9)
  404.     }
  405.  
  406.     public setDisplay(id)
  407.     {
  408.         if(!is_user_connected(id))
  409.             return PLUGIN_CONTINUE
  410.  
  411.     new stats[8]
  412.     new bodyhits[8]
  413.         get_user_stats(id, stats, bodyhits)
  414.  
  415.         if(stats[0] < 50)
  416.         {
  417.             PlayerRank[id] = RANK_SILVER
  418.         }
  419.         else if(stats[0] >= 50 && stats[0] < 100)
  420.         {
  421.             PlayerRank[id] = RANK_SILVER2
  422.         }
  423.         else if(stats[0] >= 100 && stats[0] < 200)
  424.         {
  425.             PlayerRank[id] = RANK_SILVER3
  426.         }
  427.         else if(stats[0] >= 200 && stats[0] < 300)
  428.         {
  429.             PlayerRank[id] = RANK_SILVER4
  430.         }
  431.         else if(stats[0] >= 300 && stats[0] < 450)
  432.         {
  433.             PlayerRank[id] = RANK_SILVERE
  434.         }
  435.         else if(stats[0] >= 450 && stats[0] < 650)
  436.         {
  437.             PlayerRank[id] = RANK_SILVEREM
  438.         }
  439.         else if(stats[0] >= 650 && stats[0] < 800)
  440.         {
  441.             PlayerRank[id] = RANK_NOVA
  442.         }
  443.         else if(stats[0] >= 800 && stats[0] < 1000)
  444.         {
  445.             PlayerRank[id] = RANK_NOVA2
  446.         }
  447.         else if(stats[0] >= 1000 && stats[0] < 1200)
  448.         {
  449.             PlayerRank[id] = RANK_NOVA3
  450.         }
  451.         else if(stats[0] >= 1200 && stats[0] < 1400)
  452.         {
  453.             PlayerRank[id] = RANK_NOVAM
  454.         }
  455.         else if(stats[0] >= 1400 && stats[0] < 1700)
  456.         {
  457.             PlayerRank[id] = RANK_AK
  458.         }
  459.         else if(stats[0] >= 1700 && stats[0] < 2000)
  460.         {
  461.             PlayerRank[id] = RANK_AK2
  462.         }
  463.         else if(stats[0] >= 2000 && stats[0] < 2500)
  464.         {
  465.             PlayerRank[id] = RANK_DAK
  466.         }
  467.         else if(stats[0] >= 2500 && stats[0] < 3000)
  468.         {
  469.             PlayerRank[id] = RANK_SHERIFF
  470.         }
  471.         else if(stats[0] >= 3000 && stats[0] < 3600)
  472.         {
  473.             PlayerRank[id] = RANK_SAS
  474.         }
  475.         else if(stats[0] >= 3600 && stats[0] < 4500)
  476.         {
  477.             PlayerRank[id] = RANK_SASM
  478.         }
  479.         else if(stats[0] >= 4500 && stats[0] < 5500)
  480.         {
  481.             PlayerRank[id] = RANK_SUPREME
  482.         }
  483.         else if(stats[0] >= 5500 && stats[0] < 20000)
  484.         {
  485.             PlayerRank[id] = RANK_GLOBAL
  486.         }
  487.         else if(stats[0] >= 20000)
  488.         {
  489.             PlayerRank[id] = RANK_UBER
  490.         }
  491.  
  492.         set_hudmessage(random(255),random(255),random(255), 0.0, 0.19, 0, 6.0, 12.0)
  493.         show_hudmessage(id, "^nÖléseid: %i ^nRang: %s", stats[0], RANKS[PlayerRank[id]])
  494.         //show_hudmessage(id, "%s ^nÖléseid: %i ^nRang: %s", name, stats[0], RANKS[PlayerRank[id]])
  495.  
  496.         set_task(HUD_INTERVAL, "setDisplay", id)
  497.  
  498.         return PLUGIN_CONTINUE
  499.     }
  500.     stock colorchat(const id, const input[], any:...)
  501.     {
  502.         new count = 1, players[32];
  503.         static msg[191];
  504.         vformat(msg, 190, input, 3);
  505.  
  506.         replace_all(msg, 190, "!g", "^4"); // Green Color
  507.         replace_all(msg, 190, "!y", "^1"); // Default Color
  508.         replace_all(msg, 190, "!t", "^3"); // Team Color
  509.  
  510.         if (id) players[0] = id; else get_players(players, count, "ch");
  511.         {
  512.             for (new i = 0; i < count; i++)
  513.             {
  514.                 if (is_user_connected(players[i]))
  515.                 {
  516.                     message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i]);
  517.                     write_byte(players[i]);
  518.                     write_string(msg);
  519.                     message_end();
  520.                 }
  521.             }
  522.         }
  523.     }





ebből hogy tudom kivenni hogy ne irja tulajdonos admin stb mert egyedi prefix a szerveren


Ha van egyedi prefixed és ezt berakod mellé akár a tulaj,admin,stb. rangokkal akár nem, bugolni fog. Vagy a sajátodat vedd ki vagy próbáld meg összeírni a 2-őt.Ha nem megy írd ki fórumra és kérj segítséget!

Szerző:  TheWalking [ 2017.06.11. 17:49 ]
Hozzászólás témája:  Re: Rang rendszer működő

{S}noopy írta:
TheWalking írta:
SmaCk írta:
Régen ezt raktad ki, ezzel mi a problémád? Én hónapokon át használtam és no problem :)
  1. #include <amxmodx>
  2.     #include <amxmisc>
  3.     #include <cstrike>
  4.     #include <csstats>
  5.     #include <colorchat>
  6.  
  7.     #pragma tabsize 0
  8.  
  9.     #define PLUGIN "Rankrendszer (HUD + prefix)"
  10.     #define VERSION "1.5"
  11.     #define AUTHOR "6lmasok,qKKKJ;>, RaZ_HU"
  12.  
  13.     #define ACCESS_LEVEL ADMIN_CHAT
  14.     #define ADMIN_LISTEN ADMIN_CHAT
  15.  
  16.     #define RANK_SILVER 0
  17.     #define RANK_SILVER2 1
  18.     #define RANK_SILVER3 2
  19.     #define RANK_SILVER4 3
  20.     #define RANK_SILVERE 4
  21.     #define RANK_SILVEREM 5
  22.     #define RANK_NOVA 6
  23.     #define RANK_NOVA2 7
  24.     #define RANK_NOVA3 8
  25.     #define RANK_NOVAM 9
  26.     #define RANK_AK 10
  27.     #define RANK_AK2 11
  28.     #define RANK_DAK 12
  29.     #define RANK_SHERIFF 13
  30.     #define RANK_SAS 14
  31.     #define RANK_SASM 15
  32.     #define RANK_SUPREME 16
  33.     #define RANK_GLOBAL 17
  34.     #define RANK_UBER 18
  35.  
  36.     #define MAXRANKS 19
  37.  
  38.     new message[192]
  39.  
  40.     new strName[191]
  41.     new strText[191]
  42.     new sayText
  43.     new teamInfo
  44.     new maxPlayers
  45.     new PlayerRank[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.         "Koszorús AK",
  64.         "Dupla AK",
  65.         "Sheriff",
  66.         "Sas",
  67.         "Sas Mester",
  68.         "Supreme",
  69.         "Global Elite",
  70.         "Veterán"
  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", "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, GREEN, "^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 hud(id)
  145.     {
  146.         new stats[8]
  147.     new bodyhits[8]
  148.         get_user_stats(id, stats, bodyhits)
  149.  
  150.         ColorChat( id, GREEN, "^4Rangod: ^3%s ^1| ^4Ölések: ^3%d",RANKS[PlayerRank[id]], stats[0])
  151.  
  152.         if(PlayerRank[id] == MAXRANKS-1)
  153.         {
  154.             //client_print(id, print_chat, "^4Rangod: ^3%s ^1| ^4Öléseid: ^3%d ^n^4A következő szinthez kell még: ^3%d",RANKS[PlayerRank[id]], stats[0],szamok[PlayerRank[id]]-stats[0])
  155.             ColorChat( id, GREEN, "^4Már elérted a legnagyobb ^4rangot.")
  156.         }
  157.         else
  158.         {
  159.             //client_print(id, print_chat, "^4Rangod: ^3%s ^1| ^4Öléseid: ^3%d ^n^4Már elérted a legnagyobb rangot.",RANKS[PlayerRank[id]], stats[0])
  160.             ColorChat( id, GREEN, "^4Következő rang: ^3%s ^1| ^4A következő szinthez kell még: ^3%d",RANKS[PlayerRank[id]+1], szamok[PlayerRank[id]]-stats[0])
  161.         }
  162.     }
  163.  
  164.     public hook_say(id)
  165.     {
  166.         read_args (message, 191)
  167.         remove_quotes (message)
  168.  
  169.         if (message[0] == '@' || message[0] == '/' || message[0] == '!' || equal (message, "")) // Ignores Admin Hud Messages, Admin Slash commands,
  170.         return PLUGIN_CONTINUE
  171.  
  172.         new name[32]
  173.         get_user_name (id, name, 31)
  174.  
  175.         new isAlive, alive[32]
  176.  
  177.         if (is_user_alive (id))
  178.         {
  179.             isAlive = 1
  180.             alive = "^1 "
  181.         }
  182.         else
  183.         {
  184.             isAlive = 0
  185.             alive = "^1*HALOTT* "
  186.         }
  187.  
  188.         //static color[10]
  189.  
  190.         if(get_user_flags(id)&ADMIN_CVAR)
  191.         {
  192.         getTeam(id)
  193.             format (strName, 191, "%s^4[TULAJDONOS][%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.         else if(get_user_flags(id)&ADMIN_MENU)
  204.         {
  205.         getTeam(id)
  206.             format (strName, 191, "%s^4[VIP][%s] ^3%s:", alive, RANKS[PlayerRank[id]], name)
  207.             format (strText, 191, "^4%s", message)
  208.         }
  209.     else if(get_user_flags(id)&ADMIN_RCON)
  210.         {
  211.         getTeam(id)
  212.             format (strName, 191, "%s^4[FőAdmin][%s] ^3%s:", alive, RANKS[PlayerRank[id]], name)
  213.             format (strText, 191, "^4%s", message)
  214.     }
  215.         else if(get_user_flags(id)&ADMIN_USER)
  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.         if(get_user_flags(id)&ADMIN_CVAR)
  270.         {
  271.             //get_user_team (id, color, 9)
  272.             getTeam(id)
  273.             format (strName, 191, "%s(%s)^4[TULAJDONOS][%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_MAP)
  278.         {
  279.             getTeam(id)
  280.             format (strName, 191, "%s(%s)^4[ADMIN][%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_MENU)
  285.         {
  286.             getTeam(id)
  287.             format (strName, 191, "%s(%s)^4[VIP][%s] ^3%s:",alive , playerTeamName, RANKS[PlayerRank[id]], name)
  288.             format (strText, 191, "^4%s", message)
  289.         }
  290.                   else if(get_user_flags(id)&ADMIN_RCON)
  291.         {
  292.             getTeam(id)
  293.             format (strName, 191, "%s(%s)^4[FőAdmin][%s] ^3%s:",alive , playerTeamName, RANKS[PlayerRank[id]], name)
  294.             format (strText, 191, "^4%s", message)
  295.     }
  296.         else if(get_user_flags(id) & ADMIN_USER)
  297.         {
  298.             getTeam(id)
  299.             format (strName, 191, "%s(%s)^4[%s] ^3%s:",alive ,playerTeamName, RANKS[PlayerRank[id]], name)
  300.             format (strText, 191, "^1%s", message)
  301.         }
  302.  
  303.         format (message, 191, "%s ^1%s", strName, strText)
  304.         sendTeamMessage (color,isAlive, playerTeam)
  305.  
  306.         return PLUGIN_CONTINUE 
  307.     }
  308.     public sendMessage (color[], alive)
  309.     {
  310.         new teamName[10]
  311.  
  312.         for (new player = 1; player < maxPlayers; player++)
  313.         {
  314.         if (!is_user_connected(player))
  315.             continue
  316.         if((alive && is_user_alive(player)) || (!alive && !is_user_alive(player)) || (get_user_flags(player) && ADMIN_LISTEN))
  317.             {
  318.                 get_user_team (player, teamName, 9)
  319.                 changeTeamInfo (player, color)
  320.                 writeMessage (player, message)
  321.                 changeTeamInfo (player, teamName)
  322.             }
  323.         }
  324.     }
  325.  
  326.     public sendTeamMessage (color[], alive, playerTeam)
  327.     {
  328.         new teamName[10]
  329.  
  330.         for (new player = 1; player < maxPlayers; player++)
  331.         {
  332.         if (!is_user_connected(player))
  333.             continue
  334.  
  335.         if (get_user_team(player) == playerTeam || get_user_flags(player) & ADMIN_LISTEN)
  336.             {
  337.                 if (alive && is_user_alive(player) || !alive && !is_user_alive(player) || get_user_flags(player) & ADMIN_LISTEN)
  338.                 {
  339.                     get_user_team (player, teamName, 9)
  340.                     changeTeamInfo (player, color)
  341.                     writeMessage (player, message)
  342.                     changeTeamInfo (player, teamName)
  343.                 }
  344.             }
  345.         }
  346.     }
  347.  
  348.     public changeTeamInfo (player, team[])
  349.     {
  350.         message_begin (MSG_ONE, teamInfo, _, player)   
  351.         write_byte (player)
  352.         write_string (team)
  353.         message_end()  
  354.     }
  355.  
  356.     public writeMessage (player, message[])
  357.     {
  358.         message_begin (MSG_ONE, sayText, {0, 0, 0}, player)
  359.         write_byte (player)
  360.         write_string (message)
  361.         message_end ()
  362.     }
  363.  
  364.     stock bool:is_user_steam(id)
  365.     {
  366.         static dp_pointer;
  367.  
  368.         if (dp_pointer || (dp_pointer = get_cvar_pointer("dp_r_id_provider")))
  369.         {
  370.             server_cmd("dp_clientinfo %d", id);
  371.             server_exec();
  372.             return (get_pcvar_num(dp_pointer) == 2) ? true : false;
  373.         }
  374.  
  375.         return false;
  376.     }
  377.  
  378.     public client_putinserver(id)
  379.     {
  380.         if(get_cvar_num("sv_rankrendszer")==0)
  381.         {
  382.             return PLUGIN_HANDLED
  383.         }
  384.         else if (get_cvar_num("sv_rankrendszer")==1 && get_cvar_num("sv_rankrendszer_HUD")==1)
  385.         {
  386.             set_task(HUD_INTERVAL, "setDisplay", id)
  387.         }
  388.         else
  389.         {
  390.             set_task(0.5, "remTask", id)
  391.         }
  392.  
  393.         return PLUGIN_CONTINUE
  394.     }
  395.  
  396.     public remTask(id)
  397.     {
  398.         remove_task(id, 0)
  399.     }
  400.  
  401.     public getTeam(id)
  402.     {
  403.         get_user_team (id, color, 9)
  404.     }
  405.  
  406.     public setDisplay(id)
  407.     {
  408.         if(!is_user_connected(id))
  409.             return PLUGIN_CONTINUE
  410.  
  411.     new stats[8]
  412.     new bodyhits[8]
  413.         get_user_stats(id, stats, bodyhits)
  414.  
  415.         if(stats[0] < 50)
  416.         {
  417.             PlayerRank[id] = RANK_SILVER
  418.         }
  419.         else if(stats[0] >= 50 && stats[0] < 100)
  420.         {
  421.             PlayerRank[id] = RANK_SILVER2
  422.         }
  423.         else if(stats[0] >= 100 && stats[0] < 200)
  424.         {
  425.             PlayerRank[id] = RANK_SILVER3
  426.         }
  427.         else if(stats[0] >= 200 && stats[0] < 300)
  428.         {
  429.             PlayerRank[id] = RANK_SILVER4
  430.         }
  431.         else if(stats[0] >= 300 && stats[0] < 450)
  432.         {
  433.             PlayerRank[id] = RANK_SILVERE
  434.         }
  435.         else if(stats[0] >= 450 && stats[0] < 650)
  436.         {
  437.             PlayerRank[id] = RANK_SILVEREM
  438.         }
  439.         else if(stats[0] >= 650 && stats[0] < 800)
  440.         {
  441.             PlayerRank[id] = RANK_NOVA
  442.         }
  443.         else if(stats[0] >= 800 && stats[0] < 1000)
  444.         {
  445.             PlayerRank[id] = RANK_NOVA2
  446.         }
  447.         else if(stats[0] >= 1000 && stats[0] < 1200)
  448.         {
  449.             PlayerRank[id] = RANK_NOVA3
  450.         }
  451.         else if(stats[0] >= 1200 && stats[0] < 1400)
  452.         {
  453.             PlayerRank[id] = RANK_NOVAM
  454.         }
  455.         else if(stats[0] >= 1400 && stats[0] < 1700)
  456.         {
  457.             PlayerRank[id] = RANK_AK
  458.         }
  459.         else if(stats[0] >= 1700 && stats[0] < 2000)
  460.         {
  461.             PlayerRank[id] = RANK_AK2
  462.         }
  463.         else if(stats[0] >= 2000 && stats[0] < 2500)
  464.         {
  465.             PlayerRank[id] = RANK_DAK
  466.         }
  467.         else if(stats[0] >= 2500 && stats[0] < 3000)
  468.         {
  469.             PlayerRank[id] = RANK_SHERIFF
  470.         }
  471.         else if(stats[0] >= 3000 && stats[0] < 3600)
  472.         {
  473.             PlayerRank[id] = RANK_SAS
  474.         }
  475.         else if(stats[0] >= 3600 && stats[0] < 4500)
  476.         {
  477.             PlayerRank[id] = RANK_SASM
  478.         }
  479.         else if(stats[0] >= 4500 && stats[0] < 5500)
  480.         {
  481.             PlayerRank[id] = RANK_SUPREME
  482.         }
  483.         else if(stats[0] >= 5500 && stats[0] < 20000)
  484.         {
  485.             PlayerRank[id] = RANK_GLOBAL
  486.         }
  487.         else if(stats[0] >= 20000)
  488.         {
  489.             PlayerRank[id] = RANK_UBER
  490.         }
  491.  
  492.         set_hudmessage(random(255),random(255),random(255), 0.0, 0.19, 0, 6.0, 12.0)
  493.         show_hudmessage(id, "^nÖléseid: %i ^nRang: %s", stats[0], RANKS[PlayerRank[id]])
  494.         //show_hudmessage(id, "%s ^nÖléseid: %i ^nRang: %s", name, stats[0], RANKS[PlayerRank[id]])
  495.  
  496.         set_task(HUD_INTERVAL, "setDisplay", id)
  497.  
  498.         return PLUGIN_CONTINUE
  499.     }
  500.     stock colorchat(const id, const input[], any:...)
  501.     {
  502.         new count = 1, players[32];
  503.         static msg[191];
  504.         vformat(msg, 190, input, 3);
  505.  
  506.         replace_all(msg, 190, "!g", "^4"); // Green Color
  507.         replace_all(msg, 190, "!y", "^1"); // Default Color
  508.         replace_all(msg, 190, "!t", "^3"); // Team Color
  509.  
  510.         if (id) players[0] = id; else get_players(players, count, "ch");
  511.         {
  512.             for (new i = 0; i < count; i++)
  513.             {
  514.                 if (is_user_connected(players[i]))
  515.                 {
  516.                     message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i]);
  517.                     write_byte(players[i]);
  518.                     write_string(msg);
  519.                     message_end();
  520.                 }
  521.             }
  522.         }
  523.     }





ebből hogy tudom kivenni hogy ne irja tulajdonos admin stb mert egyedi prefix a szerveren


Ha van egyedi prefixed és ezt berakod mellé akár a tulaj,admin,stb. rangokkal akár nem, bugolni fog. Vagy a sajátodat vedd ki vagy próbáld meg összeírni a 2-őt.Ha nem megy írd ki fórumra és kérj segítséget!








Igysem jó...kétszer írja ki amit írok.. zöld irást még ki tudod veni lehet az a baja

Szerző:  {S}noopy [ 2017.06.11. 17:56 ]
Hozzászólás témája:  Re: Rang rendszer működő

TheWalking írta:
{S}noopy írta:
TheWalking írta:




ebből hogy tudom kivenni hogy ne irja tulajdonos admin stb mert egyedi prefix a szerveren


Ha van egyedi prefixed és ezt berakod mellé akár a tulaj,admin,stb. rangokkal akár nem, bugolni fog. Vagy a sajátodat vedd ki vagy próbáld meg összeírni a 2-őt.Ha nem megy írd ki fórumra és kérj segítséget!








Igysem jó...kétszer írja ki amit írok.. zöld irást még ki tudod veni lehet az a baja


Küld el a 2 plugint amiket össze akarsz írni és megcsinálhatom.

Szerző:  TheWalking [ 2017.06.11. 18:03 ]
Hozzászólás témája:  Re: Rang rendszer működő

Az említett rangrendszer meg ez lenne az : viewtopic.php?f=101&t=17756

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