Объясните пож-ста, если нужно выполнить проверку условия:
if((Hlp_GetInstanceID(self) == Hlp_GetInstanceID(LordHagen)) || (Hlp_GetInstanceID(self) == Hlp_GetInstanceID(Parcival)))
1. можно ли заменить этот блок на условие:
if(self.id == (LordHagen.id | Parcival.id))
2. почему GS выдает ошибку "нельзя пребразовать тип instance в int" , если условие в виде
if((Hlp_GetInstanceID(self) == (Hlp_GetInstanceID(LordHagen)) | Hlp_GetInstanceID(Parcival))
или
if((Hlp_GetInstanceID(self) == (LordHagen.id | Parcival.id))
Добавление от 12/28/11, в 15:11:16
Как присвоить глобальной переменной var C_Item значение, переданное в функцию через внутр. переменную?
Cпойлер(щелкните, чтобы прочесть):
var C_Item itmpick;
func int C_Beklauen(var C_Item itm,var int TheftGold)
{
if((Npc_GetTalentSkill(other,NPC_TALENT_PICKPOCKE T) == TRUE) && (self.aivar[AIV_PlayerHasPickedMyPocket] == FALSE) && (NpcObsessedByDMT == FALSE))
{
TheftGoldGlob = 0;
if((Npc_IsInState(self,ZS_Talk)) && (Hlp_IsValidItem(itm)))
{
if((Hlp_IsItem(itm,ItMi_Gold)) || (Hlp_IsItem(itm,ItRw_Arrow)))
{
TheftGoldGlob = 25 + Hlp_Random(TheftGold);
};
if(Hlp_IsItem(itm,ItMi_Nugget))
{
TheftGoldGlob = 1 + Hlp_Random(TheftGold);
};
if((Npc_HasItems(self,itm) == 0) && (TheftGold < 0))
{
TheftGoldGlob = 1;
};
if((TheftGoldGlob > 0) || (Npc_HasItems(self,itm) > 0))
{
itmpick = Npc_GetInvItem(self,itm);
return TRUE;
};
return FALSE;
};
};
return FALSE;
};