mirror of
https://bitbucket.org/Ioncannon/project-meteor-server.git
synced 2025-06-08 21:44:35 +02:00
Updated Map Server namespace. Moved all other data folders (www and sql) to data folder. Renamed boot name to Project Meteor.
This commit is contained in:
parent
18ef69f3d1
commit
91549bff7a
1823 changed files with 102704 additions and 901 deletions
97
Data/scripts/commands/TradeExecuteCommand.lua
Normal file
97
Data/scripts/commands/TradeExecuteCommand.lua
Normal file
|
@ -0,0 +1,97 @@
|
|||
--[[
|
||||
|
||||
TradeExecuteCommand Script
|
||||
|
||||
Handles all trading between players
|
||||
|
||||
Functions:
|
||||
|
||||
processTradeCommandOpenTray() - Opens the trade widget.
|
||||
processTradeCommandCloseTray() - Closes the trade widget.
|
||||
processTradeCommandReply(command, params) - Operates the trade widget.
|
||||
processUpdateTradeCommandTrayData() - ?
|
||||
|
||||
Commands:
|
||||
|
||||
set: TradeWidget resets "Set Mode" (turned on once item selected while waiting for reply).
|
||||
back: TradeWidget resets "Choose Mode" (turned on when ui operation is done).
|
||||
fix: You have accepted the deal.
|
||||
targetfix: Target has accepted the deal.
|
||||
doedit: You have canceled your accept.
|
||||
reedit: Target has canceled their accept.
|
||||
|
||||
--]]
|
||||
|
||||
require ("global")
|
||||
|
||||
function onEventStarted(player, actor, triggerName)
|
||||
|
||||
callClientFunction(player, "delegateCommand", GetStaticActor("TradeExecuteCommand"), "processTradeCommandOpenTray");
|
||||
|
||||
tradeOffering = player:GetTradeOfferings();
|
||||
|
||||
while (true) do
|
||||
widgetOpen, chosenOperation, tradeSlot, itemActor, quantity, itemPackageId, itemSlot = callClientFunction(player, "delegateCommand", GetStaticActor("TradeExecuteCommand"), "processUpdateTradeCommandTrayData");
|
||||
|
||||
--Abort script if client script dead
|
||||
if (widgetOpen == false or widgetOpen == nil) then
|
||||
player:FinishTradeTransaction();
|
||||
break;
|
||||
end
|
||||
|
||||
--Handle you/target canceling/finishing the trade
|
||||
if (not player:IsTrading() or not player:GetOtherTrader():IsTrading()) then
|
||||
player:FinishTradeTransaction();
|
||||
break;
|
||||
end
|
||||
|
||||
--Handle target accepting
|
||||
if (player:GetOtherTrader():IsTradeAccepted() == true) then
|
||||
callClientFunction(player, "delegateCommand", GetStaticActor("TradeExecuteCommand"), "processTradeCommandReply", "targetfix");
|
||||
else
|
||||
callClientFunction(player, "delegateCommand", GetStaticActor("TradeExecuteCommand"), "processTradeCommandReply", "reedit");
|
||||
end
|
||||
|
||||
--Check if both accepted the trade
|
||||
if (player:IsTradeAccepted() and player:GetOtherTrader():IsTradeAccepted()) then
|
||||
callClientFunction(player, "delegateCommand", GetStaticActor("TradeExecuteCommand"), "processTradeCommandCloseTray");
|
||||
GetWorldManager():CompleteTrade(player, player:GetOtherTrader());
|
||||
break;
|
||||
end
|
||||
|
||||
--Clear Item
|
||||
if (chosenOperation == 1) then
|
||||
player:RemoveTradeItem(tradeSlot - 1);
|
||||
callClientFunction(player, "delegateCommand", GetStaticActor("TradeExecuteCommand"), "processTradeCommandReply", "set");
|
||||
--Clear All
|
||||
elseif (chosenOperation == 2) then
|
||||
player:ClearTradeItems();
|
||||
callClientFunction(player, "delegateCommand", GetStaticActor("TradeExecuteCommand"), "processTradeCommandReply", "set");
|
||||
--Item Chosen
|
||||
elseif (chosenOperation == 3) then
|
||||
player:AddTradeItem(tradeSlot - 1, itemActor, quantity);
|
||||
callClientFunction(player, "delegateCommand", GetStaticActor("TradeExecuteCommand"), "processTradeCommandReply", "set", 2, 2, 2, 2);
|
||||
--Gil Chosen
|
||||
elseif (chosenOperation == 4) then
|
||||
player:AddTradeItem(tradeSlot - 1, itemActor, quantity);
|
||||
callClientFunction(player, "delegateCommand", GetStaticActor("TradeExecuteCommand"), "processTradeCommandReply", "set");
|
||||
--Cancel
|
||||
elseif (chosenOperation == 11) then
|
||||
player:FinishTradeTransaction();
|
||||
break;
|
||||
--OK
|
||||
elseif (chosenOperation == 12) then
|
||||
callClientFunction(player, "delegateCommand", GetStaticActor("TradeExecuteCommand"), "processTradeCommandReply", "fix");
|
||||
player:AcceptTrade(true);
|
||||
--Reedit
|
||||
elseif (chosenOperation == 13) then
|
||||
callClientFunction(player, "delegateCommand", GetStaticActor("TradeExecuteCommand"), "processTradeCommandReply", "doedit");
|
||||
player:AcceptTrade(false);
|
||||
end
|
||||
|
||||
wait(1);
|
||||
end
|
||||
|
||||
player:EndEvent();
|
||||
|
||||
end
|
Loading…
Add table
Add a link
Reference in a new issue