A ja wam powiem że powinno się to robić jeszcze inaczej ;p
INSTANCE ItMi_Worek_10 (C_Item)
{
name = "Lekka sakiewka";
mainflag = ITEM_KAT_NONE;
flags = ITEM_MULTI;
value = 8;
visual = "DB_ItMi_Pocket.3ds";
material = MAT_LEATHER;
scemeName = "MAPSEALED";
on_state[0] = UseOWorek10;
description = "Lekka sakiewka prawdopodobnie z rudą.";
TEXT[4] = NAME_Value; COUNT[4] = value;
};
func void UseOWorek10()
{
CreateInvItems (self, ItMiNugget, 10);
if (Npc_IsPlayer(self)) { Print ("Znaleźono 10 bryłek rudy"); };
};
Po pierwsze, trzeba użyć animacji MAPSEALED. Jest identyczna do MAP, ale zawiera już eventTag o którym napisał Sawik. Używa jej choćby list do magów ognia (który po użyciu tak naprawdę znika i dodaje do ekwipunku własną zmodyfikowaną wersję).
Po drugie, "idealnie" powinno się używać ani other ("inna osoba niż wykonująca czynność"), ani hero ("postać którą rozpoczęto grę, bohater główny"), tylko self ("postać która wykonuje daną czynność"). Gdybyś dał hero, to nawet gdyby sakiewki użył jakiś npc (czemu nie, można to dać choćby w dialogach czy skryptach AI po podniesieniu itemu), to i tak zawartość trafiałaby do gracza. Przy użyciu self, wszystko będzie działać.
U g2nk akurat nie planowali widocznie używania jej przez npc, ale skoro jest to kwestia jednej zmiennej, to lepiej robić "uniwersalnie".
BTW, materiał z którego jest wykonana sakiewka to zdecydowanie skóra a nie glina :p