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


Фотография

Вопросы по скриптингу

Arma3 как плотформа для созда Скритпы

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

#1201 OFFLINE   TopDen

TopDen

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

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

Отправлено 19 May 2018 - 02:53

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

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


  • 0

#1202 OFFLINE   Schatten

Schatten

    Капитан

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

Отправлено 19 May 2018 - 12:55

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

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

 

можно как то в addaction убрать дубляж в центре экрана команды?

За это отвечает аргумент showWindow:

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

.


  • 0

#1203 OFFLINE   lopster102

lopster102

    Ст.сержант

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

Отправлено 19 May 2018 - 18:21

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

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

lда можно дык эт самое там смотри там уже даже добавили новые параметры!даже уже париться не надо все готово сами бисы все сделали!смотри параметр showWindow тут типо false чтобы на экране не показывал имя твоего акшена

и тот что тебе нужен можно больше условия не писать вот он unconscious просто true и все

player addAction ["НАЗВАНИЕ", {скриптик}, [], 1.5, false, true, "", "", 15, true]

Сообщение отредактировал lopster102: 19 May 2018 - 21:05

  • 0

#1204 OFFLINE   Schatten

Schatten

    Капитан

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

Отправлено 19 May 2018 - 19:38

lopster102, условие по умолчанию

"true"

а не

""

Сообщение отредактировал Schatten: 19 May 2018 - 19:39

  • 0

#1205 OFFLINE   SteelRat

SteelRat

    Полковник

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

Отправлено 20 May 2018 - 05:01

если хочется как в revive

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


  • 0

#1206 OFFLINE   TopDen

TopDen

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

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

Отправлено 20 May 2018 - 08:35


если хочется как в revive

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



private _id = player addAction ["" + " ВЫЛЕЧИТЬСЯ" + "", "_this call A3E_fnc_HealAtBuilding;", [], 1, false, true, "", "call at_fnc_checkHealAtBuilding"];

if ((typeof player) in ["B_medic_F","O_medic_F"]) then {player removeAction _id;};	

at_fnc_checkHealAtBuilding = {	
_return = false;	
_target = cursorTarget;	
if(isNull _target) exitwith {false;};	
if((player distance _target)>4) exitwith {false;};	
if((typeof _target) in [
"C_IDAP_Van_02_medevac_F",
"C_Van_02_medevac_F"
]) then {
_return = true;
};
_return;
};


Помогите пожалуйста преобразовать этот скрипт в вариант с https://community.bi...c_holdActionAdd

Сообщение отредактировал TopDen: 20 May 2018 - 08:39

  • 0

#1207 OFFLINE   Schatten

Schatten

    Капитан

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

Отправлено 20 May 2018 - 14:09

TopDen,

at_fnc_checkHealAtBuilding = {
	private _target = cursorTarget;

	((typeOf _target) in ["C_IDAP_Van_02_medevac_F", "C_Van_02_medevac_F"]) and {(_target distance player) < 5}
};

[
	player,
	"ВЫЛЕЧИТЬСЯ",
	"\a3\ui_f\data\IGUI\Cfg\holdactions\holdAction_revive_ca.paa",
	"\a3\ui_f\data\IGUI\Cfg\holdactions\holdAction_revive_ca.paa",
	"call at_fnc_checkHealAtBuilding;",
	"call at_fnc_checkHealAtBuilding;",
	{},
	{},
	{call A3E_fnc_HealAtBuilding;},
	{},
	[],
	_duration,
	1,
	false
] call BIS_fnc_holdActionAdd;

Нужную длительность (_duration) сам укажешь.

 

Вообще-то добавлять действие на игрока -- хреново. Также хреново сначала всем добавить действие, а потом у медиков удалить.


  • 0

#1208 OFFLINE   TopDen

TopDen

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

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

Отправлено 20 May 2018 - 18:54

TopDen,

at_fnc_checkHealAtBuilding = {
	private _target = cursorTarget;

	((typeOf _target) in ["C_IDAP_Van_02_medevac_F", "C_Van_02_medevac_F"]) and {(_target distance player) < 5}
};

[
	player,
	"ВЫЛЕЧИТЬСЯ",
	"\a3\ui_f\data\IGUI\Cfg\holdactions\holdAction_revive_ca.paa",
	"\a3\ui_f\data\IGUI\Cfg\holdactions\holdAction_revive_ca.paa",
	"call at_fnc_checkHealAtBuilding;",
	"call at_fnc_checkHealAtBuilding;",
	{},
	{},
	{call A3E_fnc_HealAtBuilding;},
	{},
	[],
	_duration,
	1,
	false
] call BIS_fnc_holdActionAdd;

Нужную длительность (_duration) сам укажешь.

 

Вообще-то добавлять действие на игрока -- хреново. Также хреново сначала всем добавить действие, а потом у медиков удалить.

спасибо за помощь. проверю. не мои скрипты.. учусь на чужой миссии) 


  • 0

#1209 OFFLINE   vlad333000

vlad333000

    Полковник

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

Отправлено 20 May 2018 - 21:43

TopDen, учитесь на «своих» миссиях, значительно полезнее будет
  • 0

#1210 OFFLINE   lopster102

lopster102

    Ст.сержант

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

Отправлено 30 May 2018 - 01:35

всЕм привет! может быть такое что после удалении группы она не удаляется или под понятием deletegroup имеется ввиду что она изначально уже создана но не активна и удалить ее впринципе нельзя? просто чтобы понимать влияет ли это вообще на фпс если например после смерти ботов их группы не удалять?!так как  после удаления группы я все равно  почему то могу в нее кого то  присоединить (groupnull) или  лучше может быть  их по цветам внутри  одной группы распределять так как видимо нет смысла наверное  вообще ботам выделять больше одной группы 


Сообщение отредактировал lopster102: 30 May 2018 - 01:41

  • 0

#1211 OFFLINE   vlad333000

vlad333000

    Полковник

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

Отправлено 30 May 2018 - 02:13

lopster102,ну если вы напишите команды удаления группы и добавления юнита в группу в одном скрипте, то конечно группа не удалится, а юнит присоединится, все операции удаления, создания, изменения в подавляющем большинстве случаев выполняются с «задержкой» - на следующем тике симуляции. Группу нельзя удалить если в ней есть хотя бы один юнит, даже если он мертв!
Так же любой юнит может присоединиться к группе grpNull, тогда он создаст свою собственную группу и будет ее единственным бойцом.
А как по вашему на FPS может влиять просто структура которая хранится в памяти? Создайте пару десятков переменных и посмотрите измениться ли хоть как то FPS от этого, если вы не будете к ним обращаться вообще
Больше одной группы ботам имеет смысл выделять, так во-первых не будет непоняток для игроков по типу «35 убит» - игрок: «какой нах 35?», во-вторых, некоторые логики ИИ привязаны к группе, такие как выбор цели, лечение, передвижение, формация, выбор положения и т д - я не думаю что вам нужно поведение на подобии такого:
Командир групп нахоящийся на другом конце острова приказал своим бойцам перейти в скрытный режим, тем временем бойцы на другом конце острова находясь в бою вдруг переходят в режим скрытности и выходят из боя
  • 0

#1212 OFFLINE   lopster102

lopster102

    Ст.сержант

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

Отправлено 30 May 2018 - 18:37

lopster102,ну если вы напишите команды удаления группы и добавления юнита в группу в одном скрипте, то конечно группа не удалится
 

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

a = group player;/////B alpha  1-1
b = creategroup west;/////B alpha  1-2
-----local exec--------
[player] join b;
-----local exec--------
[player] join a;
-----local exec--------
deletegroup b;
-----local exec--------
[player] join b;
-----local exec--------
hint str group player////B alpha  1-2
-----local exec--------
[player] join a;
-----local exec--------
hint str b////[NULL -group]

вот собственно и вопрос то как это понимать?


Сообщение отредактировал lopster102: 30 May 2018 - 18:39

  • 0

#1213 OFFLINE   Schatten

Schatten

    Капитан

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

Отправлено 30 May 2018 - 19:03

консоль отладки может считаться за один скрипт?

Вообще-то так и есть.
 

вот собственно и вопрос то как это понимать?

Игрока же перекинули из группы b, поэтому её значение стало равно null.


Сообщение отредактировал Schatten: 31 May 2018 - 10:56

  • 0

#1214 OFFLINE   vlad333000

vlad333000

    Полковник

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

Отправлено 30 May 2018 - 19:13

lopster102, воспользовались бы разделом watch ниже дебаг консоли, еще раз читаем то, что я написал выше, и идем по порядку (Стоит отметить, что группы всегда стараются индексироваться от начала):
1. Запомнили текущую группу игрока A и создали еще одну B
2. Отправили игрока в группу B
После выхода игрока из группы A, она удаляется
3. Отправляете игрока в группу A
A = grpNull >> создается новая группа C, и как я упомянул в начале сообщения - ее имя становится эквивалентным старой группе A
После выхода игрока из группы B, она удаляется
4. Удаляете группу B
B = grpNull >> ничего не удаляется
5. Отправляете игрока в группу B
B = grpNull >> создается новая группа D, с имеем эквивалентным старой группе B, т. к. первый индекс занят группой C
После выхода игрока из группы C, она удаляется
  • 0

#1215 OFFLINE   lopster102

lopster102

    Ст.сержант

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

Отправлено 30 May 2018 - 20:16

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


Сообщение отредактировал lopster102: 30 May 2018 - 20:43

  • 0

#1216 OFFLINE   vlad333000

vlad333000

    Полковник

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

Отправлено 31 May 2018 - 03:23

lopster102, да, нумерация всегда стремится от начала, есть свободный меньший номер - юзаем
  • 0

#1217 OFFLINE   lopster102

lopster102

    Ст.сержант

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

Отправлено 31 May 2018 - 20:49

ага спс!эт самое смотрите прикол  не получается вызвать функцию у клиента чето сегодня

getinvite = call fn_getinvite;
_UID  publicVariableClient "getinvite";

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


  • 0

#1218 OFFLINE   Schatten

Schatten

    Капитан

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

Отправлено 31 May 2018 - 22:23

lopster102, getinvite не функция, а её результат.

Что написано насчёт попытки вызова в отчёте?


  • 0

#1219 OFFLINE   SteelRat

SteelRat

    Полковник

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

Отправлено 31 May 2018 - 22:29

 

Что написано насчёт попытки вызова в отчёте?

А что там будет написано? Да ни чего).

Вызывающий вызвал функцию у себя, а клиенту отправил результат. Всё норм, как написано, то и исполнено).


  • 0

#1220 OFFLINE   Schatten

Schatten

    Капитан

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

Отправлено 31 May 2018 - 22:44

SteelRat, может он пытается этот результат (который, вообще-то, может быть кодом) запустить ещё раз?


  • 0




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