Zeige Ergebnis 1 bis 2 von 2
  1. #1
    Sektionsleiter Maps Benutzerbild von WaterKnight
    Registriert seit
    Aug 2003
    BNet Account
    WaterKnight
    Beiträge
    4.420

    [LUA] Wc3BinaryFile

    Eine kleine LUA-Lib, die helfen soll, die binären Dateien von Maparchiven zu modifizieren. Das heißt, man kann Dateien auslesen, die Werte werden in einem Table unter Identifiers geparkt, kann sie von dort aus bearbeiten und am Ende wieder in eine Datei schreiben.

    Der Vorteil ist, dass man mit einer standardisierten Schablonenfunktion sowohl für das Lesen als auch für das Schreiben arbeiten kann, somit sich weniger um das sequenzielle Format der Binärdateien zu kümmern braucht. Für das Manipulieren ist das Format allerdings weniger geeignet, besser man konvertiert es noch.

    Inkludierte Schablonen:

    obj (w3u, w3t, w3b, w3h)
    objEx (w3d, w3a, w3q)
    env (w3e), allerdings sehr langsam für große Terrains
    info (w3i)
    guiTrig (wtg), hierfür benötigt man letzte Version der TriggerData.txt aus der War3Patch.mpq\UI\, weil die wichtig für das Format ist --> die Datei ins Arbeitsverzeichnis extrahieren

    Beispiel:

    Code:
    require "wc3binaryFile"
    require "wc3binaryMaskFuncs"  --Libs öffnen
    
    root = wc3binaryFile.create()  --Lib initialisieren und den root-node erhalten
    
    root:readFromFile('war3map.wtg', guiTrigMaskFunc)  --root mit Daten aus path füllen, indem maskFunc das Format vorgibt
    
    root:getSub('trig1'):setVal('enabled', 0)  --root\trig1 auf 0 setzen (Trigger ausschalten)
    
    root:getSub('trig1'):print()  --root\trig1 als Klartext in den stdout schreiben
    
    root:print("print.txt")  --root als Klartext in path schreiben
    
    root:writeToFile('output.wtg', guiTrigMaskFunc)  --binäre Ausgabe mit maskFunc als Format wieder
    Geändert von WaterKnight (12. Januar 2014 um 15:09 Uhr)
    Water's Footmen Wars
    Defend Wintercastle
    Mana
    God's Ascension (coming soon)
    Dark Colony (coming soon)

    Versunkene Zeiten - Vortex - Wild Scope - Hells Edge -
    Prison Break

  2. #2
    Sektionsleiter Maps Benutzerbild von WaterKnight
    Registriert seit
    Aug 2003
    BNet Account
    WaterKnight
    Beiträge
    4.420
    Update: Typendefinitionen sind nun in eigener File, general purpose-Funktionen ebenfalls, Ladeprozentanzeige bei Manchem hinzugefügt, einige Optimierungen, Formatversion wird überprüft, weil die mitgelieferten Schablonen zB. großteils nicht auf RoC-Dateien angewandt werden können, ja kA was sonst noch nicht in der alten Version war. Im aktuellen Package ist noch ein example, eine doc.txt und der relevante Ausschnitt aus der letzten TriggerData.txt für GUI-Trigger.
    Water's Footmen Wars
    Defend Wintercastle
    Mana
    God's Ascension (coming soon)
    Dark Colony (coming soon)

    Versunkene Zeiten - Vortex - Wild Scope - Hells Edge -
    Prison Break

Ähnliche Themen

  1. [Scripts] [LUA] SpellObjectCreation
    Von WaterKnight im Forum Material
    Antworten: 12
    Letzter Beitrag: 29. Juli 2012, 10:55
  2. [Scripts] [LUA] UnitObjectCreation
    Von WaterKnight im Forum Material
    Antworten: 0
    Letzter Beitrag: 10. September 2011, 11:13
  3. [Scripts] [LUA] ItemObjectCreation
    Von WaterKnight im Forum Material
    Antworten: 0
    Letzter Beitrag: 10. September 2011, 10:37
  4. [Scripts] [LUA] BuffObjectCreation
    Von WaterKnight im Forum Material
    Antworten: 2
    Letzter Beitrag: 29. August 2011, 17:52

Forumregeln

  • Es ist dir nicht erlaubt, neue Themen zu verfassen.
  • Es ist dir nicht erlaubt, auf Beiträge zu antworten.
  • Es ist dir nicht erlaubt, Anhänge hochzuladen.
  • Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.
  •