1
Skrypty / Rozmowa ze zwierzetami
« dnia: 2014-05-16, 20:28 »
Wie ktos jak zrobic to tym redefixem ???
Ta sekcja pozwala Ci zobaczyć wszystkie wiadomości wysłane przez tego użytkownika. Zwróć uwagę, że możesz widzieć tylko wiadomości wysłane w działach do których masz aktualnie dostęp.
Skompilowałeś skrypty i połączyłeś dialogi z NPC redefix'em / spacerem?
INSTANCE Koza01 (Mst_Default_Koza)
{
aivar[AIV_MM_REAL_ID] = ID_KOZA01;
aivar[AIV_ToughGuy] = TRUE;
B_SetVisuals_Ziege_01();
Npc_SetToFistMode(self);
aivar[AIV_MM_RoamStart] = OnlyRoutine;
start_aistate = ZS_MM_Rtn_Follow_Sheep;
CreateInvItems (self, ItFoKozaRaw, 2);
Mdl_SetModelScale(self, 0.9, 0.9, 0.9);
};
//***************
// Follow_Sheep
//***************
INSTANCE Follow_Sheep (Mst_Default_Sheep)
{
name = "Betsy";
aivar[AIV_ToughGuy] = TRUE; //Liesel knn getötet werden, ohne daß jemand sich anpißt!
B_SetVisuals_Sheep();
Npc_SetToFistMode(self);
aivar[AIV_MM_RoamStart] = OnlyRoutine;
start_aistate = ZS_MM_Rtn_Follow_Sheep;
CreateInvItems (self, ItFoMuttonRaw, 1);
};
//***************
// Follow_Sheep_AKIL
//***************
INSTANCE Follow_Sheep_AKIL (Mst_Default_Sheep)
{
name = "Owca";
aivar[AIV_ToughGuy] = TRUE;
B_SetVisuals_Sheep();
Npc_SetToFistMode(self);
aivar[AIV_MM_RoamStart] = OnlyRoutine;
start_aistate = ZS_MM_Rtn_Follow_Sheep;
CreateInvItems (self, ItFoMuttonRaw, 1);
};
Rutyna (ZS_MM_AllScheduler) którą przypisałeś nie ma perceptiona dialogu i musisz go dodać to tej rutyny lub stworzyć nowąJak to zrobic ?
PROTOTYPE Mst_Default_Koza(C_Npc)
{
//----- Maonster ----
name = "Koza";
guild = GIL_SHEEP;
level = 1;
//----- Attribute ----
attribute [ATR_STRENGTH] = 5;
attribute [ATR_DEXTERITY] = 5;
attribute [ATR_HITPOINTS_MAX] = 25;
attribute [ATR_HITPOINTS] = 25;
attribute [ATR_MANA_MAX] = 0;
attribute [ATR_MANA] = 0;
//----- Protection ----
protection [PROT_BLUNT] = 0;
protection [PROT_EDGE] = 0;
protection [PROT_POINT] = 0;
protection [PROT_FIRE] = 0;
protection [PROT_FLY] = 0;
protection [PROT_MAGIC] = 0;
//----- Damage Types ----
damagetype = DAM_EDGE;
// damage [DAM_INDEX_BLUNT] = 0;
// damage [DAM_INDEX_EDGE] = 0;
// damage [DAM_INDEX_POINT] = 0;
// damage [DAM_INDEX_FIRE] = 0;
// damage [DAM_INDEX_FLY] = 0;
// damage [DAM_INDEX_MAGIC] = 0;
//----- Kampf-Taktik ----
//fight_tactic = FAI_Giant_Rat;//Schafe kämpfen nicht!!
//----- Senses & Ranges ----
senses = SENSE_HEAR | SENSE_SEE | SENSE_SMELL;
senses_range = PERC_DIST_MONSTER_ACTIVE_MAX;
aivar[AIV_MM_FollowTime] = FOLLOWTIME_MEDIUM;
aivar[AIV_MM_FollowInWater] = FALSE;
//----- Daily Routine ----
};
func void B_SetVisuals_Ziege_01()
{
Mdl_SetVisual (self, "Ziege.mds");
// Body-Mesh Body-Tex Skin-Color Head-MMS Head-Tex Teeth-Tex ARMOR
Mdl_SetVisualBody (self, "Ziege_01_Body", DEFAULT, DEFAULT, "", DEFAULT, DEFAULT, -1);
};
INSTANCE Koza01 (Mst_Default_Koza)
{
aivar[AIV_MM_REAL_ID] = ID_KOZA01;
B_SetVisuals_Ziege_01();
Npc_SetToFistMode(self);
start_aistate = ZS_MM_AllScheduler;
aivar[AIV_MM_RoamStart] = OnlyRoutine;
CreateInvItems (self, ItFoKozaRaw, 2);
Mdl_SetModelScale(self, 0.9, 0.9, 0.9);
};
//*********************************************************************
// Info EXIT
//*********************************************************************
INSTANCE DIA_koza01_EXIT (C_INFO)
{
npc = Koza01;
nr = 999;
condition = DIA_koza01_EXIT_Condition;
information = DIA_koza01_EXIT_Info;
permanent = TRUE;
description = DIALOG_ENDE;
};
FUNC INT DIA_koza01_EXIT_Condition()
{
return TRUE;
};
FUNC VOID DIA_koza01_EXIT_Info()
{
AI_StopProcessInfos (self);
};
//*********************************************************************
// Info Hello
//*********************************************************************
INSTANCE DIA_Koza01_Wydoj (C_INFO)
{
npc = Koza01;
nr = 1;
condition = DIA_Koza_Wydoj_Condition;
information = DIA_Koza_Wydoj_Info;
permanent = TRUE;
description = "Wydój";
};
FUNC INT DIA_Koza_Wydoj_Condition()
{
return TRUE;
};
FUNC VOID DIA_Koza_Wydoj_Info()
{
if (Npc_HasItems (hero, ItMi_Bucket))
{
B_giveinvitems (self, other, ItFo_MilkKoza, 1);
Npc_RemoveInvItems (hero, ItMi_Bucket, 1);
};
};
FUNC VOID EquipUriziel()Tyle kombinowania a wystarczy takie cos.
{
if (hero.attribute[ATR_STRENGTH] >= 250)
{
CreateInvItems (self, ItMw_1h_Uriziel, 1);
Npc_RemoveInvItems (self, ItMw_2h_Uriziel, 1);
}
else
{
};
};
FUNC VOID UnEquipUriziel()
{
};
FUNC VOID EquipUriziel()
{
if (ItMw_Uriziel.flags & ITEM_2HD_SWD) && (hero.attribute[ATR_STRENGTH] >= 300)
{
ItMw_Uriziel.flags = ITEM_SWD;
}
else if (ItMw_Uriziel.flags & ITEM_SWD) && (hero.attribute[ATR_STRENGTH] < 300)
{
ItMw_Uriziel.flags = ITEM_2HD_SWD;
};
};
FUNC VOID UnEquipUriziel()
{
};
przepisz na kod to co ci podałem