Messages perdarymas į komandą

Šiame forume rašomi vartotojų klausimai/problemos su kuriomis jie susidūrė kuriant pluginus.
Post Reply
User avatar
xFrostas
Flooderis arba specialistas
Posts: 660
Joined: 2010 Sep 02 15:47
Skype: frost.lt

Messages perdarymas į komandą

Post by xFrostas »

Ar įmanoma pvz, parašius /join įvykdytų force_team_join (stock) kuris yra žemiau? Šiaip pats mokėčiau, bet kaip daryti su g_MsgId nežinau.
Nes taip jis būna per messages va kodas

Code: Select all

#include <amxmodx> #define PLUGIN_NAME "Auto Join on Connect"#define PLUGIN_VERSION "0.1"#define PLUGIN_AUTHOR "VEN" #define IMMUNITY_ACCESS_LEVEL ADMIN_IMMUNITY #define AUTO_TEAM_JOIN_DELAY 0.1 #define TEAM_SELECT_VGUI_MENU_ID 2 new g_pcvar_teamnew g_pcvar_classnew g_pcvar_imm public plugin_init() {    register_plugin(PLUGIN_NAME, PLUGIN_VERSION, PLUGIN_AUTHOR)     register_message(get_user_msgid("ShowMenu"), "message_show_menu")    register_message(get_user_msgid("VGUIMenu"), "message_vgui_menu")     g_pcvar_team = register_cvar("ajc_team", "5")    g_pcvar_class = register_cvar("ajc_class", "5")    g_pcvar_imm = register_cvar("ajc_imm", "1")} public message_show_menu(msgid, dest, id) {    if (!should_autojoin(id))        return PLUGIN_CONTINUE     static team_select[] = "#Team_Select"    static menu_text_code[sizeof team_select]    get_msg_arg_string(4, menu_text_code, sizeof menu_text_code - 1)    if (!equal(menu_text_code, team_select))        return PLUGIN_CONTINUE     set_force_team_join_task(id, msgid)     return PLUGIN_HANDLED} public message_vgui_menu(msgid, dest, id) {    if (get_msg_arg_int(1) != TEAM_SELECT_VGUI_MENU_ID || !should_autojoin(id))        return PLUGIN_CONTINUE     set_force_team_join_task(id, msgid)     return PLUGIN_HANDLED} bool:should_autojoin(id) {    return (get_pcvar_num(g_pcvar_team) && !get_user_team(id) && !task_exists(id) && (!get_pcvar_num(g_pcvar_imm) || !(get_user_flags(id) & IMMUNITY_ACCESS_LEVEL)))} set_force_team_join_task(id, menu_msgid) {    static param_menu_msgid[2]    param_menu_msgid[0] = menu_msgid    set_task(AUTO_TEAM_JOIN_DELAY, "task_force_team_join", id, param_menu_msgid, sizeof param_menu_msgid)} public task_force_team_join(menu_msgid[], id) {    if (get_user_team(id))        return     static team[2], class[2]    get_pcvar_string(g_pcvar_team, team, sizeof team - 1)    get_pcvar_string(g_pcvar_class, class, sizeof class - 1)    force_team_join(id, menu_msgid[0], team, class)}
Čia stock'as

Code: Select all

 stock force_team_join(index, g_MsgId, team [] = "5", class [] = "0"){    static MsgBlock    static JoinTeam [] = "jointeam"    static JoinClass [] = "joinclass"        MsgBlock = get_msg_block(g_MsgId)        set_msg_block(g_MsgId, BLOCK_SET)        engclient_cmd(index, JoinTeam, team)    engclient_cmd(index, JoinClass, class)        set_msg_block(g_MsgId, MsgBlock)}   

alfre
Gana aktyvus vartotojas
Posts: 259
Joined: 2011 May 13 14:01
Skype: alfredasxl996
Contact:

Re: Messages perdarymas į komandą

Post by alfre »

set_force_team_join_task(id, msgid)
 
set_force_team_join_task(id, menu_msgid) {
    static param_menu_msgid[2]
    param_menu_msgid[0] = menu_msgid
    set_task(AUTO_TEAM_JOIN_DELAY, "task_force_team_join", id, param_menu_msgid, sizeof param_menu_msgid)
}
public task_force_team_join(menu_msgid[], id) {
    if (get_user_team(id))
        return
 
    static team[2], class[2]
    get_pcvar_string(g_pcvar_team, team, sizeof team - 1)
    get_pcvar_string(g_pcvar_class, class, sizeof class - 1)
    force_team_join(id, menu_msgid[0], team, class)
}
stock force_team_join(index, g_MsgId, team [] = "5", class [] = "0")
{
    static MsgBlock
    static JoinTeam [] = "jointeam"
    static JoinClass [] = "joinclass"
   
    MsgBlock = get_msg_block(g_MsgId)
   
    set_msg_block(g_MsgId, BLOCK_SET)
   
    engclient_cmd(index, JoinTeam, team)
    engclient_cmd(index, JoinClass, class)
   
    set_msg_block(g_MsgId, MsgBlock)
}
register_message(get_user_msgid("ShowMenu"), "message_show_menu")
register_message(get_user_msgid("VGUIMenu"), "message_vgui_menu")
cia tik uzregistruoja ShowMenu arba VGUIMenu

User avatar
xFrostas
Flooderis arba specialistas
Posts: 660
Joined: 2010 Sep 02 15:47
Skype: frost.lt

Re: Messages perdarymas į komandą

Post by xFrostas »

nesupratau ką tu norėjai tuo pasakyti

Edit: Tai man reikia, kad tas join įvyktų po komandos parašymo, tarkim /join.

Code: Select all

register_clcmd("say /join", "PlayerJoin") public PlayerJoin(id){/// ką čia rašyti?}

alfre
Gana aktyvus vartotojas
Posts: 259
Joined: 2011 May 13 14:01
Skype: alfredasxl996
Contact:

Re: Messages perdarymas į komandą

Post by alfre »

tu nesupratai kas yra g_MsgId,tai as tau paaiskinau.3 metus jau skriptini,ir nukopijuoti nesugebi?

User avatar
xFrostas
Flooderis arba specialistas
Posts: 660
Joined: 2010 Sep 02 15:47
Skype: frost.lt

Re: Messages perdarymas į komandą

Post by xFrostas »

Tai tu nesupranti, kad jei nukopijuosiu į komandą /join, man rodys klaidą 'invalid message id' kai rašysiu /join

alfre
Gana aktyvus vartotojas
Posts: 259
Joined: 2011 May 13 14:01
Skype: alfredasxl996
Contact:

Re: Messages perdarymas į komandą

Post by alfre »

o tai kodel tau butinai reikia su tuo msg?galima ir be jo padaryt.
tiksliau, ka tu nori padaryt?

User avatar
xFrostas
Flooderis arba specialistas
Posts: 660
Joined: 2010 Sep 02 15:47
Skype: frost.lt

Re: Messages perdarymas į komandą

Post by xFrostas »

Kad prisijungus žaidėjui jam nerodytų jokių 'choose team' motd o kai parašo /join įmeta į betkurią komandą

alfre
Gana aktyvus vartotojas
Posts: 259
Joined: 2011 May 13 14:01
Skype: alfredasxl996
Contact:

Re: Messages perdarymas į komandą

Post by alfre »

tai pabandyk be g_MsgId.

User avatar
xFrostas
Flooderis arba specialistas
Posts: 660
Joined: 2010 Sep 02 15:47
Skype: frost.lt

Re: Messages perdarymas į komandą

Post by xFrostas »

Be msgid man neblokuos...

Code: Select all

    MsgBlock = get_msg_block(g_MsgId)       set_msg_block(g_MsgId, BLOCK_SET)       engclient_cmd(index, JoinTeam, team)    engclient_cmd(index, JoinClass, class)       set_msg_block(g_MsgId, MsgBlock)

Post Reply

Who is online

Users browsing this forum: Amazon [Bot] and 4 guests