Bild bleibt stehen
» Siedler Map Source Forum » Mapping » Bild bleibt stehen
Seiten: 1
xx1000
|
#1 04.06.2009 15:03 Beiträge: 143 |
Die Siedler DEdK: Bild bleibt stehen
Hallo zusamen
ich hab das Prblem das bei meiner Map ein Brifing is das wenn es zuende ist der Bildschirm an der Stele woich bin stehen Bleibt.
Hier is Das Briefing:
function createBriefingSchalei() BriefingSchalei = {} BriefingSchalei.restoreCamera = true -- call on end of biefing BriefingSchalei.finished = BriefingSchaleiFinished function BriefingSchaleiFinished() end local page = 0 -- page #1 page = page + 1 BriefingSchalei[page] = {} BriefingSchalei[page].title = "Bürgermeister von Schalei" BriefingSchalei[page].text = "Ihr seid also der der uns gewarnt hat." BriefingSchalei[page].position = GetPosition("Schalei" ) -- page #2 page = page + 1 BriefingSchalei[page] = {} BriefingSchalei[page].title = "Bürgermeister von Schalei" BriefingSchalei[page].text = "Alls Dank ernäne ich euch zum General. Diesen AUßENPOSTEN stell ich euch zur verfügung." BriefingSchalei[page].position = GetPosition("hq1" ) explore = 5000 -- page #3 page = page + 1 BriefingSchalei[page] = {} BriefingSchalei[page].title = "Bürgermeister von Schalei" BriefingSchalei[page].text = "Ach ja. Alle Minen in der Gegend sollen bewacht werden. Deswegen könnt ihr jetzt schon Truppen auf der 2. Stufe rekrutieren ind hier ist auch etwas Eisen. Den Rest erklärt euch der Mentor beim Außenposten." BriefingSchalei[page].position = GetPosition("eisen" ) dialogCamera = true explore = 1500 -- setup table for npc local npcSchalei = {} npcSchalei.name = "Schalei" npcSchalei.briefing = BriefingSchalei -- create npc CreateNPC(npcSchalei) end function BriefingSchaleiFinished() ChangePlayer ("hq1",1) ChangePlayer ("haus1",1) ChangePlayer ("haus2",1) ChangePlayer ("haus3",1) ChangePlayer ("haus4",1) ChangePlayer ("haus5",1) ChangePlayer ("arbeiter1",1) ChangePlayer ("arbeiter2",1) ChangePlayer ("arbeiter3",1) ChangePlayer ("arbeiter4",1) ChangePlayer ("arbeiter5",1) ChangePlayer ("arbeiter6",1) ChangePlayer ("arbeiter7",1) ChangePlayer ("arbeiter8",1) ChangePlayer ("arbeiter9",1) ChangePlayer ("arbeiter10",1) ChangePlayer ("arbeiter11",1) ChangePlayer ("arbeiter12",1) ReplaceEntity("hq1",Entities.PB_Headquarters1) -- Außenposten wird gegen Burg ausgetauscht SetHostile(1,3) SetHostile(7,2) SetHostile(7,3) SetFriendly(1,7) MapEditor_SetupAI(7, 0, 0, 2, "kaserne7", 0, 0) ActivateShareExploration(1,7,true) kampf1() end
Scon mal danke im voraus
xx1000
____________________
Die Kunst ist nichts Wahres ohne Aussicht auf Bares
Ich suche einen guten Scripter der für mich eine Funktion macht.
Bei Interesse mir bitte eine PN schreiben
MfG xx1000
Dieser Beitrag wurde von xx1000 am 04.06.2009 um 15:30 editiert.
fritz_98
|
#2 04.06.2009 15:14 Beiträge: 472 |
Hi xx1000,
erstmal isses schön, dass zurzeit wieder viele neue Mapper einsteigen wollen. Freut mich .
Nun zu deinem Fehler:
Unter dem
BriefingSchalei.finished = BriefingSchaleiFinished
...
Mach da mal das
function BriefingSchaleiFinished() end
weg, das hat da ermal nix verloren .
Dann... hast du noch folgende Fehler gemacht:
explore = 5000, dialogCamera = true, explore = 1500
Die werden eigentlich nur falsch benutzt. Sie müssen nämlich in das Briefing-Table inegriert werden...
Also so wie folgend:
BriefingSchalei[page].explore = 5000, BriefingSchalei[page].dialogCamera = true, BriefingSchalei[page].explore = 1500,
Wie meinst du das eig. mit 'die Kamera bleibt stehten'? Etwa so ähmlich, wie wenn man bei mir nen Ritter wählen soll? Dann hat das meistens folgende Ursache:
In der Finished-Funktion wird etwas aufgerufen, das gar nicht existiert.
Schau nochmal nach, ob sich im Skript folgende Functionen befinden:
ActivateShareExploration() kampf1()
Wenn das nicht weiter hilft, weiss ich allerdings nicht weiter...
Versuch mal die oben aufgelisteten Lösungsvorschläge .
LG
Fritz
xx1000
|
#3 04.06.2009 15:27 Beiträge: 143 |
Für deine hilfe schonmal danke aber
1.Alls ich das
function BriefingSchaleiFinished() end
gelöscht habe hat bei : tst Script gestanden
LUA_ERRSYNTAX
und das ganze Scriot hat net Funkzionirt.
2.
ActivateShareExploration() kampf1()
gibt es beide
3.Ja es ist so wie bei dir nen Ritter wälen
xx1000
____________________
Die Kunst ist nichts Wahres ohne Aussicht auf Bares
Ich suche einen guten Scripter der für mich eine Funktion macht.
Bei Interesse mir bitte eine PN schreiben
MfG xx1000
fritz_98
|
#4 04.06.2009 16:32 Beiträge: 472 |
Ich hab mir mal dein Skript in Notepad++ geladen und die von mir aufgelisteten Fehler korrigiert. Da steht jetzt nur noch "createBriefingSchalei" wurde gesetzt aber nicht verwendet.
Bedeutet soviel wie: nicht aufegrufen. Tut aber nichts zur Sache, da es der einzigste Fehler ist, den der Editor registriert. Und wenn ActivateShareExploration() und kampf1() wirklich existieren, dann mach doch einfach mal nur diese 2 Zeilen hier raus:
function BriefingSchaleiFinished() end
(Z. 8+9) mehr nicht, dann kommt auch keine Fehlermeldung .
Fritz
xx1000
|
#5 08.06.2009 06:39 Beiträge: 143 |
Danke
die Fehlermeldung is jetzt weg aber Das eingags und das Scalei Brifing werden irgenwie gar net gestartet
hab da sonst nichts gemacht
oder in den Brifings was anderes falsch?
xx1000
____________________
Die Kunst ist nichts Wahres ohne Aussicht auf Bares
Ich suche einen guten Scripter der für mich eine Funktion macht.
Bei Interesse mir bitte eine PN schreiben
MfG xx1000
Flodder
|
#6 08.06.2009 09:15 Beiträge: 2608 |
hi xx1000,
habe mal das ganze durcheinander in deinem Briefing logisch und funktionstüchtig in dem übersichtlicheren neuen briefingstil zusammengefasst.
Aufruf des Briefings:
EnableNpcMarker(GetEntityId("Johannes")) JohannesBriefing1()
Das komplette Briefing mir aufruf der anschliessenden funktionen:
function JohannesBriefing1() local beiJohn = { EntityName = "Dario", TargetName = "Johannes", Distance = 600, Callback = function() LookAt("Johannes","Dario"); LookAt("Dario","Johannes") Camera.FollowEntity(GetEntityId("Johannes")) DisableNpcMarker(GetEntityId("Johannes")) local briefing = {} BRIEFING_TIMER_PER_CHAR = 1.0 BRIEFING_ZOOMDISTANCE = 3000 BRIEFING_ZOOMANGLE = 35 local AP, ASP = AddPages(briefing); ASP("Johannes","Buergermeister von Schalei"," ".. "Ihr seid also der der uns gewarnt hat.") ASP("hq1","Buergermeister von Schalei"," ".. "Als Dank ernenne ich Euch zum General ".. "@cr und stelle Euch diesen AUSSENPOSTEN zur verfuegung.") AP{ title = "Buergermeister von Schalei", text = "Ach ja. Alle Minen in der Gegend sollen bewacht werden. Deswegen ".. "@cr koennt ihr jetzt schon Truppen Stufe zwei rekrutieren. Hier ist auch ".. "@cr etwas Eisen. Den Rest erklaert Euch der Mentor beim Aussenposten.", position = GetPosition("eisen"), action = function() ChangePlayer("hq1",1) SetHostile(1,3) SetHostile(7,2) SetHostile(7,3) -- was nicht feindlich gesetzt ist, ist automatisch neutral! -- SetFriendly(1,7) ist daher ueberfluessig! end } briefing.finished = function() for i = 1, 12 do ChangePlayer("arbeiter" ..i, 1) end for i = 1, 5 do ChangePlayer("haus" ..i, 1) end ReplaceEntity("hq1", Entities.PB_Headquarters1) MapEditor_SetupAI(7, 1, 100000, 2, "kaserne7", 0, 0) SetupPlayerAi( 7, {constructing = true, repairing = true, serfLimit = 10} ) Kampf1() end; StartBriefing(briefing); end } SetupExpedition(beiJohn) end
...das sieht doch schon mal viel übersichtlicher und geraffter aus, oder?
folgende comfort-funktionen irgendwo (...am besten am Skriptende) reinkopieren, damit AP´s und ASP´s laufen können:
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
Vorausgesetzt die entity-namen stimmen mit den einträgen im briefing überein, müsste das jetzt laufen. Für die Umlaute brauchst du noch eine extrafunktion, daher hab ich das hier mal mit ue und ae geschrieben. für das muster ist das aber egal.
nochbesser:
arbeite mit notepad++ dann kannste umlaute umschalten und brauchst die umlautefunktion gar nicht!
____________________
Take a Nudelholz und hau it on the Kopp of a bekloppt Person .... to give you a better Gefühl than vorher.
Dieser Beitrag wurde von Flodder am 08.06.2009 um 09:27 editiert.
xx1000
|
#7 13.06.2009 10:39 Beiträge: 143 |
habs probiert aber funkzionirt rein gar nicht mehr was im
FirstMapAcsion()
steht
xx1000
____________________
Die Kunst ist nichts Wahres ohne Aussicht auf Bares
Ich suche einen guten Scripter der für mich eine Funktion macht.
Bei Interesse mir bitte eine PN schreiben
MfG xx1000
Dieser Beitrag wurde von xx1000 am 18.06.2009 um 18:55 editiert.
Seiten: 1