#include <amxmodx>
#include <cstrike>
#include <engine>
#include <fun>
#include <hamsandwich>
#define ADMIN_HNSVIP ADMIN_IMMUNITY
new const VERSION[] = { "1.0" };
new const PREFIX[] = { "!n[!tHNS!n]" };
new VipUsed[33];
new HasSpeed;
new Float:fast_speed = 280.0;
new Float:normal_speed = 250.0;
public plugin_init()
{
register_plugin("HNS VIP",VERSION,"AMXX");
RegisterHam(Ham_Spawn, "player", "FwdHamSpawn_Post", 1);
RegisterHam( Ham_Item_PreFrame, "player", "FwdPreFrame_Post", 1);
register_clcmd("say /vipmenu", "cmdVmenu");
register_message(get_user_msgid("ScoreAttrib"),"msgScoreAttrib");
}
public FwdPreFrame_Post(id)
{
if(!is_user_alive(id))
{
return PLUGIN_HANDLED;
}
if(!HasSpeed)
{
return PLUGIN_HANDLED;
}
else if(HasSpeed)
{
set_user_maxspeed(id, fast_speed);
}
return PLUGIN_HANDLED;
}
public msgScoreAttrib( const MsgId, const MsgType, const MsgDest ) {
static id;
id = get_msg_arg_int( 1 );
if( ( get_user_flags( id ) & ADMIN_IMMUNITY ) && ( get_user_team( id ) == 2 ) && !get_msg_arg_int( 2 ))
set_msg_arg_int( 2, ARG_BYTE, ( 1 << 2 ) );
}
public FwdHamSpawn_Post(id)
{
HasSpeed = false;
VipUsed[id] = false;
set_user_maxspeed(id, normal_speed);
set_task(0.1,"bani",id);
new r, g, b;
switch(get_user_team(id))
{
case 1 : { r = 255; b = 0; }
case 2 : { r = 0; b = 255; }
}
if((get_user_flags(id) & ADMIN_LEVEL_E) || (get_user_flags(id) & ADMIN_LEVEL_F))
set_user_rendering(id, kRenderFxGlowShell, r, g, b, kRenderNormal, 20);
}
public bani(id)
{if(is_user_alive(id))
{if(get_user_flags(id) & ADMIN_LEVEL_E)
{
cs_set_user_money(id,cs_get_user_money(id) + 10);
}
else if(get_user_flags(id) & ADMIN_LEVEL_D)
{
cs_set_user_money(id,cs_get_user_money(id) + 6);
}
else if(get_user_flags(id) & ADMIN_LEVEL_F)
{
cs_set_user_money(id,cs_get_user_money(id) + 10);
}
else if(get_user_flags(id) & ADMIN_LEVEL_G)
{
cs_set_user_money(id,cs_get_user_money(id) + 6);
}
}
return PLUGIN_HANDLED;
}
public client_putinserver(id)
{
set_task(0.1,"vip_joined",id);
}
public vip_joined(id)
{
new szName[32];
get_user_name(id, szName, 31);
if(get_user_flags(id) & ADMIN_HNSVIP)
{
client_printc(0, "%s !gVIP!n-ul !t%s !na intrat pe server.", PREFIX, szName);
}
}
public client_disconnect(id)
{
set_task(0.1,"vip_leave",id);
}
public vip_leave(id)
{
new szName[32];
get_user_name(id, szName, 31);
if(get_user_flags(id) & ADMIN_HNSVIP)
{
client_printc(0, "%s !gVIP!n-ul !t%s !na iesit de pe server.", PREFIX, szName);
}
}
public cmdVmenu(id)
{
if( !is_user_alive( id ) ) {
client_printc( id, "%s Nu poti folosi meniul cand esti !gmort !n!",PREFIX )
return PLUGIN_HANDLED
}
if(!VipUsed[id])
{if(get_user_flags(id) & ADMIN_LEVEL_E)
{
VipHNSX(id);
}
else if(get_user_flags(id) & ADMIN_LEVEL_D)
{
VipHNSG(id);
}
else if(get_user_flags(id) & ADMIN_LEVEL_F)
{
VipHNSD(id);
}
else if(get_user_flags(id) & ADMIN_LEVEL_G)
{
VipHNSU(id);
}
else if(!(get_user_flags(id) & ADMIN_IMMUNITY))
{
client_printc(id, "%s Nu ai acces la !t/vipmenu", PREFIX);
return PLUGIN_HANDLED;
}
}
else if(VipUsed[id])
{
client_printc(id, "%s Poti folosi !t/vipmenu !nodata pe runda !", PREFIX);
}
return PLUGIN_HANDLED;
}
public VipHNSX(id)
{
new menu = menu_create("[\rHNS\y.\rLGz\y.\rRO\y]\yVIPMENU HNS^n", "HNSVIPX");
menu_additem(menu, "Pachet Grenade", "1", 0);
menu_additem(menu, "Deagle - 1 glont", "2", 0);
menu_additem(menu, "Viteza 280 - 10 sec", "3", 0);
menu_additem(menu, "Gravitatie 270 - 10 sec", "4", 0);
menu_additem(menu, "Invizibilitate - 10 sec", "5", 0);
menu_additem(menu, "Viata 150", "6", 0);
menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
menu_display(id, menu, 0);
}
public HNSVIPX(id, menu, item)
{
if( item == MENU_EXIT )
{
menu_destroy(menu);
return PLUGIN_HANDLED;
}
new data[6], iName[64];
new access, callback;
menu_item_getinfo(menu, item, access, data,5, iName, 63, callback);
new key = str_to_num(data);
static VipName[ 32 ];
get_user_name( id, VipName, sizeof ( VipName ) -1 );
switch(key)
{
case 1:
{
give_item(id, "weapon_hegrenade");
give_item(id, "weapon_smokegrenade");
give_item(id, "weapon_flashbang");
give_item(id, "weapon_flashbang");
client_printc(id, "%s Ai cumparat !tGrenade", PREFIX);
client_printc(0, "%s !gVIP!n-ul !t%s !na cumparat !gGrenade", PREFIX, VipName);
VipUsed[id] = true;
}
case 2:
{
give_item(id, "weapon_deagle");
new eNtry = find_ent_by_owner( -1, "weapon_deagle", id );
if( eNtry )
cs_set_weapon_ammo( eNtry, 1 );
client_printc(id, "%s Ai cumparat un !tDeagle", PREFIX);
client_printc(0, "%s !gVIP!n-ul !t%s !na cumparat un !gDeagle", PREFIX, VipName);
VipUsed[id] = true;
}
case 3:
{
HasSpeed = true;
set_user_maxspeed(id, fast_speed);
client_printc(id, "%s Ai cumparat !tviteza", PREFIX);
client_printc(0, "%s !gVIP!n-ul !t%s !na cumparat !gViteza", PREFIX, VipName);
VipUsed[id] = true;
set_task(10.0, "remove_speed",id);
}
case 4:
{
set_user_gravity(id, 0.875);
client_printc(id, "%s Ai cumparat !tgravitatie", PREFIX);
client_printc(0, "%s !gVIP!n-ul !t%s !na cumparat !gGravitate", PREFIX, VipName);
VipUsed[id] = true;
set_task(10.0, "remove_gravity",id);
}
case 5:
{
set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransAlpha, 0);
client_printc(id, "%s Ai cumparat !tinvizibilitate", PREFIX);
client_printc(0, "%s !gVIP!n-ul !t%s !na cumparat !gInvizibilitate", PREFIX, VipName);
VipUsed[id] = true;
set_task(10.0, "remove_invis",id);
}
case 6:
{
set_user_health(id, 150);
client_printc(id, "%s Ai cumparat !t150 HP", PREFIX);
client_printc(0, "%s !gVIP!n-ul !t%s !na cumparat !g150 HP", PREFIX, VipName);
VipUsed[id] = true;
}
}
menu_destroy(menu);
return PLUGIN_HANDLED;
}
public VipHNSG(id)
{
new menu = menu_create("[\rHNS\y.\rLGz\y.\rRO\y]\yVIPMENU HNS^n", "HNSVIPG");
menu_additem(menu, "Pachet Grenade", "1", 0);
menu_additem(menu, "Gravitatie 270 - 10 sec", "2", 0);
menu_additem(menu, "Invizibilitate - 10 sec", "3", 0);
menu_additem(menu, "Viteza 280 - 10 sec", "4", 0);
menu_additem(menu, "Viata 150", "5", 0);
menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
menu_display(id, menu, 0);
}
public HNSVIPG(id, menu, item)
{
if( item == MENU_EXIT )
{
menu_destroy(menu);
return PLUGIN_HANDLED;
}
new data[6], iName[64];
new access, callback;
menu_item_getinfo(menu, item, access, data,5, iName, 63, callback);
new key = str_to_num(data);
static VipName[ 32 ];
get_user_name( id, VipName, sizeof ( VipName ) -1 );
switch(key)
{
case 1:
{
give_item(id, "weapon_hegrenade");
give_item(id, "weapon_smokegrenade");
give_item(id, "weapon_flashbang");
give_item(id, "weapon_flashbang");
client_printc(id, "%s Ai cumparat !tGrenade", PREFIX);
client_printc(0, "%s !gVIP!n-ul !t%s !na cumparat !gGrenade", PREFIX, VipName);
VipUsed[id] = true;
}
case 2:
{
set_user_gravity(id, 0.875);
client_printc(id, "%s Ai cumparat !tgravitatie", PREFIX);
client_printc(0, "%s !gVIP!n-ul !t%s !na cumparat !gGravitate", PREFIX, VipName);
VipUsed[id] = true;
set_task(10.0, "remove_gravity",id);
}
case 3:
{
set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransAlpha, 0);
client_printc(id, "%s Ai cumparat !tinvizibilitate", PREFIX);
client_printc(0, "%s !gVIP!n-ul !t%s !na cumparat !gInvizibilitate", PREFIX, VipName);
VipUsed[id] = true;
set_task(10.0, "remove_invis",id);
}
case 4:
{
HasSpeed = true;
set_user_maxspeed(id, fast_speed);
client_printc(id, "%s Ai cumparat !tviteza", PREFIX);
client_printc(0, "%s !gVIP!n-ul !t%s !na cumparat !gViteza", PREFIX, VipName);
VipUsed[id] = true;
set_task(10.0, "remove_speed",id);
}
case 5:
{
set_user_health(id, 150);
client_printc(id, "%s Ai cumparat !t150 HP", PREFIX);
client_printc(0, "%s !gVIP!n-ul !t%s !na cumparat !g150 HP", PREFIX, VipName);
VipUsed[id] = true;
}
}
menu_destroy(menu);
return PLUGIN_HANDLED;
}
public VipHNSD(id)
{
new menu = menu_create("[\rHNS\y.\rLGz\y.\rRO\y]\yVIPMENU HNS^n", "HNSVIPD");
menu_additem(menu, "Pachet Grenade", "1", 0);
menu_additem(menu, "Deagle - 1 glont", "2", 0);
menu_additem(menu, "Viteza 280 - 10 sec", "3", 0);
menu_additem(menu, "Gravitatie 270 - 10 sec", "4", 0);
menu_additem(menu, "Invizibilitate - 10 sec", "5", 0);
menu_additem(menu, "Viata 150","6",0);
menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
menu_display(id, menu, 0);
}
public HNSVIPD(id, menu, item)
{
if( item == MENU_EXIT )
{
menu_destroy(menu);
return PLUGIN_HANDLED;
}
new data[6], iName[64];
new access, callback;
menu_item_getinfo(menu, item, access, data,5, iName, 63, callback);
new key = str_to_num(data);
static VipName[ 32 ];
get_user_name( id, VipName, sizeof ( VipName ) -1 );
switch(key)
{
case 1:
{
give_item(id, "weapon_hegrenade");
give_item(id, "weapon_smokegrenade");
give_item(id, "weapon_flashbang");
give_item(id, "weapon_flashbang");
client_printc(id, "%s Ai cumparat !tGrenade", PREFIX);
client_printc(0, "%s !gVIP!n-ul !t%s !na cumparat !gGrenade", PREFIX, VipName);
VipUsed[id] = true;
}
case 2:
{
give_item(id, "weapon_deagle");
new eNtry = find_ent_by_owner( -1, "weapon_deagle", id );
if( eNtry )
cs_set_weapon_ammo( eNtry, 1 );
client_printc(id, "%s Ai cumparat un !tDeagle", PREFIX);
client_printc(0, "%s !gVIP!n-ul !t%s !na cumparat un !gDeagle", PREFIX, VipName);
VipUsed[id] = true;
}
case 3:
{
HasSpeed = true;
set_user_maxspeed(id, fast_speed);
client_printc(id, "%s Ai cumparat !tviteza", PREFIX);
client_printc(0, "%s !gVIP!n-ul !t%s !na cumparat !gViteza", PREFIX, VipName);
VipUsed[id] = true;
set_task(10.0, "remove_speed",id);
}
case 4:
{
set_user_gravity(id, 0.875);
client_printc(id, "%s Ai cumparat !tgravitatie", PREFIX);
client_printc(0, "%s !gVIP!n-ul !t%s !na cumparat !gGravitate", PREFIX, VipName);
VipUsed[id] = true;
set_task(10.0, "remove_gravity",id);
}
case 5:
{
set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransAlpha, 0);
client_printc(id, "%s Ai cumparat !tinvizibilitate", PREFIX);
client_printc(0, "%s !gVIP!n-ul !t%s !na cumparat !gInvizibilitate", PREFIX, VipName);
VipUsed[id] = true;
set_task(10.0, "remove_invis",id);
}
case 6:
{
set_user_health(id, 150);
client_printc(id, "%s Ai cumparat !t150 HP", PREFIX);
client_printc(0, "%s !gVIP!n-ul !t%s !na cumparat !g150 HP", PREFIX, VipName);
VipUsed[id] = true;
}
}
menu_destroy(menu);
return PLUGIN_HANDLED;
}
public VipHNSU(id)
{
new menu = menu_create("[\rHNS\y.\rLGz\y.\rRO\y]\yVIPMENU HNS^n", "HNSVIPG");
menu_additem(menu, "Pachet Grenade", "1", 0);
menu_additem(menu, "Viteza 280 - 10 sec", "2", 0);
menu_additem(menu, "Gravitatie 270 - 10 sec", "3", 0);
menu_additem(menu, "Invizibilitate - 10 sec", "4", 0);
menu_additem(menu, "Viata 150", "5", 0);
menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
menu_display(id, menu, 0);
}
public HNSVIPU(id, menu, item)
{
if( item == MENU_EXIT )
{
menu_destroy(menu);
return PLUGIN_HANDLED;
}
new data[6], iName[64];
new access, callback;
menu_item_getinfo(menu, item, access, data,5, iName, 63, callback);
new key = str_to_num(data);
static VipName[ 32 ];
get_user_name( id, VipName, sizeof ( VipName ) -1 );
switch(key)
{
case 1:
{
give_item(id, "weapon_hegrenade");
give_item(id, "weapon_smokegrenade");
give_item(id, "weapon_flashbang");
give_item(id, "weapon_flashbang");
client_printc(id, "%s Ai cumparat !tGrenade", PREFIX);
client_printc(0, "%s !gVIP!n-ul !t%s !na cumparat !gGrenade", PREFIX, VipName);
VipUsed[id] = true;
}
case 2:
{
HasSpeed = true;
set_user_maxspeed(id, fast_speed);
client_printc(id, "%s Ai cumparat !tviteza", PREFIX);
client_printc(0, "%s !gVIP!n-ul !t%s !na cumparat !gViteza", PREFIX, VipName);
VipUsed[id] = true;
set_task(10.0, "remove_speed",id);
}
case 3:
{
set_user_gravity(id, 0.875);
client_printc(id, "%s Ai cumparat !tgravitatie", PREFIX);
client_printc(0, "%s !gVIP!n-ul !t%s !na cumparat !gGravitate", PREFIX, VipName);
VipUsed[id] = true;
set_task(10.0, "remove_gravity",id);
}
case 4:
{
set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransAlpha, 0);
client_printc(id, "%s Ai cumparat !tinvizibilitate", PREFIX);
client_printc(0, "%s !gVIP!n-ul !t%s !na cumparat !gInvizibilitate", PREFIX, VipName);
VipUsed[id] = true;
set_task(10.0, "remove_invis",id);
}
case 5:
{
set_user_health(id, 150);
client_printc(id, "%s Ai cumparat !t150 HP", PREFIX);
client_printc(0, "%s !gVIP!n-ul !t%s !na cumparat !g150 HP", PREFIX, VipName);
VipUsed[id] = true;
}
}
menu_destroy(menu);
return PLUGIN_HANDLED;
}
public remove_speed(id){
set_user_maxspeed(id, normal_speed);
client_printc(id, "%s Nu mai ai !gspeed !n, viteza iti este readusa la normal", PREFIX);
}
public remove_gravity(id){
set_user_gravity(id, 1.0 );
client_printc(id, "%s Nu mai ai !ggravitate, gravitatea este inapoi 800", PREFIX);
}
public remove_invis(id){
set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransAlpha, 255);
client_printc(id, "%s Nu mai esti !tinvizibil !n, acum esti vizibil", PREFIX);
}
stock client_printc(const id, const input[], any:...)
{
new count = 1, players[32];
static msg[191];
vformat(msg, 190, input, 3);
replace_all(msg, 190, "!g", "^x04"); // Green Color
replace_all(msg, 190, "!n", "^x01"); // Default Color
replace_all(msg, 190, "!t", "^x03"); // Team Color
if (id) players[0] = id; else get_players(players, count, "ch");
{
for (new i = 0; i < count; i++)
{
if (is_user_connected(players))
{
message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players);
write_byte(players);
write_string(msg);
message_end();
}
}
}
}