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
BasketTrigger
DescriptionClass for basket triggersFunctions
delete
DescriptionDelete basket triggerDefinition
delete()Code
63 | function BasketTrigger:delete() |
64 | removeTrigger(self.triggerId); |
65 | end |
load
DescriptionLoad basket triggerDefinition
load(integer nodeId)Arguments
integer | nodeId | id of node |
boolean | success | success |
45 | function BasketTrigger:load(nodeId) |
46 | self.nodeId = nodeId; |
47 | |
48 | self.triggerId = I3DUtil.indexToObject(nodeId, getUserAttribute(nodeId, "triggerIndex")); |
49 | if self.triggerId == nil then |
50 | self.triggerId = nodeId; |
51 | end |
52 | addTrigger(self.triggerId, "triggerCallback", self); |
53 | |
54 | self.triggerObjects = {}; |
55 | |
56 | self.isEnabled = true; |
57 | |
58 | return true; |
59 | end |
new
DescriptionCreating basket trigger objectDefinition
new(table mt)Arguments
table | mt | custom metatable (optional) |
table | instance | instance of basket trigger object |
28 | function BasketTrigger:new(mt) |
29 | local self = {}; |
30 | if mt == nil then |
31 | mt = BasketTrigger_mt; |
32 | end |
33 | setmetatable(self, mt); |
34 | |
35 | self.triggerId = 0; |
36 | self.nodeId = 0; |
37 | |
38 | return self; |
39 | end |
onCreate
DescriptionOn create basket triggerDefinition
onCreate(integer id)Arguments
integer | id | id of trigger node |
15 | function BasketTrigger:onCreate(id) |
16 | local trigger = BasketTrigger:new(); |
17 | if trigger:load(id) then |
18 | g_currentMission:addNonUpdateable(trigger); |
19 | else |
20 | trigger:delete(); |
21 | end |
22 | 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 |
74 | function BasketTrigger:triggerCallback(triggerId, otherActorId, onEnter, onLeave, onStay, otherShapeId) |
75 | if self.isEnabled then |
76 | |
77 | if onEnter then |
78 | local object = g_currentMission:getNodeObject(otherActorId); |
79 | if object.thrownFromPosition ~= nil then |
80 | self.triggerObjects[otherActorId] = true; |
81 | end |
82 | |
83 | elseif onLeave then |
84 | if self.triggerObjects[otherActorId] then |
85 | self.triggerObjects[otherActorId] = false; |
86 | |
87 | local object = g_currentMission:getNodeObject(otherActorId); |
88 | local x,y,z = worldToLocal(self.triggerId, object.thrownFromPosition[1],object.thrownFromPosition[2],object.thrownFromPosition[3]); |
89 | local dist = MathUtil.vector3Length(x,y,z); |
90 | end |
91 | end; |
92 | end; |
93 | end |