Teuflische Idee

» Siedler Map Source Forum » Siedler DEdK Script Forum » Teuflische Idee

Seiten: 1

Ghoul
#1
02.10.2014 18:22
Beiträge: 284

Teuflische Idee

Mal eine Frage an euch vom Forum:

Mir ist vor kurzem eine teuflische Idee eingefallen, eine neue Art Map zu skripten.

Dazu folgende Frage, da ich ja im Skripten noch nicht ganz so erfahren bin:
kann man per Skript nach/während eines briefings (naja ist eig. auch egal wann, wenn halt eine Bedingung erfüllt wird) per Skript eine andere (nahezu!! identische Map per schnelllade funktion laden, sodass es kaum merklich ist??

Wär doch genial, wenn man schnell wohin will, um eine Aufgabe zu erledigen und hinter einem verändert sich die Landschaft.

Dazu bräuchte ich allerdings auch noch eine Funktion, die überall wo man grade nicht mehr ist, den "Nebel des Krieges" wieder erneuert, sodass immer nur der Teil der Karte sichtbar ist, wo der Held gerade steht.

Damit könnte man doch DIE Rätselmap machen!

SGM_Panzer
#2
02.10.2014 18:26
Beiträge: 322

Worin da das "Teuflische" stecken soll, hab ich nicht ganz verstanden, aber auf teuflische Ideen steh ich eh nicht so Die Idee an sich ist aber sehr gut, wäre genial wenn das ginge.

____________________
GameForce meets Youtube!

Maps in Arbeit (Klick):

Crystal Thunderball
- Scriptphase

Ghoul
#3
02.10.2014 18:34
Beiträge: 284

irgendwie muss es dann halt auch noch funktionieren, die Schnelladefunktion dann per Skript durchzuführen, wenn ein briefing stattfindet und andersrum. Denn dann merkt der Spieler es nicht das eine neue Map geladen wird.
Das Teuflische daran: Der Spieler denkt sich nichts dabei und auf einmal verändert sich um die Umgebung um ihn herum.
Vlt. nur für mich teuflisch, aber ich denke schon, dass der eine oder andere damit überhaupt nicht rechnet und dann vor völlig neuen Herausforderungen zu stehen

bobby
#4
02.10.2014 18:59
Beiträge: 393

Wenn du gleich eine komplette Map neu ladest würde das erst mal teuflisch laggen.
Du kannst aber einfach einen kleineren Bereich der Map umgestalten, was aber nicht ganz so einfach ist.
Schau dir mal den TerrainPatcher auf thesettlers.tk an mit dem sollte es gehen.

Das mit dem Nebel des Krieges geht aber soweit ich weiß nicht...

____________________
Tools und Verbesserungen für Siedler: settlers.pro

Neues:
Cutscene Editor
LuaDebugger v0.5.2

Dieser Beitrag wurde von bobby am 24.03.2016 um 14:20 editiert.

Zedeg
#5
02.10.2014 18:59
Beiträge: 428

Zitat von Ghoul:
Dazu bräuchte ich allerdings auch noch eine Funktion, die überall wo man grade nicht mehr ist, den "Nebel des Krieges" wieder erneuert, sodass immer nur der Teil der Karte sichtbar ist, wo der Held gerade steht.


Gab es schon mal hier. Ergebnis: UNMÖGLICH!

Zitat von Ghoul:
kann man per Skript nach/während eines briefings (naja ist eig. auch egal wann, wenn halt eine Bedingung erfüllt wird) per Skript eine andere (nahezu!! identische Map per schnelllade funktion laden, sodass es kaum merklich ist??


Das Laden wäre möglich --> Klick!
Nur ist dieses Laden genauso langsam wie das normale Starten und wird somit nicht unbemerkt bleiben.

Ich trage seit Tagen den Gedanken mit mir herum, dass man eine s5x-Datei per bba-Tool entpackt, in die entpackte Karte dann andere s5x-Dateien kopiert und diese dann per Skript im laufendem Spiel startet. So könnte man dem Spieler mehrere Karten auf einmal übergeben mit nur einmal herunterladen von SMS. Muss ich so schnell wie möglich ausprobieren. Oder jemand anderes.

Edit: Sh*t, nur ein paar Sekunden zu spät...

____________________
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

mcb
#6
02.10.2014 19:11
Beiträge: 1472

@bobby: Wenn du den terrainpatcher auf meinen neuen LowPriorityJob anpasst, könnte das auch mit größeren Gebieten ohne ruckeln funktionieren.

@Zedeg: Wenn du das Laden gut versteckst (z.B. gerade der ganze Bildschirm schwarz ist) könnte das auch nicht auffallen. Entsprechende Funktionen habe ich als Comforts.

Ghoul
#7
02.10.2014 21:12
Beiträge: 284

danke für den Link: das bestärkt mich weiter darin, folgendes anzuwenden:

Es muss ja gar nicht so laufen wie es idealerweise sein sollte.
Der Siedlergemeinde eine Illusion vorzutäuschen, die echt real rüberkommt, reicht da ja auch.....


.....und ist wesentlich einfacher zu machen

Hmm, mir kommt grad ne einfachere Idee, die vermutlich auch wesentlich einfacher in der Anwendung ist: Wie kann man den Meeresspiegel während des Games per Skript künstlich anheben??
Die Nebelreich Kampagnen-Endmap zeigte bereits, dass Maps danach vollständig anders aussehen können

jugl
#8
02.10.2014 21:24
Beiträge: 803

Wenn teuflisch suchst , findest du diese alten Kamellen.

http://www.siedler-maps.de/for...ffbce32ec1835b3f8a5df47b01b61d

____________________
Si tus vi late, in isse tabernit.

totalwarANGEL
#9
02.10.2014 22:05
Beiträge: 2123

Zitat von Ghoul:

kann man per Skript nach/während eines briefings (naja ist eig. auch egal wann, wenn halt eine Bedingung erfüllt wird) per Skript eine andere (nahezu!! identische Map per schnelllade funktion laden, sodass es kaum merklich ist??


Keine neue Idee... hier Maps werden nacheinander gespielt. Geht Bei DEdK nicht ohne Manipulationen durch den GUI-Editor - also mit mehr Aufwand verbunden als bei AeK - aber sicherlich machbar...
Wenn man's kann...

Und wer ein Beispiel auf der SMS sucht, weil er nicht auf unheiligen Boden will, siehe FINAL von LordFWD.

____________________
Die Welt ist arschlochförmig und wir leben in der Mitte.

Kantelo
#10
02.10.2014 22:49
Beiträge: 357

Bevor das wieder verworfen wird: das mit dem Nebel des Krieges geht auf Umwegen schon!!

Man muss nur dem Spieler via GUI.SetControlledPlayer(_plID) einen neuen Player geben (der dann via Display.SetPlayerColorMapping blau ist oder wie auch immer)
und dann Logic.ActivateUpdateExplorationForAllPlayers() aufrufen.

Es folgt: Für den Spieler ist jetzt nur noch alles vom neuen Player sichtbar, dazu muss man halt eine Player ID freihalten.

Nachteil, es geht auch nicht mehrmals mit der selben Player ID also theoretisch 7 mal möglich praktisch aber wahrscheinlich nur ein bis zweimal.

@twa: Warum geht das in Siedler 5 nicht, bzw. was hat Siedler 6 da für eine Besonderheit?

Noigi
#11
02.10.2014 23:07
Beiträge: 772

Zitat von Kantelo:
Bevor das wieder verworfen wird: das mit dem Nebel des Krieges geht auf Umwegen schon!!

Man muss nur dem Spieler via GUI.SetControlledPlayer(_plID) einen neuen Player geben (der dann via Display.SetPlayerColorMapping blau ist oder wie auch immer)
und dann Logic.ActivateUpdateExplorationForAllPlayers() aufrufen.

Es folgt: Für den Spieler ist jetzt nur noch alles vom neuen Player sichtbar, dazu muss man halt eine Player ID freihalten.

Nachteil, es geht auch nicht mehrmals mit der selben Player ID also theoretisch 7 mal möglich praktisch aber wahrscheinlich nur ein bis zweimal.

@twa: Warum geht das in Siedler 5 nicht, bzw. was hat Siedler 6 da für eine Besonderheit?


Richtig! Es gibt dafür auch eine Comfort-Funktion:

function ChangePlayersPlayerID(_newPlayer)
	local isValidPlayerID= {1,2,3,4,5,6,7,8};
	assert(isValidPlayerID[_newPlayer]);
	local oldPlayer = GUI.GetPlayerID();
	GUI.SetControlledPlayer(_newPlayer);
	Logic.ActivateUpdateOfExplorationForAllPlayers();
	if gvMission then gvMission.PlayerID = _newPlayer; end
	Logic.PlayerSetIsHumanFlag( oldPlayer, 0 );
	Logic.PlayerSetIsHumanFlag( _newPlayer, 1 );
	Logic.PlayerSetGameStateToPlaying( _newPlayer );
end

totalwarANGEL
#12
03.10.2014 02:34
Beiträge: 2123

Zitat von Kantelo:
@twa: Warum geht das in Siedler 5 nicht, bzw. was hat Siedler 6 da für eine Besonderheit?


Wieder missverständlich, wie...

Ich meinte so wie ich es gemacht habe, geht es in S5 nur, wenn man neue GUI-Elemente einbaut. Einfaches starten per Befehl geht natürlich immer.

Startmethode

____________________
Die Welt ist arschlochförmig und wir leben in der Mitte.

Kantelo
#13
03.10.2014 11:03
Beiträge: 357

Zitat von totalwarANGEL:

Zitat von Kantelo:
@twa: Warum geht das in Siedler 5 nicht, bzw. was hat Siedler 6 da für eine Besonderheit?


Wieder missverständlich, wie...

Ich meinte so wie ich es gemacht habe, geht es in S5 nur, wenn man neue GUI-Elemente einbaut. Einfaches starten per Befehl geht natürlich immer.

Startmethode



Achso Ja dann...

Seiten: 1

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

Impressum