Zaraz prześle
Post połączony: 2016-02-21, 16:42
Postać:
instance ORG_9999_Krawler (Npc_Default)
{
//-------- primary data --------
name = "Krawler";
Npctype = Npctype_Main;
guild = GIL_ORG;
level = 4;
voice = 2;
id = 9999;
//-------- abilities --------
attribute[ATR_STRENGTH] = 20;
attribute[ATR_DEXTERITY] = 15;
attribute[ATR_MANA_MAX] = 0;
attribute[ATR_MANA] = 0;
attribute[ATR_HITPOINTS_MAX] = 88;
attribute[ATR_HITPOINTS] = 88;
//-------- visuals --------
// animations
Mdl_SetVisual (self,"HUMANS.MDS");
Mdl_ApplyOverlayMds (self,"Humans_Relaxed.mds");
// body mesh, head mesh, hairmesh, face-tex, hair-tex, skin
Mdl_SetVisualBody (self,"hum_body_Naked0",0, 1,"Hum_Head_FatBald", 39, 2, ORG_ARMOR_H);
B_Scale (self);
Mdl_SetModelFatness (self, 0);
self.aivar[AIV_IMPORTANT] = TRUE;
fight_tactic = FAI_HUMAN_STRONG;
//-------- Talente --------
Npc_SetTalentSkill (self, NPC_TALENT_BOW,1);
Npc_SetTalentSkill (self, NPC_TALENT_1H,1);
//-------- inventory --------
CreateInvItems (self, ItKeLockpick,1);
CreateInvItems(self, ItMiNugget, 13);
CreateInvItems (self, ItFoRice,7);
CreateInvItems (self, ItFoBooze, 4);
CreateInvItems (self, ItLsTorch, 2);
CreateInvItems (self, ItFo_Potion_Health_01, 2);
CreateInvItem (self, ItMi_Stuff_Barbknife_01);
CreateInvItem (self, ItFoMutton);
CreateInvItem (self, ItAt_Claws_01);
EquipItem (self, ItMw_1H_Mace_02);
EquipItem (self, ItRw_Bow_Small_01);
CreateInvItems (self, ItAmArrow, 10);
//-------------Daily Routine-------------
daily_routine = Rtn_Start_9999;
};
FUNC VOID Rtn_Start_9999 ()
{
TA_Sleep (23,00,07,30,"OC_LOZKA_BANDYCI");
TA_Cwiczenie (07,30,23,00,"OC_KRAWLERA");
};
Post połączony: 2016-02-21, 16:42
ZS_CWICZENIE
/*******************************************
* NSC benutzt Kochkessel *
*******************************************/
FUNC VOID ZS_Cwiczenie ()
{
PrintDebugNpc (PD_TA_FRAME,"ZS_Cwiczenie");
B_SetPerception (self);
if (!C_BodyStateContains(self, BS_MOBINTERACT))
{
AI_SetWalkmode (self,NPC_WALK); // Walkmode für den Zustand
if ((Hlp_StrCmp(Npc_GetNearestWp (self),self.wp)== 0))
{
AI_GotoWP (self, self.wp);
};
AI_UseMob(self,"t_Cwiczenie",1); // Benutze den Mob einmal bis zum angegebenen State
};
};
FUNC VOID ZS_Cwiczenie_Loop()
{
PrintDebugNpc (PD_TA_LOOP,"ZS_Cwiczenie_Loop"); // Da hier nur eine Ani geloopt wird reicht es diese in Begin und End zu benutzen
var int randomizer;
randomizer = Hlp_Random (20);
if (Npc_GetStateTime ( self ) >= 100 + randomizer)
{
B_InterruptMob ("t_Cwiczenie");
};
AI_Wait(self,1);
};
FUNC VOID ZS_Cwiczenie_End()
{
PrintDebugNpc (PD_TA_FRAME,"ZS_Cwiczenie_End");
AI_UseMob (self,"CAULDRON",-1); //Verlassen sie bitte ihr Mobsi
};
Post połączony: 2016-02-21, 16:43
I pierwsza linijka kodu TA.d
func void TA_Cwiczenie (var int start_h, var int start_m, var int stop_h, var int stop_m, VAR string waypoint) {TA_Min (self, start_h,start_m, stop_h, stop_m, ZS_Cwiczenie, waypoint);};