LUADOC - Farming Simulator 17

Printable Version

Script v1.4.4.0

Engine v7.0.0.2

Foundation Reference

AIVehicleSetStartedEvent

Description
Event for ai start
Functions

emptyNew

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

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

readStream

Description
Called on client side on join
Definition
readStream(integer streamId, integer connection)
Arguments
integerstreamIdstreamId
integerconnectionconnection
Code
41function AIVehicleSetStartedEvent:readStream(streamId, connection)
42 self.object = readNetworkNodeObject(streamId);
43 self.isStarted = streamReadBool(streamId);
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 self:run(connection);
50end;

writeStream

Description
Called on server side on join
Definition
writeStream(integer streamId, integer connection)
Arguments
integerstreamIdstreamId
integerconnectionconnection
Code
56function AIVehicleSetStartedEvent:writeStream(streamId, connection)
57 writeNetworkNodeObject(streamId, self.object);
58 streamWriteBool(streamId, self.isStarted);
59 if not self.isStarted then
60 streamWriteUIntN(streamId, self.reason, AIVehicle.NUM_BITS_REASONS)
61 else
62 streamWriteUInt8(streamId, self.helperIndex)
63 end
64end;

run

Description
Run action on receiving side
Definition
run(integer connection)
Arguments
integerconnectionconnection
Code
69function AIVehicleSetStartedEvent:run(connection)
70 if self.isStarted then
71 self.object:startAIVehicle(self.helperIndex, true);
72 else
73 self.object:stopAIVehicle(self.reason, true);
74 end;
75 if not connection:getIsServer() then
76 for _, v in pairs(g_server.clientConnections) do
77 if v ~= connection and not v:getIsLocal() then
78 v:sendEvent(AIVehicleSetStartedEvent:new(self.object, self.reason, self.isStarted, HelperUtil.helperIndexToDesc[self.helperIndex]));
79 end;
80 end;
81 end;
82end;