AlliedModders

AlliedModders (https://forums.alliedmods.net/index.php)
-   Scripting Help (https://forums.alliedmods.net/forumdisplay.php?f=11)
-   -   Plugin Help (https://forums.alliedmods.net/showthread.php?t=281546)

Leonardo451 04-14-2016 04:01

Plugin Help
 
Hi Guys, I need help with my vip plugin, i want time in the menu to close! .. As this menu

PHP Code:

#define DAMAGE_RECIEVED
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <fun>

static const COLOR[] = "^x04" //green
static const CONTACT[] = ""
new maxplayers
new gmsgSayText
new mpdmkbmhb
new g_MsgSync
new health_add
new health_hs_add
new health_max
new nKiller
new nKiller_hp
new nHp_add
new nHp_max
new g_awp_active
new g_menu_active
new CurrentRound
new bool:HasC4[33]
#define Keysrod (1<<0)|(1<<1)|(1<<2)|(1<<9) // Keys: 1234567890
#if defined DAMAGE_RECIEVED
    
new g_MsgSync2
#endif

public plugin_init()
{
    
register_plugin("VIP""3.0""azipei")
    
mpd register_cvar("money_per_damage","")
    
mkb register_cvar("money_kill_bonus","200")
    
mhb register_cvar("money_hs_bonus","500")
    
health_add register_cvar("amx_vip_hp""15")
    
health_hs_add register_cvar("amx_vip_hp_hs""")
    
health_max register_cvar("amx_vip_max_hp""100")
    
g_awp_active register_cvar("awp_active""0")
    
g_menu_active register_cvar("menu_active""1")
    
register_event("Damage","Damage","b")
    
register_event("DeathMsg","death_msg","a")
    
register_menucmd(register_menuid("rod"), Keysrod"Pressedrod")
    
register_clcmd("awp","HandleCmd")
        
register_clcmd("sg550","HandleCmd")
        
register_clcmd("g3sg1","HandleCmd")
    
register_clcmd("say /vipinfo","ShowMotd")
    
maxplayers get_maxplayers()
    
gmsgSayText get_user_msgid("SayText")
    
register_clcmd("say""handle_say")
    
register_cvar("amx_contactinfo"CONTACTFCVAR_SERVER)
    
register_logevent("LogEvent_RoundStart"2"1=Round_Start" );
    
register_event("TextMsg","Event_RoundRestart","a","2&#Game_w")
    
register_event("TextMsg","Event_RoundRestart","a","2&#Game_C");
    
register_event("DeathMsg""hook_death""a""1>0")
    
register_event("Damage""on_damage""b""2!0""3=0""4!0")
    
g_MsgSync CreateHudSyncObj()
#if defined DAMAGE_RECIEVED
    
g_MsgSync2 CreateHudSyncObj()
#endif    
}

public 
on_damage(id)
{
    new 
attacker get_user_attacker(id)

#if defined DAMAGE_RECIEVED
    // id should be connected if this message is sent, but lets check anyway
    
if ( is_user_connected(id) && is_user_connected(attacker) )
    if (
get_user_flags(attacker) & ADMIN_RESERVATION)
    {
        new 
damage read_data(2)

        
set_hudmessage(255000.450.5020.14.00.10.1, -1)
        
ShowSyncHudMsg(idg_MsgSync2"%i^n"damage)
#else
    
if ( is_user_connected(attacker) && if (get_user_flags(attacker) & ADMIN_RESERVATION) )
    {
        new 
damage read_data(2)
#endif
        
set_hudmessage(0100200, -1.00.5520.14.00.020.02, -1)
        
ShowSyncHudMsg(attackerg_MsgSync"%i^n"damage)
    }
}

public 
Damage(id)
{
    new 
weaponhitpointattacker get_user_attacker(id,weapon,hitpoint)
    if(
attacker<=maxplayers && is_user_alive(attacker) && attacker!=id)
    if (
get_user_flags(attacker) & ADMIN_RESERVATION
    {
        new 
money read_data(2) * get_pcvar_num(mpd)
        if(
hitpoint==1money += get_pcvar_num(mhb)
        
cs_set_user_money(attacker,cs_get_user_money(attacker) + money)
    }
}

public 
death_msg()
{
    if(
read_data(1)<=maxplayers && read_data(1) && read_data(1)!=read_data(2)) cs_set_user_money(read_data(1),cs_get_user_money(read_data(1)) + get_pcvar_num(mkb) - 300)
}

public 
LogEvent_RoundStart()
{
    
CurrentRound++;
    new 
players[32], playerpnum;
    
get_players(playerspnum"a");
    for(new 
0pnumi++)
    {
        
player players[i];
        if(
is_user_alive(player) && get_user_flags(player) & ADMIN_RESERVATION)
        {
            
give_item(player"weapon_hegrenade")
            
give_item(player"weapon_flashbang")
            
give_item(player"weapon_flashbang")
            
give_item(player"item_assaultsuit")
            
give_item(player"item_thighpack")
            
            if (!
get_pcvar_num(g_menu_active))
                return 
PLUGIN_CONTINUE
            
            
if(CurrentRound >= 5)
            {
                
Showrod(player);
            }
        }
    }
    return 
PLUGIN_HANDLED
}

public 
Event_RoundRestart()
{
    
CurrentRound=0;
}

public 
hook_death()
{
   
// Killer id
   
nKiller read_data(1)
   
   if ( (
read_data(3) == 1) && (read_data(5) == 0) )
   {
      
nHp_add get_pcvar_num (health_hs_add)
   }
   else
      
nHp_add get_pcvar_num (health_add)
   
nHp_max get_pcvar_num (health_max)
   
// Updating Killer HP
   
if(!(get_user_flags(nKiller) & ADMIN_RESERVATION))
   return;

   
nKiller_hp get_user_health(nKiller)
   
nKiller_hp += nHp_add
   
// Maximum HP check
   
if (nKiller_hp nHp_maxnKiller_hp nHp_max
   set_user_health
(nKillernKiller_hp)
   
// Hud message "Healed +15/+30 hp"
   
set_hudmessage(02550, -1.00.1501.01.00.10.1, -1)
   
show_hudmessage(nKiller""nHp_add)
   
// Screen fading
   
message_begin(MSG_ONEget_user_msgid("ScreenFade"), {0,0,0}, nKiller)
   
write_short(1<<10)
   
write_short(1<<10)
   
write_short(0x0000)
   
write_byte(0)
   
write_byte(0)
   
write_byte(200)
   
write_byte(75)
   
message_end()
 
}

public 
Showrod(id) {
    
show_menu(idKeysrod"\r[ Menu VIP's ]^n\dVIP by azipei^n^n\r1. \wEscolho \r[ \dAWP \y+ \dDeagle \r]^n\r2. \wEscolho \r[ \dM4A1 \y+ \dDeagle \r] ^n\r3. \wEscolho \r[ \dAK47 \y+ \dDeagle \r]^n^n\r0. \yExit^n", -1"rod")
}
public 
Pressedrod(idkey) {
    
/* Menu:
    * VIP Menu
    * 1. Get M4A1+Deagle
    * 2. Get AK47+Deagle
    * 0. Exit
    */
    
switch (key) {
        case 
0: { 
            if (
user_has_weapon(idCSW_C4) && get_user_team(id) == 1)
            
HasC4[id] = true;
            else
            
HasC4[id] = false;
            
            
strip_user_weapons (id)
            
give_itemid,"weapon_awp" )
            
cs_set_user_bpammoidCSW_AWP30 )
            
give_itemid,"weapon_deagle" )
            
cs_set_user_bpammoidCSW_DEAGLE35 )
            
give_item(id,"weapon_knife")
            
give_item(id,"weapon_hegrenade")
            
give_item(id,"weapon_flashbang");
            
give_item(id,"weapon_flashbang");
            
give_item(id,"item_assaultsuit");
            
give_item(id,"item_thighpack");
            
client_print(idprint_center"Recebeste AWP + Deagle")
            
            if (
HasC4[id])
            {
                
give_item(id"weapon_c4");
                
cs_set_user_plantid );
            }
            }
        case 
1: { 
            if (
user_has_weapon(idCSW_C4) && get_user_team(id) == 1)
                
HasC4[id] = true;
            else
                
HasC4[id] = false;
            
            
strip_user_weapons (id)
            
give_item(id,"weapon_m4a1")
            
cs_set_user_bpammoidCSW_M4A190 )
            
give_item(id,"weapon_deagle")
            
cs_set_user_bpammoidCSW_DEAGLE35 )
            
give_item(id,"weapon_knife")
            
give_item(id,"weapon_hegrenade")
            
give_item(id"weapon_flashbang");
            
give_item(id"weapon_flashbang");
            
give_item(id"item_assaultsuit");
            
give_item(id"item_thighpack");
            
client_print(idprint_center"Recebeste M4A1 + Deagle")
            
            if (
HasC4[id])
            {
                
give_item(id"weapon_c4");
                
cs_set_user_plantid );
            }
            }
        case 
2: { 
            if (
user_has_weapon(idCSW_C4) && get_user_team(id) == 1)
                
HasC4[id] = true;
            else
                
HasC4[id] = false;
            
            
strip_user_weapons (id)
            
give_item(id,"weapon_m4a1")
            
cs_set_user_bpammoidCSW_AK4790 )
            
give_item(id,"weapon_deagle")
            
cs_set_user_bpammoidCSW_DEAGLE35 )
            
give_item(id,"weapon_knife")
            
give_item(id,"weapon_hegrenade")
            
give_item(id"weapon_flashbang");
            
give_item(id"weapon_flashbang");
            
give_item(id"item_assaultsuit");
            
give_item(id"item_thighpack");
            
client_print(idprint_center"Recebeste AK47 + Deagle")
            
            if (
HasC4[id])
            {
                
give_item(id"weapon_c4");
                
cs_set_user_plantid );
            }
            }
        case 
9: {             
        }
    }
    return 
PLUGIN_CONTINUE
}

public 
HandleCmd(id){
    if (!
get_pcvar_num(g_awp_active))
      return 
PLUGIN_CONTINUE
    
if(get_user_flags(id) & ADMIN_RESERVATION
        return 
PLUGIN_CONTINUE
    client_print
(idprint_center"Sniper's Only For VIP's")
    return 
PLUGIN_HANDLED
}

public 
ShowMotd(id)
{
 
show_motd(id"vip.txt")
}

public 
handle_say(id) {
    new 
said[192]
    
read_args(said,192)
    if( ( 
containi(said"who") != -&& containi(said"admin") != -) || contain(said"/vips") != -)
        
set_task(0.1,"print_adminlist",id)
    return 
PLUGIN_CONTINUE
}

public 
print_adminlist(user
{
    new 
adminnames[33][32]
    new 
message[256]
    new 
contactinfo[256], contact[112]
    new 
idcountxlen
    
    
for(id id <= maxplayers id++)
        if(
is_user_connected(id))
            if(
get_user_flags(id) & ADMIN_RESERVATION)
                
get_user_name(idadminnames[count++], 31)

    
len format(message255"%s VIP ONLINE: ",COLOR)
    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"%s ",COLOR)
            }
        }
        
print_message(usermessage)
    }
    else {
        
len += format(message[len], 255-len"Nenhum VIP online.")
        
print_message(usermessage)
    }
    
    
get_cvar_string("amx_contactinfo"contact63)
    if(
contact[0])  {
        
format(contactinfo111"%s Contact Server Admin -- %s"COLORcontact)
        
print_message(usercontactinfo)
    }
}

print_message(idmsg[]) {
    
message_begin(MSG_ONEgmsgSayText, {0,0,0}, id)
    
write_byte(id)
    
write_string(msg)
    
message_end()


http://i.imgur.com/KI15fZt.png

Vancold 04-17-2016 06:33

Re: Plugin Help
 
The simplest way to do it is to create a task.

The task would destroy the menu and call it every second.
If the player made any input it still reacts, but after a certain amount of time it would get destroyed (deactivated).

Simple as that. You just have to have a counter for the time remaining (int array; since you need to store it for every user that might use the menu)

Leonardo451 04-17-2016 10:47

Re: Plugin Help
 
Can you do that for me? I not know to do it :(

siriusmd99 04-17-2016 13:02

Re: Plugin Help
 
Try:

PHP Code:

#define DAMAGE_RECIEVED 
#include <amxmodx> 
#include <amxmisc> 
#include <cstrike> 
#include <fun> 

static const COLOR[] = "^x04" //green 
static const CONTACT[] = "" 
new maxplayers 
new gmsgSayText 
new mpdmkbmhb 
new g_MsgSync 
new health_add 
new health_hs_add 
new health_max 
new nKiller 
new nKiller_hp 
new nHp_add 
new nHp_max 
new g_awp_active 
new g_menu_active 
new CurrentRound 
new bool:HasC4[33
new 
time_left[33];
new 
g_time;
#define Keysrod (1<<0)|(1<<1)|(1<<2)|(1<<9) // Keys: 1234567890 
#if defined DAMAGE_RECIEVED 
    
new g_MsgSync2 
#endif 

public plugin_init() 

    
register_plugin("VIP""3.0""azipei"
    
mpd register_cvar("money_per_damage",""
    
mkb register_cvar("money_kill_bonus","200"
    
mhb register_cvar("money_hs_bonus","500"
    
health_add register_cvar("amx_vip_hp""15"
    
health_hs_add register_cvar("amx_vip_hp_hs"""
    
health_max register_cvar("amx_vip_max_hp""100"
    
g_awp_active register_cvar("awp_active""0"
    
g_menu_active register_cvar("menu_active""1"
    
g_time register_cvar("wmenu_countdown_time""5");
    
register_event("Damage","Damage","b"
    
register_event("DeathMsg","death_msg","a"
    
register_menucmd(register_menuid("rod"), Keysrod"Pressedrod"
    
register_clcmd("awp","HandleCmd"
        
register_clcmd("sg550","HandleCmd"
        
register_clcmd("g3sg1","HandleCmd"
    
register_clcmd("say /vipinfo","ShowMotd"
    
maxplayers get_maxplayers() 
    
gmsgSayText get_user_msgid("SayText"
    
register_clcmd("say""handle_say"
    
register_cvar("amx_contactinfo"CONTACTFCVAR_SERVER
    
register_logevent("LogEvent_RoundStart"2"1=Round_Start" ); 
    
register_event("TextMsg","Event_RoundRestart","a","2&#Game_w"
    
register_event("TextMsg","Event_RoundRestart","a","2&#Game_C"); 
    
register_event("DeathMsg""hook_death""a""1>0"
    
register_event("Damage""on_damage""b""2!0""3=0""4!0"
    
g_MsgSync CreateHudSyncObj() 
#if defined DAMAGE_RECIEVED 
    
g_MsgSync2 CreateHudSyncObj() 
#endif     


public 
on_damage(id

    new 
attacker get_user_attacker(id

#if defined DAMAGE_RECIEVED 
    // id should be connected if this message is sent, but lets check anyway 
    
if ( is_user_connected(id) && is_user_connected(attacker) ) 
    if (
get_user_flags(attacker) & ADMIN_RESERVATION
    { 
        new 
damage read_data(2

        
set_hudmessage(255000.450.5020.14.00.10.1, -1
        
ShowSyncHudMsg(idg_MsgSync2"%i^n"damage
#else 
    
if ( is_user_connected(attacker) && if (get_user_flags(attacker) & ADMIN_RESERVATION) ) 
    { 
        new 
damage read_data(2
#endif 
        
set_hudmessage(0100200, -1.00.5520.14.00.020.02, -1
        
ShowSyncHudMsg(attackerg_MsgSync"%i^n"damage
    } 


public 
Damage(id

    new 
weaponhitpointattacker get_user_attacker(id,weapon,hitpoint
    if(
attacker<=maxplayers && is_user_alive(attacker) && attacker!=id
    if (
get_user_flags(attacker) & ADMIN_RESERVATION)  
    { 
        new 
money read_data(2) * get_pcvar_num(mpd
        if(
hitpoint==1money += get_pcvar_num(mhb
        
cs_set_user_money(attacker,cs_get_user_money(attacker) + money
    } 


public 
death_msg() 

    if(
read_data(1)<=maxplayers && read_data(1) && read_data(1)!=read_data(2)) cs_set_user_money(read_data(1),cs_get_user_money(read_data(1)) + get_pcvar_num(mkb) - 300


public 
LogEvent_RoundStart() 

    
CurrentRound++; 
    new 
players[32], playerpnum
    
get_players(playerspnum"a"); 
    for(new 
0pnumi++) 
    { 
        
player players[i]; 
        if(
is_user_alive(player) && get_user_flags(player) & ADMIN_RESERVATION
        { 
            
give_item(player"weapon_hegrenade"
            
give_item(player"weapon_flashbang"
            
give_item(player"weapon_flashbang"
            
give_item(player"item_assaultsuit"
            
give_item(player"item_thighpack"
             
            if (!
get_pcvar_num(g_menu_active)) 
                return 
PLUGIN_CONTINUE 
             
            
if(CurrentRound >= 5
            { 
                
time_left[player] = get_pcvar_num(g_time);
                
Showrod(player); 
            } 
        } 
    } 
    return 
PLUGIN_HANDLED 


public 
Event_RoundRestart() 

    
CurrentRound=0


public 
hook_death() 

   
// Killer id 
   
nKiller read_data(1
    
   if ( (
read_data(3) == 1) && (read_data(5) == 0) ) 
   { 
      
nHp_add get_pcvar_num (health_hs_add
   } 
   else 
      
nHp_add get_pcvar_num (health_add
   
nHp_max get_pcvar_num (health_max
   
// Updating Killer HP 
   
if(!(get_user_flags(nKiller) & ADMIN_RESERVATION)) 
   return; 

   
nKiller_hp get_user_health(nKiller
   
nKiller_hp += nHp_add 
   
// Maximum HP check 
   
if (nKiller_hp nHp_maxnKiller_hp nHp_max 
   set_user_health
(nKillernKiller_hp
   
// Hud message "Healed +15/+30 hp" 
   
set_hudmessage(02550, -1.00.1501.01.00.10.1, -1
   
show_hudmessage(nKiller""nHp_add
   
// Screen fading 
   
message_begin(MSG_ONEget_user_msgid("ScreenFade"), {0,0,0}, nKiller
   
write_short(1<<10
   
write_short(1<<10
   
write_short(0x0000
   
write_byte(0
   
write_byte(0
   
write_byte(200
   
write_byte(75
   
message_end() 
  


public 
Showrod(id){ 

    if(!
is_user_connected(id) || !is_user_alive(id))
    return;
    
    new 
iMsg[256];
    
menu_destroy(Keysrod);
    
formatex(iMsg255"\r[ Menu VIP's ]^n\dVIP by azipei^n^n\r1. \wEscolho \r[ \dAWP \y+ \dDeagle \r]^n\r2. \wEscolho \r[ \dM4A1 \y+ \dDeagle \r] ^n\r3. \wEscolho \r[ \dAK47 \y+ \dDeagle \r]^n^n\wFecha em: \r%d \ysegundos^n^n^n\r0. \yExit^n"time_left[id] );
    
show_menu(idKeysrodiMsg , -1"rod")
    
    if(
time_left[id] > 0){
    
time_left[id]--;
    
set_task(1.0"Showrod"id);
    }
}
 
public 
Pressedrod(idkey) { 
    
/* Menu: 
    * VIP Menu 
    * 1. Get M4A1+Deagle 
    * 2. Get AK47+Deagle 
    * 0. Exit 
    */ 
    
switch (key) { 
        case 
0: {  
            if (
user_has_weapon(idCSW_C4) && get_user_team(id) == 1
            
HasC4[id] = true
            else 
            
HasC4[id] = false
             
            
strip_user_weapons (id
            
give_itemid,"weapon_awp" 
            
cs_set_user_bpammoidCSW_AWP30 
            
give_itemid,"weapon_deagle" 
            
cs_set_user_bpammoidCSW_DEAGLE35 
            
give_item(id,"weapon_knife"
            
give_item(id,"weapon_hegrenade"
            
give_item(id,"weapon_flashbang"); 
            
give_item(id,"weapon_flashbang"); 
            
give_item(id,"item_assaultsuit"); 
            
give_item(id,"item_thighpack"); 
            
client_print(idprint_center"Recebeste AWP + Deagle"
             
            if (
HasC4[id]) 
            { 
                
give_item(id"weapon_c4"); 
                
cs_set_user_plantid ); 
            } 
            } 
        case 
1: {  
            if (
user_has_weapon(idCSW_C4) && get_user_team(id) == 1
                
HasC4[id] = true
            else 
                
HasC4[id] = false
             
            
strip_user_weapons (id
            
give_item(id,"weapon_m4a1"
            
cs_set_user_bpammoidCSW_M4A190 
            
give_item(id,"weapon_deagle"
            
cs_set_user_bpammoidCSW_DEAGLE35 
            
give_item(id,"weapon_knife"
            
give_item(id,"weapon_hegrenade"
            
give_item(id"weapon_flashbang"); 
            
give_item(id"weapon_flashbang"); 
            
give_item(id"item_assaultsuit"); 
            
give_item(id"item_thighpack"); 
            
client_print(idprint_center"Recebeste M4A1 + Deagle"
             
            if (
HasC4[id]) 
            { 
                
give_item(id"weapon_c4"); 
                
cs_set_user_plantid ); 
            } 
            } 
        case 
2: {  
            if (
user_has_weapon(idCSW_C4) && get_user_team(id) == 1
                
HasC4[id] = true
            else 
                
HasC4[id] = false
             
            
strip_user_weapons (id
            
give_item(id,"weapon_m4a1"
            
cs_set_user_bpammoidCSW_AK4790 
            
give_item(id,"weapon_deagle"
            
cs_set_user_bpammoidCSW_DEAGLE35 
            
give_item(id,"weapon_knife"
            
give_item(id,"weapon_hegrenade"
            
give_item(id"weapon_flashbang"); 
            
give_item(id"weapon_flashbang"); 
            
give_item(id"item_assaultsuit"); 
            
give_item(id"item_thighpack"); 
            
client_print(idprint_center"Recebeste AK47 + Deagle"
             
            if (
HasC4[id]) 
            { 
                
give_item(id"weapon_c4"); 
                
cs_set_user_plantid ); 
            } 
            } 
        case 
9:{
        
time_left[id] = 0;        
        } 
    } 
    return 
PLUGIN_CONTINUE 


public 
HandleCmd(id){ 
    if (!
get_pcvar_num(g_awp_active)) 
      return 
PLUGIN_CONTINUE 
    
if(get_user_flags(id) & ADMIN_RESERVATION)  
        return 
PLUGIN_CONTINUE 
    client_print
(idprint_center"Sniper's Only For VIP's"
    return 
PLUGIN_HANDLED 


public 
ShowMotd(id

 
show_motd(id"vip.txt"


public 
handle_say(id) { 
    new 
said[192
    
read_args(said,192
    if( ( 
containi(said"who") != -&& containi(said"admin") != -) || contain(said"/vips") != -
        
set_task(0.1,"print_adminlist",id
    return 
PLUGIN_CONTINUE 


public 
print_adminlist(user)  

    new 
adminnames[33][32
    new 
message[256
    new 
contactinfo[256], contact[112
    new 
idcountxlen 
     
    
for(id id <= maxplayers id++) 
        if(
is_user_connected(id)) 
            if(
get_user_flags(id) & ADMIN_RESERVATION
                
get_user_name(idadminnames[count++], 31

    
len format(message255"%s VIP ONLINE: ",COLOR
    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"%s ",COLOR
            } 
        } 
        
print_message(usermessage
    } 
    else { 
        
len += format(message[len], 255-len"Nenhum VIP online."
        
print_message(usermessage
    } 
     
    
get_cvar_string("amx_contactinfo"contact63
    if(
contact[0])  { 
        
format(contactinfo111"%s Contact Server Admin -- %s"COLORcontact
        
print_message(usercontactinfo
    } 


print_message(idmsg[]) { 
    
message_begin(MSG_ONEgmsgSayText, {0,0,0}, id
    
write_byte(id
    
write_string(msg
    
message_end() 


And this is a short model how plugin works:

PHP Code:

#include <amxmodx>;

#define PLUGIN "CountDown Menu Example";
#define VERSION "1.0";
#define AUTHOR "siriusmd99";

#define Keys (1<<9)

new time_left[33];
new 
g_time;

public 
plugin_init() 
{

    
register_plugin(PLUGINVERSIONAUTHOR);
    
register_clcmd("say /imenu""show_imenu");
    
register_menucmd(register_menuid("menuid"), Keys"KeyPressed")

    
g_time register_cvar("wmenu_countdown_time""5");
    
}


public 
show_imenu(id){

   
time_left[id] = get_pcvar_num(g_time);
   
Showrod(id);
   
}

public 
Showrod(id){ 

    if(!
is_user_connected(id) || !is_user_alive(id))
    return;
    
    new 
iMsg[256];
    
menu_destroy(Keysrod);
    
formatex(iMsg255"\r[ Timeleft Educational Menu ]^n\wThis menu will auto close after: \r%d \yseconds^n^n^n\r0. \yExit^n"time_left[id] );
    
show_menu(idKeysrodiMsg , -1"menuid")
    
    if(
time_left[id] > 0){
    
time_left[id]--;
    
set_task(1.0"Showrod"id);
    }


public 
KeyPressed(idkey) { 

  
time_left[id] = 0;
  
menu_destroy(Keys);
  



Leonardo451 04-17-2016 17:39

Re: Plugin Help
 
Hello Sirius, thank you for helping me, but it has a problem, the menu does not open

EFFx 04-17-2016 19:24

Re: Plugin Help
 
Try:

PHP Code:

#include <amxmodx>
#include <hamsandwich>
#include <cstrike>
#include <fun>
 
#define PLUGIN "Test"
#define VERSION "1.0"
#define AUTHOR "EFFx"
 
new Time[33],bool:szMenuClosed[33]
new 
Tempo,RoundCount 0
 
public plugin_init() 
{
 
register_plugin(PLUGINVERSIONAUTHOR)
 
 
Tempo register_cvar("time_for_close","5")
 
 
RegisterHam(Ham_Spawn,"player","OpenMenu")
 
 
register_logevent("LogEvent_RoundStart"2"1=Round_Start" )
 
register_event("TextMsg","Event_RoundRestart","a","2&#Game_w")  
 
register_event("TextMsg","Event_RoundRestart","a","2&#Game_C")
 
 
register_menucmd(register_menuid("Menu"), (1<<0)|(1<<1)|(1<<2)|(1<<3)|(1<<5), "clcmd_menu_handler")
}

public 
LogEvent_RoundStart() RoundCount++

public 
Event_RoundRestart() RoundCount 0

public OpenMenu()

 new 
players[32],iNum
 get_players
(players,iNum,"a")
 for(new 
0;i<iNum;i++)
 {
  if(
get_user_flags(players[i] && ADMIN_RESERVATION))
  {
   if(
RoundCount >= 5)
   {
    
Time[players[i]] = get_pcvar_num(Tempo)
    
szMenuClosed[players[i]] = true
    ShowMenu
(players[i])
    if(
szMenuClosed[players[i]])
    {
     
set_task(1.0,"ShowMenu",players[i],_,_,"a",get_pcvar_num(Tempo))
    }
    else
    {
     
remove_task(players[i])
     
client_cmd(players[i],"slot10")
    }
   }
  }
 }
}
public 
ShowMenu(id)

 if(
is_user_alive(id))
 { 
  new 
szMenu[256], n
  
if(--Time[id] > 0)
  {
   
+= formatex(szMenu[n], charsmax(szMenu)-n"\rVIP Weapons Menu^n^n")
   
+= formatex(szMenu[n], charsmax(szMenu)-n"\r1. \wEscolho \r[ \dAWP \y+ \dDeagle \r]")
   
+= formatex(szMenu[n], charsmax(szMenu)-n"^n\r2. \wEscolho \r[ \dM4A1 \y+ \dDeagle \r]")
   
+= formatex(szMenu[n], charsmax(szMenu)-n"^n\r3. \wEscolho \r[ \dAK47 \y+ \dDeagle \r]^n^n")
   
+= formatex(szMenu[n], charsmax(szMenu)-n"\wFecha em\r %d\y segundos",Time[id])
   
   
+= formatex(szMenu[n], charsmax(szMenu)-n"^n^n\r6. \yPrefiro Comprar")
   
   
show_menu(id, (1<<0)|(1<<1)|(1<<2)|(1<<3)|(1<<5), szMenuTime[id])
  }
 }
}
public 
clcmd_menu_handler(id,key)
{
 switch(
key)
 {
  case 
0:
  {
   
strip_user_weapons (id)  
   
give_itemid,"weapon_awp" )  
   
cs_set_user_bpammoidCSW_AWP30 )  
   
give_itemid,"weapon_deagle" )  
   
cs_set_user_bpammoidCSW_DEAGLE35 )  
   
give_item(id,"weapon_knife")  
   
give_item(id,"weapon_hegrenade")  
   
give_item(id,"weapon_flashbang");  
   
give_item(id,"weapon_flashbang");  
   
give_item(id,"item_assaultsuit");  
   
give_item(id,"item_thighpack");  
   
client_print(idprint_center"Recebeste AWP + Deagle"
   
szMenuClosed[id] = false
   remove_task
(id)
  }
  case 
1:
  {
   
strip_user_weapons (id)  
   
give_itemid,"weapon_m4a1" )  
   
cs_set_user_bpammoidCSW_M4A190 )  
   
give_itemid,"weapon_deagle" )  
   
cs_set_user_bpammoidCSW_DEAGLE35 )  
   
give_item(id,"weapon_knife")  
   
give_item(id,"weapon_hegrenade")  
   
give_item(id,"weapon_flashbang");  
   
give_item(id,"weapon_flashbang");  
   
give_item(id,"item_assaultsuit");  
   
give_item(id,"item_thighpack");  
   
client_print(idprint_center"Recebeste M4A1 + Deagle"
   
szMenuClosed[id] = false
   remove_task
(id)
  }
  case 
2:
  {
   
strip_user_weapons (id)  
   
give_itemid,"weapon_ak47" )  
   
cs_set_user_bpammoidCSW_AK4790 )  
   
give_itemid,"weapon_deagle" )  
   
cs_set_user_bpammoidCSW_DEAGLE35 )  
   
give_item(id,"weapon_knife")  
   
give_item(id,"weapon_hegrenade")  
   
give_item(id,"weapon_flashbang");  
   
give_item(id,"weapon_flashbang");  
   
give_item(id,"item_assaultsuit");  
   
give_item(id,"item_thighpack");  
   
client_print(idprint_center"Recebeste AK47 + Deagle"
   
szMenuClosed[id] = false
   remove_task
(id)
  }
  case 
5:
  {
   
szMenuClosed[id] = false
   remove_task
(id)
  }
 }
 return 
PLUGIN_HANDLED



Leonardo451 04-18-2016 08:01

Re: Plugin Help
 
The menu does not open at the beginning of the round, I'm not get the grenades

EFFx 04-18-2016 11:14

Re: Plugin Help
 
Here is working, if you is non steam, cry.

siriusmd99 04-18-2016 12:01

Re: Plugin Help
 
It worked before adding timer ,I mean it was showing on newround as it was supposed to work?

Leonardo451 04-18-2016 15:44

Re: Plugin Help
 
Hi siriusmd99, yes worked!


All times are GMT -4. The time now is 18:32.

Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.