dałem to tak, jeżeli zmieniłem warunek na operator logiczny to warunek jest spełniony tj. skrzynia jest zamknieta (niestety nawet po otwarciu), jeżeli mamy operator bitowy jak napisałeś to warunek nie jest spełniony i skrzynia zawsze jest otwarta. reasumując, chyba tego nie zrobimy - ale dałem ci tyle propsów, ile mogłem.
func void chicken()
{
var oCNpc her; her = Hlp_GetNpc(hero);
var oCMobContainer chest; chest = Mem_PtrToInst(her.focus_vob);
if !Hlp_Is_oCMobContainer(her.focus_vob) { return; };
if !her.focus_vob { return; };
if Hlp_Is_oCMobContainer(her.focus_vob)
{
if (chest._oCMobLockable_bitfield && oCMobLockable_bitfield_locked)
{
chest._oCMobLockable_bitfield = oCMobLockable_bitfield_autoOpen;
Print("Skrzynia zamknięta!");
}
else
{
Print("Skrzynia otwarta!");
};
};
};