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
- AnimatedMapObject
- AnimatedObject
- Bale
- Basketball
- BgaSellStation
- BunkerSilo
- BuyingStation
- DigitalDisplay
- DogBall
- HelpIcons
- InlineBale
- InlineBaleSingle
- LoadingStation
- MountableObject
- NightIllumination
- Nightlight2
- NightlightFlicker
- PackedBale
- PhysicsObject
- ProductionPoint
- Rotator
- SellingStation
- SimParticleSystem
- Storage
- SunAdmirer
- TourIconsMobile
- UnloadingStation
- VehicleSellingPoint
- WildlifeSpawner
- 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
HelpIcons
DescriptionClass for help iconsFunctions
delete
DescriptionDeleting help iconsDefinition
delete()Code
48 | function HelpIcons:delete() |
49 | for _, helpIcon in pairs(self.helpIcons) do |
50 | removeTrigger(helpIcon.helpIconTriggerId) |
51 | end |
52 | end |
deleteHelpIcon
DescriptionDelete help iconDefinition
deleteHelpIcon(integer i)Arguments
integer | i | id of help icon |
132 | function HelpIcons:deleteHelpIcon(i) |
133 | if self.helpIcons[i] ~= nil then |
134 | setVisibility(self.helpIcons[i].helpIconId, false) |
135 | setCollisionMask(self.helpIcons[i].helpIconTriggerId, 0) |
136 | end |
137 | end |
new
DescriptionCreating help iconsDefinition
new(integer name)Arguments
integer | name | node id |
table | instance | Instance of object |
25 | function HelpIcons.new(name) |
26 | local self = {} |
27 | setmetatable(self, HelpIcons_mt) |
28 | |
29 | self.me = name |
30 | local num = getNumOfChildren(self.me) |
31 | |
32 | self.helpIcons = {} |
33 | for i = 0, num - 1 do |
34 | local helpIconTriggerId = getChildAt(self.me, i) |
35 | local helpIconId = getChildAt(helpIconTriggerId, 0) |
36 | local helpIconCustomNumber = Utils.getNoNil(getUserAttribute(helpIconTriggerId, "customNumber"), 0) |
37 | addTrigger(helpIconTriggerId, "triggerCallback", self) |
38 | local helpIcon = {helpIconTriggerId = helpIconTriggerId, helpIconId = helpIconId, helpIconCustomNumber = helpIconCustomNumber} |
39 | table.insert(self.helpIcons, helpIcon) |
40 | end |
41 | self.visible = true |
42 | |
43 | return self |
44 | end |
onCreate
DescriptionCreating help iconsDefinition
onCreate(integer id)Arguments
integer | id | node id |
15 | function HelpIcons:onCreate(id) |
16 | local helpIcons = HelpIcons.new(id) |
17 | g_currentMission:addNonUpdateable(helpIcons) |
18 | g_currentMission.helpIconsBase = helpIcons |
19 | end |
showHelpIcons
DescriptionShow help iconsDefinition
showHelpIcons(boolean visible, boolean clearIconStates)Arguments
boolean | visible | visible |
boolean | clearIconStates | clear icon states |
108 | function HelpIcons:showHelpIcons(visible, clearIconStates) |
109 | self.visible = visible |
110 | |
111 | local oldStates = g_currentMission.missionInfo.foundHelpIcons |
112 | |
113 | for i, helpIcon in ipairs(self.helpIcons) do |
114 | local isVisible = visible |
115 | if clearIconStates == nil or not clearIconStates then |
116 | isVisible = isVisible and string.sub(oldStates, i, i) == "0" |
117 | end |
118 | |
119 | setVisibility(helpIcon.helpIconId, isVisible) |
120 | if isVisible then |
121 | setCollisionMask(helpIcon.helpIconTriggerId, 3145728) |
122 | else |
123 | setCollisionMask(helpIcon.helpIconTriggerId, 0) |
124 | end |
125 | end |
126 | |
127 | end |
triggerCallback
DescriptionTrigger callbackDefinition
triggerCallback(integer triggerId, integer otherId, boolean onEnter, boolean onLeave, boolean onStay)Arguments
integer | triggerId | id of trigger |
integer | otherId | id of actor |
boolean | onEnter | on enter |
boolean | onLeave | on leave |
boolean | onStay | on stay |
69 | function HelpIcons:triggerCallback(triggerId, otherId, onEnter, onLeave, onStay) |
70 | if onEnter then -- and g_currentMission.player ~= nil and otherId == g_currentMission.player.rootNode and g_currentMission.controlPlayer then |
71 | -- only trigger if the player or a vehicle controlled by the player enters |
72 | if (g_currentMission.player ~= nil and otherId == g_currentMission.player.rootNode and g_currentMission.controlPlayer) or (g_currentMission.controlledVehicle ~= nil and g_currentMission.controlledVehicle == g_currentMission.nodeToObject[otherId]) then |
73 | local missionInfo = g_currentMission.missionInfo |
74 | |
75 | for i, helpIcon in ipairs(self.helpIcons) do -- order is important for savegame |
76 | if helpIcon.helpIconTriggerId == triggerId then |
77 | if getVisibility(helpIcon.helpIconId) then |
78 | setVisibility(helpIcon.helpIconId, false) |
79 | setCollisionMask(helpIcon.helpIconTriggerId, 0) |
80 | |
81 | -- update help icon string |
82 | missionInfo.foundHelpIcons = "" |
83 | for _, helpIcon in ipairs(self.helpIcons) do |
84 | if getVisibility(helpIcon.helpIconId) then |
85 | missionInfo.foundHelpIcons = missionInfo.foundHelpIcons .. "0" |
86 | else |
87 | missionInfo.foundHelpIcons = missionInfo.foundHelpIcons .. "1" |
88 | end |
89 | end |
90 | |
91 | local messageNumber = helpIcon.helpIconCustomNumber |
92 | if messageNumber == 0 then |
93 | messageNumber = i |
94 | end |
95 | g_currentMission.inGameMessage:showMessage(g_i18n:getText("helpIcon_title" .. messageNumber), g_i18n:getText("helpIcon_text" .. messageNumber), 0) |
96 | end |
97 | end |
98 | end |
99 | |
100 | end |
101 | end |
102 | end |