Team Select Menu - Run time error

Статус
В этой теме нельзя размещать новые ответы.
Сообщения
2,143
Реакции
1,223
Помог
44 раз(а)
Код:
if(!is_user_connected(index)) return PLUGIN_HANDLED;
Код:
#define PLUGIN_HANDLED      1   /* stop other plugins */
Почему return PLUGIN_HANDLED при такой проверке?
С таким кодом это равноценно этому:
Код:
if(!is_user_connected(index)) return HC_SUPERCEDE;
Почему не используешь варианты ниже?
Код:
// hookchain return type
enum
{
    HC_CONTINUE = 0, // Plugin didn't take any action
    HC_SUPERCEDE,    // Skip real function, use my return value
    HC_BREAK         // Skip all forwards and real function, use my return value
                     // @note Warning: Be very careful, using this type of return will skip calls for all following AMXX plugins
};
Там регистрация команды, а не хука, и ты предлагаешь делать возврат с помощью ReAPI? Забавно.
 
Сообщения
1,419
Реакции
2,509
Помог
59 раз(а)
Minni, регистрация команды chooseteam/jointeam использует функцию ClCmdChooseTeam(). Я же, написал про два хука, в которых используется return PLUGIN_HANDLED и return PLUGIN_CONTINUE.
 
Сообщения
957
Реакции
1,185
Помог
52 раз(а)
w0w, суперсидить в тех местах не вариант, ибо перезаписи не производится. Будет вываливаться ошибка.
 
Сообщения
1,419
Реакции
2,509
Помог
59 раз(а)
Sonyx, по этому я и написал, почему используется return PLUGIN_HANDLED который равноценен return HC_SUPERCEDE и return PLUGIN_CONTINUE вместо return HC_CONTINUE (разницы конечно нет во втором случае так как оба имеют значение 0, но так правильнее будет).
 
Сообщения
2,491
Реакции
2,791
Помог
61 раз(а)
RegisterHookChain(RG_HandleMenu_ChooseTeam, "HandleMenu_ChooseTeamPre", true);
1. Это пост а не пре хук
2. в хуках HC_CONTINUE а не PLUGIN_CONTINUE
engclient_cmd(index, "joinclass", "5");
3. зачем после того как пользователь выбрал команду и ему отобразилось меню выбора класса, без блока имитировать выбор класа
engclient_cmd(index, "jointeam", "6");
4. он и так спектр теперь. Зачем ему еще раз делать джойнтим
 
Сообщения
1,017
Реакции
819
Помог
10 раз(а)
1. Это пост а не пре хук
при false меню выбора класса не отображается и, как следствие, игрок не может зайти за команду(остается в невесомости)
2. в хуках HC_CONTINUE а не PLUGIN_CONTINUE
как я сказал выше, я уже пробовал разные вариации(конечный вариант оставил уже от безысходности, до этого был CONTINUE)
3. зачем после того как пользователь выбрал команду и ему отобразилось меню выбора класса, без блока имитировать выбор класа
не зайдет он за команду пока не выберет класс игрока(повторю, мне необходим рандом класса без возможности выбора игроку - вручную)
4. он и так спектр теперь. Зачем ему еще раз делать джойнтим
а для того, что он не зайдет в спектр пока живой, поэтому необходимо его убить а затем повторно с эмитировать выбор команды, иначе он туда не попадает.
 
Сообщения
2,143
Реакции
1,223
Помог
44 раз(а)
при false меню выбора класса не отображается и, как следствие, игрок не может зайти за команду(остается в невесомости)
Он имел ввиду:
Код:
-RegisterHookChain(RG_HandleMenu_ChooseTeam, "HandleMenu_ChooseTeamPre", true);
+RegisterHookChain(RG_HandleMenu_ChooseTeam, "HandleMenu_ChooseTeamPost", true);
 
Сообщения
1,017
Реакции
819
Помог
10 раз(а)
Minni, а, тьфу ) я на это внимание не обращаю пока что, ибо тестировал уже множество разных вариаций, поэтому над названием функций внимания не обращаю пока что, это не влияет на решение моей проблемы. =(
 
Сообщения
2,491
Реакции
2,791
Помог
61 раз(а)
при false меню выбора класса не отображается и, как следствие, игрок не может зайти за команду(остается в невесомости)
я уже увидел. когда запустил свой пример. я ж писал что ен тестировал
 
Сообщения
1,017
Реакции
819
Помог
10 раз(а)
fantom, не обратил внимание сразу блин, короче, что бы юзать engclient_cmd(index, "joinclass", ""); необходимо RG_HandleMenu_ChooseTeam ставить в пост, но при setinfo _vgui_menus 1 всегда будет отображаться графическое меню выбора класса игрока и engclient_cmd что-то не спасает(хотя игрок в игре уже). set_member_game(m_bSkipShowMenu, true); в данном случае тоже не спасает.
При RG_HandleMenu_ChooseTeam в пре, игрок находится в невесомости всегда.
Короче надоело уже разбираться =D я уже не знаю, что ему нужно.
 
Сообщения
1,017
Реакции
819
Помог
10 раз(а)
Sonyx, да уже делал, выше же есть все попытки ))
10 Мар 2018
Ладно, спасибо. )) Можно закрывать тему. ) Выкинул его. ) Не буду юзать. )
 
Статус
В этой теме нельзя размещать новые ответы.

Пользователи, просматривающие эту тему

Сейчас на форуме нет ни одного пользователя.
Сверху Снизу