Script v1.4.4.0
Engine v7.0.0.2
- General
- Entity
- Node
- Scenegraph
- Lighting
- Camera
- Shape
- Particle System
- Physics
- Spline
- Animation
- Overlays
- Sound
- Input
- XML
- Network
- Callbacks
- Text Rendering
- Terrain Detail
- Tire Track
- Editor
- Rendering
- String
- Math
- I3D
- Fillplanes
Foundation Reference
AIVehicleSetStartedEvent
DescriptionEvent for ai startFunctions
emptyNew
DescriptionCreate instance of Event classDefinition
emptyNew()Return Values
table | self | instance of class event |
15 | function AIVehicleSetStartedEvent:emptyNew() |
16 | local self = Event:new(AIVehicleSetStartedEvent_mt); |
17 | return self; |
18 | end; |
new
DescriptionCreate new instance of eventDefinition
new(table object, integer reason, boolean isStarted, integer helper)Arguments
table | object | object |
integer | reason | reason |
boolean | isStarted | is started |
integer | helper | helper id |
26 | function 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; |
35 | end; |
readStream
DescriptionCalled on client side on joinDefinition
readStream(integer streamId, integer connection)Arguments
integer | streamId | streamId |
integer | connection | connection |
41 | function 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); |
50 | end; |
writeStream
DescriptionCalled on server side on joinDefinition
writeStream(integer streamId, integer connection)Arguments
integer | streamId | streamId |
integer | connection | connection |
56 | function 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 |
64 | end; |
run
DescriptionRun action on receiving sideDefinition
run(integer connection)Arguments
integer | connection | connection |
69 | function 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; |
82 | end; |