Seite 6 von 219 ErsteErste ... 23456789101656106 ... LetzteLetzte
Ergebnis 76 bis 90 von 3275

Thema: PAE V Patch 4 (01.09.2018)

  1. #76
    SNAFU Avatar von Tschuggi
    Registriert seit
    08.04.11
    Ort
    Bei deiner Mutter
    Beiträge
    1.127
    Zitat Zitat von Keinpferd Beitrag anzeigen
    Super, ist das aus den zitierten Mods oder auf deinem Mist gewachsen?
    MoM-Mod, FFH2.
    Πάντα χωρεῖ καὶ οὐδὲν μένει

    www.masterofmana.com

    http://www.civforum.de/showthread.php?t=73790

  2. #77
    Registrierter Benutzer Avatar von Thorgal
    Registriert seit
    06.08.09
    Beiträge
    5.238
    Zitat Zitat von Pie Beitrag anzeigen
    Bei Einzelunitansicht: Es werden die Offiziere angezeigt. Dabei sind aber die Offiziere für LH+LS gleich. Nur der Button is anders.
    Super!
    Pie's Antikes Europa (PAE): Genieße CIV in der Antike.

    PAE - Mythos Antike: Die Geschichte der drei furchtlosesten Herrscher des PBEM 442.

    Kingdom of Africa: Auf Abwegen im PB 73

  3. #78
    PAE.Macht.Antike! Avatar von Pie
    Registriert seit
    25.01.08
    Ort
    Noricum
    Beiträge
    16.342
    Jep. Dafür muss die UnitART in den UnitInfos als erstes stehen. Der Nachteil ist dabei eben, dass man dann nicht mehr aussuchen kann, wo inmitten der Soldaten sie stehen soll. Daher muss ich da 1+5 Legionäre machen, damit die schön brav hinten mittig steht. Aber egal.
    Pie's Ancient Europe (PAE)
    Erlebe mit dieser CIV IV Mod(ifikation) hautnah das Zeitalter der Antike bis ins letzte Detail!
    Mit bahnbrechenden Erweiterungen und vielen ein- und erstmaligen Features.


    ... im Übrigen bin ich der Meinung, dass Karthago wieder aufgebaut werden muss!

  4. #79
    PAE.Macht.Antike! Avatar von Pie
    Registriert seit
    25.01.08
    Ort
    Noricum
    Beiträge
    16.342
    Ramk: Frage.

    Das ScriptData List-Dings: funktioniert das nun? Auch für Savegames. Auch bei WB. Ich hab die unformierung in den Utils schon gefunden. Sieht sehr plausibel aus. Also ein Array-String de/encode Zeugs. Wie json. Super Idee. Ich würds jetzt nämlich gleich miteinbauen. Kanns ja schon brauchen.

    Was mir aber dabei aufgefallen ist: du hast den KEY nur bei addScriptData drin, aber nicht bei setScriptData
    bei addScriptData verweist du aber eh zu set: Das heißt, ich verwende also nur addScriptData wenn ich Werte setzen/ändern/erweitern möchte. Stimmts?
    Pie's Ancient Europe (PAE)
    Erlebe mit dieser CIV IV Mod(ifikation) hautnah das Zeitalter der Antike bis ins letzte Detail!
    Mit bahnbrechenden Erweiterungen und vielen ein- und erstmaligen Features.


    ... im Übrigen bin ich der Meinung, dass Karthago wieder aufgebaut werden muss!

  5. #80
    ε•ω=1 Avatar von Ramkhamhaeng
    Registriert seit
    19.07.10
    Ort
    Aralkum
    Beiträge
    9.896
    Allgemein: Ich habe nicht nur die CvUtil angepasst sondern auch ein paar verstreute Aufrufe der ScriptData-Funktion (z.B. beim Heiliger-Berg-Quest).
    Außerdem muss simplejson.py kopiert werden.

    Savegames: Sollte durch die Änderungen in CvUtil.py erfasst sein.
    Weltenbauer: Der bekommt von den Änderungen nichts mit. Für ihn sind es nur (längliche) Strings. Man kann sie dort auch editieren, was aber recht unhandlich ist.

    addScriptData/setScriptData: Ja, der Unterschied ist dass man mit addScriptData neue Keys hinzufügen kann. Bei setScriptData tauscht man das gesamte Dict, beziehungsweise den String mit dem Dict, aus.

    Bei getScriptData erwähne ich lieber noch mal, dass man da ne Liste von Keys übergeben kann und es wird der erste passende genommen. Damit kann man gut nen Fallback-Modus für die ursprüngliche ScriptData-Version einbauen.

    Beispiel: Im Save ist die alte Syntax vertreten. Inhalt ist "bla bla". Wir wissen hier nicht wozu (Event, etc) dieser String eigentlich gehört.
    1. Beim Laden wird erkannt, dass es kein Dict ist. Es wird ein Dict erstellt und der Inhalt landet "in t". D.h. der String sieht dann so aus.
    {'t': 'bla bla'}

    2. Im neuen Code haben wir den zugehörigen Event abgewandelt und speichern den Wert aber nun beim Schlüssel 'event1'.

    Um dann auf den Wert zuzugreifen bietet sich dann CvUtil.getScriptData( pPlot, ['event1', 't'] ) an.

  6. #81
    PAE.Macht.Antike! Avatar von Pie
    Registriert seit
    25.01.08
    Ort
    Noricum
    Beiträge
    16.342
    Hm. Doch json. Ich hätt die Codierung zwar lieber selbst geschrieben, weil ich brauch ja keine mehrdimensionale Möglichkeit. Mir reicht EINE Dimension. Deshalb hätt ich sowieso vorgehabt das ganze mit 2 Trennzeichen zu regeln und hätte mir das "json" vereinfacht selber geschrieben. Was dann auch besser zu handhaben gewesen wäre, im WB oder im Texteditor: Beispiel: t:blabla|s:blabla|Reli:blabla
    Wäre ne eindimensionale List und super leicht zu warten/editieren. Weil json ist dafür eigentlich viel zu überdimensioniert was überhaupt nicht notwendig wäre.

    Ich hätte das dann eben ebenfalls mittels setScriptData(pObject, "t", "Text") genutzt.

    Ich weiß nun nicht, ob ich json übernehmen soll, was in Summe einfach mehr negative Sachen mit sich (Import-Datei, überdimensioniert, schlecht zu editieren (WB)) bringt als meine eigene Lösung (kein Import notwendig, optimiert, einfach zu editieren.

    Hm... die Qual der Wahl des Programmierers

    Was meinst du Ramk?

    Ah, ne Frage zu deinem Posting:
    Um dann auf den Wert zuzugreifen bietet sich dann CvUtil.getScriptData( pPlot, ['event1', 't'] ) an.
    Häh? Bedeutet das entweder oder? entweder er findet was im event1-key, sonst soll er den t-key auslesen?
    Ich dachte es geht dann so CvUtil.getScriptData( pPlot, 'event1') oder CvUtil.getScriptData( pPlot, 't')?
    Pie's Ancient Europe (PAE)
    Erlebe mit dieser CIV IV Mod(ifikation) hautnah das Zeitalter der Antike bis ins letzte Detail!
    Mit bahnbrechenden Erweiterungen und vielen ein- und erstmaligen Features.


    ... im Übrigen bin ich der Meinung, dass Karthago wieder aufgebaut werden muss!

  7. #82
    Antiker Benutzer Avatar von BoggyB
    Registriert seit
    21.08.11
    Beiträge
    7.041
    Zitat Zitat von Ramkhamhaeng Beitrag anzeigen
    Außerdem muss simplejson.py kopiert werden.
    Ich glaube, ich weiß jetzt, wieso mein Bonusressi-Kram nicht als eigenständiger "Patch" funktioniert hat, sondern nur mit deinen Fluss-Dateien

    Zitat Zitat von Pie Beitrag anzeigen
    Häh? Bedeutet das entweder oder? entweder er findet was im event1-key, sonst soll er den t-key auslesen?
    Ja, so ist das implementiert Es werden der Reihe nach alle Key durchprobiert und der erste, der im ScriptData enthalten ist, genommen.
    Was du bloß nicht vergessen darfst, auch wenn du nur einen Key übergeben willst, musst du den in ne [Liste] packen. Hatte ich immer wieder mal vergessen... Wenn CvUtil das abfangen könnte, wär das nett, aber ich glaub, Python kann (wegen der dynamischen Typisierung) keine Methoden überladen (zumindest nicht so, wie ich mir das grad vorstelle), oder? Aber doch sicher abfragen, ob eine Instanz eine Liste ist, und wenn nicht, sie in eine (dann einelementige) Liste packen, oder?
    "Only Germans, perhaps, could make a game about economics - a stylish, intelligent and captivating one at that." - The New York Times

  8. #83
    PAE.Macht.Antike! Avatar von Pie
    Registriert seit
    25.01.08
    Ort
    Noricum
    Beiträge
    16.342
    Naja. Eh nur Geschmackssache. Wäre im Endeffekt das gleiche Ergebnis nur mit dem Unterschied, ich brauch keine zusätzliche Datei mit 100ten von Extrazeilen.
    Der Unterschied wäre wohl auch nur der, wenn man im Unit ScriptData nachsehen müsste (Religion + Ethnic):

    json: {"R":"4","E":"5"}

    anders: R:4|E:5

    Aber mit Ramks Einbau erspar ich mir wenigstens etwas herumcodiere. Was ja auch sehr gut is
    Und von der Laufzeit machts fast keinen Unterschied.
    Pie's Ancient Europe (PAE)
    Erlebe mit dieser CIV IV Mod(ifikation) hautnah das Zeitalter der Antike bis ins letzte Detail!
    Mit bahnbrechenden Erweiterungen und vielen ein- und erstmaligen Features.


    ... im Übrigen bin ich der Meinung, dass Karthago wieder aufgebaut werden muss!

  9. #84
    PAE.Macht.Antike! Avatar von Pie
    Registriert seit
    25.01.08
    Ort
    Noricum
    Beiträge
    16.342
    Zitat Zitat von BoggyB Beitrag anzeigen
    Was du bloß nicht vergessen darfst, auch wenn du nur einen Key übergeben willst, musst du den in ne [Liste] packen. Hatte ich immer wieder mal vergessen...
    Nö, bei setScriptData schon, aber dann überschreibt er alles. bei addScriptData braucht man keine Liste hinschicken.
    Also ich würd sowieso dann nur addScriptData nutzen.

    Achja: und jetzt versteh ich, warum ich getScriptData("key","t") machen muss, weil encode ja leider den einfachen string in "t" reinschmeißt.
    Na wieder ein Manko von json.
    Ich hätte da keine solche Fixierung gebraucht und hätte dann sowieso den einfachen String zurückgegeben. Wieder ein Nachteil von dem json-Gedöngs.
    Ach ich weiß nicht... Diese Fremdscripte sind immer sowas von ._._._._._._._._. [<- bitte richtiges Wort einsetzen ] programmiert.
    Pie's Ancient Europe (PAE)
    Erlebe mit dieser CIV IV Mod(ifikation) hautnah das Zeitalter der Antike bis ins letzte Detail!
    Mit bahnbrechenden Erweiterungen und vielen ein- und erstmaligen Features.


    ... im Übrigen bin ich der Meinung, dass Karthago wieder aufgebaut werden muss!

  10. #85
    ε•ω=1 Avatar von Ramkhamhaeng
    Registriert seit
    19.07.10
    Ort
    Aralkum
    Beiträge
    9.896
    Zitat Zitat von Pie Beitrag anzeigen
    Wäre ne eindimensionale List und super leicht zu warten/editieren. Weil json ist dafür eigentlich viel zu überdimensioniert was überhaupt nicht notwendig wäre.
    [...]
    Was meinst du Ramk?
    Geht bedes, aber verschachtelt würde ich besser finden. Hintergrund ist, dass ich für das Flussfeature ziemlich viele Werte (Ausrichtung, Wellenrichtung, Farbe, Typ, etc) speichern muss und dass auch schon auf zwei Ebenen geschachtelt habe.

    Ah, ne Frage zu deinem Posting:

    Häh? Bedeutet das entweder oder? entweder er findet was im event1-key, sonst soll er den t-key auslesen?
    Ich dachte es geht dann so CvUtil.getScriptData( pPlot, 'event1') oder CvUtil.getScriptData( pPlot, 't')?
    't' ist nur ein Fallback. Das war dafür gedacht, falls die Spieler "alte" Spielstände laden (ok, wir sind eh nicht savekompatibel) oder ein Modder von PAE noch die ursprüngliche Variante von ScriptData nutzt.
    Kommt in der Praxis wahrscheinlich nicht oft vor.

    Wie BoggyB schon schrieb, müsste man auch noch einmal in ner Liste kapseln.
    CvUtil.getScriptData( pPlot, ['event1'])

    Natürlich kann man auch den Typ abfragen so dass auch 'event1' geht. (Edit: Oh, laut Pies letzten Beitrag geht das sogar ^^)

  11. #86
    PAE.Macht.Antike! Avatar von Pie
    Registriert seit
    25.01.08
    Ort
    Noricum
    Beiträge
    16.342
    Ja, stimmt. Sorry, ich habs grad in RiverUtil gesehen. Du hast da ja mehr Dimensionen, also ein eigenes Dict für den Wert "r". Ok, dann kann ich es eh nicht so simpel machen, wie ich es sonst gemacht hätte. Dafür brauch ich dann das json, das wäre mir nämlich sonst selber zuviel Schreibarbeit

    Ok. Passt, dann bau ich das gleich mit ein. Eigentlich kann ich es dann auch wieder versuchen, das Flussfeature reinzubekommen und hoffen dass mit CIV dann beim Laden eines Spiels nicht zusammenkracht. ICh hab halt zuerst den Fehler gemacht, alles reinzuimplementieren und vielleicht hab ich ja auch Sachen vergessen, wie eben die simplejson Datei

    Also ok, beim Übergeben des Keys mach ichs als Liste. also nicht "t" sondern ["t"]. Ok, verstanden.
    Und ja, jetzt wo ich die json Funktionen durchgecheckt hab, weiß ich ja, dass ich also besser ["key","t"] abfragen sollte. Aye captain. Emoticon: aye
    Pie's Ancient Europe (PAE)
    Erlebe mit dieser CIV IV Mod(ifikation) hautnah das Zeitalter der Antike bis ins letzte Detail!
    Mit bahnbrechenden Erweiterungen und vielen ein- und erstmaligen Features.


    ... im Übrigen bin ich der Meinung, dass Karthago wieder aufgebaut werden muss!

  12. #87
    Antiker Benutzer Avatar von BoggyB
    Registriert seit
    21.08.11
    Beiträge
    7.041
    Zitat Zitat von Pie Beitrag anzeigen
    Nö, bei setScriptData schon, aber dann überschreibt er alles. bei addScriptData braucht man keine Liste hinschicken.
    Also ich würd sowieso dann nur addScriptData nutzen.
    Äh ja, bei getScriptData meinte ich. So zumindest meine Erinnerung

    Zitat Zitat von Ramkhamhaeng Beitrag anzeigen
    't' ist nur ein Fallback. Das war dafür gedacht, falls die Spieler "alte" Spielstände laden (ok, wir sind eh nicht savekompatibel) oder ein Modder von PAE noch die ursprüngliche Variante von ScriptData nutzt.
    Gibt es eigentlich einen Grund, dass du 't' gewählt hast, steht das für irgendwas? Nur so aus Interesse
    "Only Germans, perhaps, could make a game about economics - a stylish, intelligent and captivating one at that." - The New York Times

  13. #88
    ε•ω=1 Avatar von Ramkhamhaeng
    Registriert seit
    19.07.10
    Ort
    Aralkum
    Beiträge
    9.896
    t=text
    Ob das grundsätzlich eine gute Idee war alles abzukürzen.... bin ich mir gar nicht mehr so sicher

  14. #89
    PAE.Macht.Antike! Avatar von Pie
    Registriert seit
    25.01.08
    Ort
    Noricum
    Beiträge
    16.342
    Hm, dann brauchen wir halt ein eigenes Dictionary fürs Dictionary

    Ramk? Könntest du mir dieses 2. NiStencil für die neukommende Handelsstrasse auch einbauen? Da kenn ich mich net aus.
    Angehängte Dateien Angehängte Dateien
    Pie's Ancient Europe (PAE)
    Erlebe mit dieser CIV IV Mod(ifikation) hautnah das Zeitalter der Antike bis ins letzte Detail!
    Mit bahnbrechenden Erweiterungen und vielen ein- und erstmaligen Features.


    ... im Übrigen bin ich der Meinung, dass Karthago wieder aufgebaut werden muss!

  15. #90
    ε•ω=1 Avatar von Ramkhamhaeng
    Registriert seit
    19.07.10
    Ort
    Aralkum
    Beiträge
    9.896
    Klar. Gut dass du es nicht selber probiert hast! Wenn man das manuell erledigen will, wird man vom Geklicke in Nifskope irre. Musste mir dafür ein paar Skripte schreiben, die das automatisieren.

Seite 6 von 219 ErsteErste ... 23456789101656106 ... LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •