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

[AYUDA] Sigue saliendo el menu


  
 
 
Thread Tools Display Modes
Author Message
twiister
Senior Member
Join Date: Mar 2013
Location: Argentina
Old 08-25-2013 , 11:40   [AYUDA] Sigue saliendo el menu
#1

Hola nuevamente, bueno estuve probando este plugin y anda bn, pero cuando cada capitan elije a sus 4 jugadores sigue saliendo el menu para elegir players .. osea puede elejir infinidades de veces.
Alguien sabe como se puede arreglar? Gracias!!

PHP Code:
// Official post: http://forums.alliedmods.net/showthread.php?t=154943


#include <amxmodx>
#include <cstrike>
#include <hamsandwich>
#include <fun>
#include <fakemeta>

#define PLUGIN "Mix Selection"
#define VERSION "1.0"
#define AUTHOR "Neeeeeeeeeel.-"

// Original idea: Marcelo12
// Player list by meTaLiCroSS
// Thanks shinoda for the loop to open the menu to the other capitan
// Thanks lucas_7_94, some fixs and cvar to show servers running this plugin

// Vars
new CapitanCT[33], CapitanTT[33], MS_tag[20], SelectionON
RoundKnifeCTsCountTTsCountg_iMaxplayersg_iMsgMoney

// Pcvars
new cvar_tagcvar_ms_enabledcvar_MinPlayers

public plugin_init() 
{
    
register_plugin(PLUGINVERSIONAUTHOR)

    
register_clcmd("say /cut""sayCut")
    
register_clcmd("say /public""sayPublic")
    
register_clcmd("say /cortar""sayCut")
    
register_clcmd("say /publico""sayPublic")
    
    
register_concmd("jointeam""BlockFuction")
    
    
register_dictionary("MixSelection.txt")
    
    
register_event"Money""EventMoney""b" )
    
    
RegisterHam(Ham_Spawn"player""fw_playerspawn"1)
    
RegisterHam(Ham_Killed"player""fw_PlayerKilled")
    
    
register_cvar("MixSelection 1.0" AUTHOR FCVAR_SERVER FCVAR_PROTECTED)
    
    
cvar_tag register_cvar("ms_tag""MixSelection")
    
cvar_ms_enabled register_cvar("ms_enable""1")
    
cvar_MinPlayers register_cvar("ms_min_players""10")
    
    
get_pcvar_string(cvar_tagMS_tagcharsmax(MS_tag))
    
    
g_iMaxplayers get_maxplayers()
    
g_iMsgMoney get_user_msgid("Money")
}

public 
sayPublic(id)
{
    if(!
SelectionON)
    {
        
ChatColor(id"!g[%s] !y%L"MS_tagLANG_PLAYER"MS_ALREADYPUBLIC")
        return 
PLUGIN_HANDLED
    
}
    
    if(
get_user_flags(id) & ADMIN_KICK)
    {
        new 
players[32], pnumtempid
        
        get_players
(playerspnum)
        
        for( new 
ii<pnumi++ )
        {
            
tempid players[i]
            
CapitanCT[tempid] = false
            CapitanTT
[tempid] = false
        
}
        
        
RoundKnife 0
        SelectionON 
0
        server_cmd
("sv_restart 1")
        
        
ChatColor(0"!g[%s] !y%L"MS_tagLANG_PLAYER"MS_PUBLIC")
    }
    
    else
    {
        
ChatColor(id"!g[%s] !y%L"MS_tagLANG_PLAYER"MS_NOT_ACCES")
        return 
PLUGIN_HANDLED
    
}
    
    return 
PLUGIN_HANDLED    
}

public 
sayCut(id)
{    
    if(!
get_pcvar_num(cvar_ms_enabled))
    {
        
ChatColor(id"!g[%s] !y%s %L"MS_tagPLUGINLANG_PLAYER"MS_NOT_ENABLED")
        return 
PLUGIN_HANDLED
    
}
    
    new 
PlayersON
    
    
for(new 1<= g_iMaxplayersi++)
    {
        if(
is_user_connected(i))
        
PlayersON++
    }
    
    if(
PlayersON get_pcvar_num(cvar_MinPlayers))
    {
        
ChatColor(id"!g[%s] !y%L"MS_tagLANG_PLAYER"MS_MIN_PLAYERS"get_pcvar_num(cvar_MinPlayers))
        return 
PLUGIN_HANDLED
    
}
    
    if(
get_user_flags(id) & ADMIN_KICK)
    {
        if(
SelectionON)
        {
            
ChatColor(id"!g[%s] !y%L"MS_tagLANG_PLAYER"MS_ALREADYON"PLUGINVERSION)
            return 
PLUGIN_HANDLED
        
}
        
        new 
players[32], num
        get_players
(playersnum)
        
        new 
player
        
for(new 0numi++)
        {
            
player players[i]
                
            
user_kill(player1)
            
cs_set_user_team(playerCS_TEAM_SPECTATOR)
        }
        
        
ChatColor(0"!g[%s] !y%L"MS_tagLANG_PLAYER"MS_SELECT_CAPITAN")
        
        
set_task(3.0"menuCapCT"id)
        
SelectionON 1
    
}
    
    else
    {
        
ChatColor(id"!g[%s] !y%L"MS_tagLANG_PLAYER"MS_NOT_ACCES")
        return 
PLUGIN_HANDLED
    
}
    
    return 
PLUGIN_HANDLED
}

public 
client_putinserver(id)
{
    if(
SelectionON)
        
set_task(5.0"TranferSpect"id)
        
    
CapitanCT[id] = false
    CapitanTT
[id] = false
    
    set_task
(4.0"WelcomeMessage"id)
}

public 
TranferSpect(id)
{
    
user_kill(id1)
    
cs_set_user_team(idCS_TEAM_SPECTATOR)
}

public 
WelcomeMessage(id)
    
ChatColor(id"!g[%s] !y%L"MS_tagLANG_PLAYER"MS_WELCOME"PLUGINAUTHOR)

public 
menuCapCT(id)
{
    new 
data[128], players[32], pnumtempidszName[33], szTempid[10]
    
    
formatex(datacharsmax(data), "\y%s^n\wVersion: \r%s^n^n\w%L"PLUGINVERSIONLANG_PLAYER"MS_SELECT_CAP_CT")
    new 
Menu menu_create(data"Show_CapCT")
    
    
get_players(playerspnum)
    
    for( new 
ii<pnumi++ )
    {
        
tempid players[i]
        
        
get_user_name(tempidszNamecharsmax(szName))
        
num_to_str(tempidszTempidcharsmax(szTempid))
        
menu_additem(MenuszNameszTempid0)
    }
    
    
formatex(datacharsmax(data), "%L"LANG_PLAYER"MS_NEXT_PAGE")
    
menu_setprop(Menu,MPROP_NEXTNAMEdata)
    
    
formatex(datacharsmax(data), "%L"LANG_PLAYER"MS_BACK_PAGE")
    
menu_setprop(Menu,MPROP_BACKNAMEdata)
    
    
formatex(datacharsmax(data), "%L"LANG_PLAYER"MS_EXIT")
    
menu_setprop(Menu,MPROP_EXITNAMEdata)
    
menu_display(idMenu0)
}

public 
Show_CapCT(idMenuitem)
{
    new 
data[6], iName[64]
    new 
accesscallback
    menu_item_getinfo
(Menuitemaccessdata,5iName63callback)
    
    new 
tempid str_to_num(data)

    
    
cs_set_user_team(tempidCS_TEAM_CT)
    
CapitanCT[tempid] = true
    ChatColor
(0"!g[%s] !team%s %L"MS_tagiNameLANG_PLAYER"MS_CAPCT_SELECTED")
    
menuCapTT(id)
    
    
menu_destroy(Menu)
    return 
PLUGIN_HANDLED
}

public 
menuCapTT(id)
{
    new 
data[128], players[32], pnumtempidszName[33], szTempid[10]
    
    
formatex(datacharsmax(data), "\y%s^n\wVersion: \r%s^n^n\w%L"PLUGINVERSIONLANG_PLAYER"MS_SELECT_CAP_TT")
    new 
Menu menu_create(data"Show_CapTT")
    
    
get_players(playerspnum)
    
    for( new 
ii<pnumi++ )
    {
        
tempid players[i]
        
        if(!
CapitanCT[tempid])
        {
            
get_user_name(tempidszNamecharsmax(szName))    
            
num_to_str(tempidszTempidcharsmax(szTempid))
            
menu_additem(MenuszNameszTempid0)
        }
    }
    
    
formatex(datacharsmax(data), "%L"LANG_PLAYER"MS_NEXT_PAGE")
    
menu_setprop(Menu,MPROP_NEXTNAMEdata)
    
    
formatex(datacharsmax(data), "%L"LANG_PLAYER"MS_BACK_PAGE")
    
menu_setprop(Menu,MPROP_BACKNAMEdata)
    
    
formatex(datacharsmax(data), "%L"LANG_PLAYER"MS_EXIT")
    
menu_setprop(Menu,MPROP_EXITNAMEdata)
    
menu_display(idMenu0)
}

public 
Show_CapTT(idMenuitem)
{
    new 
data[6], iName[64]
    new 
accesscallback
    menu_item_getinfo
(Menuitemaccessdata,5iName63callback)
    
    new 
tempid str_to_num(data)
    new 
uName[33]
    
get_user_name(tempiduNamecharsmax(uName))
    
    if(
cs_get_user_team(tempid) == CS_TEAM_CT)
    {
        
ChatColor(id"!g[%s] !team%s %L"MS_taguNameLANG_PLAYER"MS_SELECT_OTHER")
        
menuCapTT(id)
    }
    
    else
    {
        
cs_set_user_team(tempidCS_TEAM_T)
        
CapitanTT[tempid] = true
        ChatColor
(0"!g[%s] !team%s %L"MS_taguNameLANG_PLAYER"MS_CAPTT_SELECTED")
        
server_cmd("sv_restart 5")
        
set_task(4.0"StartRoundKnife")
    }
    
    
menu_destroy(Menu)
    return 
PLUGIN_HANDLED
}

public 
StartRoundKnife()
{
    
ChatColor(0"!g[%s] !y%L"MS_tagLANG_PLAYER"MS_KNIFE_START")
    
RoundKnife 1
}

public 
fw_playerspawn(id)
{
    if(
RoundKnife && is_user_alive(id))
    {
        
fm_strip_user_weapons(id)
        
give_item(id"weapon_knife")
    }
}

public 
EventMoney(id
{
    if(
RoundKnife && is_user_alive(id)) 
    {
        
set_pdata_int(id1150)
        
message_beginMSG_ONE_UNRELIABLEg_iMsgMoney_id )
        
write_long (0)
        
write_byte (1)
        
message_end()
    }
}

public 
fw_PlayerKilled(victimattackershouldgib)
{
    if(
RoundKnife && is_user_alive(attacker))
    {
        new 
CapitanAttacker get_user_team(attacker)
        new 
CapitanVictim get_user_team(victim)
        
        new 
atName[33]
        
get_user_name(attackeratNamecharsmax(atName))
        
        if(
CapitanAttacker == && CapitanVictim == 1)
        {
            
ChatColor(0"!g[%s] !team%s %L"MS_tagatNameLANG_PLAYER"MS_CAPCT_WIN")
            
set_task(5.0"SelectCT"attacker)
        }
        
        else if(
CapitanAttacker == && CapitanVictim == 2)
        {
            
ChatColor(0"!g[%s] !team%s %L"MS_tagatNameLANG_PLAYER"MS_CAPTT_WIN")
            
set_task(5.0"SelectTT"attacker)
        }
        
        
RoundKnife 0
    
}
}

public 
SelectTT(id)
{
    new 
data[128], players[32], pnumtempidszName[33], szTempid[10]
    
    
formatex(datacharsmax(data), "\y%s^n\wVersion: \r%s^n^n\w%L"PLUGINVERSIONLANG_PLAYER"MS_SELECT_TEAMMATES")
    new 
Menu menu_create(data"Show_PlayersTT")
    
    
get_players(playerspnum)
    
    for( new 
ii<pnumi++ )
    {
        
tempid players[i]
        
        if(
get_user_team(tempid) == 3)
        {
            
get_user_name(tempidszNamecharsmax(szName))
            
num_to_str(tempidszTempidcharsmax(szTempid))
            
menu_additem(MenuszNameszTempid0)
        }
    }
    
    
formatex(datacharsmax(data), "%L"LANG_PLAYER"MS_NEXT_PAGE")
    
menu_setprop(Menu,MPROP_NEXTNAMEdata)
    
    
formatex(datacharsmax(data), "%L"LANG_PLAYER"MS_BACK_PAGE")
    
menu_setprop(Menu,MPROP_BACKNAMEdata)
    
    
formatex(datacharsmax(data), "%L"LANG_PLAYER"MS_EXIT")
    
menu_setprop(Menu,MPROP_EXITNAMEdata)
    
menu_display(idMenu0)
}

public 
Show_PlayersTT(idMenuitem)
{
    new 
data[6], iName[64]
    new 
iaccesscallback
    menu_item_getinfo
(Menuitemiaccessdata,5iName63callback)
    
    new 
tempid str_to_num(data)
    new 
uName[33]
    
get_user_name(tempiduNamecharsmax(uName))
    
    
    if(
CapitanTT[id])
    {
        
cs_set_user_team(tempidCS_TEAM_T)
        
ChatColor(0"!g[%s] !team%s %L"MS_taguNameLANG_PLAYER"MS_TT_SELECTED")
        
TTsCount++
        
        for(new 
i=1i<=g_iMaxplayersi++)
        {
            if(
CapitanCT[i])
            {
                if((
CTsCount TTsCount) < 10)
                {
                    
SelectCT(i)
                    break
                }
            }
        }
    }
    
    
SelectionFinish()
        
    
    
menu_destroy(Menu)
    return 
PLUGIN_HANDLED
}

public 
SelectCT(id)
{
    new 
data[128], players[32], pnumtempidszName[33], szTempid[10]
    
    
formatex(datacharsmax(data), "\y%s^n\wVersion: \r%s^n^n\w%L"PLUGINVERSIONLANG_PLAYER"MS_SELECT_TEAMMATES")
    new 
Menu menu_create(data"Show_PlayersCT")
    
    
get_players(playerspnum)
    
    for( new 
ii<pnumi++ )
    {
        
tempid players[i]
        
        if(
get_user_team(tempid) == 3)
        {
            
get_user_name(tempidszNamecharsmax(szName))
            
num_to_str(tempidszTempidcharsmax(szTempid))
            
menu_additem(MenuszNameszTempid0)
        }
    }
    
    
formatex(datacharsmax(data), "%L"LANG_PLAYER"MS_NEXT_PAGE")
    
menu_setprop(Menu,MPROP_NEXTNAMEdata)
    
    
formatex(datacharsmax(data), "%L"LANG_PLAYER"MS_BACK_PAGE")
    
menu_setprop(Menu,MPROP_BACKNAMEdata)
    
    
formatex(datacharsmax(data), "%L"LANG_PLAYER"MS_EXIT")
    
menu_setprop(Menu,MPROP_EXITNAMEdata)
    
menu_display(idMenu0)
}

public 
Show_PlayersCT(idMenuitem)
{
    new 
data[6], iName[64]
    new 
accesscallback
    menu_item_getinfo
(Menuitemaccessdata,5iName63callback)
    
    new 
tempid str_to_num(data)
    new 
uName[33]
    
get_user_name(tempiduNamecharsmax(uName))
    
    if(
CapitanCT[id])
    {
        
cs_set_user_team(tempidCS_TEAM_CT)
        
ChatColor(0"!g[%s] !team%s %L"MS_taguNameLANG_PLAYER"MS_CT_SELECTED")
        
CTsCount++
        
        for(new 
i=1i<=g_iMaxplayersi++)
        {
            if( 
CapitanTT[i] )
            {
                if((
CTsCount TTsCount) < 10)
                {
                    
SelectCT(i)
                    break
                }
            }
        }
    }
    
    
SelectionFinish()
        
    
    
menu_destroy(Menu)
    return 
PLUGIN_HANDLED
}

public 
SelectionFinish()
{
    if((
CTsCount TTsCount) == 8)
    {
        
ChatColor(0"!g[%s] %L"MS_tagLANG_PLAYER"MS_END")
        
SelectionON 0
        server_cmd
("sv_restart 5")
    }
}

public 
BlockFuction(id)
{
    if(
cs_get_user_team(id) == CS_TEAM_SPECTATOR && SelectionON)
    {
        
cs_set_user_team(idCS_TEAM_SPECTATOR)
        return 
PLUGIN_HANDLED
    
}
    
    return 
PLUGIN_CONTINUE
}

stock fm_strip_user_weapons(id)
{
    static 
ent
    ent 
engfunc(EngFunc_CreateNamedEntityengfunc(EngFunc_AllocString"player_weaponstrip"))
    if (!
pev_valid(ent)) return;
    
    
dllfunc(DLLFunc_Spawnent)
    
dllfunc(DLLFunc_Useentid)
    
engfunc(EngFunc_RemoveEntityent)
}

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
    
replace_all(msg190"!team2""^0"// Team2 Color
    
    
if (idplayers[0] = id; else get_players(playerscount"ch")
    {
        for (new 
0counti++)
        {
            if (
is_user_connected(players[i]))
            {
                
message_begin(MSG_ONE_UNRELIABLEget_user_msgid("SayText"), _players[i])
                
write_byte(players[i]);
                
write_string(msg);
                
message_end();
            }
        }
    }
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang2058\\ f0\\ fs16 \n\\ par }
*/ 
twiister is offline
Winchester90
Senior Member
Join Date: May 2013
Location: Dale! RG4L Baby
Old 08-25-2013 , 12:09   Re: [AYUDA] Sigue saliendo el menu
#2

Facil.. Haz un count del maximo de jugadores que puede seleccionar y remueve el menu.
__________________
Proyectos No comercio XD
Zombie Resurection 1.0 (45%)
Winchester90 is offline
twiister
Senior Member
Join Date: Mar 2013
Location: Argentina
Old 08-25-2013 , 12:38   Re: [AYUDA] Sigue saliendo el menu
#3

Y como seria?? xq no se mucho..

PHP Code:
if((CTsCount TTsCount) < 10
Esto qe seria?
twiister is offline
Winchester90
Senior Member
Join Date: May 2013
Location: Dale! RG4L Baby
Old 08-25-2013 , 12:47   Re: [AYUDA] Sigue saliendo el menu
#4

Code:
if((CTsCount + TTsCount) < 4)

Cambialo por eso y prueba
__________________
Proyectos No comercio XD
Zombie Resurection 1.0 (45%)
Winchester90 is offline
twiister
Senior Member
Join Date: Mar 2013
Location: Argentina
Old 08-25-2013 , 12:52   Re: [AYUDA] Sigue saliendo el menu
#5

No pasa nada.. me sigue saliendo el menu. Como hago para remover el menu?

Last edited by twiister; 08-25-2013 at 13:04.
twiister is offline
 



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 12:26.


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