Dauerbriefing...

» Siedler Map Source Forum » Siedler DEdK Script Forum » Dauerbriefing...

Seiten: 1

Der_Deutsche
#1
30.04.2017 11:00
Beiträge: 349

Dauerbriefing...

Hallo, zuzeit Arbeite ich immernoch an
der Rework Map, allerdings nachdem
der Bote bei dem HQ Angekommen ist,Startet
das briefing... nachdem das Briefing beendet
ist startet das Briefing nochmal... wie
in einer Dauerschleife und trotz Move("Scout","HQKI4pos"
Bewegt der sich keinen Schritt weiter:

function ExampleBrief()
	-- ASP = Kurzaufruf
	-- ASP( _entity, _title, _text, _dialogCamera)
	local briefing = {noEscape = false}
	local AP, ASP = AddPages(briefing);
	ASP("HQPlayerpos2", "Erzähler",	"Ari,Erec und Pilgrim wurden auf eine Mission geschickt.", true);
	AP{ 
	title = "Erec",
	text = "Wir wurden beauftragt, die Dunkle Burg in den Land der Tausend Seen zu Zerstören!",	 
	position = GetPosition("Erec"),
	dialogCamera = true,
	action = function()
		LookAt("Ari","Erec");
		LookAt("Pilgrim","Erec");   
	end
	}
	AP{ 
	title = "Ari",
	text = "Aber warum, ich mein jeder darf hier doch Friedlich Leben... Und im Land der Tausend Seen dürfte man sich auch Baden Pilgrimm.",	 
	position = GetPosition("Ari"),
	dialogCamera = true,
	action = function()
		LookAt("Ari","Erec");
		LookAt("Pilgrim","Erec");   
	end
	}
	AP{ 
	title = "Pilgrim",
	text = "Ich Stinke? Ich habe doch schon letzes Jahr gebadet! Oder willst du nur eine Bombe in der Hose haben?",	 
	position = GetPosition("Pilgrim"),
	dialogCamera = true,
	action = function()
		LookAt("Ari","Pilgrim"); 
		LookAt("Erec","Pilgrim");     
	end
	}
	AP{ 
	title = "Erec",
	text = "Schluss jetzt! Wir muessen die Burg vernichten bevor noch mehr passiert!",	 
	position = GetPosition("Erec"),
	dialogCamera = true,
	action = function()
		LookAt("Ari","Erec");
		LookAt("Pilgrim","Erec");   
	end
	}

	ASP("HQKI2", "Auftrag",	"Zerstöre die Feindliche Burg!", false);
	briefing.finished = function()
  Quest1()
  Quest2()
  ReplaceEntity("HQKI4", Entities.PB_Headquarters2)
  Move("Scout","dahinKI4")
  StartSimpleJob("ScoutBeiBurg")
	end
	StartBriefing(briefing);
end
-------------------------------------------------------------------------------------------------
-- Funktion nach Briefing
function ScoutBeiBurg()
    local _marker = {
    EntityName 	= "Scout",
    TargetName = "dahinKI4",
    Distance = 700,
    Callback = function()
	ScoutNPC()
    end
    }
    SetupExpedition(_marker)	
end
function ScoutNPC()
    local briefing = {noEscape=false}
    local briefing = {}
    local AP, ASP = AddPages(briefing);     	
	ASP("Scout","Bote", "Erec! Ich komme gerade aus Norhausen, einer Stadt im Norden!", true)	
	ASP("Erec", "Erec", "Okey, was wollen sie von uns?", true)	
	AP{ 
	title = "Bote",
	text = "Der Buergermeister moechte mit euch Sprechen! Er sagte es sei Wichtig",	 
	position = GetPosition("Scout"),
	dialogCamera = true,
	action = function()
  Move("Scout","HQKI4bote")   
	end
	}
	ASP("Buergermeister","Mentor", "Geht zum Buergermeister von Norhausen und Sprecht mit ihm!", true)
    StartBriefing(briefing)
    briefing.finished = function()
	Move("Scout","HQKI4bote")
CreateNpcBM()
    end
end

function CreateNpcBM()
  local npc = {
     name = "Buergermeister",
     callback = function()
	    BMNPC()
     end
  }
  CreateNPC(npc)
end

function BMNPC()
    local briefing = {}
    local AP, ASP = AddPages(briefing); 
	ASP("Erec","Erec", "Hallo Herr Buergermeister, euer Bote hat mich zu euch gerufen.", true)
  ASP("Buergermeister","Buergermeister","Willkommen Erec! Ja allerdings hab ich euch gerufen. Wir werden seid einigen Tagen von Babaren Attakiert! Und da ihr ein Mitstreiter des Koenigs seit ist das bestimmt kein Problem fuer dich.",true)
  ASP("Buergermeister","posBabarenlager","Sie sollen sich hier aufhalten, bitte lasst die Angriffe aufhören!",false)
  ASP("Erec","Erec","Ich werde schauen was ich machen kann",true)
  ASP("Buergermeister","posSpeere","Sehr gut, ach noch was: Wir haben eine Speere zu der Feindesburg Angelegt, sobald die Babaren besiegt sind werden wir die Speere aufheben und euch im Kampf unterstützen!",false)
    StartBriefing( briefing)
    briefing.finished = function()
        -- hier was danach passieren soll		
    end
end



____________________
Nachbau von Siedler 5 Lobbys "Ubi.Com"

Updatelösungen Siedler 5 Patch 1.06

Creators Update Lösung Windows 10 Siedler 5

Zedeg
#2
30.04.2017 13:50
Beiträge: 428

StartSimpleJob("ScoutBeiBurg")

Ich bin mir ziemlich sicher, dass dies dir bereits schon einmal geschrieben wurde, aber dann jetzt eben noch einmal: StartSimpleJob führt eine Funktion ein Mal pro Sekunde aus. Was passiert, ist wahrscheinlich folgendes: Es wird jede Sekunde einmal mehr überprüft, ob du dich in der Nähe des Kundschafters befindest. Sobald ein Callback zu ende ist (das Briefing), wird der nächste gestartet. Dadurch bist du in der ,,Dauer´´schleife. Ein simples ScoutBeiBurg() reicht.

____________________
Journalisten erkundigen sich bei Wissenschaftlern meist nicht nach Grundlagen, sondern eher nach Ergebnissen und Folgerungen. Das erklärt womöglich auch, warum sich Forschungsberichte in den Medien so häufig als feststehende Erkenntnisse lesen, nicht aber als Ideen, Entdeckungen oder Indizien, um die es sich genau genommen in den meisten Fällen handelt. -Axel Bojowski

Seiten: 1

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

Impressum