1
Skrypty / [G1] Zbroja bandyty
« dnia: 2014-01-21, 13:57 »
Witam. Ostatnio napisałem skrypty dzięki któremu bandyci nas nie atakują gdy mamy ich zbroje. Oto skrypt:
plik C_Function.d
I teraz mam pytanie, co można zrobić aby inni NPC atakowali nas gdy mamy zbroje bandyty. Myślałem żeby zrobić coś w tym pliku:
B_AssessEnemy.d
Możecie mi coś poradzić? Nie chodzi mi o jakieś gotowe skrypty ale o wskazówkę. Dzięki z góry.
plik C_Function.d
Kod: [Zaznacz]
func int Hero_HasBanditArmor ()
{
var c_item armor;
var int armorInstance;
armor = Npc_GetEquippedArmor(hero);
armorInstance = Hlp_GetInstanceID(armor);
if ((armorInstance == BAN_ARMOR_L) ||(armorInstance == BAN_ARMOR_M) || (armorInstance == BAN_ARMOR_H))
{
return TRUE;
};
};
Kod: [Zaznacz]
func int C_OtherIsToleratedEnemy(var C_NPC slf, var C_NPC oth)
{
PrintDebugNpc (PD_ZS_DETAIL, "C_OtherIsToleratedEnemy");
if (C_NpcIsHuman(slf))
{
var c_item armor;
var int armorInstance;
armor = Npc_GetEquippedArmor(oth);
if (Hlp_IsValidItem(armor))
{
armorInstance = Hlp_GetInstanceID(armor);
if (slf.npctype == NPCTYPE_ROGUE)
{
if (Hero_HasBanditArmor())
{
return TRUE;
};
};
};
};
//-------- Orkverfolger --------
if (C_NpcIsOrc(slf))
{
PrintDebugNpc (PD_ZS_DETAIL, "...'self' ist Ork!");
//---- Ulu-Mulu in der Hand ? ----
var C_ITEM weapon;
var int weaponInstance;
weapon = Npc_GetReadiedWeapon(oth);
if (Hlp_IsValidItem(weapon))
{
weaponInstance =Hlp_GetInstanceID(weapon);
PrintDebugString(PD_ZS_DETAIL, "...gezogene Waffe von 'other': ", weapon.name);
if (weaponInstance == UluMulu)
{
PrintDebugNpc(PD_ZS_DETAIL, "...true!");
return TRUE;
};
};
//---- Ulu-Mulu equipped ? ----
weapon = Npc_GetEquippedMeleeWeapon (oth);
if (Hlp_IsValidItem(weapon))
{
weaponInstance =Hlp_GetInstanceID(weapon);
PrintDebugString(PD_ZS_DETAIL, "...equippte Waffe von 'other': ", weapon.name);
if (weaponInstance == UluMulu)
{
PrintDebugNpc(PD_ZS_DETAIL, "...true!");
return TRUE;
};
};
};
PrintDebugNpc (PD_ZS_DETAIL, "...false!");
return FALSE;
};
I teraz mam pytanie, co można zrobić aby inni NPC atakowali nas gdy mamy zbroje bandyty. Myślałem żeby zrobić coś w tym pliku:
B_AssessEnemy.d
Kod: [Zaznacz]
if (C_OtherIsToleratedEnemy(self, other))
{
PrintDebugNpc (PD_ZS_CHECK, "...Feind wird toleriert!" );
B_TolerateEnemy (self, other);
return;
};
Możecie mi coś poradzić? Nie chodzi mi o jakieś gotowe skrypty ale o wskazówkę. Dzięki z góry.