Skripte und Datenbanken extrahieren? Um KI zu verbessern

» Siedler Map Source Forum » Mapping » Skripte und Datenbanken extrahieren? Um KI zu verbessern

Seiten: 1

Serp
#1
30.04.2016 13:08
Beiträge: 6

Skripte und Datenbanken extrahieren? Um KI zu verbessern

Hallo,

ich würde gerne Siedler 4 modden und bin dabei zb. hierauf gestoßen:
http://www.siedler-maps.de/for...V-starting-resources-15559.htm
Auch hier gibts einiges:
http://modsreloaded.com/settlers-4-tweak-files

Nun würde mich sehr stark interessieren, wie man an diese Dateien rankommt, bzw sie selbst erstellt.

Denn möglicherweise gibt es ja auch für das KI Verhalten solche Skripte und man kann evlt tatsächlich der KI das Schiffe bauen beibringen oder ähnliche Probleme verbessern.

Wisst ihr dazu mehr?

edit:
ups, jetzt bin ich im Mapping bereich gelandet.. vllt ists besser in allgemeine Diskussion aufgehoben? Wenns nen Mod gibt, gerne verschieben

Ice
#2
30.04.2016 17:57
Beiträge: 14

Hi,

Das KI-Verhalten wird meines Wissens nicht über Skripte gesteuert, man kann es aber teilweise damit beeinflussen, indem z.B. vorgibt wann die KI angreift oder auch Landungen per Schiff simulieren.
Leider gibts es keine wirkliche Dokumentation zu den Skriptmöglichkeiten in S4, man kann sich nur die Funktionen und Befehle aus den Skripten von den BlueByte-Maps zusammensuchen.

An die Skripte von den BlueByte-Maps und auch teilweise an die Tweak-Files kommt man ran, indem man einen MemoryDump macht, während S4 läuft.

Serp
#3
30.04.2016 18:48
Beiträge: 6

ich danke dir für deine Antwort

Kennst du eine Seite oder ein Tutorial oder ähnliches, wie ich als jemand der es noch nie gemacht hat, einen Memory Dump von siedler 4 macht?

Soweit ich zb. in den oben genannten beiden links lesen konnte, sind die dort erwähnten skripte nur einige von vielen. Ich würde mir gerne auch alle anderen möglichen Skripte anschauen um mir ein Bild über die Möglichkeiten zu machen, die ich beim Modding habe und vllt ist ja doch ein allgemeines KI skript dabei
Auch kam mir der Gedanke, da LAN Spiele immer desyncen wenn KI dabei ist, dass vllt sogar so ein KI Skript daran schuld sein könnte. Warum sonst sollte es ohne KI fehlerfrei laufen.


Eine andere Modding Idee war zb. noch jedem Volk die Köhlerei zur Verfügung zu stellen. Aber mit den vorhandenen Tweak files geht das leider noch nicht so ganz. Zb. fehlt eine Zuordnung von Grafiken. Das GUI Problem kann man vermutlich nicht lösen, aber da gäbe es ja den Workaround das mit Skripten wie im Dark Tribe Skript von MakusieQ zu lösen (also zb. wenn man Zierobjekt 1 baut, verwandelt es sich in eine Köhlerei)

Ice
#4
30.04.2016 20:51
Beiträge: 14

https://www.youtube.com/watch?v=yaThAVSMFHY
In der Video Reihe wird erklärt wie man ein Memory dump einer Anwendung macht und die brauchbaren Zeichen rausfiltern. Im zweiten Teil ist das glaub ich.

Ich kann dir ein paar skripte aber auch per Email schicken wenn du willst.
Per Skript lassen sich das Desync Problem und das mit Zuordnung der Grafiken denke ich nicht lösen. Da müsste man an Spieldateien was verändern und das geht glaub ich nicht, zumindest wüsste ich nicht wie.

Ich hab auch eine DarkTribe Map gemacht kannste dir ja mal angucken

Serp
#5
01.05.2016 13:19
Beiträge: 6

Danke, habe noch ein wenig mehr auf sempervideo zum arbeitspeicher geschaut und mich fuer die Programme "procdump" und "strings" von microsoft entschieden.

Selbst wenn man mit strings alle nicht ascii zeichen rausfiltert, sinds von der ersten Dark Tribe Mission immernoch ca 18 Millionen Zeilen
Hast du ein paar Tipps parat, wie man das noch ein wenig auf die interessanten Dinge reduzieren kann? Man könnte wohl noch alle Zeilen löschen, die nur 2 oder weniger Zeichen haben. Hab aber noch nicht rausgefunden, wie ich das mache, zb. mit Notepad++.
Aber selbst dann sinds bestimmt noch 16Millionen Zeilen

Also wird wohl das Beste sein, nach bestimmten Stichworten zu suchen, wie "script", "building", "function" ... hast du noch ein paar gute Stichworte?

Leider hab ich, so wie du schon vermutet hast, zumindest in der Mission keine weiteren Internal Skripte, wie das StartResource.txt oder oder AI Skripte gefunden =/ Hatte gehofft, dass es da noch mehr gibt. Auch sonst hab ich bisher nichts neues, abgesehen vom Skript der dark-01 mission, gefunden ...


Das Desync Problem ist schon wirklich extrem nervig, weil dadurch kein LAN gegen KI möglich ist. Die einzige bekannte "Lösung" ist ja, das Spiel regelmäßig zu speichern. Aber das hilft ja leider auch nicht wirklich. Das Problem tritt dennoch auf und wenn man dann nen Spielstand vor 5 minuten läd, kommt der desync nach den 5 minuten in 90% der Fälle wieder und die ganze Arbeit war umsonst =/
Ist evlt schon bekannt, ob der Desync auch auftritt, wenn die einzige KI das Dunkle Volk ist? Ansonsten werd ich das evlt mal ausprobieren.

edit:
zu deiner dark tribe map:
wo ist denn das Skript zu deiner Map? Ohne Skript ist das Volk nicht spielbar, oder doch?! Und was für Änderungen sind in der settlersvalue datei? In anderen dark tribe maps ist die unverändert, deswegen frag ich

Dieser Beitrag wurde von Serp am 01.05.2016 um 13:25 editiert.

Dunkles_Volk
#6
01.05.2016 21:47
Beiträge: 133

Man muss doch nicht gleich eine Dump-File von S4 machen, das ist keine gute Lösung. Ich benutze da CheatEngine, da kann ich gezielt im Hex-Editor des Programms eine Suche nach bspw. dem Wort "function" starten, da finde ich schnell das Skript. Das extrahiere ich dann indem ich die Offsetspanne angebe. Wird dann als .txt gespeichert, damit kann ich alle Missionsskripte aus den BB/User-Maps herausholen, habe schon eine Menge gespeichert. Da muss man aufpassen, man muss eben anhand des Skripts erkennen können, ob es das richtige ist, oft sind in einer Map mehrere Scripts, die aber keinen Sinn geben. Meines Erachtens nach aber eine einfachere Methode, bei Interesse per PN melden, den genauen Weg will ich nicht unbedingt im Forum preisgeben. Gruß

Serp
#7
04.05.2016 19:50
Beiträge: 6

Zitat von Dunkles_Volk:
Man muss doch nicht gleich eine Dump-File von S4 machen, das ist keine gute Lösung. Ich benutze da CheatEngine, da kann ich gezielt im Hex-Editor des Programms eine Suche nach bspw. dem Wort "function" starten, da finde ich schnell das Skript. Das extrahiere ich dann indem ich die Offsetspanne angebe. Wird dann als .txt gespeichert, damit kann ich alle Missionsskripte aus den BB/User-Maps herausholen, habe schon eine Menge gespeichert. Da muss man aufpassen, man muss eben anhand des Skripts erkennen können, ob es das richtige ist, oft sind in einer Map mehrere Scripts, die aber keinen Sinn geben. Meines Erachtens nach aber eine einfachere Methode, bei Interesse per PN melden, den genauen Weg will ich nicht unbedingt im Forum preisgeben. Gruß



hab dir eine PN geschrieben

Seiten: 1

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

Impressum