func int C_NpcCanGetItem(var C_Npc slf,var int Itm)
{
if(!Hlp_IsValidNpc(slf))
{
return FALSE; //npc не существует
};
if(Npc_HasItems(slf,Itm))
{
return FALSE; //у npc уже есть предлагаемый Itm
};
return TRUE;
};
func void B_EquipArmor(var C_Npc slf,var int NewArmor)
{
if !C_NpcCanGetItem(slf,NewArmor)
{
return;
};
if (Npc_HasEquippedArmor(slf)) //чтобы OldArmor не был null
{
var C_ITEM OldArmor; OldArmor = Npc_GetEquippedArmor(slf);
var int OldArmorInstance; OldArmorInstance = Hlp_GetInstanceID(OldArmor);
Npc_RemoveInvItem(slf,OldArmorInstance);
//или Npc_RemoveInvItem(slf,OldArmor)?
};
CreateInvItem(slf,NewArmor);
AI_EquipBestArmor(slf);
slf.aivar[AIV_MM_REAL_ID] = 222;
};