LUADOC - Farming Simulator 19

Script v1.7.1.0

Engine v1.7.1.0

Foundation Reference

PlayerSetFarmAnswerEvent

Description
Player farm setting answer event. Triggered in response to PlayerSetFarmEvent.
Parent
Event
Functions

emptyNew

Description
Create an empty instance
Definition
emptyNew()
Return Values
tableinstanceInstance of object
Code
28function PlayerSetFarmAnswerEvent:emptyNew()
29 local self = Event:new(PlayerSetFarmAnswerEvent_mt)
30 return self
31end

new

Description
Create an instance of PlayerSetFarmAnswerEvent.
Definition
new(int answerState, int farmId, string password)
Arguments
intanswerState
intfarmIdFarm ID
stringpasswordPassword used for PlayerSetFarmEvent
Return Values
tableinstanceInstance of PlayerSetFarmAnswerEvent
Code
39function PlayerSetFarmAnswerEvent:new(answerState, farmId, password)
40 local self = PlayerSetFarmAnswerEvent:emptyNew()
41
42 self.answerState = answerState
43 self.farmId = farmId
44 self.password = password
45
46 return self
47end

readStream

Description
Reads network stream
Definition
readStream(integer streamId, table connection)
Arguments
integerstreamIdnetwork stream identification
tableconnectionconnection information
Code
68function PlayerSetFarmAnswerEvent:readStream(streamId, connection)
69 self.answerState = streamReadUIntN(streamId, PlayerSetFarmAnswerEvent.SEND_NUM_BITS)
70 self.farmId = streamReadUIntN(streamId, FarmManager.FARM_ID_SEND_NUM_BITS)
71
72 if streamReadBool(streamId) then
73 self.password = streamReadString(streamId)
74 end
75
76 self:run(connection)
77end

run

Description
Run event
Definition
run(table connection)
Arguments
tableconnectionconnection information
Code
82function PlayerSetFarmAnswerEvent:run(connection)
83 if not connection:getIsServer() then -- server side, should not happen
84 g_logManager:devWarning("PlayerSetFarmAnswerEvent is a server to client only event")
85 else -- client side
86 if self.answerState == PlayerSetFarmAnswerEvent.STATE.OK then
87 g_messageCenter:publish(PlayerSetFarmAnswerEvent, {self.answerState, self.farmId, self.password})
88 elseif self.answerState == PlayerSetFarmAnswerEvent.STATE.PASSWORD_REQUIRED then
89 g_messageCenter:publish(PlayerSetFarmAnswerEvent, {self.answerState, self.farmId})
90 end
91 end
92end

writeStream

Description
Writes network stream
Definition
writeStream(integer streamId, table connection)
Arguments
integerstreamIdnetwork stream identification
tableconnectionconnection information
Code
53function PlayerSetFarmAnswerEvent:writeStream(streamId, connection)
54 streamWriteUIntN(streamId, self.answerState, PlayerSetFarmAnswerEvent.SEND_NUM_BITS)
55 streamWriteUIntN(streamId, self.farmId, FarmManager.FARM_ID_SEND_NUM_BITS)
56
57 local passwordCorrect = self.answerState == PlayerSetFarmAnswerEvent.STATE.OK
58 local passwordSet = self.password ~= nil
59 if streamWriteBool(streamId, passwordCorrect and passwordSet) then
60 streamWriteString(streamId, self.password)
61 end
62end