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

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

Ответ
 
Асясисяй

offline
Опыт: 99
Активность:
Привет!
Привет всем! Я тут новенький. Хочу спросить у вас пару вопросов - кто-нибудь знает, как сделать подсчет маны у любой группы юнитов?

Асясисяй добавил.
Забыл добавить - это нужно для очень интенсивного использования, поэтому использование глобальных переменных не подойдет!
Старый 14.03.2004, 20:38
Sergey
Старейший
offline
Опыт: 44,363
Активность:
Т.е. сумма маны всех юнитов в такой-то группе? Ну группы бывают разные. Решу задачу для юнитов, находящихся на определенной области.
Создаешь переменную r тип real
Нужное действие:

set r equal 0
pick every unit in <unit group> and do multiply [action]
<unit group> - units in region
[action]
set r equal arithmetic-> r + unit property->unit mana->picked unit
[/action]

Поймешь о чем речь или расшифровать?
Старый 14.03.2004, 20:48
Асясисяй

offline
Опыт: 99
Активность:
Спасибо! Но дело в том, что эта функция будет очень часто использоваться.. поэтому использование глобальных переменных не подойдет :( Можно как-то по другому решить эту проблему?

Асясисяй добавил.
Сергей, я не такой уж новичок в редакторе :) В триггерах понимаю и даже умею программировать текстовые триггеры (но не очень хорошо). Я новичок на вашем форуме :)
Старый 14.03.2004, 20:54
zibada

offline
Опыт: отключен
Не понял, почему интенсивное использование мешает применению глобальных переменных.
Их плохо применять, когда одна функция вызывается одновременно несколькими триггерами, но в примере Сергея тут проблем нет. В крайнем случае, можешь сразу после подсчета значение глоб.переменной сохранить в локальную, и далее пользоваться ей.

DimonT добавил.
Можно даже отдельную функцию подсчета маны написать - ей будет требоваться одна глобальная переменная для работы, но пользователю не нужно с ней работать вообще, а использовать только возвращаемое ей значение.
Старый 14.03.2004, 21:18
Асясисяй

offline
Опыт: 99
Активность:
Так в том и дело, что у меня как раз такая ситуация. Более того, одновременно считается мана у многих групп. Причем считается очень часто. пробовал с переменной - были глюки :(
Старый 14.03.2004, 21:26
zibada

offline
Опыт: отключен
Я же говорю - напиши функцию, которой передается группа и которая возвращает суммарную ману. Глобальная переменная там будет сугубо для внутреннего использования - ты не должен к ней обращаться вообще. Одновременно функция будет выполняться только для одной группы, как бы часто ты не ухитрялся эту функцию вызывать. Останется только сохранять возвращенные результаты в различных переменных...
Старый 14.03.2004, 21:32
Sergey
Старейший
offline
Опыт: 44,363
Активность:
Асясисяй (надо ж было выбрать такое имя =)), я приписку уже потом заметил, но со сказанным Димоном полностью согласен. В чем твоя проблема? В том, что много подсчетов? Или в том, что требуется сохранять результаты в переменные и использовать их немного погодя? Напиши более подробное описание, что и зачем тебе нужно.
Старый 15.03.2004, 10:56
Ответ

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

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

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

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



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