Raised This Month: $ Target: $400
 0% 

i found help .. lock it


  
 
 
Thread Tools Display Modes
Prev Previous Post   Next Post Next
black_heart
Senior Member
Join Date: May 2015
Old 05-12-2015 , 12:21   Re: i found help .. lock it
Reply With Quote #3

Quote:
Originally Posted by SkumTomteN View Post
Do not remove the solution. it against the rules i believe.
i dont remove the solution ... i found it in other site ..
however here the solution

Code:
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <colorchat>
#include <fvault>
 
#define PLUGIN "Аdmіn Prefix + Rаnk Ѕуѕtеm}"
#define VЕRЅІОN "1.0"
#define AUTHOR "РіkасhоY - Lеgеndаrу Еаglе"
#define MaxLevels 28
#define IsPlayer(%1) (1 <= %1 <=  g_iMaxPlayers)
 
#define ADMIN1 "Аdmіnіѕtrаtоr"
#define ADMIN1_ACCESS ADMIN_LEVEL_A    
 
#define ADMIN2 "Wоlvеrіnе"
#define ADMIN2_ACCESS ADMIN_LEVEL_B
 
#define ADMIN3 "Іnvіѕіblе mаn"
#define ADMIN3_ACCESS ADMIN_LEVEL_C
 
#define ADMIN4 "Іrоn Маn"
#define ADMIN4_ACCESS ADMIN_LEVEL_D
 
#define ADMIN5 "НULК"
#define ADMIN5_ACCESS ADMIN_LEVEL_E
 
#define ADMIN6 "VАМРІRЕ"
#define ADMIN6_ACCESS ADMIN_LEVEL_F
 
#define ADMIN7 "Саt Wоmаn"
#define ADMIN7_ACCESS ADMIN_LEVEL_G
 
#define ADMIN8 "Тhе Flаѕh"
#define ADMIN8_ACCESS ADMIN_LEVEL_H
new gMaxPlayers, gMsgSayText, sync0bj, Level[33], eXP[33];
new ranks_hud, knife_xp, he_xp, hs_xp, kill_xp, kill_msg;
new const g_vault_name[] = "levelsz";
 
new const Levels[MaxLevels + 1] ={
    100,
    300,
    500,
    800,
    1000,
    1300,
    1600,
    2000,
    2500,
    3500,
    4500,
    5600,
    7500,
    8000,
    8100,
    8300,
    8500,
    9000,
    10000,
    12000,
    13000,
    15000,
    16000,
    19000,
    20000,
    22000,
    24000,
    26000,
    30000
}
 
new const Prefix[MaxLevels + 1][] ={
    "Luke Cage",
    "Ghost Rider",
    "Blade",
    "Spider-Man",
    "Daredevil",
    "Captain Ameria",
    "Ultron",
    "Loki",
    "Red Skull",
    "Thanos",
    "Ronan",
    "Magneto",
    "Dr.Doom",
    "Green Goblin",
    "Human Torch",
    "Thing",
    "Batman",
    "Jokera",
    "Robin",
    "Angel",
    "Colossus",
    "Cyclops",
    "Iceman",
    "Gambit",
    "Silver Surfer",
    "Doctor Strange",
    "Black Panter",
    "Nick Fury",
    "Professor X"
}
 
public plugin_init()
{
    register_plugin("Ranks & XP mod", "1.0", "alt.nick")
   
    register_event("DeathMsg","client_death","a")
    register_clcmd("say", "hook_say")
    register_clcmd("say_team", "hook_say")
   
    register_clcmd("say /rank", "cmdRank")
    register_clcmd("say_team /rank", "cmdRank")
 
   
    ranks_hud = register_cvar("ranks_hud", "1")     // Дали да се появява хъд при влизане в сървъра. В?лючено 1/0 Из?лючено
    knife_xp = register_cvar("knife_xp", "5")     // Кол?о ХР да дава за убийство с нож.
    he_xp = register_cvar("he_xp", "8")        // Кол?о ХР да дава за убийство с Granata (HE).
    hs_xp = register_cvar("hs_xp", "15")        // Кол?о ХР да дава за убийство с Headshot.
    kill_xp = register_cvar("kill_xp", "10")        // Кол?о ХР да дава за нормално убийство.    
    kill_msg = register_cvar("kill_msg", "1")    // Дали да по?азва ?ой сте убили и ?ол?о ХР сте получили. В?лючено 1/0 Из?лючено
   
    register_concmd ("amx_give_xp", "CmdAddXP", ADMIN_LEVEL_A, "<nick | ct | t | @all> <xp>")
   
    gMaxPlayers = get_maxplayers()
    gMsgSayText = get_user_msgid("SayText")
 
    sync0bj     = CreateHudSyncObj()
   
    fvault_load(g_vault_name)
}
public ShowHud(id)
{
    set_hudmessage(142, 239, 39, 0.01, 0.20, 0, 6.0, 1.0, 0.0, 0.0, -1)
    ShowSyncHudMsg(id, sync0bj,"Rank: %s ^nXP: %i ^n", Prefix[Level[id]], eXP[id])
}
 
public client_putinserver(id)
{
    if(get_pcvar_num(ranks_hud) == 1)
        set_task(1.0, "ShowHud", id, _, _, "b")
       
    if(Level[id] < MaxLevels-1)
        while(eXP[id] >= Levels[Level[id]])
            Level[id] += 1
}
 
public client_death(killer, victim, weapon, hitgroup, TK)
{        
    if(killer == victim)
        return PLUGIN_HANDLED
       
    new headshot = (hitgroup == HIT_HEAD) ? 1 : 0
   
    switch(weapon)
    {
        case CSW_HEGRENADE:
        {
            eXP[killer] += get_pcvar_num(he_xp)
            CheckLevel(killer)
            SaveData(killer)
            if(get_pcvar_num(kill_msg) == 1)
                client_print_color(killer, print_chat, "^4[Ranks]^1 poluchihte^4 %d XP^1 poradi ubiistwoto s^4 HE^1.", get_pcvar_num(he_xp))
               
            return PLUGIN_CONTINUE
        }
        case CSW_KNIFE:
        {
            eXP[killer] += get_pcvar_num(knife_xp)
            CheckLevel(killer)
            SaveData(killer)
            if(get_pcvar_num(kill_msg) == 1)
                client_print_color(killer, print_chat, "^4[Ranks]^1 poluchihte^4 %d XP^1 poradi ubiistwoto s^4 noj^1.", get_pcvar_num(knife_xp))
           
            return PLUGIN_CONTINUE
        }
    }
   
    if(headshot)
    {
        eXP[killer] += get_pcvar_num(hs_xp)
        CheckLevel(killer)
        SaveData(killer)
        if(get_pcvar_num(kill_msg) == 1)
            client_print_color(killer, print_chat, "^4[Ranks]^1 poluchihte^4 %d XP^1 poradi ubiistwoto s^4 HS^1.",get_pcvar_num(hs_xp))
       
        return PLUGIN_CONTINUE
    }
   
    else
    {
        eXP[killer] += get_pcvar_num(kill_xp)
        CheckLevel(killer)
        SaveData(killer)
        if(get_pcvar_num(kill_msg) == 1)
            client_print_color(killer, print_chat, "^4[Ranks]^1 poluchihte^4 %d XP^1.", get_pcvar_num(kill_xp))
   
        return PLUGIN_CONTINUE
    }
   
    CheckLevel(killer)
    SaveData(killer)
    return PLUGIN_CONTINUE
}
 
public CheckLevel(id)
{
    if(Level[id] < MaxLevels-1)
        while(eXP[id] >= Levels[Level[id]])
            Level[id] += 1
}
 
public client_connect(id)
{
    LoadData(id)
}
 
 
public client_disconnect(id)
{
    SaveData(id)
    eXP[id] = 0
    Level[id] = 0
    remove_task(id)
}
       
 
       
public cmdRank(id)
{
    if(is_user_connected(id))
        client_print_color(id, print_chat, "^4[Ranks]^1 Rank:^4 %s^1 | XP:^4 %d^1 | Level:^4 %d^1.", Prefix[Level[id]], eXP[id], Level[id])
}
       
public CmdAddXP (iPlayer, level, cid)
{
    if(!cmd_access(iPlayer, level, cid, 3)) return PLUGIN_HANDLED;
       
    new arg [32]
    read_argv (1, arg, 31)
 
    new AddXP [32]
    read_argv (2, AddXP, charsmax (AddXP))
 
    new XPtoGive = str_to_num (AddXP)
       
    new AdminName [32]
    new TargetName [32]
    get_user_name (iPlayer, AdminName, charsmax (AdminName))
       
    if(arg[0]=='@')
    {
        if(equali(arg[1],"All") || equali(arg[1],"ALL"))
        {
            new players[32], totalplayers, All
            get_players(players, totalplayers)
             
            for (new i = 0; i < totalplayers; i++)
            {
                All = players[i]
                       
                eXP[All] += XPtoGive
            }
           
            CheckLevel(All)
            client_print_color(0, print_chat, "^4[Ranks]^1 ^3%s^1 dade^3 %i^1 XP na vsichki ^3igrachi^1!", AdminName, XPtoGive)
        }
        else if(equali(arg[1],"T") || equali(arg[1],"t"))
        {
            new players[32], totalplayers, T
            get_players(players, totalplayers)
             
            for (new i = 0; i < totalplayers; i++)
            {
                if (get_user_team(players[i]) == 1)
                {
                    T = players[i]
                           
                    eXP[T] += XPtoGive
                }
            }
           
            CheckLevel(T)
            client_print_color(0, print_chat, "^4[Ranks]^1 ^3%s^1 dade^3 %i^1 XP na vsichki ^3 Teroristi^1.", AdminName, XPtoGive)
        }
        else if(equali(arg[1],"CT") || equali(arg[1],"ct"))
        {
            new players[32], totalplayers, CT
            get_players(players, totalplayers)
             
            for(new i = 0; i < totalplayers; i++)
            {
                if(get_user_team(players[i]) == 2)
                {
                    CT = players[i]
                           
                    eXP[CT] += XPtoGive
                }
            }
           
            CheckLevel(CT)
            client_print_color(0, print_chat, "^4[Ranks]^1 ^3%s^1 dade^3 %i^1 XP na wsichki ^3 Kontra-Teroristi^1!", AdminName, XPtoGive)
        }
    }
    else
    {
        new iTarget = cmd_target(iPlayer, arg, 3)
        get_user_name (iTarget, TargetName, charsmax (TargetName))
       
        if(iTarget)
        {
            eXP[iTarget] += XPtoGive
           
            CheckLevel(iTarget)
            client_print_color(0, print_chat, "^4[Ranks]^1 ^3%s^1 dade^3 %i^1 XP na^3 %s^1.", AdminName, XPtoGive, TargetName)
        }
    }
    return PLUGIN_HANDLED
}
 
bool:IsValidMessage( szMessage[ ], iLen )
{
    read_args( szMessage, iLen )
    remove_quotes( szMessage )
   
    new iPos, cChar
    while( 0 <= ( cChar = szMessage[ iPos++ ] ) <= 255 )
    {
        if( cChar != ' ' && cChar != '%' )
        {
            return true
        }
    }
   
    return false
}
 
public hook_say(id)
{
    if(!is_user_connected(id))
        return PLUGIN_HANDLED_MAIN
   
    new szArgs[192]
   
    if( !IsValidMessage(szArgs, charsmax(szArgs)))
        return PLUGIN_HANDLED_MAIN
 
    if(equal(szArgs,"")) return PLUGIN_HANDLED_MAIN
 
   
    new szName[32]
    get_user_name(id, szName, sizeof szName-1)
 
    new alive = is_user_alive(id)
 
    if(contain(szArgs,"@") >= 0)
    return  PLUGIN_HANDLED_MAIN
 
    if(get_user_flags(id) & ADMIN1_ACCESS)
    format(szArgs, 191,"^x03[%s] [%s] ^x04%s^x04 :^x03  %s", ADMIN1, Prefix[Level[id]], szName, szArgs)
   
    else if(get_user_flags(id) & ADMIN2_ACCESS)
    format(szArgs, 191, "^x03[%s] [%s] ^x04%s^x04 :^x03  %s", ADMIN2, Prefix[Level[id]], szName, szArgs)
   
    else if(get_user_flags(id) & ADMIN3_ACCESS)
    format(szArgs, 191, "^x03[%s] [%s] ^x04%s^x04 :^x03  %s", ADMIN3, Prefix[Level[id]], szName, szArgs)
   
    else if(get_user_flags(id) & ADMIN4_ACCESS)
    format(szArgs, 191, "^x03[%s] [%s] ^x04%s^x04 :^x03  %s", ADMIN4, Prefix[Level[id]], szName, szArgs)
 
    else if(get_user_flags(id) & ADMIN5_ACCESS)
    format(szArgs, 191, "^x03[%s] [%s] ^x04%s^x04 :^x03  %s", ADMIN5, Prefix[Level[id]], szName, szArgs)
   
    else if(get_user_flags(id) & ADMIN6_ACCESS)
    format(szArgs, 191, "^x03[%s] [%s] ^x04%s^x04 :^x03  %s", ADMIN6, Prefix[Level[id]], szName, szArgs)
 
    else if(get_user_flags(id) & ADMIN7_ACCESS)
    format(szArgs, 191, "^x03[%s] [%s] ^x04%s^x04 :^x03  %s", ADMIN7, Prefix[Level[id]], szName, szArgs)
   
    else
    format(szArgs, 191, "^x03%s] ^x03%s^x01 :  %s",  Prefix[Level[id]], szName, szArgs)
 
    for(new i = 1; i <= gMaxPlayers; i++)
    {
        if(!is_user_connected(i))
            continue
   
        if(alive && is_user_alive(i))
        {
            message_begin(MSG_ONE, gMsgSayText, {0, 0, 0}, i)
            write_byte(id)
            write_string(szArgs)
            message_end()
        }
        else if(!alive && !is_user_alive(i))
        {
            new format[192]
            formatex(format,191,"^x01*DEAD %s",szArgs)
            message_begin(MSG_ONE, gMsgSayText, {0, 0, 0}, i)
            write_byte(id)
            write_string(format)
            message_end()
        }
    }
       
    return PLUGIN_HANDLED_MAIN
}
 
public SaveData(id)
{
    new name[32];
    get_user_name(id,name,31);
    new vaultkey[64],vaultdata[256];
   
    format(vaultkey,63,"%s", name);
    format(vaultdata,255,"%i#%i#",eXP[id],Level[id]);
    fvault_set_data(g_vault_name,vaultkey,vaultdata);
   
    return PLUGIN_CONTINUE;
}
public LoadData(id)
{
    new name[32];
    get_user_name(id,name,31);
    new vaultkey[64],vaultdata[256];
   
    format(vaultkey,63,"%s",name);
    format(vaultdata,255,"%i#%i#",eXP[id],Level[id]);
    fvault_get_data(g_vault_name,vaultkey,vaultdata,charsmax(vaultdata));
   
    replace_all(vaultdata, 255, "#", " ");
    new playerxp[32], playerlevel[32];
    parse(vaultdata, playerxp, 31, playerlevel, 31);
   
    eXP[id] = str_to_num(playerxp);
    Level[id] = str_to_num(playerlevel);
   
    return PLUGIN_CONTINUE;
}
black_heart is offline
Send a message via Skype™ to black_heart
 



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 20:22.


Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Theme made by Freecode