Bei einem Cheatsave schwer zu sagen. Was passiert, wenn du im Jahr 4000 ganz normal startest ohne dir Technologien etc zu geben? Erhältst du dann in Runde 6 auch einfach so Religionen? Das ist die spannendere Frage.![]()
Bei einem Cheatsave schwer zu sagen. Was passiert, wenn du im Jahr 4000 ganz normal startest ohne dir Technologien etc zu geben? Erhältst du dann in Runde 6 auch einfach so Religionen? Das ist die spannendere Frage.![]()
Pucc's Lets Plays BASE 6.0: #1 #2 #3 #4 #5
Download von BASE 6.4 [E]: HIER (klick mich!) (Stand: 08.06.2024)
Mal eine Frage der ganz anderen Art : Kann man eigentlich die Kartengrösse einfach in der py verändern?
Ich stelle immer mehr fest, dass meine Welt von 256 x 140 für mich zu klein ist, wenn man mehr Civs als 6 einbinden will. Von 10 und mehr Civs ganz zu schweigen.
Das sollte schon gehen, aber frage mich nicht was man tun musst. Manche Kartenscripte haben auf jeden Fall ein anderes Verhältnis an Plots.
Gut, besser, BASE. BASE ist eine Modifikation für Civilization IV: Beyond the Sword, die wie eine größere Erweiterung nah am Originalspiel verbleiben soll.
Die Kartenscript-Klassen greifen hierfür bei der Erstellung auf die Vorgabe-Dimensionen aus dem CyMap()-Objekt zurück. D.h. man kann
es innerhalb des Skriptes nicht ändern. Was du probieren könntest wäre aber ein Update des CyMap()-Objektes. Müsste man dann als erste Aktion im __init__() deines Skriptes einfügen.
Dafür gibt es diese Funktion:
Code:VOID rebuild (INT iGridW, INT iGridH, INT iTopLatitude, INT iBottomLatitude, BOOL bWrapX, BOOL bWrapY, WorldSizeType eWorldSize, ClimateType eClimate, SeaLevelType eSeaLevel, INT iNumCustomMapOptions, CustomMapOptionType aeCustomMapOptions) used to initialize the map during WorldBuilder load
Die anderen Parameter könnte man aus dem aktuellen CyMap() Objekt auslesen.
Die bessere Alternative habe ich gerade im DLL-Code wieder entdeckt
-> D.h. du musst in deinem MapScript eine Methode namens getGridSize(int iWorldSize) anlegen und kannst dort eine Liste mit zwei Werten zurück geben.Code:[…] else { // check map script for grid size override if (GC.getInitCore().getWorldSize() != NO_WORLDSIZE) { std::vector<int> out; CyArgsList argsList; argsList.add(GC.getInitCore().getWorldSize()); bool ok = gDLL->getPythonIFace()->callFunction(gDLL->getPythonIFace()->getMapScriptModule(), "getGridSize", argsList.makeFunctionArgs(), &out); if (ok && !gDLL->getPythonIFace()->pythonUsingDefaultImpl() && out.size() == 2) { m_iGridWidth = out[0]; m_iGridHeight = out[1]; FAssertMsg(m_iGridWidth > 0 && m_iGridHeight > 0, "the width and height returned by python getGridSize() must be positive"); } }
In Civ4/PublicMaps/ sind einige *.py-Dateien, die so eine Funktion enthalten. Die könntest du als Vorlage nehmen.
Geändert von Ramkhamhaeng (15. Januar 2018 um 12:49 Uhr)
Danke. Ich versuche sowas zwar zum ersten Mal, aber das heißt ja nichts ....
Viel Zeile, viel Ehr!
im Worldbuilder wird bei Feld-Auswahl "Hügel" ein Info eingeblendet "Hier können keine Städte errichtet werden", so wie bei Ocean und Gipfel.
Aber: Auf Hügeln ist im Spiel keine Beschränkung.
(Ich hab auch nicht zwei Versionen von "Hügel" entdeckt, eine mit und eine ohne Beschränkung)
![]()
Was haben die Screenshots damit zu tun?Zeig mal nen Screenshot mit dem Text im Weltenbauer.
Edit: Hab ingame nachgeschaut. Ja, irgendwie ist da der Tooltipp fehlerhaft.
Geändert von Cybah (15. Januar 2018 um 18:19 Uhr)
Pucc's Lets Plays BASE 6.0: #1 #2 #3 #4 #5
Download von BASE 6.4 [E]: HIER (klick mich!) (Stand: 08.06.2024)
Ist garantiert nur nen falsch/nicht aktualisierter Overlay-Text. Kommt bei Civ4 öfter vor.
Habs im SDK nachgeschaut. Es liegt daran, dass beim Hügel isFound 0 eingetragen ist. Also auf einem Hügel ohne Grasland, ohne Schnee, ohne Tundra, ohne Wüste etc. könnte man nicht gründen. Aber da es solche Felder nicht gibt, ist das irrelevant.Kann für den Hügel trotzdem mal ne Ausnahme im Text einbauen, dann wird der Tooltipp nicht mehr angezeigt.
Pucc's Lets Plays BASE 6.0: #1 #2 #3 #4 #5
Download von BASE 6.4 [E]: HIER (klick mich!) (Stand: 08.06.2024)
in dem Zusammenhang: Ich vermisse generell ein Feldzeichen "unpassierbar/kann nichts gebaut werden". So dass man, ohne die Optik zu ändern, bestimmte Felder "sperren" kann. Derzeitig gibt es so was wohl nur bei Oase, und dann ist "Eis" wohl das Einzige. Nicht überall plazierbar, Eis in der Sahara z.B. sieht doof aus.
Und wie sollte man dann ingame feststellen können, dass da nichts gebaut werden kann?
Gipfel gibt's noch!
Pucc's Lets Plays BASE 6.0: #1 #2 #3 #4 #5
Download von BASE 6.4 [E]: HIER (klick mich!) (Stand: 08.06.2024)
nun, wie sonst auch: Mit Arbeiter-Mauszeiger übers Feld. Gipfel ist optisch nicht immer die Lösung.
Sinn, den ich besonders dafür sehe, ist bei grossen Berg-Hügelmassiven nicht jedes Feld mit Hammer belegbar zu machen, weil auf sonst gebirgiges Gebiet unreal zu Superproduktionsbereichen werden. Alles mit Giopfeln zupflastern funktioniert, aber sieht be* aus.
Momentan hab ich mich mit "Eis" beholfen. Ist halb unsichtbar auf Hügen mit Wüste o.ä.
Dann müsste man ja vorweg jedes Feld abscannen. Glaube nicht, dass das jemand will.
Pucc's Lets Plays BASE 6.0: #1 #2 #3 #4 #5
Download von BASE 6.4 [E]: HIER (klick mich!) (Stand: 08.06.2024)
Kontere (u.a.) hat Hinweis "keine Fortbewegung auf Ozean" (screenshot 1)
Aber mit 5 Bewegungspunkten (mit Beförderunge + Forschungsereignis Karthografie + Weltumseglung = 2+3) kann eine Kontere 2 Ozeanfelder in einem Zug überwinden (screenshot 2)
(Bei anderen Einheiten hab ich das nicht geprüft, nur bei der Kontere zufällig gesehen)
Wenn das beabsichtigt ist, dann OK, wenn das falsch ist und geändert wird, bitte Info, dann muss ich die Karte anpassen.