-- open gift bag (at the moment level 1-19) -- Updated by Bill D Cat on Sep 23, 2013 -- Loop to allow all bags up to current level to be opened. Useful if XP orb used and more than one level gained, or if playing on Nexon private server. -- Only use Fruit of Extra Experience at level 9, otherwise the second one is wasted at level 10 if the 1hr buff hasn't expired. function openGiftbags1To10(_player_level) player:updateMounted() local wasMounted = player.Mounted if( not _player_level) then _player_level = player.Level; end if _player_level > 19 then return; end -- Find first available bag. local foundbag = 0 for l = 1, 19 do for i,v in pairs(database.giftbags) do if v.level == l and v.type == "bag" then -- Find bag in backpack local gb_item = inventory:findItem( v.itemid, "bags" ); if gb_item then foundbag = l break end end end if foundbag > 0 then break end end -- Start opening bags and using items if foundbag > 0 then for currentlevel = foundbag, _player_level do for i,v in pairs(database.giftbags) do if( v.level == currentlevel) then -- Find item in backpack local gb_item = inventory:findItem( v.itemid, "bags" ); if ( not gb_item ) then cprintf(cli.yellow, language[174], GetIdName(v.itemid) ); -- item not found elseif (v.type == "bag") then cprintf(cli.lightblue, language[170], currentlevel ); -- Open and equip gift bag for level gb_item:use() repeat yrest(1000) until ItemQueueCount() == 0 -- wait for items to go in packpack yrest(500) inventory:update(); elseif (v.type == "is") then cprintf(cli.lightblue, language[159], gb_item.Name ); -- Moving to Item Shop bag: gb_item:moveTo("itemshop") elseif (v.armor == armorMap[player.Class1]) or -- Only equip items that meet class requirements. (v.armor == "any") then cprintf(cli.lightblue, language[171], gb_item.Name ); -- Open/equip item: gb_item:use() end end end end end player:updateMounted() if wasMounted and not player.Mounted then player:mount() end end