Raised This Month: $51 Target: $400
 12% 

How can I add a Countdown?


Post New Thread Reply   
 
Thread Tools Display Modes
Author Message
Gh05t04
Senior Member
Join Date: Jul 2015
Old 07-21-2015 , 15:59   How can I add a Countdown?
Reply With Quote #1

Hello guys, is it possible to add a countdown to this jailbreak last request plugin?

When the duel is about to start it displays a HUD with: [*** 5 ***] [*** 4 ***] [*** 3 ***] [*** 2 ***] [*** 1 ***]

Meanwhile it plays the countdown sounds, I can attach them..

Can someone help me?

PHP Code:
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <fakemeta>
#include <hamsandwich>
#include <fun>

#define PLUGIN "Jailbreak Last Request"
#define VERSION "1.6"
#define AUTHOR "rube"

/*================================================================================
    Variables | bools | Cvars        
=================================================================================*/

new g_maxPlayersg_msgSayTextbeacon_sprite

new cvar_granadas_bpammocvar_scout_bpammocvar_effect

new bool:touch_weapons[33], bool:once[33], bool:player_challenged[33], bool:duel_active,
bool:knife_duel[33] ,bool:deagle_duel[33], bool:grenade_duel[33], bool:scout_duel[33]

new 
tag[] = "[JailBreak]"

/*================================================================================
    Init n' precache        
=================================================================================*/

public plugin_precache() 
{    
    
beacon_sprite precache_model("sprites/shockwave.spr")
}

public 
plugin_init()
{
    
register_plugin(PLUGINVERSIONAUTHOR)
    
    
register_event("HLTV""event_round_start""a""1=0""2=0")
    
    
RegisterHam(Ham_Touch"weaponbox""fw_touch_weapon")
    
RegisterHam(Ham_Touch"armoury_entity""fw_touch_weapon")
    
RegisterHam(Ham_Touch"weapon_shield""fw_touch_weapon")
    
RegisterHam(Ham_Spawn"player""fw_player_respawn"1)
    
RegisterHam(Ham_Killed"player""fw_player_killed")    
        
    
register_forward(FM_CmdStart,"fw_cmdstart",1)
    
    
// Comando de jugador - Client commands
    
register_clcmd("say /lr""duel_menu")
    
register_clcmd("say !lr""duel_menu")
    
register_clcmd("say_team /lr""duel_menu")
    
register_clcmd("say_team !lr""duel_menu")
    
    
// Cvars
    
cvar_granadas_bpammo register_cvar("jb_grenade_bpammo","10"// amount bpammo grenade | cantidad de granadas
    
cvar_scout_bpammo register_cvar("jb_scout_bpammo""10"// amount bpammo scout | cantidad de balas pa' la scout
    
cvar_effect register_cvar("jb_effect""2"// 0 = glow , 1 = beacon, 2 = glow n' beacon
    
    
g_maxPlayers get_maxplayers()
    
    
g_msgSayText get_user_msgid("SayText")
    
    
register_dictionary("jailbreak_last_request.txt")
}

/*================================================================================
    Round Start                
=================================================================================*/

public event_round_start()
{
    
duel_active false
}
        
/*================================================================================
    forwards                
=================================================================================*/

public fw_player_respawn(id)
{
    if(!
is_user_alive(id) || !cs_get_user_team(id))
        return
      
    
set_user_rendering(id)
    
remove_task(id)
    
touch_weapons[id] = false 
    once
[id] = false 
    knife_duel
[id] = false
    deagle_duel
[id] = false
    grenade_duel
[id] = false
    scout_duel
[id] = false    
    player_challenged
[id] = false
}

public 
fw_touch_weapon(weaponid)
{
    if (!
is_user_connected(id))
        return 
HAM_IGNORED;
    
    new 
players[32], pnumtempid;
    
get_players(playerspnum"a");
    for( new 
ii<pnumi++ )
    {        
        
tempid players[i];
    }
    
    if (
touch_weapons[id] || touch_weapons[tempid])
        return 
HAM_SUPERCEDE;
    
    return 
HAM_IGNORED;
}


public 
fw_cmdstart(player,uc_handle,random_seed)
{
    if(
deagle_duel[player])
    {
        
cs_set_user_bpammo(playerCSW_DEAGLE1)
    }
}

public 
fw_player_killed(victimattackershouldgib)
{
    new 
name[32]
    
get_user_name(attackername31)
            
    if(
duel_active)
    {
        if(
cs_get_user_team(victim) == CS_TEAM_CT && player_challenged[victim])
        {
            
knife_duel[attacker] = false
            deagle_duel
[attacker] = false
            grenade_duel
[attacker] = false
            scout_duel
[attacker] = false
            once
[attacker] = false
            strip_user_weapons
(attacker)
            
give_item(attacker"weapon_knife")
            
set_user_rendering(attacker)
            
duel_menu(attacker)
        }
        else if(
cs_get_user_team(victim) == CS_TEAM_CT && !player_challenged[victim])
        {
            
set_task(0.4"kill_player"attacker)
            
set_hudmessage02550, -1.00.4025.08.00.00.010)
            
show_hudmessage(0"%L"LANG_PLAYER,"DUEL_DOWN"name)
                
        }
    }
    
remove_task(attacker)
    
remove_task(victim)
}

public 
kill_player(id)
{
    
user_kill(id)
}

/*================================================================================
    Main Menu                
=================================================================================*/

public duel_menu(id)
{    
    if(!
is_user_alive(id))
        return 
PLUGIN_HANDLED
    
    
if (!once[id])
    {
        if(
cs_get_user_team(id) == CS_TEAM_T)
        {
            new 
cts[32], ts[32], ctsnumtsnum 
    
            
for (new id=1id <= g_maxPlayersid++)
            {
                if (!
is_user_connected(id) || !is_user_alive(id)) 
                { 
                    continue 
                } 
    
                if (
cs_get_user_team(id) == CS_TEAM_T
                { 
                    
ts[tsnum++] = id
                

                else if (
cs_get_user_team(id) == CS_TEAM_CT
                { 
                    
cts[ctsnum++] = id
                

            } 
            if (
tsnum == && ctsnum >= 1
            {  
            
                static 
opcion[64]
    
                
formatex(opcioncharsmax(opcion),"\y%L:"id"CHOOSE_DUEL")
                new 
iMenu menu_create(opcion"sub_duel_menu")
    
                
formatex(opcioncharsmax(opcion),"\w%L"id"DUEL_1")
                
menu_additem(iMenuopcion"1")    
    
                
formatex(opcioncharsmax(opcion),"\w%L"id"DUEL_2")
                
menu_additem(iMenuopcion"2")
            
                
formatex(opcioncharsmax(opcion),"\w%L"id"DUEL_3")
                
menu_additem(iMenuopcion"3")    
    
                
formatex(opcioncharsmax(opcion),"\w%L"id"DUEL_4")
                
menu_additem(iMenuopcion"4")
            

                
menu_setprop(iMenuMPROP_EXITMEXIT_ALL)
                
menu_display(idiMenu0)
                        
            }
            else if    (
tsnum == && ctsnum 1)
            {
                
ChatColor(id"%L"LANG_PLAYER,"NOT_CTS"tag
            }
            else if    (
tsnum 1)
            {
                
ChatColor(id"%L"LANG_PLAYER,"ONLY_LAST"tag)
            }
        }
        else
        {
            
ChatColor(id"%L"LANG_PLAYER,"ONLY_TTS"tag
        }
    }
    else
    {
        
ChatColor(id"%L"LANG_PLAYER,"KILL_CHALLENGED"tag
    }
    return 
PLUGIN_HANDLED
}

public 
sub_duel_menu(idmenuitem)
{
    
    if (
item == MENU_EXIT)
    {
        
menu_destroy(menu)
        return 
PLUGIN_HANDLED
    
}
    
    new 
Data[6], Name[64]
    new 
AccessCallback
    
    menu_item_getinfo
(menuitemAccessData,5Name63Callback)
    
    new 
Key str_to_num(Data)
    
    switch (
Key)
    {
        case 
1:
        {    
            
knife_duel[id] = true
            choose_enemy
(id)
        }
        case 
2
        {
            
deagle_duel[id] = true
            choose_enemy
(id)
        }
        case 
3
        {
            
grenade_duel[id] = true
            choose_enemy
(id)
        }
        case 
4
        {
            
scout_duel[id] = true
            choose_enemy
(id)
        }
    }
    
    
menu_destroy(menu)    
    return 
PLUGIN_HANDLED
}

/*================================================================================
    Menu of challenges                
=================================================================================*/

public choose_enemy(id)
{
    static 
opcion[64]
    
    
formatex(opcioncharsmax(opcion),"\y%L:"id"CHOOSE_ENEMY")
    new 
iMenu menu_create(opcion"sub_choose_enemy")
    
    new 
players[32], pnumtempid
    
new szName[32], szTempid[10]
    
    
get_players(playerspnum"a")
    
    for( new 
ii<pnumi++ )
    {
        
tempid players[i]
        
        if (
cs_get_user_team(tempid) != CS_TEAM_CT)
        {
            continue
        }
        
        
get_user_name(tempidszName31)
        
num_to_str(tempidszTempid9)
        
menu_additem(iMenuszNameszTempid0)
    }
    
    
menu_display(idiMenu)
    return 
PLUGIN_HANDLED
}

public 
sub_choose_enemy(idmenuitem)
{
    if( 
item == MENU_EXIT )
    {
        
menu_destroy(menu)
        return 
PLUGIN_HANDLED
    
}
    
    new 
Data[6], Name[64]
    new 
AccessCallback
    menu_item_getinfo
(menuitemAccessData,5Name63Callback)
    
    new 
tempid str_to_num(Data)
    
    new 
mapname[32], challenger[32], challenged[32], ct_origin[3], te_origin[3]

    
get_mapname(mapname,31)
    
get_user_name(idchallenger31)
    
get_user_name(tempidchallenged31)
    
    
// strip weapons
    
strip_user_weapons(id)
    
strip_user_weapons(tempid)
    
    
// health
    
set_user_health(id100)
    
set_user_health(tempid100)
    
    
// effects
    
switch (get_pcvar_num(cvar_effect))
    {
        case 
0// glow
        
{
            
set_user_rendering(idkRenderFxGlowShell25000kRenderNormal20)    
            
set_user_rendering(tempidkRenderFxGlowShell00250kRenderNormal20)
        }
        case 
1// beacon
        
{
            
set_task(1.0"beacon"id)
            
set_task(1.0"beacon"tempid)
        }
        case 
2// glow n' beacon
        
{
            
set_user_rendering(idkRenderFxGlowShell25000kRenderNormal20)    
            
set_task(1.0"beacon"id)
            
set_user_rendering(tempidkRenderFxGlowShell00250kRenderNormal20)
            
set_task(1.0"beacon"tempid)
        }
    }
    
    
// player challenged
    
player_challenged[tempid] = true
    
    
// lr menu once until he kills the player challenged
    
once[id] = true 
    
    
// unable pick up weapon (only the 2 players on duel)
    
touch_weapons[id] = true
    touch_weapons
[tempid] = true
            
    
if(knife_duel[id])
    {
        
give_item(id"weapon_knife")
        
give_item(tempid"weapon_knife")
                
        if(
equali(mapname,"some1s_jailbreak"))
        {
            
ct_origin[0] = -759ct_origin[1] = 1047ct_origin[2] = 100
            te_origin
[0] = -585te_origin[1] = 867te_origin[2] = 100
            set_user_origin
(id,te_origin)
            
set_user_origin(tempid,ct_origin)
        }
        
        
set_hudmessage02550, -1.00.4025.08.00.00.010)
        
show_hudmessage(0"%L",LANG_PLAYER,"KNIFE_DUEL"challengerchallenged)
        
    }
    else if(
deagle_duel[id])
    {
        
deagle_duel[tempid] = true
        
        cs_set_weapon_ammo
(give_item(id"weapon_deagle"), 1)
        
cs_set_weapon_ammo(give_item(tempid"weapon_deagle"), 1)
        
        if(
equali(mapname,"some1s_jailbreak"))
        {
            
ct_origin[0] = -1352ct_origin[1] = 271ct_origin[2] = 38
            te_origin
[0] = -1338te_origin[1] = -782te_origin[2] = 38
            set_user_origin
(id,te_origin)
            
set_user_origin(tempid,ct_origin)
        }
        
        
set_hudmessage02550, -1.00.4025.08.00.00.010)
        
show_hudmessage(0"%L"LANG_PLAYER,"DEAGLE_DUEL"challengerchallenged)
    }
    else if(
grenade_duel[id])
    {
        
give_item(id"weapon_hegrenade")
        
give_item(tempid"weapon_hegrenade")
        
cs_set_user_bpammo(idCSW_HEGRENADE,get_pcvar_num(cvar_granadas_bpammo))        
        
cs_set_user_bpammo(tempidCSW_HEGRENADE,get_pcvar_num(cvar_granadas_bpammo))
        
        if(
equali(mapname,"some1s_jailbreak"))
        {
            
ct_origin[0] = -1756ct_origin[1] = -2526ct_origin[2] = 36
            te_origin
[0] = -3020te_origin[1] = -2529te_origin[2] = 36
            set_user_origin
(id,te_origin)
            
set_user_origin(tempid,ct_origin)
        }
        
        
set_hudmessage02550, -1.00.4025.08.00.00.010)
        
show_hudmessage(0"%L"LANG_PLAYER,"GRENADE_DUEL"challengerchallenged)
    }
    else if(
scout_duel[id])
    {
        
give_item(id"weapon_scout")
        
give_item(tempid"weapon_scout")
        
cs_set_user_bpammo(idCSW_SCOUTget_pcvar_num(cvar_scout_bpammo))
        
cs_set_user_bpammo(tempidCSW_SCOUTget_pcvar_num(cvar_scout_bpammo))
        
        if(
equali(mapname,"some1s_jailbreak"))
        {
            
ct_origin[0] = -2898ct_origin[1] = -2040ct_origin[2] = 37
            te_origin
[0] = -2908te_origin[1] = 905te_origin[2] = 37
            set_user_origin
(id,te_origin)
            
set_user_origin(tempid,ct_origin)
        }
        
        
set_hudmessage02550, -1.00.4025.08.00.00.010)
        
show_hudmessage(0"%L"LANG_PLAYER,"SCOUT_DUEL"challengerchallenged)
    }
    
    
duel_active true
    
    menu_destroy
(menu)
    return 
PLUGIN_HANDLED
}

public 
beacon(id)
{
    if(
cs_get_user_team(id) == CS_TEAM_CT)
    {
        static 
origin[3]
        
get_user_origin(idorigin)
        
message_begin(MSG_BROADCASTSVC_TEMPENTITY)
        
write_byte(TE_BEAMCYLINDER)    // TE id
        
write_coord(origin[0])         // x
        
write_coord(origin[1])        // y
        
write_coord(origin[2]-20)    // z
        
write_coord(origin[0])        // x axis
        
write_coord(origin[1])        // y axis
        
write_coord(origin[2]+200)    // z axis
        
write_short(beacon_sprite)    // sprite
        
write_byte(0)            // startframe   
        
write_byte(1)            // framerate   
        
write_byte(6)            // life
        
write_byte(2)              // width
        
write_byte(1)               // noise    
        
write_byte(0)              // red  
        
write_byte(0)               // green 
        
write_byte(250)         // blue
        
write_byte(200)            // brightness
        
write_byte(0)            // speed
        
message_end()
    }
    else
    {
        static 
origin[3]
        
get_user_origin(idorigin)
        
message_begin(MSG_BROADCASTSVC_TEMPENTITY)
        
write_byte(TE_BEAMCYLINDER)    // TE id
        
write_coord(origin[0])         // x
        
write_coord(origin[1])        // y
        
write_coord(origin[2]-20)    // z
        
write_coord(origin[0])        // x axis
        
write_coord(origin[1])        // y axis
        
write_coord(origin[2]+200)    // z axis
        
write_short(beacon_sprite)    // sprite
        
write_byte(0)            // startframe   
        
write_byte(1)            // framerate   
        
write_byte(6)            // life
        
write_byte(2)              // width
        
write_byte(1)               // noise    
        
write_byte(250)            // red  
        
write_byte(0)               // green 
        
write_byte(0)             // blue
        
write_byte(200)            // brightness
        
write_byte(0)            // speed
        
message_end()
    }
    
set_task(1.0"beacon"id)
        
}

/*================================================================================
    Stocks                    
=================================================================================*/

stock ChatColor(const id, const input[], any:...)
{
    new 
count 1players[32]
    static 
msg[191]
    
vformat(msg190input3)
    
    
replace_all(msg190"!g""^4"// Green Color
    
replace_all(msg190"!y""^1"// Default Color
    
replace_all(msg190"!team""^3"// Team Color
    
    
if (idplayers[0] = id
    
else get_players(playerscount"ch")
    for (new 
0counti++)
    {
        if (
is_user_connected(players[i]))
        {
            
message_begin(MSG_ONE_UNRELIABLEg_msgSayText_players[i])
            
write_byte(players[i])
            
write_string(msg)
            
message_end()
        }
    }


Last edited by Gh05t04; 07-21-2015 at 16:02.
Gh05t04 is offline
ArabicMan
Veteran Member
Join Date: Feb 2014
Location: مصر
Old 07-22-2015 , 19:37   Re: How can I add a Countdown?
Reply With Quote #2

This will help you see it.
ArabicMan is offline
Old 07-23-2015, 07:44
Gh05t04
This message has been deleted by Gh05t04.
Old 07-25-2015, 12:23
Gh05t04
This message has been deleted by Gh05t04.
Old 07-28-2015, 18:43
Gh05t04
This message has been deleted by Gh05t04.
Old 08-01-2015, 06:49
Gh05t04
This message has been deleted by Gh05t04.
Gh05t04
Senior Member
Join Date: Jul 2015
Old 08-01-2015 , 14:17   Re: How can I add a Countdown?
Reply With Quote #3

I tryed this, but when the countdown starts it gets stuck on the 5, forever. Can someone help me?

Added this:
PHP Code:
new timer 
PHP Code:
new boolcountdown_on false 
PHP Code:
formatex(opcioncharsmax(opcion),"\y%L:"id"CHOOSE_ENEMY")
new 
iMenu menu_create(opcion"countdown"
PHP Code:
public countdown(idmenuitem)
{
    
timer 5

    countdown_on 
true
    sub_countdown
(id)
}

public 
sub_countdown(id)
{        
    switch(
timer)
    {
        case 
0:
        {
            
set_hudmessage(255255255, -1.0, -1.006.03.0)
            
show_hudmessage(0"Go go go")
            
client_cmd(0"spk ^"sound/radio/com_go.wav^"")
            
countdown_on false
        
}
        
        case 
1:
        {
            
client_cmd(0"spk ^"fvox/one.wav^"")
            
set_task(1.0"countdown"0)
        }
        
        case 
2:
        {
            
client_cmd(0"spk ^"fvox/two.wav^"")
            
set_task(1.0"countdown"0)
        }
            
        case 
3:
        {
            
client_cmd(0"spk ^"fvox/three.wav^"")
            
set_task(1.0"countdown"0)
        }
        
        case 
4:
        {
            
client_cmd(0"spk ^"fvox/four.wav^"")
            
set_task(1.0"countdown"0)
        }
        
        case 
5:
        {
            
client_cmd(0"spk ^"fvox/five.wav^"")
            
set_task(1.0"countdown"0)
        }
        
        case 
6:
        {
            
sub_choose_enemy(id)
        }
    }
    
    if(
timer != 0)
    {
        
set_hudmessage(255255255, -1.0, -1.006.03.0)
        
show_hudmessage(0"Countdown: %i"timer)
        
timer--
    }

The Full SMA

PHP Code:
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <fakemeta>
#include <hamsandwich>
#include <fun>

#define PLUGIN "Jailbreak Last Request"
#define VERSION "1.6"
#define AUTHOR "rube"

/*================================================================================
    Variables | bools | Cvars        
=================================================================================*/

new g_maxPlayersg_msgSayTextbeacon_sprite

new timer

new cvar_granadas_bpammocvar_scout_bpammocvar_effect

new bool:touch_weapons[33], bool:once[33], bool:player_challenged[33], bool:duel_active,
bool:knife_duel[33] ,bool:deagle_duel[33], bool:grenade_duel[33], bool:scout_duel[33]

new 
boolcountdown_on false

new tag[] = "[JailBreak]"

/*================================================================================
    Init n' precache        
=================================================================================*/

public plugin_precache() 
{    
    
beacon_sprite precache_model("sprites/shockwave.spr")
}

public 
plugin_init()
{
    
register_plugin(PLUGINVERSIONAUTHOR)
    
    
register_event("HLTV""event_round_start""a""1=0""2=0")
    
    
RegisterHam(Ham_Touch"weaponbox""fw_touch_weapon")
    
RegisterHam(Ham_Touch"armoury_entity""fw_touch_weapon")
    
RegisterHam(Ham_Touch"weapon_shield""fw_touch_weapon")
    
RegisterHam(Ham_Spawn"player""fw_player_respawn"1)
    
RegisterHam(Ham_Killed"player""fw_player_killed")    
        
    
register_forward(FM_CmdStart,"fw_cmdstart",1)
    
    
// Comando de jugador - Client commands
    
register_clcmd("say /lr""duel_menu")
    
register_clcmd("say !lr""duel_menu")
    
register_clcmd("say_team /lr""duel_menu")
    
register_clcmd("say_team !lr""duel_menu")
    
    
// Cvars
    
cvar_granadas_bpammo register_cvar("jb_grenade_bpammo","10"// amount bpammo grenade | cantidad de granadas
    
cvar_scout_bpammo register_cvar("jb_scout_bpammo""10"// amount bpammo scout | cantidad de balas pa' la scout
    
cvar_effect register_cvar("jb_effect""2"// 0 = glow , 1 = beacon, 2 = glow n' beacon
    
    
g_maxPlayers get_maxplayers()
    
    
g_msgSayText get_user_msgid("SayText")
    
    
register_dictionary("jailbreak_last_request.txt")
}

/*================================================================================
    Round Start                
=================================================================================*/

public event_round_start()
{
    
duel_active false
}
        
/*================================================================================
    forwards                
=================================================================================*/

public fw_player_respawn(id)
{
    if(!
is_user_alive(id) || !cs_get_user_team(id))
        return
      
    
set_user_rendering(id)
    
remove_task(id)
    
touch_weapons[id] = false 
    once
[id] = false 
    knife_duel
[id] = false
    deagle_duel
[id] = false
    grenade_duel
[id] = false
    scout_duel
[id] = false    
    player_challenged
[id] = false
}

public 
fw_touch_weapon(weaponid)
{
    if (!
is_user_connected(id))
        return 
HAM_IGNORED;
    
    new 
players[32], pnumtempid;
    
get_players(playerspnum"a");
    for( new 
ii<pnumi++ )
    {        
        
tempid players[i];
    }
    
    if (
touch_weapons[id] || touch_weapons[tempid])
        return 
HAM_SUPERCEDE;
    
    return 
HAM_IGNORED;
}


public 
fw_cmdstart(player,uc_handle,random_seed)
{
    if(
deagle_duel[player])
    {
        
cs_set_user_bpammo(playerCSW_DEAGLE1)
    }
}

public 
fw_player_killed(victimattackershouldgib)
{
    new 
name[32]
    
get_user_name(attackername31)
            
    if(
duel_active)
    {
        if(
cs_get_user_team(victim) == CS_TEAM_CT && player_challenged[victim])
        {
            
knife_duel[attacker] = false
            deagle_duel
[attacker] = false
            grenade_duel
[attacker] = false
            scout_duel
[attacker] = false
            once
[attacker] = false
            strip_user_weapons
(attacker)
            
give_item(attacker"weapon_knife")
            
set_user_rendering(attacker)
            
duel_menu(attacker)
        }
        else if(
cs_get_user_team(victim) == CS_TEAM_CT && !player_challenged[victim])
        {
            
set_task(0.4"kill_player"attacker)
            
set_hudmessage02550, -1.00.4025.08.00.00.010)
            
show_hudmessage(0"%L"LANG_PLAYER,"DUEL_DOWN"name)
                
        }
    }
    
remove_task(attacker)
    
remove_task(victim)
}

public 
kill_player(id)
{
    
user_kill(id)
}

/*================================================================================
    Main Menu                
=================================================================================*/

public duel_menu(id)
{    
    if(!
is_user_alive(id))
        return 
PLUGIN_HANDLED
    
    
if (!once[id])
    {
        if(
cs_get_user_team(id) == CS_TEAM_T)
        {
            new 
cts[32], ts[32], ctsnumtsnum 
    
            
for (new id=1id <= g_maxPlayersid++)
            {
                if (!
is_user_connected(id) || !is_user_alive(id)) 
                { 
                    continue 
                } 
    
                if (
cs_get_user_team(id) == CS_TEAM_T
                { 
                    
ts[tsnum++] = id
                

                else if (
cs_get_user_team(id) == CS_TEAM_CT
                { 
                    
cts[ctsnum++] = id
                

            } 
            if (
tsnum == && ctsnum >= 1
            {  
            
                static 
opcion[64]
    
                
formatex(opcioncharsmax(opcion),"\y%L:"id"CHOOSE_DUEL")
                new 
iMenu menu_create(opcion"sub_duel_menu")
    
                
formatex(opcioncharsmax(opcion),"\w%L"id"DUEL_1")
                
menu_additem(iMenuopcion"1")    
    
                
formatex(opcioncharsmax(opcion),"\w%L"id"DUEL_2")
                
menu_additem(iMenuopcion"2")
            
                
formatex(opcioncharsmax(opcion),"\w%L"id"DUEL_3")
                
menu_additem(iMenuopcion"3")    
    
                
formatex(opcioncharsmax(opcion),"\w%L"id"DUEL_4")
                
menu_additem(iMenuopcion"4")
            

                
menu_setprop(iMenuMPROP_EXITMEXIT_ALL)
                
menu_display(idiMenu0)
                        
            }
            else if    (
tsnum == && ctsnum 1)
            {
                
ChatColor(id"%L"LANG_PLAYER,"NOT_CTS"tag
            }
            else if    (
tsnum 1)
            {
                
ChatColor(id"%L"LANG_PLAYER,"ONLY_LAST"tag)
            }
        }
        else
        {
            
ChatColor(id"%L"LANG_PLAYER,"ONLY_TTS"tag
        }
    }
    else
    {
        
ChatColor(id"%L"LANG_PLAYER,"KILL_CHALLENGED"tag
    }
    return 
PLUGIN_HANDLED
}

public 
sub_duel_menu(idmenuitem)
{
    
    if (
item == MENU_EXIT)
    {
        
menu_destroy(menu)
        return 
PLUGIN_HANDLED
    
}
    
    new 
Data[6], Name[64]
    new 
AccessCallback
    
    menu_item_getinfo
(menuitemAccessData,5Name63Callback)
    
    new 
Key str_to_num(Data)
    
    switch (
Key)
    {
        case 
1:
        {    
            
knife_duel[id] = true
            choose_enemy
(id)
        }
        case 
2
        {
            
deagle_duel[id] = true
            choose_enemy
(id)
        }
        case 
3
        {
            
grenade_duel[id] = true
            choose_enemy
(id)
        }
        case 
4
        {
            
scout_duel[id] = true
            choose_enemy
(id)
        }
    }
    
    
menu_destroy(menu)    
    return 
PLUGIN_HANDLED
}

/*================================================================================
    Menu of challenges                
=================================================================================*/

public choose_enemy(id)
{
    static 
opcion[64]
    
    
formatex(opcioncharsmax(opcion),"\y%L:"id"CHOOSE_ENEMY")
    new 
iMenu menu_create(opcion"countdown")
    
    new 
players[32], pnumtempid
    
new szName[32], szTempid[10]
    
    
get_players(playerspnum"a")
    
    for( new 
ii<pnumi++ )
    {
        
tempid players[i]
        
        if (
cs_get_user_team(tempid) != CS_TEAM_CT)
        {
            continue
        }
        
        
get_user_name(tempidszName31)
        
num_to_str(tempidszTempid9)
        
menu_additem(iMenuszNameszTempid0)
    }
    
    
menu_display(idiMenu)
    return 
PLUGIN_HANDLED
}

public 
countdown(idmenuitem)
{
    
timer 5

    countdown_on 
true
    sub_countdown
(id)
}

public 
sub_countdown(id)
{        
    switch(
timer)
    {
        case 
0:
        {
            
set_hudmessage(255255255, -1.0, -1.006.03.0)
            
show_hudmessage(0"Go go go")
            
client_cmd(0"spk ^"sound/radio/com_go.wav^"")
            
countdown_on false
        
}
        
        case 
1:
        {
            
client_cmd(0"spk ^"fvox/one.wav^"")
            
set_task(1.0"countdown"0)
        }
        
        case 
2:
        {
            
client_cmd(0"spk ^"fvox/two.wav^"")
            
set_task(1.0"countdown"0)
        }
            
        case 
3:
        {
            
client_cmd(0"spk ^"fvox/three.wav^"")
            
set_task(1.0"countdown"0)
        }
        
        case 
4:
        {
            
client_cmd(0"spk ^"fvox/four.wav^"")
            
set_task(1.0"countdown"0)
        }
        
        case 
5:
        {
            
client_cmd(0"spk ^"fvox/five.wav^"")
            
set_task(1.0"countdown"0)
        }
        
        case 
6:
        {
            
sub_choose_enemy(id)
        }
    }
    
    if(
timer != 0)
    {
        
set_hudmessage(255255255, -1.0, -1.006.03.0)
        
show_hudmessage(0"Countdown: %i"timer)
        
timer--
    }
}

public 
sub_choose_enemy(idmenuitem)
{
    if( 
item == MENU_EXIT )
    {
        
menu_destroy(menu)
        return 
PLUGIN_HANDLED
    
}
    
    new 
Data[6], Name[64]
    new 
AccessCallback
    menu_item_getinfo
(menuitemAccessData,5Name63Callback)
    
    new 
tempid str_to_num(Data)
    
    new 
mapname[32], challenger[32], challenged[32], ct_origin[3], te_origin[3]

    
get_mapname(mapname,31)
    
get_user_name(idchallenger31)
    
get_user_name(tempidchallenged31)
    
    
// strip weapons
    
strip_user_weapons(id)
    
strip_user_weapons(tempid)
    
    
// health
    
set_user_health(id100)
    
set_user_health(tempid100)
    
    
// effects
    
switch (get_pcvar_num(cvar_effect))
    {
        case 
0// glow
        
{
            
set_user_rendering(idkRenderFxGlowShell25000kRenderNormal20)    
            
set_user_rendering(tempidkRenderFxGlowShell00250kRenderNormal20)
        }
        case 
1// beacon
        
{
            
set_task(1.0"beacon"id)
            
set_task(1.0"beacon"tempid)
        }
        case 
2// glow n' beacon
        
{
            
set_user_rendering(idkRenderFxGlowShell25000kRenderNormal20)    
            
set_task(1.0"beacon"id)
            
set_user_rendering(tempidkRenderFxGlowShell00250kRenderNormal20)
            
set_task(1.0"beacon"tempid)
        }
    }
    
    
// player challenged
    
player_challenged[tempid] = true
    
    
// lr menu once until he kills the player challenged
    
once[id] = true 
    
    
// unable pick up weapon (only the 2 players on duel)
    
touch_weapons[id] = true
    touch_weapons
[tempid] = true
            
    
if(knife_duel[id])
    {
        
give_item(id"weapon_knife")
        
give_item(tempid"weapon_knife")
                
        if(
equali(mapname,"some1s_jailbreak"))
        {
            
ct_origin[0] = -759ct_origin[1] = 1047ct_origin[2] = 100
            te_origin
[0] = -585te_origin[1] = 867te_origin[2] = 100
            set_user_origin
(id,te_origin)
            
set_user_origin(tempid,ct_origin)
        }
        
        
set_hudmessage02550, -1.00.4025.08.00.00.010)
        
show_hudmessage(0"%L",LANG_PLAYER,"KNIFE_DUEL"challengerchallenged)
        
    }
    else if(
deagle_duel[id])
    {
        
deagle_duel[tempid] = true
        
        cs_set_weapon_ammo
(give_item(id"weapon_deagle"), 1)
        
cs_set_weapon_ammo(give_item(tempid"weapon_deagle"), 1)
        
        if(
equali(mapname,"some1s_jailbreak"))
        {
            
ct_origin[0] = -1352ct_origin[1] = 271ct_origin[2] = 38
            te_origin
[0] = -1338te_origin[1] = -782te_origin[2] = 38
            set_user_origin
(id,te_origin)
            
set_user_origin(tempid,ct_origin)
        }
        
        
set_hudmessage02550, -1.00.4025.08.00.00.010)
        
show_hudmessage(0"%L"LANG_PLAYER,"DEAGLE_DUEL"challengerchallenged)
    }
    else if(
grenade_duel[id])
    {
        
give_item(id"weapon_hegrenade")
        
give_item(tempid"weapon_hegrenade")
        
cs_set_user_bpammo(idCSW_HEGRENADE,get_pcvar_num(cvar_granadas_bpammo))        
        
cs_set_user_bpammo(tempidCSW_HEGRENADE,get_pcvar_num(cvar_granadas_bpammo))
        
        if(
equali(mapname,"some1s_jailbreak"))
        {
            
ct_origin[0] = -1756ct_origin[1] = -2526ct_origin[2] = 36
            te_origin
[0] = -3020te_origin[1] = -2529te_origin[2] = 36
            set_user_origin
(id,te_origin)
            
set_user_origin(tempid,ct_origin)
        }
        
        
set_hudmessage02550, -1.00.4025.08.00.00.010)
        
show_hudmessage(0"%L"LANG_PLAYER,"GRENADE_DUEL"challengerchallenged)
    }
    else if(
scout_duel[id])
    {
        
give_item(id"weapon_scout")
        
give_item(tempid"weapon_scout")
        
cs_set_user_bpammo(idCSW_SCOUTget_pcvar_num(cvar_scout_bpammo))
        
cs_set_user_bpammo(tempidCSW_SCOUTget_pcvar_num(cvar_scout_bpammo))
        
        if(
equali(mapname,"some1s_jailbreak"))
        {
            
ct_origin[0] = -2898ct_origin[1] = -2040ct_origin[2] = 37
            te_origin
[0] = -2908te_origin[1] = 905te_origin[2] = 37
            set_user_origin
(id,te_origin)
            
set_user_origin(tempid,ct_origin)
        }
        
        
set_hudmessage02550, -1.00.4025.08.00.00.010)
        
show_hudmessage(0"%L"LANG_PLAYER,"SCOUT_DUEL"challengerchallenged)
    }
    
    
duel_active true
    
    menu_destroy
(menu)
    return 
PLUGIN_HANDLED
}

public 
beacon(id)
{
    if(
cs_get_user_team(id) == CS_TEAM_CT)
    {
        static 
origin[3]
        
get_user_origin(idorigin)
        
message_begin(MSG_BROADCASTSVC_TEMPENTITY)
        
write_byte(TE_BEAMCYLINDER)    // TE id
        
write_coord(origin[0])         // x
        
write_coord(origin[1])        // y
        
write_coord(origin[2]-20)    // z
        
write_coord(origin[0])        // x axis
        
write_coord(origin[1])        // y axis
        
write_coord(origin[2]+200)    // z axis
        
write_short(beacon_sprite)    // sprite
        
write_byte(0)            // startframe   
        
write_byte(1)            // framerate   
        
write_byte(6)            // life
        
write_byte(2)              // width
        
write_byte(1)               // noise    
        
write_byte(0)              // red  
        
write_byte(0)               // green 
        
write_byte(250)         // blue
        
write_byte(200)            // brightness
        
write_byte(0)            // speed
        
message_end()
    }
    else
    {
        static 
origin[3]
        
get_user_origin(idorigin)
        
message_begin(MSG_BROADCASTSVC_TEMPENTITY)
        
write_byte(TE_BEAMCYLINDER)    // TE id
        
write_coord(origin[0])         // x
        
write_coord(origin[1])        // y
        
write_coord(origin[2]-20)    // z
        
write_coord(origin[0])        // x axis
        
write_coord(origin[1])        // y axis
        
write_coord(origin[2]+200)    // z axis
        
write_short(beacon_sprite)    // sprite
        
write_byte(0)            // startframe   
        
write_byte(1)            // framerate   
        
write_byte(6)            // life
        
write_byte(2)              // width
        
write_byte(1)               // noise    
        
write_byte(250)            // red  
        
write_byte(0)               // green 
        
write_byte(0)             // blue
        
write_byte(200)            // brightness
        
write_byte(0)            // speed
        
message_end()
    }
    
set_task(1.0"beacon"id)
        
}

/*================================================================================
    Stocks                    
=================================================================================*/

stock ChatColor(const id, const input[], any:...)
{
    new 
count 1players[32]
    static 
msg[191]
    
vformat(msg190input3)
    
    
replace_all(msg190"!g""^4"// Green Color
    
replace_all(msg190"!y""^1"// Default Color
    
replace_all(msg190"!team""^3"// Team Color
    
    
if (idplayers[0] = id
    
else get_players(playerscount"ch")
    for (new 
0counti++)
    {
        if (
is_user_connected(players[i]))
        {
            
message_begin(MSG_ONE_UNRELIABLEg_msgSayText_players[i])
            
write_byte(players[i])
            
write_string(msg)
            
message_end()
        }
    }


Last edited by Gh05t04; 08-01-2015 at 14:54.
Gh05t04 is offline
Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 17:13.


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