diff --git a/data/scripts/base/chara/npc/object/ObjectItemStorage.lua b/data/scripts/base/chara/npc/object/ObjectItemStorage.lua index f84d0399..a511db6c 100644 --- a/data/scripts/base/chara/npc/object/ObjectItemStorage.lua +++ b/data/scripts/base/chara/npc/object/ObjectItemStorage.lua @@ -28,7 +28,11 @@ function onEventStarted(player, npc, triggerName) goto TOP_MENU; end - callClientFunction(player, "selectStoreItem", nil, categoryChoice); + itemId = callClientFunction(player, "selectStoreItem", nil, categoryChoice); + + if (itemId ~= nil) then + player:GetInventory(INVENTORY_NORMAL):RemoveItem(itemId, 1); + end elseif (storageChoice == 2) then categoryChoice = callClientFunction(player, "selectCategory"); @@ -37,7 +41,11 @@ function onEventStarted(player, npc, triggerName) goto TOP_MENU; end - callClientFunction(player, "selectReceiveItem", nil, categoryChoice); + itemId = callClientFunction(player, "selectReceiveItem", nil, categoryChoice); + + if (itemId ~= nil) then + player:GetInventory(INVENTORY_NORMAL):AddItem(itemId, 1); + end end diff --git a/data/scripts/base/chara/npc/populace/PopulaceBountyPresenter.lua b/data/scripts/base/chara/npc/populace/PopulaceBountyPresenter.lua new file mode 100644 index 00000000..73db897b --- /dev/null +++ b/data/scripts/base/chara/npc/populace/PopulaceBountyPresenter.lua @@ -0,0 +1,26 @@ +--[[ + +PopulaceBountyPresenter Script + +Functions: + +eventLowerLevel(player) - +eventAlreadyPresent(player) - +eventBeforePresent(player) - +eventAfterPresent(player) - +eventJail(player, bool) - + +--]] + +require ("global") + +function init(npc) + return false, false, 0, 0; +end + +function onEventStarted(player, npc, triggerName) + + callClientFunction(player, "eventLowerLevel", player); + player:EndEvent(); + +end \ No newline at end of file diff --git a/data/scripts/commands/TeleportCommand.lua b/data/scripts/commands/TeleportCommand.lua index 51960721..8c4bcd55 100644 --- a/data/scripts/commands/TeleportCommand.lua +++ b/data/scripts/commands/TeleportCommand.lua @@ -95,11 +95,11 @@ function onEventStarted(player, actor, triggerName, isTeleport) if (isInn) then --Return to Inn if (player:GetHomePointInn() == 1) then - GetWorldManager():DoZoneChange(player, 12); + GetWorldManager():DoZoneChange(player, 244, nil, 0, 15, -160.048, 0, -165.737, 0); elseif (player:GetHomePointInn() == 2) then - GetWorldManager():DoZoneChange(player, 13); + GetWorldManager():DoZoneChange(player, 244, nil, 0, 15, 160.048, 0, 154.263, 0); elseif (player:GetHomePointInn() == 3) then - GetWorldManager():DoZoneChange(player, 11); + GetWorldManager():DoZoneChange(player, 244, nil, 0, 15, 0.048, 0, -5.737, 0); end elseif (choice == 1 and isInn == nil) then --Return to Homepoint diff --git a/data/scripts/commands/gm/warp.lua b/data/scripts/commands/gm/warp.lua index a2983f3d..6d758bb9 100644 --- a/data/scripts/commands/gm/warp.lua +++ b/data/scripts/commands/gm/warp.lua @@ -39,13 +39,7 @@ function onTrigger(player, argc, p1, p2, p3, p4, privateArea, name, lastName) local worldManager = GetWorldManager(); - -- treat this as a predefined warp list - if argc == 1 then - zone = tonumber(p1) or player_zone; - player:SendMessage(messageID, sender, string.format("warping to zone:%u", zone)); - worldManager:DoZoneChange(player, zone); - - elseif argc >= 3 then + if argc >= 3 then if argc == 3 then local x = tonumber(applyPositionOffset(p1, player_x)) or player_x; diff --git a/data/scripts/unique/fst0Town01/PopulaceStandard/vkorolon.lua b/data/scripts/unique/fst0Town01/PopulaceStandard/vkorolon.lua index 24a7aa9e..a27d1622 100644 --- a/data/scripts/unique/fst0Town01/PopulaceStandard/vkorolon.lua +++ b/data/scripts/unique/fst0Town01/PopulaceStandard/vkorolon.lua @@ -29,7 +29,7 @@ function onEventStarted(player, npc) choice = callClientFunction(player, "delegateEvent", player, defaultFst, "defaultTalkWithInn_Desk", nil, nil, nil); if (choice == 1) then - GetWorldManager():DoZoneChange(player, 13); + GetWorldManager():DoZoneChange(player, 244, nil, 0, 15, 160.048, 0, 154.263, 0); elseif (choice == 2) then if (player:GetHomePointInn() ~= 2) then player:SetHomePointInn(2); diff --git a/data/scripts/unique/prv0Inn01/ObjectInnDoor/inn_grid_exitdoor_push.lua b/data/scripts/unique/prv0Inn01/ObjectInnDoor/inn_grid_exitdoor_push.lua new file mode 100644 index 00000000..dd09c9bb --- /dev/null +++ b/data/scripts/unique/prv0Inn01/ObjectInnDoor/inn_grid_exitdoor_push.lua @@ -0,0 +1,12 @@ +require ("global") + +function onEventStarted(player, npc) + defaultFst = GetStaticActor("DftFst"); + choice = callClientFunction(player, "delegateEvent", player, defaultFst, "defaultTalkWithInn_ExitDoor"); + + if (choice == 1) then + GetWorldManager():DoZoneChange(player, 155, nil, 0, 15, 59.252, 4, -1219.342, 0.852); + end + + player:endEvent(); +end \ No newline at end of file diff --git a/data/scripts/unique/prv0Inn01/ObjectInnDoor/inn_limsa_exitdoor_push.lua b/data/scripts/unique/prv0Inn01/ObjectInnDoor/inn_limsa_exitdoor_push.lua new file mode 100644 index 00000000..a5323871 --- /dev/null +++ b/data/scripts/unique/prv0Inn01/ObjectInnDoor/inn_limsa_exitdoor_push.lua @@ -0,0 +1,12 @@ +require ("global") + +function onEventStarted(player, npc) + defaultSea = GetStaticActor("DftSea"); + choice = callClientFunction(player, "delegateEvent", player, defaultSea, "defaultTalkWithInn_ExitDoor"); + + if (choice == 1) then + GetWorldManager():DoZoneChange(player, 133, nil, 0, 15, -444.266, 39.518, 191, 1.9); + end + + player:endEvent(); +end \ No newline at end of file diff --git a/data/scripts/unique/prv0Inn01/ObjectInnDoor/inn_uld_exitdoor_push.lua b/data/scripts/unique/prv0Inn01/ObjectInnDoor/inn_uld_exitdoor_push.lua new file mode 100644 index 00000000..04059c42 --- /dev/null +++ b/data/scripts/unique/prv0Inn01/ObjectInnDoor/inn_uld_exitdoor_push.lua @@ -0,0 +1,12 @@ +require ("global") + +function onEventStarted(player, npc) + defaultWil = GetStaticActor("DftWil"); + choice = callClientFunction(player, "delegateEvent", player, defaultWil, "defaultTalkWithInn_ExitDoor"); + + if (choice == 1) then + GetWorldManager():DoZoneChange(player, 209, nil, 0, 15, -110.157, 202, 171.345, 0); + end + + player:endEvent(); +end \ No newline at end of file diff --git a/data/scripts/unique/prv0Inn01/PopulaceStandard/inn_grid_exitdoor_target.lua b/data/scripts/unique/prv0Inn01/PopulaceStandard/inn_grid_exitdoor_target.lua new file mode 100644 index 00000000..dd09c9bb --- /dev/null +++ b/data/scripts/unique/prv0Inn01/PopulaceStandard/inn_grid_exitdoor_target.lua @@ -0,0 +1,12 @@ +require ("global") + +function onEventStarted(player, npc) + defaultFst = GetStaticActor("DftFst"); + choice = callClientFunction(player, "delegateEvent", player, defaultFst, "defaultTalkWithInn_ExitDoor"); + + if (choice == 1) then + GetWorldManager():DoZoneChange(player, 155, nil, 0, 15, 59.252, 4, -1219.342, 0.852); + end + + player:endEvent(); +end \ No newline at end of file diff --git a/data/scripts/unique/prv0Inn01/PopulaceStandard/inn_limsa_exitdoor_target.lua b/data/scripts/unique/prv0Inn01/PopulaceStandard/inn_limsa_exitdoor_target.lua new file mode 100644 index 00000000..a5323871 --- /dev/null +++ b/data/scripts/unique/prv0Inn01/PopulaceStandard/inn_limsa_exitdoor_target.lua @@ -0,0 +1,12 @@ +require ("global") + +function onEventStarted(player, npc) + defaultSea = GetStaticActor("DftSea"); + choice = callClientFunction(player, "delegateEvent", player, defaultSea, "defaultTalkWithInn_ExitDoor"); + + if (choice == 1) then + GetWorldManager():DoZoneChange(player, 133, nil, 0, 15, -444.266, 39.518, 191, 1.9); + end + + player:endEvent(); +end \ No newline at end of file diff --git a/data/scripts/unique/prv0Inn01/PopulaceStandard/inn_uld_exitdoor_target.lua b/data/scripts/unique/prv0Inn01/PopulaceStandard/inn_uld_exitdoor_target.lua new file mode 100644 index 00000000..04059c42 --- /dev/null +++ b/data/scripts/unique/prv0Inn01/PopulaceStandard/inn_uld_exitdoor_target.lua @@ -0,0 +1,12 @@ +require ("global") + +function onEventStarted(player, npc) + defaultWil = GetStaticActor("DftWil"); + choice = callClientFunction(player, "delegateEvent", player, defaultWil, "defaultTalkWithInn_ExitDoor"); + + if (choice == 1) then + GetWorldManager():DoZoneChange(player, 209, nil, 0, 15, -110.157, 202, 171.345, 0); + end + + player:endEvent(); +end \ No newline at end of file diff --git a/data/scripts/unique/sea0Town01/PopulaceStandard/mytesyn.lua b/data/scripts/unique/sea0Town01/PopulaceStandard/mytesyn.lua index 2b5a837d..7c2f594c 100644 --- a/data/scripts/unique/sea0Town01/PopulaceStandard/mytesyn.lua +++ b/data/scripts/unique/sea0Town01/PopulaceStandard/mytesyn.lua @@ -5,7 +5,7 @@ function onEventStarted(player, npc) choice = callClientFunction(player, "delegateEvent", player, defaultSea, "defaultTalkWithInn_Desk", nil, nil, nil); if (choice == 1) then - GetWorldManager():DoZoneChange(player, 13); + GetWorldManager():DoZoneChange(player, 244, nil, 0, 15, -160.048, 0, -165.737, 0); elseif (choice == 2) then if (player:GetHomePointInn() ~= 1) then player:SetHomePointInn(1); diff --git a/data/scripts/unique/wil0Battle01/PopulaceStandard/exit_trigger.lua b/data/scripts/unique/wil0Battle01/PopulaceStandard/exit_trigger.lua index ece0a7a9..db93a4f7 100644 --- a/data/scripts/unique/wil0Battle01/PopulaceStandard/exit_trigger.lua +++ b/data/scripts/unique/wil0Battle01/PopulaceStandard/exit_trigger.lua @@ -36,9 +36,7 @@ function onEventStarted(player, npc, triggerName) player:AddDirector(director); player:SetLoginDirector(director); - GetWorldManager():DoZoneChange(player, 17); - - + GetWorldManager():DoZoneChange(player, 184, nil, 0, 16, -24.34, 192, 34.22, 0.78); end diff --git a/data/scripts/unique/wil0Town01a/PopulaceStandard/kopuru_fupuru.lua b/data/scripts/unique/wil0Town01a/PopulaceStandard/kopuru_fupuru.lua index c8c3626c..ca5ae35e 100644 --- a/data/scripts/unique/wil0Town01a/PopulaceStandard/kopuru_fupuru.lua +++ b/data/scripts/unique/wil0Town01a/PopulaceStandard/kopuru_fupuru.lua @@ -5,7 +5,7 @@ function onEventStarted(player, npc) choice = callClientFunction(player, "delegateEvent", player, defaultWil, "defaultTalkWithInn_Desk_2", nil, nil, nil); if (choice == 1) then - GetWorldManager():DoZoneChange(player, 11); + GetWorldManager():DoZoneChange(player, 244, nil, 0, 15, 0.048, 0, -5.737, 0); elseif (choice == 2) then if (player:GetHomePointInn() ~= 3) then player:SetHomePointInn(3);