XGM Forum
Сайт - Статьи - Проекты - Ресурсы - Блоги

Форуме в режиме ТОЛЬКО ЧТЕНИЕ. Вы можете задать вопросы в Q/A на сайте, либо создать свой проект или ресурс.
Вернуться   XGM Forum > StarCraft (только чтение)> Галактическая академия
Ник
Пароль
Войти через VK в один клик
Сайт использует только имя.

 
Zolden

offline
Опыт: 1,588
Активность:
действие "выполнить функцию"
Можно ли в качестве действия поставить просто "выполнить пользовательскую функцию"?
В принципе, сделать можно просто:
  1. Выбрать действите "присвоить переменную" - и присваивать ей возвращаемое значение функции.
или
  1. Выбрать действие "пользовательский скрипт" - и записать туда функцию.
Но то и другое - полумера, а мне надо просто выполнить функцию, которая у меня описана в отдельном, не привязанном ни к какому триггеру скрипте. Как это сделать?
Старый 09.04.2011, 22:06
НЕзаяЦ

offline
Опыт: 3,574
Активность:
взять и найти ее в списке и поставить
Старый 09.04.2011, 22:37
Zolden

offline
Опыт: 1,588
Активность:
К сожалению, в списке действий нет ничего похожего на "выполнить функцию". В английской версии есть? В каком разделе?
Старый 09.04.2011, 22:48
НЕзаяЦ

offline
Опыт: 3,574
Активность:
у меня русская версия. если ты делаешь функцию то она должна быть в списке. тебе что ли на пальцах раасказывать как делается?
Старый 09.04.2011, 22:57
Zolden

offline
Опыт: 1,588
Активность:
Уточню вопрос.
Функция лежит в отельном скрипте.
А я делаю триггер, который об этом скрипте знать на знает. Когда нажимаю "создать действие", появляется список действий, и в этом списке естественным образом нет моей функции, там есть только списолк стандартных действий, среди которых я не могу найти что-то вроде "выполнить функцию".
Самое близкое, что я нашёл - действие "возвратить" из раздела "общее". Но это действие не работает для функций типа void, ему подавай возвращаемое значение.
Старый 09.04.2011, 23:05
НЕзаяЦ

offline
Опыт: 3,574
Активность:
создай функцию. перетащи скрипт в нее и все дела
НЕзаяЦ добавил:
причем там можно ее настроить всевозможными способами
НЕзаяЦ добавил:
чтоб найти свою функцию нужно ее сделать действием. свойства ее от этого не меняются но найти в "действиях"
ты сможешь
Старый 09.04.2011, 23:18
H
hello world
offline
Опыт: 130,376
Активность:
Если функция находится внутри карты (в том числе и в доп. пакете - читать "мод"), она должна быть видима из любого триггера. Если нет, проверь настройки функции (возможно где-то стоит лищний флажок). Еще я допускаю вариант что ты путаешь понятие "функция" и "действие" )
Действие отображается в списке при создании нового действия в редакторе триггеров. К примеру "Приказ юниту" - это действие.
А функция будет отображена в списке где действие пытается получить доступ к другим параметрам. На пример в действие "Задать имя юниту", функцией может быть "Имя от типа юнитов Морпех".
Т.е можно как написать "Блаблабла", а можно в параметр "имя" указать эту функцию которая вернет общее имя для всех юнитов заданного типа.
З.Ы. Действия "задать имя" в редакторе нет, это просто для примера )
Старый 09.04.2011, 23:21
Zolden

offline
Опыт: 1,588
Активность:
НЕзаяЦ, спасибо, нашёл, как создать функцию и сделать её действием - после этого она появилась в списке действий.
Hellcore, я не путаю функциии и действия. Просто я говорил не о сущности "функция", создаваемой в GUI, а о функции в смысле кода, типа:
void fn(){
}
Она у меня была написана в сущности типа "скрипт", которую я создал через GUI. Теперь я понимаю, что такие по-простому написанные функции не имеют GUI-шного интерфейса и невидимы как отдельные функции, поэтому использовать их можно лишь выполнив код, например, в качестве действия выбрав "выполнить скрипт" и в скрипте написав fn();
Спасибо за ответы.
Старый 09.04.2011, 23:41

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы можете скачивать файлы

BB-коды Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход



Часовой пояс GMT +3, время: 03:10.