Nicht mehr altern

    This site uses cookies. By continuing to browse this site, you are agreeing to our Cookie Policy.

    • Nicht mehr altern

      Halloechen.

      Ich hatte zwar bereits eine Unterhaltung mit Fajeth darüber in der Steam Community, nun möchte ich's aber genauer geklärt haben, da es mich wurmt und ich nicht wirklich auf eine Lösung kam. Das Verändern von Scripts ist für mich komplettes Neuland, ich weiß nicht was ich brauche oder wie ich es tue, deshalb benötige ich es am Besten Schritt für Schritt - Würde sicher auch Leuten nach mir helfen, die gerne die selbe Funktion haben möchten

      Wie der Name des Beitrags schon sagt, möchte ich einen Mod haben oder etwas in den Scripten ändern (Sofern möglich, laut des Beitrages von Fajeth in der Steam Community ja schon) dass meine Charaktere bzw. zumindestens mein erster Char nicht weiter altert. Ich hatte unter der Residence.lua bereits probiert mit den Angaben von Fajeth zu arbeiten, der sagte "Get the scripts documentation (on gilde2.de for example) and look for a function called SetAge. Then put the line in a pinghour function (for example Scripts/Buildings/Residence.lua

      GetDynasty("", "MyDynasty")
      DynastyGetFamilyMember("MyDynasty", 0, "FamilyBoss")
      SetAge("FamilyBoss", 20)"

      Also änderte ich das Script und schrieb unter das Script

      function PingHour()
      GetDynasty("", "MyDynasty")
      DynastyGetFamilyMember("MyDynasty", 0, "FamilyBoss")
      SetAge("FamilyBoss", 20)
      end

      Ich weiß nicht, ob das einen Sinn ergibt, es falsch ist oder irgendwas anderes fehlt, aber das da tut soweit erst mal gar nichts. Ich hatte es gespeichert und das Spiel gestartet (Neues Savegame natürlich) und als die Uhr mitternacht schlug, war mein Char dann trotzdem irgendwann 23, das Alter wurde nicht zurück gesetzt und er altert nach wie vor.
      Hoffe hier kann jemand Abhilfe schaffen. Vielleicht Fajeth selber?

      Falls es wichtig ist - Ich habe eine gekaufte Version von Die Gilde 2 (Ohne Addons) allerdings bisher nichts gepatched, ist eine CD-Version, war zu faul bisher um patches zu suchen, wenn also Patches notwendig sind, tue ich das.

      Ja, mir ist durchaus bewusst, dass das Altern zum Spiel gehört und ich damit möglicherweise den Spielspaß zerstöre, allerdings hätte ich daran mehr Spaß, da mich dieses ständige Nachwuchs zeugen und dann wieder alles neu anlernen auf Dauer eher nervt und mich eher unproduktiv macht, weil mir schon InGame Jahre daran flöten gehen, die neue Frau zu finden, neuen Nachwuchs zu zeugen und anschließend wieder alles anzulernen.

      Ich danke mal im Voraus.
      Mit freundlichem Gruß
      Lighnoon
    • Fajeth wrote:

      Huhu und willkommen im Forum!

      Wie ich bei Steam sagte, ich schrieb aus dem Kopf und du solltest mal einen Blick in die The Guild 2 Script Documentation/ Die Gilde 2 Skriptdokumentation werfen.

      Dort sieht man dann nämlich, dass SetAge nicht ganz richtig ist, die Funktion heißt "SimSetAge"

      Damit sollte es dann gehen ...
      Das habe ich herausgefunden, leider ist das für mich fast schon mehr wirrwar als das was du da geschrieben hast. Wie ich sagte, ich habe noch nie irgendwelche Scripte editiert.

      function PingHour()
      GetDynasty("", "MyDynasty")
      DynastyGetFamilyMember("MyDynasty", 0, "FamilyBoss")
      SimSetAge("FamilyBoss", 20)
      end

      Also dann so?
    • Ja probier das mal so.

      Zur Erklärung:

      Gebäudescripte haben eine "Pinghour", das ist eine Funktion, die jede Stunde aufgerufen wird (immer etwa zur vollen Stunde).

      GetDynasty("", "MyDynasty") -- Das Objekt, dass diese Funktion ausführt (""), also deine Residenz, fragt nach der eigenen Dynasty und nennt sie "MyDynasty"

      DynastyGetFamilyMember ... -- Familienmitglieder sind durchnummeriert, dein Hauptcharakter ist Nr. 0. Den holen wir uns und nennen ihn "FamilyBoss"

      SimSetAge -- Das Alter dieses Charakters ("FamilyBoss") wird auf 20 gesetzt.

      Das passiert jede Stunde. Könnte man noch verfeinern, indem man abfragt, ob das überhaupt nötig ist, ihn auf 20 zu setzen (vielleicht ist er ja bereits 20)

      Das würde man dann so machen:
      if SimGetAge("FamilyBoss") > 20 then
      SimSetAge("FamilyBoss", 20)
      end

      (selbsterklärend?)

      LG
    • Okay, nach einigen jahren die daherzogen war der Typ nun immernoch 20, hat nun also geklappt. Danke für die Hilfe, ich habe mich in den letzten Tagen dumm und dämlich gesucht.

      @Fajeth - Funktioniert soweit ich herausgefunden habe nur bei Renaissance. Beim orginal Game, jedenfalls meiner Version gibt es keine Datei namens residence.lua und auch keinen "Buildings" Ordern. Ich habe es probiert einfach mal so in die CityPingHour.lua einzutragen, funktioniert dort aber nicht. Irgendeine Idee wo ich es dort hinzufügen kann dass es funktioniert?

      The post was edited 1 time, last by Lighnoon ().

    • Fajeth wrote:

      Gilde 2 ohne addons besitze ich "leider" nicht ^^
      Ich besitze ein Renaissance Version, diese ist aber englisch und wurde ehrlich gesagt nur irgendwann mal vor 100 Jahren als sie gerade rauskam von einem Freund auf weniger legaler Weise besorgt. Ich unterstütze Entwickler aber gern und hätte von daher lieber auf meine gekaufte AddOn Freie Version bestanden, zumal diese eben auch deutsch ist.