P4 - Tool

  • 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]


    [/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]


    [/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]

    Code
    1. route_name;[name der route typischerweise "Route 1"]
    2. save_name;[name den man beim laden sieht]
    3. show_dauer;[dauer der rundreise in tagen (nur anzeige)]
    4. town;[ID der stadt ]
    5. z.B. product;3;M;U;MAX;77.27273;L;MAX;39.14142;
    6. => 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]
    7. 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 :D
    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 :coffee:


    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
  • Moin,


    habe mal ein klein wenig rumprobiert. Auch die Brunnen zählen scheinbar als "Kapelle", und das jeweils als "1", egal ob es ein großer oder kleiner Brunnen ist. Auch der große Brunnen wird bereits als Baustelle mitgezählt.


    Vielen Dank für das umfangreiche Tool, und Deine Überredungskunst Falko! ;)
    Bin leider noch nicht dazu gekommen es auszuprobieren, wird aber noch gemacht.



    Gruß
    Cete

  • Hallo Falko,


    Das Thema Verwalter und Routen steht bei mir noch nicht an erster Stelle für die Verwendung der Informationen aus worldinfo.txt.


    Openoffice mußte ich mir erst mal installieren. Demzufolge habe ich keine Ahnung davon. Sieht aber Excel, DB sehr ähnlich.


    Die Tabellen 2 und 3 hast du ausgeblendet - Makro?


    Mich würde brendend eine Übersicht aller Städte und deren Betrieb ... interessieren.
    Hast du solch eine Übersicht schon gebaut?


    Wenn du mir sagst, wie (=INDEX (G$4:G$43;I4;1) ) die DB aufgebaut ist, nach deinem Einlesen, mache ich es auch selber.


    Gruß Herbert

  • unter format->tablee->einblenden sind alle tabellen einblendbar
    da gibs 3 kalkulationstabellen und eine basteltabelle ohne inhalt
    in _calc_basic steht unter
    C11:V50 wo was produziert wird
    AG11:AZ50 wieviele betriebe in einser stadt vorhanden sind (man beachte den saegewerk-bug)
    BK11:CD50 wieviele betriebe du selber hast
    EX11:FQ50 ne ganze reihe an daten:
    stadtyp, ansehen, baureihenfolge der staedte (=kontor-TAB-reiehenfolge) , ist die stadt vorhanden, interne id (zum routen generieren), gesamt einwohner, Einwohner nach bevoelkerungsschichten, haeuser nach bev.-schichten, wer ist buergermeister, anzahl sondergebaude , ist ein kontor vorhanden , anzahl eigene haeuser und anzahl eigene lagerhaeuser


    C206:V245 produktion der stadt/10tage-woche
    AG206:AZ245 einwohnerverbrauch/10tage-woche

  • Hallo Falko,


    wenn ich in der Tabelle "config_convoy" in Spalte "Station 4" Eintragungen vornehme, funktioniert die Datenübernahme in den Zwischenspeicher nicht. Bei weniger als 4 Stationen ist alles schick. Liegt das an mir oder an der Datei?


    Des Weiteren frage ich mich schon die ganze Zeit, welche Wirkung ein Eintrag in der Spalte "Einkaufsschnigge=x" im Tabellenblatt "config_kontor" hat. Diese Frage reiche ich hiermit ebenfalls an Dich weiter. :wave2:

  • Nach etlichen Versuchen später kann ich sagen, dass es wahrscheinlich irgend eine Art Begrenzung in der maximal möglichen Anzahl der eingetragenen Stationen gibt. Mein Ziel war es, die von Hein Bagaluth entworfene Routenplanung im Tool abzubilden. Gibt es eine Möglichkeit, das Tool hierfür "aufzubohren"? Ich kenne mich mit OpenOffice leider nicht aus und die Berechnungen in den ausgeblendeten Tabellenblättern sind mir auf den ersten Blick zu........ komplex. ?(

  • da scheint es ein problem zu geben :(
    ich arbeite an einer neuen version die alle relevanten daten aus den modding files ziehen kann
    (das teil ist darauf teilweise schon vorbereitet )
    so das andere produktions/verbrauch einstellungen, stadt41+42 , neue landwege , ... richtig integriert sind
    (+eine englische uebersetzung aehnl. dem modding tool)
    das passiert aber nicht heute oder diese woche wenn du also etwas geduld hast kommt ne neue version die hoffentlich fehlerfreier ist


    gibt es eigentlich neben dem alles Aus/alles Einlad - system noch sinnige routentechniken in P4?

  • typek;0;380;1;-1;
    ware ; menge ; schloss an=1/aus=0/ignorieren=-1 ; preis in GS / -1 = nix einstellen
    aber den preis habe ich mit dem tool seid dem addon nicht mehr eingestellt da das admineinstellungen-laden/speichern dafuer gut geeignet ist daher keine garantie das es funktioniert

  • Hallo


    Ich hätte da eine Bitte. Kann mir jemand eine worldinfo.txt Datei geben von einem Vollausbau? Oder eine mit Kontore (oder heisst es Kontoren?) und Betrieben in jeder Stadt. Wäre super!


    Der Grund dazu ist, dass ich mir ein Excel am basteln bin, welches so ähnlich wie es Falko schon gemacht hat, die Daten auswertet und an meine Bedürfnisse anpasst. Ich selber kamm leider noch nie zu einen Vollausbau, nicht mal 20 Kontore in jeder Stadt. :( Das liegt daran dass ich immer wieder etwas finde was ich besser machen kann und neu Anfange. War schon in P2 so, aber dadurch ist der Langzeitspass Garantiert. 8)


    An dieser Stelle noch vielen Dank an Falko . Die Datei worldinfo.txt ist genial!!! In der Schweiz würde ich jetzt sagen "e geile Siech!" :D


    Leider fehlt mir aber die Info, welche Betriebe eine Stadt hat. Da steht nur die gesamte Anzahl aber nicht welche . Oder bin ich nur Blind? ?(


    Gruess
    Ray Smith

  • hier die liste der produktionen
    [table=2][*]stadt[*]waren
    [*]Aalborg[*]P4_GetreideP4_HanfP4_WolleP4_Fleisch
    [*]Ahus[*]P4_HolzP4_ZiegelP4_SalzP4_MetP4_Kaese
    [*]Bergen[*]P4_HolzP4_ZiegelP4_RoheisenP4_FischP4_Kleidung
    [*]Berlin[*]P4_GetreideP4_HanfP4_RoheisenP4_BierP4_Kleidung
    [*]Boston[*]P4_ZiegelP4_GetreideP4_SalzP4_MetP4_Tuch
    [*]Bremen[*]P4_GetreideP4_HanfP4_WolleP4_MetallwarenP4_Bier
    [*]Breslau[*]P4_HolzP4_GetreideP4_RoheisenP4_MetallwarenP4_Pech
    [*]Brügge[*]P4_GetreideP4_HanfP4_WolleP4_Wein
    [*]Danzig[*]P4_HolzP4_ZiegelP4_HonigP4_KleidungP4_Pech
    [*]Edinburgh[*]P4_HolzP4_HanfP4_RoheisenP4_MetP4_Tuch
    [*]Erfurt[*]P4_HolzP4_ZiegelP4_WolleP4_BierP4_Kleidung
    [*]Flensburg[*]P4_ZiegelP4_HanfP4_WolleP4_Fleisch
    [*]Göteborg[*]P4_HolzP4_ZiegelP4_RoheisenP4_KleidungP4_Kaese
    [*]Groningen[*]P4_GetreideP4_HanfP4_WolleP4_MetP4_Wein
    [*]Haarlem[*]P4_GetreideP4_HanfP4_HonigP4_Wein
    [*]Hamburg[*]P4_ZiegelP4_GetreideP4_SalzP4_MetallwarenP4_Bier
    [*]Helsinki[*]P4_HolzP4_ZiegelP4_SalzP4_MetallwarenP4_Fell
    [*]Kaunas[*]P4_GetreideP4_HanfP4_HonigP4_MetP4_Fell
    [*]Köln[*]P4_GetreideP4_HanfP4_SalzP4_KleidungP4_Wein
    [*]Königsberg[*]P4_HolzP4_GetreideP4_HonigP4_MetallwarenP4_Pech
    [*]London[*]P4_ZiegelP4_GetreideP4_WolleP4_MetallwarenP4_Tuch
    [*]Lübeck[*]P4_GetreideP4_HanfP4_SalzP4_MetallwarenP4_Bier
    [*]Malmö[*]P4_HolzP4_ZiegelP4_WolleP4_Kaese
    [*]Minden[*]P4_ZiegelP4_HanfP4_SalzP4_Bier
    [*]Naestved[*]P4_ZiegelP4_HanfP4_WolleP4_Fleisch
    [*]Nimwegen[*]P4_HolzP4_ZiegelP4_WolleP4_MetallwarenP4_Wein
    [*]Novgorod[*]P4_HolzP4_ZiegelP4_SalzP4_MetP4_Fell
    [*]Oslo[*]P4_HolzP4_ZiegelP4_RoheisenP4_MetP4_Fisch
    [*]Posen[*]P4_ZiegelP4_GetreideP4_SalzP4_Pech
    [*]Reval[*]P4_HolzP4_ZiegelP4_RoheisenP4_KleidungP4_Fell
    [*]Riga[*]P4_HolzP4_HanfP4_HonigP4_Fell
    [*]Ripen[*]P4_ZiegelP4_GetreideP4_SalzP4_MetP4_Fleisch
    [*]Rostock[*]P4_GetreideP4_HanfP4_HonigP4_MetallwarenP4_Bier
    [*]Scarborough[*]P4_HolzP4_HanfP4_RoheisenP4_TuchP4_Kleidung
    [*]Stavanger[*]P4_HolzP4_GetreideP4_RoheisenP4_FischP4_Kleidung
    [*]Stettin[*]P4_GetreideP4_HanfP4_HonigP4_MetallwarenP4_Pech
    [*]Stockholm[*]P4_HolzP4_HanfP4_RoheisenP4_MetP4_Fisch
    [*]Thorn[*]P4_HolzP4_GetreideP4_HonigP4_KleidungP4_Pech
    [*]Visby[*]P4_ZiegelP4_HanfP4_HonigP4_Kaese
    [*]Warschau[*]P4_HolzP4_HanfP4_HonigP4_MetP4_Pech[/table]
    wenn du das in excelform haben willst gibts das in der p4manager0.1.ods im (versteckten) tabellenblatt _calc_basic B10:V50

  • Wow, das ging ja schnell :eek2:


    Ich weiss jetzt nicht ob ich mich schlecht ausgedrückt habe oder einfach zu doof bin.
    Was ich sagen wollte. Gibt es in der worldinfo.txt Datei die Info z.B. Edinburgh hat Sägewerk 38, Schmelze 82, Metbrauerei 50, Hanfhof 36, Weber 155.


    Edinburgh Hansefaktorei 1900, 45, 88, 1767
    Wohnhaus 1, 2, 29
    Holz 3
    Hanf 1
    Rohmetalle 5
    Met 4
    Tuch 6
    Holz 148, 66
    Ziegel 84, 66
    Getreide 107, 66
    Hanf 122, 66
    Wolle 175, 100
    Rohmetalle 150, 100
    Honig 107, 100
    Salz 24, 116
    Metallwaren 37, 334
    Met 83, 300
    Tuch 120, 300
    Bier 63, 150
    Stockfisch 0, 258
    Kleidung 15, 700
    Käse 39, 200
    Pech 35, 234
    Felle 7, 600
    Fleisch 36, 576
    Wein 0, 800
    Gewürze 0, 1000
    Wohlstand 77
    Bürgermeister Finlay Jones
    Kirche 1
    Sägewerk 38

    [b]Schmelze 82

    Metbrauerei 50
    Hanfhof 36
    Weber 155
    Wohnhaus 357
    Lagerhaus 10
    [/b]


    Damit meine ich alle Betriebe inkl. Konkurrenz (nur Konkurrenz würde auch gehen)


    Gruess u Merci
    Ray