06/01/2022, 11:27 PM
lo que hace este plugin es bloquear el comando joinclass y los menues, y te setea un model random (joinclass 5)
se puede cambiar de equipo normalmente mediante el menu, solo que bloquea el segundo menu y te setea la clase aleatorea
solia usarlo en un servidor con fast respawn porque si te quedabas en este menu sin elegir la clase no revivias
a mi me funcionaba bien, es un plugin viejo pero cualquier problema me avisan, posteo porque quizas a alguien le sirva
se puede cambiar de equipo normalmente mediante el menu, solo que bloquea el segundo menu y te setea la clase aleatorea
solia usarlo en un servidor con fast respawn porque si te quedabas en este menu sin elegir la clase no revivias
a mi me funcionaba bien, es un plugin viejo pero cualquier problema me avisan, posteo porque quizas a alguien le sirva
Código:
#include <amxmodx>
public plugin_init()
{
register_plugin("Auto Joinclass", "1.0", "Nelo")
register_clcmd("joinclass", "block")
register_clcmd("jointeam", "hook_jt")
register_menucmd(register_menuid("Team_Select", 1), (1<<0)|(1<<1)|(1<<2)|(1<<4)|(1<<5), "TeamSelect")
register_message(get_user_msgid("TextMsg"), "block_msg")
}
public block(id)
return PLUGIN_HANDLED
public hook_jt(id)
{
new Team[10]
read_argv(1, Team, charsmax(Team))
set_msg_block(get_user_msgid("VGUIMenu"), BLOCK_ONCE)
set_msg_block(get_user_msgid("ShowMenu"), BLOCK_ONCE)
engclient_cmd(id, "jointeam", Team)
set_task(0.01, "force_joinclass", id)
set_msg_block(get_user_msgid("VGUIMenu"), BLOCK_NOT)
set_msg_block(get_user_msgid("ShowMenu"), BLOCK_NOT)
return PLUGIN_HANDLED
}
public TeamSelect(id, key)
{
set_msg_block(get_user_msgid("ShowMenu"), BLOCK_ONCE)
switch(key)
{
case 0:
{
engclient_cmd(id, "jointeam", "1")
set_task(0.01, "force_joinclass", id)
}
case 1:
{
engclient_cmd(id, "jointeam", "2")
set_task(0.01, "force_joinclass", id)
}
case 2:
{
engclient_cmd(id, "jointeam", "3") // vip
}
case 4:
{
engclient_cmd(id, "jointeam", "5")
set_task(0.01, "force_joinclass", id)
}
case 5:
{
engclient_cmd(id, "jointeam", "6") // spec
}
}
set_msg_block(get_user_msgid("ShowMenu"), BLOCK_NOT)
return PLUGIN_HANDLED
}
public block_msg(id, dest, entity)
{
new blockmsg[32]
get_msg_arg_string(2, blockmsg, charsmax(blockmsg))
if(equal(blockmsg, "#Command_Not_Available"))
return PLUGIN_HANDLED
return PLUGIN_CONTINUE
}
public force_joinclass(id)
engclient_cmd(id, "joinclass", "5")
Aportes: