Hex editieren

  • GM 7

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Kann man mit dem GM Hex editieren? Was ich bräuchte:

    - Laden (klar, oder? -.-)
    - Zu Adresse springen
    - Hexzahlen ändern
    - Speichern (auch klar -.-)

    Danke im Vorraus!
    <Irrenhaus3>wenn [zensiert] erstmal das sabbeln anfängt, wird sogar ne Sinuskurve linear, um schneller abzuhauen
    <Irrenhaus3>da geht alles in Deckung
  • Wenn du die Hilfe genutzt hättest, dann hättest du das hier gefunden.
    file_bin_open(fname,mod) Öffnet die Datei mit dem angegebenen Namen. Der Modus gibt an, was mit der Datei getan werden kann: 0 = lesen, 1 = schreiben, 2 = beides). Die Funktion gibt die ID zurück, welche für andere Funktionen benötigt wird. Du kannst mehrere Dateien auf einmal öffnen (maximal 32). Vergesse nicht sie zu schliessen wenn du mit ihnen fertig bist!
    file_bin_rewrite(fileid) Schreibt die Datei mit der angegebenen ID neu, d.h. löscht sie und beginnt am Anfang.
    file_bin_close(fileid) Schliesst die Datei mit der angegebenen ID.
    file_bin_size(fileid) Gibt die Dateigrösse (in Byte) der Datei mit der angegebenen ID wieder.
    file_bin_position(fileid) Gibt die aktuelle Position (in Bytes; 0 ist die erste Position) in der angegebenen Datei ID zurück.
    file_bin_seek(fileid,pos) Bewegt den Dateizeiger an die neue angegebene Position. Um etwas anzufügen, fahre den Dateizeiger auf den Wert der Dateigröße.
    file_bin_write_byte(fileid,byte) Schreibt ein binäres Byte in die Datei mit der ID fileid.
    file_bin_read_byte(fileid) Liest ein binäres Byte aus der Datei mit der ID fileid.

    Okay, nicht direkt hexadezimal, aber der GM arbeitet eh nicht mit hexadezimalen Zahlen. Wenn du hexadezimale Zahlen als Strings hast wirst du nicht drum rum kommen, die selber umzurechnen.
  • Also ich benutz immer folgenden Code. Weiß nicht mehr genau wo ich den her hab

    GML-Quellcode

    1. //Convert a decimal integer to a hexadecimal number
    2. var Content, Decimal, Hexadecimal;
    3. Content = "0123456789ABCDEF";
    4. Decimal = argument0;
    5. Hexadecimal = "";
    6. if(argument0 == 0)
    7. Hexadecimal="000000";
    8. else
    9. {
    10. while(Decimal <> 0)
    11. {
    12. Hexadecimal = string_char_at(Content,frac(Decimal/16)*16+1)+Hexadecimal;
    13. Decimal = floor(Decimal/16);
    14. }
    15. }
    16. return Hexadecimal;
    Alles anzeigen