Показать сообщение отдельно
Старый 18.08.2005, 20:36   #759
TSYLin

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

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

Ещё один вопрос, скопировал из Тёмного мага следущий скрипт


var int bad_ritual;

prototype DEFAULT_DARKMAGE(C_Npc)
{
* * *attribute[ATR_STRENGTH] = 10;
* * *aivar[REAL_STRENGTH] = 10;
* * *attribute[ATR_DEXTERITY] = 10;
* * *aivar[REAL_DEXTERITY] = 10;
* * *attribute[ATR_MANA_MAX] = 10;
* * *aivar[REAL_MANA_MAX] = 10;
* * *attribute[ATR_MANA] = 10;
* * *attribute[ATR_HITPOINTS_MAX] = 40;
* * *attribute[ATR_HITPOINTS] = 40;
* * *HitChance[NPC_TALENT_1H] = 0;
* * *HitChance[NPC_TALENT_2H] = 0;
* * *HitChance[NPC_TALENT_BOW] = 0;
* * *HitChance[NPC_TALENT_CROSSBOW] = 0;
* * *protection[PROT_EDGE] = 0;
* * *protection[PROT_BLUNT] = 0;
* * *protection[PROT_POINT] = 0;
* * *protection[PROT_FIRE] = 0;
* * *protection[PROT_MAGIC] = 0;
* * *damagetype = DAM_BLUNT;
* * *senses = SENSE_HEAR | SENSE_SEE;
* * *senses_range = PERC_DIST_ACTIVE_MAX;
* * *aivar[AIV_MM_FollowTime] = NPC_TIME_FOLLOW;
* * *aivar[AIV_FightDistCancel] = FIGHT_DIST_CANCEL;
* * *bodyStateInterruptableOverride = FALSE;
* * *guild = GIL_BAD;
* * *npcType = NPCTYPE_FRIEND;
* * *level = 50;
* * *voice = 4;
* * *flags = NPC_FLAG_IMMORTAL;
* * *B_SetAttributesToChapter(self,6);
* * *B_SetNpcVisual(self,MALE,"Hum_Head_Bald",Face_N_X ardas,BodyTex_N,ITAR_Xardas);
* * *Mdl_ApplyOverlayMds(self,"Humans_Mage.mds");
* * *Mdl_SetModelFatness(self,0);
* * *B_SetFightSkills(self,30);
* * *CreateInvItems(self,ItPo_Health_03,10);
* * *senses = SENSE_SEE | SENSE_SMELL;
* * *senses_range = 2000;
* * *fight_tactic = FAI_HUMAN_MASTER;
* * *aivar[AIV_IgnoresArmor] = TRUE;
* * *B_GiveNpcTalents(self);
* * *aivar[AIV_MagicUser] = MAGIC_ALWAYS;
* * *aivar[AIV_EnemyOverride] = TRUE;
};

instance BAD_9006_KRIEG(DEFAULT_DARKMAGE)
{
* * *name[0] = "Хранитель войны";
* * *id = 9006;
* * *daily_routine = rtn_start_9006;
};

instance BAD_9007_PEST(DEFAULT_DARKMAGE)
{
* * *name[0] = "Хранитель чумы";
* * *id = 9007;
* * *daily_routine = rtn_start_9007;
};

instance BAD_9008_HUNGER(DEFAULT_DARKMAGE)
{
* * *name[0] = "Хранитель голода";
* * *id = 9008;
* * *daily_routine = rtn_start_9008;
};

instance BAD_9009_TOD(DEFAULT_DARKMAGE)
{
* * *name[0] = "Хранитель смерти";
* * *id = 9009;
* * *daily_routine = rtn_start_9009;
};


func void rtn_start_9006()
{
* * *ta_hueter(0,0,12,0,"OC_RAMP_16");
* * *ta_hueter(12,0,0,0,"OC_RAMP_16");
};

func void rtn_nw_9006()
{
* * *ta_hueter(0,0,12,0,"NW_LITTLESTONEHENDGE");
* * *ta_hueter(12,0,0,0,"NW_LITTLESTONEHENDGE");
};

func void rtn_tot_9006()
{
* * *ta_hueter(0,0,12,0,"TOT");
* * *ta_hueter(12,0,0,0,"TOT");
};

func void rtn_start_9007()
{
* * *ta_hueter(0,0,12,0,"NW_CITY_KANAL_06");
* * *ta_hueter(12,0,0,0,"NW_CITY_KANAL_06");
};

func void rtn_ritual_9007()
{
* * *ta_hueter(0,0,12,0,"NW_LITTLESTONEHENDGE_02");
* * *ta_hueter(12,0,0,0,"NW_LITTLESTONEHENDGE_02");
};

func void rtn_start_9008()
{
* * *ta_hueter(0,0,12,0,"NW_FARM2_PATH_02");
* * *ta_hueter(12,0,0,0,"NW_FARM2_PATH_02");
};

func void rtn_ritual_9008()
{
* * *ta_hueter(0,0,12,0,"NW_LITTLESTONEHENDGE");
* * *ta_hueter(12,0,0,0,"NW_LITTLESTONEHENDGE");
};

func void rtn_start_9009()
{
* * *ta_hueter(0,0,12,0,"ADW_MINE_MC_01");
* * *ta_hueter(12,0,0,0,"ADW_MINE_MC_01");
};

func void rtn_nw_9009()
{
* * *ta_hueter(0,0,12,0,"NW_LITTLESTONEHENDGE_01");
* * *ta_hueter(12,0,0,0,"NW_LITTLESTONEHENDGE_01");
};

func void rtn_tot_9009()
{
* * *ta_hueter(0,0,12,0,"TOT");
* * *ta_hueter(12,0,0,0,"TOT");
};

func void zs_bad_routine()
{
* * *Perception_Set_Normal();
* * *AI_SetWalkMode(self,NPC_WALK);
* * *if(Npc_GetDistToWP(self,self.wp) > 1000)
* * *{
* * * * * *if(Npc_GetDistToNpc(self,hero) < 10000)
* * * * * *{
* * * * * * * * *AI_PlayAni(self,"T_RUN_2_MAG");
* * * * * * * * *AI_PlayAni(self,"T_MAG_2_MAGRUN");
* * * * * * * * *AI_PlayAni(self,"T_MAGRUN_2_HEASHOOT");
* * * * * * * * *Wld_PlayEffect("spellFX_Teleport",self,self,0,0,0 ,FALSE);
* * * * * *};
* * * * * *AI_Teleport(self,self.wp);
* * *};
* * *AI_GotoWP(self,self.wp);
* * *AI_AlignToWP(self);
};

func int zs_bad_routine_loop()
{
* * *var int randomMove;
* * *if(KENNT_STEINKREIS)
* * *{
* * * * * *if((((self.id == 9006) && Npc_KnowsInfo(hero,bad_krieg_speak)) || ((self.id == 9009) && Npc_KnowsInfo(hero,bad_tod_speak))) && (CurrentLevel != NEWWORLD_ZEN) && (Npc_GetDistToWP(self,"TOT") > 1000) && (self.aivar[AIV_INVINCIBLE] == FALSE))
* * * * * *{
* * * * * * * * *Npc_ExchangeRoutine(self,"Tot");
* * * * * * * * *return LOOP_END;
* * * * * *};
* * * * * *if((((self.id == 9006) && Npc_KnowsInfo(hero,bad_krieg_speak)) || ((self.id == 9009) && Npc_KnowsInfo(hero,bad_tod_speak))) && (CurrentLevel != NEWWORLD_ZEN) && (Npc_GetDistToWP(self,"TOT") <= 1000))
* * * * * *{
* * * * * * * * *self.flags = 0;
* * * * * * * * *Npc_ChangeAttribute(self,ATR_HITPOINTS,-self.attribute[ATR_HITPOINTS_MAX]);
* * * * * * * * *return LOOP_END;
* * * * * *};
* * * * * *if((self.id == 9007) && Npc_KnowsInfo(hero,bad_pest_speak) && (Npc_GetDistToWP(self,"NW_LITTLESTONEHENDGE_02") > 1000) && (self.aivar[AIV_INVINCIBLE] == FALSE))
* * * * * *{
* * * * * * * * *Npc_ExchangeRoutine(self,"Ritual");
* * * * * * * * *return LOOP_END;
* * * * * *};
* * * * * *if((self.id == 9008) && Npc_KnowsInfo(hero,bad_hunger_speak) && (Npc_GetDistToWP(self,"NW_LITTLESTONEHENDGE") > 1000) && (self.aivar[AIV_INVINCIBLE] == FALSE))
* * * * * *{
* * * * * * * * *Npc_ExchangeRoutine(self,"Ritual");
* * * * * * * * *return LOOP_END;
* * * * * *};
* * *};
* * *if((BAD_RITUAL == 1) && (self.id == 9006))
* * *{
* * * * * *Wld_PlayEffect("FX_EarthQuake",self,self,0,0,0,FA LSE);
* * * * * *AI_PlayAni(self,"T_PRACTICEMAGIC5");
* * * * * *Wld_PlayEffect("spellFX_INCOVATION_VIOLET",self,s elf,0,0,0,FALSE);
* * * * * *BAD_RITUAL = 2;
* * * * * *return LOOP_CONTINUE;
* * *};
* * *if((BAD_RITUAL == 2) && (self.id == 9007))
* * *{
* * * * * *AI_PlayAni(self,"T_PRACTICEMAGIC5");
* * * * * *Wld_PlayEffect("spellFX_INCOVATION_VIOLET",self,s elf,0,0,0,FALSE);
* * * * * *BAD_RITUAL = 3;
* * * * * *return LOOP_CONTINUE;
* * *};
* * *if((BAD_RITUAL == 3) && (self.id == 9008))
* * *{
* * * * * *AI_PlayAni(self,"T_PRACTICEMAGIC5");
* * * * * *Wld_PlayEffect("spellFX_INCOVATION_VIOLET",self,s elf,0,0,0,FALSE);
* * * * * *BAD_RITUAL = 4;
* * * * * *return LOOP_CONTINUE;
* * *};
* * *if((BAD_RITUAL == 4) && (self.id == 9009))
* * *{
* * * * * *Wld_PlayEffect("FX_EarthQuake",self,self,0,0,0,FA LSE);
* * * * * *AI_PlayAni(self,"T_PRACTICEMAGIC5");
* * * * * *Wld_PlayEffect("spellFX_INCOVATION_VIOLET",self,s elf,0,0,0,FALSE);
* * * * * *BAD_RITUAL = 5;
* * * * * *return LOOP_CONTINUE;
* * *};
* * *if(Npc_GetStateTime(self) > 5)
* * *{
* * * * * *randomMove = Hlp_Random(6);
* * * * * *if(randomMove == 0)
* * * * * *{
* * * * * * * * *AI_PlayAni(self,"R_LEGSHAKE");
* * * * * *};
* * * * * *if(randomMove == 1)
* * * * * *{
* * * * * * * * *AI_PlayAni(self,"R_SCRATCHLSHOULDER");
* * * * * *};
* * * * * *if(randomMove == 2)
* * * * * *{
* * * * * * * * *AI_PlayAni(self,"R_SCRATCHEGG");
* * * * * *};
* * * * * *if(randomMove == 3)
* * * * * *{
* * * * * * * * *AI_PlayAni(self,"R_SCRATCHHEAD");
* * * * * *};
* * * * * *if(randomMove == 4)
* * * * * *{
* * * * * * * * *AI_PlayAni(self,"R_SCRATCHRSHOULDER");
* * * * * *};
* * * * * *if(randomMove == 5)
* * * * * *{
* * * * * * * * *AI_PlayAni(self,"T_PRACTICEMAGIC");
* * * * * *};
* * * * * *Npc_SetStateTime(self,0);
* * *};
* * *return LOOP_CONTINUE;
};

func void zs_bas_routine_end()
{
};


zSpy пишет что unknown identifier ta_hueter

ожет быть надо где-нибудь что-нибудь прописать?

2Vam:
Большое спасибо
Ответить с цитированием