Jump to content


Photo

Respawn игрока в группах в МП миссии


  • Please log in to reply
6 replies to this topic

#1 OFFLINE   Gonarx

Gonarx

    Рядовой

  • Пользователи
  • 25 posts
  • Откуда:RF

Posted 10 August 2022 - 20:40

Добрый день друзья! 

 

Подскажите плз.  столкнулся с такой задачей:

 

1. Хочу сделать мп миссию, в которой на сторонах West  и East, будет по 2 играбельных юнита (Офицер1 и Офицер2), в зоне подчинения которых будет, скажем, по 4 отделения (4 группы) - (как реализовать систему управления отделениями мне понятно)

2. Важно, что бы выбрав для игры одного из офицеров, игрок мог возрождаться только в отведенных под него группах, в качестве лидера любой из его групп, на выбор!  - как это реализовать  я не нашел.

 

если вдруг не очень понятно написал приведу простой пример, что должно получиться:

 

Сторона ЗАПАД

 

Офицер_1 

 

его отряды (Группа_1,2,3,4) - респаун только в качестве лидера одного из своих отрядов на выбор

 

Офицер_2

 

его отряды (Группа_5,6,7,8 ) - респаун только в качестве лидера одного из своих отрядов на выбор

 

------------------------------------

 

Сторона Восток

 

Офицер_1 

 

его отряды (Группа_1,2,3,4) - респаун только в качестве лидера одного из своих отрядов на выбор

 

Офицер_2

 

его отряды (Группа_5,6,7, 8 ) - респаун только в качестве лидера одного из своих отрядов на выбор

 

Как то так...


  • 0

#2 OFFLINE   TopDen

TopDen

    Мл. лейтенант

  • Пользователи
  • 803 posts
  • Откуда:Москва
  • Отряд:[АТР] АРМАТОП

Posted 10 August 2022 - 21:29

не очень понял замутку, но смысл в арме такой. после возрождения вы просто должны дать команду юниту стать лидером той или иной группы. и все.

Пожалуйста Войдите или Зарегистрируйтесь чтобы увидеть скрытое содержание

т е в арме вы просто добавляете нужный функционал возрожденному юниту где-бы и как-бы он не возрождался бы.

 

(юнит возраждается на земле, а не в группах. соответсвенно после его появления вешайет на него нужные команды и все, типа быть лидером или телепортнуться или переодется или стать медиком или все, что угодно)


Edited by TopDen, 10 August 2022 - 21:31.

  • 0

#3 OFFLINE   Gonarx

Gonarx

    Рядовой

  • Пользователи
  • 25 posts
  • Откуда:RF

Posted 11 August 2022 - 02:34

не очень понял замутку,

 

Смысл в том, что бы несколько игроков с разных сторон, по сети могли управлять большим количеством отрядов. Таким образом играя 4х4 можно устраивать масштабную войнушку. 

 

 

 но смысл в арме такой. после возрождения вы просто должны дать команду юниту стать лидером той или иной группы. и все.

Пожалуйста Войдите или Зарегистрируйтесь чтобы увидеть скрытое содержание

т е в арме вы просто добавляете нужный функционал возрожденному юниту где-бы и как-бы он не возрождался бы.

 

(юнит возраждается на земле, а не в группах. соответсвенно после его появления вешайет на него нужные команды и все, типа быть лидером или телепортнуться или переодется или стать медиком или все, что угодно)

 

 

Так тоже можно. Возникают свои проблемы, конечно. Например,  условия миссии, заданные в атрибутах (миссия провалена, когда все убиты) или в триггере  - не исполняется так как  игрок респауниться постоянно, несмотря, на то, что все боты на его стороне погибли. Пока с лету не разобрался как решить проблему.

 

В идеале конечно было бы возрождение на выбор в оставшихся живых командирах групп (тогда не будет никто появляться во время боя), таким образом респаун будет  ограничен, количеством ботов группах. Так можно делать назначив играбельными, всех ботов в отрядах, но тогда при старте куча не нужных слотов.  


  • 0

#4 OFFLINE   TopDen

TopDen

    Мл. лейтенант

  • Пользователи
  • 803 posts
  • Откуда:Москва
  • Отряд:[АТР] АРМАТОП

Posted 11 August 2022 - 11:04

больше трех сторон всеравно не получится у вас. исходя из этого поставьте три игровых бота на карту, которые будут типа "командирами отрядов". а в местах их появления сделайте "приобретение отрядов". когда игрок возрождается, то он подходит допустим к флагу и респит себе отряд и идет воевать. все условия миссии привежите к игровым ботам.

вариант 2 - это писать свой скрипт респавна со всеми вашими условиями.

пс. в любом случае чтобы быть лидером отряда вам придется после возрождения давать команду боту. (или давать ему лидерство после "респа"отряда ботов). исходить надо отсюда. по другому не бывает


  • 0

#5 OFFLINE   Gonarx

Gonarx

    Рядовой

  • Пользователи
  • 25 posts
  • Откуда:RF

Posted 11 August 2022 - 17:25

Там 2 стороны. Разобрался Более менее получилось сделать с некоторыми оговорками.  Еще пара вопросов которые я не помню:

 

 

1. Как сделать индивидуальную рацию для каждого игрока и стороны. Ту, что вызывается через 0-0 и создается триггером "радио"? Так что бы у каждого игрока, при выборе рации, там отображалась своя информация. Стандартными методами такие триггеры видны всем, в т.ч. и другой стороне, а нужно, что бы было видно только, конкретному игроку. 

 

2. Как в сетевой игре определяется Игрок,  если игроков больше одного, что бы повесить условие на конкретного. Например: (side player == west) , вот этих player будет больше чем 1, например 4 и выберут они  2 слота на каждой стороне, как их идентифицировать? Или только, через присвоение имени конкретному юниту? 

 

Спасибо.


Edited by Gonarx, 11 August 2022 - 21:05.

  • 0

#6 OFFLINE   TopDen

TopDen

    Мл. лейтенант

  • Пользователи
  • 803 posts
  • Откуда:Москва
  • Отряд:[АТР] АРМАТОП

Posted 12 August 2022 - 01:39

1. рация как и любой скрипт зависит от условий написанных в нем. подробно не подскажу (не пользуюсь ей), но если вы хотите дать юнитам какой-то функционал, я бы использовал addaction да и всё. Каждому свой и не парился.

2. дайте юнитам имена и не заморачивайтесь. у вас их не так много, чтобы углубляться в эту тему. да и потом писать скрипты проще для них будет. если захотите что-то добавить


  • 0

#7 OFFLINE   Gonarx

Gonarx

    Рядовой

  • Пользователи
  • 25 posts
  • Откуда:RF

Posted 29 August 2022 - 00:49

Приветствую всех, подскажет может кто? Можно поменять игроку тип респауна по ходу миссии? Например играбельный юнит с именем s1 потерял убитыми все группы ботов, после этого респаун s1, должен остановиться. 

 

Сейчас это реализовано так:

 

на карте несколько играбельных юнитов к1, к2 и тд.

 

у каждого в подчинении по 2 отряда, управляемые через  модуль HC (у к1 - отряды us_1 и us_2)

 

в ините игрока к1

 

this addEventHandler ["Respawn", {[this] exec "k1_resp.sqs";}]; 

в скрипте "k1_resp.sqs": if (k1 == player) then {player setPos (markerpos "resp_k1")};

 

Таким образом игроки спауняться только на своих респах.

 

Далее идет проверка условий в триггере:

 

({alive _x} count (units  Us_1)) == 0  and ({alive _x} count (units  Us_2)) == 0 

 

По достижению которых  запускается скрипт с удалением респауна игрока к1:

 

if(isNil {res_k1}) then {} else 
{
"resp_k1" call BIS_fnc_removeRespawnPosition; 
deleteMarker "resp_k1"; 
};
 
И вот тут я не понимаю как правильно прописать, так, что бы именно игрок к1 больше не смог респауниться, скрипт выше, работает корректно, только когда одна точка возрождения на стороне. Респаун прекращается, точка удаляется, а вот когда точек возрождения больше, то респаун происходит в море, так как точка удалена. Если маркер не удалять, то респаун на нем продолжается. А нужно, что бы прекратился и игрок остался в меню, с возможностью наблюдать.

  • 0




Яндекс.Метрика