Sprache Deutsch Language English

Script Dokumentation LS 2015 - HelpLineTrigger (Patch 1.3)

Script Dokumentation Übersicht

scripts/triggers/HelpLineTrigger.lua

Copyright (c) 2008-2015 GIANTS Software GmbH, Confidential, All Rights Reserved.
This document is to be published solely by ls-mods.de
1-- HelpLineTrigger class
2--
3-- Copyright (C) GIANTS Software GmbH, Confidential, All Rights Reserved.
4
5HelpLineTrigger = {}
6
7local HelpLineTrigger_mt = Class(HelpLineTrigger);
8
9function HelpLineTrigger:onCreate(id)
10 g_currentMission:addNonUpdateable(HelpLineTrigger:new(id));
11-- print("Created HelpLineTrigger, id: ", id);
12end;
13
14function HelpLineTrigger:new(name)
15 local self = {};
16 setmetatable(self, HelpLineTrigger_mt);
17
18 self.triggerId = name;
19 if g_currentMission:getIsClient() then
20 addTrigger(name, "triggerCallback", self);
21 end;
22
23 self.loanSymbol = getChildAt(name, 0);
24
25 self.activateText = g_i18n:getText("CallHelpLine");
26
27 self.isEnabled = true;
28 self.objectActivated = false;
29
30 local x, _, z = getWorldTranslation(name);
31 self.mapHotspot = g_currentMission.ingameMap:createMapHotspot("Phone", "dataS2/menu/hud/hud_pda_spot_phone.png", x, z, nil, nil, false, false, false, 0, true);
32
33 return self;
34end;
35
36function HelpLineTrigger:delete()
37 if self.mapHotspot ~= nil then
38 g_currentMission.ingameMap:deleteMapHotspot(self.mapHotspot);
39 end;
40 if g_currentMission:getIsClient() then
41 removeTrigger(self.triggerId);
42-- g_currentMission:removeActivatableObject(self);
43 end;
44end;
45
46function HelpLineTrigger:getIsActivatable()
47 return self.isEnabled and g_currentMission.controlPlayer;
48end;
49
50function HelpLineTrigger:drawActivate()
51 return;
52end;
53
54function HelpLineTrigger:onActivateObject()
55 self.helpLineView = g_gui:showGui("HelpLineView");
56
57 self.objectActivated = true;
58 g_currentMission:addActivatableObject(self);
59end;
60
61function HelpLineTrigger:triggerCallback(triggerId, otherId, onEnter, onLeave, onStay)
62 if self.isEnabled then
63 if onEnter or onLeave then
64 if g_currentMission.player ~= nil and otherId == g_currentMission.player.rootNode then
65 if onEnter then
66 if not self.objectActivated then
67 g_currentMission:addActivatableObject(self);
68 self.objectActivated = true;
69 end
70 else
71 if self.objectActivated then
72 g_currentMission:removeActivatableObject(self);
73 self.objectActivated = false;
74 end
75 end;
76 end;
77 end;
78 end;
79end;
Copyright (c) 2008-2015 GIANTS Software GmbH, Confidential, All Rights Reserved.
This document is to be published solely by ls-mods.de
Script Dokumentation Übersicht