2141
Skrypty / Gothic 2 Problem z nowym zadaniem typu zabij kogoś
« dnia: 2015-07-28, 17:38 »
Nie no tylko w Khorinis ma się zrespić.
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.
// ------ Eisdrache ------
if (slf.aivar[AIV_MM_REAL_ID] == ID_DRAGON_ICE)
{
if (Npc_HasItems (slf, ItRu_InstantFireball) == 0)
{
CreateInvItems (slf, ItRu_InstantFireball, 1);
};
if (Npc_GetDistToNpc(slf,oth) > FIGHT_DIST_DRAGON_MAGIC)
{
B_ReadySpell (slf, SPL_InstantFireball, SPL_Cost_InstantFireball);
return TRUE;
}
else
{
return FALSE; //Nahkampfangriff
};
};
// ------ Untoter Drache (ENDGEGNER) ------
if (slf.aivar[AIV_MM_REAL_ID] == ID_DRAGON_UNDEAD)
{
Npc_ClearAIQueue(self);
if (Npc_HasItems (slf, ItRu_Deathball) == 0)
{
CreateInvItems (slf, ItRu_Deathball, 1);
};
if (Npc_GetDistToNpc(slf,oth) > FIGHT_DIST_DRAGON_MAGIC)
{
B_ReadySpell (slf, SPL_Deathball, SPL_Cost_Deathball);
return TRUE;
}
else
{
return FALSE; //Nahkampfangriff
};
};
// ------ Ork Schamane ------
if (slf.aivar[AIV_MM_REAL_ID] == ID_ORCSHAMAN)
{
if (Npc_HasItems (slf, ItRu_InstantFireball) == 0)
{
CreateInvItems (slf, ItRu_InstantFireball, 1);
};
if (Npc_GetDistToNpc(slf,oth) > FIGHT_DIST_MELEE)
{
B_ReadySpell (slf, SPL_InstantFireball, SPL_Cost_InstantFireball);
return TRUE;
}
else
{
return FALSE; //Nahkampfangriff
};
};
return FALSE; //alle anderen Gilden
};
// ------ Mag próba ------
if (slf.guild == GIL_SLD)
|| (slf.aivar[AIV_MagiK]== MAGIC_ALWAYS)
{
if (Npc_HasItems (slf, ITRU_PYROKINESIS) == 0)
{
CreateInvItems (slf, ITRU_PYROKINESIS, 1);
};
if (Npc_HasItems (slf, ItRu_InstantFireBall) == 0)
{
CreateInvItems (slf, ItRu_InstantFireBall, 1);
};
if (Npc_HasItems (slf, ItRu_BREATHOFDEATH) == 0)
{
CreateInvItems (slf, ItRu_BREATHOFDEATH, 1);
};
if (Npc_HasItems (slf, ItRu_FullHeal) == 0)
{
CreateInvItems (slf, ItRu_FullHeal, 1);
};
if (self.attribute[ATR_HITPOINTS] < 100)
{
B_ReadySpell (slf, SPL_FullHeal, SPL_Cost_FullHeal);
return TRUE;
}
else if (C_NpcHasAttackReasonToKill (self))
{
if (self.flags == NPC_FLAG_IMMORTAL)
|| (Hlp_GetInstanceID(other) == Hlp_GetInstanceID(Raven))
{
B_ReadySpell (slf, SPL_BREATHOFDEATH, SPL_Cost_BREATHOFDEATH);
}
else
{
B_ReadySpell (slf, SPL_InstantFireball, SPL_Cost_InstantFireBall);
};
return TRUE;
}
else
{
B_ReadySpell (slf, SPL_PYROKINESIS, SPL_Cost_PYROKINESIS);
return TRUE;
};
};
// ------ Mag próba ------
if (slf.guild == GIL_SLD) //Tu występuje...
|| (slf.aivar[AIV_MagiK]== MAGIC_ALWAYS)
{
if (Npc_HasItems (slf, ITRU_PYROKINESIS) == 0)
{
CreateInvItems (slf, ITRU_PYROKINESIS, 1);
};
if (Npc_HasItems (slf, ItRu_InstantFireBall) == 0)
{
CreateInvItems (slf, ItRu_InstantFireBall, 1);
};
if (Npc_HasItems (slf, ItRu_BREATHOFDEATH) == 0)
{
CreateInvItems (slf, ItRu_BREATHOFDEATH, 1);
};
if (Npc_HasItems (slf, ItRu_FullHeal) == 0)
{
CreateInvItems (slf, ItRu_FullHeal, 1);
};
if (self.attribute[ATR_HITPOINTS] < 100)
{
B_ReadySpell (slf, SPL_FullHeal, SPL_Cost_FullHeal);
return TRUE;
}
else if (C_NpcHasAttackReasonToKill (self))
{
if (self.flags == NPC_FLAG_IMMORTAL)
|| (Hlp_GetInstanceID(other) == Hlp_GetInstanceID(Raven))
{
B_ReadySpell (slf, SPL_BREATHOFDEATH, SPL_Cost_BREATHOFDEATH);
}
else
{
B_ReadySpell (slf, SPL_InstantFireball, SPL_Cost_InstantFireBall);
};
return TRUE;
}
else
{
B_ReadySpell (slf, SPL_PYROKINESIS, SPL_Cost_PYROKINESIS);
return TRUE;
};
};
Nie.
Wybór czaru dla npc jest określony w B_SelectSpell. Miło by było, gdyby autor napisał o jaką część gry chodzi.
CytujJak ciężko wpisać kod na miksturę szybkości, albo szybkiego śledzia?!Albo skoro już mowa o użyciu konsoli, można też wpisać komendę: apply overlaymds humans_sprint
Wyjdzie praktycznie na to samo co z pierścieniem.