Jump to content
Welcome, Guest
Existing user? Sign In

Sign In



Sign Up
Jică Măcelaru'

VIP Classic - FIORIGINAL.RO (vip_fioriginal.amxx)

Recommended Posts

@bighit, pune acest  fisier in folderul includehttps://www13.zippyshare.com/v/jp8L42Ev/file.html

Apoi compileaza-l!

@alyn_pgl, poti spune mai detaliat? Vrei sa pui gradele vip in users.ini si nu stii cum?

Daca vrei sa faci asta, te duci la nick-ul respectiv unde vrei sa pui acces vip, iar la flag-urile de acces adaugi un "r". 

Exemplu: "Nick" "parola" "abcdefr" "a"

Share this post


Link to post
Share on other sites

user ini  de la admini ?.  sau le fac alt fel?     

care poate sa imi modifice  un plugin vip va rog   cu user  separat  pentru a  le da vip la playeri 

Share this post


Link to post
Share on other sites

Intri un users.ini, ti-am spus, și modificia flagul adminului caruia vrei sa ii dai Vip si adaugi flagul "r".

Daca nu te descurci, lasa-mi datele de admin ale unui player căruia dorești sa ii lasi vip si îți arat eu ce sa adaugi.

Share this post


Link to post
Share on other sites

Salut baieti am si eu versiunea 5.1 la pluginul asta si pana acum ceva timp a functionat perfect,am intrat in sursa sa modific comenzile si cateva texte si sa scot 2 arme dar am o problema dupa compilare si cand il pun pe server...la menu cand iti arata gen awp+deagle+set de grenazi nu imi scrie in menu deagle o sa las mai jos o poza si sa vedeti la ce ma refer si poate ii gazim o rezolvare.Multumesc

 

20181226202332_1.jpg

Share this post


Link to post
Share on other sites
Spoiler

#include <amxmodx>
#include <cstrike>
#include <fun>
#include <hamsandwich>
#include <engine>
#include <fakemeta>
#include <colorchat>

#define VIP_LEVEL_ACCES ADMIN_LEVEL_H

#define SCOREATTRIB_NONE    0
#define SCOREATTRIB_DEAD    ( 1 << 0 )
#define SCOREATTRIB_BOMB    ( 1 << 1 )
#define SCOREATTRIB_VIP     ( 1 << 2 )

#define REMOVE_FLAGS "t"

new const RMaps [ ] [ ] =
{
    "35hp",
    "awp_",
    "31hp",
    "1hp",
    "100hp"
};

new const g_szBeginning[ ] = "[V.I.P CS:GO]"

const PRIMARY_WEAPONS_BIT_SUM = (1<<CSW_SCOUT)|(1<<CSW_XM1014)|(1<<CSW_MAC10)|(1<<CSW_AUG)|(1<<CSW_UMP45)|(1<<CSW_SG550)|(1<<CSW_GALIL)|(1<<CSW_FAMAS)|(1<<CSW_AWP)|(1<<CSW_MP5NAVY)|(1<<CSW_M249)|(1<<CSW_M3)|(1<<CSW_M4A1)|(1<<CSW_TMP)|(1<<CSW_G3SG1)|(1<<CSW_SG552)|(1<<CSW_AK47)|(1<<CSW_P90);
const SECONDARY_WEAPONS_BIT_SUM = (1<<CSW_P228)|(1<<CSW_ELITE)|(1<<CSW_FIVESEVEN)|(1<<CSW_USP)|(1<<CSW_GLOCK18)|(1<<CSW_DEAGLE);

new g_szMessage[256];
new round[33] = 0;
new cvar_vip_maxap, cvar_vip_maxhp, cvar_vip_showC, cvar_vip_showH, cvar_vip_in_out, cvar_tag, cvar_start_hp, cvar_start_ap, cvar_start_money, cvar_vip_jump, cvar_hp_kill, cvar_ap_kill, jumpnum[33], bool: dojump[33], SyncHudMessage;

public plugin_init() 
{
    register_plugin("Classic VIP-FIROGINAL.RO", "5.1.3", "Devil aKa. [email protected]");
    
    RegisterHam(Ham_Spawn, "player", "Spawn", 1);
    
    register_clcmd("say /vip", "vip_info");
    register_clcmd("say", "handle_say");
    register_clcmd("say_team", "handle_say");
    
    register_event("DeathMsg", "eDeathMsg", "a");
    register_message(get_user_msgid( "ScoreAttrib" ), "MessageScoreAttrib");
    RegisterHam(Ham_Spawn, "player", "HAM_Spawn_Post", 1);    

    cvar_tag = register_cvar("amx_vip_tag", "VIP");

    cvar_start_hp = register_cvar("amx_start_hp", "100");
    cvar_start_ap = register_cvar("amx_start_ap", "0");
    cvar_start_money = register_cvar("amx_start_money", "800");
    cvar_vip_jump = register_cvar("amx_vip_jump", "3" );
    cvar_hp_kill = register_cvar("amx_vip_addhp", "10");    
    cvar_ap_kill = register_cvar("amx_vip_addap", "10");
    cvar_vip_in_out = register_cvar("amx_vip_in_out", "1");
    cvar_vip_showC = register_cvar("amx_vip_show_chat", "1");
    cvar_vip_showH = register_cvar("amx_vip_show_hud", "1");
    cvar_vip_maxhp = register_cvar("amx_vip_maxhp", "180");
    cvar_vip_maxap = register_cvar("amx_vip_maxap", "200");    

    set_task(120.0, "mesaj_info", _, _, _, "b");
    set_task( 1.0, "TaskDisplayVips", _, _, _, "b", 0 );
    SyncHudMessage = CreateHudSyncObj( );        
}

public HAM_Spawn_Post(id)
{
    if(is_user_alive(id) && get_user_flags(id) & VIP_LEVEL_ACCES)
    {
        round[id]++
        
        if(round[id]>=6)
            vip_menu(id)
    }
}

public vip_menu(id) 
{
    if(!is_user_alive(id))
        return;    
    
    if(!(get_user_flags(id) & VIP_LEVEL_ACCES))
        return;
    
    new menu
    switch(cs_get_user_team(id))
    {
        case CS_TEAM_CT:
        {
            menu = menu_create("\y[\rVIP Classic\y] \wMeniu \yVIP", "menu_ammunition");
            menu_additem(menu, "M4a1+Deagle+Set grenazi", "1");
            menu_additem(menu, "Awp+Deagle+Set grenazi", "2");
            menu_additem(menu, "Ak47+Deagle+Set grenazi", "3");
        }
    
        case CS_TEAM_T:
        {
            menu = menu_create("\y[\rVIP Classic\y] \wMeniu \yVIP", "menu_ammunition");
            menu_additem(menu, "Ak47+Deagle+Set grenazi", "1");
            menu_additem(menu, "Awp+Deagle+Set grenazi", "2");
            menu_additem(menu, "M4a1+Deagle+Set grenazi", "3");
        }
    }
    menu_display(id, menu, 0)
}

public menu_ammunition ( id, menu, item ) 
{
    new tag[32];
    get_pcvar_string(cvar_tag, tag, charsmax(tag));
    
    if(item == MENU_EXIT)
    {
        return PLUGIN_HANDLED;
    }

    new data[6], szName[64];
    new access, callback;
    menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback);
    new key = str_to_num(data);

    if(cs_get_user_team(id) == CS_TEAM_CT)
        switch(key)
    {
        case 1:
    {
            drop_weapons(id, 1)
            drop_weapons(id, 2)
            give_item(id, "weapon_knife");    
            give_item(id, "weapon_m4a1");
            give_item(id, "weapon_deagle");
            give_item(id, "weapon_hegrenade");
            give_item(id, "weapon_flashbang");
            cs_set_user_bpammo(id, CSW_HEGRENADE, 1);
            cs_set_user_bpammo(id, CSW_FLASHBANG, 2);
            cs_set_user_bpammo(id, CSW_M4A1, 90);
            cs_set_user_bpammo(id, CSW_DEAGLE, 35);
            ColorChat(id,GREEN,"^4%s ^1Ai ales ^4M4a1^1+^4Deagle^1+^4Set grenazi^1.",tag);
    }
        case 2:
    {
            drop_weapons(id, 1)
            drop_weapons(id, 2)
            give_item(id, "weapon_knife");
            give_item(id, "weapon_awp");
            give_item(id, "weapon_deagle");
            give_item(id, "weapon_hegrenade");
            give_item(id, "weapon_flashbang");
            cs_set_user_bpammo(id, CSW_HEGRENADE, 1);
            cs_set_user_bpammo(id, CSW_FLASHBANG, 2);
            cs_set_user_bpammo(id, CSW_AWP, 30);
            cs_set_user_bpammo(id, CSW_DEAGLE, 35);
            ColorChat(id,GREEN,"^4%s ^1Ai ales ^4Awp^1+^4Deagle^1+^4Set grenazi^1.",tag);
    }
        case 3:
    {
            drop_weapons(id, 1)
            drop_weapons(id, 2)
            give_item(id, "weapon_knife");
            give_item(id, "weapon_ak47");
            give_item(id, "weapon_deagle");
            give_item(id, "weapon_hegrenade");
            give_item(id, "weapon_flashbang");
            cs_set_user_bpammo(id, CSW_HEGRENADE, 1);
            cs_set_user_bpammo(id, CSW_FLASHBANG, 2);
            cs_set_user_bpammo(id, CSW_AK47, 28);
            cs_set_user_bpammo(id, CSW_DEAGLE, 35);
            ColorChat(id,GREEN,"^4%s ^1Ai ales ^4Ak47^1+^4Deagle^1+^4Set grenazi^1.",tag);

    }      
    
}   
    if(cs_get_user_team(id) == CS_TEAM_T)
        switch(key)
    {
        case 1:
    {
            drop_weapons(id, 1)
            drop_weapons(id, 2)
            give_item(id, "weapon_knife");
            give_item(id, "weapon_ak47");
            give_item(id, "weapon_deagle");
            give_item(id, "weapon_hegrenade");
            give_item(id, "weapon_flashbang");
            cs_set_user_bpammo(id, CSW_HEGRENADE, 1);
            cs_set_user_bpammo(id, CSW_FLASHBANG, 2);
            cs_set_user_bpammo(id, CSW_AK47, 90);
            cs_set_user_bpammo(id, CSW_DEAGLE, 35);
            ColorChat(id,GREEN,"^4%s ^1Ai ales ^4Ak47^1+^4Deagle^1+^4Set grenazi^1.",tag);
    }      
        case 2:
    {
            drop_weapons(id, 1)
            drop_weapons(id, 2)
            give_item(id, "weapon_knife");
            give_item(id, "weapon_awp");
            give_item(id, "weapon_deagle");
            give_item(id, "weapon_hegrenade");
            give_item(id, "weapon_flashbang");
            give_item(id, "weapon_smokegrenade");
            cs_set_user_bpammo(id, CSW_FLASHBANG, 2);
            cs_set_user_bpammo(id, CSW_AWP, 30);
            cs_set_user_bpammo(id, CSW_DEAGLE, 35);
            ColorChat(id,GREEN,"^4%s ^1Ai ales ^4Awp^1+^4Deagle^1+^4Set grenazi^1.",tag);
    }
        case 3:
    {
            drop_weapons(id, 1)
            drop_weapons(id, 2)
            give_item(id, "weapon_knife");
            give_item(id, "weapon_m4a1");
            give_item(id, "weapon_deagle");
            give_item(id, "weapon_hegrenade");
            give_item(id, "weapon_flashbang");
            cs_set_user_bpammo(id, CSW_HEGRENADE, 1);
            cs_set_user_bpammo(id, CSW_FLASHBANG, 2);
            cs_set_user_bpammo(id, CSW_M4A1, 22);
            cs_set_user_bpammo(id, CSW_DEAGLE, 35);
            ColorChat(id,GREEN,"^4%s ^1Ai ales ^4M4a1^1+^4Deagle^1+^4Set grenazi^1.",tag);
    }      
    }
    menu_destroy(menu);
    return PLUGIN_HANDLED;  
}

public Spawn(id) 

    if(!is_user_alive(id))
        return;
    
    new CsTeams:team = cs_get_user_team(id) 
    if(get_user_flags(id) & VIP_LEVEL_ACCES) 
    {
        switch(team) 
        {
        case CS_TEAM_T: 
        {
            set_user_health(id, get_pcvar_num(cvar_start_hp));
            set_user_armor(id, get_pcvar_num(cvar_start_ap));
            cs_set_user_money(id, cs_get_user_money(id) + get_pcvar_num(cvar_start_money));
        }
        case CS_TEAM_CT: 
        {
            set_user_health(id, get_pcvar_num( cvar_start_hp ));
            set_user_armor(id, get_pcvar_num( cvar_start_ap ));
            cs_set_user_money(id, cs_get_user_money(id) + get_pcvar_num(cvar_start_money));
        }
        }
    }
    
    new MapName[32]; get_mapname(MapName, sizeof(MapName));
    for (new i = 0; i < sizeof (RMaps); i ++)
    {
        if(equali (MapName, RMaps)) 
        {
            remove_user_flags (id, read_flags(REMOVE_FLAGS));
        }
    }
}

public client_putinserver(id) 
{    
    set_task(2.0, "in", id);
    if(get_user_flags(id) & VIP_LEVEL_ACCES)
    {
        jumpnum[id] = 0;
        dojump[id] = false;
        round[id] = 0;
    }    
}

public client_disconnect(id)
{
    set_task(2.0, "out", id);

    if(get_user_flags(id) & VIP_LEVEL_ACCES)
    {
        jumpnum[id] = 0;
        dojump[id] = false;
        round[id] = 0;
    }
}

public client_PreThink( id )
{
    if(!is_user_alive(id)) 
        return PLUGIN_CONTINUE;

    new BUTON = get_user_button(id)
    new OLDBUTON = get_user_oldbutton(id)
    new JUMP_VIP = get_pcvar_num(cvar_vip_jump) 

    if((BUTON & IN_JUMP) && !(get_entity_flags(id) & FL_ONGROUND) && !(OLDBUTON & IN_JUMP))
    {
        if(((get_user_flags(id) & VIP_LEVEL_ACCES) && (jumpnum[id] < JUMP_VIP)))
        {
            dojump[id] = true
            jumpnum[id]++
        }
    }

    if((BUTON & IN_JUMP) && (get_entity_flags(id) & FL_ONGROUND))
    {
        jumpnum[id] = 0
    }

    return PLUGIN_CONTINUE;
}

public client_PostThink(id) 
{
    if(!is_user_alive(id)) 
        return PLUGIN_CONTINUE;

    if(dojump[id] == true)
    {
        new Float: velocity[3]    
        entity_get_vector(id, EV_VEC_velocity, velocity)
        velocity[2] = random_float(265.0, 285.0)
        entity_set_vector(id, EV_VEC_velocity, velocity)
        dojump[id] = false
    }
    return PLUGIN_CONTINUE;
}

public eDeathMsg()
{
    new id_Killer = read_data(1);
    new VIP_MAXHP = get_pcvar_num(cvar_vip_maxhp);
    new VIP_MAX_HP = get_user_health(id_Killer);
    new VIP_MAXAP = get_pcvar_num(cvar_vip_maxap);
    new VIP_MAX_AP = get_user_armor(id_Killer);

    if(is_user_alive(id_Killer))
    {
        if(get_user_flags(id_Killer) & VIP_LEVEL_ACCES )
            {
                set_user_health(id_Killer, get_user_health(id_Killer) + get_pcvar_num(cvar_hp_kill));
                set_user_armor(id_Killer, get_user_armor(id_Killer) + get_pcvar_num(cvar_ap_kill));
            }
    }

    if(VIP_MAX_HP >= VIP_MAXHP)
    {
                   set_user_health(id_Killer, get_pcvar_num(cvar_vip_maxhp));
        return PLUGIN_HANDLED;
    }
    
    if(VIP_MAX_AP >= VIP_MAXAP)
    {
                   set_user_armor(id_Killer, get_pcvar_num(cvar_vip_maxap));
        return PLUGIN_HANDLED;
    }

    return PLUGIN_HANDLED;
}

public in(id)     
{
    if(get_pcvar_num(cvar_vip_in_out))
    {
        new tag[32], name[32];

        get_pcvar_string(cvar_tag, tag, charsmax(tag)); 
        get_user_name(id, name, charsmax(name)); 

        if(get_user_flags(id) & VIP_LEVEL_ACCES)   
        { 
            ColorChat(0, GREEN, "^4%s ^1VIP: ^4%s ^1s-a conectat.", tag, name); 
        }
        return PLUGIN_HANDLED;
    }
    return PLUGIN_CONTINUE;
}

public out(id)     
{    
    if(get_pcvar_num(cvar_vip_in_out))
    {
        new tag[32], name[32];

        get_pcvar_string(cvar_tag, tag, charsmax(tag)); 
        get_user_name(id, name, charsmax(name)); 

        if(get_user_flags(id) & VIP_LEVEL_ACCES)   
        { 
            ColorChat(0, GREEN, "^4%s ^1VIP: ^4%s ^1s-a deconectat.", tag, name); 
        }
        return PLUGIN_HANDLED;
    }
    return PLUGIN_CONTINUE;
}

public vip_info(id)
{
    show_motd(id, "/addons/amxmodx/configs/vip_info.html");
}

public mesaj_info()    
{
    new tag[32];
    get_pcvar_string(cvar_tag, tag, charsmax(tag));
    
    ColorChat(0, GREEN, "^4%s ^1Tastati in chat ^4/vip ^1pentru a vedea beneficiile si pretul vip-ului.", tag);
}

public TaskDisplayVips( )
{
    if(get_pcvar_num(cvar_vip_showH))
    {
        static iPlayers[ 32 ];
        static iPlayersNum;
    
        get_players( iPlayers, iPlayersNum, "ch" );
        if( !iPlayersNum )
            return 1;
    
        static iVipsConnected, szVipsNames[ 128 ], szName[ 32 ];
        formatex( szVipsNames, sizeof ( szVipsNames ) -1, "" ); // Is this needed ?
        iVipsConnected = 0;
    
        static id, i;
        for( i = 0; i < iPlayersNum; i++ )
        {
            id = iPlayers[ i ];
            if( get_user_flags( id ) & VIP_LEVEL_ACCES )
            {
                get_user_name( id, szName, sizeof ( szName ) -1 );
            
                add( szVipsNames, sizeof ( szVipsNames ) -1, szName );
                add( szVipsNames, sizeof ( szVipsNames ) -1, "^n" );
            
                iVipsConnected++;
            }
        }
    
        formatex( g_szMessage, sizeof ( g_szMessage ) -1, "%s ( %i )^n%s",
            g_szBeginning, iVipsConnected, szVipsNames );
        
        set_hudmessage( 25, 255, 25, 0.01, 0.25, 0, 0.0, 1.0, 0.1, 0.1, -1 );
        ShowSyncHudMsg( 0, SyncHudMessage, g_szMessage );
    }
    return PLUGIN_CONTINUE;
        
}

public handle_say(id) 
{
    new said[192];
    read_args(said,192);
    if(contain(said, "/vips") != -1)
    set_task(0.1,"print_adminlist",id);
    return PLUGIN_CONTINUE;
}

public print_adminlist(user) 
{
    if(get_pcvar_num(cvar_vip_showC))
    {
        new tag[32];
        get_pcvar_string(cvar_tag, tag, charsmax(tag));
    
        new adminnames[33][32];
        new message[256];
        new id, count, x, len;

        for(id = 1 ; id <= get_maxplayers() ; id++)
            if(is_user_connected(id))
                if(get_user_flags(id) & VIP_LEVEL_ACCES)
                    get_user_name(id, adminnames[count++], charsmax(adminnames[ ]));
    
        len = format(message, 255, "^4%s ^1VIP-ii online sunt:^4 " ,tag);
        if(count > 0) 
            {
            for(x = 0 ; x < count ; x++) 
                {
                len += format(message[len], 255-len, "%s%s ", adminnames[x], x < (count-1) ? ", ":"");
                if(len > 96) 
                {
                    print_message(user, message);
                    len = format(message, 255, " ");
                }
                }
            print_message(user, message);
            }
        else 
        {
            ColorChat(0, GREEN, "^4%s ^1Nu sunt ^4VIP^1-i online.", tag);
        } 
    }
    return PLUGIN_CONTINUE;  
}

print_message(id, msg[]) 
{
    message_begin(MSG_ONE, get_user_msgid("SayText"), {0,0,0}, id);
    write_byte(id);
    write_string(msg);
    message_end();
}

public MessageScoreAttrib(iMsgID, iDest, iReceiver) 
{
        new iPlayer = get_msg_arg_int(1);
        if(is_user_connected( iPlayer )
        && (get_user_flags( iPlayer ) & VIP_LEVEL_ACCES)) 
        {
                set_msg_arg_int(2, ARG_BYTE, is_user_alive(iPlayer) ? SCOREATTRIB_VIP : SCOREATTRIB_DEAD);
            }
}

stock fm_find_ent_by_owner ( entity, const classname[], owner )
{
    while((entity = engfunc(EngFunc_FindEntityByString, entity, "classname", classname)) && pev(entity, pev_owner) != owner) {  }
    return entity;
}

stock drop_weapons(id, dropwhat)
{
    static Weapons[32], Num, i, WeaponID;
    Num = 0;
    get_user_weapons(id, Weapons, Num);
    for(i = 0; i < Num; i ++)
    {
        WeaponID = Weapons;
        if((dropwhat == 1 && ((1 << WeaponID) & PRIMARY_WEAPONS_BIT_SUM)) || (dropwhat == 2 && ((1 << WeaponID) & SECONDARY_WEAPONS_BIT_SUM )))
        {
            static DropName[32], WeaponEntity;
            get_weaponname(WeaponID, DropName, charsmax(DropName));
            WeaponEntity = fm_find_ent_by_owner(-1, DropName, id);
            set_pev(WeaponEntity, pev_iuser1, cs_get_user_bpammo (id, WeaponID));
            engclient_cmd(id, "drop", DropName);
            cs_set_user_bpammo(id, WeaponID, 0);
        }
    }
}

 

Share this post


Link to post
Share on other sites
Spoiler

#include <amxmodx>
#include <cstrike>
#include <fun>
#include <hamsandwich>
#include <engine>
#include <fakemeta>
#include <colorchat>

#pragma tabsize 0

#define VIP_LEVEL_ACCES ADMIN_LEVEL_H

#define SCOREATTRIB_NONE    0
#define SCOREATTRIB_DEAD    ( 1 << 0 )
#define SCOREATTRIB_BOMB    ( 1 << 1 )
#define SCOREATTRIB_VIP     ( 1 << 2 )

#define REMOVE_FLAGS "t"

new const RMaps [ ] [ ] =
{
    "35hp",
    "awp_",
    "31hp",
    "1hp",
    "100hp"
};

new const g_szBeginning[ ] = "[V.I.P CS:GO]"

const PRIMARY_WEAPONS_BIT_SUM = (1<<CSW_SCOUT)|(1<<CSW_XM1014)|(1<<CSW_MAC10)|(1<<CSW_AUG)|(1<<CSW_UMP45)|(1<<CSW_SG550)|(1<<CSW_GALIL)|(1<<CSW_FAMAS)|(1<<CSW_AWP)|(1<<CSW_MP5NAVY)|(1<<CSW_M249)|(1<<CSW_M3)|(1<<CSW_M4A1)|(1<<CSW_TMP)|(1<<CSW_G3SG1)|(1<<CSW_SG552)|(1<<CSW_AK47)|(1<<CSW_P90);
const SECONDARY_WEAPONS_BIT_SUM = (1<<CSW_P228)|(1<<CSW_ELITE)|(1<<CSW_FIVESEVEN)|(1<<CSW_USP)|(1<<CSW_GLOCK18)|(1<<CSW_DEAGLE);

new g_szMessage[256];
new round[33] = 0;
new cvar_vip_maxap, cvar_vip_maxhp, cvar_vip_showC, cvar_vip_showH, cvar_vip_in_out, cvar_tag, cvar_start_hp, cvar_start_ap, cvar_start_money, cvar_vip_jump, cvar_hp_kill, cvar_ap_kill, jumpnum[33], bool: dojump[33], SyncHudMessage;

public plugin_init() 
{
    register_plugin("Classic VIP-FIROGINAL.RO", "5.1.3", "Devil aKa. [email protected]");
    
    RegisterHam(Ham_Spawn, "player", "Spawn", 1);
    
    register_clcmd("say /vip", "vip_info");
    register_clcmd("say", "handle_say");
    register_clcmd("say_team", "handle_say");
    
    register_event("DeathMsg", "eDeathMsg", "a");
    register_message(get_user_msgid( "ScoreAttrib" ), "MessageScoreAttrib");
    RegisterHam(Ham_Spawn, "player", "HAM_Spawn_Post", 1);    

    cvar_tag = register_cvar("amx_vip_tag", "VIP");

    cvar_start_hp = register_cvar("amx_start_hp", "100");
    cvar_start_ap = register_cvar("amx_start_ap", "0");
    cvar_start_money = register_cvar("amx_start_money", "800");
    cvar_vip_jump = register_cvar("amx_vip_jump", "3" );
    cvar_hp_kill = register_cvar("amx_vip_addhp", "10");    
    cvar_ap_kill = register_cvar("amx_vip_addap", "10");
    cvar_vip_in_out = register_cvar("amx_vip_in_out", "1");
    cvar_vip_showC = register_cvar("amx_vip_show_chat", "1");
    cvar_vip_showH = register_cvar("amx_vip_show_hud", "1");
    cvar_vip_maxhp = register_cvar("amx_vip_maxhp", "180");
    cvar_vip_maxap = register_cvar("amx_vip_maxap", "200");    

    set_task(120.0, "mesaj_info", _, _, _, "b");
    set_task( 1.0, "TaskDisplayVips", _, _, _, "b", 0 );
    SyncHudMessage = CreateHudSyncObj( );        
}

public HAM_Spawn_Post(id)
{
    if(is_user_alive(id) && get_user_flags(id) & VIP_LEVEL_ACCES)
    {
        round[id]++
        
        if(round[id]>=6)
            vip_menu(id)
    }
}

public vip_menu(id) 
{
    if(!is_user_alive(id))
        return;    
    
    if(!(get_user_flags(id) & VIP_LEVEL_ACCES))
        return;
    
    new menu
    switch(cs_get_user_team(id))
    {
        case CS_TEAM_CT:
        {
            menu = menu_create("\y[\rVIP Classic\y] \wMeniu \yVIP", "menu_ammunition");
            menu_additem(menu, "M4a1+Deagle+Set grenazi", "1");
            menu_additem(menu, "Awp+Deagle+Set grenazi", "2");
            menu_additem(menu, "Ak47+Deagle+Set grenazi", "3");
        }
    
        case CS_TEAM_T:
        {
            menu = menu_create("\y[\rVIP Classic\y] \wMeniu \yVIP", "menu_ammunition");
            menu_additem(menu, "Ak47+Deagle+Set grenazi", "1");
            menu_additem(menu, "Awp+Deagle+Set grenazi", "2");
            menu_additem(menu, "M4a1+Deagle+Set grenazi", "3");
        }
    }
    menu_display(id, menu, 0)
}

public menu_ammunition ( id, menu, item ) 
{
    new tag[32];
    get_pcvar_string(cvar_tag, tag, charsmax(tag));
    
    if(item == MENU_EXIT)
    {
        return PLUGIN_HANDLED;
    }

    new data[6], szName[64];
    new access, callback;
    menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback);
    new key = str_to_num(data);

    if(cs_get_user_team(id) == CS_TEAM_CT)
        switch(key)
    {
        case 1:
    {
            drop_weapons(id, 1)
            drop_weapons(id, 2)
            give_item(id, "weapon_knife");    
            give_item(id, "weapon_m4a1");
            give_item(id, "weapon_deagle");
            give_item(id, "weapon_hegrenade");
            give_item(id, "weapon_flashbang");
            cs_set_user_bpammo(id, CSW_HEGRENADE, 1);
            cs_set_user_bpammo(id, CSW_FLASHBANG, 2);
            cs_set_user_bpammo(id, CSW_M4A1, 90);
            cs_set_user_bpammo(id, CSW_DEAGLE, 35);
            ColorChat(id,GREEN,"^4%s ^1Ai ales ^4M4a1^1+^4Deagle^1+^4Set grenazi^1.",tag);
    }
        case 2:
    {
            drop_weapons(id, 1)
            drop_weapons(id, 2)
            give_item(id, "weapon_knife");
            give_item(id, "weapon_awp");
            give_item(id, "weapon_deagle");
            give_item(id, "weapon_hegrenade");
            give_item(id, "weapon_flashbang");
            cs_set_user_bpammo(id, CSW_HEGRENADE, 1);
            cs_set_user_bpammo(id, CSW_FLASHBANG, 2);
            cs_set_user_bpammo(id, CSW_AWP, 30);
            cs_set_user_bpammo(id, CSW_DEAGLE, 35);
            ColorChat(id,GREEN,"^4%s ^1Ai ales ^4Awp^1+^4Deagle^1+^4Set grenazi^1.",tag);
    }
        case 3:
    {
            drop_weapons(id, 1)
            drop_weapons(id, 2)
            give_item(id, "weapon_knife");
            give_item(id, "weapon_ak47");
            give_item(id, "weapon_deagle");
            give_item(id, "weapon_hegrenade");
            give_item(id, "weapon_flashbang");
            cs_set_user_bpammo(id, CSW_HEGRENADE, 1);
            cs_set_user_bpammo(id, CSW_FLASHBANG, 2);
            cs_set_user_bpammo(id, CSW_AK47, 28);
            cs_set_user_bpammo(id, CSW_DEAGLE, 35);
            ColorChat(id,GREEN,"^4%s ^1Ai ales ^4Ak47^1+^4Deagle^1+^4Set grenazi^1.",tag);

    }      
    
}   
    if(cs_get_user_team(id) == CS_TEAM_T)
        switch(key)
    {
        case 1:
    {
            drop_weapons(id, 1)
            drop_weapons(id, 2)
            give_item(id, "weapon_knife");
            give_item(id, "weapon_ak47");
            give_item(id, "weapon_deagle");
            give_item(id, "weapon_hegrenade");
            give_item(id, "weapon_flashbang");
            cs_set_user_bpammo(id, CSW_HEGRENADE, 1);
            cs_set_user_bpammo(id, CSW_FLASHBANG, 2);
            cs_set_user_bpammo(id, CSW_AK47, 90);
            cs_set_user_bpammo(id, CSW_DEAGLE, 35);
            ColorChat(id,GREEN,"^4%s ^1Ai ales ^4Ak47^1+^4Deagle^1+^4Set grenazi^1.",tag);
    }      
        case 2:
    {
            drop_weapons(id, 1)
            drop_weapons(id, 2)
            give_item(id, "weapon_knife");
            give_item(id, "weapon_awp");
            give_item(id, "weapon_deagle");
            give_item(id, "weapon_hegrenade");
            give_item(id, "weapon_flashbang");
            give_item(id, "weapon_smokegrenade");
            cs_set_user_bpammo(id, CSW_FLASHBANG, 2);
            cs_set_user_bpammo(id, CSW_AWP, 30);
            cs_set_user_bpammo(id, CSW_DEAGLE, 35);
            ColorChat(id,GREEN,"^4%s ^1Ai ales ^4Awp^1+^4Deagle^1+^4Set grenazi^1.",tag);
    }
        case 3:
    {
            drop_weapons(id, 1)
            drop_weapons(id, 2)
            give_item(id, "weapon_knife");
            give_item(id, "weapon_m4a1");
            give_item(id, "weapon_deagle");
            give_item(id, "weapon_hegrenade");
            give_item(id, "weapon_flashbang");
            cs_set_user_bpammo(id, CSW_HEGRENADE, 1);
            cs_set_user_bpammo(id, CSW_FLASHBANG, 2);
            cs_set_user_bpammo(id, CSW_M4A1, 22);
            cs_set_user_bpammo(id, CSW_DEAGLE, 35);
            ColorChat(id,GREEN,"^4%s ^1Ai ales ^4M4a1^1+^4Deagle^1+^4Set grenazi^1.",tag);
    }      
    }
    menu_destroy(menu);
    return PLUGIN_HANDLED;  
}

public Spawn(id) 

    if(!is_user_alive(id))
        return;
    
    new CsTeams:team = cs_get_user_team(id) 
    if(get_user_flags(id) & VIP_LEVEL_ACCES) 
    {
        switch(team) 
        {
        case CS_TEAM_T: 
        {
            set_user_health(id, get_pcvar_num(cvar_start_hp));
            set_user_armor(id, get_pcvar_num(cvar_start_ap));
            cs_set_user_money(id, cs_get_user_money(id) + get_pcvar_num(cvar_start_money));
        }
        case CS_TEAM_CT: 
        {
            set_user_health(id, get_pcvar_num( cvar_start_hp ));
            set_user_armor(id, get_pcvar_num( cvar_start_ap ));
            cs_set_user_money(id, cs_get_user_money(id) + get_pcvar_num(cvar_start_money));
        }
        }
    }
    
    new MapName[32]; get_mapname(MapName, sizeof(MapName));
    for (new i = 0; i < sizeof (RMaps); i ++)
    {
        if(equali (MapName, RMaps)) 
        {
            remove_user_flags (id, read_flags(REMOVE_FLAGS));
        }
    }
}

public client_putinserver(id) 
{    
    set_task(2.0, "in", id);
    if(get_user_flags(id) & VIP_LEVEL_ACCES)
    {
        jumpnum[id] = 0;
        dojump[id] = false;
        round[id] = 0;
    }    
}

public client_disconnect(id)
{
    set_task(2.0, "out", id);

    if(get_user_flags(id) & VIP_LEVEL_ACCES)
    {
        jumpnum[id] = 0;
        dojump[id] = false;
        round[id] = 0;
    }
}

public client_PreThink( id )
{
    if(!is_user_alive(id)) 
        return PLUGIN_CONTINUE;

    new BUTON = get_user_button(id)
    new OLDBUTON = get_user_oldbutton(id)
    new JUMP_VIP = get_pcvar_num(cvar_vip_jump) 

    if((BUTON & IN_JUMP) && !(get_entity_flags(id) & FL_ONGROUND) && !(OLDBUTON & IN_JUMP))
    {
        if(((get_user_flags(id) & VIP_LEVEL_ACCES) && (jumpnum[id] < JUMP_VIP)))
        {
            dojump[id] = true
            jumpnum[id]++
        }
    }

    if((BUTON & IN_JUMP) && (get_entity_flags(id) & FL_ONGROUND))
    {
        jumpnum[id] = 0
    }

    return PLUGIN_CONTINUE;
}

public client_PostThink(id) 
{
    if(!is_user_alive(id)) 
        return PLUGIN_CONTINUE;

    if(dojump[id] == true)
    {
        new Float: velocity[3]    
        entity_get_vector(id, EV_VEC_velocity, velocity)
        velocity[2] = random_float(265.0, 285.0)
        entity_set_vector(id, EV_VEC_velocity, velocity)
        dojump[id] = false
    }
    return PLUGIN_CONTINUE;
}

public eDeathMsg()
{
    new id_Killer = read_data(1);
    new VIP_MAXHP = get_pcvar_num(cvar_vip_maxhp);
    new VIP_MAX_HP = get_user_health(id_Killer);
    new VIP_MAXAP = get_pcvar_num(cvar_vip_maxap);
    new VIP_MAX_AP = get_user_armor(id_Killer);

    if(is_user_alive(id_Killer))
    {
        if(get_user_flags(id_Killer) & VIP_LEVEL_ACCES )
            {
                set_user_health(id_Killer, get_user_health(id_Killer) + get_pcvar_num(cvar_hp_kill));
                set_user_armor(id_Killer, get_user_armor(id_Killer) + get_pcvar_num(cvar_ap_kill));
            }
    }

    if(VIP_MAX_HP >= VIP_MAXHP)
    {
                   set_user_health(id_Killer, get_pcvar_num(cvar_vip_maxhp));
        return PLUGIN_HANDLED;
    }
    
    if(VIP_MAX_AP >= VIP_MAXAP)
    {
                   set_user_armor(id_Killer, get_pcvar_num(cvar_vip_maxap));
        return PLUGIN_HANDLED;
    }

    return PLUGIN_HANDLED;
}

public in(id)     
{
    if(get_pcvar_num(cvar_vip_in_out))
    {
        new tag[32], name[32];

        get_pcvar_string(cvar_tag, tag, charsmax(tag)); 
        get_user_name(id, name, charsmax(name)); 

        if(get_user_flags(id) & VIP_LEVEL_ACCES)   
        { 
            ColorChat(0, GREEN, "^4%s ^1VIP: ^4%s ^1s-a conectat.", tag, name); 
        }
        return PLUGIN_HANDLED;
    }
    return PLUGIN_CONTINUE;
}

public out(id)     
{    
    if(get_pcvar_num(cvar_vip_in_out))
    {
        new tag[32], name[32];

        get_pcvar_string(cvar_tag, tag, charsmax(tag)); 
        get_user_name(id, name, charsmax(name)); 

        if(get_user_flags(id) & VIP_LEVEL_ACCES)   
        { 
            ColorChat(0, GREEN, "^4%s ^1VIP: ^4%s ^1s-a deconectat.", tag, name); 
        }
        return PLUGIN_HANDLED;
    }
    return PLUGIN_CONTINUE;
}

public vip_info(id)
{
    show_motd(id, "/addons/amxmodx/configs/vip_info.html");
}

public mesaj_info()    
{
    new tag[32];
    get_pcvar_string(cvar_tag, tag, charsmax(tag));
    
    ColorChat(0, GREEN, "^4%s ^1Tastati in chat ^4/vip ^1pentru a vedea beneficiile si pretul vip-ului.", tag);
}

public TaskDisplayVips( )
{
    if(get_pcvar_num(cvar_vip_showH))
    {
        static iPlayers[ 32 ];
        static iPlayersNum;
    
        get_players( iPlayers, iPlayersNum, "ch" );
        if( !iPlayersNum )
            return 1;
    
        static iVipsConnected, szVipsNames[ 128 ], szName[ 32 ];
        formatex( szVipsNames, sizeof ( szVipsNames ) -1, "" ); // Is this needed ?
        iVipsConnected = 0;
    
        static id, i;
        for( i = 0; i < iPlayersNum; i++ )
        {
            id = iPlayers[ i ];
            if( get_user_flags( id ) & VIP_LEVEL_ACCES )
            {
                get_user_name( id, szName, sizeof ( szName ) -1 );
            
                add( szVipsNames, sizeof ( szVipsNames ) -1, szName );
                add( szVipsNames, sizeof ( szVipsNames ) -1, "^n" );
            
                iVipsConnected++;
            }
        }
    
        formatex( g_szMessage, sizeof ( g_szMessage ) -1, "%s ( %i )^n%s",
            g_szBeginning, iVipsConnected, szVipsNames );
        
        set_hudmessage( 25, 255, 25, 0.01, 0.25, 0, 0.0, 1.0, 0.1, 0.1, -1 );
        ShowSyncHudMsg( 0, SyncHudMessage, g_szMessage );
    }
    return PLUGIN_CONTINUE;
        
}

public handle_say(id) 
{
    new said[192];
    read_args(said,192);
    if(contain(said, "/vips") != -1)
    set_task(0.1,"print_adminlist",id);
    return PLUGIN_CONTINUE;
}

public print_adminlist(user) 
{
    if(get_pcvar_num(cvar_vip_showC))
    {
        new tag[32];
        get_pcvar_string(cvar_tag, tag, charsmax(tag));
    
        new adminnames[33][32];
        new message[256];
        new id, count, x, len;

        for(id = 1 ; id <= get_maxplayers() ; id++)
            if(is_user_connected(id))
                if(get_user_flags(id) & VIP_LEVEL_ACCES)
                    get_user_name(id, adminnames[count++], charsmax(adminnames[ ]));
    
        len = format(message, 255, "^4%s ^1VIP-ii online sunt:^4 " ,tag);
        if(count > 0) 
            {
            for(x = 0 ; x < count ; x++) 
                {
                len += format(message[len], 255-len, "%s%s ", adminnames[x], x < (count-1) ? ", ":"");
                if(len > 96) 
                {
                    print_message(user, message);
                    len = format(message, 255, " ");
                }
                }
            print_message(user, message);
            }
        else 
        {
            ColorChat(0, GREEN, "^4%s ^1Nu sunt ^4VIP^1-i online.", tag);
        } 
    }
    return PLUGIN_CONTINUE;  
}

print_message(id, msg[]) 
{
    message_begin(MSG_ONE, get_user_msgid("SayText"), {0,0,0}, id);
    write_byte(id);
    write_string(msg);
    message_end();
}

public MessageScoreAttrib(iMsgID, iDest, iReceiver) 
{
        new iPlayer = get_msg_arg_int(1);
        if(is_user_connected( iPlayer )
        && (get_user_flags( iPlayer ) & VIP_LEVEL_ACCES)) 
        {
                set_msg_arg_int(2, ARG_BYTE, is_user_alive(iPlayer) ? SCOREATTRIB_VIP : SCOREATTRIB_DEAD);
            }
}

stock fm_find_ent_by_owner ( entity, const classname[], owner )
{
    while((entity = engfunc(EngFunc_FindEntityByString, entity, "classname", classname)) && pev(entity, pev_owner) != owner) {  }
    return entity;
}

stock drop_weapons(id, dropwhat)
{
    static Weapons[32], Num, i, WeaponID;
    Num = 0;
    get_user_weapons(id, Weapons, Num);
    for(i = 0; i < Num; i ++)
    {
        WeaponID = Weapons;
        if((dropwhat == 1 && ((1 << WeaponID) & PRIMARY_WEAPONS_BIT_SUM)) || (dropwhat == 2 && ((1 << WeaponID) & SECONDARY_WEAPONS_BIT_SUM )))
        {
            static DropName[32], WeaponEntity;
            get_weaponname(WeaponID, DropName, charsmax(DropName));
            WeaponEntity = fm_find_ent_by_owner(-1, DropName, id);
            set_pev(WeaponEntity, pev_iuser1, cs_get_user_bpammo (id, WeaponID));
            engclient_cmd(id, "drop", DropName);
            cs_set_user_bpammo(id, WeaponID, 0);
        }
    }
}

#include <amxmodx>
#include <cstrike>
#include <fun>
#include <hamsandwich>
#include <engine>
#include <fakemeta>
#include <colorchat>

#pragma tabsize 0

#define VIP_LEVEL_ACCES ADMIN_LEVEL_H

#define SCOREATTRIB_NONE    0
#define SCOREATTRIB_DEAD    ( 1 << 0 )
#define SCOREATTRIB_BOMB    ( 1 << 1 )
#define SCOREATTRIB_VIP     ( 1 << 2 )

#define REMOVE_FLAGS "t"

new const RMaps [ ] [ ] =
{
    "35hp",
    "awp_",
    "31hp",
    "1hp",
    "100hp"
};

new const g_szBeginning[ ] = "[V.I.P CS:GO]"

const PRIMARY_WEAPONS_BIT_SUM = (1<<CSW_SCOUT)|(1<<CSW_XM1014)|(1<<CSW_MAC10)|(1<<CSW_AUG)|(1<<CSW_UMP45)|(1<<CSW_SG550)|(1<<CSW_GALIL)|(1<<CSW_FAMAS)|(1<<CSW_AWP)|(1<<CSW_MP5NAVY)|(1<<CSW_M249)|(1<<CSW_M3)|(1<<CSW_M4A1)|(1<<CSW_TMP)|(1<<CSW_G3SG1)|(1<<CSW_SG552)|(1<<CSW_AK47)|(1<<CSW_P90);
const SECONDARY_WEAPONS_BIT_SUM = (1<<CSW_P228)|(1<<CSW_ELITE)|(1<<CSW_FIVESEVEN)|(1<<CSW_USP)|(1<<CSW_GLOCK18)|(1<<CSW_DEAGLE);

new g_szMessage[256];
new round[33] = 0;
new cvar_vip_maxap, cvar_vip_maxhp, cvar_vip_showC, cvar_vip_showH, cvar_vip_in_out, cvar_tag, cvar_start_hp, cvar_start_ap, cvar_start_money, cvar_vip_jump, cvar_hp_kill, cvar_ap_kill, jumpnum[33], bool: dojump[33], SyncHudMessage;

public plugin_init() 
{
    register_plugin("Classic VIP-FIROGINAL.RO", "5.1.3", "Devil aKa. [email protected]");
    
    RegisterHam(Ham_Spawn, "player", "Spawn", 1);
    
    register_clcmd("say /vip", "vip_info");
    register_clcmd("say", "handle_say");
    register_clcmd("say_team", "handle_say");
    
    register_event("DeathMsg", "eDeathMsg", "a");
    register_message(get_user_msgid( "ScoreAttrib" ), "MessageScoreAttrib");
    RegisterHam(Ham_Spawn, "player", "HAM_Spawn_Post", 1);    

    cvar_tag = register_cvar("amx_vip_tag", "VIP");

    cvar_start_hp = register_cvar("amx_start_hp", "100");
    cvar_start_ap = register_cvar("amx_start_ap", "0");
    cvar_start_money = register_cvar("amx_start_money", "800");
    cvar_vip_jump = register_cvar("amx_vip_jump", "3" );
    cvar_hp_kill = register_cvar("amx_vip_addhp", "10");    
    cvar_ap_kill = register_cvar("amx_vip_addap", "10");
    cvar_vip_in_out = register_cvar("amx_vip_in_out", "1");
    cvar_vip_showC = register_cvar("amx_vip_show_chat", "1");
    cvar_vip_showH = register_cvar("amx_vip_show_hud", "1");
    cvar_vip_maxhp = register_cvar("amx_vip_maxhp", "180");
    cvar_vip_maxap = register_cvar("amx_vip_maxap", "200");    

    set_task(120.0, "mesaj_info", _, _, _, "b");
    set_task( 1.0, "TaskDisplayVips", _, _, _, "b", 0 );
    SyncHudMessage = CreateHudSyncObj( );        
}

public HAM_Spawn_Post(id)
{
    if(is_user_alive(id) && get_user_flags(id) & VIP_LEVEL_ACCES)
    {
        round[id]++
        
        if(round[id]>=6)
            vip_menu(id)
    }
}

public vip_menu(id) 
{
    if(!is_user_alive(id))
        return;    
    
    if(!(get_user_flags(id) & VIP_LEVEL_ACCES))
        return;
    
    new menu
    switch(cs_get_user_team(id))
    {
        case CS_TEAM_CT:
        {
            menu = menu_create("\y[\rVIP Classic\y] \wMeniu \yVIP", "menu_ammunition");
            menu_additem(menu, "M4a1+Deagle+Set grenazi", "1");
            menu_additem(menu, "Awp+Deagle+Set grenazi", "2");
            menu_additem(menu, "Ak47+Deagle+Set grenazi", "3");
        }
    
        case CS_TEAM_T:
        {
            menu = menu_create("\y[\rVIP Classic\y] \wMeniu \yVIP", "menu_ammunition");
            menu_additem(menu, "Ak47+Deagle+Set grenazi", "1");
            menu_additem(menu, "Awp+Deagle+Set grenazi", "2");
            menu_additem(menu, "M4a1+Deagle+Set grenazi", "3");
        }
    }
    menu_display(id, menu, 0)
}

public menu_ammunition ( id, menu, item ) 
{
    new tag[32];
    get_pcvar_string(cvar_tag, tag, charsmax(tag));
    
    if(item == MENU_EXIT)
    {
        return PLUGIN_HANDLED;
    }

    new data[6], szName[64];
    new access, callback;
    menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback);
    new key = str_to_num(data);

    if(cs_get_user_team(id) == CS_TEAM_CT)
        switch(key)
    {
        case 1:
    {
            drop_weapons(id, 1)
            drop_weapons(id, 2)
            give_item(id, "weapon_knife");    
            give_item(id, "weapon_m4a1");
            give_item(id, "weapon_deagle");
            give_item(id, "weapon_hegrenade");
            give_item(id, "weapon_flashbang");
            cs_set_user_bpammo(id, CSW_HEGRENADE, 1);
            cs_set_user_bpammo(id, CSW_FLASHBANG, 2);
            cs_set_user_bpammo(id, CSW_M4A1, 90);
            cs_set_user_bpammo(id, CSW_DEAGLE, 35);
            ColorChat(id,GREEN,"^4%s ^1Ai ales ^4M4a1^1+^4Deagle^1+^4Set grenazi^1.",tag);
    }
        case 2:
    {
            drop_weapons(id, 1)
            drop_weapons(id, 2)
            give_item(id, "weapon_knife");
            give_item(id, "weapon_awp");
            give_item(id, "weapon_deagle");
            give_item(id, "weapon_hegrenade");
            give_item(id, "weapon_flashbang");
            cs_set_user_bpammo(id, CSW_HEGRENADE, 1);
            cs_set_user_bpammo(id, CSW_FLASHBANG, 2);
            cs_set_user_bpammo(id, CSW_AWP, 30);
            cs_set_user_bpammo(id, CSW_DEAGLE, 35);
            ColorChat(id,GREEN,"^4%s ^1Ai ales ^4Awp^1+^4Deagle^1+^4Set grenazi^1.",tag);
    }
        case 3:
    {
            drop_weapons(id, 1)
            drop_weapons(id, 2)
            give_item(id, "weapon_knife");
            give_item(id, "weapon_ak47");
            give_item(id, "weapon_deagle");
            give_item(id, "weapon_hegrenade");
            give_item(id, "weapon_flashbang");
            cs_set_user_bpammo(id, CSW_HEGRENADE, 1);
            cs_set_user_bpammo(id, CSW_FLASHBANG, 2);
            cs_set_user_bpammo(id, CSW_AK47, 28);
            cs_set_user_bpammo(id, CSW_DEAGLE, 35);
            ColorChat(id,GREEN,"^4%s ^1Ai ales ^4Ak47^1+^4Deagle^1+^4Set grenazi^1.",tag);

    }      
    
}   
    if(cs_get_user_team(id) == CS_TEAM_T)
        switch(key)
    {
        case 1:
    {
            drop_weapons(id, 1)
            drop_weapons(id, 2)
            give_item(id, "weapon_knife");
            give_item(id, "weapon_ak47");
            give_item(id, "weapon_deagle");
            give_item(id, "weapon_hegrenade");
            give_item(id, "weapon_flashbang");
            cs_set_user_bpammo(id, CSW_HEGRENADE, 1);
            cs_set_user_bpammo(id, CSW_FLASHBANG, 2);
            cs_set_user_bpammo(id, CSW_AK47, 90);
            cs_set_user_bpammo(id, CSW_DEAGLE, 35);
            ColorChat(id,GREEN,"^4%s ^1Ai ales ^4Ak47^1+^4Deagle^1+^4Set grenazi^1.",tag);
    }      
        case 2:
    {
            drop_weapons(id, 1)
            drop_weapons(id, 2)
            give_item(id, "weapon_knife");
            give_item(id, "weapon_awp");
            give_item(id, "weapon_deagle");
            give_item(id, "weapon_hegrenade");
            give_item(id, "weapon_flashbang");
            give_item(id, "weapon_smokegrenade");
            cs_set_user_bpammo(id, CSW_FLASHBANG, 2);
            cs_set_user_bpammo(id, CSW_AWP, 30);
            cs_set_user_bpammo(id, CSW_DEAGLE, 35);
            ColorChat(id,GREEN,"^4%s ^1Ai ales ^4Awp^1+^4Deagle^1+^4Set grenazi^1.",tag);
    }
        case 3:
    {
            drop_weapons(id, 1)
            drop_weapons(id, 2)
            give_item(id, "weapon_knife");
            give_item(id, "weapon_m4a1");
            give_item(id, "weapon_deagle");
            give_item(id, "weapon_hegrenade");
            give_item(id, "weapon_flashbang");
            cs_set_user_bpammo(id, CSW_HEGRENADE, 1);
            cs_set_user_bpammo(id, CSW_FLASHBANG, 2);
            cs_set_user_bpammo(id, CSW_M4A1, 22);
            cs_set_user_bpammo(id, CSW_DEAGLE, 35);
            ColorChat(id,GREEN,"^4%s ^1Ai ales ^4M4a1^1+^4Deagle^1+^4Set grenazi^1.",tag);
    }      
    }
    menu_destroy(menu);
    return PLUGIN_HANDLED;  
}

public Spawn(id) 

    if(!is_user_alive(id))
        return;
    
    new CsTeams:team = cs_get_user_team(id) 
    if(get_user_flags(id) & VIP_LEVEL_ACCES) 
    {
        switch(team) 
        {
        case CS_TEAM_T: 
        {
            set_user_health(id, get_pcvar_num(cvar_start_hp));
            set_user_armor(id, get_pcvar_num(cvar_start_ap));
            cs_set_user_money(id, cs_get_user_money(id) + get_pcvar_num(cvar_start_money));
        }
        case CS_TEAM_CT: 
        {
            set_user_health(id, get_pcvar_num( cvar_start_hp ));
            set_user_armor(id, get_pcvar_num( cvar_start_ap ));
            cs_set_user_money(id, cs_get_user_money(id) + get_pcvar_num(cvar_start_money));
        }
        }
    }
    
    new MapName[32]; get_mapname(MapName, sizeof(MapName));
    for (new i = 0; i < sizeof (RMaps); i ++)
    {
        if(equali (MapName, RMaps)) 
        {
            remove_user_flags (id, read_flags(REMOVE_FLAGS));
        }
    }
}

public client_putinserver(id) 
{    
    set_task(2.0, "in", id);
    if(get_user_flags(id) & VIP_LEVEL_ACCES)
    {
        jumpnum[id] = 0;
        dojump[id] = false;
        round[id] = 0;
    }    
}

public client_disconnect(id)
{
    set_task(2.0, "out", id);

    if(get_user_flags(id) & VIP_LEVEL_ACCES)
    {
        jumpnum[id] = 0;
        dojump[id] = false;
        round[id] = 0;
    }
}

public client_PreThink( id )
{
    if(!is_user_alive(id)) 
        return PLUGIN_CONTINUE;

    new BUTON = get_user_button(id)
    new OLDBUTON = get_user_oldbutton(id)
    new JUMP_VIP = get_pcvar_num(cvar_vip_jump) 

    if((BUTON & IN_JUMP) && !(get_entity_flags(id) & FL_ONGROUND) && !(OLDBUTON & IN_JUMP))
    {
        if(((get_user_flags(id) & VIP_LEVEL_ACCES) && (jumpnum[id] < JUMP_VIP)))
        {
            dojump[id] = true
            jumpnum[id]++
        }
    }

    if((BUTON & IN_JUMP) && (get_entity_flags(id) & FL_ONGROUND))
    {
        jumpnum[id] = 0
    }

    return PLUGIN_CONTINUE;
}

public client_PostThink(id) 
{
    if(!is_user_alive(id)) 
        return PLUGIN_CONTINUE;

    if(dojump[id] == true)
    {
        new Float: velocity[3]    
        entity_get_vector(id, EV_VEC_velocity, velocity)
        velocity[2] = random_float(265.0, 285.0)
        entity_set_vector(id, EV_VEC_velocity, velocity)
        dojump[id] = false
    }
    return PLUGIN_CONTINUE;
}

public eDeathMsg()
{
    new id_Killer = read_data(1);
    new VIP_MAXHP = get_pcvar_num(cvar_vip_maxhp);
    new VIP_MAX_HP = get_user_health(id_Killer);
    new VIP_MAXAP = get_pcvar_num(cvar_vip_maxap);
    new VIP_MAX_AP = get_user_armor(id_Killer);

    if(is_user_alive(id_Killer))
    {
        if(get_user_flags(id_Killer) & VIP_LEVEL_ACCES )
            {
                set_user_health(id_Killer, get_user_health(id_Killer) + get_pcvar_num(cvar_hp_kill));
                set_user_armor(id_Killer, get_user_armor(id_Killer) + get_pcvar_num(cvar_ap_kill));
            }
    }

    if(VIP_MAX_HP >= VIP_MAXHP)
    {
                   set_user_health(id_Killer, get_pcvar_num(cvar_vip_maxhp));
        return PLUGIN_HANDLED;
    }
    
    if(VIP_MAX_AP >= VIP_MAXAP)
    {
                   set_user_armor(id_Killer, get_pcvar_num(cvar_vip_maxap));
        return PLUGIN_HANDLED;
    }

    return PLUGIN_HANDLED;
}

public in(id)     
{
    if(get_pcvar_num(cvar_vip_in_out))
    {
        new tag[32], name[32];

        get_pcvar_string(cvar_tag, tag, charsmax(tag)); 
        get_user_name(id, name, charsmax(name)); 

        if(get_user_flags(id) & VIP_LEVEL_ACCES)   
        { 
            ColorChat(0, GREEN, "^4%s ^1VIP: ^4%s ^1s-a conectat.", tag, name); 
        }
        return PLUGIN_HANDLED;
    }
    return PLUGIN_CONTINUE;
}

public out(id)     
{    
    if(get_pcvar_num(cvar_vip_in_out))
    {
        new tag[32], name[32];

        get_pcvar_string(cvar_tag, tag, charsmax(tag)); 
        get_user_name(id, name, charsmax(name)); 

        if(get_user_flags(id) & VIP_LEVEL_ACCES)   
        { 
            ColorChat(0, GREEN, "^4%s ^1VIP: ^4%s ^1s-a deconectat.", tag, name); 
        }
        return PLUGIN_HANDLED;
    }
    return PLUGIN_CONTINUE;
}

public vip_info(id)
{
    show_motd(id, "/addons/amxmodx/configs/vip_info.html");
}

public mesaj_info()    
{
    new tag[32];
    get_pcvar_string(cvar_tag, tag, charsmax(tag));
    
    ColorChat(0, GREEN, "^4%s ^1Tastati in chat ^4/vip ^1pentru a vedea beneficiile si pretul vip-ului.", tag);
}

public TaskDisplayVips( )
{
    if(get_pcvar_num(cvar_vip_showH))
    {
        static iPlayers[ 32 ];
        static iPlayersNum;
    
        get_players( iPlayers, iPlayersNum, "ch" );
        if( !iPlayersNum )
            return 1;
    
        static iVipsConnected, szVipsNames[ 128 ], szName[ 32 ];
        formatex( szVipsNames, sizeof ( szVipsNames ) -1, "" ); // Is this needed ?
        iVipsConnected = 0;
    
        static id, i;
        for( i = 0; i < iPlayersNum; i++ )
        {
            id = iPlayers[ i ];
            if( get_user_flags( id ) & VIP_LEVEL_ACCES )
            {
                get_user_name( id, szName, sizeof ( szName ) -1 );
            
                add( szVipsNames, sizeof ( szVipsNames ) -1, szName );
                add( szVipsNames, sizeof ( szVipsNames ) -1, "^n" );
            
                iVipsConnected++;
            }
        }
    
        formatex( g_szMessage, sizeof ( g_szMessage ) -1, "%s ( %i )^n%s",
            g_szBeginning, iVipsConnected, szVipsNames );
        
        set_hudmessage( 25, 255, 25, 0.01, 0.25, 0, 0.0, 1.0, 0.1, 0.1, -1 );
        ShowSyncHudMsg( 0, SyncHudMessage, g_szMessage );
    }
    return PLUGIN_CONTINUE;
        
}

public handle_say(id) 
{
    new said[192];
    read_args(said,192);
    if(contain(said, "/vips") != -1)
    set_task(0.1,"print_adminlist",id);
    return PLUGIN_CONTINUE;
}

public print_adminlist(user) 
{
    if(get_pcvar_num(cvar_vip_showC))
    {
        new tag[32];
        get_pcvar_string(cvar_tag, tag, charsmax(tag));
    
        new adminnames[33][32];
        new message[256];
        new id, count, x, len;

        for(id = 1 ; id <= get_maxplayers() ; id++)
            if(is_user_connected(id))
                if(get_user_flags(id) & VIP_LEVEL_ACCES)
                    get_user_name(id, adminnames[count++], charsmax(adminnames[ ]));
    
        len = format(message, 255, "^4%s ^1VIP-ii online sunt:^4 " ,tag);
        if(count > 0) 
            {
            for(x = 0 ; x < count ; x++) 
                {
                len += format(message[len], 255-len, "%s%s ", adminnames[x], x < (count-1) ? ", ":"");
                if(len > 96) 
                {
                    print_message(user, message);
                    len = format(message, 255, " ");
                }
                }
            print_message(user, message);
            }
        else 
        {
            ColorChat(0, GREEN, "^4%s ^1Nu sunt ^4VIP^1-i online.", tag);
        } 
    }
    return PLUGIN_CONTINUE;  
}

print_message(id, msg[]) 
{
    message_begin(MSG_ONE, get_user_msgid("SayText"), {0,0,0}, id);
    write_byte(id);
    write_string(msg);
    message_end();
}

public MessageScoreAttrib(iMsgID, iDest, iReceiver) 
{
        new iPlayer = get_msg_arg_int(1);
        if(is_user_connected( iPlayer )
        && (get_user_flags( iPlayer ) & VIP_LEVEL_ACCES)) 
        {
                set_msg_arg_int(2, ARG_BYTE, is_user_alive(iPlayer) ? SCOREATTRIB_VIP : SCOREATTRIB_DEAD);
            }
}

stock fm_find_ent_by_owner ( entity, const classname[], owner )
{
    while((entity = engfunc(EngFunc_FindEntityByString, entity, "classname", classname)) && pev(entity, pev_owner) != owner) {  }
    return entity;
}

stock drop_weapons(id, dropwhat)
{
    static Weapons[32], Num, i, WeaponID;
    Num = 0;
    get_user_weapons(id, Weapons, Num);
    for(i = 0; i < Num; i ++)
    {
        WeaponID = Weapons;
        if((dropwhat == 1 && ((1 << WeaponID) & PRIMARY_WEAPONS_BIT_SUM)) || (dropwhat == 2 && ((1 << WeaponID) & SECONDARY_WEAPONS_BIT_SUM )))
        {
            static DropName[32], WeaponEntity;
            get_weaponname(WeaponID, DropName, charsmax(DropName));
            WeaponEntity = fm_find_ent_by_owner(-1, DropName, id);
            set_pev(WeaponEntity, pev_iuser1, cs_get_user_bpammo (id, WeaponID));
            engclient_cmd(id, "drop", DropName);
            cs_set_user_bpammo(id, WeaponID, 0);
        }
    }
}

 

Share this post


Link to post
Share on other sites

deci la mine cand il compilez asa imi apare :( si nu inteleg de ce :( apare exact ca in poza de mai sus

Share this post


Link to post
Share on other sites
1 hour ago, Venom said:

@Kpone

Incearca acum. Eu am gresit sursa. :)) Copiaza-l pe cel de sus si zi-mi daca iti merge.

 l-am compilat si la fel imi apare in menu inloc de+deagle imi apare asa [F4] nu apare deaglea si a doua chestie imi apare menu dupa a 4-5 runda eu vroiam sa il fac sa rezolv bugul si sa imi de-a din a doua runda acel menu de arme dar bugu ala tot il are

Share this post


Link to post
Share on other sites

E de la tine. Nu l-ai instalat bine sau este un plugin care se scrie peste el. Eu l-am testat pe server-ul meu si nu are nici o problema.

Ar mai fi o sansa. Daca nici asa nu reușești, ma pot uita sa vad ce anume iti cauzează problema.

Iti las aici compilerul pe care il folosesc eu: https://ufile.io/rsyod

In primul rand, dupa ce dezarhivezi ce ti-am pus, intra in folderul "scripting" si apasa pe compile.exe. Vei gasi pluginul compilat in "compiled".

In al doilea rand, copiaza asta in folderul "scripting/include"  din ftp: https://ufile.io/sk1qn

Share this post


Link to post
Share on other sites

NU AM SCRIS NICI UN PLUGIN PESTE EL,AM FACUT EXACT CEEA CE TREBUIE ,STIU CUM SE FACE CA AM MAI FOLOSIT PLUGINUL ASTA SI PLUS DE ASTA AM SERVER DE MULT TIMP SI LE-AM INVATAT...AM DEZACTIVAT TOATE PLUGINURILE SI L-AM LASAT DOAR PE CEL DE VIP SI LA FEL IMI FACE...CHIAR NU INTELEG CE AR PUTEA FII...SA FIE DE LA VERSIUNEA DE LA AMXMODX OARE SE POATE?

Share this post


Link to post
Share on other sites

Jica macelaru ma poti ajuta si pe mine te rog frumos cu pluginu asta vip classic imi da o eroare in consola uite:

02/05/2019 - 21:26:37: -------- Mapchange to de_dust2 --------
02/05/2019 - 21:26:37: [AMXX] Load error 17 (invalid file format or version) (plugin "vip_fioriginal.amxx")
*HZone-Protect : Fisierul hzone_protect.cfg a fost gasit. Incep protejarea serverului.

Share this post


Link to post
Share on other sites

Daca ai serverul in amxmodx 1.8.3, iar pluginul de vip este in 1.8.2, compileaza-l in 1.8.3 sau in versiunea in care ai tu serverul.

Share this post


Link to post
Share on other sites

Salut Puteti modifica plugin-ul astfel....:?
 

VIP GOLD

Sa se deschida automat meniul armelor din a 3-a runda.
Daca apasa pe 1 sa ii dea automat m4a1 + deagle + grenadele
Daca apasa pe 2 sa ii dea automat ak47 + deagle + grenadele
Daca apasa pe 3 sa ii dea automat awp + deagle + grenadele

La fiecare kill sa primeasca 10 HP iar la headshot 25 HP
dubla saritura.
100% armura
rank de VIP (sa apara in tab ca vip,  cand scrie sa apara VIP cutare : bla bla bla) daca se poate vip sa fie scris cu gold/galben auriu
/medic = sa ii dea 20% dar maxim pana la 50% viata. am pluginul deja modificat cum vreau.
Ti-l dau daca este nevoie sa il adaugi pe undeva. (exp: daca are 20 sa ii duca la 40 viata. daca are 45 sa ii duca pana la 50 maxim)
si sa poata sa dea o data la 50 de secunde distanta intre ceriri la medic. (am pluginul modificat exact cum il doresc).


VIP SILVER
Sa se deschida automat meniul armelor in 3 variante.
Daca apasa pe 2 sa ii dea automat m4a1 + deagle + grenadele
Daca apasa pe 3 sa ii dea automat ak47 + deagle + grenadele
Daca apasa pe 4 sa ii dea automat awp + deagle + grenadele

la fiecare kill sa primeasca 7 HP si la headshot 15 HP
dubla saritura.
100% armura
rank de VIP (sa apara in tab ca vip,  cand scrie sa apara VIP cutare : bla bla bla) daca se poate vip sa fie scris cu gri/silver


----------------------------------------------------------

cand un jucator tasteaza /VIP in chat sa ii deschida un tab (modific eu acolo din HTML).

 


 

Share this post


Link to post
Share on other sites
On 1/17/2015 at 11:59 AM, Jică Măcelaru' said:

VIP Classic - FIORIGINAL.RO
(Versiuni: 6.0  |  Autor: Jică Măcelaru')

 

  • Descriere: Acest plugin ofera avantaje unor jucatori + un meniu de arme!

 

  • Comenzi:
  1. /vmenu - deschide meniul vipului oricui tasteaza comanda, dar poate fi folosit doar de cei care au flagul 'R' si este disponibila doar in versiunea 5.0
  2. /vip - deschide motd-ul ce ofera informatii despre vip
  3. /vips - arata vipii online in chat
  • Cvar-uri:
  1. amx_vip_mode "valoare" -> Seteaza modul de aparitie al meniului: 1 - comanda /vmenu | 2 - apare din a 3-a runda. (default "1")
  2. amx_vip_tag "TAG" -> Pune tag-ul din fata tuturor mesajelor. (default "VIP")
  3. amx_start_hp "valoare" -> Seteaza cu cat HP sa inceapa VIP-ul. (default "150")
  4. amx_start_ap "valoare" -> Seteaza cu cat AP sa inceapa VIP-ul. (default "180")
  5. amx_start_money "valoare" -> Seteaza cu cati BANI sa inceapa VIP-ul. (default "8000")
  6. amx_vip_jump "valoare" -> Seteaza de cate ori sa sara VIP-ul. (default "1") || EX: 1 = 2 sarituri / 2 = 3sarituri / etc..
  7. amx_vip_addhp "valoare" -> Seteaza cat HP sa primeasca VIP-ul pe kill. (default "10")
  8. amx_vip_addap "valoare" -> Seteaza cat AP sa primeasca VIP-ul pe kill (default "10")
  9. amx_vip_in_out "valoare" -> 0 - dezactiveaza / 1 - activeaza apartita mesajului la conectare/deconectare pe server (default "1")
  10. amx_vip_show_chat "valoare" -> 0 - dezactiveaza / 1 - activeaza comanda /vips (default "1")
  11. amx_vip_show_hud "valoare" -> 0 - dezactiveaza / 1 - activeaza aparitia hudului ce arata vipii online (default "1")
  12. amx_vip_maxhp "valoare" -> Seteaza hp-ul maxim pe care il poate avea VIP-ul (default "180")
  13. amx_vip_maxap "valoare" -> Seteaza ap-ul maxim pe care il poate avea VIP-ul (default "200")
  14. amx_vip_maxmoney "valoare" -> Seteaza valoarea maxima a banilor pe care il poate avea VIP-ul (default "16000")

 

  • Module necesare:
  1. cstrike
  2. fun
  3. hamsandwich
  4. engine
  5. fakemeta

 

  • Instalare:
  1. Copiem fisierul vip_fioriginal.amxx in addons\amxmodx\plugins
  2. Copiem fisierul vip_fioriginal.sma in addons\amxmodx\scripting
  3. Copiem fisierul vip_info.html in addons\amxmodx\configs
  4. Deschidem addons\amxmodx\configs\plugins.ini si adaugam la urma :
vip_fioriginal.amxx
  • Imagini:
  Reveal hidden contents

 

Mesaj informativ la conectarea unui vip

IyLPP8H.png

 

HP/AP/MONEY

PpbAKRQ.png

 

Meniu VIP CT

KwOA5W6.png

 

Meniu VIP T

Wq8x57V.png

Arme luate din meniu.

tPFxoSZ.png

79H1XQz.png

7iCPpoN.png

 

Mesaj informativ pentru comanda /vip

uHQT6nN.png

 

MOTD avantaje vip

YvoO8NF.png

 

Vips online in chat

28ZXj0r.png

 

Vips online in hud sub radar

4Yck7z3.png

 

  • INFO:
  1. Vip-ul se dezactiveaza pe mapele de lame. (cele adaugate in plugin sunt: 35hp, 35hp_2, 1hp, 31hp, 100hp. Pentru a adauga mai multe mape, cititi aici cum trebuie sa faceti: CLICK 
  2.  Nu contine reclame.
  3.  VIP-ul are flagul "r"
  4.  Pentru orice modificare dorita postati aici / PM / Skype / Steam (informatii profil).

 

  • Credite:
  1. - Luxor pentru optimizari, aranjarea codului si ajutor pentru functia : meniu din a 3-a runda !
  2. - skitaila03 pentru optimizari !
  3. - EnTeR_ pentru codul care elimina flagul 'r' pe mapele de lame & functia drop_weapons.
  4. - Askhanar pentru codul care arata vipii in hud
  5. - dabal pentru rezolvarea bugului de la arme
  6. - diavolo pentru gasirea unui bug la stergerea flagului 'r' pe mapele de lame.
4

poti sa adaugi bullet dmg in timp real si VIP model?

Share this post


Link to post
Share on other sites

Update 7.0

- adaugare hp si ap pe kill normal, pe hs, pe kill cu lama, pe hs cu lama + cvaruri

- adaugare bullet damage + cvar

- adaugare model vip + cvar

- optimizare cod

- rezolvare bug la hp (gasit de Venom)

- meniul poate fi folosit o data pe runda

Share this post


Link to post
Share on other sites

Am pus toate fisierele unde trebuie dar cand intru in server nu functioneaza absolut nimic, de ce?

Share this post


Link to post
Share on other sites

Ai pus plugin-ul în prima linie ? 

Adică deasupra tuturor plugin-urilor ?

 

ce îți arată în consolă ?

Share this post


Link to post
Share on other sites

Nu il am in prima linie

in consola la comanda amx_plugins imi arata:    unknown                 unknown     unknown           VIP.amxx         bad load     la plugin

iar cand intru pe sv si ma uit in consola: [AMXX] Load error 17 (invalid file format or version) (plugin "vip_fioriginal.amxx")

Edited by Al3xKing

Share this post


Link to post
Share on other sites
Acum 8 ore, Al3xKing a spus:

Nu il am in prima linie

in consola la comanda amx_plugins imi arata:    unknown                 unknown     unknown           VIP.amxx         bad load     la plugin

iar cand intru pe sv si ma uit in consola: [AMXX] Load error 17 (invalid file format or version) (plugin "vip_fioriginal.amxx")

Am inteles, ca sa nu facem chat da-mi un pm si spune-mi ce versiune de amxmodx ai si da-mi si lista din plugins.ini

Te voi ajuta sa rezolvi aceasta probema :)

Share this post


Link to post
Share on other sites

De ce imi da eroare ? cand dau sa il compilez , imi da ca nu recunoastea aia cu chatul verde la vip

 

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


About Us

Fioriginal.Ro Gaming community

© FiOriginal.ro

Important Links

Rules

Important Links

Making a comeback
×
×
  • Create New...