Script v1.7.1.0
- AI
- Animals
- Contracts
- Debug
- Economy
- Effects
- Events
- Farms
- GUI
- Handtools
- I3d
- Materials
- Misc
- Objects
- Placeables
- Player
- Shop
- Sounds
- Specializations
- Triggers
- AnimalLoadingTrigger
- BasketTrigger
- FillPlane
- FillTrigger
- InsideBuildingTrigger
- LoadTrigger
- LoadTriggerSetIsLoadingEv...
- LoanTrigger
- RainDropFactorTrigger
- ShopTrigger
- TransportMissionTrigger
- UnloadFeedingTrough
- UnloadTrigger
- WeighStation
- 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
WeighStation
DescriptionClass for weigh stationsFunctions
delete
DescriptionDelete weigh stationDefinition
delete()Code
40 | function WeighStation:delete() |
41 | if self.triggerId ~= nil then |
42 | removeTrigger(self.triggerId) |
43 | self.triggerId = nil |
44 | end |
45 | end |
new
DescriptionCreate new weigh station objectDefinition
new(integer trigger)Arguments
integer | trigger | id id of trigger node |
table | instance | instance of object |
19 | function WeighStation:new(triggerId) |
20 | local self = {} |
21 | setmetatable(self, WeighStation_mt) |
22 | |
23 | local nodeId = triggerId |
24 | self.triggerId = triggerId |
25 | addTrigger(triggerId, "triggerCallback", self) |
26 | |
27 | self.isEnabled = true |
28 | self.triggerVehicles = {} |
29 | |
30 | local weightDisplayIndex = getUserAttribute(nodeId, "weightDisplayIndex") |
31 | if weightDisplayIndex ~= nil then |
32 | self.displayNumbers = I3DUtil.indexToObject(nodeId, weightDisplayIndex) |
33 | end |
34 | |
35 | return self |
36 | end |
onCreate
DescriptionOn create weigh stationDefinition
onCreate(integer id)Arguments
integer | id | id of weigh station node |
11 | function WeighStation:onCreate(id) |
12 | g_currentMission:addNonUpdateable(WeighStation:new(id)) |
13 | 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 |
73 | function WeighStation:triggerCallback(triggerId, otherId, onEnter, onLeave, onStay) |
74 | if self.isEnabled and (onEnter or onLeave) then |
75 | local vehicle = g_currentMission.nodeToObject[otherId] |
76 | if onEnter then |
77 | if vehicle ~= nil then |
78 | if self.triggerVehicles[vehicle] == nil then |
79 | self.triggerVehicles[vehicle] = 0 |
80 | end |
81 | self.triggerVehicles[vehicle] = self.triggerVehicles[vehicle] + 1 |
82 | end |
83 | else |
84 | if vehicle ~= nil then |
85 | self.triggerVehicles[vehicle] = self.triggerVehicles[vehicle] - 1 |
86 | if self.triggerVehicles[vehicle] == 0 then |
87 | self.triggerVehicles[vehicle] = nil |
88 | end |
89 | end |
90 | end |
91 | |
92 | self:updateWeight() |
93 | end |
94 | end |
updateDisplayNumbers
DescriptionWrite new mass into the displayDefinition
updateDisplayNumbers(float mass)Arguments
float | mass | mass |
50 | function WeighStation:updateDisplayNumbers(mass) |
51 | if self.displayNumbers ~= nil then |
52 | I3DUtil.setNumberShaderByValue(self.displayNumbers, math.floor(mass), 0) |
53 | end |
54 | end |
updateWeight
DescriptionGet mass of vehicles in trigger and update displayDefinition
updateWeight()Code
58 | function WeighStation:updateWeight() |
59 | local mass = 0 |
60 | for vehicle, _ in pairs(self.triggerVehicles) do |
61 | mass = mass + vehicle:getTotalMass() |
62 | end |
63 | self:updateDisplayNumbers(mass*1000) |
64 | end |