bugs con el pugmod
#1
buenas tengo algunos bugs con este pug primero cuando elegimos el modo capitan se eliguen los 2 capitanes y los demas usuarios estan spectador hay todo bien lo malo es q los usuario entran automaticamente al equipo sin ser elegidos por el capitan no se si es que los jugadores pueden entrar sin ser elegido solo me dijieron q los elegieron automaticamente, otro error es q habiamos 5 vs 4 y cuando uno queria entrar al equipo ct le decia q el team ya estaba lleno y no lo dejaba entrar tuvimos que cambiar el mapa para q pudiera entrar, otro problema es que cuando cambiamos de mapa el servidor se cae y al rato vuelve a iniciar solo pasa cuando se cambia de mapa

Código PHP:
#include <amxmodx>
#include <hamsandwich>
#include <fakemeta>
#include <reapi>
#include <celltrie>

#define PLUGIN  "RePUG"
#define VERSION "1.35"
#define AUTHOR  "by Sugisaki & Flys"

#define END_ROUND_KNIFE_FIX

#define get_user_team(%i) get_member(%i, m_iTeam)


new TASK_HUD_READY 552214
new TASK_HUD_VOTE 996541
new TASK_END_VOTE 441017
new TASK_PUG_END 778745
new TASK_HUD_MONEY 55414

new const TAG[] = "^4[AMXMODX-ES]^1"

new amx_gamename;

enum _:PUGSTATE
{
    
NO_ALIVE 0,
    
ALIVE,
    
COMMENCING
}

enum _:PUG_ROUND
{
    
TT 0,
    
CT
}

new 
bool:RoundRestart
new Trie:t_Command
new Trie:t_Command_Plugin
new pug_state
new g_PluginId
new iMaxPlayers
new bool:ready[33]
new 
ready_count
new HamHook:SpawnWeapon
new HamHook:DefuseKit
new HamHook:PlayerPostink
new HamHook:PlayerSpawn
new bool:vote_map
new bool:vote_knife
new g_vote_id
new g_pcvar_votemap
new g_vote_countdown
new bool:private
new 
Trie:g_private
new bool:round_knife
new bool:half_time
new team_check_id
new team_check_time
new Float:last_damage[33][33]
new 
bool:round_start
new g_forward
new g_forward_round_end

new bool:round_knife_start_vote    
new bool:torneo_limit
new bool:captainrun
new TASK 41454
new ct
new tt 
new team_voting

new Sync1
new Sync2
new Sync3
new pcvar_max_players

new g_iDmg[33][33]
new 
g_iHits[33][33]
new 
g_iTeam[33]
new Array:
g_maps
new g_votes[32]
new 
g_iRound_team[2]
new 
g_iRounds
new g_iFrags[33]
new 
g_iDeaths[33]

new 
g_vote_count

new g_VoteMenu

new gMsgStatusIcon
new gMsgRegisterStatusIcon

new gMsgServerName
new gMsgTextMsg
new gMsgScoreInfo
new gMsgTeamScore

new bool:is_intermission

new SND_MUSIC[][] =
{
    
"sound/pug/music1.mp3"
}
new 
SND_COUNTER_BEEP[] = "sound/UI/buttonrollover.wav"
new SND_STINGER[] = "sound/pug/cs_stinger.wav"

enum _:CMDS
{
    
COMMAND[40],
    
VALUE[10]
}

new 
Pregame_Cmds[][CMDS] =
{
    {
"mp_forcerespawn""1"},
    {
"mp_round_infinite""acdefg"},
    {
"mp_auto_reload_weapons""1"},
    {
"mp_auto_join_team""0"},
    {
"mp_autoteambalance""0"},
    {
"mp_limitteams""1"},
    {
"mp_freezetime""0"},
    {
"mp_timelimit""0"},
    {
"mp_refill_bpammo_weapons""3"},
    {
"mp_startmoney""16000"},
    {
"sv_alltalk""1"},
    {
"mp_buytime""-1"},
    {
"mp_consistency""1"},    
    {
"mp_flashlight""0"},
    {
"mp_forcechasecam""0"},
    {
"mp_forcecamera""0"},
    {
"mp_item_staytime""0"},
    {
"mp_roundtime""0"},
    {
"allow_spectators""1"},
    {
"mp_friendlyfire""0"},
    {
"mp_respawn_immunitytime""5"},
    {
"mp_roundrespawn_time""0"},
    {
"sv_timeout""20"},
    {
"sv_rehlds_stringcmdrate_burst_punish""-1"},
    {
"sv_rehlds_stringcmdrate_avg_punish ""-1"},
    {
"sv_rehlds_movecmdrate_burst_punish""-1"},
    {
"sv_rehlds_movecmdrate_avg_punish""-1"},
    {
"sv_rehlds_force_dlmax""1"}

}

new 
PugStartCmds[][CMDS] = 
{
    {
"mp_forcerespawn""0"},
    {
"mp_startmoney""800"},
    {
"mp_freezetime""6"},
    {
"sv_alltalk""2"},
    {
"mp_limitteams""0"},
    {
"mp_refill_bpammo_weapons""0"},
    {
"mp_buytime"".25"},
    {
"mp_forcechasecam""2"},
    {
"mp_item_staytime""300"},
    {
"mp_forcecamera""2"},
    {
"mp_freezetime""11"},
    {
"mp_roundtime""1.75"},
    {
"mp_respawn_immunitytime""0"},
    {
"mp_roundrespawn_time""10"},
    {
"mp_auto_join_team""0"}
}

public 
plugin_init()
{
    
g_PluginId register_plugin(PLUGINVERSIONAUTHOR)
    
pug_state NO_ALIVE
    register_clcmd
("say""pfn_Hook_Say")
    
register_clcmd("say_team""pfn_Hook_Say")
    
SpawnWeapon RegisterHam(Ham_Spawn"weaponbox""pfn_remove_weapon"1)
    
PlayerPostink RegisterHam(Ham_Player_PostThink"player""pfn_postink"1)
    
PlayerSpawn RegisterHam(Ham_Spawn"player""pfn_player_spawn"1)
    
DisableHamForward(PlayerSpawn)
    
DisableHamForward(PlayerPostink)
    
DefuseKit RegisterHam(Ham_Spawn"item_thighpack""pfn_remove_weapon"1)
    
register_event("Money""pfn_money""b")
    
g_private TrieCreate()
    
g_pcvar_votemap register_cvar("pug_votemap""1")
    
t_Command TrieCreate()
    
t_Command_Plugin TrieCreate()
    
g_maps ArrayCreate(32)
    
iMaxPlayers get_maxplayers();
    
Sync1 CreateHudSyncObj()
    
Sync2 CreateHudSyncObj()
    
Sync3 CreateHudSyncObj()
    
gMsgStatusIcon get_user_msgid("StatusIcon")
    
gMsgServerName get_user_msgid("ServerName")
    
gMsgTextMsg get_user_msgid("TextMsg")
    
gMsgScoreInfo get_user_msgid("ScoreInfo")
    
gMsgTeamScore get_user_msgid("TeamScore")
    
g_forward CreateMultiForward("pug_end"ET_STOPFP_CELL)
    
g_forward_round_end CreateMultiForward("pug_round_end"ET_STOPFP_CELL)
    
register_message(gMsgTeamScore"pfn_TeamScore")
    
amx_gamename register_cvar"amx_gamename""America Gaming" );
    
register_forwardFM_GetGameDescription"GameDesc" );
    
    
pcvar_max_players register_cvar("pug_players""10")
    
    
register_event("HLTV""EV_new_round""a""1=0""2=0")

    
RegisterHookChain(RG_RoundEnd"pfn_Round_End_Hook")
    
RegisterHookChain(RG_HandleMenu_ChooseTeam"pfn_Hook_ChooseTeam")
    
//register_forward(FM_Voice_SetClientListening, "pfn_voice_hook")

    
register_event("Damage""pfn_EVENT_damage""b")

    
register_message(gMsgTextMsg"pfn_TextMsg")
    
register_message(gMsgScoreInfo"pfn_ScoreInfo")
    
register_message(get_user_msgid("SendAudio"), "pfnSendAudioHook")
    
register_event("DeathMsg""pfn_PlayerDeath""a")
    
pug_register_command(".ready""pfn_ready"g_PluginId)
    
pug_register_command(".notready""pfn_unready"g_PluginId)
    
pug_register_command(".score""pfn_score"g_PluginId)
    
pug_register_command(".start""pfn_force_start_pug"g_PluginId)
    
pug_register_command(".forceready""pfn_forceready"g_PluginId)
    
pug_register_command(".cancel""pfn_force_cancel"g_PluginId)
    
pug_register_command(".dmg""cmd_dmg"g_PluginId)
    
pug_register_command(".rdmg""cmd_rdmg"g_PluginId)
    
pug_register_command(".hp""cmds_vidas"g_PluginId)
    
pug_register_command(".hpteam""cmds_vidas_team"g_PluginId)

    
set_task(5.0"start_pregame")
    
read_maps()
    
read_ini()
}

public 
GameDesc( ) { 
    static 
gamename[32]; 
    
get_pcvar_stringamx_gamenamegamename31 ); 
    
forward_returnFMV_STRINGgamename ); 
    return 
FMRES_SUPERCEDE
}  

public 
pfn_voice_hook(rsl)
{
    if(
pug_state != ALIVE)
    {
        return 
FMRES_IGNORED
    
}
    if(
get_user_team(r) != get_user_team(s))
    {
        
engfunc(EngFunc_SetClientListeningrs0)
        return 
FMRES_SUPERCEDE
    
}
    return 
FMRES_IGNORED
}
public 
pfnSendAudioHook(meid)
{
    new 
sz[20]
    
get_msg_arg_string(2szcharsmax(sz))
    if(
equal(sz"%!MRAD_ctwin") || equal(sz"%!MRAD_terwin") || equal(sz"%!MRAD_BOMBDEF"))
    {
        return 
PLUGIN_HANDLED
    
}
    return 
PLUGIN_CONTINUE
}

public 
pfn_player_spawn(id)
{
    if(!
is_user_alive(id))
    {
        return
    }
    if(
round_knife)
    {
        
rg_remove_all_items(id)
        
rg_give_item(id"weapon_knife")
        
set_member(idm_iAccount1)
    }
}

read_ini()
{
    new 
_sz_file[] = "addons/amxmodx/configs/pug_private.ini"
    
if(file_exists(_sz_file))
    {
        
server_print("Servidor Privado!!!!!")
        private = 
true
        
new fh fopen(_sz_file"r")
        new 
line[34]
        new 
_auth[32]
        new 
_sz_team[3]

        while(!
feof(fh))
        {
            
fgets(fhlinecharsmax(line))
            
trim(line)
            if(!
line[0] || line[0] == ';')
            {
                continue;
            }
            
parse(line_authcharsmax(_auth), _sz_teamcharsmax(_sz_team))
            
trim(_sz_team)
            
trim(_auth)
            
TrieSetCell(g_private_authstr_to_num(_sz_team))
        }
        
fclose(fh)
    }
    else
    {
        private = 
false
        server_print
("Servidor Publico!!!!!")
    }
}
public 
client_connect(id)
{
    static 
_steam_id[32]
    
g_iTeam[id] = 0
    
if(private)
    {
        
get_user_authid(id_steam_idcharsmax(_steam_id))
        if(!
TrieKeyExists(g_private_steam_id))
        {
            
server_cmd("kick #%i 'Servidor Privado!!!'"get_user_userid(id))
            return
        }
    }
}

public 
pfn_money(id)
{
    if(
round_knife)
    {
        
set_member(idm_iAccount1)
        return
    }
    if(
pug_state == ALIVE)
    {
        if(
get_member_game(m_bFreezePeriod))
        {
            
update_team_money(get_user_team(id))
        }
        return 
    }
    
set_member(idm_iAccount25000)
}


public 
pfn_PlayerDeath()
{
    if(
pug_state == ALIVE && !is_intermission && !round_knife )
    {
        new 
read_data(2)
        new 
read_data(1)
        if(!(
1<= <= iMaxPlayers) || == k)
        {
            
g_iDeaths[v]++
            
g_iFrags[v]--
        }
        else
        {
            
g_iFrags[k]++
            
g_iDeaths[v]++
        }
        new 
dteam get_user_team(v)
        new 
name1[32]
        new 
name2[32]
        new 
name3[32]
        
get_user_name(kname131)
        
get_user_name(vname231)

        new 
ub
        get_user_aiming
(vub)

        for(new 
<= iMaxPlayers i++)
        {
            if(!
is_user_alive(i) || get_user_team(i) == dteam || == )
            {
                continue
            }
            if(
last_damage[v][i] > get_gametime() || == )
            {
                
client_print_color(i0"^4*** %s Te Ha salvado matando a %s ***"name1name2)
                
get_user_name(iname331)
                
client_print_color(k0"^4*** Has salvado a %s ***"name3)
            }
        }
        if(!
torneo_limit){
            
cmd_dmg(v)
        }
    }

}

public 
pfn_ScoreInfo(msid)
{
    static 
_score_player_id
    _score_player_id 
get_msg_arg_int(1)
    if(
pug_state == ALIVE && !round_knife)
    {
        
set_msg_arg_int(2ARG_SHORTg_iFrags[_score_player_id])
        
set_msg_arg_int(3ARG_SHORTg_iDeaths[_score_player_id])
    }
}

public 
cmds_vidas(id)
{
    if(
pug_state != ALIVE || is_user_alive(id))
    {
        
client_print_color(idid"%s Accion no permitida en este momento"TAG)
        return
    }
    if(
torneo_limit){
        
client_print_color(idid"%s Accion no permitida en modo torneo"TAG)
        return;
    }
    new 
team get_user_team(id)
    new 
name[32]
    for(new 
<= iMaxPlayers i++)
    {
        if(
team == get_user_team(i) || !is_user_alive(i)) continue

        
get_user_name(iname32)
        
client_print_color(idi"%s %s HP: %i"TAGnameget_user_health(i))
    }
}
public 
cmds_vidas_team(id)
{
    if(
pug_state != ALIVE || (is_user_alive(id) && round_start))
    {
        
client_print_color(idid"%s Accion no permitida en este momento"TAG)
        return
    }
    new 
team get_user_team(id)
    new 
name[32]
    for(new 
<= iMaxPlayers i++)
    {
        if(
team != get_user_team(i) || <= get_user_team(i) <= || !is_user_alive(i))    continue
        
get_user_name(iname32)
        
client_print_color(idi"%s %s HP: %i"TAGnameget_user_health(i))
    }
}
public 
pfn_EVENT_damage(id)
{
    new 
get_user_attacker(id)
    new 
damage read_data(2)

    if(
pug_state != ALIVE || !is_user_alive(a) || !(<= <= iMaxPlayers) || == id || damage <= 0)
    {
        return
    }

    
g_iDmg[id][a] += damage
    g_iHits
[id][a] += 1
    last_damage
[id][a] = get_gametime() + 0.5
}
public 
cmd_dmg(id)
{
    if(
pug_state != ALIVE || (is_user_alive(id) && round_start))
    {
        
client_print_color(id0"%s Accion no permitida en este momento"TAG)
        return
    }
    if(
torneo_limit){
        
client_print_color(idid"%s Accion no permitida en modo torneo"TAG)
        return
    }
    new 
tmp_name[32], count
    client_print
(idprint_console"===========[ DMG ]===========")
    for(new 
<= iMaxPlayers i++)
    {
        if(
g_iHits[i][id] > 0)
        {
            if(!
is_user_connected(i))
            {
                continue;
            }
            
get_user_name(itmp_namecharsmax(tmp_name))
            
            
client_print_color(id0"%s | %s | Dmg: %i | Hits: %i "TAGtmp_nameg_iDmg[i][id], g_iHits[i][id])
            
client_print(idprint_console"| %s | Dmg: %i | Hits: %i "tmp_nameg_iDmg[i][id], g_iHits[i][id])

            
count++
        }
    }

    if(!
count)
    {
        
client_print_color(id0"%s No Le diste a nadie en esta ronda"TAG)
        
console_print(id"%s No Le diste a nadie en esta ronda"TAG)
    }
    
client_print(idprint_console"=============================")
}
public 
cmd_rdmg(id)
{
    if(
pug_state != ALIVE || (is_user_alive(id) && round_start))
    {
        
client_print_color(idid"%s Accion no permitida en este momento"TAG)
        return
    }
    new 
tmp_name[32], count
    client_print
(idprint_console"===========[ RDMG ]===========")
    for(new 
<= iMaxPlayers i++)
    {
        if(
g_iHits[id][i] > 0)
        {
            if(!
is_user_connected(i))
            {
                continue;
            }
            
get_user_name(itmp_namecharsmax(tmp_name))
            
            
client_print_color(idid"%s | %s | RDmg: %i | Hits: %i "TAGtmp_nameg_iDmg[id][i], g_iHits[id][i])
            
client_print(idprint_console"| %s | Dmg: %i | Hits: %i "tmp_nameg_iDmg[id][i], g_iHits[id][i])

            
count++
        }
    }
    if(!
count)
    {
        
client_print_color(idid"%s No recibiste daño esta ronda"TAG)
    }
    
client_print(idprint_console"=============================")

}
public 
pfn_TeamScore(meid)
{
    static 
_____team_score[2]
    
get_msg_arg_string(1_____team_scorecharsmax(_____team_score))
    switch(
_____team_score[0])
    {
        case 
'T' set_msg_arg_int(2ARG_SHORTg_iRound_team[TT])
        case 
'C' set_msg_arg_int(2ARG_SHORTg_iRound_team[CT])
    }
}
public 
newRound(id)
{
    
fn_update_server_name(id)
}
public 
pfn_Round_End_Hook(WinStatus:statusScenarioEventEndRound:eventFloat:tmDelay)
{
    
    if(
pug_state == NO_ALIVE || event == ROUND_GAME_RESTART || event == ROUND_GAME_COMMENCE || status == WINSTATUS_DRAW)
    {
        return 
HC_CONTINUE
    
}
    else if(
is_intermission)
    {
        
SetHookChainReturn(ATYPE_INTEGER1)
        return 
HC_SUPERCEDE
    
}
    if(
round_knife)
    {
        
client_print_color(00"%s Ronda cuchillo finalizada, elegiran equipo los %s"TAGstatus == WINSTATUS_CTS "Anti-Terroristas" "Terroristas")


        
round_knife false
        
#if defined END_ROUND_KNIFE_FIX
        
set_cvar_num(Pregame_Cmds[1][COMMAND], 1)
        
#endif
        
DisableHamForward(PlayerSpawn)

        
Send_TextMsg(status == WINSTATUS_TERRORISTS "#Terrorists_Win" status == WINSTATUS_CTS "#CTs_Win" "")
        
//server_cmd("sv_restart 4")

        
start_vote_win_team_knife(status == WINSTATUS_TERRORISTS 2)

        
DisableHamForward(SpawnWeapon)
        
unregister_message(gMsgStatusIcongMsgRegisterStatusIcon)
        
rg_send_audio(0status == WINSTATUS_TERRORISTS "%!MRAD_terwin" status == WINSTATUS_CTS "%!MRAD_ctwin" "%!MRAD_rounddraw"PITCH_NORM)
        
SetHookChainReturn(ATYPE_INTEGER1)
        return 
HC_SUPERCEDE
    
}
    
round_start false 
    
if(status == WINSTATUS_CTS)
    {
        
g_iRound_team[CT]++
        
emessage_begin(MSG_ALLgMsgTeamScore)
        
ewrite_string("CT")
        
ewrite_short(g_iRound_team[CT])
        
emessage_end()
        if(
event == ROUND_BOMB_DEFUSED)
        {
            
client_cmd(0"spk ^"radio/bombdef ctwin^"")
        }
        else
        {
            
client_cmd(0"spk radio/ctwin")
        }
        
ExecuteForward(g_forward_round_end_2)
    }
    else if(
status == WINSTATUS_TERRORISTS)
    {
        
client_cmd(0"spk radio/terwin")
        
g_iRound_team[TT]++
        
emessage_begin(MSG_ALLgMsgTeamScore)
        
ewrite_string("TERRORIST")
        
ewrite_short(g_iRound_team[TT])
        
emessage_end()
        
ExecuteForward(g_forward_round_end_1)
    }
    
fn_update_server_name(0)

    
set_task(0.1"end_dmg")

    if(
g_iRounds == 15 && !half_time)
    {
        
EnableHamForward(PlayerPostink)
        
client_cmd(0"+strafe")
        
g_vote_countdown 11
        set_task
(1.0"pfn_intermission_count"TASK_HUD_READY__"b")
        
rg_round_end(float(g_vote_countdown) + 0.5WINSTATUS_DRAWROUND_NONE"""")
        
is_intermission true
        half_time 
true
        
        
//rg_send_audio(0, status == WINSTATUS_TERRORISTS ? "%!MRAD_terwin" : status == WINSTATUS_CTS ? "%!MRAD_ctwin" : "%!MRAD_rounddraw", PITCH_NORM)
        
Send_TextMsg(status == WINSTATUS_TERRORISTS "#Terrorists_Win" status == WINSTATUS_CTS "#CTs_Win" "")
        
client_cmd(0"mp3 play ^"%s^""SND_MUSIC[random_num(0charsmax(SND_MUSIC))])
        
//client_cmd(0, "wait;^"MP3FadeTime^" ^"0.5^";wait")
        
client_cmd2(0"MP3FadeTime 0.5")
        
SetHookChainReturn(ATYPE_INTEGER1)
        return 
HC_SUPERCEDE
    
}
    else if(
g_iRounds == 30 || g_iRound_team[CT] >= 16 || g_iRound_team[TT] >= 16)
    {
        
EnableHamForward(PlayerPostink)
        
client_cmd(0"+strafe")
        
g_vote_countdown 15
        set_task
(1.0"pfn_pug_end_countdown"TASK_PUG_END__"b")
        
is_intermission true

        ExecuteForward
(g_forward_status == WINSTATUS_TERRORISTS status == WINSTATUS_CTS 0)
        
Send_TextMsg(status == WINSTATUS_TERRORISTS "#Terrorists_Win" status == WINSTATUS_CTS "#CTs_Win" "")
        
//rg_send_audio(0, status == WINSTATUS_TERRORISTS ? "%!MRAD_terwin" : status == WINSTATUS_CTS ? "%!MRAD_ctwin" : "%!MRAD_rounddraw", PITCH_NORM)
        
client_cmd(0"mp3 play ^"%s^""SND_MUSIC[random_num(0charsmax(SND_MUSIC))])
        
client_cmd2(0"MP3FadeTime 0.5")
        
SetHookChainReturn(ATYPE_INTEGER1)
        return 
HC_SUPERCEDE
    
}

    return 
HC_CONTINUE

}

public 
start_vote_win_team_knife(team)
{
    
arrayset(g_votes0sizeof(g_votes))
    
g_vote_count 0
    set_task
(5.0"end_vote_team_win_knife"TASK_END_VOTE)
    for(new 
<= iMaxPlayers i++)
    {
        if(
get_user_team(i) == team)
        {
            
make_vote_win_team_knife(i);
        }
    }
}
make_vote_win_team_knife(id)
{
    
round_knife_start_vote true
    
new menu menu_create("\r¿Cambiar el equipo actual?""mh_vote_team_win_knife")
    
menu_additem(menu"Si")
    
menu_additem(menu"No")
    
menu_setprop(menuMPROP_EXITMEXIT_NEVER)
    
menu_display(idmenu05)
}
public 
mh_vote_team_win_knife(idmenuitem)
{
    if(
item == MENU_EXIT || !round_knife_start_vote)
    {
        
menu_destroy(menu)
        return
    }
    
menu_destroy(menu)
    if(
item 2)
    {
        return
    }
    
g_votes[item] += 1
    g_vote_count 
+= 1
    
if(g_vote_count >= get_team_num(get_user_team(id)))
    {
        
end_vote_team_win_knife(TASK_END_VOTE)
    }
    return
}
public 
end_vote_team_win_knife(task)
{
    
remove_task(task)
    new 
0;
    for(new 
sizeof (g_votes) ; i++)
    {
        if(
g_votes[w] > g_votes[i])
        {
            
i
        
}
    }
    if(
g_vote_count <= 0)
    {
        
0;
    }
    if(
w)
    {
        for(new 
<= get_pcvar_num(pcvar_max_players) ; i++)
        {
            if(!
is_user_connected(i))
            {
                continue;
            }

            if(
g_iTeam[i] == 1)
            {
                
g_iTeam[i] = 2
            
}
            else if(
g_iTeam[i] == 2)
            {
                
g_iTeam[i] = 1
            
}
            
rg_switch_team(i)
        }
    }
    
arrayset(g_votes0sizeof(g_votes))
    
g_vote_count 0;
    
round_knife_start_vote false
    server_cmd
("sv_restart 1")
}
get_team_num(team)
{
    new 
count 
    
for(new <= get_playersnum() ;i++)
    {
        if(!
is_user_connected(i))
        {
            continue
        }
        if(
get_user_team(i) == team)
        {
            
count += 1
        
}
    }
    return 
count
}
public 
end_dmg()
{
    for(new 
1<= get_playersnum() ; i++)
    {
        if(
is_user_alive(i) && !torneo_limit)
        {
            
cmd_dmg(i);
        }
    }
}

stock Send_TextMsg(msg[])
{
    
message_begin(MSG_BROADCASTgMsgTextMsg)
    
write_byte(4)
    
write_string(msg)
    
message_end()
}

public 
pfn_pug_end_countdown(task)
{
    
g_vote_countdown--
    if(
g_vote_countdown 0)
    {
        if(
g_iRound_team[CT] == g_iRound_team[TT])
        {
            
//make_hud_title("La partida quedo empatada")
            
send_server_name(0"Empate 00:%02i"g_vote_countdown)
        }
        else if(
g_iRound_team[CT] >= g_iRound_team[TT])
        {
            
//make_hud_title("Los Anti-Terroristas Han ganado la partida")
            
send_server_name(0"Anti-Terroristas Ganan 00:%02i"g_vote_countdown)
        }
        else
        {
            
//make_hud_title("Los Terroristas Han ganado la partida")
            
send_server_name(0"Los Terroristas Ganan 00:%02i"g_vote_countdown)
        }
        
//make_hud_body("Reiniciando en: %i", g_vote_countdown)
    
}
    else
    {
        
DisableHamForward(PlayerPostink)
        
client_cmd(0"-strafe")
        
remove_task(task)
        
start_pregame()
        
client_cmd(0"-showscores")
        
client_cmd2(0"MP3FadeTime 0.5")
        
//client_cmd(0, "wait;^"cd^" ^"fadeout^";wait")
        
client_cmd2(0"cd fadeout")
        
fn_update_server_name(0)
    }
}
send_server_name(idmsg[], any:...)
{
    new 
fmt[33]
    
vformat(fmtcharsmax(fmt), msg3)
    
message_begin(id MSG_ONE_UNRELIABLE MSG_ALLgMsgServerName_id)
    
write_string(fmt)
    
message_end()

    
message_begin(MSG_ALLgMsgScoreInfo)
    
write_byte(33)
    
write_short(0)
    
write_short(0)
    
write_short(0)
    
write_short(0)
    
message_end()
}
public 
pfn_intermission_count(task)
{
    
g_vote_countdown--
    if(
g_vote_countdown 0)
    {
        
//make_hud_title("Descanso:")
        //make_hud_body("Cambio de Equipos en 00:%02i", g_vote_countdown)
        
send_server_name(0"Cambio de equipos 00:%02i"g_vote_countdown)
    }
    else
    {
        
client_cmd2(0"MP3FadeTime 0.5")
        
client_cmd2(0"cd fadeout")
        
remove_task(task)
        
DisableHamForward(PlayerPostink)
        
client_cmd(0"-strafe")
        
//server_cmd("sv_restart 1")
        
new temp g_iRound_team[CT]
        
g_iRound_team[CT] = g_iRound_team[TT]
        
g_iRound_team[TT] = temp
        
for(new i<= iMaxPlayers ;i++)
        {
            if(!
is_user_connected(i) || !(1<= get_user_team(i) <= 2))
            {
                continue
            }
            if(
g_iTeam[i] == 1)
            {
                
g_iTeam[i] = 2
            
}
            else if(
g_iTeam[i] == 2)
            {
                
g_iTeam[i] = 1
            
}
            
rg_switch_team(i)
            
set_member(im_iAccount800);
            if(
is_user_alive(i))
            {
                
rg_set_user_armor(i0ARMOR_NONE)
                
rg_give_default_items(i)
                if(
get_member(im_bHasC4))
                {
                    
rg_give_item(i"weapon_c4"GT_REPLACE)
                }
            }
        }
        
fn_update_server_name(0)
        
client_cmd(0"-showscores")
    }
}
fn_update_server_name(id)
{
    new 
szFmt[40]
    if(
round_knife)
    {
        
formatex(szFmtcharsmax(szFmt), "Ronda de cuchillos")
    }
    else if(
pug_state != NO_ALIVE)
    {
        if(
g_iRound_team[CT] == g_iRound_team[TT]){
            
formatex(szFmtcharsmax(szFmt), "Ronda: %i | Empate: %i - %i"g_iRoundsg_iRound_team[CT], g_iRound_team[TT])
        }
        else if(
g_iRound_team[CT] > g_iRound_team[TT]){
            
formatex(szFmtcharsmax(szFmt), "Ronda: %i | CT: %i | TT: %i"g_iRoundsg_iRound_team[CT], g_iRound_team[TT])
        }
        else{
            
formatex(szFmtcharsmax(szFmt), "Ronda: %i | TT: %i | CT: %i"g_iRoundsg_iRound_team[TT], g_iRound_team[CT])
        }
    }
    else
    {
        
formatex(szFmtcharsmax(szFmt), "Esperando Jugadores")
    }
    
//message_begin(id ? MSG_ONE_UNRELIABLE : MSG_ALL, gMsgServerName, {0, 0, 0}, id)
    //write_string(szFmt)
    //message_end();
    
send_server_name(idszFmt)
    if(
pug_state != NO_ALIVE)
    {

        if(
round_knife)
        {
            
formatex(szFmtcharsmax(szFmt), "Ronda de cuchillos")
        }
        else if(
g_iRound_team[CT] == g_iRound_team[TT])
        {
            
formatex(szFmtcharsmax(szFmt), "CBP: TT: %i vs CT: %i"g_iRound_team[CT], g_iRound_team[TT])
        }
        else if(
g_iRound_team[CT] > g_iRound_team[TT])
        {
            
formatex(szFmtcharsmax(szFmt), "CBP: CT: %i vs TT: %i"g_iRound_team[CT], g_iRound_team[TT])
        }
        else
        {
            
formatex(szFmtcharsmax(szFmt), "CBP: TT: %i vs CT: %i"g_iRound_team[TT], g_iRound_team[CT])
        }
        
set_member_game(m_GameDescszFmt)
    }
    else
    {
        
set_member_game(m_GameDesc"cbp.com.ve")
    }
    
}

public 
pfn_show_money(tid)
{
    
update_team_money(1)
    
update_team_money(2)
}

update_team_money(team)
{
    new 
hud[256], name[32]
    for(new 
<= iMaxPlayers i++)
    {
        if(!
is_user_connected(i) || get_user_team(i) != team)
        {
            continue
        }
        
get_user_name(iname31)
        
format(hudcharsmax(hud), "%s%s - $%i^n"hudnameget_member(im_iAccount))
    }
    

    for(new 
<= iMaxPlayers i++)
    {
        if(!
is_user_connected(i) || get_user_team(i) != team)
        {
            continue
        }
        
set_hudmessage(025500.60.001.01.10.10.21)
        
show_hudmessage(iteam == "Terrorista:" "Anti-Terrorista:")

        
set_hudmessage(2552552550.60.0301.01.10.10.22)
        
show_hudmessage(ihud)
    }
}
public 
EV_new_round()
{

    if(
pug_state == NO_ALIVE)
    {
        return 
    }
    else if(
pug_state == COMMENCING)
    {
        
set_cvar_num("mp_round_infinite"0);
        
pug_state ALIVE;
    }
    
    if(
is_intermission)
    {
        
is_intermission false
        g_iRounds 
+= 1
    
}
    else if(!
RoundRestart)
    {
        
g_iRounds += 1
    
}
    else
    {
        if(
g_iRounds 13){
            
g_iRounds 1
            g_iRound_team
[TT] = 0
            g_iRound_team
[CT] = 0
        
}
        
RoundRestart false
    
}

    
    
round_start true 
    
    
if(round_knife)
    {
        
fn_update_server_name(0)
        
client_print_color(00"%s Ronda cuchillo, el equipo ganador elegira equipo."TAG)
        return
    }
    
    if(
team_check_id 0)
    {
        new 
count 0
        
for(new <= iMaxPlayers i++)
        {
            if(!
is_user_connected(i) ||get_user_team(i) != team_check_id)
            {
                continue
            }
            
count++
        }
        if(
count <= 2)
        {
            if(
get_systime() >= team_check_time)
            {
                
client_print_color(0print_team_grey"^3Partida cancelada por falta de jugadores")
                
client_print_color(0print_team_grey"^3En el equipo %s"team_check_id == "Terrorista" "Anti-Terrorista")
                
team_check_id 0
                start_pregame
()
                return
            }
            else
            {
                new 
p_time = ((team_check_time get_systime()) / 60) + 1
                client_print_color
(0team_check_id == print_team_red print_team_blue"^3Esperando minimo de judadores del equipo %s"team_check_id == "Terrorista" "Anti-Terrorista")
                
client_print_color(0team_check_id == print_team_red print_team_blue"^3La partida se cancelara en %i minuto%s"p_timep_time "s" "")
            }
        }
        else
        {
            
team_check_id 0
        
}
    }
    if(
team_check_id == 0)
    {
        new 
t_count 0
        
new ct_count 0
        
for(new <= iMaxPlayers i++)
        {
            if(!
is_user_connected(i))
            {
                continue;
            }
            switch(
get_user_team(i))
            {
                case 
t_count++
                case 
ct_count++
            }
        }
        if(
t_count <= || ct_count <= 2)
        {
            
team_check_id t_count <= 2
            team_check_time 
get_systime() + 180
            client_print_color
(0team_check_id == print_team_red print_team_blue"^3Esperando minimo de judadores del equipo %s"team_check_id == "Terrorista" "Anti-Terrorista")
            
client_print_color(0team_check_id == print_team_red print_team_blue"^3La partida se cancelara en 3 minutos")
        }
    }
    

    

    
    
set_task(1.0"pfn_show_money"TASK_HUD_MONEY""0"a"get_cvar_num("mp_freezetime"))
    
#if defined END_ROUND_KNIFE_FIX
    
if(g_iRounds == 1)
    {
        
set_cvar_num(Pregame_Cmds[1][COMMAND], 0)
        
arrayset(g_iFrags0sizeof(g_iFrags))
        
arrayset(g_iDeaths0sizeof(g_iDeaths))
    }
    
#endif

    
if(g_iRounds == 15 || g_iRound_team[CT] == 15 || g_iRound_team[TT] == 15)
    {
        
client_cmd(0"spk ^"%s^"; spk ^"%s^""SND_STINGER[6], SND_STINGER[6])
        
set_dhudmessage(255255255, -1.00.301.01.5)
        if(
g_iRounds == 30)
        {
            
show_dhudmessage(0"Ronda Final")
        }
        else
        {
            
show_dhudmessage(0"Punto de partido")
        }
    }

    
fn_update_server_name(0)
    
fn_score(0)
    
    for(new 
<= iMaxPlayers i++)
    {
        
arrayset(g_iDmg[i], 0sizeof(g_iDmg))
        
arrayset(g_iHits[i], 0sizeof(g_iHits))
    }
    return
}

public 
plugin_end()
{
    
TrieDestroy(t_Command)
    
TrieDestroy(t_Command_Plugin)
    
ArrayDestroy(g_maps)
}
stock is_user_admin(id)
{
    new 
__flags=get_user_flags(id);
    return (
__flags>&& !(__flags&ADMIN_USER));
}
read_maps()
{
    new 
file[32]
    new 
curmap[32]
    
ArrayPushString(g_maps"Jugar Este Mapa")
    
get_mapname(curmapcharsmax(curmap))
    if(!
file_exists("mapcycle.txt"))
    {
        
log_amx("%s Mapcycle.txt no existe"TAG)
        return
    }
    new 
fh fopen("mapcycle.txt""r")
    if(!
fh)
    {
        
log_amx("%s error con Mapcycle.txt"TAG)
        return
    }
    while(!
feof(fh))
    {
        
fgets(fhfilecharsmax(file))
        
trim(file)
        if(!
file[0] || file[0] == ';' || equali(curmapfile))
        {
            continue;
        }
        
ArrayPushString(g_mapsfile)
    }
    
fclose(fh)
    
}
stock bool:check_bsp_file(file[])
{
    if(
equal(file[strlen(file)-4], ".bsp"))
    {
        return 
true
    
}
    
    return 
false
}
public 
pfn_postink(id)
{
    if(!(
<= get_user_team(id) <= 2))
    {
        return
    }
    
set_pev(idpev_maxspeed0.1)
    if(
pug_state == ALIVE)
    {
        
client_cmd(id"+showscores")
    }
    if(
is_user_alive(id))
    {
        new 
ent get_member(idm_pActiveItem)
        
set_member(entm_Weapon_flNextPrimaryAttack2.0)
        
set_member(entm_Weapon_flNextSecondaryAttack2.0)
    }
}
public 
pfn_remove_weapon(ent)
{
    if(
pug_state == ALIVE && !round_knife)
    {
        
DisableHamForward(SpawnWeapon)
        return
    }
    
set_pev(entpev_flagsFL_KILLME)
}

reset_user_vars()
{
    
arrayset(readyfalsesizeof(ready))
    
ready_count 0
    g_vote_id 
0;
    
round_knife false
    half_time 
false
    RoundRestart 
false
    g_iRound_team
[TT] = 0
    g_iRound_team
[CT] = 0
    arrayset
(g_iFrags0sizeof(g_iFrags))
    
arrayset(g_iDeaths0sizeof(g_iDeaths))
}
stock pug_register_command(Command[], Function[], Plugin)
{
    new 
funcid get_func_id(Function, Plugin)
    if(!
funcid)
    {
        
server_print("Funcion: ^"%s^" No encontrada", Function)
        return
    }
    else if(
TrieKeyExists(t_CommandCommand))
    {
        
server_print("Funcion ^"%s^" ya existente"Command)
        return
    }

    
TrieSetCell(t_CommandCommandPlugin)
    
TrieSetCell(t_Command_PluginCommandfuncid)
}
public 
start_pregame()
{
    for(new 
sizeof(Pregame_Cmds) ; i++)
    {
        
set_cvar_string(Pregame_Cmds[i][COMMAND], Pregame_Cmds[i][VALUE])
    }
    
torneo_limit false 
    is_intermission 
false
    pug_state 
NO_ALIVE
    gMsgRegisterStatusIcon 
register_message(gMsgStatusIcon"pfn_StatusIcon")
    
server_cmd("sv_restart 1")
    
EnableHamForward(SpawnWeapon)
    
EnableHamForward(DefuseKit)
    
reset_user_vars()
    
fn_update_server_name(0)
    if(
get_pcvar_num(g_pcvar_votemap) == 1)
    {
        
set_task(1.0"pfn_Hud_Ready"TASK_HUD_READY__"b")
    }
    else
    {
        
g_vote_countdown 60
        set_task
(1.0"pfn_waiting_players"TASK_HUD_READY__"b")
    }

    if(private)
    {
        
set_cvar_string(Pregame_Cmds[3][COMMAND], "0")
    }
}

public 
pfn_StatusIcon(meid)
{
    if(
pug_state == ALIVE && !round_knife)
    {
        
unregister_message(gMsgStatusIcongMsgRegisterStatusIcon)
        return 
PLUGIN_CONTINUE
    
}
    new 
arg[4]
    
get_msg_arg_string(2argcharsmax(arg))
    if(
equal(arg"c4"))
    {
        
client_cmd(id"drop weapon_c4")
    }
    return 
PLUGIN_CONTINUE
}
public 
pfn_Hud_Ready()
{
    
set_hudmessage(025500.750.0701.01.1)
    new 
i;
    new 
__pcount 0
    
for(<= iMaxPlayers ;i++ )
    {
        if(!
is_user_connected(i) || !(<= get_user_team(i) <= 2))
        {
            continue;
        }
        
__pcount += 1
    
}
    
ShowSyncHudMsg(0Sync1"Jugadores: ( %i / %i ) "__pcount get_pcvar_num(pcvar_max_players))
    new 
fmt[33 33], name[16]
    
    
copy(fmtcharsmax(fmt), "")
    for(
<= iMaxPlayers ;i++ )
    {
        if(!
is_user_connected(i) || !(<= get_user_team(i) <= 2))
        {
            continue;
        }
        if(
ready[i]){
            
get_user_name(inamecharsmax(name))
            
format(fmtcharsmax(fmt), "%s%s^n"fmtname)
        }
        else{
            
get_user_name(inamecharsmax(name))
            
format(fmtcharsmax(fmt), "%s%s^n"fmtname)
        }
    }
    
set_hudmessage(2552552550.700.101.01.1)
    
ShowSyncHudMsg(0Sync2fmt)

    
copy(fmtcharsmax(fmt), "")
    for(
<= iMaxPlayers ;i++ )
    {
        if(!
is_user_connected(i) || !(<= get_user_team(i) <= 2))
        {
            continue;
        }
        if(
ready[i]){
            
format(fmtcharsmax(fmt), "%s - Listo^n"fmt)
        }
        else{
            
format(fmtcharsmax(fmt), "%s - No Listo^n"fmt)
        }
    }
    
set_hudmessage(242195430.840.101.01.1)
    
ShowSyncHudMsg(0Sync3fmt)
    

}
public 
plugin_natives()
{
    
register_native("pug_register_command""native_register_command", .style=0)
    
register_native("pug_get_state""native_pug_get_state")
    
register_native("pug_is_ready""native_is_ready")
}
public 
native_is_ready(plpr)
{
    new 
get_param(1)
    if(!(
<= <= iMaxPlayers))
    {
        return 
false
    
}
    return 
ready[u]
}
public 
native_pug_get_state(plpr)
{
    return 
pug_state;
}
public 
native_register_command(plpr)
{
    new 
szCommand[20], szForward[32]
    
get_string(1szCommandcharsmax(szCommand))
    
get_string(2szForwardcharsmax(szForward))
    
pug_register_command(szCommandszForwardpl)
}

public 
pfn_Hook_Say(id)
{
    if(!
is_user_connected(id))
    {
        return 
PLUGIN_CONTINUE
    
}
    static 
said[210], name[32], type[10], teambool:say_teammessage[300]
    
read_argv(0typecharsmax(type))
    
get_user_name(idnamecharsmax(name))
    
read_argv(1saidcharsmax(said))
    
remove_quotes(said)
    
trim(said)
    
trim(type)
    if(!
said[0])
    {
        return 
PLUGIN_HANDLED_MAIN
    
}
    
team get_user_team(id)
    
strtolower(type)
    if(
equali(type"say_team") || team == || team == 0)
    {
        
say_team true
        formatex
(messagecharsmax(message), "^1%s%s^3%s ^1: %s"is_user_alive(id) ? "" "*MUERTO*"team == "(Terrorista) " team == "(Antiterrorista) " "(SPEC) "namesaid)
    }
    else
    {
        
say_team false
        formatex
(messagecharsmax(message), "^1%s^3%s ^1: %s"is_user_alive(id) ? "" "*MUERTO*"namesaid)
    }

    for(new 
<= iMaxPlayers i++)
    {
        if(!
is_user_connected(i))
        {
            continue
        }
        if(
say_team)
        {
            if(
get_user_team(i) == team)
            {
                
client_print_color(iidmessage)
            }
            else if(
team == && get_user_team(i) == team)
            {
                
client_print_color(iidmessage)
            }
        }
        else
        {
            
client_print_color(iidmessage)
        }
    }
    if(
check_command(idsaid))
    {
        return 
PLUGIN_HANDLED
    
}
    return 
PLUGIN_HANDLED_MAIN
}
check_command(idtext[])
{
    
strtolower(text)
    if(
TrieKeyExists(t_Commandtext))
    {
        new 
iPluginiFunc
        TrieGetCell
(t_CommandtextiPlugin)
        
TrieGetCell(t_Command_PlugintextiFunc)
        
callfunc_begin_i(iFunciPlugin)
        
callfunc_push_int(id)
        
callfunc_end()
        return 
1
    
}
    return 
0
}

public 
pfn_ready(id)
{
    if(
pug_state != NO_ALIVE || !(<= get_user_team(id) <= 2))
    {
        
client_print_color(id0"%s Accion no permitida en este momento"TAG)
        return
    }
    else if(
ready[id])
    {
        
client_print_color(id0"%s Ya estas listo"TAG)
        return
    }
    new 
name[32]
    
get_user_name(idnamecharsmax(name))
    
client_print_color(00"%s %s Esta Listo"TAGname)
    
ready[id] = true
    ready_count 
++
    if(
ready_count == get_pcvar_num(pcvar_max_players))
    {
        
start_vote()
    }
}
public 
pfn_unready(id)
{
    if(
pug_state != NO_ALIVE)
    {
        
client_print_color(id0"%s Accion no permitida en este momento"TAG)
        return
    }
    else if(!
ready[id])
    {
        
client_print_color(id0"%s Aun no estas listo"TAG)
        return
    }
    new 
name[32]
    
get_user_name(idnamecharsmax(name))
    
client_print_color(00"%s %s Dejo de estar Listo"TAGname)
    
ready[id] = false;
    
ready_count --
}
public 
pfn_TextMsg(meid)
{
    new 
msg[23]
    
get_msg_arg_string(2msgcharsmax(msg))
    if(
equal(msg"#Game_will_restart_in"))
    {
        if(
pug_state == ALIVE)
        {
            if(
round_knife)
            {
                
round_knife false
            
}
            
RoundRestart true
            
        
}
        return 
PLUGIN_HANDLED
    
}
    return 
PLUGIN_CONTINUE
}
public 
pfn_Hook_ChooseTeam(id_:slot)
{
    switch(
slot)
    {
        case 
1..2 
        {
            if(
captainrun || is_intermission || round_knife || round_knife_start_vote){
                
center_print(id"%s No puedes elegir equipo en este momento^n^n^n^n^n"TAG)
                
SetHookChainReturn(ATYPE_INTEGER0)
                return 
HC_BREAK
            
}
            if(
count_player(slot) >= 5)
            {
                
center_print(id"%s Este Equipo esta lleno^n^n^n^n^n"TAG)
                
SetHookChainReturn(ATYPE_INTEGER0)
                return 
HC_BREAK
            
}
            
g_iTeam[id] = slot
        
}
        case 
5:
        {
            new 
count_tcount_ct
            count_player
(5count_tcount_ct)
            if(
count_t == && count_ct == 5)
            {
                
center_print(id"%s Todos Los Equipos estan llenos^n^n^n^n^n"TAG)
                
rg_internal_cmd(id"jointeam""6")
                
SetHookChainReturn(ATYPE_INTEGER0)
                return 
HC_BREAK
            
}
            else if(
count_t count_ct)
            {
                
rg_internal_cmd(id"jointeam""2")
                
g_iTeam[id] = 2
            
}
            else if(
count_ct count_t)
            {
                
rg_internal_cmd(id"jointeam""1")
                
g_iTeam[id] = 1
            
}
            
SetHookChainReturn(ATYPE_INTEGER1)
            return 
HC_SUPERCEDE
        
}
        case 
:
        {
            if((
<= g_iTeam[id] <= 2))
            {
                
center_print(id,  "%s No puedes Entrar a espectador."TAG)
                
SetHookChainReturn(ATYPE_INTEGER1)
                return 
HC_SUPERCEDE
            
}
            
g_iTeam[id] = slot
        
}
    }
    return 
HC_CONTINUE
}
count_player(slot, &count_t=0, &count_ct=0)
{
    new 
count
    
for(new <= get_pcvar_num(pcvar_max_players); i++)
    {
        if(!
is_user_connected(i))
        {
            continue
        }
        if(
slot == 5)
        {

            if(
g_iTeam[i] == 1)
            {
                
count_t += 1
            
}
            else if(
g_iTeam[i] == 2)
            {
                
count_ct += 1
            
}
        }
        else
        {
            if(
g_iTeam[i] == slot)
            {
                
count += 1
            
}
        }
    }
    return 
count
}
stock center_print(id, const msg[], any:...)
{
    new 
arg[70]
    
vformat(argcharsmax(arg), msg3)
    if(
id == 0)
    {
        for(new 
<= iMaxPlayers z++)
        {
            if(!
is_user_connected(z))
            {
                continue
            }
            
engfunc(EngFunc_ClientPrintfz1arg)
        }
    }
    else
    { 
        
engfunc(EngFunc_ClientPrintfid1arg)
    }
}


public 
client_putinserver(id)
{
    if(
ready[id])
    {
        
ready[id] = false
        ready_count
--
    }
    
g_iFrags[id] = 0
    g_iDeaths
[id] = 0
    g_iTeam
[id] = 0
    fn_update_server_name
(id)
    if(private && 
pug_state != ALIVE)
    {
        
set_task(1.0"pfn_set_team"id 666)
    }

}
public 
pfn_set_team(id)
{
    
id -= 666
    
if(!is_user_connected(id))
    return
    static 
_c_team_sz__steam_id_put[32]
    
get_user_authid(id_sz__steam_id_putcharsmax(_sz__steam_id_put))
    if(
TrieKeyExists(g_private_sz__steam_id_put))
    {
        
TrieGetCell(g_private_sz__steam_id_put_c_team)
        if(!(
1<= _c_team <= 3))
        {
            return
        }
        if(
_c_team == 3)
        {
            
rg_join_team(idTEAM_SPECTATOR)
            return
        }
        if(
get_user_team(id) == _c_team)
        {
            return
        }
        
rg_set_user_team(id_c_team == TEAM_TERRORIST TEAM_CT)
        
ExecuteHam(Ham_CS_RoundRespawnid)
    }
}

public 
client_disconnected(id)
{
    if(
is_intermission)
    {
        return
    }
    
g_iTeam[id] = 0

    
if(ready[id])
    {
        
ready[id] = false
        ready_count
--
    }
    new 
team get_user_team(id)
    if(
pug_state == ALIVE && (<= team <= 2))
    {
        new 
count 0

        
for(new <= iMaxPlayers ;i++)
        {
            if(!
is_user_connected(i) || == id || get_user_team(i) != team)
            {
                continue
            }
            
count++
        }
        if(
count <= 2)
        {
            if(
count == 0)
            {
                
client_print_color(0print_team_red"%s Partida cancelada por ausencia de jugadores en el equipo %s"TAGteam == "Terrorista" "Anti-Terrorista")
                
start_pregame()
                return
            }

            if(
team_check_id)
            {
                return
            }
            
team_check_id team
            team_check_time 
get_systime() + 180
            client_print_color
(0print_team_grey"Esperando minimo de judadores del equipo %s"team == "Terrorista" "Anti-Terrorista")
            
client_print_color(0print_team_grey"La partida se cancelara en 3 minutos")
        }
    }
}

fn_score(id=0)
{
    if(
pug_state == NO_ALIVE)
    {
        
client_print_color(id0"%s Accion no permitida en este momento"TAG)
        return
    }
    if(
g_iRound_team[CT] == g_iRound_team[TT])
    {
        
client_print_color(00"%s La puntuacion esta empatada %i - %i"TAGg_iRound_team[CT], g_iRound_team[TT])
    }
    else
    {
        
client_print_color(00"%s %s: %i - %s: %i "TAGg_iRound_team[CT] > g_iRound_team[TT] ? "Anti-Terroristas" "Terroristas"g_iRound_team[CT] > g_iRound_team[TT] ? g_iRound_team[CT] : g_iRound_team[TT], g_iRound_team[CT] < g_iRound_team[TT] ? "Anti-Terroristas" "Terroristas"g_iRound_team[CT] < g_iRound_team[TT] ? g_iRound_team[CT] : g_iRound_team[TT] )
    }
}
public 
pfn_score(id)
{
    
fn_score(id)
}
public 
start_vote()
{
    
remove_task(TASK_HUD_READY)
    
g_vote_id 0
    next_vote
()
}
make_hud_title(msg[], any:...)
{
    new 
fmt[50]
    
vformat(fmtcharsmax(fmt), msg2)
    
set_hudmessage(02550, -1.00.001.01.1)
    
ShowSyncHudMsg(0Sync1fmt)
}
make_hud_body(msg[], any:...)
{
    new 
fmt[512]
    
vformat(fmtcharsmax(fmt), msg2)
    
set_hudmessage(255255255, -1.00.0301.01.1)
    
ShowSyncHudMsg(0Sync2fmt)
}
public 
next_vote()
{
    
remove_task(TASK_HUD_VOTE)
    
remove_task(TASK_END_VOTE)
    
g_vote_id++
    switch(
g_vote_id)
    {
        case 
:
        {
            if(
get_pcvar_num(g_pcvar_votemap) == 1)
            {
                
set_task(1.0"pfn_hud_votemap"TASK_HUD_VOTE__"b")
                
set_task(11.0"pfn_vote_map_end"TASK_END_VOTE)
                
g_vote_countdown 10
                start_vote_map
()
            }
            else
            {
                
set_pcvar_num(g_pcvar_votemap1)
                
next_vote();
            }
        }
        case 
:
        {
            
set_task(1.0"pfn_hud_vote_knife"TASK_HUD_VOTE__"b")
            
set_task(11.0"pfn_vote_knife_end"TASK_END_VOTE)
            
g_vote_countdown 10
            start_vote_knife
()
        }
        default :
        {
            
start_countdown()
        }
    }
}

start_vote_knife()
{
    
g_vote_count 0
    vote_knife 
true
    set_task
(0.1"make_vote_knife")
}
public 
make_vote_knife()
{
    
arrayset(g_votes0sizeof(g_votes))
    
g_VoteMenu menu_create("\ySorteo de Equipos""mh_mode_vote")
    
menu_additem(g_VoteMenu"Sin Cambios")
    
menu_additem(g_VoteMenu"Torneo")
    
menu_additem(g_VoteMenu"Aleatorio")
    
menu_additem(g_VoteMenu"Capitanes")

    
menu_setprop(g_VoteMenuMPROP_EXITMEXIT_ALL)
    for(new 
<= iMaxPlayers i++)
    {
        if(!
is_user_connected(i))
        {
            continue
        }
        if( 
<= get_user_team(i) <= 2)
        {
            
menu_display(ig_VoteMenu)
        }
    }
}
public 
mh_mode_vote(idmenuitem)
{
    if(
item == MENU_EXIT || !vote_knife)
    {
        return
    }
    if(
item 3)
    {
        return
    }
    
g_votes[item]++
    
g_vote_count++
    
update_knife_hud()
    if(
g_vote_count >= get_playersnum())
    {
        
remove_task(TASK_HUD_VOTE)
        
remove_task(TASK_END_VOTE)
        
pfn_vote_knife_end(TASK_END_VOTE)
    }
}
public 
pfn_vote_knife_end(task)
{
    
remove_task(task)
    new 
winner 0
    
for(new i++)
    {
        if(
g_votes[i] > g_votes[winner])
        {
            
winner i
        
}
    }

    switch(
winner){

        case 
0: {
            
EnableHamForward(PlayerSpawn)
            
next_vote()
        }
        case 
1: {
            
set_cvar_num("mp_friendlyfire"1)
            
torneo_limit true    
            round_knife 
true
            EnableHamForward
(PlayerSpawn)
            
next_vote()
        }
        case 
2: {
            
fnTeamsRandomize()
        }
        case 
3: {
            
fnCaptains()
        }
    } 
    
vote_knife false


}
public 
pfn_hud_vote_knife(task)
{
    if(
g_vote_countdown-- > 0)
    {
        
update_knife_hud()
    }
    else
    {
        
remove_task(task)
    }
}
update_knife_hud()
{
    
make_hud_title("Votacion de Equipos (%i)"g_vote_countdown)
    new 
_hud[100],c
    
for(new isizeof g_votes i++)
    {
        if(
g_votes[i] <= 0)
        {
            continue
        }
        switch(
i)
        {
            case 

            {
                
format(_hudcharsmax(_hud), "%sSin Cambios: %i voto%s^n"_hudg_votes[i], g_votes[i] > "s" "")
                
c++
            }
            case 
:
            {
                
format(_hudcharsmax(_hud), "%sModo Torneo: %i voto%s^n"_hudg_votes[i], g_votes[i] > "s" "")
                
c++
            }
            case 

            {
                
format(_hudcharsmax(_hud), "%sAleatorio: %i voto%s^n"_hudg_votes[i], g_votes[i] > "s" "")
                
c++
            }
            case 
:
            {
                
format(_hudcharsmax(_hud), "%sCapitan: %i voto%s^n"_hudg_votes[i], g_votes[i] > "s" "")
                
c++
            }
        }
    }
    if(
c>0)
    {
        
make_hud_body(_hud)
    }
    else 
    {
        
make_hud_body("No hay votos")
    }
}
public 
start_countdown()
{
    
EnableHamForward(PlayerPostink)
    
client_cmd(0"+strafe")
    
g_vote_countdown 4
    set_task
(1.0"pfn_starting_game"TASK_HUD_READY__"b")
    
pfn_starting_game(TASK_HUD_READY)
    
set_pcvar_num(g_pcvar_votemap1)

}

public 
start_pug()
{
    
server_cmd("sv_restart 1")
    for(new 
sizeof(PugStartCmds) ;i++)
    {
        
set_cvar_string(PugStartCmds[i][COMMAND], PugStartCmds[i][VALUE])
    }
    
g_iRounds 0;
    
arrayset(g_iRound_team02)
    
arrayset(g_iFrags0sizeof(g_iFrags))
    
arrayset(g_iDeaths0sizeof(g_iDeaths))
    
is_intermission false
    DisableHamForward
(DefuseKit)
}

public 
pfn_hud_votemap()
{
    if(
g_vote_countdown-- <= 0)
    {
        
g_vote_countdown 0
    
}
    
fn_update_vote_map_hud()
}
fn_update_vote_map_hud()
{
    
make_hud_title("Votacion de Mapa: (%i)"g_vote_countdown)
    new 
count
    
new hud[512]
    new 
temp
    
for(new ArraySize(g_maps) ; i++)
    {
        
        
temp g_votes[i]
        if(
temp >= 1)
        {
            
count++
            
format(hudcharsmax(hud), "%s%a: %i %s^n"hudArrayGetStringHandle(g_mapsi), temptemp "votos" "voto")
        }    
    }

    if(!
count)
    {
        
formatex(hudcharsmax(hud), "No hay votos")
    }
    
make_hud_body(hud)
}
public 
start_vote_map()
{
    
vote_map true
    g_vote_count 
0
    make_menu_votemap
()
    

}
make_menu_votemap()
{
    
g_VoteMenu menu_create("\rVotacion de Mapa""mh_vote_map")
    new 
map[32]
    new 
i
    
for(ArraySize(g_maps) ;i++)
    {
        
ArrayGetString(g_mapsimapcharsmax(map))
        
menu_additem(g_VoteMenumap)
        
arrayset(g_votes0sizeof(g_votes))
    }
    
menu_setprop(g_VoteMenuMPROP_EXITMEXIT_ALL)

    for(
<= iMaxPlayers ;i++ )
    {
        if(!
is_user_connected(i) || !( <= get_user_team(i) <= 2))
        {
            continue 
        }
        
menu_display(ig_VoteMenu, .page=0)
    }
}
public 
mh_vote_map(idmenuitem)
{
    if(!
vote_map)
    {
        return 
    }
    if(
item == MENU_EXIT)
    {
        
g_votes[0]++
        
fn_update_vote_map_hud()
        
check_votes(vote_map);
        return
    }
    
g_votes[item]++
    
g_vote_count++
    
fn_update_vote_map_hud()
    
check_votes(vote_map);
}

public 
check_votes(bool:active)
{
    if(!
active)
    {
        return
    }
    if(
g_vote_count == get_pcvar_num(pcvar_max_players))
    {
        
remove_task(TASK_HUD_VOTE)
        
remove_task(TASK_END_VOTE)
        
pfn_vote_map_end();
    }
}

public 
pfn_vote_map_end()
{
    
vote_map false
    client_cmd
(0"slot10")
    
menu_destroy(g_VoteMenu)

    new 
winnertemp
    
for(new sizeof (g_votes) ; i++)
    {
        if(
temp g_votes[i])
        {
            
temp g_votes[i]
            
winner i
        
}
    }

    if(!
winner)
    {
        
client_print_color(00"%s Se decidio %a"TAGArrayGetStringHandle(g_maps0))
        
next_vote();
    }
    else
    {
        
set_pcvar_num(g_pcvar_votemap0)
        
server_cmd("changelevel ^"%a^""ArrayGetStringHandle(g_mapswinner))
    }
}
public 
pfn_force_start_pug(id)
{
    if(!(
get_user_flags(id) & ADMIN_RCON))
    {
        
client_print_color(id0"%s No tienes acceso a este comando"TAG)
        return
    }
    else if(
pug_state != NO_ALIVE)
    {
        
client_print_color(id0"%s Accion no permitida en este momento"TAG)
        return
    }
    
start_vote()
}
public 
pfn_force_cancel(id)
{
    if(!
is_user_admin(id))
    {
        
client_print_color(id0"%s No tienes acceso a este comando"TAG)
        return
    }
    else if(
pug_state != ALIVE)
    {
        
client_print_color(id0"%s Accion no permitida en este momento"TAG)
        return
    }
    new 
name[32]
    
get_user_name(idnamecharsmax(name))
    
client_print_color(00"%s ADMIN: %s Ha cancelado la partida"TAGname)
    
start_pregame()
}
public 
pfn_forceready(id)
{
    if(!
is_user_admin(id))
    {
        
client_print_color(id0"%s No tienes acceso a este comando"TAG)
        return
    }
    else if(
pug_state != NO_ALIVE)
    {
        
client_print_color(id0"%s Accion no permitida en este momento"TAG)
        return
    }
    
fn_forceready()
    
}
fn_forceready()
{
    for(new 
i<= iMaxPlayers i++)
    {
        if(!
is_user_connected(i) || !(1<= get_user_team(i) <= 2) || ready[i])
        {
            continue
        }
        
ready[i] = true;
        
ready_count++
        if(
ready_count == get_pcvar_num(pcvar_max_players))
        {
            
start_vote()
        }
    }
}
public 
pfn_waiting_players(task)
{
    new 
pcount 0
    
for(new <= iMaxPlayers i++)
    {
        if(!
is_user_connected(i) || !(<= get_user_team(i) <= 2))
        {
            continue;
        }
        
pcount++
    }
    if(
g_vote_countdown -- > 0)
    {
        
        if(
pcount == get_pcvar_num(pcvar_max_players))
        {
            
center_print(0"Calentamiento 00:%02i^n^n^n^n"g_vote_countdown)
            if(
g_vote_countdown 5)
            {
                
client_cmd(0"spk ^"%s^""SND_COUNTER_BEEP[6])
            }
        }
        else
        {
            
center_print(0"Esperando jugadores 00:%02i^n^n^n^n"g_vote_countdown)
        }
    }
    else if(
g_vote_countdown <= && pcount == get_pcvar_num(pcvar_max_players))
    {
        
remove_task(task)
        
next_vote()
    }
    else
    {
        
set_pcvar_num(g_pcvar_votemap1)
        
remove_task(task)
        
start_pregame()
        
fn_forceready();
        
client_print_color(00"%s Partida no iniciada por la ausencia de jugadores"TAG)

    }
}
public 
pfn_starting_game(task)
{
    if(
g_vote_countdown == 1)
    {
        
start_pug()
        
pug_state COMMENCING
        
//round_knife = true
        //EnableHamForward(PlayerSpawn)
    
}

    if(
g_vote_countdown -- > 0)
    {
        
center_print(0"Empezando Partida: %i^n^n^n^n"g_vote_countdown)

    }
    else
    {

        
DisableHamForward(PlayerPostink)
        
client_cmd(0"-strafe")
        
remove_task(task)
    }
}
public 
plugin_precache()
{
    
precache_generic(SND_COUNTER_BEEP)
    
precache_generic(SND_STINGER)
    for(new 
sizeof(SND_MUSIC) ; i++)
    {
        
precache_generic(SND_MUSIC[i])
    }
}





fnTeamsRandomize()
{
    new 
iPlayers[MAX_PLAYERS],iNum;
    
get_players(iPlayers,iNum);
    
    for(new 
i;iNum;i++)
    {
        if(!(
<= get_user_team(iPlayers[i]) <= 2))
        {
            
iPlayers[i--] = iPlayers[--iNum];
        }
    }
    
    new 
iTeam random(2) ? 2;
    
    new 
iPlayer,iRandom;
    
    while(
iNum)
    {
        
iRandom random(iNum);
        
        
iPlayer iPlayers[iRandom];
        
        
rg_set_user_team(iPlayeriTeam == TEAM_TERRORIST TEAM_CT)

        
iPlayers[iRandom] = iPlayers[--iNum];
        
        
iTeam = ((_:iTeam) % 1);
    }
    
EnableHamForward(PlayerSpawn)
    
next_vote()
}

public 
fnCaptains()
{
    if(
get_playersnum() >= get_pcvar_num(pcvar_max_players)) {

        
set_task(1.0"fnCaptainHud")

        
client_print_color(00"%s Se iniciara elecion por capitanes."TAG)

        
server_cmd("sv_restart 1")
        
set_cvar_num("sv_maxspeed"0)
        
set_cvar_num("mp_forcerespawn"0)
        
set_cvar_num("mp_round_infinite"1)
        
captainrun true
        

        
new random_num(01)
        
tt random_player(1)
        
ct random_player(2)
        if(
r) {
            
make_menu_team(tt)
        }
        else
        {
            
make_menu_team(ct)
        }
    }
    else{
        
client_print_color(00"%s Son necesarios ^4%d^1 jugadores para elecion de capitanes."TAGget_pcvar_num(pcvar_max_players))
        
set_cvar_num("sv_maxspeed"320)
        
set_cvar_num("mp_round_infinite"0)
        
EnableHamForward(PlayerSpawn)
        
next_vote()
    }

}

make_menu_team(id)
{
    new 
0
    
new menu menu_create("\rSelecciona a un jugador""mh_menu")
    new 
name[32], num[3]

    new 
players[32], count
    get_players
(playerscount"e""SPECTATOR")

    for(new 
<= iMaxPlayers i++)
    {
        if(
get_user_team(i) == 3)
        {
            
get_user_name(inamecharsmax(name))
            
num_to_str(inumcharsmax(num))
            
menu_additem(menunamenum)
        }
        
c++
    }
    if(
count == 0)
    {
        
menu_destroy(menu)
        
set_cvar_num("sv_maxspeed"320)
        
set_cvar_num("mp_round_infinite"0)
        
captainrun false
        EnableHamForward
(PlayerSpawn)
        
next_vote()

        
team_voting 0
        
return PLUGIN_HANDLED

    
}
    
remove_task(TASK)
    
team_voting get_user_team(id)
    
menu_setprop(menuMPROP_EXITMEXIT_ALL)
    
menu_display(idmenu)
    
set_task(5.0"pfn_end"TASK)

    return 
PLUGIN_HANDLED

}
public 
mh_menu(idmenuitem)
{
    if(
team_voting != get_user_team(id))
    {
        
menu_destroy(menu)
        return
    }
    if(
item == MENU_EXIT)
    {
        
menu_destroy(menu)
        return
    }
    new 
num[3], a
    menu_item_getinfo
(menuitemanumcharsmax(num), ""0a)
    
menu_destroy(menu)
    new 
str_to_num(num)
    
rg_set_user_team(pget_user_team(id) == TEAM_TERRORIST TEAM_CT)
    
rg_round_respawn(p)
    
remove_task(TASK)
    switch(
team_voting)
    {
        case 

        {
            
menu_cancel(ct)
            
make_menu_team(ct)
        }
        case 

        {
            
menu_cancel(ct)
            
make_menu_team(tt)
        }
    }
}

public 
pfn_end(tid)
{
    new 
players[32], count
    get_players
(playerscount"e""SPECTATOR")
    if( 
count )
    {
        new 
players[random(count)]
        
rg_set_user_team(pteam_voting == TEAM_TERRORIST TEAM_CT)
        
rg_round_respawn(p)
    }

    switch(
team_voting)
    {
        case 

        {
            
menu_cancel(ct)
            
make_menu_team(ct)
        }
        case 

        {
            
menu_cancel(ct)
            
make_menu_team(tt)
        }
    }
}

public 
fnCaptainHud()
{
    if(
captainrunset_task(1.0"fnCaptainHud")

    new 
iPlayers[MAX_PLAYERS],iNum,iPlayer;
    
get_players(iPlayers,iNum,"h");
    
    new 
szName[MAX_NAME_LENGTH],iCTs,szList[4][320],iTeam,iSpec;

    for(new 
i;iNum;i++)
    {
        
iPlayer iPlayers[i];
        
        
get_user_name(iPlayer,szName,charsmax(szName));
        
        if((
iPlayer == tt) || (iPlayer == ct))
        {
            
add(szName,charsmax(szName)," (C)");
        }
        
        
iTeam get_user_team(iPlayer);
        
        switch(
iTeam)
        {
            case 
2iCTs++;
            case 
3iSpec++;
        }
        
        
add(szName,charsmax(szName),"^n");
        
add(szList[iTeam],charsmax(szList[]),szName);
    }
    
    for(new 
0;< (iCTs);i++)
    {
        
add(szList[2],charsmax(szList[]),"^n");
    }

    
set_hudmessage(0,255,0,0.75,0.17,0,0.0,99.0,0.0,0.0,1);
    
show_hudmessage(0,"Terrorostas");
    
    
set_hudmessage(255,255,255,0.75,0.17,0,0.0,99.0,0.0,0.0,2);
    
show_hudmessage(0,"^n%s",szList[1]);

    if(
iSpec)
    {
        
set_hudmessage(0,255,0,0.75,0.32,0,0.0,99.0,0.0,0.0,3);
        
show_hudmessage(0,"Anti-Terrorostas^n^n^n^n^n^n^nEspectadores");
        
        
set_hudmessage(255,255,255,0.75,0.32,0,0.0,99.0,0.0,0.0,4);
        
show_hudmessage(0,"^n%s^n^n%s",szList[2],szList[3]);
    }
    else
    {
        
set_hudmessage(0,255,0,0.75,0.32,0,0.0,99.0,0.0,0.0,3);
        
show_hudmessage(0,"Anti-Terrorostas");
        
        
set_hudmessage(255,255,255,0.75,0.32,0,0.0,99.0,0.0,0.0,4);
        
show_hudmessage(0,"^n%s",szList[2]);
    }
}
/* STOCK de eleccion random */
random_player(team)
{
    if(!(
<= team <= 2))
    {
        
log_error(AMX_ERR_NATIVE"[CAPITAN] Team incorrecto")
        return 
0
    
}
    new 
p[32], count
    get_players
(pcount"e"team == "TERRORIST" "CT")

    new 
p[random(count)]
    for(new 
<= iMaxPlayers i++)
    {
        if(
== || team != get_user_team(i))
        {
            continue
        }
        
client_cmd2(i"kill")
        
rg_set_user_team(iTEAM_SPECTATOR)
        
set_member(im_iJoiningState5)
    }
    return 
t
}


stock client_cmd2(idcmd[])
{
    
message_begin(id MSG_ONE MSG_ALLSVC_DIRECTOR_id id 0)
    
write_byte(strlen(cmd) + 2)
    
write_byte(10)
    
write_string(cmd)
    
message_end()

Responder
#2
por eso es una version inestable, antigua y sin soporte
Competitive/Face it Pick Up Game (PUG) servidor de prueba: 45.77.94.109:27016 Click para Entrar
[Imagen: b_350_20_5A6C3E_383F2D_D2E1B5_2E3226.png]

(14/08/2015, 10:15 PM)Sugisaki escribió: "El mundo es caotico, irracional e injusto. No tiene ningun significado"
Palabras que desde hace mucho tiempo he buscado para describir, ¿Que es el mundo?
Crab

Código PHP:
if(ayuda && free)
{
    exit();

Responder
#3
(08/09/2018, 07:47 AM)Sugisaki escribió: por eso es una version inestable, antigua y sin soporte

y cual es la version mas estable que funcione bien porfa
Responder
#4
(08/09/2018, 09:10 AM)Forever123 escribió:
(08/09/2018, 07:47 AM)Sugisaki escribió: por eso es una version inestable, antigua y sin soporte

y cual es la version mas estable que funcione bien porfa

La privada de Sugi y Flys. Trolleyes Roflmao
Responder
#5
GG    
Competitive/Face it Pick Up Game (PUG) servidor de prueba: 45.77.94.109:27016 Click para Entrar
[Imagen: b_350_20_5A6C3E_383F2D_D2E1B5_2E3226.png]

(14/08/2015, 10:15 PM)Sugisaki escribió: "El mundo es caotico, irracional e injusto. No tiene ningun significado"
Palabras que desde hace mucho tiempo he buscado para describir, ¿Que es el mundo?
Crab

Código PHP:
if(ayuda && free)
{
    exit();

Responder
#6
gg x2 :V
hahaha puto chema, en un rato veo si te la puedo fixear.
[Imagen: 76561198090851442.png]
Responder
#7
puedo agarrar este pug ya que veo que tiene lo del modo capitán ya todo incluido
La vida solo es una a si que ha disfrutarla y no desperdiciarla...
Responder
#8
(08/09/2018, 04:36 PM)kikiN escribió: puedo agarrar este pug ya que veo que tiene lo del modo capitán ya todo incluido

Es una pregunta?; porque sí lo es sos medio boludo.
Responder
#9
(08/09/2018, 05:10 PM)Chema escribió:
(08/09/2018, 04:36 PM)kikiN escribió: puedo agarrar este pug ya que veo que tiene lo del modo capitán ya todo incluido

Es una pregunta?; porque sí lo es sos medio boludo.

y que si lo estoy preguntando? boludo porque solo estoy preguntando zzzz
La vida solo es una a si que ha disfrutarla y no desperdiciarla...
Responder
#10
(08/09/2018, 05:44 PM)kikiN escribió:
(08/09/2018, 05:10 PM)Chema escribió:
(08/09/2018, 04:36 PM)kikiN escribió: puedo agarrar este pug ya que veo que tiene lo del modo capitán ya todo incluido

Es una pregunta?; porque sí lo es sos medio boludo.

y que si lo estoy preguntando? boludo porque solo estoy preguntando zzzz

Tenés el código ahí; si querés lo tomas. Roflmao
Responder
#11
Por qué no usan el automix de kiske y adaptan cosas extras?
Responder
#12
(08/09/2018, 07:26 PM)Niper.-. escribió: Por qué no usan el automix de kiske y adaptan cosas extras?

no saben acomodar un bug, mucho menos adaptar cosas Triste
[Imagen: 76561198090851442.png]
Responder
#13
(08/09/2018, 07:59 PM)PredatorFlys escribió:
(08/09/2018, 07:26 PM)Niper.-. escribió: Por qué no usan el automix de kiske y adaptan cosas extras?

no saben acomodar un bug, mucho menos adaptar cosas Triste

RT
[Imagen: b_350_20_323957_202743_f19a15_111111.png]

(18/11/2014, 05:47 PM)Neeeeeeeeeel.- escribió: Por qué necesitan una guía para todo? Meté mano y que salga lo que salga... es la mejor forma de aprender.

(16/05/2016, 11:08 PM)kikizon2 escribió: No cabe duda que tienen mierda en vez de cerebro, par de pendejos v:
Responder


Salto de foro:


Usuarios navegando en este tema: 2 invitado(s)