Скипт на автодобавление в зевс появившихся гражданских.
И основа выдающая убийцу в случаи смерти гражданского //даже созданного после начала миссии;
Заранее спасибо.
Posted 09 September 2015 - 01:09
Скипт на автодобавление в зевс появившихся гражданских.
И основа выдающая убийцу в случаи смерти гражданского //даже созданного после начала миссии;
Заранее спасибо.
Posted 09 September 2015 - 08:39
Posted 09 September 2015 - 14:02
1.
2. Немного не понял
1. Спасибо.
2. Если кто либо (включая ai) убивает гражданского to получаем выход c array убийцы.
Edited by Ilias, 09 September 2015 - 14:02.
Posted 09 September 2015 - 14:44
Ilias, сетевая игра или одиночная? Кто гражданские: боты или игроки?
Сетевая, все.
И ещё не знаешь какой нибудь способ вывести text со всеми целями (разделённым по сторонам) о которых знает unit (example: Arma 2).
И ещё один ) , как назначить message в description.ext с текстом и аудио файлом?
Edited by Ilias, 09 September 2015 - 15:27.
Posted 09 September 2015 - 15:49
Если кто либо (включая ai) убивает гражданского to получаем выход c array убийцы.
Нужно добавить каждому гражданскому обработчик события Killed с помощью addEventHandler (если гражданские - это AI) или MPKilled с помощью addMPEventHandler (если гражданские - это игроки). Сделать это нужно таким образом, чтобы обработчик запускался на сервере.
Edited by Schatten, 09 September 2015 - 15:50.
Posted 09 September 2015 - 16:03
Posted 09 September 2015 - 16:21
vlad333000, поскольку вопрос поставлен общий, то я исходил из того, что AI будет создаваться на сервере, соответственно, они будут локальны на сервере. Что касается MPKilled, то, по-моему, обработчик этого события нет смысла использовать нигде кроме как на сервере.
Edited by Schatten, 09 September 2015 - 16:21.
Posted 09 September 2015 - 18:22
vlad333000, поскольку вопрос поставлен общий, то я исходил из того, что AI будет создаваться на сервере, соответственно, они будут локальны на сервере. Что касается MPKilled, то, по-моему, обработчик этого события нет смысла использовать нигде кроме как на сервере.
_zombie addeventhandler ["killed", "_this remoteExec ['ptm_fnc_zEhKilled', 2];"];
ЗЫ
Так, общие наблюдения.
Ботов лучше спавнить серверу, далее передавать другому владельцу, если есть такая необходимость.
Процессы синхронизации будут происходить быстрее, это очень заметно при достаточно большом кол-ве ботов.
Posted 09 September 2015 - 18:27
Что касается MPKilled, то, по-моему, обработчик этого события нет смысла использовать нигде кроме как на сервере.
Это событие, при наступлении, вызовет код на всех клиентах в сети, по идее не страшно, но имеет ли смысл сорить в сеть? Без острой на то нужды.
Posted 09 September 2015 - 21:20
но имеет ли смысл сорить в сеть? Без острой на то нужды.
Опять же, был задан общий вопрос, поэтому был дан общий ответ. Пусть автор вопроса или сам выбирает из предложенного, или уточняет вопрос.
Posted 09 September 2015 - 21:22
cfgRadio
Да, просмотрел thanks.
currentTasks
Целями я имел в виду цели а не задачи )
Так охватит всех?
execVM
_unit = allUnits; while {true} do { sleep 10; if ((side _unit == civilian) and (_unit class men)) then { (allCurators) addCuratorEditableObjects [[_unit],true ]; _unit addAction [Did you saw anything?, "siezing\siezingscivanswer.sqf"]; civkilled addMPeventhandler [_unit,MPkilled]; }; }; while {true} do { civkiller = _this select 1; civkiller damage 1; };
И после респавна civkiller снимится?
Edited by Ilias, 09 September 2015 - 22:06.
Posted 09 September 2015 - 21:40
И while {true} do {addeventhandler}; не сильно плохо?
И eщё вопрос !_!word будет только на этой mashine или только в этом скрипте?
Edited by Ilias, 09 September 2015 - 22:03.
Posted 09 September 2015 - 22:25
vlad333000, Schatten,
Так охватит всех?
Так никого не охватит, поскольку:
1 Переменной _unit вы присваиваете массив allUnits, но далее вы используете _unit, думая что это один юнит.
2 Синтаксис addAction и addMPEventHandler неправильный, изучайте -
_unit class men
Да вы, батенька, фантазёр!
Во-первых, надо так:
_unit isKindOf "CAManBase"
Во-вторых, allUnits включает юнитов, являющихся дочерними классу CAManBase, так что эта проверка лишняя.
while {true} do { civkiller = _this select 1; civkiller damage 1; };
Это типа обработчик события? Если да, то почему он внутри цикла while, а не добавляется юниту с помощью addMPEventHandler?
И после респавна civkiller снимится?
Обработчик события не снимется.
И eщё вопрос !_!word будет только на этой mashine или только в этом скрипте?
Вы по-русски умеете изъясняться? Что вы имеете ввиду?
Edited by Schatten, 09 September 2015 - 22:47.
Posted 09 September 2015 - 23:54
Это даже гугл не переведёт!
!_!word
Posted 09 September 2015 - 23:55
Ilias сказал(а) 09 Сен 2015 - 20:22: _unit class men Да вы, батенька, фантазёр!
Просто это так просто выглядит )
Ilias сказал(а) 09 Сен 2015 - 20:40: И eщё вопрос !_!word будет только на этой mashine или только в этом скрипте? Вы по-русски умеете изъясняться? Что вы имеете ввиду?
Ilias сказал(а) 09 Сен 2015 - 20:22: while {true} do { civkiller = _this select 1; civkiller damage 1; }; Это типа обработчик события? Если да, то почему он внутри цикла while, а не добавляется юниту с помощью addMPEventHandler?
Понял
{ if (side _x == civilian) then { _x addMPeventhandler ["MPkilled",{_this select 1 setDamage 1}]; while {true} do { sleep 10; st addCuratorEditableObjects [_x,true]; }; }; } forEach allUnits;
Будут сейчас в curator добавлятся появившиеся units ?
3 addAction и addMPEventHandler используются ОДИН раз. По вашему же коду вы одни и те же обработчики событий и действия добавляете бесконечное число раз. Мне даже страшно представить, что произойдёт при их запуске
Я это понял, проблемма в том что у меня есть как миниму три способа которыми гражданские могу появиться по ходу игры, надо чтобы им всем это добавлялось.
И ещё не знаешь какой нибудь способ вывести text со всеми целями (разделённым по сторонам) о которых знает unit (example: Arma 2).
currentTasks
Целями я имел в виду цели а не задачи ) (Arma 2 civs)
И есть у ai в uav's что нибудь их выдающее, для подсчёта?
И ещё вопрос, где выполняется код заданный в object init через zeus?
И не знаете как можно было бы упростить:
aobgectiveshq = []; _lvobgectiveshq = 0; { vcpointsw = vcpointsw + 1; while {_lvobgectiveshq == 0;} do { sleep 5; if (alive _x) then {} else { countingwestv = countingwestv - 1; _lvobgectiveshq = 1; }; }; } for each aobgectiveshq;
vppreshurewest = 0; vppreshureeast = 0; { if (side _x == Civilian) then { _acivu = _x; _x addMPeventhandler ["MPkilled",{ hint format ["%1 is under invastigation",_this select 1]; _lvppreshures = format [vppreshure%1,text "str (side (_this select 1))"]; _lvppreshures = _lvppreshures + 1; }]; while {true} do { {_x addCuratorEditableObjects [[_acivu],true];} forEach allCurators; sleep 10; if (vppreshurewest > 1) then {hint "West is under ppreshure."}; if (vppreshureeast > 1) then {hint "East is under ppreshure."}; }; }; } forEach allUnits;
Edited by Ilias, 11 September 2015 - 18:53.
Posted 09 September 2015 - 23:57
но имеет ли смысл сорить в сеть? Без острой на то нужды.
Опять же, был задан общий вопрос, поэтому был дан общий ответ. Пусть автор вопроса или сам выбирает из предложенного, или уточняет вопрос.
Это была просто информация. Для общего развития.
! _x addAction [Did you saw anything?,"siezing\siezingscivanswer.sqf"]; ! _x addMPeventhandler ["MPkilled","_this select 1 damage 1"];
Офигеть!!!!
Батенька! Вы здесь были?
http://arma3.ru/foru...kriptopisaniiu/
Posted 10 September 2015 - 00:00
И eщё вопрос !_!word будет только на этой mashine или только в этом скрипте?
И eщё вопрос !_!word будет только на этой mashine или только в этом скрипте?
/\ /\ /\
Акцент на _ любое слово
! _x addAction [Did you saw anything?,"siezing\siezingscivanswer.sqf"]; ! _x addMPeventhandler ["MPkilled","_this select 1 damage 1"];
Это не команды а выноски