LUADOC - Farming Simulator 22

Script v1_7_1_0

Engine v1_7_1_0

Foundation Reference

PlaceableTrainSystemRentEvent

Description
Event for ai start
Parent
Event
Functions

emptyNew

Description
Create instance of Event class
Definition
emptyNew()
Return Values
tableselfinstance of class event
Code
14function PlaceableTrainSystemRentEvent.emptyNew()
15 local self = Event.new(PlaceableTrainSystemRentEvent_mt)
16 return self
17end

new

Description
Create new instance of event
Definition
new(table object, integer reason, boolean isStarted, integer helper)
Arguments
tableobjectobject
integerreasonreason
booleanisStartedis started
integerhelperhelper id
Code
25function PlaceableTrainSystemRentEvent.new(object, isRented, farmId, splinePosition)
26 local self = PlaceableTrainSystemRentEvent.emptyNew()
27 self.object = object
28 self.isRented = isRented
29 self.farmId = farmId
30 self.splinePosition = splinePosition
31 return self
32end

readStream

Description
Called on client side on join
Definition
readStream(integer streamId, integer connection)
Arguments
integerstreamIdstreamId
integerconnectionconnection
Code
38function PlaceableTrainSystemRentEvent:readStream(streamId, connection)
39 self.object = NetworkUtil.readNodeObject(streamId)
40 self.isRented = streamReadBool(streamId)
41
42 if self.isRented then
43 self.farmId = streamReadUIntN(streamId, FarmManager.FARM_ID_SEND_NUM_BITS)
44 self.splinePosition = streamReadFloat32(streamId)
45 end
46
47 self:run(connection)
48end

run

Description
Run action on receiving side
Definition
run(integer connection)
Arguments
integerconnectionconnection
Code
65function PlaceableTrainSystemRentEvent:run(connection)
66 local farmId, splinePosition
67 if self.isRented then
68 farmId = self.farmId
69 splinePosition = self.splinePosition
70 end
71
72 if self.object ~= nil and self.object:getIsSynchronized() then
73 if self.isRented then
74 self.object:rentRailroad(farmId, splinePosition, true)
75 else
76 self.object:returnRailroad(true)
77 end
78 end
79
80 if not connection:getIsServer() then
81 g_server:broadcastEvent(PlaceableTrainSystemRentEvent.new(self.object, self.isRented, self.farmId, self.splinePosition), nil, connection, self.object)
82 end
83end

sendEvent

Description
Broadcast event from server to all clients, if called on client call function on server and broadcast it to all clients
Definition
sendEvent(table vehicle, boolean isSwathActive, boolean noEventSend)
Arguments
tablevehiclevehicle
booleanisSwathActiveis straw enabled
booleannoEventSendno event send
Code
90function PlaceableTrainSystemRentEvent.sendEvent(object, isRented, farmId, splinePosition, noEventSend)
91 if noEventSend == nil or noEventSend == false then
92 if g_server ~= nil then
93 g_server:broadcastEvent(PlaceableTrainSystemRentEvent.new(object, isRented, farmId, splinePosition), nil, nil, object)
94 else
95 g_client:getServerConnection():sendEvent(PlaceableTrainSystemRentEvent.new(object, isRented, farmId, splinePosition))
96 end
97 end
98end

writeStream

Description
Called on server side on join
Definition
writeStream(integer streamId, integer connection)
Arguments
integerstreamIdstreamId
integerconnectionconnection
Code
54function PlaceableTrainSystemRentEvent:writeStream(streamId, connection)
55 NetworkUtil.writeNodeObject(streamId, self.object)
56 if streamWriteBool(streamId, self.isRented) then
57 streamWriteUIntN(streamId, self.farmId, FarmManager.FARM_ID_SEND_NUM_BITS)
58 streamWriteFloat32(streamId, self.splinePosition)
59 end
60end