Script v1_7_1_0
- AI
- Animals
- Collections
- Contracts
- Debug
- Economy
- Elements
- EnvironmentalScore
- Errors
- AIMessage
- AIMessageErrorBlockedByOb...
- AIMessageErrorCouldNotPre...
- AIMessageErrorFieldNotOwn...
- AIMessageErrorGraintankIs...
- AIMessageErrorImplementWr...
- AIMessageErrorLoadingStat...
- AIMessageErrorNoFieldFoun...
- AIMessageErrorNotReachabl...
- AIMessageErrorNoValidFill...
- AIMessageErrorOutOfFill
- AIMessageErrorOutOfFuel
- AIMessageErrorOutOfMoney
- AIMessageErrorThreshingNo...
- AIMessageErrorUnknown
- AIMessageErrorUnloadingSt...
- AIMessageErrorUnloadingSt...
- AIMessageErrorVehicleBrok...
- AIMessageErrorVehicleDele...
- AIMessageErrorWrongSeason
- AIMessageManager
- AIMessageSuccessFinishedJ...
- AIMessageSuccessSiloEmpty
- AIMessageSuccessStoppedBy...
- 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
AIMessageManager
DescriptionThis class handles all npcsFunctions
createMessage
DescriptionDefinitioncreateMessage()Code
113 | function AIMessageManager:createMessage(messageIndex) |
114 | if messageIndex == nil then |
115 | return nil |
116 | end |
117 | |
118 | local aiMessage = self.messages[messageIndex] |
119 | if aiMessage == nil then |
120 | return nil |
121 | end |
122 | |
123 | local instance = aiMessage.classObject.new() |
124 | |
125 | return instance |
126 | end |
delete
DescriptionDefinitiondelete()Code
62 | function AIMessageManager:delete() |
63 | self.messages = {} |
64 | self.nameToIndex = {} |
65 | self.classObjectToIndex = {} |
66 | end |
getMessageIndex
DescriptionDefinitiongetMessageIndex()Code
101 | function AIMessageManager:getMessageIndex(messageObject) |
102 | local classObject = ClassUtil.getClassObjectByObject(messageObject) |
103 | |
104 | if classObject == nil then |
105 | return nil |
106 | end |
107 | |
108 | return self.classObjectToIndex[classObject] |
109 | end |
loadMapData
DescriptionLoad data on map loadDefinition
loadMapData()Return Values
boolean | true | if loading was successful else false |
new
DescriptionCreating managerDefinition
new()Return Values
table | instance | instance of object |
22 | function AIMessageManager.new(customMt) |
23 | local self = setmetatable({}, customMt or AIMessageManager_mt) |
24 | return self |
25 | end |
registerMessage
DescriptionDefinitionregisterMessage()Code
70 | function AIMessageManager:registerMessage(name, classObject) |
71 | if not ClassUtil.getIsValidIndexName(name) then |
72 | Logging.warning("'%s' is not a valid name for a ai message!", tostring(name)) |
73 | return nil |
74 | end |
75 | |
76 | name = name:upper() |
77 | |
78 | if self.nameToIndex[name] ~= nil then |
79 | Logging.warning("AI message '%s' already exists!", tostring(name)) |
80 | return nil |
81 | end |
82 | |
83 | if classObject == nil then |
84 | Logging.warning("AI message '%s' class not defined!", tostring(name)) |
85 | return nil |
86 | end |
87 | |
88 | local aiMessage = {} |
89 | aiMessage.name = name |
90 | aiMessage.classObject = classObject |
91 | |
92 | table.insert(self.messages, aiMessage) |
93 | self.nameToIndex[name] = #self.messages |
94 | self.classObjectToIndex[classObject] = #self.messages |
95 | |
96 | return aiMessage |
97 | end |