Probleme mit Briefing

» Siedler Map Source Forum » Siedler DEdK Script Forum » Probleme mit Briefing

Seiten: 1

wilma456
#1
21.03.2017 20:09
Beiträge: 460

Probleme mit Briefing

Ich habe leider Probelme mit dem Briefing. Ich bekomme immer nur die Fehlermeldung, das in Zeile 233 von Confort.lua (also ein internes Skript) ein Stack Overflow aufgetreten ist. Folgendes wurde bereits versucht:

function StartBriefing()
local briefing = {};
 
    local AP = function(_page) table.insert(briefing, _page); return _page; end;

 	local page1 = AP{
        title        = "Willkommen",                            -- Überschrift
        text         = "Dies ist der Willkommensbildschirm",    -- Beschreibung
        npc          = {                                -- Eine Einheit wird während dieser Seite beobachtet
            id = GetEntityId("CutsceneIntroErec"),
            isObserved = true
        },
        dialogCamera = true
    };
	StartBriefing(briefing);
end


function StartBriefing()
PreludeBriefing = {}
PreludeBriefing.finished = PreludeBriefingFinished
page = 0

page = page + 1
PreludeBriefing[page] = {}
PreludeBriefing[page].title = "Der Anfang"
PreludeBriefing[page].position = GetPosition("CutsceneIntroErec")
PreludeBriefing[page].text = "Hallo Welt"
PreludeBriefing[page].dialogCamera = false;

StartBriefing(PreludeBriefing)
end


function StartBriefing()
    -- Das lokale Briefing
    local briefing = {};
    -- AddPage / AddShortPage Funktion
    local AP, ASP = AddPages(briefing);
    
    -- ASP( _name, _title, _text, _dialog);     _dialog "true" -> Nahsicht  - ansonsten einfach weg lassen! 
    ASP("CutsceneIntroErec","Scout","Ich habe gehört das ihr den Turm zerstört habt?", true);
    ASP("CutsceneIntroErec","Erec","Aber sicher, das war so geplant.");
    ASP("CutsceneIntroErec","Scout","Na, dann ist´s ja gut!", true);
    -- .. hier könnt ihr beliebig viele Seiten hinzufügen!
    
    StartBriefing(briefing);
end

function AddPages( _briefing )
    local AP = function(_page) table.insert(_briefing, _page); return _page; end
    local ASP = function(_entity, _title, _text, _dialog) return AP(CreateShortPage(_entity, _title, _text, _dialog)); end
    return AP, ASP;
end

function CreateShortPage( _entity, _title, _text, _dialog) 
    local page = {
        title = _title,
        text = _text,
        position = GetPosition( _entity ),
        dialogCamera = _dialog
    };
    return page;
end


CutsceneIntroErec ist eine ScriptEntity. hat wer eine Idee?

____________________
Schlacht um Crawford

Wilmasmod

Peter-FS
#2
21.03.2017 20:23
Beiträge: 1086

Einfach mal den ganzen kram raus und nur eine message anstatt dem briefing rein. Prüfen ob es läuft.

____________________
Man muss nicht alles wissen, man muss nur wissen wo es steht!

mcb
#3
21.03.2017 20:27
Beiträge: 1472

Deine Funktion heißt StartBriefing, was die Originalfunktion StartBriefing überschreibt. Damit ruft sich dein StartBriefing immer wieder selbt auf->Stack Overflow. (Auch wenn die Zeile in Comfort.lua keinen Sinn macht...)
Benenne einfach deine Funktion StartBriefing in der du das Briefing erstellst um (und den Aufruf aus der FMA).

wilma456
#4
21.03.2017 20:50
Beiträge: 460

Zitat von mcb:
Deine Funktion heißt StartBriefing, was die Originalfunktion StartBriefing überschreibt. Damit ruft sich dein StartBriefing immer wieder selbt auf->Stack Overflow. (Auch wenn die Zeile in Comfort.lua keinen Sinn macht...)
Benenne einfach deine Funktion StartBriefing in der du das Briefing erstellst um (und den Aufruf aus der FMA).


Manchmal übersieht man echt das offensichtliche. Danke!

____________________
Schlacht um Crawford

Wilmasmod

Seiten: 1

SiteEngine v1.5.0 by nevermind, ©2005-2007
Design by SpiderFive (www.siedler-games.de) - English translation by juja

Impressum