Script v1_7_1_0
- AI
- Animals
- Collections
- Contracts
- Debug
- Economy
- Elements
- EnvironmentalScore
- Errors
- Events
- GUI
- Handtools
- Hud
- I3d
- Input
- Jobs
- Maps
- Materials
- Misc
- Objects
- Parameters
- Placeables
- Placement
- Player
- Shop
- Sounds
- Specialization
- Specializations
- StateMachine
- Statistics
- Tasks
- Triggers
- Utils
- Vehicles
Engine v1_7_1_0
- AI
- Animation
- Camera
- Entity
- Fillplanes
- general
- General
- I3D
- Input
- Lighting
- Math
- Network
- Node
- NoteNode
- Overlays
- Particle System
- Physics
- Rendering
- Scenegraph
- Shape
- Sound
- Spline
- String
- Terrain Detail
- Text Rendering
- Tire Track
- VoiceChat
- XML
Foundation Reference
AIJobConveyor
ParentAIJobFunctions
- applyCurrentState
- getIsAvailableForVehicle
- getIsStartable
- getIsStartErrorText
- getPricePerMs
- getTitle
- new
- setValues
- start
- stop
- validate
applyCurrentState
DescriptionDefinitionapplyCurrentState()Code
73 | function AIJobConveyor:applyCurrentState(vehicle, mission, farmId, isDirectStart) |
74 | AIJobConveyor:superClass().applyCurrentState(self, vehicle, mission, farmId, isDirectStart) |
75 | |
76 | self.vehicleParameter:setVehicle(vehicle) |
77 | end |
getIsAvailableForVehicle
DescriptionDefinitiongetIsAvailableForVehicle()Code
81 | function AIJobConveyor:getIsAvailableForVehicle(vehicle) |
82 | return vehicle.spec_aiConveyorBelt ~= nil and vehicle:getCanStartAIVehicle() |
83 | end |
getIsStartable
DescriptionDefinitiongetIsStartable()Code
119 | function AIJobConveyor:getIsStartable(connection) |
120 | if g_currentMission.aiSystem:getAILimitedReached() then |
121 | return false, AIJobConveyor.START_ERROR_LIMIT_REACHED |
122 | end |
123 | |
124 | local vehicle = self.vehicleParameter:getVehicle() |
125 | if vehicle == nil then |
126 | return false, AIJobConveyor.START_ERROR_VEHICLE_DELETED |
127 | end |
128 | |
129 | if not g_currentMission:getHasPlayerPermission("hireAssistant", connection, vehicle:getOwnerFarmId()) then |
130 | return false, AIJobConveyor.START_ERROR_NO_PERMISSION |
131 | end |
132 | |
133 | if vehicle:getIsInUse(connection) then |
134 | return false, AIJobConveyor.START_ERROR_VEHICLE_IN_USE |
135 | end |
136 | |
137 | return true, AIJob.START_SUCCESS |
138 | end |
getIsStartErrorText
DescriptionDefinitiongetIsStartErrorText()Code
142 | function AIJobConveyor.getIsStartErrorText(state) |
143 | if state == AIJobConveyor.START_ERROR_LIMIT_REACHED then |
144 | return g_i18n:getText("ai_startStateLimitReached") |
145 | elseif state == AIJobConveyor.START_ERROR_VEHICLE_DELETED then |
146 | return g_i18n:getText("ai_startStateVehicleDeleted") |
147 | elseif state == AIJobConveyor.START_ERROR_NO_PERMISSION then |
148 | return g_i18n:getText("ai_startStateNoPermission") |
149 | elseif state == AIJobConveyor.START_ERROR_VEHICLE_IN_USE then |
150 | return g_i18n:getText("ai_startStateVehicleInUse") |
151 | end |
152 | |
153 | return g_i18n:getText("ai_startStateSuccess") |
154 | end |
getPricePerMs
DescriptionDefinitiongetPricePerMs()Code
43 | function AIJobConveyor:getPricePerMs() |
44 | return 0.00005 |
45 | end |
getTitle
DescriptionDefinitiongetTitle()Code
87 | function AIJobConveyor:getTitle() |
88 | local vehicle = self.vehicleParameter:getVehicle() |
89 | if vehicle ~= nil then |
90 | return vehicle:getName() |
91 | end |
92 | |
93 | return "" |
94 | end |
new
DescriptionDefinitionnew()Code
22 | function AIJobConveyor.new(isServer, customMt) |
23 | local self = AIJob.new(isServer, customMt or AIJobConveyor_mt) |
24 | |
25 | self.conveyorTask = AITaskConveyor.new(isServer, self) |
26 | |
27 | self:addTask(self.conveyorTask) |
28 | |
29 | self.vehicleParameter = AIParameterVehicle.new() |
30 | |
31 | self:addNamedParameter("vehicle", self.vehicleParameter) |
32 | |
33 | local vehicleGroup = AIParameterGroup.new(g_i18n:getText("ai_parameterGroupTitleVehicle")) |
34 | vehicleGroup:addParameter(self.vehicleParameter) |
35 | |
36 | table.insert(self.groupedParameters, vehicleGroup) |
37 | |
38 | return self |
39 | end |
setValues
DescriptionDefinitionsetValues()Code
98 | function AIJobConveyor:setValues() |
99 | self:resetTasks() |
100 | |
101 | self.conveyorTask:setVehicle(self.vehicleParameter:getVehicle()) |
102 | end |
start
DescriptionDefinitionstart()Code
49 | function AIJobConveyor:start(farmId) |
50 | AIJobConveyor:superClass().start(self, farmId) |
51 | |
52 | -- Client start notification will be done by vehicle |
53 | if self.isServer then |
54 | local vehicle = self.vehicleParameter:getVehicle() |
55 | vehicle:aiJobStarted(self, self.helperIndex, farmId) |
56 | end |
57 | end |
stop
DescriptionDefinitionstop()Code
61 | function AIJobConveyor:stop(aiMessage) |
62 | -- Client stop notifcation will be done by vehicle |
63 | if self.isServer then |
64 | local vehicle = self.vehicleParameter:getVehicle() |
65 | vehicle:aiJobFinished() |
66 | end |
67 | |
68 | AIJobConveyor:superClass().stop(self, aiMessage) |
69 | end |
validate
DescriptionDefinitionvalidate()Code
106 | function AIJobConveyor:validate(farmId) |
107 | self:setParamterValid(true) |
108 | |
109 | local isValid, errorMessage = self.vehicleParameter:validate(false) |
110 | if not isValid then |
111 | self.vehicleParameter:setIsValid(false) |
112 | end |
113 | |
114 | return isValid, errorMessage |
115 | end |