Zolden
offline
Опыт:
1,588Активность: |
действие "выполнить функцию"
Можно ли в качестве действия поставить просто "выполнить пользовательскую функцию"?
В принципе, сделать можно просто:
или
Но то и другое - полумера, а мне надо просто выполнить функцию, которая у меня описана в отдельном, не привязанном ни к какому триггеру скрипте. Как это сделать? |
09.04.2011, 22:06 | #1
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|
НЕзаяЦ
offline
Опыт:
3,574Активность: |
взять и найти ее в списке и поставить |
09.04.2011, 22:37 | #2
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|
Zolden
offline
Опыт:
1,588Активность: |
К сожалению, в списке действий нет ничего похожего на "выполнить функцию". В английской версии есть? В каком разделе? |
09.04.2011, 22:48 | #3
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|
НЕзаяЦ
offline
Опыт:
3,574Активность: |
у меня русская версия. если ты делаешь функцию то она должна быть в списке. тебе что ли на пальцах раасказывать как делается? |
09.04.2011, 22:57 | #4
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|
Zolden
offline
Опыт:
1,588Активность: |
Уточню вопрос.
Функция лежит в отельном скрипте.
А я делаю триггер, который об этом скрипте знать на знает. Когда нажимаю "создать действие", появляется список действий, и в этом списке естественным образом нет моей функции, там есть только списолк стандартных действий, среди которых я не могу найти что-то вроде "выполнить функцию".
Самое близкое, что я нашёл - действие "возвратить" из раздела "общее". Но это действие не работает для функций типа void, ему подавай возвращаемое значение. |
09.04.2011, 23:05 | #5
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|
НЕзаяЦ
offline
Опыт:
3,574Активность: |
создай функцию. перетащи скрипт в нее и все дела
НЕзаяЦ добавил:
причем там можно ее настроить всевозможными способами НЕзаяЦ добавил: чтоб найти свою функцию нужно ее сделать действием. свойства ее от этого не меняются но найти в "действиях" ты сможешь |
09.04.2011, 23:18 | #6
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|
H
hello world
offline
Опыт:
130,376Активность: |
Если функция находится внутри карты (в том числе и в доп. пакете - читать "мод"), она должна быть видима из любого триггера. Если нет, проверь настройки функции (возможно где-то стоит лищний флажок). Еще я допускаю вариант что ты путаешь понятие "функция" и "действие" )
Действие отображается в списке при создании нового действия в редакторе триггеров. К примеру "Приказ юниту" - это действие.
А функция будет отображена в списке где действие пытается получить доступ к другим параметрам. На пример в действие "Задать имя юниту", функцией может быть "Имя от типа юнитов Морпех".
Т.е можно как написать "Блаблабла", а можно в параметр "имя" указать эту функцию которая вернет общее имя для всех юнитов заданного типа. З.Ы. Действия "задать имя" в редакторе нет, это просто для примера ) |
09.04.2011, 23:21 | #7
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|
Zolden
offline
Опыт:
1,588Активность: |
НЕзаяЦ, спасибо, нашёл, как создать функцию и сделать её действием - после этого она появилась в списке действий.
Hellcore, я не путаю функциии и действия. Просто я говорил не о сущности "функция", создаваемой в GUI, а о функции в смысле кода, типа:
void fn(){
} Она у меня была написана в сущности типа "скрипт", которую я создал через GUI. Теперь я понимаю, что такие по-простому написанные функции не имеют GUI-шного интерфейса и невидимы как отдельные функции, поэтому использовать их можно лишь выполнив код, например, в качестве действия выбрав "выполнить скрипт" и в скрипте написав fn();
Спасибо за ответы. |
09.04.2011, 23:41 | #8
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|