Inhaltsverzeichnis
Kurzbriefings
Durch diese Kurzbriefings könnt ihr ohne viel Aufwand Seiten einem Briefing hinzufügen!
Um ein Kurzbriefing aufzurufen müssen eine Comfort Function im Script-Code eingebunden werden: Umlaute
Die KurzBriefing-Seite:
ASP( _entity, _title, _text); -- oder: ASP( _entity, _title, _text, _dialog); -- die "Nahsicht" ist aktiviert, wenn für _dialog "true" eingesetzt wird
Hier werden die Parameter _entity, _titel, _text übergeben, und wenn bei _dialog „true“ steht, dann ist die „Nahsicht“(„DialogCamera“) für diese Seite aktiviert!
Erstellung eines Kurzbriefings durch eine AP-Funktion
function SpecialBriefing() -- 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("scout","Scout","Ich habe gehört das ihr den Turm zerstört habt?", true); ASP("erec","Erec","Aber sicher, das war so geplant."); ASP("scout","Scout","Na, dann ist´s ja gut!", true); -- .. hier könnt ihr beliebig viele Seiten hinzufügen! StartBriefing(briefing); end
AP = AddPage: Fügt eine normale Briefingseite hinzu
ASP = AddShortPage: Fügt eine Kurzbriefingseite hinzu
Und, Dank der kleinen Zeile „local AP, ASP = AddPages(briefing);“ können wir im selben Briefing auch
normale Briefingseiten einbauen:
function SpecialBriefing() local briefing = {}; local AP, ASP = AddPages(briefing); ASP("scout","Scout","Ich habe gehört das ihr den Turm zerstört habt?", true); ASP("erec","Erec","Aber sicher, das war so geplant."); AP{ text = "Kuck mal da!", position = GetPosition("Pos5"), explore = 1500, }; ASP("scout","Scout","Oh, wenn das so ist, ...", true); StartBriefing(briefing); end
Damit das funktioniert, müsst ihr diese zwei Code nur in euer Skript einfügen:
1. wegen dem Aufruf oben „local AP, ABP = AddPages(briefing);“ diese kleine Funktion:
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
2. die zugehörige „CreatePage“-Funktion namens „CreateShortPage“ ebenfalls einfügen:
function CreateShortPage( _entity, _title, _text, _dialog) local page = { title = _title, text = _text, position = GetPosition( _entity ), dialogCamera = _dialog }; return page; end
Beispiele
Beispiel: Aufruf eines Kurzbriefing über einem SimpleJob
function TurmDead() if IsDead("turmOne") then local briefing = {}; local AP, ASP = AddPages(briefing); ASP("scout","Scout","Ich habe gehört das ihr den Turm zerstört habt?", true); ASP("erec","Erec","Aber sicher, das war so geplant."); StartBriefing(briefing); return true end end
Eine weiter Möglichkeit wäre das Kurzbriefing über die Questhandling Funktion zu starten
(mehr über Questhandling Functionen siehe hier:Questhandling selbstgebaut)
Der Vorteil ist, das sie ohne SimpleJobs auskommen.
Beispiel: Aufruf eines Kurzbriefing über einen Quest-Callback:
function StarteErecScout() local quest = { EntityName = "erec", TargetName = "scout", Distance = 500, Callback = Callback_QuestExploreScout }; SetupExpedition( _quest ) end ------------------------------------ function Callback_QuestExploreScout( _quest ) local briefing = {}; local AP, ASP = AddPages(briefing); ASP("scout","Scout","Ich habe gehört das ihr den Turm zerstört habt?", true); ASP("erec","Erec","Aber sicher, das war so geplant."); StartBriefing(briefing); end
Bei fragen bitte hier im Forum melden! Tenji