Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 20 von 37

Thema: Patches selber machen

  1. #1

    Patches selber machen

    Der RPG Maker kann schon ziemlich viel, aber je mehr desto besser.^^
    Meine Frage lautet: Wie kann ich selber Patches machen?
    Besteht die Möglichkeit den RPG Maker mir Ruby zu verändern?
    Ich arbeite übrigens mit den RPG Maker 2000.

  2. #2
    Wie soll das mit Ruby gehen?

    Klar kannst du einen Patch in der Sprache schreiben, aber kA ob das überhaupt geht. Der Maker (2000/3) wurde in Delphi geschrieben btw.

    Um einen Patch schreiben zu können musst du dich erst mal lange Zeit mit eine Sprache beschäftigen, bzw mit Sprachen im Allgemeinen.
    So ein Lösung wie "Ich klick mir das zusammen" gibt es dafür nicht.

  3. #3
    Ach, mit Delphi wurde es gemacht?
    Ich dachte es wäre Ruby...

    Das mit dem Sprachen ist mein Problem, ich weiß.
    Sollte ich aber irgendwie hinkriegen.
    Aber ich weiß immer noch nicht wie ich Patches machen kann.
    Hat jemand irgendwelche Erfahrungen damit?

  4. #4
    Hast du meinen Post nicht gelesen?

    Um so was wie einen Patch zu schreiben, brauchst du erst mal Erfahrung in einer Sprache oO

    Klar kann dir jemand was dazu sagen, aber wenn du schon fragst, wie man solche Patches macht, impliziert das doch das du vom Programmieren recht wenig Ahnung hast oder?

  5. #5
    In welcher Sprache der Maker geschrieben wurde ist unerheblich, da der Quelltext nicht vorliegt.

    Um den Maker bzw. die Spiel-engine zu patchen muss man "nur" den in der exe-datei vorliegenden Code ändern. Problem dabei ist natürlich, daß dieser Code in keiner für Menschen gemachten Sprache vorliegt sondern in Maschinensprache.
    Ausserdem muss man bevor man etwas ändert, zumindest halbwegs verstehen wie der Code funktioniert um zu wissen was man wie ändern muss und welche Implikationen das auf andere Teile des Codes haben könnte.

    Öffne die Exe-Datei mal mit einem Hex-Editor, was du dann siehst ist der Maschinencode, eine lange Aneinanderreihung von Zahlen, denn nichts anderes versteht der PC.

    Das Beste was man daraus noch machen könnte, wäre einen Disassembler darüber laufen zu lassen und Assembler-Code zu kriegen - der ist zwar deutlich lesbarer als die reinen Zahlenkolonnen, aber nicht wirklich benutzerfreundlich. (Zwischen Assembler und Hochsprachen wie C, Delphi oder Ruby (das nochmal ne deutliche Spur programmiererfreundlich ist) liegen Welten).

    Das ganze ist extrem fortgeschrittenes Zeug und keinesfalls mal so eben machbar, ein Programmieranfänger ist damit weit überfordert.
    Ich würde dir daher raten den Gedanken an eigene Patches fallen zu lassen.

  6. #6
    Hmm, muss mal sehen ob ich was vom Binärcode verändern kann...
    Kann zumindest ein bisschen Phyton.^^
    Naja, auf jeden Fall danke!
    Aber gibt es keine andere Möglichkeit Patches zu machen?

    Geändert von Rayo (02.07.2010 um 21:55 Uhr)

  7. #7
    Bis auf bereits genanntes fiele mir auch nichts ein. Was willst du denn machen? Wenn du einen Patch brauchst findet sich bestimmt jemand, der das für dich übernimmt. Wenn du aber selber welche machen willst, dann brauchst du wirklich viel Erfahrung mit z.B. Assembler, da bereits ein Fehler arge Probleme bereiten kann und damit mein ich nicht nur, dass dein Programm nicht mehr funktioniert, sondern dass du damit unter Umständen auch deinem PC Schaden zufügen kannst.

  8. #8
    es gibt ein PAtch, mit den man Skripte schreiben kann. Ist zwar kein Ruby dann, aber denoch eine Sprache ^,^ Damit soll man auch Onlinegames machen können. Ist von BananaJoe oder wie er auch heißt ^,^ Cherry hat auch einen gemacht, wenn ich mich nicht täusche.

  9. #9
    Was Cherry und Co. so machen ist ne riesen Geschichte mit Assembler, Hexeditor und diversen Programmiersprachen.

    Eine simplere Variante beliegen Code vom Maker Spiel ausführen zu lassen ist dass erstellen einer eigenen Harmony.dll. Man fängt die DLL Funktionsaufrufe ab und leitet sie an die echte Harmony.dll weiter. Man kann dadurch aber auch eigenen Code einschleusen. Beispielweise den Aufruf von "sound.tollerpatch.wav" Abfangen und dann deinen tollen Patch ausführen. Zumindest ist das der Weg wie der Keypatch und manche andere vorgehen.
    Variablen können dem Spiel mit "Get Midi Tick" übergeben werden.

    Natürlich sind dadurch keine Änderungen möglich die die Spielengine beeinflussen. Aber es ist ein Weg mit dem man allein mit dem erlernen einer Programmiersprache eine Patch schreiben kann. Ganz ohne Assembler.

  10. #10
    Muss mir mal das ganze anschauen, falls ich Probleme hab poste ich nochmal hier was.
    Aber auf jeden Fall Danke für die Tipps. ;-)

  11. #11
    Mein Nachschlagewerk zum Thema "Wie mach ich einen Patch?": http://www.multimediaxis.de/showthread.php?t=114880

    Den Patch von wegen Ruby, den du meinst, ist entweder der Power Patch oder CGSS, wobei beide Lua verwenden, nicht Ruby. CGSS ist mächtiger und wird eines Tages in etwa das können, was du dir vorstellst: Rummanschen am Maker per Skript.

  12. #12
    Nur eine Frage. Wie schwer ist es eigentlich Lua zu erlernen. Ich bin nämlich auf dem Gebiet von Programmiersprachen überhaupt nicht bewandert.

  13. #13
    Da du nicht auf diesem Gebiet "bewandert" bist, denke ich dur wirst wohl etwas länger brauchen, aber allgemein gilt eigentlich wie für alle Sprachen, es ist nicht schwer nur zeitaufwendig. Du musst dich einfach nur eingehend mit der Sprache beschäftigen, dann wird das schon

    Edit:
    Übrigenss ist die Syntax sehr an Pascal angelehnt, soweit ich das mitbekommen habe, das hilft vllt.

  14. #14
    Zitat Zitat von R.D. Beitrag anzeigen
    Da du nicht auf diesem Gebiet "bewandert" bist, denke ich dur wirst wohl etwas länger brauchen, aber allgemein gilt eigentlich wie für alle Sprachen, es ist nicht schwer nur zeitaufwendig. Du musst dich einfach nur eingehend mit der Sprache beschäftigen, dann wird das schon
    Das esetwas dauern könnte, ist natürlich richtig. Aber ich habe noch ein Leben zum Lernen vor mir. Wenn es auch nicht schwer ist, dann werde ich vielleicht einiges darüber in Erfahrung bringen. Dann könnte sich einiges anstellen lassen.

  15. #15
    Zitat Zitat von Cherry Beitrag anzeigen
    Mein Nachschlagewerk zum Thema "Wie mach ich einen Patch?": http://www.multimediaxis.de/showthread.php?t=114880

    Den Patch von wegen Ruby, den du meinst, ist entweder der Power Patch oder CGSS, wobei beide Lua verwenden, nicht Ruby. CGSS ist mächtiger und wird eines Tages in etwa das können, was du dir vorstellst: Rummanschen am Maker per Skript.
    Ich wollte die Datei downloaden, aber irgendwas scheint nicht zu klappen...
    Bei mir erscheint nur: Seiten-Ladefehler
    Kannst du auch die normale Adresse angeben, dass hilft meistens auch, falls die Datei noch existiert.

  16. #16
    Zitat Zitat von Auge des Sterns Beitrag anzeigen
    Das esetwas dauern könnte, ist natürlich richtig. Aber ich habe noch ein Leben zum Lernen vor mir. Wenn es auch nicht schwer ist, dann werde ich vielleicht einiges darüber in Erfahrung bringen. Dann könnte sich einiges anstellen lassen.
    Es gibt allerdings einen Unterschied zwischen "eine Programmiersprache lernen" und "eine Programmiersprache beherrschen", letzteres erlaubt nämlich, dass dir auch andere solche Sprachen leichter fallen. Wenn man nämlich weiß, welche Sachen sich in den verschiedenen Sprachen ähneln (z.B. die altbekannte "if"-Anweisung), dann kann man eine neue Sprache schonmal praktisch zu 50%. Such dir also erstmal eine relativ einfache Sprache und guck dir die Grundzüge an

  17. #17
    Abgesehen von HTML(Keine richtige Programmiersprache) kann ich einbisschen Phyton und daher weiß ich, dass "print" auch haüfig in Programmiersprachen vorkommt.^^
    Genauso wie "else" usw...

  18. #18
    Zitat Zitat von R.F. Beitrag anzeigen
    Es gibt allerdings einen Unterschied zwischen "eine Programmiersprache lernen" und "eine Programmiersprache beherrschen", letzteres erlaubt nämlich, dass dir auch andere solche Sprachen leichter fallen. Wenn man nämlich weiß, welche Sachen sich in den verschiedenen Sprachen ähneln (z.B. die altbekannte "if"-Anweisung), dann kann man eine neue Sprache schonmal praktisch zu 50%. Such dir also erstmal eine relativ einfache Sprache und guck dir die Grundzüge an
    Sollte ich machen. Danke.^^

  19. #19
    Was an der Stelle zu erwähnen ist, das, wonach du hier fragst, ist für einen Anfänger unnötig trickreich. Es hat einen Grund warum man nicht in Assembler programmiert und wenn du aus fremdem Assembler-Code schlau werden willst, braucht das Erfahrung und Zeit - beides erheblich. (ich war mir zu faul, Cherrys Link durchzulesen aber ich nehm mal an, dass selbst die Dokumentation nicht gerade trivial ist)

    Wenn du was in die Richtung machen willst, bastel dir lieber direkt ein Spiel mit einer Hochsprache wie C++ statt mit Patches anzufangen.
    (google allgemein mal nach C-Tutorials, sorg dafür, dass du danach weißt was Pointer/Zeiger, Arrays und Klassen sind und such dir dann ein Tuto zu einer guten Bibliothek wie OpenGL

    Zu phyton, das is ganz nett um die Grundzüge üblicher Syntax zu lernen, interpretiert aber (d.h. der Code wird nicht in Maschinensprache übersetzt bevor man das Programm ausführt) und ist daher langsam (was du bei einfachen Programmen nicht merkst aber je komplexer das Proggi wird eben schon) - phyton empfehl ich dir genau dann, wenn du gute Tutorials in phyton hast.

    Fazit: Schau dich lieber im Programmiererforum um wenns dir um sowas geht. Vor ´Luki und Cherry hatte es ne halbe Ewigkeit keine Patches (in der deutschen Szene) und das hat einen Grund.

  20. #20
    Zitat Zitat
    Abgesehen von HTML(Keine richtige Programmiersprache) kann ich einbisschen Phyton und daher weiß ich, dass "print" auch haüfig in Programmiersprachen vorkommt.^^
    Genauso wie "else" usw...
    Mit diesem Wissen solltest du vielleicht erstmal eine richtige Programmiersprache wie Python oder Ruby richtig lernen - dann hast du auch im XP etlich mehr Möglichkeiten als von Hause aus - bevor du dich an Patches und Assembler begibst.

    Alle Programmiersprachen, sei es Ruby, Python, Lua oder sogar C(++) (das ich nicht unbedingt als Anfängerfreundlich einstufen würde) haben eines gemeinsam: Sie wurden für Menschen entwickelt.
    Assembler ist da ganz anders. Assembler ist mehr oder weniger nichts weiter als die Sprache des Prozessors, wobei die einzelnen Befehle Namen kriegen, anstatt der Zahlen, mit denen die CPU arbeitet.
    Alle Konstrukte, die es so in gängigen Programmiersprachen gibt, wie print, if-else, Schleifen usw. gibt es in Assembler nicht.
    Was es gibt sind ein paar Befehle um Speicherinhalte zu bewegen (sowas wie Typen kennt Assembler nicht), einige Rechenbefehle sowie ein paar Befehle um im Code rumzuspringen (direkte Sprünge und bedingte Sprünge).

    Assembler mal so eben lernen ist nicht drin. Ich bin noch nicht mal sicher ob man eine Sprache wie Ruby "mal so eben" lernen kann.
    Ich hab ein wenig Assembler in der Uni im Rahmen einer Vorlesung lernen müssen und wenn ich eines davon behalten habe, dann daß ich niemals in Assembler arbeiten will und wenn dann bitte nur mit sehr ausführlichen Kommentaren (selbst dann ist es schwer genug).

    Aber falls du immer noch interessiert genug bist. Ich kann gerne das (englische) Buch raussuchen, daß uns damals empfohlen wurde (gibts als PDF).

Berechtigungen

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