Jump to content
Sign in to follow this  
graf88

[INCOMPLET] [Cerere plugin + modificare] VIP Classic

Recommended Posts

Bună!

Există un plugin VIP, care ar trebui să editați următoarele și se adaugă:

Nu fi un meniu de armă.

/vmenu afișează o comandă de meniu, care este Jucător Kick, și Jucător Ban.

 Jucator ban funcția de VIP, legea poate obține numai la fiecare 15 minute, la maxim, în timp este de 3 zile.

 

#include <amxmodx>
#include <cstrike>
#include <fun>
#include <hamsandwich>
#include <engine>
#include <colorchat>
 
#define VIP_LEVEL_ACCES ADMIN_LEVEL_F
 
#define SCOREATTRIB_NONE    0
#define SCOREATTRIB_DEAD    ( 1 << 0 )
#define SCOREATTRIB_BOMB    ( 1 << 1 )
#define SCOREATTRIB_VIP  ( 1 << 2 )
 
#define REMOVE_FLAGS "r"
 
new const RMaps [ ] [ ] =
{
    "35hp",
    "35hp_2",
    "31hp",
    "1hp",
    "100hp"
};
 
new const g_szBeginning[ ] = "Membrii VIP"
new g_szMessage[ 256 ];
 
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], bool:use[33], SyncHudMessage;
 
public plugin_init()
{
    register_plugin("Classic VIP", "5.0", "Devil aKa. StefaN@CSX");
   
    RegisterHam(Ham_Spawn, "player", "Spawn", 1);
   
    register_clcmd("say /vmenu", "vip_menu", -1);
    register_clcmd("say /vip", "vip_info");
    register_clcmd("say", "handle_say");
    register_clcmd("say_team", "handle_say");
   
    register_event("DeathMsg", "eDeathMsg", "a");
    register_event("HLTV", "Event_NewRound", "a", "1=0", "2=0");
    register_message(get_user_msgid( "ScoreAttrib" ), "MessageScoreAttrib");   
 
    cvar_tag = register_cvar("amx_vip_tag", "VIP");
    cvar_start_hp = register_cvar("amx_start_hp", "150");
    cvar_start_ap = register_cvar("amx_start_ap", "180");
    cvar_start_money = register_cvar("amx_start_money", "8000");
    cvar_vip_jump = register_cvar("amx_vip_jump", "1" );
    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 Event_NewRound()
{
    arrayset(use, false, 33);
}
 
public vip_menu(id)
{
    if(!is_user_alive(id))
        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", VIP_LEVEL_ACCES);
            menu_additem(menu, "Famas+Deagle+Set grenazi", "2", VIP_LEVEL_ACCES);
            menu_additem(menu, "Awp+Deagle+Set grenazi", "3", VIP_LEVEL_ACCES);
        }
   
        case CS_TEAM_T:
        {
            menu = menu_create("\y[\rVIP Classic\y] \wMeniu \yVIP", "menu_ammunition");
            menu_additem(menu, "Ak47+Deagle+Set grenazi", "1", VIP_LEVEL_ACCES);
            menu_additem(menu, "Galil+Deagle+Set grenazi", "2", VIP_LEVEL_ACCES);
            menu_additem(menu, "Awp+Deagle+Set grenazi", "3", VIP_LEVEL_ACCES);
        }
    }
    menu_display(id, menu, 0)
    return PLUGIN_HANDLED;
}
 
public menu_ammunition ( id, menu, item )
{
    new tag[32];
    get_pcvar_string(cvar_tag, tag, charsmax(tag));
   
    if(use[id])
    {
        ColorChat(id, GREEN,"^3[%s] ^1Meniul poate fi folosit doar o data pe runda !", tag);
        return PLUGIN_HANDLED;
    }
   
    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:
    {
            strip_user_weapons(id)
            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");
            give_item(id, "weapon_smokegrenade");
            cs_set_user_bpammo(id, CSW_SMOKEGRENADE, 1);
            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,"^3[%s] ^1Ai ales ^4M4a1^1+^4Deagle^1+^4Set grenazi^1.",tag);
    }
        case 2:
    {
            strip_user_weapons(id)
            give_item(id, "weapon_knife");
            give_item(id, "weapon_famas");
            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_SMOKEGRENADE, 1);
            cs_set_user_bpammo(id, CSW_HEGRENADE, 1);
            cs_set_user_bpammo(id, CSW_FLASHBANG, 2);
            cs_set_user_bpammo(id, CSW_FAMAS, 90);
            cs_set_user_bpammo(id, CSW_DEAGLE, 35);
            ColorChat(id,GREEN,"^3[%s] ^1Ai ales ^4Famas^1+^4Deagle^1+^4Set grenazi^1.",tag);
    }
        case 3:
    {
            strip_user_weapons(id)
            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_SMOKEGRENADE, 1);
            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,"^3[%s] ^1Ai ales ^4Awp^1+^4Deagle^1+^4Set grenazi^1.",tag);
    }      
}
    if(cs_get_user_team(id) == CS_TEAM_T)
        switch(key)
    {
        case 1:
    {
            strip_user_weapons(id)
            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");
            give_item(id, "weapon_smokegrenade");
            cs_set_user_bpammo(id, CSW_SMOKEGRENADE, 1);
            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,"^3[%s] ^1Ai ales ^4Ak47^1+^4Deagle^1+^4Set grenazi^1.",tag);
    }      
        case 2:
    {
            strip_user_weapons(id)
            give_item(id, "weapon_knife");
            give_item(id, "weapon_galil");
            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_SMOKEGRENADE, 1);
            cs_set_user_bpammo(id, CSW_HEGRENADE, 1);
            cs_set_user_bpammo(id, CSW_FLASHBANG, 2);
            cs_set_user_bpammo(id, CSW_GALIL, 90);
            cs_set_user_bpammo(id, CSW_DEAGLE, 35);
            ColorChat(id,GREEN,"^3[%s] ^1Ai ales ^4Galil^1+^4Deagle^1+^4Set grenazi^1.",tag);
    }
        case 3:
    {
            strip_user_weapons(id)
            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_SMOKEGRENADE, 1);
            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,"^3[%s] ^1Ai ales ^4Awp^1+^4Deagle^1+^4Set grenazi^1.",tag);
    }      
    }
    menu_destroy(menu);
    use[id] = true;
    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));
        }
        }
    }
}
 
public client_putinserver(id)
{  
    set_task(2.0, "in", id);
   
    jumpnum[id] = 0;
    dojump[id] = false;
 
    new MapName[32]; get_mapname(MapName, sizeof(MapName));
   
    for (new i = 0; i < sizeof (RMaps); i ++)
    {
        if(equali (MapName, RMaps[i]))
        {
            remove_user_flags (id, read_flags(REMOVE_FLAGS));
        }
    }
}
 
public client_disconnect( id )
{
    set_task(2.0, "out", id);
 
    jumpnum[id] = 0;
    dojump[id] = false;
}
 
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, "^3[%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, "^3[%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, "^3[%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, "^3[%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, "^3[%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);
            }
}

Share this post


Link to post
Share on other sites

Doar managerii de server pot face cereri ,tu nu detii server in comunitate.

Muta-ti serverul aici sau fa-ti o cerere in comunitatea in care ti-ai inscris serverul :)

  • Like 1

Share this post


Link to post
Share on other sites

Salut,

 

Eu sincer n-am inteles absolut nimic din ce ai spus:

 

Bună!

Există un plugin VIP, care ar trebui să editați următoarele și se adaugă:

Nu fi un meniu de armă.

/vmenu afișează o comandă de meniu, care este Jucător Kick, și Jucător Ban.

 Jucator ban funcția de VIP, legea poate obține numai la fiecare 15 minute, la maxim, în timp este de 3 zile.

  • Like 1

Share this post


Link to post
Share on other sites

Salut,

 

Eu sincer n-am inteles absolut nimic din ce ai spus:

 

1. Dacă VIP scrie că /vmenu , se deschide un meniu (așa cum se vede în imagine)

 

2. Maxim BAN timp 3 de ori.

 

imagine: ndtv9bM.png

 

SMA:

#include <amxmodx>
#include <cstrike>
#include <fun>
#include <hamsandwich>
#include <engine>
#include <colorchat>
 
#define VIP_LEVEL_ACCES ADMIN_LEVEL_F
 
#define SCOREATTRIB_NONE    0
#define SCOREATTRIB_DEAD    ( 1 << 0 )
#define SCOREATTRIB_BOMB    ( 1 << 1 )
#define SCOREATTRIB_VIP  ( 1 << 2 )
 
#define REMOVE_FLAGS "r"
 
new const RMaps [ ] [ ] =
{
    "35hp",
    "35hp_2",
    "31hp",
    "1hp",
    "100hp"
};
 
new const g_szBeginning[ ] = "Membrii VIP"
new g_szMessage[ 256 ];
 
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], bool:use[33], SyncHudMessage;
 
public plugin_init()
{
    register_plugin("Classic VIP", "5.0", "Devil aKa. StefaN@CSX");
   
    RegisterHam(Ham_Spawn, "player", "Spawn", 1);
   
    //register_clcmd("say /vmenu", "vip_menu", -1);
    register_clcmd("say /vip", "vip_info");
    register_clcmd("say", "handle_say");
    register_clcmd("say_team", "handle_say");
   
    register_event("DeathMsg", "eDeathMsg", "a");
    register_event("HLTV", "Event_NewRound", "a", "1=0", "2=0");
    register_message(get_user_msgid( "ScoreAttrib" ), "MessageScoreAttrib");   
 
    cvar_tag = register_cvar("amx_vip_tag", "VIP");
    cvar_start_hp = register_cvar("amx_start_hp", "150");
    cvar_start_ap = register_cvar("amx_start_ap", "180");
    cvar_start_money = register_cvar("amx_start_money", "8000");
    cvar_vip_jump = register_cvar("amx_vip_jump", "1" );
    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 Event_NewRound()
{
    arrayset(use, false, 33);
}
 
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));
        }
        }
    }
}
 
public client_putinserver(id)
{  
    set_task(2.0, "in", id);
   
    jumpnum[id] = 0;
    dojump[id] = false;
 
    new MapName[32]; get_mapname(MapName, sizeof(MapName));
   
    for (new i = 0; i < sizeof (RMaps); i ++)
    {
        if(equali (MapName, RMaps[i]))
        {
            remove_user_flags (id, read_flags(REMOVE_FLAGS));
        }
    }
}
 
public client_disconnect( id )
{
    set_task(2.0, "out", id);
 
    jumpnum[id] = 0;
    dojump[id] = false;
}
 
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, "^3[%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, "^3[%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, "^3[%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, "^3[%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, "^3[%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);
            }
}

Nu pot vorbi în întregime în limba română! Eu mă scuzați.

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.
Sign in to follow this  

×