
Ich bitte mal wieder um Hilfe und habe 2 Problemchen:
[ERSTES PROBLEM]
Wenn ich das Inventar-Item "iGedicht" anschaue, soll sich ein Bild von einem Blatt papier öffnen, damit der spieler dieses Gedicht lesen kann.
Erst habe ich versucht ein Gui zu erstellen in welches ich ein Textfeld eingefügt habe.
Dann habe ich versucht das Bild von dem Gedicht als "Graphical Overlay" einzublenden.
Hier die zwei Skript-Versuche:
1.
function iGedicht_Look()
{
gtext.visible = true;
}
2.
function iGedicht_Look()
{
Overlay* myOverlay = Overlay.CreateGraphical(100, 100, 63, true);
Wait(80);
myOverlay.Remove()
};
die fehlermeldung meint zu function iGedicht_Look(): nested functions not supported (you may have forgotten a closing brace)

[ZWEITES PROBLEM]
Nun habe ich noch ein weiteres Problem, dass ihr aber auch einfach ignorieren könnt, da es tatsächlich schon
1000x in diesem forum geschildert wurde. Falls trotzdem jemand helfen kann und will, wäre das sehr gut

Und zwar handelt es sich um einen Charakter ("cnichtspieler"), der immer hin und her laufen soll, sobald ich ihm das Item "iGedicht" gegeben habe.
Habe wirklich schon viel gestöbert und gelesen, wurde aber nicht schlauer aus alldem.
Ich habe mir gedacht ich könnte ja einfach einen Hotspot oder eine Region, die über dem ganzen Raum liegt aktivieren,
sobald der spieler dem nichtspieler das gedicht gibt. sobald dieser hotspot/region aktiv ist (und der spieler befindet sich in ihr),
sollte dann der skript laufen, welchen den nichtspieler hin- und her laufen lässt.
das sieht bei mir so aus:
function cnichtspieler_UseInv()
{
if (cspieler.ActiveInventory == iGedicht)
{
cspieler.LoseInventory (iGedicht);
hhotspot2.Enabled = true;
}
}
function hhotspot2_WalkOn()
{
cnichtspieler.LockView (6);
cnichtspieler.Walk (cnichtspieler.x-90, cnichtspieler.y);
cnichtspieler.LockView (7);
cnichtspieler.Walk (cnichtspieler.x+90, cnichtspieler.y);
bisher läuft nichtspieler im gewünschten view nur nach links und bleibt dann stehen.
Nun sollte er aber auch zurücklaufen und all das auch noch wiederholen!
Ich habe auch versucht einen Hotspot links von dem nichtspieler zu erstellen, wo der nichtspieler auch hinläuft,
doch scheitert es daran, dass dieser hotspot den nichtspieler zu dem rechten hotspot zurück schickt.
Die eingemalten Hotspots sind stattdessen nur für den spieler aktiv, was im spiel dann sehr skurill aussieht

Hoffe mir kann jemand helfen und bin für jeden tip sehr dankbar
