nic666
offline
Опыт:
4,012Активность: |
TriggerExecute
Извиняюсь заранее...
Как работает TriggerExecute?
В чем трабла, почему спрашиваю:
Я тут использую SetRandomSeed чтобы сгенерировать некую последовательность и чтобы она задавалась однозначно начальным числом... Но - последовательность при одинаковом входном числе оказывается разная! У меня такое впечатление что что-то работает паралельно (в другом потоке) и там вызывается ГСЧ несколько раз... Отредактировано nic666, 14.12.2006 в 09:16. |
14.12.2006, 09:03 | #1
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
DioD
offline
Опыт:
45,184Активность: |
рандом сид надо устанавливать каждый раз перед вызовом рандом числа, можно посмотреть это в функциях синематика, во всяком случае
эксекат триггер создаёт новый поток |
14.12.2006, 09:38 | #2
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
nic666
offline
Опыт:
4,012Активность: |
А в нативах еще есть
TriggerExecuteWait он то хоть ждет пока выполнится код вызываемого триггера, а не выполняет его паралельно с остатком кода?
Судя по названию, я имено так и думаю... так ли? |
14.12.2006, 09:49 | #3
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
DioD
offline
Опыт:
45,184Активность: |
timer 0.00 выполняется сразу по завершению триггера |
14.12.2006, 11:43 | #4
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
nic666
offline
Опыт:
4,012Активность: |
Я проверил свой код, сделал так что тригеры включаются последовательно, накладок быть не может. Но где-то между вызовом моих тригеров выполняются другие, наверное связаные с работой AI и они наверное используют Random в своих целях, мне этого не надо.
Всвязи с чем создаю другую тему: Как сделать свой RND генератор. Если это удастся то можно иметь свой изолированый генератор и никакие AI в него не влезут... |
14.12.2006, 12:02 | #5
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
p01nTT
offline
Опыт:
10,760Активность: |
nic666 лучше выложи код,того что ты делаешь
|
14.12.2006, 12:48 | #6
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
nic666
offline
Опыт:
4,012Активность: |
ВОПРОС:
Как можно запустить триггер кроме TriggerExecute
необходимо чтобы пока тригер не отработает полностью чтобы дальше код не выполнялся в вызывающем тригере. (Можно конечно вызвать через call функцию с экшен тригера, но в моем случае я не знаю наперед название этой функции, может чтобы узнать на нее ссылку есть другая функция?) |
14.12.2006, 13:27 | #7
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
DioD
offline
Опыт:
45,184Активность: |
не пробывал делать так
function B
call call call call END endfunction function A
call call call exec B endfunction function
call call call exec A endfunction Смысл в том, что эксекат делать ПОСЛЕДНИМ в тригере и все действия что происходят после него добавить в тот триггер что вызываеся, а потом в следующий и так по цепочке |
14.12.2006, 13:34 | #8
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
nic666
offline
Опыт:
4,012Активность: |
Да вся беда в том что я не хочу переводить все триггеры из Гуи в жасс... если перевести в жас то проблема бы исчезла... |
14.12.2006, 13:48 | #9
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
DioD
offline
Опыт:
45,184Активность: |
ах, ну тогда это будет глючно, делай через call функция триггера, иначе только переносить действия.
еще можно воспользоваться тригер очередью, хотя это не то.. |
14.12.2006, 13:59 | #10
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
nic666
offline
Опыт:
4,012Активность: |
Тригер очередь в конечном итоге это опять TrigerExecute просто потоков меньше, через call это да но WorldEdit ругается что этой функции еще нет (наверно так как тригер гуи) |
14.12.2006, 14:01 | #11
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
DioD
offline
Опыт:
45,184Активность: |
гуи триггеры идут НЕ по порядку, и слудует добовлять функцию для вызова вышефункции из которой она вызывается ПРИНУДИТЕЛЬНО ручками, тоесть придётся переводить гуи триггеры в джаз.
делай так
1 создал гуи триггер 2 копировал 3 выключил 4 оригинал конвертировал в джаз 5 перенёс 6 надо редактировать работай с гуи версией |
14.12.2006, 14:04 | #12
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Toadcop
offline
Опыт:
53,013Активность: |
Trig(g)erExecute TriggerEvalute - быстрей но выполняет только условия ! все нормальные юзают Evalute для хитрых вещей...
|
15.12.2006, 15:59 | #13
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|