Shuex
feel my presence
offline
Опыт:
1,024Активность: |
Передача параметров в триггер
Создал я заготовку для своей системы движения снаряда.
Вопрос в том, как мне передать туда параметры, а потом просто запустить систему? Например, когда юнит получил урон caster и target это damageSource и triggerUnit соответственно. Когда заклинание произносит - они уже другие. Короче, под каждое событие для разных юнитов нужно передать свои параметры, как это сделать? |
14.12.2014, 12:33 | #1
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Buulichkaa
Делаю спеллы за еду
offline
Опыт:
20,171Активность: |
((кат 1
))
((кат 2
))
Buulichkaa добавил:
наверное это не совсем то, что вам надо. Для принятия в функции-обработчике события например юнита, который скастовал способность существуют специальные нативки например
и вернет нам нашего юнита
смотрим весь список в common.j и учим английский потихоньку |
14.12.2014, 13:43 | #2
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Shuex
feel my presence
offline
Опыт:
1,024Активность: |
Buulichkaa, спасибо. Подобные файлы как common.j не разбирал, но обо всех таких простых функциях я знаю.
Мне всего лишь надо какой-то пример на Jass'e или совет как это делают правильно.
На GUI вроде бы в триггере с событием задают значения всем глобалкам, а потом просто: ((код jass
call TriggerExecute( gg_trg_Missile )
)) Если это и есть тот "правильный" способ, то вроде как я сам дал себе ответ :D Интересует, если несколько юнитов одновременно будут вызывать этот триггер, глобалки не будут перезаписываться? Вряд ли они успеют все быстро отработать без ошибок, когда 10 юнитов одновременно атакуют и нужно выпускать снаряд.. |
14.12.2014, 14:17 | #3
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Buulichkaa
Делаю спеллы за еду
offline
Опыт:
20,171Активность: |
Emily_WoRnz, это раковня, получаем все параметры от события нативками, записываем их в хэш-таблицу или параллельные массивы, а затем используете где вам надо |
14.12.2014, 14:30 | #4
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Shuex
feel my presence
offline
Опыт:
1,024Активность: |
Вот, хэш-таблицы - уже лучше, хотя говорят, они медленные) Параллельные массивы это что?. Я начинал с GUI MUI способностей, знаю как там через массивы это делать, это и есть параллельные массивы? |
14.12.2014, 17:37 | #5
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
quq_CCCP
Я белый и пушистый!
online
Опыт:
94,553Активность: |
Emily_WoRnz, хеш таблица не настолько медленная чтобы это что то решало в большинстве случаев. Массивы или структуры vjass одно и тоже, они работают быстрее хештаблиц, но от этого мало толку, особенно в реализации простеньких триггерных заклинаний, аттачить индекс структуры к объекту (таймеру, триггеру) нужно хештаблицей или каконить системой хранения данных, последние представляют из себя кучу кода которая нужна ну тока если пипец много раз за секунду её юзают в 100 местах, вроде систем кастомного перемещения юнитов или кастомные снаряды и тп. |
14.12.2014, 18:07 | #6
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Shuex
feel my presence
offline
Опыт:
1,024Активность: |
quq_CCCP, в позапрошлой моей теме, где я спрашивал про триггерное изменение звука оружия в игре, мне DioD подкинул мысль, что можно свою кастомную систему снарядов сделать, за что ему спасибо :)
Вот, я сделал. Теперь думаю какой способ оптимальный для ее запуска. Если <50 юнитов одновременно будут запускать снаряды, допустим. |
14.12.2014, 18:28 | #7
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
quq_CCCP
Я белый и пушистый!
online
Опыт:
94,553Активность: |
Кастомная система снарядов вроде лежала в барахолке Simple Missile System вроде, точно уже и не помню.
quq_CCCP добавил: вот ссыль - мб пригодится. |
14.12.2014, 18:33 | #8
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Shuex
feel my presence
offline
Опыт:
1,024Активность: |
quq_CCCP, сейчас посмотрю)
Своя всегда лучше :D В играх, при попадании стрелы в цель, проигрывается звук, а в варике нет. Я это исправил) Еще по дугам может снаряд летать и менять свой угол наклона, благодаря дамми модельке подходящей. И еще у меня мало чего лишнего, чисто под себя сделал. Хотя, конечно, нужно еще довести до ума) |
14.12.2014, 18:34 | #9
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Shuex
feel my presence
offline
Опыт:
1,024Активность: |
Ребята, вроде я знаю как можно решить мой вопрос, но не совсем понимаю как это сделать :D
Моя система с помощью структуры сделана же. Все способности тоже в виде структуры.
Короче, как вставить кусок кода? Как в каком-то языке программирования подключают библиотеку/пространство имен, тем самым мы используем структуры и остальное из той библиотеки.
Я пробовал уже:
((код jass
library SpellOne requires MMS и extends пробовал, и uses /* и implement MMS вот тут пробовал, всё равно не могу обращаться к полям структуры Missile, которая в библиотеке MMS */ ... endlibrary )) |
15.12.2014, 20:03 | #10
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
ScorpioT1000
Работаем
online
Опыт: отключен
|
Немного ворвусь xgm.guru/p/wc3/w3_special_programming раздел Стек и "Аттачи" Странно, что "гении" постами выше не дали ни одной ссылки на статьи... |
15.12.2014, 20:30 | #11
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Shuex
feel my presence
offline
Опыт:
1,024Активность: |
Воот! буду разбираться спасибо :) а я extends писал к library, не зная что он делает) |
15.12.2014, 20:34 | #12
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Buulichkaa
Делаю спеллы за еду
offline
Опыт:
20,171Активность: |
ScorpioT1000, у некоторых ссылки на статьи это неотъемлемые части постов, но не все это замечают |
15.12.2014, 20:45 | #13
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Shuex
feel my presence
offline
Опыт:
1,024Активность: |
Ура, с помощью наследования всё удалось, спасибо, господа) Тему можно закрывать :) |
15.12.2014, 23:16 | #14
+1/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|