PlayerDark
Coraline
offline
Опыт:
10,569Активность: |
Игнорировать событие
Я сделал система в ходе которой вызывается событие Юнит теряет\получает предмет. Из за этого моя система очень часто глючит тк сторонние триггеры работающие на это событие сбивают алгоритм системы. Вопрос : можно ли избежать вызова этого события ? |
27.09.2008, 19:30 | #1
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
__Dark Lord__
offline
Опыт:
5,262Активность: |
Можно его не обрабатывать) И можно поподробнее про сторонние тригеры... |
27.09.2008, 19:37 | #2
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
PlayerDark
Coraline
offline
Опыт:
10,569Активность: |
Сторонние триггеры которые юзают это событие могут изменять передаваемый предмет что мне совершенно не нужно при передаче его между дамми - юнитами. Не обрабатывать нельзя тк я не могу отслеживать все чужие триггеры. |
27.09.2008, 19:41 | #3
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
ShadoW DaemoN
offline
Опыт:
37,078Активность: |
Избежать события нельзя, если, конечно, не совершать соответствующего действия. Отключай "сторонние триггеры" перед тем, как убираешь/добавляешь предмет, а затем включай их. Либо ставь условие у "сторонних триггеров", например, что юнит, теряющий предмет, не дамми. |
27.09.2008, 19:42 | #4
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
J
expert
offline
Опыт:
48,447Активность: |
PlayerDark сделай какуюнибудь булевую глобальную переменую, и нацепи на триггер событие чтобы эта переменая была ровна false
и когда в стороних триггерах используеш действия типо дать юниту предмет, и не хочеш чтобы выполнялся триггер то перед дачей предмета устанавливай переменую в true а после в false |
27.09.2008, 19:44 | #5
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
PlayerDark
Coraline
offline
Опыт:
10,569Активность: |
Я так и пытался делать но мне это показалось слишком геморно. Вобще можно ли изменить механизм передачи предмета так что бы событие не срабатывало ? |
27.09.2008, 19:44 | #6
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Van Damm
wait... what?
offline
Опыт:
22,268Активность: |
или, как вариант, сделать в сторонних триггерах проверку на тип юнита |
27.09.2008, 19:46 | #7
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
PlayerDark
Coraline
offline
Опыт:
10,569Активность: |
Jon те событие отключить нельзя никак.
|
27.09.2008, 19:46 | #8
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
J
expert
offline
Опыт:
48,447Активность: |
какое событие? триггер не выполницо и все будет хорошо в чем проблемо? я несолько раз сталкивался с этой проблемой когда делал инвентарь |
27.09.2008, 19:46 | #9
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
PlayerDark
Coraline
offline
Опыт:
10,569Активность: |
Суть проблемы в том что у меня есть несколько систем каждая из которых юзает этот эвент. Некоторые из этих систем создают динамические триггеры с этим событием. При этом системы начинают перекрывать друг друга в результате чего все аццко глючит.Jon, Van Damm по видимому придется редактировать все системы добавляя туда эту проверку. В том числе и чужие.
PlayerDark добавил: Jon я тоже делаю инвентарь. У меня есть несколько сумок - юнитов (ну можно конечно и без них но это уже тема) и юнит к которому привязаны эти сумки. И есть допустим система сложения зарядов которая контролирует сбрасвание предметов (по одному заряду) в рез - те чего нормальная передача предметов между сумкой и юнитом становится невозможной... |
27.09.2008, 19:53 | #10
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
J
expert
offline
Опыт:
48,447Активность: |
Цитата:
ну я же сказал, когда создаются динамические триггеры вешай на них условие чтобы например булевая переменая была ровна false, а когда передаеш предметы между сумкой и юнитом то ставь эту переменую в true, и сразу же потом в false, в результате триггер не выполницо и нечего не збойнёт... |
|
27.09.2008, 20:02 | #11
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
adic3x
offline
Опыт:
108,439Активность: |
ну ваши системы тупо конфликтуют
хм, оно же потоки при получение итема пересекаються? тогда булевой все решается... или проверкой на юнит тип
ну а в идеале все системы надо обьеденять, переписывать и подгонять, т.е. что бы тригер был один на полученние предмета и он все контролировал |
28.09.2008, 18:59 | #12
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
NETRAT
offline
Опыт:
83,712Активность: |
либо флаг (аки булева переменная) либо вручную отключать триггеры |
29.09.2008, 11:15 | #13
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|