/*==================================-----------------------------====================================================
* *
* [ DeathRun Menu ] *
* *
* *
* # ChangeLog: *
* * Added Vip Gold & Silver Menu *
* * Added Gold Weapons *
* *
* # Credite: *
* * Askhanar: Am luat functia cu get_name ( id ) dintr-un plugin de-al lui. * *
* *
* [ DeathRun Menu ] *
* *
*=================================-----------------------------====================================================*/
#include < amxmodx >
#include < cstrike >
#include < hamsandwich >
#include < fakemeta_util >
#include < ColorChat >
#define PLUGIN_NAME "Deathrun Meniu"
#define PLUGIN_VERSION "1.1"
#define PLUGIN_AUTHOR "DaNNe."
#pragma tabsize 0
#define is_valid_player(%1) (1 <= %1 <= 32)
#define SilverFlags ADMIN_LEVEL_H
#define GoldFlags ADMIN_LEVEL_G
/******************************************************************************************
[ VIP Weapons ]
******************************************************************************************/
/* Ak47 Gold ( VIP Gold ) */
new const vGoldenAk [ 64 ] = "models/Dr_VIP/v_goldenak47.mdl"
new const pGoldenAk [ 64 ] = "models/Dr_VIP/p_goldenak47.mdl"
/* MP5 Gold ( VIP Silver ) */
new const vGoldenMp5 [ 64 ] = "models/Dr_VIP/v_goldenmp5.mdl"
new const pGoldenMp5 [ 64 ] = "models/Dr_VIP/p_goldenmp5.mdl"
/******************************************************************************************
[ VIP Weapons ]
******************************************************************************************/
new const szTag [ ] = "^x03[^x04 Dr Menu^x03 ]^x01";
new bool: TakeAkGolden [ 33 ];
new bool: TakeMp5Golden [ 33 ];
new bool: HaveSpeed [ 33 ];
new bool:HeGrenade[ 33 ];
new CvarHP, CvarAP, CvarGoldHP, CvarGoldAP, CvarHPSilver, CvarAPSilver;
public plugin_init( )
{
register_plugin( PLUGIN_NAME, PLUGIN_VERSION, PLUGIN_AUTHOR )
CvarHP = register_cvar("shop_hp", "300");
CvarAP = register_cvar("shop_ap", "300");
CvarGoldHP = register_cvar("shop_golden_hp", "3000");
CvarGoldHP = register_cvar("shop_golden_ap", "3000");
CvarHPSilver = register_cvar("shop_silver_hp", "1000");
CvarAPSilver = register_cvar("shop_silver_ap", "1000");
register_event( "CurWeapon", "Event_CurWeapon", "be", "1=1" );
RegisterHam( Ham_TakeDamage, "player", "fwTakeDamage" );
RegisterHam( Ham_Spawn, "player", "fwPlayerSpawn", true );
}
public plugin_precache( )
{
precache_model ( vGoldenAk );
precache_model ( pGoldenAk );
precache_model ( vGoldenMp5 );
precache_model ( pGoldenMp5 );
}
public fwPlayerSpawn( id )
{
TakeAkGolden [ id ] = false;
TakeMp5Golden [ id ] = false;
HaveSpeed [ id ] = false;
HeGrenade [ id ] = false;
if( is_valid_player ( id ) && is_user_alive( id ) && cs_get_user_team( id ) == CS_TEAM_T )
{
ShowTeroMenu ( id );
}
}
public InfiniteHE ( id ) {
if ( HeGrenade[ id ] ) {
fm_give_item ( id, "weapon_hegrenade" );
set_task ( 3.0, "InfiniteHE", id );
}
}
public ShowTeroMenu ( id )
{
new TeroMenu = menu_create ( "\yChoose Your Abillity", "TeroGiver" )
if ( is_user_connected ( id ) )
{
new buffer [ 256 ];
if ( !is_user_alive(id) )
{
formatex ( buffer, sizeof ( buffer ) -1,"Mp5 + HeGrenade \d[Only Alive]" );
menu_additem ( TeroMenu, buffer, "1", 0 );
}
else
{
formatex ( buffer, sizeof ( buffer ) -1,"Mp5 + HeGrenade" );
menu_additem ( TeroMenu, buffer, "1", 0 );
}
}
if ( is_user_connected ( id ) )
{
new buffer [ 256 ];
if ( !is_user_alive(id) )
{
formatex ( buffer, sizeof ( buffer ) -1,"He Infinite \d[Only Alive]" );
menu_additem ( TeroMenu, buffer, "2", 0 );
}
else
{
formatex ( buffer, sizeof ( buffer ) -1,"He Infinite" );
menu_additem ( TeroMenu, buffer, "2", 0 );
}
}
if ( is_user_connected ( id ) )
{
new buffer [ 256 ];
if ( !is_user_alive(id) )
{
formatex ( buffer, sizeof ( buffer ) -1,"%d Hp + %d AP \d[Only Alive]", get_pcvar_num( CvarHP ), get_pcvar_num( CvarAP ) );
menu_additem ( TeroMenu, buffer, "3", 0 );
}
else
{
formatex ( buffer, sizeof ( buffer ) -1,"%d Hp + %d AP", get_pcvar_num( CvarHP ), get_pcvar_num( CvarAP ) );
menu_additem ( TeroMenu, buffer, "3", 0 );
}
}
if ( is_user_connected ( id ) )
{
new buffer [ 256 ];
if ( !is_user_alive(id) )
{
formatex ( buffer, sizeof ( buffer ) -1,"Speed \d[Only Alive]" );
menu_additem ( TeroMenu, buffer, "4", 0 );
}
else
{
formatex ( buffer, sizeof ( buffer ) -1,"Speed" );
menu_additem ( TeroMenu, buffer, "4", 0 );
}
}
if ( is_user_connected ( id ) )
{
new buffer [ 256 ];
if ( !is_user_alive(id) )
{
formatex ( buffer, sizeof ( buffer ) -1,"Gravitatie \d[Only Alive]" );
menu_additem ( TeroMenu, buffer, "5", 0 );
}
else
{
formatex ( buffer, sizeof ( buffer ) -1,"Gravitatie" );
menu_additem ( TeroMenu, buffer, "5", 0 );
}
}
if ( is_user_connected ( id ) )
{
new buffer [ 256 ];
if ( get_user_flags(id) & GoldFlags )
{
formatex ( buffer, sizeof ( buffer ) -1,"\rVIP \yGold \rMenu \y( \rVIP ACCES \y)" );
menu_additem ( TeroMenu, buffer, "6", 0 );
}
else
{
formatex ( buffer, sizeof ( buffer ) -1,"\rVIP \yGold \rMenu \d[Only VIP]" );
menu_additem ( TeroMenu, buffer, "6", 0 );
}
}
if ( is_user_connected ( id ) )
{
new buffer [ 256 ];
if ( get_user_flags(id) & SilverFlags )
{
formatex ( buffer, sizeof ( buffer ) -1,"\yVIP \rSilver \yMenu ( \rVIP ACCES \y)" );
menu_additem ( TeroMenu, buffer, "7", 0 );
}
else
{
formatex ( buffer, sizeof ( buffer ) -1,"\yVIP \rSilver \yMenu \d[Only VIP]" );
menu_additem ( TeroMenu, buffer, "7", 0 );
}
}
menu_setprop( TeroMenu, MPROP_EXIT, MEXIT_ALL )
menu_display( id, TeroMenu, 0 )
}
public TeroGiver( id, TeroMenu, item ) {
if ( get_user_team ( id ) != 1 ) return 1;
if ( !is_user_alive(id) ) return 1;
if( item == MENU_EXIT ) {
menu_destroy( TeroMenu )
return PLUGIN_HANDLED
}
switch( item ) {
case 0 :
{
fm_give_item ( id, "weapon_mp5navy" );
fm_give_item ( id, "weapon_hegrenade" );
cs_set_user_bpammo ( id, CSW_MP5NAVY, 120 );
ColorChat( 0, GREEN, "%s Terrorist^x04 %s^x01 choose to receive^x03 MP5 + HE.", szTag, get_name ( id ) );
return 1;
}
case 1 :
{
HeGrenade [ id ] = true;
InfiniteHE(id);
ColorChat( 0, GREEN, "%s Terrorist^x04 %s^x01 choose to receive^x03 FULL HE.", szTag, get_name ( id ) );
return 1;
}
case 2 :
{
fm_set_user_health ( id, get_user_health ( id ) + 300 );
fm_set_user_armor( id, get_user_armor ( id ) + 300 );
ColorChat( 0, GREEN, "%s Terrorist^x04 %s^x01 choose to receive^x03 300 HP + AP.", szTag, get_name ( id ) )
return 1;
}
case 3 :
{
fm_set_user_maxspeed( id, fm_get_user_maxspeed(id) + 300.0 );
HaveSpeed [ id ] = true
ColorChat( 0, GREEN, "%s Terrorist^x04 %s^x01 choose to receive^x03 Speed.", szTag, get_name ( id ) )
return 1;
}
case 4 :
{
fm_set_user_gravity(id, 0.5);
ColorChat( 0, GREEN, "%s Terrorist^x04 %s^x01 choose to receive^x03 Gravity.", szTag, get_name ( id ) )
return 1;
}
case 5 :
{
if( get_user_flags( id ) & GoldFlags )
{
VIPGMenu( id )
}
else {
ColorChat( id, GREEN, "%s This menu is only for^x04 V.I.P Gold.", szTag )
ShowTeroMenu( id )
}
}
case 6 :
{
if( get_user_flags( id ) & SilverFlags )
{
VIPSMenu( id )
}
else {
ColorChat( id, GREEN, "%s This menu is only for^x04 V.I.P Silver.", szTag )
ShowTeroMenu( id )
}
}
}
menu_destroy( TeroMenu )
return PLUGIN_HANDLED
}
// Menu VIP Gold
public VIPGMenu ( id )
{
new VGMenu = menu_create ( "\rVIP \yGold \rMenu", "VipGoldGiver" )
if ( is_user_connected ( id ) )
{
new buffer [ 256 ];
if ( !is_user_alive(id) )
{
formatex ( buffer, sizeof ( buffer ) -1,"\rAk47 \yGolden \d[Only Alive]" );
menu_additem ( VGMenu, buffer, "1", 0 );
}
else
{
formatex ( buffer, sizeof ( buffer ) -1,"\rAk47 \yGolden" );
menu_additem ( VGMenu, buffer, "1", 0 );
}
}
if ( is_user_connected ( id ) )
{
new buffer [ 256 ];
if ( !is_user_alive(id) )
{
formatex ( buffer, sizeof ( buffer ) -1,"\r%d HP\w + \r%d AP \d[Only Alive]", get_pcvar_num( CvarGoldHP ), get_pcvar_num( CvarGoldAP ) );
menu_additem ( VGMenu, buffer, "2", 0 );
}
else
{
formatex ( buffer, sizeof ( buffer ) -1,"\r%d HP\w + \r%d AP", get_pcvar_num( CvarGoldHP ), get_pcvar_num( CvarGoldAP ) );
menu_additem ( VGMenu, buffer, "2", 0 );
}
}
menu_setprop( VGMenu, MPROP_EXIT, MEXIT_ALL )
menu_display( id, VGMenu, 0 )
}
public VipGoldGiver( id, VGMenu, item ) {
if ( get_user_team ( id ) != 1 ) return 1;
if ( is_user_alive(id) ) return 1;
if( item == MENU_EXIT ) {
menu_destroy( VGMenu )
return PLUGIN_HANDLED
}
switch( item ) {
case 0 :
{
fm_give_item( id, "weapon_ak47" )
cs_set_user_bpammo( id, CSW_AK47, 120 )
set_pev( id, pev_viewmodel2, vGoldenAk )
set_pev( id, pev_weaponmodel2, pGoldenAk )
TakeAkGolden [ id ] = true
fm_give_item( id, "weapon_deagle" )
cs_set_user_bpammo ( id, CSW_DEAGLE, 140 )
ColorChat( 0, GREEN, "%s VIP Gold^x04 %s^x01 choose to receive^x03 Ak47 Golden.", szTag, get_name ( id ) )
return 1;
}
case 1 :
{
fm_set_user_health ( id, get_user_health ( id ) + 3000 );
fm_set_user_armor( id, get_user_armor ( id ) + 3000 );
ColorChat( 0, GREEN, "%s VIP Gold^x04 %s^x01 choose to receive^x03 3000 HP + 3000 AP", szTag, get_name ( id ) )
return 1;
}
}
menu_destroy ( VGMenu )
return PLUGIN_HANDLED
}
// VIP Silver Menu
public VIPSMenu( id )
{
new VSMenu = menu_create ( "\yVIP \rSilver \yMenu", "VipSilverGiver")
if ( is_user_connected ( id ) )
{
new buffer [ 256 ];
if ( !is_user_alive(id) )
{
formatex ( buffer, sizeof ( buffer ) -1,"\rMp5 \yGolden \d[Only Alive]", get_pcvar_num( CvarGoldHP ), get_pcvar_num( CvarGoldAP ) );
menu_additem( VSMenu, buffer, "1", 0 );
}
else
{
formatex ( buffer, sizeof ( buffer ) -1,"\rMp5 \yGolden" );
menu_additem( VSMenu, buffer, "1", 0 );
}
}
if ( is_user_connected ( id ) )
{
new buffer [ 256 ];
if ( !is_user_alive(id) )
{
formatex ( buffer, sizeof ( buffer ) -1,"\r%d HP\w + \r%d AP \d[Only Alive]", get_pcvar_num( CvarHPSilver ), get_pcvar_num( CvarAPSilver ) );
menu_additem( VSMenu, buffer, "2", 0 );
}
else
{
formatex ( buffer, sizeof ( buffer ) -1,"\r%d HP\w + \r%d AP", get_pcvar_num( CvarHPSilver ), get_pcvar_num( CvarAPSilver ) );
menu_additem( VSMenu, buffer, "2", 0 );
}
}
menu_setprop( VSMenu, MPROP_EXIT, MEXIT_ALL )
menu_display( id, VSMenu, 0 )
}
public VipSilverGiver( id, VSMenu, item ) {
if ( get_user_team ( id ) != 1 ) return 1;
if ( !is_user_alive(id) ) return 1;
if( item == MENU_EXIT ) {
menu_destroy( VSMenu )
return PLUGIN_HANDLED
}
switch( item ) {
case 0 :
{
fm_give_item( id, "weapon_mp5navy" )
cs_set_user_bpammo( id, CSW_MP5NAVY, 120 )
set_pev( id, pev_viewmodel2, vGoldenMp5 )
set_pev( id, pev_weaponmodel2, pGoldenMp5 )
TakeMp5Golden [ id ] = true
fm_give_item( id, "weapon_deagle" )
cs_set_user_bpammo ( id, CSW_DEAGLE, 140 )
ColorChat( 0, GREEN, "%s VIP Silver^x04 %s^x01 choose to receive^x03 MP5 Golden.", szTag, get_name ( id ) )
return 1;
}
case 1 :
{
fm_set_user_health ( id, get_user_health ( id ) + 1000 );
fm_set_user_armor( id, get_user_armor ( id ) + 1000 );
ColorChat( 0, GREEN, "%s VIP Gold^x04 %s^x01 choose to receive^x03 1000 HP + 1000 AP.", szTag, get_name ( id ) )
return 1;
}
}
menu_destroy ( VSMenu )
return PLUGIN_HANDLED
}
public Event_CurWeapon( id )
{
new Weapon = read_data( 2 )
if( Weapon == CSW_AK47 && TakeAkGolden[ id ] )
{
set_pev( id, pev_viewmodel2, vGoldenAk )
set_pev( id, pev_weaponmodel2, pGoldenAk )
}
if( Weapon == CSW_MP5NAVY && TakeMp5Golden[ id ] )
{
set_pev( id, pev_viewmodel2, vGoldenMp5 )
set_pev( id, pev_weaponmodel2, pGoldenMp5 )
}
if(is_user_alive(id) && HaveSpeed [ id ])
{
fm_set_user_maxspeed( id, fm_get_user_maxspeed(id) + 300.0 );
}
}
public fwTakeDamage( Victim, Inflictor, Attacker, Float:Damage )
{
if( is_valid_player( Attacker ) && get_user_weapon( Attacker ) == CSW_AK47 && TakeAkGolden[ Attacker ] )
{
SetHamParamFloat( 4, Damage * 3.7 )
}
if( is_valid_player( Attacker ) && get_user_weapon( Attacker ) == CSW_MP5NAVY && TakeMp5Golden[ Attacker ] )
{
SetHamParamFloat( 4, Damage * 3.0 )
}
}
stock get_name( id )
{
new name[ 32 ];
get_user_name( id, name, sizeof ( name ) -1 );
return name;
}