----------------------------------- -- Area: Windurst Woods -- NPC: Pehki Machumaht -- Map Seller NPC ----------------------------------- package.loaded["scripts/zones/Windurst_Woods/TextIDs"] = nil; ----------------------------------- require("scripts/globals/settings"); require("scripts/globals/keyitems"); require("scripts/zones/Windurst_Woods/TextIDs"); mapVarArray = { -- Hide#, Keyitem ID, Return_if_bought, gil_cost 0x00000001, MAP_OF_THE_SANDORIA_AREA, 0x000001, 200, 0x00000002, MAP_OF_THE_BASTOK_AREA, 0x010001, 200, 0x00000004, MAP_OF_THE_WINDURST_AREA, 0x020001, 200, 0x00000008, MAP_OF_THE_JEUNO_AREA, 0x030001, 600, 0x00000010, MAP_OF_ORDELLES_CAVES, 0x040001, 600, 0x00000020, MAP_OF_GHELSBA, 0x050001, 600, 0x00000040, MAP_OF_DAVOI, 0x060001, 3000, 0x00000080, MAP_OF_CARPENTERS_LANDING, 0x070001, 3000, 0x00000100, MAP_OF_THE_ZERUHN_MINES, 0x080001, 200, 0x00000200, MAP_OF_THE_PALBOROUGH_MINES, 0x090001, 600, 0x00000400, MAP_OF_BEADEAUX, 0x0A0001, 3000, 0x00000800, MAP_OF_GIDDEUS, 0x0B0001, 600, 0x00001000, MAP_OF_CASTLE_OZTROJA, 0x0C0001, 3000, 0x00002000, MAP_OF_THE_MAZE_OF_SHAKHRAMI, 0x0D0001, 600, 0x00004000, MAP_OF_THE_LITELOR_REGION, 0x0E0001, 3000, 0x00008000, MAP_OF_BIBIKI_BAY, 0x0F0001, 3000, 0x00010000, MAP_OF_QUFIM_ISLAND, 0x100001, 3000, 0x00020000, MAP_OF_THE_ELDIEME_NECROPOLIS, 0x110001, 3000, 0x00040000, MAP_OF_THE_GARLAIGE_CITADEL, 0x120001, 3000, 0x00080000, MAP_OF_THE_ELSHIMO_REGIONS, 0x130001, 3000, 0x00100000, MAP_OF_THE_NORTHLANDS_AREA, 0x140001, 3000, 0x00200000, MAP_OF_KING_RANPERRES_TOMB, 0x150001, 600, 0x00400000, MAP_OF_THE_DANGRUF_WADI, 0x160001, 600, 0x00800000, MAP_OF_THE_HORUTOTO_RUINS, 0x170001, 600, 0x01000000, MAP_OF_BOSTAUNIEUX_OUBLIETTE, 0x180001, 3000, 0x02000000, MAP_OF_THE_TORAIMARAI_CANAL, 0x190001, 3000, 0x04000000, MAP_OF_THE_GUSGEN_MINES, 0x1A0001, 600, 0x08000000, MAP_OF_THE_CRAWLERS_NEST, 0x1B0001, 3000, 0x10000000, MAP_OF_THE_RANGUEMONT_PASS, 0x1C0001, 3000, 0x20000000, MAP_OF_DELKFUTTS_TOWER, 0x1D0001, 3000, 0x40000000, MAP_OF_FEIYIN, 0x1E0001, 3000, 0x80000000, MAP_OF_CASTLE_ZVAHL, 0x1F0001, 3000 }; ----------------------------------- -- onTrade Action ----------------------------------- function onTrade(player,npc,trade) end; ----------------------------------- -- onTrigger Action ----------------------------------- function onTrigger(player,npc) local mapVar = 0; -- Loop through mapVarArray and get which maps to hide for i = 1, #mapVarArray, 4 do if (player:hasKeyItem(mapVarArray[i+1])) then mapVar = mapVar + mapVarArray[i]; end end player:startEvent(0x2710, mapVar); end; ----------------------------------- -- onEventUpdate ----------------------------------- function onEventUpdate(player,csid,option) printf("CSID: %u",csid); printf("RESULT: %u",option); if (csid == 0x2710 and option ~= 1073741824) then local gil = 0; local arrayindex = 0; local mapkeyitem = 0; -- Loop through mapVarArray looking for option bought for i = 1, #mapVarArray, 4 do if option == mapVarArray[i+2] then arrayindex = i; end end if arrayindex ~= 0 then gil = mapVarArray[arrayindex+3]; mapkeyitem = mapVarArray[arrayindex+1]; end if (gil > 0 and player:delGil(gil)) then player:addKeyItem(mapkeyitem); player:messageSpecial(KEYITEM_OBTAINED,mapkeyitem); option = 0; else player:messageSpecial(NOT_HAVE_ENOUGH_GIL); end end end; ----------------------------------- -- onEventFinish ----------------------------------- function onEventFinish(player,csid,option) --printf("CSID: %u",csid); --printf("RESULT: %u",option); end;