JET_LI
offline
Опыт:
1,724Активность: |
Триггер не видит локалки
c{{
nothing SetCamera(){ unit u=GetTriggerUnit(); player pl=GetOwningPlayer(u); SetCameraTargetControllerNoZForPlayer(pl,u,0,0,true); CameraSetupApplyForPlayer(false,gg_cam_test,pl,0); set u=null; set pl=null; } nothing Trig_test_Actions(){
unit u=GetTriggerUnit(); player pl=GetOwningPlayer(u); trigger trg=null; if (GetPlayerController(pl)==MAP_CONTROL_USER){ trg=CreateTrigger(); TriggerRegisterTimerEventPeriodic(trg,0.01); TriggerAddAction(trg,function SetCamera); EnableTrigger(trg); SaveTriggerHandle(hashtbl,GetHandleId(u),0,trg); } u=null; pl=null; } nothing InitTrig_EnableMove(){
gg_trg_EnableMove=CreateTrigger(); TriggerRegisterLeaveRectSimple(gg_trg_EnableMove,gg_rct_Zone1); TriggerRegisterLeaveRectSimple(gg_trg_EnableMove,gg_rct_Zone2); TriggerRegisterLeaveRectSimple(gg_trg_EnableMove,gg_rct_Zone3); TriggerRegisterLeaveRectSimple(gg_trg_EnableMove,gg_rct_Zone4); TriggerRegisterLeaveRectSimple(gg_trg_EnableMove,gg_rct_Zone5); TriggerRegisterLeaveRectSimple(gg_trg_EnableMove,gg_rct_Zone6); TriggerRegisterLeaveRectSimple(gg_trg_EnableMove,gg_rct_Zone7); TriggerRegisterLeaveRectSimple(gg_trg_EnableMove,gg_rct_Zone8); TriggerRegisterLeaveRectSimple(gg_trg_EnableMove,gg_rct_Zone9); TriggerRegisterLeaveRectSimple(gg_trg_EnableMove,gg_rct_Zone10); TriggerRegisterLeaveRectSimple(gg_trg_EnableMove,gg_rct_Zone11); TriggerRegisterLeaveRectSimple(gg_trg_EnableMove,gg_rct_Zone12); TriggerRegisterLeaveRectSimple(gg_trg_EnableMove,gg_rct_Zone13); TriggerRegisterLeaveRectSimple(gg_trg_EnableMove,gg_rct_Zone14); TriggerRegisterLeaveRectSimple(gg_trg_EnableMove,gg_rct_Zone15); TriggerRegisterLeaveRectSimple(gg_trg_EnableMove,gg_rct_Zone16); TriggerRegisterLeaveRectSimple(gg_trg_EnableMove,gg_rct_Zone17); TriggerRegisterLeaveRectSimple(gg_trg_EnableMove,gg_rct_Zone18); TriggerRegisterLeaveRectSimple(gg_trg_EnableMove,gg_rct_Zone19); TriggerRegisterLeaveRectSimple(gg_trg_EnableMove,gg_rct_Zone20); TriggerRegisterLeaveRectSimple(gg_trg_EnableMove,gg_rct_Zone21); TriggerRegisterLeaveRectSimple(gg_trg_EnableMove,gg_rct_Zone22); TriggerRegisterLeaveRectSimple(gg_trg_EnableMove,gg_rct_Zone23); TriggerRegisterLeaveRectSimple(gg_trg_EnableMove,gg_rct_Zone24); TriggerAddAction(gg_trg_EnableMove,function Trig_test_Actions); } }} вообщем, созданный триггер trg, как я понял, не видет юнита, покинувший область. помогите решить проблему, чтобы он видел юнита u |
04.04.2010, 15:06 | #1
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
krosaf4eg
offline
Опыт:
1,859Активность: |
событие второго триггера это истечение таймера, у него нет TriggerUnit. в хэштейбл надо использовать не хэндл юнита а хэндл созданного триггера и записывать в него юнита а в функции SetCamera извлекать юнита из хэш таблицы через хэндл от GetTriggeringTrigger. |
04.04.2010, 15:20 | #2
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
JET_LI
offline
Опыт:
1,724Активность: |
спасибо, исправил, работает, тему можно закрывать |
04.04.2010, 15:45 | #3
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|