Thread: cvar for vip
View Single Post
ZaX
Senior Member
Join Date: Jan 2015
Old 04-14-2019 , 05:55   Re: cvar for vip
Reply With Quote #4

Here,

PHP Code:
#include <amxmodx>
#include <cstrike>
#include <engine>
#include <fun>
#include <fakemeta_util>
#include <hamsandwich>
#include <colorchat>
 
 
#define PLUGIN "Vip"
#define VERSION "1.0a"
#define AUTHOR "costea"
 
 
#define ADMIN_GOLD   ADMIN_LEVEL_H //t
#define ADMIN_SILVER   ADMIN_LEVEL_G //s
 
 
#define SCOREATTRIB_DEAD    ( 1 << 0 )
#define SCOREATTRIB_VIP  ( 1 << 2 )
 
 
new Cvar_VIP
new Runda_Arme 3
new boolActivare false
new boolpremenuactive true
new Contor 0
new g_szMessage[256]
new const 
g_szBeginning[ ] = "Membrii VIP"
 
 
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 
mkb,mhb,cvar_vip_maxhp,cvar_vip_maxap,cvar_hp_kill_premium,cvar_ap_kill_premium,cvar_hp_kill_classic,cvar_ap_kill_classic,cvar_vip_jump
new cvar_vip_in_out,jumpnum[33], booldojump[33],cvar_vip_showC,cvar_vip_showH,SyncHudMessage

new cvar_vip_gravity
 
#define tag "INFO-VIP"
 
public plugin_init () {
   
   
register_plugin ("PLUGIN""VERSION""AUTHOR")
   new 
MapName[32]
   
get_mapname(MapName,31)
   if(
MapName[0] == 'a' && MapName[1] == 'w' && MapName[2] == 'p')
      
pause("ac","VIPT.amxx")
   if(
equal(MapName,"35hp_2"))
      
pause("ac","VIPT.amxx")
   if(
equal(MapName,"35hp"))
      
pause("ac","VIPT.amxx")  
   if(
equal(MapName,"awp_india"))
      
pause("ac","VIPT.amxx")
   if(
equal(MapName,"awp_bycastor32"))
      
pause("ac","VIPT.amxx")  
     
 
 
   
   
 
 
   
register_clcmd("say /wantvip""vip_info")
   
register_clcmd("say /vips""print_adminlist")
   
RegisterHam(Ham_Spawn"player""cmdSpawn"1)
   
register_event("DeathMsg""eDeathMsg""a")
   
register_logevent("RoundStart"2"1=Round_Start")
   
register_message(get_user_msgid"ScoreAttrib" ), "MessageScoreAttrib")
   
Cvar_VIP register_cvar("amx_vip" "0")
   
cvar_vip_in_out register_cvar("amx_vip_in_out""1")
   
cvar_vip_jump register_cvar("amx_vip_jump""1" )
   
cvar_hp_kill_premium register_cvar("amx_vip_addhp""15")  
   
cvar_ap_kill_premium register_cvar("amx_vip_addap""10")
   
cvar_hp_kill_classic register_cvar("amx_vip_addhp""10")  
   
cvar_ap_kill_classic register_cvar("amx_vip_addap""10")
   
cvar_vip_maxhp register_cvar("amx_vip_maxhp""100")
   
cvar_vip_maxap register_cvar("amx_vip_maxap""100")  
   
mkb register_cvar("money_kill_bonus","300")
   
mhb register_cvar("money_hs_bonus","500")
   
cvar_vip_showC register_cvar("amx_vip_show_chat""1")
   
cvar_vip_showH register_cvar("amx_vip_show_hud""1")
   
cvar_vip_gravity register_cvar("amx_vip_gravity""850.0")
   
 
   
set_task1.0"TaskDisplayVips"___"b")
   
SyncHudMessage CreateHudSyncObj( )
 
}
 
public 
TaskDisplayVips( )
{
   if(
get_pcvar_num(cvar_vip_showH))
   {
      static 
iPlayers32 ];
      static 
iPlayersNum;
   
      
get_playersiPlayersiPlayersNum"ch" );
      if( !
iPlayersNum )
         return 
1;
   
      static 
iVipsConnectedszVipsNames128 ], szName32 ];
      
formatexszVipsNamessizeof szVipsNames ) -1"" ); // Is this needed ?
      
iVipsConnected 0;
   
      static 
idi;
      for( 
0iPlayersNumi++ )
      {
         
id iPlayers];
         if( 
get_user_flagsid ) & ADMIN_GOLD )
         {
            
get_user_nameidszNamesizeof szName ) -);
         
            
addszVipsNamessizeof szVipsNames ) -1szName );
            
addszVipsNamessizeof szVipsNames ) -1"^n" );
         
            
iVipsConnected++;
         }
      }
   
      
formatexg_szMessagesizeof g_szMessage ) -1"%s ( %i )^n%s",
         
g_szBeginningiVipsConnectedszVipsNames );
     
      
set_hudmessage25255250.010.2500.01.00.10.1, -);
      
ShowSyncHudMsg0SyncHudMessageg_szMessage );
   }
   return 
PLUGIN_CONTINUE;
     
}
 
public 
print_adminlist(user)
{
   if(
get_pcvar_num(cvar_vip_showC))
   {
      new 
adminnames[33][32];
      new 
message[256];
      new 
idcountxlen;
 
      for(
id id <= get_maxplayers() ; id++)
         if(
is_user_connected(id))
            if(
get_user_flags(id) & ADMIN_GOLD || get_user_flags(id) & ADMIN_SILVER)
               
get_user_name(idadminnames[count++], charsmax(adminnames[ ]));
   
      
len format(message255"^3[%s] ^1VIP ACTIVE:^4 " ,tag);
      if(
count 0)
         {
         for(
count x++)
            {
            
len += format(message[len], 255-len"%s%s "adminnames[x], < (count-1) ? ", ":"");
            if(
len 96)
            {
               
print_message(usermessage);
               
len format(message255" ");
            }
            }
         
print_message(usermessage);
         }
      else
      {
         
ColorChat(0GREEN"^3[%s] ^1Momentan pe server nu se afla nici un ^4VIP^1 ACTIV ."tag);
      }
   }
   return 
PLUGIN_CONTINUE;  
}
 
print_message(idmsg[])
{
   
message_begin(MSG_ONEget_user_msgid("SayText"), {0,0,0}, id);
   
write_byte(id);
   
write_string(msg);
   
message_end();
}
 
public 
MessageScoreAttrib(iMsgIDiDestiReceiver// Display VIP pe TAB
{
       new 
iPlayer get_msg_arg_int(1);
       if(
is_user_connectediPlayer )
       && (
get_user_flagsiPlayer ) & ADMIN_GOLD))
      {
              
set_msg_arg_int(2ARG_BYTEis_user_alive(iPlayer) ? SCOREATTRIB_VIP SCOREATTRIB_DEAD);
          }
}
 
public 
in(id)    
{
   if(
get_pcvar_num(cvar_vip_in_out))
   {
      new 
name[32];
 
      
get_user_name(idnamecharsmax(name));
 
 
      if(
get_user_flags(id) & ADMIN_GOLD || get_user_flags(id) & ADMIN_SILVER)  
      {
         
ColorChat(0GREEN"^3[%s] ^1VIP: ^4%s ^1s-a conectat."tagname);
      }
      return 
PLUGIN_HANDLED;
   }
   return 
PLUGIN_CONTINUE;
}
 
public 
out(id)    
{  
   if(
get_pcvar_num(cvar_vip_in_out))
   {
      new 
name[32];
      
get_user_name(idnamecharsmax(name));
 
      if(
get_user_flags(id) & ADMIN_GOLD || get_user_flags(id) & ADMIN_SILVER)  
      {
         
ColorChat(0GREEN"^3[%s] ^1VIP: ^4%s ^1s-a deconectat."tagname);
      }
      return 
PLUGIN_HANDLED;
   }
   return 
PLUGIN_CONTINUE;
}
 
public 
client_connect(id) {
   if(
get_pcvar_num(Cvar_VIP) !=&& !(get_user_flags(id) & ADMIN_SILVER))
      
set_user_flags(id,get_user_flags(id) + 262144)
}
 
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) & ADMIN_GOLD) && (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 
Floatvelocity[3]  
      
entity_get_vector(idEV_VEC_velocityvelocity)
      
velocity[2] = random_float(265.0285.0)
      
entity_set_vector(idEV_VEC_velocityvelocity)
      
dojump[id] = false
   
}
   return 
PLUGIN_CONTINUE;
}
 
public 
client_putinserver(id)
{  
   
set_task(2.0"in"id)
   
jumpnum[id] = 0
   dojump
[id] = false
}
 
public 
client_disconnect(id)
{
   
set_task(2.0"out"id)
   
jumpnum[id] = 0;
   
dojump[id] = false;
}
 
public 
vip_info(id)
{
   
show_motd(id"/addons/amxmodx/configs/vip_info.html");
}
 
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) & ADMIN_GOLD && read_data(3) == 0)
         {
        if(
VIP_MAX_HP get_pcvar_num(cvar_hp_kill_premium) > VIP_MAXHP)
            
set_user_health(id_KillerVIP_MAXHP);
        else
            
set_user_health(id_Killerget_user_health(id_Killer) + get_pcvar_num(cvar_hp_kill_premium));
 
        if(
VIP_MAX_AP get_pcvar_num(cvar_ap_kill_premium) > VIP_MAXAP)
            
set_user_armor(id_KillerVIP_MAXAP);
        else
            
set_user_armor(id_Killerget_user_armor(id_Killer) + get_pcvar_num(cvar_ap_kill_premium));
           
        
cs_set_user_money(id_Killer,cs_get_user_money(id_Killer) + get_pcvar_num(mkb))
         }
      if(
get_user_flags(id_Killer) & ADMIN_GOLD && read_data(3) == 1)
         {
        if(
VIP_MAX_HP get_pcvar_num(cvar_hp_kill_premium) > VIP_MAXHP)
            
set_user_health(id_KillerVIP_MAXHP);
        else
            
set_user_health(id_Killerget_user_health(id_Killer) + get_pcvar_num(cvar_hp_kill_premium));
 
        if(
VIP_MAX_AP get_pcvar_num(cvar_ap_kill_premium) > VIP_MAXAP)
            
set_user_armor(id_KillerVIP_MAXAP);
        else
            
set_user_armor(id_Killerget_user_armor(id_Killer) + get_pcvar_num(cvar_ap_kill_premium));
           
        
cs_set_user_money(id_Killer,cs_get_user_money(id_Killer) + get_pcvar_num(mhb))
         }  
      if(
get_user_flags(id_Killer) & ADMIN_SILVER && read_data(3) == && !(get_user_flags(id_Killer) & ADMIN_GOLD))
         {
        if(
VIP_MAX_HP get_pcvar_num(cvar_hp_kill_classic) > VIP_MAXHP)
            
set_user_health(id_KillerVIP_MAXHP);
        else
            
set_user_health(id_Killerget_user_health(id_Killer) + get_pcvar_num(cvar_hp_kill_classic));
           
        if(
VIP_MAX_AP get_pcvar_num(cvar_ap_kill_classic) > VIP_MAXAP)
            
set_user_armor(id_KillerVIP_MAXAP);
        else   
            
set_user_armor(id_Killerget_user_armor(id_Killer) + get_pcvar_num(cvar_ap_kill_classic));
           
        
cs_set_user_money(id_Killer,cs_get_user_money(id_Killer) + get_pcvar_num(mhb))
         }
      if(
get_user_flags(id_Killer) & ADMIN_SILVER && read_data(3) == && !(get_user_flags(id_Killer) & ADMIN_GOLD))
         {
        
cs_set_user_money(id_Killer,cs_get_user_money(id_Killer) + get_pcvar_num(mkb))
         }
   }
 
   return 
PLUGIN_HANDLED;
}
 
public 
PreMenuid )
{
   static 
menu;
   
menu menu_create ("\rPRO-VIP \wGUN MENU","menu_pre");
   
   
menu_additem menu,"\wDeagle \r[PRO-VIP]","1"ADMIN_GOLD)
   
menu_additem menu,"\wUSP \r[PRO-VIP]","2"ADMIN_GOLD)
   
menu_additem menu,"\wKevlar \r[PRO-VIP]","3"ADMIN_GOLD)
   
   
menu_setprop menuMPROP_NUMBER_COLOR,"\y");
   
menu_setprop menuMPROP_EXITMEXIT_ALL );
   
   
menu_display idmenu);
   return 
0;
}
 
public 
menu_pre idmenuitem )
{
   if ( 
item == MENU_EXIT )
   {
      
menu_destroy menu );
      return 
1;
   }
   
   new 
data ], szName 64 ];
   new 
accesscallback;
   
   
menu_item_getinfo menuitemaccessdatacharsmax data ), szNamecharsmax szName ), callback );
   
   new 
key str_to_num data );
   
   switch ( 
key )
   {
      case 
1:
      {
         
drop_weapons(id,2)
         
give_item(id"weapon_hegrenade")
         
give_item id,"weapon_deagle" );
         
cs_set_user_bpammoidCSW_DEAGLE35 );
         
ColorChat(idGREEN"^3[%s]^1 Ai ales:^4 Deagle"tag);
      }
      case 
2:
      {
         
drop_weapons(id,2)
         
give_item id,"weapon_usp" );
         
cs_set_user_bpammoidCSW_USP35 );                
         
ColorChat(idGREEN"^3[%s]^1 Ai ales:^4 USP"tag);
      }      
      case 
3:
      {
          
give_item(id"item_kevlar")
          
give_item(id"weapon_flashbang")
          
give_item(id"weapon_flashbang")
          
give_item(id"weapon_hegrenade")
   
          
ColorChat(idGREEN"^3[%s]^1 Ai ales:^4 Kevlar"tag);
      }              
   }
   
menu_destroy menu );
   return 
1;
}
 
public 
GoldMenuid )
{
   static 
menu;
   
menu menu_create ("\rPRO-VIP GOLD \wGUN MENU","menu_gold");
   
   
menu_additem menu,"\rM4A1 \y+ \wDeagle \y+ \wiTem Pack \r[PRO-VIP]","1"ADMIN_GOLD)
   
menu_additem menu,"\rAK47 \y+ \wDeagle \y+ \wiTem Pack \r[PRO-VIP]","2"ADMIN_GOLD)
   
menu_additem menu,"\rAWP \y+ \wDeagle \y+ \wiTem Pack \r[PRO-VIP]","3"ADMIN_GOLD)
   
   
menu_setprop menuMPROP_NUMBER_COLOR,"\y");
   
menu_setprop menuMPROP_EXITMEXIT_ALL );
   
   
menu_display idmenu);
   return 
0;
}
 
 
public 
menu_gold idmenuitem )
{
   if ( 
item == MENU_EXIT )
   {
      
menu_destroy menu );
      return 
1;
   }
   
   new 
data ], szName 64 ];
   new 
accesscallback;
   
   
menu_item_getinfo menuitemaccessdatacharsmax data ), szNamecharsmax szName ), callback );
   
   new 
key str_to_num data );
   
   switch ( 
key )
   {
      case 
1:
      {
         
drop_weapons(id,1)
         
drop_weapons(id,2)
         
give_item(id"weapon_hegrenade")
         
give_item(id"weapon_flashbang")
         
cs_set_user_bpammo(idCSW_FLASHBANG2)
         
give_item(id"item_assaultsuit")
         
give_item(id"item_thighpack")
         
give_item id,"weapon_deagle" );
         
cs_set_user_bpammoidCSW_DEAGLE35 );
         
give_item id,"weapon_m4a1" )
         
cs_set_user_bpammoidCSW_M4A190 );
         
ColorChat(idGREEN"^3[%s]^1 Ai ales:^4 M4A1+Deagle+^3iTem Pack"tag);
      }
      case 
2:
      {
         
drop_weapons(id,1)
         
drop_weapons(id,2)
         
give_item(id"weapon_hegrenade")
         
give_item(id"weapon_flashbang")
         
cs_set_user_bpammo(idCSW_FLASHBANG2)
         
give_item(id"item_assaultsuit")
         
give_item(id"item_thighpack")
         
give_item id,"weapon_deagle" );
         
cs_set_user_bpammoidCSW_DEAGLE35 );                
         
give_item id,"weapon_ak47" )
         
cs_set_user_bpammoidCSW_AK4790 )
         
ColorChat(idGREEN"^3[%s]^1 Ai ales:^4 AK47+Deagle+^3iTem Pack"tag);
      }      
      case 
3:
      {
         
drop_weapons(id,1)
         
drop_weapons(id,2)
         
give_item(id"weapon_hegrenade")
         
give_item(id"weapon_flashbang")
         
cs_set_user_bpammo(idCSW_FLASHBANG2)
         
give_item(id"item_assaultsuit")
         
give_item(id"item_thighpack")
         
give_item id,"weapon_deagle" );
         
cs_set_user_bpammoidCSW_DEAGLE35 );                
         
give_item id,"weapon_awp" )
         
cs_set_user_bpammoidCSW_AWP30 )
         
ColorChat(idGREEN"^3[%s]^1 Ai ales:^4 AWP+Deagle+^3iTem Pack"tag);
      }              
   }
   
menu_destroy menu );
   return 
1;
}
 
 
public 
cmdSpawn(id) {
   if(
get_user_flags(id) & ADMIN_GOLD && is_user_alive(id)) 
   {
      if(
Activare)
         
GoldMenuid )

      
set_user_gravity(idget_pcvar_float(cvar_vip_gravity))
   }
   else if(
get_user_flags(id) & ADMIN_SILVER && is_user_alive(id))
   {
      if(
Activare)
         
SilverMenuid )
   }
   
   if(
get_user_flags(id) & ADMIN_GOLD || get_user_flags(id) & ADMIN_SILVER && is_user_alive(id)){
    if(
premenuactive)
        
PreMenuid )
    }
   
   if(
get_pcvar_num(Cvar_VIP) !=&& !(get_user_flags(id) & ADMIN_SILVER))
      
set_user_flags(id,get_user_flags(id) + 262144)
}
 
public 
SilverMenu id )
{
   static 
menu;
   
menu menu_create ("\rPRO-VIP SILVER \wGUN MENU","menu_silver");
   
   
menu_additem menu,"\rM4A1 \y+ \wDeagle \y+ \wiTem Pack \r[PRO-VIP]","1"ADMIN_SILVER)
   
menu_additem menu,"\rAK47 \y+ \wDeagle \y+ \wiTem Pack \r[PRO-VIP]","2"ADMIN_SILVER)
 
 
   
menu_setprop menuMPROP_NUMBER_COLOR,"\y");
   
menu_setprop menuMPROP_EXITMEXIT_ALL );
   
   
menu_display idmenu);
   return 
0;
}
 
 
public 
menu_silver idmenuitem )
{
   if ( 
item == MENU_EXIT )
   {
      
menu_destroy menu );
      return 
1;
   }
   
   new 
data ], szName 64 ];
   new 
accesscallback;
   
   
menu_item_getinfo menuitemaccessdatacharsmax data ), szNamecharsmax szName ), callback );
   
   new 
key str_to_num data );
   
   switch ( 
key )
   {
      case 
1:
      {
         
drop_weapons(id,1)
         
drop_weapons(id,2)
         
give_item(id"weapon_hegrenade")
         
give_item(id"weapon_flashbang")
         
cs_set_user_bpammo(idCSW_FLASHBANG2)
         
give_item(id"item_assaultsuit")
         
give_item(id"item_thighpack")
         
give_item id,"weapon_deagle" )
         
cs_set_user_bpammoidCSW_DEAGLE35 )              
         
give_item id,"weapon_m4a1" )
         
cs_set_user_bpammoidCSW_M4A190 )
         
ColorChat(idGREEN"^3[%s]^1 Ai ales:^4 M4A1+Deagle+^3iTem Pack"tag);
      }
      case 
2:
      {
         
drop_weapons(id,1)
         
drop_weapons(id,2)
         
give_item(id"weapon_hegrenade")
         
give_item(id"weapon_flashbang")
         
cs_set_user_bpammo(idCSW_FLASHBANG2)
         
give_item(id"item_assaultsuit")
         
give_item(id"item_thighpack")
         
give_item id,"weapon_deagle" )
         
cs_set_user_bpammoidCSW_DEAGLE35 )                
         
give_item id,"weapon_ak47" )
         
cs_set_user_bpammoidCSW_AK4790 )
         
ColorChat(idGREEN"^3[%s]^1 Ai ales:^4 AK47+Deagle+^3iTem Pack"tag);
      }              
   }
   
menu_destroy menu );
   return 
PLUGIN_HANDLED
}
 
public 
RoundStart( )
{
   
Contor++
   if(
Contor >= Runda_Arme)
      
Activare true
     
     
   
if(Contor Runda_Arme)
    
premenuactive true
   
else
    
premenuactive false
     
}
stock drop_weapons(iddropwhat)
{
   static 
Weapons[32], NumiWeaponID;
   
Num 0;
   
get_user_weapons(idWeaponsNum);
   for(
0Num++)
   {
      
WeaponID Weapons[i];
      if((
dropwhat == && ((<< WeaponID) & PRIMARY_WEAPONS_BIT_SUM)) || (dropwhat == && ((<< WeaponID) & SECONDARY_WEAPONS_BIT_SUM )))
      {
         static 
DropName[32], WeaponEntity;
         
get_weaponname(WeaponIDDropNamecharsmax(DropName));
         
WeaponEntity fm_find_ent_by_owner(-1DropNameid);
         
set_pev(WeaponEntitypev_iuser1cs_get_user_bpammo (idWeaponID));
         
engclient_cmd(id"drop"DropName);
         
cs_set_user_bpammo(idWeaponID0);
      }
   }
}
 
#pragma tabsize 0 
ZaX is offline