HOME

Civilization VI

Goldcheat

Die Goldwerte werden als INT32 abgelegt, aber.. mit 256 multipliziert.
Somit kann man die NICHT mit CheatEngine finden, da CE bei Integersuche den gesuchten Zahlenwert an GERADEN Adressen erwartet.
Eine coole Eigenschaft von GameConqueror ist, das mit dem Suchtyp "Int" sowohl alle möglichen Bytelängen(Int8,16,32,64) als AUCH krumme Adressen gefunden werden.
Das müsste auch bei unbekannten Nachkommastellen klappen, da die quasi "herausfallen" und ignoriert werden..
Mit anderen Worten: Mit GC kann man sich das komplizierte Umrechnen sparen..

Es gibt mehrere Wege um die Speicherzellen zu finden, wo sich der Goldwert(verschlüsselt) versteckt:

Am einfachsten ist es am Start, wenn man NACH Gründung einer Stadt auf den angezeigten Goldwert (Typ:INT8) scannt.
Trotzdem werden mehr als 4 Millionen möglicher Treffer angezeigt.

Könnte man die Adressen zumindest eingrenzen, wenn man nach den korrekten Zahlenwert forscht?
Also wenn 10 Gold angezeigt werden sucht man den INT32 Bereich von 10*256..10*256+255 ab (2560..2815). Einziger Vorteil: Die "krummen" Adressen fallen automatisch raus.
Sind aber auch ca. 500.000 Treffer -.-

Wenn man.. direkt nach der Gründung einer Stadt(sich über die Anzeige xxGold in der oberen Leiste freuen kann..) alternativ nach AOB scannt:
Das erste Byte ist unbestimmt(??) da dort die "Nachkommazahlen" verschlüsselt stehen, gefolgt von dem angezeigtem Goldwert(0..255 in HEX), und zwei weiteren Bytes(zu Beginn beide 0).
?? 0a 00 00 ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? (erster Scan.. bekommt man ebenso > 600.000 Treffer) (?? 0a = 10 Goldstücke!! Anpassen, wenn abweichend!)
?? 0a 00 00 ?? ?? ?? ?? ?? ?? ?? ?? ?? 7f 00 00 (diese Eingrenzung *kann* nur für Spieler Barbarossa klappen.. grenzt aber auf 12.000 Treffer ein)
00 0a 00 00 47 ?? ?? ?? ?? ?? ?? ?? ?? 7f 00 00 (voila: 20 Treffer. Nur ein AdressAOB weicht mehrfach ab, alle anderen 19 sind IDENTISCH)
Man KANN nach diesen Werten scannen, auch OHNE das man vorher eine Stadt gegründet hat! Dann ist der gefundene Wert an 7. Stelle
Warum 20 Treffer? Sind es alle "Spieler" incl. Stadtstaaten? Wenn ja.. dann haben die in Runde Null schon ihre Städte "gegründet" und müssten eigentlich 1 Gold mehr haben??
Diese Werte stimmen(innerhalb eines Spieles) überein:
00 0a 00 00 47 4f 52 59 78 ?? ?? ?? ?? 7f 00 00
Wenn man das dritte Byte von 01..15(hex!!) für jeden Eintrag ändert und dann schaut, welcher Wert erscheint, nachdem man die "Gratis-Einheit U-Boot gekauft hat.."
Entweder teilt man den neu angezeigten Goldwert durch 256 oder baut irgendwas. Dann sollte ein Wert abweichen. Hier war es der 5. Eintrag womit bewiesen wäre, das das erste BYTE 00 sein muss(statt ??).
Die anderen Werte wieder zurückschreiben auf 00. Den gefundenen Adresswert(+1) als neue Adresse speichern(INT16!!) und mit "GOLD" benennen :D

Es gibt nur EIN kleines Problem.. Änderungen in den Adressen werden NICHT sofort angezeigt. Aber es gibt einen kleinen Trick:
Da wir aber (durch die Vereinfachung der Suche nach INT8) das ZWEITE Byte(von dem eigentlichen 4 Byte langem INT32) gefunden haben.. dürfen wir NICHT INT32 verwenden(sonst schreiben wir "Müll" in den Speicher).
Stattdessen den TYP auf INT16 stellen. Somit können wir nur von 0-65535 Goldstücken "nutzen", aber dafür muss man nicht blöde durch 256 teilen..
Wer es unbedingt auf die "harte" Tour will.. Adresse hinzufügen mit um eins verringertem Adresswert. Den dann als INT32 setzen und schön den Taschenrechner schubsen..

Ob die richtige Adresse erwischt wurde kann man nur in der Stadtansicht unter Kauf eines Objektes mit Gold sehen. Da zum Start nur <20 Goldstücke vorhanden sein sollten..
müssten alle Kaufoptionen, die teurer sind, ausgegraut sein. Sind die Taler aber "golden" hat man die richtige Adresse gefunden.
Der "geänderte" Goldwert wird erst nach einem Kauf aktualisiert.
Dabei.. beachten, das man BEVOR man Kontakt zu anderen Zivilisationen aufnimmt.. ERST die Geländefelder um die Hauptstadt komplett aufkauft. Andernfalls jammern die anderen Völker und man MUSS schwören(das Siedeln in deren Nähe für eine begrenzte Zeit zu unterlassen..)
Also erst NACH Geländekauf die UBoote kaufen(deren Radar-Radius unweigerlich auch den Kontakt ermöglicht..)
Ebenso noch ein Monument errichten(+1 Einflusspunkt/Runde)

Einflusspunkte

Genau wie bei dem Gold könnte man direkt als TYP INT8 nach dem Wert scannen, der beim Bewegen der Maus in der oberen Leiste auf poppend angezeigt wird.
Besser ist jedoch nach einem AOB zu scannen (?? [Angezeigter Wert in HEX] 0 0 ).
ODER, wer einigermassen fit ist in hexadezimalen Zahlen.. scannt auf INT32(um die Adressen an geraden Orten zu finden) und setzt entsprechend dem angezeigtem Wert das ZWEITE Byte.
Also 0 für 0; 256 für eins(00 01); 512 für 2 (00 02) und so weiter.

Es *scheint* so zu sein, das die "Nachkommastelle" bei NULL bleibt..
Beim ersten Scan tauchen noch 3,5 millionen Treffer auf(kein Wunder bei einem niedrigen Wert wie 4: ?? 04 00 00)
Beim zweiten Scann reduziert sich das auf grob 4600 Treffer. Danach ist es eine Fleißaufgabe, denn.. es gibt einfach zu viele "passende" Adressen -.-
Für einen Wert von 99 kam das raus: F3 78 03 00 47 4F 52 59 78. Wieder mal Text dabei: "GORYx" aber beim nächsten Mal war da KEIN GORYx -.- .
Setzt man den Wert auf 500 so erhält man in der nächsten Runde fünf Abgesandte(also einen pro 100 Punkte), die man in die Stadtstaaten schicken kann ;)

Religionspunkte

Vorgehen genau wie bei den Einflusspunkten!
An die 4 Bytes mit den "verschobenen" Werten sind sinnlose Textfragmente(Großbuchstaben) angehängt..

Die Gesandten

Der Wert ist unverschlüsselt als INT32 gespeichert.
Es ist schwer, diese Adresse so zu finden, da man meisst nur einen Gesandten erhält..
Es gibt ZWEI Adressen, die beide gleich sein müssen, einmal die ANGEZEIGTE Menge oben in der Statusleiste und dann ein zweiter Wert für die eigentliche Vergabe.
Hat man jedoch via Einflusspunktecheat.. einige MEHRERE erschaffen.. so kann man einen Gesandten vergeben, scannen.. einen Gesandten vergeben..
Gibt man einem Stadtstaat (von 0) 31 Gesandte.. so wird die Stadt maximal ausgebaut was die Grenzen betrifft(je 3 Felder vom Stadtzentrum).

Interessante Dateien(und deren Pfade)..

Änderungen an diesen Dateien werden erst sichtbar, wenn CIV-6 danach gestartet wird!
Es macht Sinn nur Einheiten zu "verbessern", die exklusiv dem eigenen (Spieler-)Volk zur Verfügung stehen..
Nichts wäre bescheuerter, als wenn man dem Siedler einen Sichtbonus von 6 gibt, dazu Artillerie-Angriffe etc. um dann von allen Seiten von AI Siedlern angegriffen zu werden XD !!

Hier als Beispiel für Barbarossa(Deutschland) die Verbesserung des U-Bootes(exklusive U-Bootversion(german)!):
Man sucht in der Datei "/steamapps/common/Sid Meier's Civilization VI/steamassets/base/assets/gameplay/data/units.xml" nach GERMAN_UBOAT und findet:

<GameInfo> <Types> .. <!-- Unique--> .. <Row Type="UNIT_GERMAN_UBOAT" Kind="KIND_UNIT"/> .. </Types> <UnitAiInfos> .. <!-- Unique Units--> .. <Row UnitType="UNIT_GERMAN_UBOAT" AiType="UNITAI_COMBAT"/> <Row UnitType="UNIT_GERMAN_UBOAT" AiType="UNITTYPE_RANGED"/> <Row UnitType="UNIT_GERMAN_UBOAT" AiType="UNITTYPE_NAVAL"/> .. </UnitAiInfos> <UnitReplaces> .. <Row CivUniqueUnitType="UNIT_GERMAN_UBOAT" ReplacesUnitType="UNIT_SUBMARINE"/> .. </UnitReplaces> <TypeTags> .. <Row Type="UNIT_GERMAN_UBOAT" Tag="CLASS_NAVAL_RAIDER"/> <Row Type="UNIT_GERMAN_UBOAT" Tag="CLASS_NAVAL_RANGED"/> <Row Type="UNIT_GERMAN_UBOAT" Tag="CLASS_UBOAT"/> <Row Type="UNIT_GERMAN_UBOAT" Tag="CLASS_STEALTH"/> <Row Type="UNIT_GERMAN_UBOAT" Tag="CLASS_REVEAL_STEALTH"/> .. </TypeTags> <Units> .. <Row UnitType="UNIT_GERMAN_UBOAT" Cost="1" Maintenance="1" BaseMoves="99" BaseSightRange="5" ZoneOfControl="false" Domain="DOMAIN_SEA" Combat="65" RangedCombat="99" Range="9" FormationClass="FORMATION_CLASS_NAVAL" PromotionClass="PROMOTION_CLASS_NAVAL_RAIDER" AdvisorType="ADVISOR_CONQUEST" Name="LOC_UNIT_GERMAN_UBOAT_NAME" Description="LOC_UNIT_GERMAN_UBOAT_DESCRIPTION" PurchaseYield="YIELD_GOLD" PseudoYieldType="PSEUDOYIELD_UNIT_NAVAL_COMBAT" TraitType="TRAIT_CIVILIZATION_UNIT_GERMAN_UBOAT"/> .. </Units> .. <UnitUpgrades> <!--Unique--> .. <Row Unit="UNIT_GERMAN_UBOAT" UpgradeUnit="UNIT_NUCLEAR_SUBMARINE"/> .. </UnitUpgrades>

Unschwer zu erkennen, das der Eintrag unter "Units" bereits abgeändert wurde(Costs=1; BaseMoves=99; BaseSightRange=5; RangedCombat=99; Range=9). Ebenso fehlt PrereqTech somit kann das UBoot von Spielbeginn in jeder (deutschen) Küstenstadt für 1 Gold gebaut(oder lustiger noch: für 0 Gold gekauft werden!!)
Hab mal BuildCharges="1" an das Ende gehängt(von den Buildern geklaut ^^). Vielleicht kann man dann ja auf See Ressourcen dingsen?
Zusätzlich noch <Row Type="UNIT_GERMAN_UBOAT" Tag="CLASS_BUILDER"/> unter den Type Tags hinzugefügt.. mal testen!
Mist! Zwar wird eine noch mögliche "Bauzahl" angezeigt, selbst wenn man Segeln erforscht hat kann man dann nur abreissen, es fehlen die Bauoptionen.
Eventuell später mal UnitAI hinzufügen vom BUILDER?

Diese Seite wurde zuletzt am 11.10.2020 um 22:45 geändert.

(c) 2024 DHLF ☮🇺🇦