////////////////////////////////////////////////////////////////////////////// // Generate treasure on close ////////////////////////////////////////////////////////////////////////////// // tag = delay seconds_quantity_resref ////////////////////////////////////////////////////////////////////////////// string fnParse(string sSource) { // return parsed string sRet=""; string sName=sSource; while(GetStringLength(sName)>0&&GetStringLeft(sName,1)!="_") { // build return string sRet=sRet+GetStringLeft(sName,1); sName=GetStringRight(sName,GetStringLength(sName)-1); } // build return string return sRet; } // fnParse() string fnRemoveParsed(string sSource,string sParsed) { string sRet=GetStringRight(sSource,GetStringLength(sSource)-GetStringLength(sParsed)); if (GetStringLeft(sRet,1)=="_") sRet=GetStringRight(sRet,GetStringLength(sRet)-1); return sRet; } // fnRemoveParsed() void fnCreateTreasure(object oContainer,string sResRef,int nQuantity) { // create treasure in container object oItem=CreateItemOnObject(sResRef,oContainer,nQuantity); } // fnCreateTreasure() void main() { string sName=GetName(OBJECT_SELF); string sRes=""; int nDelay=0; int nQuantity=1; string sParsed=fnParse(sName); sName=fnRemoveParsed(sName,sParsed); nDelay=StringToInt(sParsed); sParsed=fnParse(sName); sRes=fnRemoveParsed(sName,sParsed); nQuantity=StringToInt(sParsed); if (nDelay<1) nDelay=1; if (nQuantity<1) nQuantity=1; DelayCommand(IntToFloat(nDelay),fnCreateTreasure(OBJECT_SELF,sRes,nQuantity)); }