Wie bastel ich mir einen Patch fuer den RPG Maker?
Hi...
Also ich bin ganz begeistert vom "Enter-Patch" fuer den RPG Maker. Nun wollte ich diesen auch ausbauen. Ich wollte das man die einzelnen zugreift Spielstaende und speichern und laden kann.
Nun habe ich keine Ahnung wie ich die RPG_RT, harmony.dll umschreiben kann.
Nun zur Frage welches Programm (kostenlos ware schon schoen) braeuchte ich um diese zu verwriklichen?
Achja, ich habe ein paar Pascal Kenntnisse aus der Schule, die ich mitbringen kann...
lern programmieren
Du kannst dafür so gut wie jede erdenkliche sprache nehmen, die dlls benutzen kann.
die einfachere Möglichkeit wäre allerdings, den RPG Maker XP zu nehmen, dort kannst du per Ruby (auch eine Programmiersprache, aber da diese funktionen erwünscht sind, liegt der programmcode offen, sodass man ihn mühelos anpassen kann) eigentlich alles so scripten wie du möchtest, und ruby ist auch ansonsten recht toll.
--
cats are not characteristically disposed toward voluntary aerobic exercise
Harmony: Nicht alzu schwer. Man braucht 1-2 Jahre Praktische Delphi erfahrung, etwas logisches Denken und nen Dissassmebler für die Funktionsnamen. Letzteres kannst du dir sparen hier sind sie:
Du kannst sie entweder komplett nachbilden (The Ineluki way) oder wie ich mal vor ner ewigkeit mit delphi proceduren an die orginal Harmony.dll durchleiten, dass spart ne Menge arbeit.
Menü-Patch: Das ist nicht mal Quick'n'Dirty, das ist Long'n'Dirty. Es dauert ewig es zum laufen zu bekommen und richtig stabil ist es nie so richtig. Solche Patches sind einfach schrott. Wer ein besseres Menü will macht ne eigene Engine oder nutzt gleich den XP.
Harmony: Nicht alzu schwer. Man braucht 1-2 Jahre Praktische Delphi erfahrung, etwas logisches Denken und nen Dissassmebler für die Funktionsnamen. Letzteres kannst du dir sparen hier sind sie:
Du kannst sie entweder komplett nachbilden (The Ineluki way) oder wie ich mal vor ner ewigkeit mit delphi proceduren an die orginal Harmony.dll durchleiten, dass spart ne Menge arbeit.
Menü-Patch: Das ist nicht mal Quick'n'Dirty, das ist Long'n'Dirty. Es dauert ewig es zum laufen zu bekommen und richtig stabil ist es nie so richtig. Solche Patches sind einfach schrott. Wer ein besseres Menü will macht ne eigene Engine oder nutzt gleich den XP.
...
Eigentlich wil ich, wie der Enter Patch "nur" ein enter oder die Pfeiltasten simulieren. Sollte eiegtnlich nicht so schwer sein. Weisst du wie ich da genau vor gehe...
Eigentlich wil ich, wie der ENter Patch "nur" ein enter oder die Pfeiltasten simulieren. Sollte eiegtnlich nicht so schwer sein. Weisst du wie ich da genau vor gehe...
...
Du holst dir das Handle der Anwendung und simulierst über die interne Windows-Message Funktion die Message für die entsprechenden Tasten. Hier kommt es 100% aufs richtige Timing an. Außerdem musst du mittels eines Threads (oder auch in der Schleife - The-Dirty-Way) die Messages die der User evt. sendet blocken sonst bringt es dein System durcheinander. Wenn die Anwendung ihre Tasten über DirectInput abholt wird es sogar noch ne Nummer komplizierter, weil dann (zumindest über Delphi) das mit den Nachrichten nicht so dolle funktioniert. Wenn du das gelöst hast musst du dafür Sorgen das sich dein Programm zum richtigen Zeitpunkt startet und auch im richtigen Moment einklingt (hier kann es auf besonders lahmen und besonders schnellen Rechnern evt. Probleme geben).
Alternative wäre deine Exe zu decompilen, den Assemblercode etwas aufzuarbeiten (assembler kenntnisse vorrausgesetzt) und ähnlich den bekannten CrackTros (Intros bei Cracks) fest in die Anwendung zu integrieren, wobei dies noch viel schwieriger ist und auch ziemlich fehleranfällig.
PS: Frag gar nicht erst nach "Beispielen" oder "Lösungen", die bekommst du hier mit sicherheit nicht. Niemand hier hat Interesse dich bei einem zum scheitern verurteilten Projekt zu unterstützen das im Grunde überhaupt nichts bringt.
Für das simulieren eines Tastendruckes läßt sich eventuell diese WinAPI-Funktion verwenden.
Eine Schritt-für-Schritt-Anleitung wird dir hier niemand geben.
Das liegt daran, dass du, so wie du deine Programmierfähigkeiten beschreibst, noch nicht sehr gut bist. Und die Betonung liegt sowohl auf hier und niemand. Wenn dir jemand eine Schritt-für-Schritt-Anleitung gibt wäre diese sehr umfangreich und lernen würdest du wahrscheinlich auch nicht viel da du den Code bestimmt einfach nur abtippen würdest. Ich möchte hier nicht spekulieren aber dies ist bei Anfängern oft so.
Wozu gibt es dann so ein Forum, wenn jeder dir abraet etwas zu machen...
...
Das Forum gibt es um Leuten bei Problemen zu helfen, die sie selber nicht gelöst kriegen und bei denen zusätzliche Augen hilfreich sind. Dieses Forum ist definitiv nicht dazu, daß wir für andere Leute komplette Programme schreiben und darauf würde es bei einer solchen Schritt-für-Schritt Anleitung hinauslaufen.
Im Programmierbereich ist Eigeninitiative gefragt. Wer zu faul ist selber nach Lösungen zu suchen oder nicht in der Lage ist einzusehen wenn eine Aufgabe seine Fähigkeiten übersteigt, der wird in der Regel nicht viel Hilfe erwarten können. Wer dagegen zeigt, daß er bereit ist zu lernen um seine Fähigkeiten auf das benötigte Niveau zu heben und wer zeigt, daß er versucht Probleme selber zu lösen, anstatt bei jedem Problem sich ans Forum zu wenden, der wird in der Regel auch Hilfe kriegen, sofern er sie benötigt.
(Das ist nicht direkt auf dich bezogen, sondern nur generell, es gibt durchaus solche Leute)
Das Forum gibt es um Leuten bei Problemen zu helfen, die sie selber nicht gelöst kriegen und bei denen zusätzliche Augen hilfreich sind. Dieses Forum ist definitiv nicht dazu, daß wir für andere Leute komplette Programme schreiben und darauf würde es bei einer solchen Schritt-für-Schritt Anleitung hinauslaufen.
Im Programmierbereich ist Eigeninitiative gefragt. Wer zu faul ist selber nach Lösungen zu suchen oder nicht in der Lage ist einzusehen wenn eine Aufgabe seine Fähigkeiten übersteigt, der wird in der Regel nicht viel Hilfe erwarten können. Wer dagegen zeigt, daß er bereit ist zu lernen um seine Fähigkeiten auf das benötigte Niveau zu heben und wer zeigt, daß er versucht Probleme selber zu lösen, anstatt bei jedem Problem sich ans Forum zu wenden, der wird in der Regel auch Hilfe kriegen, sofern er sie benötigt.
(Das ist nicht direkt auf dich bezogen, sondern nur generell, es gibt durchaus solche Leute)
...
Heho, Leute.
An welcher Stelle habe ich geschrieben ich will den Code von euch. Ich wollte den Stein "nur" ins Rollen bringen. Wie ich anfange? Welchen Compiler, Assembler ich nutze um mein Vorhaben zu verwirklichen?
Zu meinen Kenntnissen: Ich will mich jetzt nicht selber loben und sagen das ich die AHNUNG habe, aber ich habe schon einiges in Turbo Pascal geschrieben... Doch dies ist nun lange her und eigentlich wollte ich nur das ihr mir auf die Spruenge helft. Was ich zu beachten habe, etc...
Crash hat ein wenig Infos gepostet, ich habe dir die nötige WinAPI-Funktion genannt. Wieviel mehr Anstoß brauchst du?
Zitat
Welchen Compiler, Assembler ich nutze um mein Vorhaben zu verwirklichen?
...
Im Grunde genommen zeigt aber eben diese Frage schon, daß deine Kentnisse im Bereich Programmieren vielleicht noch ein wenig zu gering sind um dein Vorhaben zu realisieren. Die Wahl der Sprache und damit auch des Compilers ist in der Hinsicht absolut unrelevant. Wer programmieren kann, wird nicht fragen "Mit welcher Sprache kann ich Problem XY lösen?" sondern er wird fragen "Wie kann ich in Sprache X das Problem Y angehen/lösen?", wobei X hier die Sprache seiner Wahl, da er mit dieser wohl die meiste Erfahrung hat.
Aber wenn du schon Erfahrung mit Turbo Pascal hast wäre Object Pascal sicherlich eine gute Wahl.
Einen kostenlosen Compiler dazu gibt es unter www.freepascal.org mit Lazarus sogar eine komplett kostenlose IDE, die sich stark an Delphi orientiert. (Für lazarus einfach mal in google suchen) Sobald du in Object Pascal programmieren kannst, sollten dir die Tipps hier im Thread genügen um dein Programm zu realisieren.
Nur, es ist eine Sache einen Tastendruck direkt nach dem Start eines anderen Programms zu simulieren (wie es der Enterpatch tut). Einen Tastendruck auf bestimmte Konditionen innerhalb eines laufenden Programms abzustimmen ist deutlich schwieriger, da du dich dafür in die Message-Queue einklinken musst. Und das ist komplizierter Stoff.
-__- der Junge hat doch recht.. in den Jahren wo ich ab und zu durchs Forum streif seh ich dauertn solche Post...die ganze Community hier ist ein haufen Arschlöcher... die andere nur Kritisieren können sonst nichts ... der Junge hat doch recht.. ihr seit da um zu helfen und nicht um zu sagen wie viel Infos ihr im schon gegeben habt.. und das er zu schlecht ist sowas zu machen...da wundert sich dann auch noch einer das das Forum hier schlecht läuft bei so nem Feedback ... Idioten
-__- der Junge hat doch recht.. in den Jahren wo ich ab und zu durchs Forum streif
...
dem Jahr.
Zitat von o_O
seh ich dauertn solche Post...die ganze Community hier ist ein haufen Arschlöcher, die andere nur Kritisieren können sonst nichts ...
...
Bitte? Hier bekommt keiner Geld oder auch nur ein simples "Danke" für die Hilfe also sei mal froh das wir nicht WinAPI brüllen und auf die M$-Hotline verweisen.
Zitat von o_O
der Junge hat doch recht.. ihr seit da um zu helfen und nicht um zu sagen wie viel Infos ihr im schon gegeben habt..
...
WIR sind da weil wir es hier mögen und speziell in diesem Bereich um uns mit anderen Programmierern auszutauschen, nicht um N00bs auf die Beine zu helfen die schlicht zu faul sind zu lernen. Bei konkreter Fragestellung wäre Hilfe im Übrigen einfacher, nicht "Ich will irgendeinen Patch machen - helft mir bzw. macht das ma für mich"
Zitat von o_O
und das er zu schlecht ist sowas zu machen...da wundert sich dann auch noch einer das das Forum hier schlecht läuft bei so nem Feedback ... Idioten
...
Das Forum hier läuft schlecht? Freak, läuft eigentlich ziemlich ok so. Gibt halt immer ein paar Nix-Könner die auf Dicke Hose machen wollen und meinen hier aufzumucken. Sind im Durchschnitt nach wenigen Montaen weg oder passen sich an. Wenn man ne Weile hier war gefällt es einem sogar ziemlich gut hier.
Ich denke jeder hier ist gerne Bereit zu helfen weil jeder weiß wie schwer der Anfang ist und jeder hat mal klein angefangen aber wenn ich grad dabei bin meinen Führerschein zu machen und gleich mal nen Formel 1 Rennstall aufmachen will muss man sich eigentlich nicht wundern das man nicht alzu ernst genommen wird. Wenn du mal nach oben scrollst wirst du sogar sehen das ich den EXAKTEN Vorgang beschrieben habe. Würde der Threadersteller es wirklich ernst nehmen würde er versuchen das ganze nachzuvollziehen, googlen, viel lesen und mit ein paar Fragen wiederkommen die wir im dann theoretisch erläutern könnten. Das Programmieren und das Lernen bleibt am User hängen, wir sind auch nur User und Menschen. DU scheinst das allerdings anders zu sehen.
[...] die ganze Community hier ist ein haufen Arschlöcher... die andere nur Kritisieren können sonst nichts [...] Idioten
...
Wenn das nur ein Troll-Posting war, unterlasse sowas in Zukunft bitte. Wenn das ernst gemeint war, beleidigst du verallgemeinernd eine ganze Usergruppe und das - wie bei allen Verallgemeinerungen - absolut zu unrecht. Du kennst nicht die ganze Community und hier verhalten sich auch nicht alle gleich. Es ist viel freundlicher, wenn man ganz direkt sagt, welche Verhaltensformen man nicht mag. Aber einfach wild mit Beleidigungen um sich zu werfen ist nicht nett und trifft die Unschuldigen vielleicht härter als die Schuldigen. Außerdem können auch gute Argumente durch zu viele Beleidigungen ihren Wert verlieren, da beleidgende Beiträge nicht immer sehr ernst genommen werden. Würde mich freuen, wenn du das einsiehst und dich ggf. sogar entschuldigst.
Wie sieht das mit den Tasten aus wenn man die Tasteneingabe direkt auf Hardwareebene simuliert?
Soweit ich weiß gibt es dafür einige WinAPI Funktionen, dann müsste doch eigentlich auch DirectInput darauf reagieren. (oder bringe ich da was durcheinander?)
--
Aktuelles Projekt "Uns're Ordnung ist das Chaos!
Verändern heißt zerstör'n!
Wenn es so einfach wäre, hätten wir schon längst so einen Patch geschrieben . Bei WinAPI ist die Sache so, dass man den genauen Zeitpunkt des Enter-Drucks abwarten muss. Viel Spaß beim Herausfinden, wann ein Enter-Druck simuliert werden soll: Kommt er zu früh, ignoriert der Maker das. Kommt er zu spät, hätte der Patch keinen Sinn. Außerdem ist der Nutzwerk des Patches ohnehin zweifelhaft, weil es nur im Standard-Menü möglich ist, Spielstände zu laden. Gut, bei "Sonderspielen" ála Mastermind oder 4Gewinnt wäre sowas nützlich, aber ich möchte den Spielern meines Rollenspiels (warum heißt der RPG-Maker so? )nicht zumuten müssen, mein Spiel in einem Stück durchspielen zu müssen... Und was ist, wenn im Spiel F12 gedrückt wird? Ok, da könnte man zwar auch mit sowas wie einem "Laden-Patch" nachhelfen, aber das sind dann Sachen, die man beim Programmieren mit fremden EXEn nicht eben so einfach aus dem Ärmel schütteln kann. Bei genauerer Überlegung fällt auf, dass das Ergebnis kaum für den Aufwand entschädigen kann. (Ok, mittlerweile hat sich das auch wieder geändert, AFAIK gibt es jetzt ja einen Patch dafür, der diese Funktionen erfüllt^^.)
@o_O: (Auch wenn das schon ein paar Monate her ist) Ändere halt was, wenn du es besser kannst. So wie du dich hier äußerst, bist du wirklich keinen Deut besser als die, die du beschimpfst... (Das war nicht persönlich auf die ganze Comm bezogen, sondern nur auf o_O)