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


Фотография

Нужен не сложный скрипт и скриптовая основа.


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

#1 OFFLINE   Ilias

Ilias

    Прапорщик

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

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

Скипт на автодобавление в зевс появившихся гражданских.

И основа выдающая убийцу в случаи смерти гражданского //даже созданного после начала миссии;

 

Заранее спасибо.


  • 0

#2 OFFLINE   vlad333000

vlad333000

    Полковник

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

Отправлено 09 September 2015 - 08:39

1.

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


2. Немного не понял
  • 0

#3 OFFLINE   Ilias

Ilias

    Прапорщик

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

Отправлено 09 September 2015 - 14:02

1.

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


2. Немного не понял

1. Спасибо.

2. Если кто либо (включая ai) убивает гражданского to получаем выход c array убийцы.


Сообщение отредактировал Ilias: 09 September 2015 - 14:02

  • 0

#4 OFFLINE   vlad333000

vlad333000

    Полковник

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

Отправлено 09 September 2015 - 14:08

Ilias, сетевая игра или одиночная? Кто гражданские: боты или игроки?
  • 0

#5 OFFLINE   Ilias

Ilias

    Прапорщик

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

Отправлено 09 September 2015 - 14:44

Ilias, сетевая игра или одиночная? Кто гражданские: боты или игроки?

Сетевая, все.

И ещё не знаешь какой нибудь способ вывести text со всеми целями (разделённым по сторонам) о которых знает unit (example: Arma 2).

И ещё один ) , как назначить message в description.ext с текстом и аудио файлом?


Сообщение отредактировал Ilias: 09 September 2015 - 15:27

  • 0

#6 OFFLINE   Schatten

Schatten

    Капитан

  • Пользователи
  • 1792 сообщений
  • Откуда:Тбилиси, Грузия

Отправлено 09 September 2015 - 15:49

Если кто либо (включая ai) убивает гражданского to получаем выход c array убийцы.

Нужно добавить каждому гражданскому обработчик события Killed с помощью addEventHandler (если гражданские - это AI) или MPKilled с помощью addMPEventHandler (если гражданские - это игроки). Сделать это нужно таким образом, чтобы обработчик запускался на сервере.


Сообщение отредактировал Schatten: 09 September 2015 - 15:50

  • 0

#7 OFFLINE   vlad333000

vlad333000

    Полковник

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

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

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

- событие MPKill, самый легкий вариант

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


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


  • 0

#8 OFFLINE   vlad333000

vlad333000

    Полковник

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

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

Schatten, kill не обязательно на сервере и у ИИ, нужно лишь там запустить где локален данный объект: Игрок - это у игрока, ИИ - у лидера группы (если лидер игрок, то у игрока, если ИИ, то на сервере, если ИИ не локален у игрока)
  • 0

#9 OFFLINE   Schatten

Schatten

    Капитан

  • Пользователи
  • 1792 сообщений
  • Откуда:Тбилиси, Грузия

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

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


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

  • 0

#10 OFFLINE   SteelRat

SteelRat

    Полковник

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

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

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

_zombie addeventhandler ["killed", "_this remoteExec ['ptm_fnc_zEhKilled', 2];"];

ЗЫ

Так, общие наблюдения.

Ботов лучше спавнить серверу, далее передавать другому владельцу, если есть такая необходимость.

Процессы синхронизации будут происходить быстрее, это очень заметно при достаточно большом кол-ве ботов.


  • 0

#11 OFFLINE   SteelRat

SteelRat

    Полковник

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

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

 

Что касается MPKilled, то, по-моему, обработчик этого события нет смысла использовать нигде кроме как на сервере.

 

Это событие, при наступлении, вызовет код на всех клиентах в сети, по идее не страшно, но имеет ли смысл сорить в сеть? Без острой на то нужды.


  • 0

#12 OFFLINE   Schatten

Schatten

    Капитан

  • Пользователи
  • 1792 сообщений
  • Откуда:Тбилиси, Грузия

Отправлено 09 September 2015 - 21:20

но имеет ли смысл сорить в сеть? Без острой на то нужды.

Опять же, был задан общий вопрос, поэтому был дан общий ответ. Пусть автор вопроса или сам выбирает из предложенного, или уточняет вопрос.


  • 0

#13 OFFLINE   Ilias

Ilias

    Прапорщик

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

Отправлено 09 September 2015 - 21:22


cfgRadio

Да, просмотрел thanks.

 

 


currentTasks

Целями я имел в виду цели а не задачи )

 

vlad333000, Schatten,

Так охватит всех?

 

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 снимится?


Сообщение отредактировал Ilias: 09 September 2015 - 22:06

  • 0

#14 OFFLINE   Ilias

Ilias

    Прапорщик

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

Отправлено 09 September 2015 - 21:40

И while {true} do {addeventhandler}; не сильно плохо?

И eщё вопрос !_!word будет только на этой mashine или только в этом скрипте?


Сообщение отредактировал Ilias: 09 September 2015 - 22:03

  • 0

#15 OFFLINE   Schatten

Schatten

    Капитан

  • Пользователи
  • 1792 сообщений
  • Откуда:Тбилиси, Грузия

Отправлено 09 September 2015 - 22:25

vlad333000, Schatten,
Так охватит всех?

Так никого не охватит, поскольку:
1 Переменной _unit вы присваиваете массив allUnits, но далее вы используете _unit, думая что это один юнит.
2 Синтаксис addAction и addMPEventHandler неправильный, изучайте -

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

,

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

.
3 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 или только в этом скрипте?

Вы по-русски умеете изъясняться? Что вы имеете ввиду?


Сообщение отредактировал Schatten: 09 September 2015 - 22:47

  • 0

#16 OFFLINE   SteelRat

SteelRat

    Полковник

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

Отправлено 09 September 2015 - 23:54

Это даже гугл не переведёт!

 !_!word 

  • 0

#17 OFFLINE   Ilias

Ilias

    Прапорщик

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

Отправлено 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).

vlad333000 сказал(а)snapback.png


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;
 
Какая разница между _string и string, я попробовал задать string везде и потом изменять на сервере, выводившееся на клиентах значение не изменялось.
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;
Что он не понимает?

Сообщение отредактировал Ilias: 11 September 2015 - 18:53

  • 0

#18 OFFLINE   SteelRat

SteelRat

    Полковник

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

Отправлено 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/


  • 0

#19 OFFLINE   Ilias

Ilias

    Прапорщик

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

Отправлено 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"];

 

Это не команды а выноски


  • 0




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