LUADOC - Farming Simulator 17

Printable Version

PickupObjectsSellTrigger

Description
Class for pickup objects sell trigger to sell for example egg
Functions

onCreate

Description
On create pickup objects sell trigger
Definition
onCreate(integer id)
Arguments
integeridid of node
Code
16function PickupObjectsSellTrigger:onCreate(id)
17 if g_currentMission:getIsServer() then
18 g_currentMission:addNonUpdateable(PickupObjectsSellTrigger:new(id));
19 end
20end

new

Description
Creating pickup objects sell trigger object
Definition
new(integer id, table mt)
Arguments
integeridtrigger node id
tablemtcustom metatable (optional)
Return Values
tableinstanceInstance of object
Code
27function PickupObjectsSellTrigger:new(id, mt)
28 assert(g_currentMission:getIsServer());
29 if mt == nil then
30 mt = PickupObjectsSellTrigger_mt;
31 end
32 local self = {};
33 setmetatable(self, mt);
34
35 self.triggerId = id;
36 if g_currentMission:getIsServer() then
37 addTrigger(id, "triggerCallback", self);
38 end
39
40 self.eggSymbol = getChildAt(id, 0);
41
42 self.fillType = FillUtil.FILLTYPE_EGG;
43 local fillTypeStr = getUserAttribute(id, "fillType");
44 if fillTypeStr ~= nil then
45 local fillTypeInt = FillUtil.fillTypeNameToInt[fillTypeStr];
46 if fillTypeInt ~= nil then
47 self.fillType = fillTypeInt;
48 end
49 end
50
51 return self;
52end

delete

Description
Delete pickup objects sell trigger
Definition
delete()
Code
56function PickupObjectsSellTrigger:delete()
57 if g_currentMission:getIsServer() then
58 removeTrigger(self.triggerId);
59 end
60end

triggerCallback

Description
Trigger callback
Definition
triggerCallback(integer triggerId, integer otherActorId, boolean onEnter, boolean onLeave, boolean onStay, integer otherShapeId)
Arguments
integertriggerIdid of trigger
integerotherActorIdid of other actor
booleanonEnteron enter
booleanonLeaveon leave
booleanonStayon stay
integerotherShapeIdid of other shape
Code
70function PickupObjectsSellTrigger:triggerCallback(triggerId, otherActorId, onEnter, onLeave, onStay, otherShapeId)
71 if onEnter then
72 if g_currentMission.players[otherActorId] ~= nil then
73 local numObject = g_currentMission:getNumPickupObjects(self.fillType);
74 g_currentMission:setNumPickupObjects(self.fillType, 0);
75 local price = numObject * g_currentMission.economyManager:getPricePerLiter(self.fillType);
76 g_currentMission:addSharedMoney(price, "other");
77 g_currentMission:addMoneyChange(price, FSBaseMission.MONEY_TYPE_SINGLE, true, g_i18n:getText("finance_other"));
78 if numObject > 0 then playSample(g_currentMission.cashRegistrySound, 1, 1, 0); end;
79 end
80 end
81end