XGM Forum
Сайт - Статьи - Проекты - Ресурсы - Блоги

Форуме в режиме ТОЛЬКО ЧТЕНИЕ. Вы можете задать вопросы в Q/A на сайте, либо создать свой проект или ресурс.
Вернуться   XGM Forum > Warcraft> Академия: форум для вопросов> Jass
Ник
Пароль
Войти через VK в один клик
Сайт использует только имя.

Ответ
 
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
krosaf4eg

offline
Опыт: 1,859
Активность:
событие второго триггера это истечение таймера, у него нет TriggerUnit. в хэштейбл надо использовать не хэндл юнита а хэндл созданного триггера и записывать в него юнита а в функции SetCamera извлекать юнита из хэш таблицы через хэндл от GetTriggeringTrigger.
Старый 04.04.2010, 15:20
JET_LI

offline
Опыт: 1,724
Активность:
спасибо, исправил, работает, тему можно закрывать
Старый 04.04.2010, 15:45
Ответ

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы можете скачивать файлы

BB-коды Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход



Часовой пояс GMT +3, время: 03:27.