LUADOC - Farming Simulator 22

Script v1_7_1_0

Engine v1_7_1_0

Foundation Reference

VehicleEnterRequestEvent

Description
Event for enter request
Parent
Event
Functions

emptyNew

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

new

Description
Create new instance of event
Definition
new(table object, table playerStyle)
Arguments
tableobjectobject
tableplayerStyleinfo
Return Values
tableinstanceinstance of event
Code
24function VehicleEnterRequestEvent.new(object, playerStyle, farmId)
25 local self = VehicleEnterRequestEvent.emptyNew()
26 self.object = object
27 self.objectId = NetworkUtil.getObjectId(self.object)
28 self.farmId = farmId
29 self.playerStyle = playerStyle
30 return self
31end

readStream

Description
Called on client side on join
Definition
readStream(integer streamId, integer connection)
Arguments
integerstreamIdstreamId
integerconnectionconnection
Code
37function VehicleEnterRequestEvent:readStream(streamId, connection)
38 self.objectId = NetworkUtil.readNodeObjectId(streamId)
39 self.farmId = streamReadUIntN(streamId, FarmManager.FARM_ID_SEND_NUM_BITS)
40
41 if self.playerStyle == nil then
42 self.playerStyle = PlayerStyle.new()
43 end
44 self.playerStyle:readStream(streamId, connection)
45
46 self.object = NetworkUtil.getObject(self.objectId)
47 self:run(connection)
48end

run

Description
Run action on receiving side
Definition
run(integer connection)
Arguments
integerconnectionconnection
Code
63function VehicleEnterRequestEvent:run(connection)
64 if self.object ~= nil and self.object:getIsSynchronized() then
65 local enterableSpec = self.object.spec_enterable
66 if enterableSpec ~= nil and enterableSpec.isControlled == false then
67 self.object:setOwner(connection)
68 self.object.controllerFarmId = self.farmId
69
70 local userId = g_currentMission.userManager:getUserIdByConnection(connection)
71 self.object.controllerUserId = userId
72 g_server:broadcastEvent(VehicleEnterResponseEvent.new(self.objectId, false, self.playerStyle, self.farmId, userId), true, connection, self.object, false, nil, true)
73 connection:sendEvent(VehicleEnterResponseEvent.new(self.objectId, true, self.playerStyle, self.farmId, userId))
74 end
75 end
76end

writeStream

Description
Called on server side on join
Definition
writeStream(integer streamId, integer connection)
Arguments
integerstreamIdstreamId
integerconnectionconnection
Code
54function VehicleEnterRequestEvent:writeStream(streamId, connection)
55 NetworkUtil.writeNodeObjectId(streamId, self.objectId)
56 streamWriteUIntN(streamId, self.farmId, FarmManager.FARM_ID_SEND_NUM_BITS)
57 self.playerStyle:writeStream(streamId, connection)
58end