Показать сообщение отдельно
Старый 12.10.2007, 23:55   #1869
B_Wolf

AGFC
Гость
 
Сообщений: n/a

По умолчанию Re: М: Скриптинг в Готике

2okin:
{Тру-ля-ля диалог
Wld_SpawnNpcRange(hero,none_3101_ghastly,3,100);
   Npc_SetTarget (none_3101_ghastly, hero);
   AI_Attack(none_3101_ghastly);
   AI_StopProcessInfos(self);
   AI_Teleport(none_3001_MadMage,"TOT");
};
2okin:
{Тру-ля-ля диалог
Wld_SpawnNpcRange(hero,none_3101_ghastly,3,100);
   Npc_SetTarget (none_3101_ghastly, hero);
   AI_Attack(none_3101_ghastly);
   AI_StopProcessInfos(self);
   AI_Teleport(none_3001_MadMage,"TOT");
};
Про эффект телепортации при неоконченном диалоге что-то в этой теме было, но вроде это не тот случай?
Собственно у вас происходит именно то, что описано в скрипте.. Во время диалога происходит телепортирование без ожидания завершения диалога. AI_StopProcessInfos(self) в этом случае НЕ поможет.

Телепортирование можно реализовать переводом НПЦ в заранее описанный
TA_ распорядок (в примере TA_MyTeleport) дня прописываемый в файле НПЦ

(444 в примере ID НПЦ)

func void Rtn_GoMyPoint_444()
{
TA_MyTeleport(23,0,6,0,"WP_STAY01");
};


, используя в диалоге

B_StartOtherRoutine(self,"GoMyPoint");

в ZS_ функции (TA_ распорядка) которого и будет прописано телепортирование.

func void ZS_MyTeleport()
{
};

func int ZS_MyTeleport_loop()
{
     return LOOP_END;
};

func void ZS_MyTeleport_end()
{
     AI_Teleport(self,"WP_MYPOINT");
};
Ответить с цитированием