|
Re: Скриптинг в Готике
2Finsternis: Я попытался сделать как ты сказал но он всё равно атакует и разговора никакого нет!Может быть что-то сделал не правильно вот скрипт непися instance DMT_666_Bad (Npc_Default) { //-------------Данные персонажа-------
name = "Зомби"; guild = GIL_DMT; npctype = npctype_main; level = 15; voice = 8; id = 666; //-------------Аттрибуты--------------- attribute[ATR_STRENGTH] = 150; attribute[ATR_DEXTERITY] = 150; attribute[ATR_MANA_MAX] = 120; attribute[ATR_MANA] = 110; attribute[ATR_HITPOINTS_MAX] = 200; attribute[ATR_HITPOINTS] = 200; //-------------Визуализация------------ Mdl_SetVisual(self,"HumanS.mds"); Mdl_SetVisualBody(self,"Zom_Body",0,0,"Zom_Head",0 ,DEFAULT,itar_pal_skel); //-------------Таланты---------------- B_GiveNpcTalents (self); B_SetFightSkills (self, 60); //-------------Инвентарь--------------- EquipItem (self, ItMw_1H_Special_01); EquipItem (self, ItRw_Sld_Bow); //-------------Чувства------------------- senses = SENSE_SEE | SENSE_SMELL | SENSE_HEAR; senses_range = 2000;
//-------------АИ------------------------ fight_tactic = FAI_HUMAN_MASTER;
daily_routine = Rtn_Start_666; }; func void Rtn_Start_666() { TA_Smoke_Joint (8,0,22,0,"NW_FARM1_OUT_01"); TA_Smoke_Joint (22,0,8,0,"NW_FARM1_OUT_01"); }; func void Rtn_q_666() { TA_Smoke_Joint (8,0,22,0,"NW_XARDAS_TOWER_SECRET_CAVE_04"); TA_Smoke_Joint (22,0,8,0,"NW_XARDAS_TOWER_SECRET_CAVE_04"); }; а вот скрипт диалога instance DIA_DMt_666_Bad_EXIT(C_Info) { npc = DMT_666_Bad; nr = 999; condition = DIA_DMt_666_Bad_EXIT_Condition; information = DIA_DMt_666_Bad_EXIT_Info; permanent = TRUE; description = Dialog_Ende; };
func int DIA_DMt_666_Bad_EXIT_Condition() { return TRUE; };
func void DIA_DMt_666_Bad_EXIT_Info() { Wld_StopEffect("DEMENTOR_FX"); B_SCIsObsessed(self); AI_StopProcessInfos(self); Npc_SetRefuseTalk(self,30); B_Attack(self,other,AR_NONE,1); Snd_Play("MFX_FEAR_CAST"); };
instance DIA_DMt_666_Bad(C_Info) { npc = DMt_666_Bad; nr = 1; condition = DIA_DMt_666_Bad_Condition; information = DIA_DMt_666_Bad_Info; permanent = TRUE; important = TRUE; };
func int DIA_DMt_666_Bad_Condition() { if(Npc_RefuseTalk(self) == FALSE) { return TRUE; }; };
func void DIA_DMt_666_Bad_Info() { Wld_PlayEffect("DEMENTOR_FX",hero,hero,0,0,0,FALS E); Wld_PlayEffect("spellFX_Fear",self,self,0,0,0,FAL SE); AI_PlayAni(self,"T_PRACTICEMAGIC5"); AI_Output(self,other,"DIA_BridgeDementor_19_0 0"); //текст AI_Output(self,other,"DIA_BridgeDementor_19_0 1"); //текст AI_Output(self,other,"DIA_BridgeDementor_19_0 2"); //текст Npc_SetRefuseTalk(self,30); }; Что я делаю не правильно?
Добавление от 08/10/05, в 18:00:07 Ещё один вопрос можно ли чтобы перед начало разговора чел должен выполнить несколько функций например чтобы у него было 100 золотых и чтобы он перед этим с кем то поговорил Вот пример: func int dia_Lobart_q3_condition() { if(Npc_KnowsInfo(other, DIA_Lobart_q )) { if(Npc_HasItems(other, ItMi_Gold,100)) { return TRUE; }; }; Но компилятор выдаёт ошибку вот она 00:08 Fatal:-1 U: PAR:STORY/DIALOGE/DIA_BAU_950_LOBART.D: EXPECTED ')'(LINE 1104)..<Zparser.cpp,#599>
Добавление от 08/10/05, в 21:25:45 Со вторым вопросом разобрался!Так что отвечать не надо!А вот с первым ещё нет?
|