Асясисяй
offline
Опыт:
99Активность: |
Привет!
Привет всем! Я тут новенький. Хочу спросить у вас пару вопросов - кто-нибудь знает, как сделать подсчет маны у любой группы юнитов?
Асясисяй добавил. Забыл добавить - это нужно для очень интенсивного использования, поэтому использование глобальных переменных не подойдет! |
14.03.2004, 20:38 | #1
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
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 | #2
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Асясисяй
offline
Опыт:
99Активность: |
Спасибо! Но дело в том, что эта функция будет очень часто использоваться.. поэтому использование глобальных переменных не подойдет :( Можно как-то по другому решить эту проблему?
Асясисяй добавил. Сергей, я не такой уж новичок в редакторе :) В триггерах понимаю и даже умею программировать текстовые триггеры (но не очень хорошо). Я новичок на вашем форуме :) |
14.03.2004, 20:54 | #3
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
zibada
offline
Опыт: отключен
|
Не понял, почему интенсивное использование мешает применению глобальных переменных.
Их плохо применять, когда одна функция вызывается одновременно несколькими триггерами, но в примере Сергея тут проблем нет. В крайнем случае, можешь сразу после подсчета значение глоб.переменной сохранить в локальную, и далее пользоваться ей. DimonT добавил. Можно даже отдельную функцию подсчета маны написать - ей будет требоваться одна глобальная переменная для работы, но пользователю не нужно с ней работать вообще, а использовать только возвращаемое ей значение. |
14.03.2004, 21:18 | #4
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Асясисяй
offline
Опыт:
99Активность: |
Так в том и дело, что у меня как раз такая ситуация. Более того, одновременно считается мана у многих групп. Причем считается очень часто. пробовал с переменной - были глюки :( |
14.03.2004, 21:26 | #5
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
zibada
offline
Опыт: отключен
|
Я же говорю - напиши функцию, которой передается группа и которая возвращает суммарную ману. Глобальная переменная там будет сугубо для внутреннего использования - ты не должен к ней обращаться вообще. Одновременно функция будет выполняться только для одной группы, как бы часто ты не ухитрялся эту функцию вызывать. Останется только сохранять возвращенные результаты в различных переменных... |
14.03.2004, 21:32 | #6
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Sergey
Старейший
offline
Опыт:
44,363Активность: |
Асясисяй (надо ж было выбрать такое имя =)), я приписку уже потом заметил, но со сказанным Димоном полностью согласен. В чем твоя проблема? В том, что много подсчетов? Или в том, что требуется сохранять результаты в переменные и использовать их немного погодя? Напиши более подробное описание, что и зачем тебе нужно. |
15.03.2004, 10:56 | #7
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|