Script v1.7.1.0
- AI
- Animals
- Contracts
- Debug
- Economy
- Effects
- Events
- Farms
- GUI
- Handtools
- I3d
- Materials
- Misc
- Objects
- AnimatedMapObject
- AnimatedObject
- AnimatedObjectEvent
- Bale
- Basketball
- Bga
- BgaSellStation
- BunkerSilo
- BuyingStation
- DigitalDisplay
- DogBall
- HelpIcons
- LoadingStation
- NightIllumination
- Nightlight2
- NightlightFlicker
- PhysicsObject
- Rotator
- SellingStation
- SimParticleSystem
- Storage
- StorageSystem
- SunAdmirer
- TourIcons
- UnloadingStation
- VehicleSellingPoint
- WildlifeSpawner
- Placeables
- Player
- Shop
- Sounds
- Specializations
- Triggers
- Utils
- Vehicles
- Weather
Engine v1.7.1.0
- AI
- Animation
- Camera
- Entity
- Fillplanes
- General
- I3D
- Input
- Lighting
- Math
- Network
- Node
- Overlays
- Particle System
- Physics
- Rendering
- Scenegraph
- Shape
- Sound
- Spline
- String
- Terrain Detail
- Text Rendering
- Tire Track
- XML
- general
Foundation Reference
HelpIcons
DescriptionHelp icons show in-game help messages Copyright (C) GIANTS Software GmbH, Confidential, All Rights Reserved.Functions
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 |