mirror of
https://bitbucket.org/Ioncannon/project-meteor-server.git
synced 2025-04-20 11:47:48 +00:00
58 lines
No EOL
1.8 KiB
Lua
58 lines
No EOL
1.8 KiB
Lua
--[[
|
|
|
|
BazaarDealCommand Script
|
|
|
|
Handles various bazaar transfer options
|
|
|
|
All bazaar args have a Reward (The item the person who fufills the request gets) and a Seek (The item the player wants, either gil or an item).
|
|
|
|
Args:
|
|
|
|
rewardItem: Item reference to what will be given to the buyer. If it's gil the itemID will be given instead. If offering an item to seek; reward/seek are combined and put here.
|
|
seekItem: Item reference to what the buyer will give us. If it's gil the itemID will be given instead,
|
|
bazaarMode: The tag value to set in the bazaar item's data.
|
|
arg1: Always nil
|
|
bazaarActor: The actor who owns this bazaar
|
|
rewardAmount: The amount of rewardItem the buyer will get.
|
|
seekAmount: The amount of seekItem we want.
|
|
|
|
--]]
|
|
|
|
require ("global")
|
|
|
|
function onEventStarted(player, actor, triggerName, rewardItem, seekItem, bazaarMode, arg1, bazaarActor, rewardAmount, seekAmount, arg2, arg3, type9ItemIds)
|
|
|
|
local rewarding = nil;
|
|
local seeking = nil;
|
|
|
|
--Handle special case for offering an item.
|
|
if (seekItem == nil) then
|
|
rewarding = player:GetItemPackage(rewardItem.offerPackageId):GetItemAtSlot(rewardItem.offerSlot);
|
|
seeking = player:GetItemPackage(rewardItem.seekPackageId):GetItemAtSlot(rewardItem.seekSlot);
|
|
end
|
|
|
|
--Handle Reward
|
|
if (rewarding == nil) then
|
|
if (type(rewardItem) == "number") then
|
|
rewarding = player:GetItemPackage(INVENTORY_CURRENCY):GetItemByCatelogId(rewardItem);
|
|
else
|
|
rewarding = player:GetItem(rewardItem);
|
|
end
|
|
end
|
|
|
|
--Handle Seek
|
|
if (seeking == nil) then
|
|
if (type(seekItem) == "number") then
|
|
seeking = player:GetItemPackage(INVENTORY_CURRENCY):GetItemByCatelogId(seekItem);
|
|
else
|
|
seeking = player:GetItem(seekItem);
|
|
end
|
|
end
|
|
|
|
result = GetWorldManager():AddToBazaar(player, rewarding, seeking, rewardAmount, seekAmount, bazaarMode);
|
|
|
|
|
|
|
|
player:EndEvent();
|
|
|
|
end |