Перейти к содержимому


Фотография

Вопросы по МП.


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 264

#221 OFFLINE   TankiSD

TankiSD

    Ст. Прапорщик

  • Пользователи
  • 680 сообщений

Отправлено 29 August 2015 - 15:07

Да, всё заработало.

 

Но появилась пожалуй крайняя проблема.

 

в allspos есть такая строка

_Thing addEventHandler ["Killed","execVM 'respawnTHING.sqf'"];

сам скрипт respawnTHING

if (isserver) then { 
sleep 35;
_thing = allplayers select (floor random (count playableUnits)); 
[[[_thing], "sposobnost\allspos.sqf"], "BIS_fnc_execVM",  _thing] call BIS_fnc_MP; 
};

Так вот после смерти, снова ничего не выбирается.

Но ведь должно, потому что вроде как команду выполняет сервак.

 

Если не так, то как быть, если игрок-монстр просто выйдет из игры? 

вешать на него ещё один евентхандлер на дисконект?


  • 0

#222 OFFLINE   vlad333000

vlad333000

    Полковник

  • Пользователи
  • 3224 сообщений
  • Откуда:Кострома

Отправлено 29 August 2015 - 15:21

Событие "killed" не работает в МП, а точнее оно работает только там где объект, на который навешено это событие, локален (тоесть, только у этого игрока). На сервере можно использовать либо MPKilled (смотрите её описание на Вики), либо использовать waitUntil и alive (работает везде), тогда не нужно будет следить за дисконнектом т к если отключен ИИ, то после дисклнекта персонаж этого игрока умрет
  • 1

#223 OFFLINE   TankiSD

TankiSD

    Ст. Прапорщик

  • Пользователи
  • 680 сообщений

Отправлено 05 September 2015 - 11:36

Я тут подумал и возник вопрос

if (isserver) then {
sleep 15;
_thing = allplayers select (floor random (count playableUnits)); 
[[[_thing], "sposobnost\allspos.sqf"], "BIS_fnc_execVM",  _thing] call BIS_fnc_MP; 
};

Код срабатывает, если есть игрок.

 

А вот допустим кто-то запустил выделинку, сервак стоит, без игроков и тут, вопрос 

 

условие будет срабатывать при заходе первого игрока?

или нет?

 

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

условие то уже сработало.

 

Такой вариант событий возможен? 
Это получается на waitUntil тоже ставить перед условием, на проверку есть ли игроки, или нет?

и как запустить миссию, когда будет не менее двух игроков?


  • 0

#224 OFFLINE   vlad333000

vlad333000

    Полковник

  • Пользователи
  • 3224 сообщений
  • Откуда:Кострома

Отправлено 05 September 2015 - 13:23

TankiSD, если нет игроков то обычно миссия не начинается/ сразу заканчивается, но лучше да поставь ожидание пока не появится хотя бы один игрок
  • 1

#225 OFFLINE   TankiSD

TankiSD

    Ст. Прапорщик

  • Пользователи
  • 680 сообщений

Отправлено 12 September 2015 - 13:40

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

команда, чтобы не париться с ifserver, аль она может создать объект, который будет видеть только тот игрок, для которого этот объект был создан?


  • 0

#226 OFFLINE   vlad333000

vlad333000

    Полковник

  • Пользователи
  • 3224 сообщений
  • Откуда:Кострома

Отправлено 12 September 2015 - 13:43

TankiSD, создает локальный объект и не синхронизирует его среди других игроков - существует только там где создан

Сообщение отредактировал vlad333000: 12 September 2015 - 13:45

  • 0

#227 OFFLINE   SteelRat

SteelRat

    Полковник

  • Пользователи
  • 3241 сообщений
  • Откуда:РФ

Отправлено 12 September 2015 - 19:47

TankiSD, если нет игроков то обычно миссия не начинается/ сразу заканчивается, но лучше да поставь ожидание пока не появится хотя бы один игрок

Всё это определяется в конфигурации сервера,  поведение сервера если последний игрок покинул сервер.

persistent     = 1;     // If set to 1, missions will continue to run after all players have disconnected; required if you want to use the -autoInit startup parameter

Сервер сам по себе без хоть одного игрока не будет стартовать миссию, для этого нужно явное указание в батник

 

-autoInit 

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


  • 0

#228 OFFLINE   TankiSD

TankiSD

    Ст. Прапорщик

  • Пользователи
  • 680 сообщений

Отправлено 16 September 2015 - 08:54

чисто теоретически, возможен ли перехват управления другого игрока, например хождения или прицеливания и стрельбы, на короткое время?

 

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

 

?

 

И возможно ли между двумя игроками сцены QTE?


Сообщение отредактировал TankiSD: 16 September 2015 - 08:54

  • 0

#229 OFFLINE   vlad333000

vlad333000

    Полковник

  • Пользователи
  • 3224 сообщений
  • Откуда:Кострома

Отправлено 16 September 2015 - 09:18

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

Сообщение отредактировал vlad333000: 16 September 2015 - 09:20

  • 0

#230 OFFLINE   TankiSD

TankiSD

    Ст. Прапорщик

  • Пользователи
  • 680 сообщений

Отправлено 16 September 2015 - 10:54

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

 

а про QTE вообще ужас будет. 


  • 0

#231 OFFLINE   SteelRat

SteelRat

    Полковник

  • Пользователи
  • 3241 сообщений
  • Откуда:РФ

Отправлено 16 September 2015 - 18:54

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

 

ЗЫ

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


Сообщение отредактировал SteelRat: 16 September 2015 - 19:00

  • 0

#232 OFFLINE   vlad333000

vlad333000

    Полковник

  • Пользователи
  • 3224 сообщений
  • Откуда:Кострома

Отправлено 16 September 2015 - 20:11

SteelRat, у игрока1 создать камеру и приатачить ее к игроку2,навешать кучу обработчиков интерфейса и передавать игроку2 данные, что бы он ворочал сам себя :D трафик убьете в конец
  • 0

#233 OFFLINE   TankiSD

TankiSD

    Ст. Прапорщик

  • Пользователи
  • 680 сообщений

Отправлено 16 September 2015 - 21:05

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

 

А вот с QTE намного сложнее. 


  • 0

#234 OFFLINE   dimaS1k

dimaS1k

    Ефрейтор

  • Пользователи
  • 68 сообщений
  • Откуда:Moscow

Отправлено 16 September 2015 - 21:45

Имеется ли скрипт на эмбиент самолеты(пролетают в 300-400м от игрока и не птрогают его)?


  • 0

#235 OFFLINE   SteelRat

SteelRat

    Полковник

  • Пользователи
  • 3241 сообщений
  • Откуда:РФ

Отправлено 17 September 2015 - 00:00

Имеется ли скрипт на эмбиент самолеты(пролетают в 300-400м от игрока и не птрогают его)?

Путь_установки_Arma_3\Addons\functions_f\Ambient

SteelRat, у игрока1 создать камеру и приатачить ее к игроку2,навешать кучу обработчиков интерфейса и передавать игроку2 данные, что бы он ворочал сам себя :D трафик убьете в конец

Тут однозначно дешевле отключать от юнита терпилу.

 

Примерный сценарий.

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


Сообщение отредактировал SteelRat: 17 September 2015 - 00:03

  • 0

#236 OFFLINE   SteelRat

SteelRat

    Полковник

  • Пользователи
  • 3241 сообщений
  • Откуда:РФ

Отправлено 17 September 2015 - 00:05

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

 

А вот с QTE намного сложнее. 

Что сложного перехватить нажатие клавиш?


  • 0

#237 OFFLINE   TankiSD

TankiSD

    Ст. Прапорщик

  • Пользователи
  • 680 сообщений

Отправлено 17 September 2015 - 10:46

 

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

 

А вот с QTE намного сложнее. 

Что сложного перехватить нажатие клавиш?

 

 

у одного хороший инэт, у другого так себе. 


  • 0

#238 OFFLINE   SteelRat

SteelRat

    Полковник

  • Пользователи
  • 3241 сообщений
  • Откуда:РФ

Отправлено 17 September 2015 - 18:29

 

 

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

 

А вот с QTE намного сложнее. 

Что сложного перехватить нажатие клавиш?

 

 

у одного хороший инэт, у другого так себе. 

 

Всех объединяет, и ровняет сервер, на котором и должна произойти обработка результата.

 

ЗЫ

Хотя конечно, что за сценарий реализуется.


Сообщение отредактировал SteelRat: 17 September 2015 - 18:31

  • 0

#239 OFFLINE   TankiSD

TankiSD

    Ст. Прапорщик

  • Пользователи
  • 680 сообщений

Отправлено 17 September 2015 - 19:11

просто кто кого переиграет в кнопки, в течении определённого времени


Сообщение отредактировал TankiSD: 17 September 2015 - 19:11

  • 0

#240 OFFLINE   SteelRat

SteelRat

    Полковник

  • Пользователи
  • 3241 сообщений
  • Откуда:РФ

Отправлено 17 September 2015 - 22:43

просто кто кого переиграет в кнопки, в течении определённого времени

Я думаю реализовать в принципе возможно, но попариться придётся от души, именно в плане свести к устраивающему минимуму эффекты плохих интернетов).


  • 0




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