Es gibt eine versteckte Funktion in P4 das viele Daten in maschinenlesbarer Art ausspuckt.
Urspruenglich als versteckte Debug-Funktion eingebaut bin ich darueber gestolpert und hab die Entwickler dazu ueberredet das allgemein zu erlauben.
Also wie kommt man nun an die Daten
Man gehe in den Speichern-Dialog und dreucke F12
dann landet im appdata-Verzeichnis (wo sich auch die options.cfg befindet) eine datei namens worldinfo.txt
diese Datei enthaelt 3 Bereiche
- Stadt Infos
- Kontor Infos
- Konvoi Infos
fuer mich sind die ersten beiden am wichtigsten
der Stadt-Bereich sieht so aus:
[expander=Beispiel fuer Edinburgh]
- Edinburgh Hansestadt 37372, 3608, 7214, 26494
- Wohnhaus 46, 91, 335
- Holz 40
- Hanf 37
- Rohmetalle 90
- Met 59
- Tuch 163
- Holz 1757, 66
- Ziegel 3514, 66
- Getreide 3657, 66
- Hanf 1742, 66
- Wolle 1837, 100
- Rohmetalle 1341, 100
- Honig 1573, 100
- Salz 712, 116
- Metallwaren 1008, 334
- Met 1189, 300
- Tuch 500, 300
- Bier 2082, 150
- Stockfisch 1958, 258
- Kleidung 640, 700
- Käse 1348, 200
- Pech 278, 234
- Felle 0, 600
- Fleisch 640, 576
- Wein 50, 800
- Gewürze 0, 1000
- Wohlstand 59
- Ansehen: 1.00
- Bürgermeister Lewis Kenneth
- Münze
- Kirche 3
- Werft 2
- Klosterschule 2
[/expander]
also hier gibs info ueber
- Stadttyp
- Einwohnerzahlen
- Anzahl/Verteilung der Wohnhaeuser
- Anzahl Betriebe (KI+Eigene (im Bau befindliche werden mitgezaehlt)
- Anzahl der Waren in der Markthalle + aktueller Preis
- Wohlstand der stat, ansehen, wer ist BM, wie weit sind Werft & co ausgebaut...
der Kontor-Bereich sieht so aus:
[expander=Beispiel fuer Edinburgh]
- Kontor Edinburgh
- Sägewerk 38
- Schmelze 82
- Metbrauerei 50
- Hanfhof 36
- Weber 155
- Wohnhaus 357
- Lagerhaus 10
- Holz 2462, 29
- Ziegel 5750, 28
- Getreide 4629, 28
- Hanf 2450, 29
- Wolle 4013, 42
- Rohmetalle 2081, 43
- Honig 2742, 42
- Salz 899, 49
- Metallwaren 1446, 137
- Met 1867, 129
- Tuch 1210, 129
- Bier 2634, 62
- Stockfisch 1549, 105
- Kleidung 32, 293
- Käse 1753, 83
- Fleisch 878, 244
[/expander]
also hier gibs info ueber
- das vorhandensein eines kontrors
- Anzahl der eigenen Wohnhaeuser
- Anzahl eigenen Betriebe (hier werden Baustellen nicht mit gezaehlt)
- Anzahl der Waren im Kontor der Markthalle + Preis zudem die Ware bezahlt/produziert wurde
- Anzahl der Lagerhaeuser
diese Daten liegen natuerlich in einem grossen Textwust vor
um damit zu rechnen muss man sich das erstmal in ne brauchbare Form bringen
dazu hab ich eine Openofficedatei erstellt die den groessten Teil der Arbeit uebernimmt
die Datei ist noch etwas beta
nach dem oeffnen der ods datei und dem akzeptieren der makros im dokument waehlt man einfach die Datei aus und klickt auf "Laden"
solange das Laden laeuft ist der Button rot
bevor ich dazu komme was man nun mit der Datei anfangen kann muss ich leider mitteilen das die worldinfo.txt noch einen kleinen Bug hat.
Wohnhaeuser die sich im Bau befinden werden als Saegewerke gezaehlt. (Sehr irritierend wenn Danzig zu 50% abfackelt und man auf einmal 120 Saegewerke hat das die Wohnhausbaustellen mitzaehlt)
Um dagegen was zu tun gibt es die Tabelle "holz-korrektur".
dort findet sich eine Liste der Staedte sortiert nach der Anzahl der (ausgelesenen) Saegewerke.
wenn man P4 im fenster modus neben Openoffice auf hat kann man die liste mit P4 einfach in der Gilde->Statistik->Produktion pro Tag verglecihen und korrigieren
Im hellgrauen Bereich kann dazu einfach die differenz eingegeben werden die abgezogen werden soll -> ein Klick auf "korrigieren" uebertraegtr die korrekten Daten dann an die richtige Stelle
jetzt wo die Zahlen stimmen auf zur "Belohnung" fuer die ganze Muehe
in der Tabell "start" sieht man unterhalb des "Laden" bereiches folgendes
man kann nun drei texte generieren die viel rechen/abtipp-arbeit in P4 abnehmen (zumindest bei mir)
der Routentext generiert Autoroutenfiles die folgendem Schema gehorchen:
Zentrallager: alles ausladen, einladen was in den folgenden Stationen gebraucht wird (unter Beruecksichtigung das bei der strecke Luebeck-Aalborg-Oslo in Aalborg Hanf aufgenommen wird man als weniger/keinen Hanf in Luebeck einladen muss um in Oslo die Fischproduktion am Leben zu erhalten)
in allen Folgestationen:
Falls Kontor: alles ausladen, alles einladen
Falls kein Kontor: alles verkaufen zu Preis X, alles einkaufen zu Preis Y
In der Tabelle "config_convoy"
dort kann man einstellen welche Landweg vorhanden sind (ob ich 0,8 oder 4,2 tage von Luebeck nach Hamburg bracuhe (wenn der direkte weg noch nicht da ist) ist schon wichtig)
Hier kan man im 2. grauen Berecih auch die Preise einstellen
wie man auf diese Seltsamen Zahlen kommt erklaere ich spaeter.
[table=8]Typ[*]Name[*]mitnehmen[*]schiff[*]Zentrallager[*]Station2[*]Station3[*]Station4
[*]versorger[*]V_Aalborg[*]200%[*]Kraier[*]Lübeck[*]Aalborg[*].[*].
[*]konvoityp (derzeit ist nur ein typ eingebaut)[*]name der route/routenfile[*]zuladung sollte etwas groesser als 100% sein[*]langsamstes Schiff[*]Zentrallager[*]Station die angefahren wird ..[*]naechste Station [*]es gehen bis zu 17 stationen +ZL
[/table]
sind hier die Routen eingerichtet die man haben moechte geht man zurueck in die "start"-Tabelleund klickt dort auf "Starten"
das Makro erzeugt dann einen Text der alle Routen beschreibt und kopiert diesen Text in die Zwischenablage solange das Generieren des Text laeuft ist der Button rot
Der Routenmanager erzeugt Routenfiles
diese werden leider nur bei neustart von P4 eingelesen
aber erstmal wie gehts dahin?
p4tool.exe aus dem zip starten
dort auf Routenmanager klicken und im aufpoppenden Fenster
im menu auf "Einfuegen" klicken
und man sieht eine weitere textwueste
[expander=kurze erklaerung zum format]
- route_name;[name der route typischerweise "Route 1"]
- save_name;[name den man beim laden sieht]
- show_dauer;[dauer der rundreise in tagen (nur anzeige)]
- town;[ID der stadt ]
- z.B. product;3;M;U;MAX;77.27273;L;MAX;39.14142;
- => product;[produktnummer 0=holz,1=ziegel,..];[N=nixmachen,A=autohandel,M=Manueller handel];[U=ausladen,S=verkaufen];[menge in zahl oder MAX];[preis als wert zw 0 und 1 0=minpreis,1=maxpreis];[L=einladen,B=kaufen];[menge in zahl oder MAX];[preis als wert zw 0 und 1 0=minpreis,1=maxpreis]
- nextfile; # hier wird das naechste file initiiert der produktionstrext kann problemlos 500 routen am stueck erzeugen (dauert dann aber 1 min)
[/expander]
vorhandene routen mit dem gleichen save_name n werden ungefragt ueberschrieben also vorher am besten ein backup des ordners machen bis man sich zumindest mit dem programm was auskennt
in diesem Tool kann man auch Preise auslesen
Der Preis ist in etwas als wert zw. 0 und 100% abgelegt im routenfile
leider ist das eingestellter preis zu preis im routenfile nicht durchgehend linear (kann aber gut sein das ich da was falsch interpretiert habe und das noch gefixt wird)
am einfachsten kann man die preise (flieskommazahlen) ermittelm indem man ein routenfile mit vorhandenen preisen laedt
dann werden die preise der ersten station als flieskommazahlen dargestellt die man dann einfach in openoffice ubernehmen kann
[expander=so sieht die ausagbe aus beim oeffenen einer route]
26.5151450429;49.4949499967
26.5151450429;49.4949499967
26.5151450429;49.4949499967
26.5151450429;49.4949499967
...
erst Einkausspreis;dann Verkaufspreis
[/expander]
so nun hat man Routen mit passenden Zahlen
der (derzeitige) Konvoityp laedt in den staedten mit kontor ja nur alles aus und wieder ein, verlaesst sich also auf einen korrekt eingestellten verwalter
mit dem addon kann man das ja nun etwas besser machen aber richtig ideal ist es nicht
je nach stadt muessen andere Rohstoffe vorgehalten werden, Landstaedte sollen evtl. 6 Wochen Vorrat haben, Seestaedte 3 wochen ausser alles im naehren umkreis vom ZL da brauchts nur 1 woche..., Je nach Bevoelkerung gibs sehr unterschiedliche Reservemengen,...
Da es keine ladbaren Verwalterroutenfiles gibt muss man anders daran gehen.
Ich steuer also P4 fern
also auf in die "start" tabelle
dort gibts den einkaufsbutton
dieser kopiert eine weitere textwueste in die Zwischenablage
man muss als Startstadt eine stadt auswaehlen wo man ein Kontor hat (C17)
auf in die p4tool.exe
dort klickt man auf "Einfuegen"
P4-spiel starten (falls nicht auf)
P4 in den Fenstermodus stellen
es darf keine kontorbaustelle existieren. kontore muessen fertig gebaut sein und in allen muss ein verwalter eingestellt sein mit allen waren aktiviert
nun gehts zu dem in C17 festgelegten start-Kontor gehen
man oeffne das kontor->den verwalter und stelle den modus auf einkauf (Achtung: nicht mit ALT+TAB zum fesnter wechseln - dies erzeugt einen TAB im Kontor so das man evtl. im falschen Kontor startet)
im P4tool klickt man auf "ResetWindow" so das die Fernsteuerung die korrekten Stellen trifft
dann "Start Lines" druecken um die Automation zu starten
der erste durchlauf kann etwas dauern da noch alle schloesser gesetzt werden muessen
aber selbst in den folgenden durchlaeufen kann das sich das geklicke hinziehen aber man (ich) muss dabei ja nicht zuschauen
Fuer den Verkaufbutton gilt die gleiche Vorgehensweise
man muss halt im Vorfeld nur den richtigen handelsmodus einstellen.
in der tabelle "config_kontor" kann man einstellen wie lange man Reserven fuer die eigene Produktion und die Einwohner(+KI Betriebebedarf) vorhalten will
die Einkaufmax spalte kommt zum tragen wenn man den verwalter zum einkaufen nutzen moechte um z.b. KI produktion oder schnaeppchen abzugreifen.
wenn die einkaufschnigge aktiviert ist dann kauft der verwalter nicht ein.
und die preise im zweiten grauen bereich sollten auch selbsterklaerend sein denke ich
so jetzt noch der link
p4tool.zip
das ist ein 6 MB zip
entpackt ist das zip 15 MB gross
es enthalet einen ordner namens p4tool
dort findet sich die openoffice .ods Datei und die p4tool.exe sowie einige unterordner
die version ist wieschon gesagt noch beta aber wer lust hat kann damit gern rumspielen
FAQ:
- warum die textwuesten - kann ich das nicht direkt von openoffice aus starten?
weil mit den "textwuesten" sich (im prinzip) jeder nur an das beschreibene format halten kann um diese texte aus den bereits vorhandenen excel & co files generieren