War gut

» Siedler Map Source Forum » Siedler DEdK - Settlers HoK » War gut

Zurück zu den Maps: Die Siedler DEdK » Lloegyr - Prolog

Seiten: 1

Alberto
#1
10.08.2009 13:30
Beiträge: 28

War gut

Ich habe die Map gerade durch wurd knapp mit den soldaten.
Jedoch hast du die Map sehr gut! gestaltet.

Mir hatts gefallen
Freue mich schon auf deine nächste Map

Grüße Alberto

Wladimir
#2
10.08.2009 14:02
Beiträge: 489

Danke

Zitat von Alberto:
Ich habe die Map gerade durch wurd knapp mit den soldaten.
Jedoch hast du die Map sehr gut! gestaltet.

Mir hatts gefallen
Freue mich schon auf deine nächste Map

Grüße Alberto



Danke für dein Lob, Alberto.

Wladimir.

____________________
Viele, die leben, verdienen den Tod und viele die tot sind, das Leben. Kannst du es ihnen geben? Dann sei auch nicht so rasch mit einem Todesurteil zur Hand!

Gandalf

sam
#3
11.08.2009 17:38
Beiträge: 87

Sehr schön - nicht schon wieder so ne Materialschlacht !!

Fast wie die Maps von "Carla the Cat"

Prima - weiter so !!

LG

Wladimir
#4
11.08.2009 17:44
Beiträge: 489

Zitat von sam:
Sehr schön - nicht schon wieder so ne Materialschlacht !!

Fast wie die Maps von "Carla the Cat"

Prima - weiter so !!

LG



Danke sam für deinen zum Weitermappen ermutigenden Kommentar.

Wladimir.

PS: Wo hatte ich denn schonmal ne Materialschlachtmap?

____________________
Viele, die leben, verdienen den Tod und viele die tot sind, das Leben. Kannst du es ihnen geben? Dann sei auch nicht so rasch mit einem Todesurteil zur Hand!

Gandalf

sam
#5
11.08.2009 21:11
Beiträge: 87

Zitat von Wladimir PS: Wo hatte ich denn schonmal ne Materialschlachtmap?[/quote:



So war´s nicht gemeint!

Es gibt halt auch Maps in denen "viel hilft viel" gilt.

Die spiele ich zwar auch - aber spannender sind eben die anderen

Ich geb aber zu , das ich mit dem Mädel durch die letzen Linien gelaufen bin um die verbleibende letzte Kiste zu holen.....

ottishs
#6
12.08.2009 11:57
Beiträge: 1

Die Map hat mir sehr gut gefallen..super Script, schöne Landschaft.

Freue mich auch schon auf Teil 2, der hoffentlich ein bisschen länger dauert als knappe 15 Minuten

kingsia
#7
12.08.2009 21:12
Beiträge: 750

Zitat von ottishs:
Die Map hat mir sehr gut gefallen..super Script, schöne Landschaft.

Freue mich auch schon auf Teil 2, der hoffentlich ein bisschen länger dauert als knappe 15 Minuten



Leider kann ich diese Post nicht ernstnehmen und stufe es als ein "Ich lobe mich selbst" Post ein.

Der Script ist alles andere als Super meine Meinung nach.
Beispiele
1) "ae", "oe", und "ue" im Briefings statt "ä","ö" und "ü" obwohl die Comfort-function eingebaut ist. Oder "Compfort" wie der Autor sie umgenannt hat. Welche Sprache soll das sein?
2) sehr Platzverschwenderisch z.B. 8 Zeilen benutzt für ein einfache Befehl das normalerweise auf eine Zeile gehört.
3) Move("erec","erec" - Was soll das sein?

Rafael
#8
12.08.2009 22:34
Beiträge: 460

War jedenfalls ´ne lustige Map!

Ich hab wohl nicht das gemacht was Wladi erwartet hat.
Schließlich konnte man die Map gründlich aufräumen, bevor man die Audienz bei Dario hat.
Wobei es zugegebenermaßen nicht einfach war die Herrschaften hinter dem Zaun so zu provozieren, dass sie meinen Schützen und den Kanönchen von Pilgrim ausreichend entgegen kamen.
Hat aber Spaß gemacht das auszutüfteln.
Gruß
Rafael

Übrigens:
Siehe auch die Screenshots mit dem Dialog von Kerbie + Var.

Wladimir
#9
13.08.2009 08:41
Beiträge: 489

Zitat von kingsia:


Leider kann ich diese Post nicht ernstnehmen und stufe es als ein "Ich lobe mich selbst" Post ein.

Der Script ist alles andere als Super meine Meinung nach.
Beispiele
1) "ae", "oe", und "ue" im Briefings statt "ä","ö" und "ü" obwohl die Comfort-function eingebaut ist. Oder "Compfort" wie der Autor sie umgenannt hat. Welche Sprache soll das sein?
2) sehr Platzverschwenderisch z.B. 8 Zeilen benutzt für ein einfache Befehl das normalerweise auf eine Zeile gehört.
3) Move("erec","erec" - Was soll das sein?



Ganz ehrlich...
Was hat ein Mapkommentar mit meiner Scriptsprache zun tun?! Ist doch egal, ob ich nunmal etwas mehr Platz benutze, damits übersichtlicher wird. Und Erec soll ja nicht an Ari vorbeilaufen, wenn das Gespräch beginnt. Und die Umlautefunktion gehört zu einem Paket anderer Funktionen. Kann dem Spieler doch egal sein, ob die drin sind, oder nicht. Beim Skripten hab ich mir das nunmal angewöhnt.
Und ... Verschreiben kann man sich immer!!

Wladimir.

____________________
Viele, die leben, verdienen den Tod und viele die tot sind, das Leben. Kannst du es ihnen geben? Dann sei auch nicht so rasch mit einem Todesurteil zur Hand!

Gandalf

Wladimir
#10
13.08.2009 08:42
Beiträge: 489

Zitat von Rafael:
Ich hab wohl nicht das gemacht was Wladi erwartet hat.
Schließlich konnte man die Map gründlich aufräumen, bevor man die Audienz bei Dario hat.
Wobei es zugegebenermaßen nicht einfach war die Herrschaften hinter dem Zaun so zu provozieren, dass sie meinen Schützen und den Kanönchen von Pilgrim ausreichend entgegen kamen.
Hat aber Spaß gemacht das auszutüfteln.
Gruß
Rafael

Übrigens:
Siehe auch die Screenshots mit dem Dialog von Kerbie + Var.



Auf gute Ideen kommste ja! Da wär sogar nochwas besonderes drin gewsen. Der Zaun bei Kerbi war früher auch mal durchlässig, bevor ich den ersetzt hab!

Wladimir.

____________________
Viele, die leben, verdienen den Tod und viele die tot sind, das Leben. Kannst du es ihnen geben? Dann sei auch nicht so rasch mit einem Todesurteil zur Hand!

Gandalf

unstoppened
#11
13.08.2009 09:05
Beiträge: 112

Zitat von Wladimir:
Ganz ehrlich...
Was hat ein Mapkommentar mit meiner Scriptsprache zun tun?! Wladimir.



da hat sich jm. über deine mapsprache gewundert und es dir gesagt...auch der script gehört zur map!

Zitat von Wladimir:
Ist doch egal, ob ich nunmal etwas mehr Platz benutze, damits übersichtlicher wird.



übersichtlich ist für jeden ein anderer begriff...meine skripts halte ich meistens möglich eng und ich empfinde das als übersichtlich!

Zitat von Wladimir:
Und Erec soll ja nicht an Ari vorbeilaufen, wenn das Gespräch beginnt.



dh ari heißt auch "erec" ?

Zitat von Wladimir:
Und die Umlautefunktion gehört zu einem Paket anderer Funktionen. Kann dem Spieler doch egal sein, ob die drin sind, oder nicht. Beim Skripten hab ich mir das nunmal angewöhnt.



zu einem paket? welches soll das sein? außerdem: ich empfinde es sehr viel angenehmer wenn ich mich entspannen will und einfach mal wieder ne map zocke mir nicht noch die umlaute denken zu müssen...

Zitat von Wladimir:
Und ... Verschreiben kann man sich immer!!



In diesem Punkt stimme ich dir voll und ganz zu

Gruß unstoppened

____________________
You become what you hate or you hate what you become!

Wladimir
#12
13.08.2009 09:24
Beiträge: 489

Nein, Erec kommt in die Nähe von Ari und wird beim Auslösen des Briefings gestoppt, damit beide stehen, während sie erzählen.

Und das Paket ist ActivateBriefing***pansion()

Wladimir.

____________________
Viele, die leben, verdienen den Tod und viele die tot sind, das Leben. Kannst du es ihnen geben? Dann sei auch nicht so rasch mit einem Todesurteil zur Hand!

Gandalf

Flodder
#13
13.08.2009 13:13
Beiträge: 2608

Kommetar gelöscht wegen Doppelpost!
-Flodder-

____________________
Take a Nudelholz und hau it on the Kopp of a bekloppt Person .... to give you a better Gefühl than vorher.

Flodder
#14
13.08.2009 13:13
Beiträge: 2608

Zitat von ottishs:
...Super Script.


War das jetzt Dein Ernst? Wenn Du wirklich etwas vom Skripten verstehen solltest, müssten Dir einige Mängel in dem "Skript" aufgefallen sein.

Zitat von kingsia:

Der Script ist alles andere als Super meine Meinung nach.
Beispiele
1) "ae", "oe", und "ue" im Briefings statt "ä","ö" und "ü" obwohl die Comfort-function eingebaut ist. Oder "Compfort" wie der Autor sie umgenannt hat. Welche Sprache soll das sein?


Wo kingsia Recht hat, hat kingsia Recht!
Tja Wladimir, wenn Du die Comfort -Funktion nicht aufrufst, wird sie auch nicht ausgeführt, so ist das nun mal mit Funktionen.

Andererseits brauchste die eigentlich gar nicht, wenn Du Dich etwas mit Notepad++ auskennst.
Wenn Du sie allerdings schon einsetzt, dann solltest Du sie auch aufrufen:

ActivateBriefingExpansion()


...und das in der FMA! (...für später mal)

Zitat von kingsia:

2) sehr Platzverschwenderisch z.B. 8 Zeilen benutzt für ein einfache Befehl das normalerweise auf eine Zeile gehört.


Naja kingsia, vielleicht liebt Wladimir ja eher die Geräumigkeit im Skript? Dem Spiel ist das eigentlich egal. Das rafft die vielen Platzverschwendungen einfach zusammen. Aber da stimm ich Dir zu:
Skriptmässig sieht das nicht besonders gut aus.

Zitat von kingsia:

3) Move( "erec","erec" ) - Was soll das sein?


Gute Frage!
Der Befehl sagt eindeutig:
"Hallo Erec, geh mal zu Erec" (...grins!)
Im Endeffekt bewegt der sich aber nicht. Der ist ja schon da, wo er hin soll! (...lach!)

Skriptauszug:

function Arireden()
if IsNear("erec","ari",1500) then
Move("erec","erec")
AriBriefing()
DisableNpcMarker(GetEntityId("ari"))
return true
end
end


Ergo:
Ein völlig unützer Befehl, der genausogut raus kann!
Was Wladimir im obigen Block eigentlich wollte:
Der Marker über "ari" soll gelöscht werden, wenn "erec" sich "ari" auf 1500 Scm genähert hat und "erec" soll stehen bleiben. Gleichzeitig wird das AriBriefing() aufgerufen.

Dazu wäre ein SimpleJob gar nicht nötig gewesen. Das hätte man mit einem Callback viel besser lösen können. Aber selbst ein Callback wäre hier nicht nötig gewesen!
Genauer betrachtet, ist der ganze obige Block unnütz!

Das "Stehenbleiben" von "erec" und das Löschen des Markers über "ari" -dies wollte Wladimir mit dem ...ähäm... "überflüssigen" Block ja erreichen- hätte man schon über eine vorgegebene Distanz (1500) im AriBriefing() lösen können. Den Aufruf AriBriefing() dann schon im briefing.finished der function AnfangBriefing()

Soviel zu diesem Super Skript!

Gruss
Flodder

____________________
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 13.08.2009 um 13:23 editiert.

Rafael
#15
13.08.2009 14:13
Beiträge: 460

Move( "erec","erec" ) - Was soll das sein?

Zitat von Flodder:

Zitat von kingsia:

3) Move( "erec","erec" ) - Was soll das sein?


Gute Frage!
Der Befehl sagt eindeutig:
"Hallo Erec, geh mal zu Erec" (...grins!)
Im Endeffekt bewegt der sich aber nicht. Der ist ja schon da, wo er hin soll! (...lach!)

...
Hallo Flodder,
hilf mir mal auf die Sprünge.
Wladimir wollte Erec dort stoppen wo er gerade entlangdüst und das ist ihm mit

Move("erec","erec")

gelungen.
Wie hättest du das gemacht?
Gruß
Rafael

fritz_98
#16
13.08.2009 14:23
Beiträge: 472

Mit

LookAt(person1,person2)


Dann bleibt person1 stehen und schaut person2 an.
Ich finde aber, das kann jeder machen, wie er will.

Allerdings wäre es schon geschickter, wie Flodder schon sagte, den Befehl, das Erec zu Erec laufen soll () mitsamt dem Briefing in eine Callback-Function zu schreiben.

Rafael
#17
13.08.2009 14:43
Beiträge: 460

Danke Fritz_98!

Geht doch nichts über praktische Erfahrung!

Flodder
#18
13.08.2009 18:53
Beiträge: 2608

Zitat von Rafael:

Hallo Flodder,
hilf mir mal auf die Sprünge.
Wladimir wollte Erec dort stoppen wo er gerade entlangdüst und das ist ihm mit

Move("erec","erec")

gelungen.
Wie hättest du das gemacht?
Gruß
Rafael



Ja gerne Rafael.
Zunächst ist zu klären, was Wladimir in dem Block will:

1. Er möchte, dass der Marker über "ari" verschwindet, wenn "erec" sich "ari" auf 1500 Scm genähert hat.
2. Soll "erec" dann stehen bleiben.
3. Das AriBriefing() soll aufgerufen werden.

Ergo hängt alles von der Distanz "erec" zu "ari" ab.

Mein Vorschlag/Lösung:
In der

function AnfangBriefing()

im briefing.finished den Aufruf

StartSimpleJob( "Arireden" )

raus!
Dafür den Aufruf

function AriBriefing()

rein!

Den gesamten Block

function Arireden()

löschen!
Alles was Wladimir fordert kann allein mit der

function AriBriefing()

gelöst werden!

Sähe dann so aus:

function AriBriefing()
	local beiAri = {
	EntityName = "erec",
	TargetName = "ari",
	Distance = 1500,
	Callback = function()
	LookAt("erec","ari"); LookAt("ari","erec")
	Camera.FollowEntity(GetEntityId("ari"))
	DisableNpcMarker(GetEntityId("ari"))
	local briefing = {}
	BRIEFING_ZOOMDISTANCE = 2500
	BRIEFING_ZOOMANGLE = 25
	local AP, ASP = AddPages(briefing);
	ASP("ari","Ari","Halt! Ihr habt hier kein Durchgangsrecht. Was wollt ihr?! Und Wer seid ihr?")
	ASP("erec","Erec","Wir haben uns nach Tyras aufgemacht um den dortigen Aufstaendigen zu helfen. Diese Maenner sind eingeschworene Feinde des dunklen Lords.")
	ASP("ari","Ari","Und das soll ich Euch glauben. Passt auf, sonst habt ihr gleich einen Pfeil im Bauch!")
	ASP("erec","Erec","Welches wundersame Elflein droht mir da denn? Ich koennte Euch sogar behilflich sein!")
	ASP("ari","Ari","Nun schleimt doch nicht so. Mein Name ist Ari, Ari von Liwassund. Ich ueberfalle die Soldaten des dunklen Lords, wenn sie durch den Wald reisen.")
	ASP("erec","Erec","Wuedet ihr mir helfen, edle Lady?")
	ASP("ari","Ari","Ich werde Euch helfen dieses Land zu befreien. Unter einer Bedingung! Ich werde als Fuerstin des westlichen Lloegyr wiedereingesetzt.")
	ASP("erec","Erec","Ja, wir werden Euch das Fuerstentum uebergeben, sobald es erobert ist. Aber das muessen wir ersteinmal fertigbringen.")
	briefing.finished	
	= function()
        StartSimpleJob("Hinterhalt")
        ChangePlayer("ariT1",1)
        ChangePlayer("ariT2",1)
        ChangePlayer("ari",1)
	end;
	StartBriefing(briefing);
	end
	}
	SetupExpedition(beiAri)
end



Allein mit diesem Briefing werden alle Fliegen mit einer Klappe geschlagen. Ich erklärs mal kurz:
Nähert sich "erec" der Entity "ari" auf eine Distanz von 1500 Scm wird das ausgelöst, was im Callback steht:

"ari" schaut zu "erec" und "erec" zu "ari". Das macht sich immer gut und "erec" bleibt damit automatisch stehen. Desweiteren wird die Camera zunächst auf "ari" gesetzt und gleichzeitig der Marker über "ari" gelöscht.

Also alles (...und noch etwas mehr) was Wladimir eigentlich wollte und ohne den Rechner mit einem unnötigen Job zu belasten. Die "komische" Move-Zeile entfällt also auch.
Dies ist ein komplettes Briefing-Muster und kann nach Bedarf verwendet werden.

Gruss
Flodder

____________________
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 13.08.2009 um 19:05 editiert.

Wladimir
#19
13.08.2009 18:59
Beiträge: 489

Zitat von Flodder:


Ja gerne Rafael.
Zunächst ist zu klären, was Wladimir in dem Block will:

1. Er möchte, dass der Marker über "ari" verschwindet, wenn "erec" sich "ari" auf 1500 Scm genähert hat.
2. Soll "erec" dann stehen bleiben.
3. Das AriBriefing() soll aufgerufen werden.

Ergo hängt alles von der Distanz "erec" zu "ari" ab.

Meine Vorschlag/Lösung:
In der function AnfangBriefing() im briefing.finished den Aufruf StartSimpleJob("Arireden" raus!
Dafür den Aufruf function AriBriefing() rein!

Den gesamten Block function Arireden() löschen!
Alles was Wladimir fordert kann allein mit der function AriBriefing() gelöst werden!

Sähe dann so aus:

function AriBriefing()
	local beiAri = {
	EntityName = "erec",
	TargetName = "ari",
	Distance = 1500,
	Callback = function()
	LookAt("erec","ari"); LookAt("ari","erec")
	Camera.FollowEntity(GetEntityId("ari"))
	DisableNpcMarker(GetEntityId("ari"))
	local briefing = {}
	BRIEFING_ZOOMDISTANCE = 2500
	BRIEFING_ZOOMANGLE = 25
	local AP, ASP = AddPages(briefing);
	ASP("ari","Ari","Halt! Ihr habt hier kein Durchgangsrecht. Was wollt ihr?! Und Wer seid ihr?")
	ASP("erec","Erec","Wir haben uns nach Tyras aufgemacht um den dortigen Aufstaendigen zu helfen. Diese Maenner sind eingeschworene Feinde des dunklen Lords.")
	ASP("ari","Ari","Und das soll ich Euch glauben. Passt auf, sonst habt ihr gleich einen Pfeil im Bauch!")
	ASP("erec","Erec","Welches wundersame Elflein droht mir da denn? Ich koennte Euch sogar behilflich sein!")
	ASP("ari","Ari","Nun schleimt doch nicht so. Mein Name ist Ari, Ari von Liwassund. Ich ueberfalle die Soldaten des dunklen Lords, wenn sie durch den Wald reisen.")
	ASP("erec","Erec","Wuedet ihr mir helfen, edle Lady?")
	ASP("ari","Ari","Ich werde Euch helfen dieses Land zu befreien. Unter einer Bedingung! Ich werde als Fuerstin des westlichen Lloegyr wiedereingesetzt.")
	ASP("erec","Erec","Ja, wir werden Euch das Fuerstentum uebergeben, sobald es erobert ist. Aber das muessen wir ersteinmal fertigbringen.")
	briefing.finished	
	= function()
        StartSimpleJob("Hinterhalt")
        ChangePlayer("ariT1",1)
        ChangePlayer("ariT2",1)
        ChangePlayer("ari",1)
	end;
	StartBriefing(briefing);
	end
	}
	SetupExpedition(beiAri)
end



Allein mit diesem Briefing werden alle Fliegen mit einer Klappe geschlagen. Ich erklärs mal kurz:

Nähert sich "erec" der Entity "ari" auf eine Distanz von 1500 Scm wird das ausgelöst, was im Callback steht:

"ari" schaut zu "erec" und "erec" zu "ari". Das macht sich immer gut und "erec" bleibt damit automatisch stehen. Desweiteren wird die Camera zunächst auf "ari" gesetzt und gleichzeitig der Marker über "ari" gelöscht.

Also alles (...und noch etwas mehr) was Wladimir eigentlich wollte und ohne den Rechner mit einem unnötigen Job zu belasten. Die "komische" Move-Zeile entfällt also auch.

Gruss
Flodder



Danke Flodder,

ich werde diese Art von Briefing in Lloegyr 2 verwenden.

Wladimir.

____________________
Viele, die leben, verdienen den Tod und viele die tot sind, das Leben. Kannst du es ihnen geben? Dann sei auch nicht so rasch mit einem Todesurteil zur Hand!

Gandalf

Rafael
#20
13.08.2009 21:19
Beiträge: 460

Danke für die ausführliche Antwort!

Zitat von Flodder:
...Alles was Wladimir fordert kann allein mit der

function AriBriefing()

gelöst werden!...


Ich denke du hast Wladimir weitergeholfen und meine Neugier mit dieser Antwort mehr als befriedigt.
Wenn ich dann 2027 mit Mappen anfange, sind dann wahrscheinlich aber doch noch ein paar Fragen offen.
Gruß
Rafael

Daviddavid
#21
15.08.2009 03:39
Beiträge: 163

Hmmmm lol macht es so wie ihr es wollt und wenn die Map funktiniert dann prima und streitet euch nicht um ein paar Zeilen.
Und ä,ü,ö sieht im Spiel besser aus und lässt sich besser lesen.

Seiten: 1

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

Impressum