Hi,
ich habe einen Trigger gebastelt, welcher beim betreten ein Bild als Overlay anzeigen soll. Leider wird das Bild nicht geladen.
Log ist sauber und das Script wird auch geladen.
Kurz zur Funktionsweise.
Der Trigger wird, ganz normal, mit dem GE auf der Map verbaut.
Wenn der Spiele diesen zu Fuß betritt, soll ein Bild angezeigt werden, welches im Script angegeben ist.
Verläst der Spieler den Trigger, soll auch das Bild wieder ausgeblendet werden.
Nach dem Spielstart wird in der Log angezeigt, das das Script geladen wurde aber beim betreten des Triggers erscheint kein Bild.
Die Log ist nach wie vor sauber.
Hier mal das Script soweit wie ich es bis jetzt habe (Wird überings über die Map modDesc.xml aufgerufen!):
[expander]
[lua]
MyPicTrigger ={};
local MyPicTrigger_mt = Class(MyPicTrigger, Object);
function onCreate(self, id)
local instance = MyPicTrigger:new(g_server ~= nil, g_client ~= nil);
local index = g_currentMission:addOnCreateLoadedObject(instance);
instance:load(id);
instance:register(true);
end;
function MyPicTrigger:new(isServer, isClient)
local self = Object:new(isServer, isClient, MyPicTrigger_mt);
self.className = "MyPicTrigger";
return self;
end;
function MyPicTrigger:load(name)
self.triggerId = name;
addTrigger(name, "triggerCallback", self);
self.hudInfoPosX = 0.5;
self.hudInfoWidth = 0.4-0.012;
self.hudInfoPosY = 0.5;
self.hudInfoHeight = 0.4;
self.infoPanelInfoPath = Utils.getFilename("test.dds", self.baseDirectory); -- Das Bild liegt im selben Verzeichnis wie das Script.
sefl.hudInfoOverlay = Overlay:new("hudInfoOverlay", self.infoPanelInfoPath, self.hudInfoPosX, self.hudInfoPosY, self.hudInfoWidth, self.hudInfoHeight);
self.showhudInfo = false;
end;
function MyPicTrigger:delete()
removeTrigger(self.triggerId);
end;
function MyPicTrigger:update(dt)
end;
function MyPicTrigger:triggerCallback(triggerId, otherId, onEnter, onLeave, onStay, otherShapeId)
if onEnter then
if (g_currentMission.player ~= nil and otherId == g_currentMission.player.rootNode) then
self.hudInfoOverlay:render();
self.showhudInfo = true;
end;
end;
end;
print("MyPicTrigger v1.0 loaded!")
g_onCreateUtil.addOnCreateFunction("MyPicTriggerOnCreate", MyPicTrigger.onCreate);
[/lua]
[/expander]
Der Aufruf im Trigger erfolgt so:
Hat da jemand eine Idee, wie ich das Ganze ans Laufen bekomme?
LG
Webby