Sprache Deutsch Language English

Script Dokumentation LS 2015 - CoinTelescopeTrigger (Patch 1.3)

Script Dokumentation Übersicht

scripts/triggers/CoinTelescopeTrigger.lua

Copyright (c) 2008-2015 GIANTS Software GmbH, Confidential, All Rights Reserved.
This document is to be published solely by ls-mods.de
1-- CoinTelescopeTrigger class
2--
3-- Copyright (C) GIANTS Software GmbH, Confidential, All Rights Reserved.
4
5CoinTelescopeTrigger = {}
6
7local CoinTelescopeTrigger_mt = Class(CoinTelescopeTrigger);
8
9function CoinTelescopeTrigger:onCreate(id)
10 g_currentMission:addUpdateable(CoinTelescopeTrigger:new(id));
11 --print("Created CoinTelescopeTrigger, id: ", id);
12end;
13
14function CoinTelescopeTrigger:new(name)
15 local self = {};
16 setmetatable(self, CoinTelescopeTrigger_mt);
17
18 self.triggerId = name;
19 if g_currentMission:getIsClient() then
20 addTrigger(name, "triggerCallback", self);
21 end;
22
23
24
25 self.coinTelescopeCamera = getChildAt(name, 0);
26 self.time = 0;
27
28 self.activateText = g_i18n:getText("UseBinoculars");
29
30 self.objectActivate = false;
31 self.isEnabled = true;
32
33 return self;
34end;
35
36function CoinTelescopeTrigger:delete()
37 if g_currentMission:getIsClient() then
38 removeTrigger(self.triggerId);
39 g_currentMission:removeActivatableObject(self);
40 end;
41end;
42
43function CoinTelescopeTrigger:getIsActivatable()
44 return self.isEnabled;
45end;
46
47function CoinTelescopeTrigger:drawActivate()
48 return;
49end;
50
51function CoinTelescopeTrigger:onActivateObject()
52 g_currentMission:addSharedMoney(-5, "other");
53 g_currentMission.isPlayerFrozen = true;
54 g_currentMission:addSpecialCamera(self.coinTelescopeCamera);
55 setCamera(self.coinTelescopeCamera);
56 self.time = 6000;
57 self.objectActivated = false;
58end;
59
60function CoinTelescopeTrigger:update(dt)
61 if (self.isEnabled and self.time > 0) then
62 self.time = self.time - dt;
63
64 if InputBinding.hasEvent(InputBinding.SKIP_MESSAGE_BOX) then
65 self.time = 0;
66 end;
67
68 g_currentMission.telescopeActive = true;
69 if self.time <= 0 then
70 self.time = 0;
71 g_currentMission:removeSpecialCamera(self.coinTelescopeCamera);
72 g_currentMission.telescopeActive = false;
73 g_currentMission.isPlayerFrozen = false;
74 end;
75 end;
76
77end;
78
79function CoinTelescopeTrigger:triggerCallback(triggerId, otherId, onEnter, onLeave, onStay)
80 if self.isEnabled then
81 if onEnter or onLeave then
82 if g_currentMission.controlPlayer and g_currentMission.player ~= nil and otherId == g_currentMission.player.rootNode then
83 if onEnter then
84 if not self.objectActivated then
85 g_currentMission:addActivatableObject(self);
86 self.objectActivated = true;
87 end
88 else
89 if self.objectActivated then
90 g_currentMission:removeActivatableObject(self);
91 self.objectActivated = false;
92 end
93 end;
94 end;
95 end;
96 end;
97end;
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