Thema: Briefing hilfe gesucht!
-
27.02.2011, 15:30 #1
Briefing hilfe gesucht!
Auf manchen Karten kommen Briefings bei denen die Dialoge eine bestimmte Zeit andauern und die man nicht mit Esc abbrechen kann!
Aber wie macht man diese?
Grüße FastBow
-
27.02.2011, 17:01 #2
- Registriert seit
- 12.07.2006
- Ort
- Wilstedt (Niedersachsen)
- Beiträge
- 180
- Downloads
- 0
- Uploads
- 0
AW: Briefing hilfe gesucht!
Muster:
Code:function SchmiedHaradBrief2() local briefing = {noEscape=true} -- Dann muss in den geschweiften Klammer noEscape=true stehen! BRIEFING_TIMER_PER_CHAR = 0.8 -- ist die Zeit pro Zeichen im Text local AP, ASP = AddPages(briefing); ASP("hero","Hero","Eine Orkaxt? Wo soll ich die denn herbekommen?", true) ASP("harad","Harad","Bei den Orks natürlich, du Hirni!", true) briefing.finished = function() --Hier dann Folgefunktionen rein end; StartBriefing(briefing); end
Um Briefings in diesem sog. "Neuen Briefingstil" realisieren zu können,
muss folgendes gemacht werden:
1. Eintrag in die FMA:
Code:ActivateBriefingsExpansion()
Code:function AddPages( _briefing ) local AP = function(_page) table.insert(_briefing, _page); return _page; end local ASP = function(_entity, _title, _text, _dialog, _explore) return AP(CreateShortPage(_entity, _title, _text, _dialog, _explore)); end return AP, ASP; end function CreateShortPage( _entity, _title, _text, _dialog, _explore) local page = { title = _title, text = _text, position = GetPosition( _entity ), action = function ()Display.SetRenderFogOfWar(0) end }; if _dialog then if type(_dialog) == "boolean" then page.dialogCamera = true; elseif type(_dialog) == "number" then page.explore = _dialog; end end if _explore then if type(_explore) == "boolean" then page.dialogCamera = true; elseif type(_explore) == "number" then page.explore = _explore; end end return page; end function ActivateBriefingsExpansion() if not unpack{true} then local unpack2; unpack2 = function( _table, i ) i = i or 1; assert(type(_table) == "table"); if i <= table.getn(_table) then return _table[i], unpack2(_table, i); end end unpack = unpack2; end Briefing_ExtraOrig = Briefing_Extra; Briefing_Extra = function( _v1, _v2 ) for i = 1, 2 do local theButton = "CinematicMC_Button" .. i; XGUIEng.DisableButton(theButton, 1); XGUIEng.DisableButton(theButton, 0); end if _v1.action then assert( type(_v1.action) == "function" ); if type(_v1.parameters) == "table" then _v1.action(unpack(_v1.parameters)); else _v1.action(_v1.parameters); end end Briefing_ExtraOrig( _v1, _v2 ); end; GameCallback_EscapeOrig = GameCallback_Escape; StartBriefingOrig = StartBriefing; EndBriefingOrig = EndBriefing; MessageOrig = Message; CreateNPCOrig = CreateNPC; StartBriefing = function(_briefing) assert(type(_briefing) == "table"); if _briefing.noEscape then GameCallback_Escape = function() end; briefingState.noEscape = true; end StartBriefingOrig(Umlaute(_briefing)); end EndBriefing = function() if briefingState.noEscape then GameCallback_Escape = GameCallback_EscapeOrig; briefingState.noEscape = nil; end EndBriefingOrig(); end; Message = function(_text) MessageOrig(Umlaute(tostring(_text))); end; CreateNPC = function(_npc) CreateNPCOrig(Umlaute(_npc)); end; Umlaute = function(_text) local texttype = type(_text); if texttype == "string" then _text = string.gsub( _text, "ä", "\195\164" ); _text = string.gsub( _text, "ö", "\195\182" ); _text = string.gsub( _text, "ü", "\195\188" ); _text = string.gsub( _text, "ß", "\195\159" ); _text = string.gsub( _text, "Ä", "\195\132" ); _text = string.gsub( _text, "Ö", "\195\150" ); _text = string.gsub( _text, "Ü", "\195\156" ); return _text; elseif texttype == "table" then for k, v in _text do _text[k] = Umlaute( v ); end return _text; else return _text; end end; end
bei der Erstellung von Briefings im "neuen Briefingstil" ab und um die Umlaute braucht man sich auch nicht mehr zu kümmern!Geändert von Flodder (01.03.2011 um 10:17 Uhr)
Sinnlos ist ein Leben ohne Sinn für nnisnU!
-
27.02.2011, 17:15 #3
- Registriert seit
- 12.07.2006
- Ort
- Wilstedt (Niedersachsen)
- Beiträge
- 180
- Downloads
- 0
- Uploads
- 0
AW: Briefing hilfe gesucht!
Noch etwas:
Falls alle Biefings nicht per Excape abgebrochen werden sollen, genügt es, wenn man in die FMA folgende Zeile einfügt:
Code:GameCallback_Escape = function() end;
Sinnlos ist ein Leben ohne Sinn für nnisnU!
-
27.02.2011, 17:44 #4
AW: Briefing hilfe gesucht!
Okay, das ist echt ne coole Sache!
Man kann also den "Neuen Briefingstil" für schnelle Briefings hernehmen,
aber kann man den alten denn noch zusätzlich benutzen?
Grüße und danke für die gute Lösung
FastBow
PS:
Am besten geht man hinter die Burg, dort findet man im graben eine alte Orkaxt!
Oder die ganz harten können sich mit dem Ork,abseits in der Höhle schlägern!
-
27.02.2011, 18:11 #5
- Registriert seit
- 12.07.2006
- Ort
- Wilstedt (Niedersachsen)
- Beiträge
- 180
- Downloads
- 0
- Uploads
- 0
AW: Briefing hilfe gesucht!
Den kann man für alle Briefings verwenden. Egal, ob lang oder kurz. Die Länge eines Briefings hängt ja nur von der Menge der Textzeilen ab. Einer der Vorteile des "neuen Stils" ist die "Kompaktheit". Bedeutet: Viel weniger Zeilen und manch andere Dinge, die schon die dazugehörende Comfort-Funktion automatisch regelt. Mit sehr geringen Aufwand kann man zudem im neuen Stil zur Briefinglaufzeit weitere Dinge ablaufen lassen.
Irgendwie habe ich das Gefühl, dass Du Dich gegen Comfort-Funktionen wehrst. Ich kann Dir aber jetzt schon versichern, dass Du ohne sie bei komplexen Abläufen nicht auskommen wirst. Erst recht dann nicht, wenn in der Map "highlights" ablaufen sollen. Warum auch wehren? Comforts tuhen niemandem weh, egal ob man sie verwendet oder nicht. Nicht aufgerufen liegen sie ja nur soz. "Auf Lauer".
Bei Verwendung des Tinytools ist die Skriptmenge unbedeutend. 4MB Skript, wird man sowieso kaum erreichen.
Eine Mischung ist kein Problem. Jederzeit möglich.
Das Letztere wird gefordert!
Mehr wird aber noch nicht verraten!
Gruss
FlodderSinnlos ist ein Leben ohne Sinn für nnisnU!
-
27.02.2011, 19:50 #6
AW: Briefing hilfe gesucht!
Hey!?
*lächel* Ich wehre mich ja garnicht gegen Comfort-funktionen.
Im Gegensatz : Ich finde sie sehr praktisch. Aber kann man den in dem neuen Stil auch
Marker und pointer setzen. Das Problem ist das ich mich da nicht so gut auskenne!
Ich werde mein bestes geben den Neuen stil zu lernen!
LG
FastBow
-
27.02.2011, 20:52 #7
Aktive Benutzer
Aktive Benutzer
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
Ähnliche Themen
-
Skriptproblem Briefing
Von Fidelio1958 im Forum S6 ScripteckeAntworten: 3Letzter Beitrag: 19.12.2008, 20:50 -
Briefing hilfe bei ende
Von Poldi im Forum S6 ScripteckeAntworten: 2Letzter Beitrag: 10.03.2008, 18:32
Lesezeichen