Правила форума Гаранты форума
Размещение рекламы AMX-X компилятор

Здравствуйте, гость Вход | Регистрация

Наши новости:

14-дек
24-апр
10-апр
11-апр

Проблема с выбором команды в Auto Join on Connect

Статус пользователя proffi666
сообщение 26.12.2015, 19:55
Сообщение #1
Стаж: 11 лет
Город: Тюмень

Сообщений: 178
Благодарностей: 13
Полезность: < 0

Есть плагин Auto Join on Connect, он автоматом перекидывает подключившихся рандомно по командам без возможности выбора. Но если перейти в spectator (плагинами например AFK менеджер или back to spec) и ввести в консоли jointeam или chooseteam то появляется выбор команды и класса, хотя они по идеи заблокированы
Код
    register_clcmd( "jointeam", "blocked" )
    register_clcmd( "chooseteam", "blocked" )

Код:
/* AMX Mod X
* Auto Join on Connect
*
* © Copyright 2007 by VEN
*
* This file is provided as is (no warranties)
*
* DESCRIPTION
* Plugin allow to players automatically join team/team&class on connect.
*
* CVARS
* ajc_team (0: OFF, N: team index, 5: auto team, default: 5) - controls team join
* ajc_class (0: OFF, N: class index, 5: auto class, default: 5) - controls class join
* ajc_imm (0: OFF, 1: ON, default: 1) - don't affect on immuned players (ON/OFF)
*
* CREDITS
* Major__ - inquiry
*/

#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_team
new g_pcvar_class
new g_pcvar_imm

new block_jointeam[33];

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")

register_clcmd( "jointeam", "blocked" )
register_clcmd( "chooseteam", "blocked" )
}

public blocked(id)
return block_jointeam[id] ? PLUGIN_HANDLED : PLUGIN_CONTINUE;

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)
}

stock force_team_join(id, menu_msgid, /* const */ team[] = "5", /* const */ class[] = "0") {
static jointeam[] = "jointeam"
if (class[0] == '0') {
engclient_cmd(id, jointeam, team)
return
}

static msg_block, joinclass[] = "joinclass"
msg_block = get_msg_block(menu_msgid)
set_msg_block(menu_msgid, BLOCK_SET)
engclient_cmd(id, jointeam, team)
engclient_cmd(id, joinclass, class)
set_msg_block(menu_msgid, msg_block)

block_jointeam[id] = true
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя iser
сообщение 26.12.2015, 20:43
Сообщение #2
Стаж: 10 лет

Сообщений: 57
Благодарностей: 2
Полезность: < 0

Попробуй плагин пред ними поставить и должен блокать
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя proffi666
сообщение 28.1.2016, 14:13
Сообщение #3
Стаж: 11 лет
Город: Тюмень

Сообщений: 178
Благодарностей: 13
Полезность: < 0

Цитата(iser @ 26.12.2015, 21:38) *
Попробуй плагин пред ними поставить и должен блокать

Всмысле перед ними?Не понел
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя IAMHARD
сообщение 28.1.2016, 14:25
Сообщение #4
Стаж: 11 лет

Сообщений: 194
Благодарностей: 57
Полезность: 234

proffi666, в plugins.ini поставь выше по списку
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя proffi666
сообщение 4.2.2016, 7:14
Сообщение #5
Стаж: 11 лет
Город: Тюмень

Сообщений: 178
Благодарностей: 13
Полезность: < 0

Мне все сделали, спасибо )
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя shram47
сообщение 4.2.2016, 16:07
Сообщение #6


Стаж: 10 лет
Город: Москва

Сообщений: 222
Благодарностей: 68
Полезность: 173

Цитата(proffi666 @ 4.2.2016, 9:09) *
Мне все сделали, спасибо )

ну так расскажи как?
Ато как задавать вопросы так все горазды... А решение?


Enough to hope for someone's help, I will do it myself and I will not ask anyone. I cope with children and can cope with amxx :thank_you:
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: