У игрока пропадает интерфейс, а именно количество: hp, armour, патронов в магазине и в рюкзаке, время до конца раунда. Может быть ещё что-то.
Хотелось бы узнать ответы на вопросы:
Как вернуть интерфейс?
Почему такое происходит?
7 Окт 2018
Извините, забыл добавить следующее: идет смена команды со спектатора на одну из команды указанных выше, а после этого сразу же возрождение игрока с помощью rg_round_respawn
Nunfy, использовать rg_join_team хоть и смену команды таким образом на модовых (джайл, зомби...) не советую вообще через реапи, так как неадекватно работает.
Sonyx, switch team тут не подойдет, так как перевод игрока идет со спектора в одну из команд
7 Окт 2018
w0w, заменил rg_set_user_team на rg_join_team,w0w, в общем что-то работает не так.
Обясняю всю ситуацию:
У меня сделано что при входе на сервер игроку не предлагает выбрать команду и класс, а сразу же авто его переводит за команду наблюдателей.
Сделано это с помощью настроек в файле game.cfg:
Код:
// Автоматическое присоединение к команде.
// 0 - отключено
// 1 - включен (Используйте совместно с кваром humans_join_team any/SPEC/CT/T)
//
// Значение по умолчанию: "0"
mp_auto_join_team 1
// К какой команде автоматически присоеденятся.
//
// any - любой
// SPEC - наблюдатели
// T - терористы
// CT - контр-тетористы
//
humans_join_team SPEC
После того как игрок вошёл, мне нужно его забросить в команду с ещё одним игроком(одного в т, а другого кт) и потом заспавнить.
Вот моя попытка сделать это через rg_set_user_team:
В итоге получается установить двоим игрокам команду, получается их заспавнить, но у них пропадает интерфейс(прицел, hp, armour, время до коцна раунда, количество патрон в обойме, количество патрон в рюкзаке и тд..)
При возрождении игрока из спектр Reapi не доставляет флаги, а я же изменяю команду игроку, а потом уже его возрождаю
8 Окт 2018
Тоесть если воскрешать игрока из спектаторов, то reapi не доставляет флаги изза которых и происходит пропадание интерфейса.
Выходит мне нужно имитировать переход игрока в одну из команд и после уже воскрешать. Имитировать это я уже пытался с помощью:
Код:
rg_set_user_team
rg_join_team
engclient_cmd
Результаты
1. Применяю на спектатора rg_set_user_team перевожу в одну из команд(т или ст), а после возрождаю - итог: пропадание интерфейса
2. Применяю на спектатора rg_join_team перевожу в из команд(т или ст), а после возрождаю - итог: переводит за команду, но не респавнит игрока
3. Применяю на спектатора engclient_cmd перевожу в из команд(т или ст), а после возрождаю - итог: переводит за команду, но не респавнит игрока
Респавн провожу с помощью функции rg_round_respawn
8 Окт 2018
В общем.. Так как с помощью rg_set_user_team у игрока которого возродили пропадал интерфейс я решил использовать rg_join_team чтобы имитировать переход игрока в команду, далее как оказалось игрока не спавнило из за проблемы с раундом, я сделал так:
Код:
new random_number = random_num(0, 1);
rg_join_team(id, (random_number == 0) ? (TEAM_TERRORIST) : (TEAM_CT));
rg_join_team(users_ids[p], (random_number == 0) ? (TEAM_CT) : (TEAM_TERRORIST));
new users_in_team_ids[2][MAX_PLAYERS], users_in_team_num[2];
get_players(users_in_team_ids[0], users_in_team_num[0], "he", "TERRORIST"); // add flag "c" (do not include bots)
get_players(users_in_team_ids[1], users_in_team_num[1], "he", "CT"); // add flag "c" (do not include bots)
if(users_in_team_num[0] == 1 && users_in_team_num[1] == 1)
{
rg_round_end(0.1, WINSTATUS_DRAW, _, "");
}
else
{
rg_round_respawn(id);
rg_round_respawn(users_ids[p]);
}
На данном сайте используются файлы cookie, чтобы персонализировать контент и сохранить Ваш вход в систему, если Вы зарегистрируетесь.
Продолжая использовать этот сайт, Вы соглашаетесь на использование наших файлов cookie.