LUADOC - Farming Simulator 19

Script v1.7.1.0

Engine v1.7.1.0

Foundation Reference

AIVehicleSetStartedEvent

Description
Event for ai start
Parent
Event
Functions

emptyNew

Description
Create instance of Event class
Definition
emptyNew()
Return Values
tableselfinstance of class event
Code
13function AIVehicleSetStartedEvent:emptyNew()
14 local self = Event:new(AIVehicleSetStartedEvent_mt)
15 return self
16end

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
24function AIVehicleSetStartedEvent:new(object, reason, isStarted, helper, startedFarmId)
25 local self = AIVehicleSetStartedEvent:emptyNew()
26 self.object = object
27 self.isStarted = isStarted
28 self.reason = reason
29 self.startedFarmId = startedFarmId
30 if helper ~= nil then
31 self.helperIndex = helper.index
32 end
33 return self
34end

readStream

Description
Called on client side on join
Definition
readStream(integer streamId, integer connection)
Arguments
integerstreamIdstreamId
integerconnectionconnection
Code
40function AIVehicleSetStartedEvent:readStream(streamId, connection)
41 self.object = NetworkUtil.readNodeObject(streamId)
42 self.isStarted = streamReadBool(streamId)
43
44 if not self.isStarted then
45 self.reason = streamReadUIntN(streamId, AIVehicle.NUM_BITS_REASONS)
46 else
47 self.helperIndex = streamReadUInt8(streamId)
48 end
49
50 self.startedFarmId = streamReadUIntN(streamId, FarmManager.FARM_ID_SEND_NUM_BITS)
51
52 self:run(connection)
53end

run

Description
Run action on receiving side
Definition
run(integer connection)
Arguments
integerconnectionconnection
Code
75function AIVehicleSetStartedEvent:run(connection)
76 if self.isStarted then
77 self.object:startAIVehicle(self.helperIndex, true, self.startedFarmId)
78 else
79 self.object:stopAIVehicle(self.reason, true)
80 end
81 if not connection:getIsServer() then
82 for _, v in pairs(g_server.clientConnections) do
83 if v ~= connection and not v:getIsLocal() then
84 v:sendEvent(AIVehicleSetStartedEvent:new(self.object, self.reason, self.isStarted, g_helperManager:getHelperByIndex(self.helperIndex), self.startedFarmId))
85 end
86 end
87 end
88end

writeStream

Description
Called on server side on join
Definition
writeStream(integer streamId, integer connection)
Arguments
integerstreamIdstreamId
integerconnectionconnection
Code
59function AIVehicleSetStartedEvent:writeStream(streamId, connection)
60 NetworkUtil.writeNodeObject(streamId, self.object)
61 streamWriteBool(streamId, self.isStarted)
62
63 if not self.isStarted then
64 streamWriteUIntN(streamId, self.reason, AIVehicle.NUM_BITS_REASONS)
65 else
66 streamWriteUInt8(streamId, self.helperIndex)
67 end
68
69 streamWriteUIntN(streamId, self.startedFarmId, FarmManager.FARM_ID_SEND_NUM_BITS)
70end