Archiv verlassen und diese Seite im Standarddesign anzeigen : Programmwunsch und -erstellungsthread #2
Seiten :
1
2
3
4
[
5]
6
7
8
9
10
Ja, das würde ein Problem lösen, aber ist es denn nicht so, dass einige Maker-Versionen Probleme mit Umlauten in Dateinamen haben? (Wie man sieht, habe ich nicht sehr viel Erfahrung mit dem Maker.)
Das wäre mir jetzt neu...
Ja, das würde ein Problem lösen, aber ist es denn nicht so, dass einige Maker-Versionen Probleme mit Umlauten in Dateinamen haben? (Wie man sieht, habe ich nicht sehr viel Erfahrung mit dem Maker.)
Die Gamedisk-Archive haben das Problem, nicht der Maker.
MagicMaker
19.12.2010, 21:47
Das verhaut entweder die Setup-Erstellung oder das LZH-Format kann die Umlaute und sicher
einiges weiteres an Zeichen einfach nicht verwenden, ich kenn mich mit dem Format nicht aus,
wird heutzutage auch kaum noch angewendet, abgesehen auf der Bogeninsel wo der geschätzte
Maker herstammt.
MajinSonic
19.12.2010, 21:47
Und weshalb hat trotzdem jemand Probleme damit? Ich benutze ja nur Zips und rars.
Gamedisks mache ich nie, da diese immer fehlerhaft sind xD
Wie gesagt kann es auch am System (falls man z.B. als Sprache für nicht-unicode Programme Japanisch eingestellt hat) oder am Entpacker selber liegen welcher mit Umlauten nicht klar kommt. Persönlich ist mir sowas aber auch egal weswegen ich mich nie darum kümmere auf Umlaute zu verzichten. Bisher hat sich darüber auch so gut wie nie jemand beschwert, von daher http://cherrytree.at/misc/smilies/059szuck.gif
Ein Programm für Schatten im 2k/3?
Dazu muss mein kein Cherry sein um zu sagen: Nein.
(Weiß auch nicht was du dir da vorstellst, Cherry kann nicht mal eben so ein neuen layer für Schatten einbauen, die sich am besten noch dynamisch ans Sonnenlicht anpassen wa? Mal davon abgesehen das ich noch kein Maker Game (Horror ausgenommen, dort wird so was ja über lichtbildchen gelöst) wo es wirklich viel Sinn machte. Wenn dann nur Eigenschatten, sprich Schatten unter Brücken etc.)
http://cherrytree.at/misc/smilies/ditonew5mq.png
MajinSonic
20.12.2010, 13:32
Ich denke Schatten für Bäume sind nichtmal zwingend notwendig...
Schau dir die meisten RPGs mal an. Manche haben einfach Schatten an den Häusern und das reicht dann auch, denke ich.
Zu viel würde das Spiel auch einfach überladen.
*Edit*
Zum Topic:
Wie wäre es, mit einem Programm (kann ja sein dass das nicht geht), dass auf die Positionen der Monster beim rm2k3 BAs stellt, sodass die Monster animiert wären...
Oder aber wahlweise Pictures.
Kann man das mit dem Pictures in Battle Patch machen? Wobei die X-Relation Y-Relation der Gegner abgefragt werden müsste.
Oder aber wahlweise Pictures.
Kann man das mit dem Pictures in Battle Patch machen? Wobei die X-Relation Y-Relation der Gegner abgefragt werden müsste.
Nein, es gibt kein Parallel-Processing im KS.
sodass die Monster animiert wären...
Du kannst die Monster auch so animieren, nur ist eine Standanimation nicht wirklich möglich. Mit dem Pictures in Battle Patch geht das sogar wesentlich einfacher. Du musst nur irgendwie das richtige Monster während der Animation verdecken indem du z.B. einen Teil des Hintergrunds über ihm anzeigst oder es kurz tötest.
MajinSonic
21.12.2010, 12:36
Jedoch hat das KS wie Corti schreibt keine Parallel Events.
Das Monster würd ich einfach unsichtbar machen, also ne leere monstergrafik.
Ich würde das sowieso nur mit einem char KS machen. Sprich so wie in meiner Unleashing 2 [2.Demo].
Den Pic Patch hab ich mir gestern gezogen. Ich werd ihn mir mal genauer ansehen.
Jedoch hat das KS wie Corti schreibt keine Parallel Events.
Dazu sind auch keine parallel Events nötig da der animierte Angriff (oder was auch immer du animieren willst) selbst per Battle-Event gescriptet werden muss.
Wenn du den patch benutzt müsstest du in diesem Zeitraum nur das Monster verdecken indem du einen Teil des Backgrounds über ihm als Picture anzeigst. Macht sich nur etwas schlecht wenn mehrere Monster auf einmal kämpfen.
Unter Animation stellt man sich was vor wie stetiges paralleles Abspielen der Frames, das setzt Parallelität vorraus. Stell dir Jack's Vorschlag vor als wechselnde Posen fürs Monster. Wenn das Monster selbst am Zug ist kann per gewöhnlicher BA der Angriff optisch simuliert werden. Quasi das sonst statische Monster wird nicht parallel animiert, sondern gezielt wenn es dran ist. Das eigentliche Rumstehen und Rumwackeln geht nicht.
MajinSonic
21.12.2010, 15:31
Eben auf dieses rumwackeln wollte ich hinaus..das direkte angreifen, war gar nicht so mein Wunsch^^ ich finds nurn bissel schade, wenn die helden wackeln, wie auf 20 KG Koks und die Gegner sich keinen milimeter rühren^^
dadadodo225
25.12.2010, 08:00
Hallo!
Kann man den Maker so patchen, das nach jedem Mobkill eine Variable hochgezählt wird?
Damit man praktishc wei´ß, wieviele Gegner man getötet hat?
Engel der Furcht
25.12.2010, 08:40
Hallo!
Kann man den Maker so patchen, das nach jedem Mobkill eine Variable hochgezählt wird?
Damit man praktishc wei´ß, wieviele Gegner man getötet hat?
Mach nen eigenen Random Encounter und wenn du eine Monstergroup auswählst,weißt du selber ja,wieviele Monster diese hat,im Victory-Case kannst du dann deine Variable erhöhen.
dadadodo225
25.12.2010, 09:23
wäre die andere möglichkeit. jedoch ziemlich aufwändig oder nicht?
ein patch, der sowas machen würde, wäre da viel einfacher. ma abwarten, ob sich cherry nochmal zu wort meldet.
R0tbarsch
25.12.2010, 11:57
Klärt mich auf wenn ich einen Denkfehler habe... aba du kannst doch im Battleevent jeder Monstergruppe eine entsprechende Variable erhöhen. So nach dem Motto "Wenn Monster XYZ tot, dann erhöhe VAriable XYZ +1".
Oder?
dadadodo225
25.12.2010, 12:44
genau das funktioniert ja nicht, weil nach dem besiegen des letzten gegners kein eventcode mehr ausgeführt wird.
d.h ich könnte rein theoretisch nur beim ersten mob hochzählen, beim letzten aber nicht mehr.
Ich will ja keine Spaßbremse sein, aber Engel der Furcht hat dir doch ne funktionierende Lösung angeboten und nen eigenen Random-Encounter zu machen ist ja kein Akt.
Zufallsvariable mit der Anzahl an vorhanden Monstergruppen auswürfeln lassen und dann ein Common Event aufrufen, in dem dann eben mit forks die entsprechende Gruppe ermittelt wird.
Cherry wird dir dafür nicht extra nen Patch schreiben (vermute ich jetzt einfach mal dreist), so viel Eigenarbeit wirst du wohl leisten können. :)
wäre die andere möglichkeit. jedoch ziemlich aufwändig oder nicht?
ein patch, der sowas machen würde, wäre da viel einfacher. ma abwarten, ob sich cherry nochmal zu wort meldet.
"einfacher" im Sinne von "viel Arbeit von Cherry ist für dich einfacher als ein bischen Arbeit bei dir", right? ^^
dadadodo225
25.12.2010, 13:40
hätte ja sein können, das man das irgendwie leicht bewerkstelligen könnte. deswegen ist doch dieser thread da. um einen programmwunsch zu äußern. hat ja nix mit zu viel arbeit für mich oder sonstwas zutun. wenn er sagt, nein, das geht nicht oder ist ihm zuviel arbeit, dann isses ja ok. wollte ja nur fragen.
Ich sage jein.
Soll heißen: Nein, weil zu viel Arbeit und keine Zeit.
Ja, weil ich überhaupt im Revolution Patch (nur 2k3!) die BE-Verarbeitung ummodeln will, wenn ich denn endlich mal Zeit habe, und da diese Sache auch ein Punkt ist.
goldenroy
26.12.2010, 15:59
Der Hyper Patcher 2 hat ja die Funktion, Bilder unter BA's anzeigen zu lassen. Allerdings geht das nur für den 2k. Gibt es irgendein Programm, oder wäre es möglich, dass auch für den 2k3 am laufen zu kriegen?
Ja, nur nicht offiziell. Wird vielleicht mal Zeit.
http://share.cherrytree.at/showfile-1857/2k3multi.hpa
Das Ding kann mit dem HP2 angewendet werden.
Es kann noch etwas mehr: BetterAEP installieren und deinstallieren, Attack-Influence-Werte >10 erlauben (sofern die rpg2003.exe auch entsprechend gepatcht ist), und die Möglichkeit, alle Tasten abzufragen, und zwar so wie beim Power-Mode-2003-Patch - siehe dessen Readme.
goldenroy
26.12.2010, 17:39
Wehe, das klappt :D
Vielen Dank Cherry :A
R0tbarsch
29.12.2010, 16:28
Gut, auch von mir ein Vorschlag.
Im Rm2k(3) besteht ja die Möglichkeit, mit einem Schieberegler die Palette von Monstergrafiken umzustellen. Ich wünsche mir das für Charsets und Chipsets.
Mir ist jedoch auch bewusst, dasses sicherlich ziemlich schwer ist diese Funktionen nativ in den RPG Maker einzubinden (evtl doch in den 2k9?). Also habe ich mir eine externes Programm vorgestellt, in welches die Grafiken einfach reingeladen werden und dann an der Pallette gedreht wird. Das speichert man sich dann als neue Grafik. Hoffe hab mich beim Erklären nicht verhaspelt.^^
mfg
Das geht z.B. mit GIMP, IrfanView, PhotoFiltre, ... und vielen anderen :)
R0tbarsch
30.12.2010, 13:50
Okay, dann muss ich (auch wenns off topic is) mal anfragen wie man das schnell und komfortabel macht.^^
MagicMaker
30.12.2010, 20:18
Mir ist das bei den Dreien jetzt nicht bekannt aber so manches Grafikprogramm hat zum
direkten Farbtonverschieben eine Funktion bereitstehen, man muss nurnoch angeben um
wieviel sich die dann verschieben sollen.
In Photoshop ist das Strg+U, aber als nichtkostenfreies Programm ist das grad ein etwas
schlechtes Beispiel. :'D
In PaintShopPro wäre das im Farbenmenü~>Farbeinstellungen zu finden, ich denke mal,
dass das dann auch Gimp ebenfalls kann.
schnell und komfortabel
Genauso. Schneller geht nicht.
R0tbarsch
30.12.2010, 21:24
Vielen herzlichen Dank und sorry für die Zeitverschwendung.^^
MajinSonic
07.01.2011, 14:53
@Cherry:
Herr der Kirschen?
Ich habe noch eine Idee für deinen rm2k3 Revolution Patch...im Grunde sogar 2.
1.)Wie wäre es, wenn du die ATB Balken durch LimitBalken (Optional) ersetzen würdest?
Viele selbstgebaute KS's haben sowas ja...
2.)Könntest du die Gegner als BAs anzeigen lassen? Also so, wies bei den Helden läuft :D
So könnten auch die Gegner "wackeln"^^
3.)Kampf / Auto / Fliehen-Box...am anfang...ist die dann auch weg?
4.)Könnte man die Message Textboxen im KS der größe anpassen ?(nur der höhe nach)
Also das wenn man nur eine reihe schreibt, die box auch nur eine reihe hoch ist.
War nur ne Flotte Idee^^
LG
MajinSonic
1.)Wie wäre es, wenn du die ATB Balken durch LimitBalken (Optional) ersetzen würdest?
Viele selbstgebaute KS's haben sowas ja...
PictureInBattlePatch machts möglich, schon jetzt.
MajinSonic
07.01.2011, 15:31
Jap, dass ist richtig....^^ nebenbei fällt mir noch was ein...*reinedit*
Aber so könnte man sich das sparen^^ (für die faulen :D)
Aber wenn man z.B. das Gauge System nimmt...dann darf man nicht vergessern
Am Anfang kommt
KAMPF
AUTO
FLIEHEN
Und wenn man auf Kampf drückt...schiebt sich die box links aus dem bild raus und die faces rutschen nach
Problem dabei ist, dass ich ja in runde 0 die pics schon darstellen muss...
Das sähe doof aus...darum wäre es gut, wenn in dem neuen Patch diese KAMPF AUTO FLIEHEN box weg wäre...also ähnlich wie ein bereits vorhandener patch^^
Es gibt einen Patch, der entfernt das. ^^
MajinSonic
07.01.2011, 20:22
Richtig...ich hoffe der Rev.Patch beinhaltet das alles^^
Ich hab hier ne Exe, auf die trifft das zu, die aus der Minidemo.
MajinSonic
08.01.2011, 11:54
Okay^^ danke dir^^
Ich hoffe mal, es kommt bald xD ich bin so neugierig damit etwas rumzuprobieren^^
Ihr müsst damit wohl noch etwas warten, weil ich leider null Zeit habe im Moment. Es ist wirklich sehr stressig gerade.
Hm, ich hab mir jetzt mal NICHT alle 35 Seiten in dem thread hier durchgelsen, aber ich frag mal einfach in die Runde, was ich mir gedacht habe.
Es gab immer mal wieder so ein paar Sachen, die mich speziell bei Pictures gestört haben oder fehlen:
-ID per Variable angeben ( inzwischen geht das schon, oder? Weiß ich grad nicht )
-dass man die Pictures nicht auf einen bestimmten Winkel drehen kann. Ich hatte es mal so gemacht, dass ich ein Picture eine bestimmte Zeit lang gedreht habe, und die Drehung gestoppt habe, aber das ist stinkig.
-dass man die Drehgeschwindigkeit nicht per Variable ansteuern kann. Ich weiß, da kann man sich auch wieder was für basteln, mit ein paar IF-Abfragen etc. aber praktischer wäre es allemal
Und naja, wenn du da in der Richtung was drehen könntest ( *fundrum* ), wärs natürlich auch cool, wenn man den Winkel des bildes mit einer Variable steuern könnte.
Das wars meinerseits, viel Spaß noch, und macht dem armen Cherry keinen Stress hier :D
Cherry, du machst das große Klasse, find ich wunderbar!
MagicMaker
16.01.2011, 17:25
-ID per Variable angeben ( inzwischen geht das schon, oder? Weiß ich grad nicht )
PicPointer.
-dass man die Pictures nicht auf einen bestimmten Winkel drehen kann.
Ich glaub mit Destiny (http://bananen-joe.de/).
-dass man die Drehgeschwindigkeit nicht per Variable ansteuern kann.
Falls es nicht zuviele Varianten durch andere dynamische Bildeigenschaften verursacht, kann man
das auch mit Konditionsgabeln IFs im betreffenden Event tun.
Hm, ich hab mir jetzt mal NICHT alle 35 Seiten in dem thread hier durchgelsen, aber ich frag mal einfach in die Runde, was ich mir gedacht habe.
53, nicht 35 :)
-dass man die Pictures nicht auf einen bestimmten Winkel drehen kann. Ich hatte es mal so gemacht, dass ich ein Picture eine bestimmte Zeit lang gedreht habe, und die Drehung gestoppt habe, aber das ist stinkig.
Da hilft bis jetzt nur Power Mode 2003 (für RM2k3), aber das mag keine anderen Patches. Ob Destiny (2k) das auch kann weiß ich grade nicht.
-dass man die Drehgeschwindigkeit nicht per Variable ansteuern kann. Ich weiß, da kann man sich auch wieder was für basteln, mit ein paar IF-Abfragen etc. aber praktischer wäre es allemal
Hmja, ich wüsste schon Mittel und Wege, da hab ich jetzt aber grade keine Zeit. Und mit RMEventFactory sind auch ein paar If-Abfragen in Null-Komma-Nix erstellt, von daher...
Cherry, du machst das große Klasse, find ich wunderbar!
Danke!
Handschuh
22.01.2011, 23:25
Hoi,
mir ist grad aufgefallen, dass ich dir die Frage noch gar nicht gestellt hatte.
Und zwar arbeite ich wenn ich Unterwegs bin oder nicht am Desktop-PC sitze immernoch mit meinen kleinen Lenovonetbook, welcher leider nur eine Auflösung von 1024x576 hat.
Dabei kann ich den Maker nicht ohne künstliches emulieren der fehlenden 24 Pixel öffnen. Auf der Nato hatte mir da mal jemand den Ultimate gegeben, da es bei ihm angeblich gehen sollte (hatte ihn noch nicht getestet, da ich nicht aktiv Makere, sondern er meist nur Hilfsmittel ist) und da wollte er auch mindestens 800x600 haben.
Meine Fragen wären, ob es möglich wäre diese Mindestgrenze beim Ultimate zu untergraben bzw. einen Patch für den normalen Maker! :)
Das wäre toll, da das emulieren mit dem "Netbook Resolution Customizer" immer etwas umständlich ist.
Dazu habe ich schon ein Tool gemacht:
http://www.multimediaxis.de/threads/128874-Tool-FakeRes-Mindestbildschirmaufl%C3%B6sung-umgehen
EDIT: Holla, du hast in den Thread sogar gepostet, aber offenbar vergessen dass es in gibt XD
Mich stört, dass man bei den Character Display Settings im Terrain-Bereich nicht weniger als üblichen 1/3 des Körpers z. B. im Wasser stehen lassen kann. Schließlich ist man, wenn man in einer Pfütze steht nicht bis zu den Knien im Wasser, sondern höchstens bis zum Fußgelenk... sofern nicht gerade Hochwasser ist. :p
Monster im 2k(3) KS automatisch animieren, indem eine Zahl am Ende des Monster-Frames abgefragt wird... geht sowas?
(Also z.B.: Monster-Frame01; Monster-Frame02; MonsterFrame03; ...)
Was mich mal ganz stark interessieren würde:
Der XP kann mehrere Battleanimations gleichzeitig abspielen. Der Rm2k(3) kann das wiederum nicht... möglich?
Mehrere BAs möglich: Vielleicht. Technisch sicher, EB war nur faul. Vielleicht kriege ich das mit dem Revolutionpatch hin. Wenn ich denn mal Zeit habe.
Rest: Mal sehen. Aber eher nicht, leider.
Falls das irgendwie irgendwer irgendwann brauchen sollte:
Das "End Game" aus dem Spielmenü kann man im RM2k3 v1.08 mit einem Hex-Editor folgendermaßen entfernen:
In der RPG_RT.exe das Byte an Offset 0xA03E8 (sollte 40 sein) in 90 ändern
Die Bytes an Offset 0xA0363 und 0xA0364 (sollten A1 B4 sein) in EB 34 ändern
^^rpg tester^^
10.02.2011, 19:41
ich hab auch mal ne frage:^^
weißt du wo es n programm gibt mit dem man eigene chars, facesets und so zeichen?
MagicMaker
10.02.2011, 20:14
mit dem man eigene chars, facesets und so zeichen?
Das sind 2 unterschiedliche paar Schuhe, allgemein gesagt jedes Grafikprogramm gibt dir
theoretisch die Möglichkeit.
^^rpg tester^^
13.02.2011, 11:19
haste dazu zufällig mal nen Link am start?
und wie kann man die dann importieren?
^^rpg tester^^
13.02.2011, 11:21
also nen link zu so nem grafikprogramm?
Multi-Master1988
13.02.2011, 11:31
@ ^^rpg-tester^^
1. Vermeide bitte doppelposts!
2. Allgemein würde ich dir vorschlagen mal in das E-Book vorbeischauen da deine Fragen sich doch häufen und es eine gute Grundlage ist auch der Rm2K Kurs hier zu finden: http://rpg2000.4players.de/index.php?inhalt=kurs2 ist eine gute Grundlage.
3. Versuchs mit Paint,Gimp,Photofilter, etc. dies sind meist freeware Programme die sich über Googel bstimmt finden lassen.
Aber auch idraw3, Darkwings Grafik Maker können dir eine hilfe sein.
Lg
Multi-Master1988
Cherry, gibt es eine Möglichkeit über den PowerPatch über die mainloop.lua trigonometrische Funktionen (sin, cos, tan, arcsin, arccos und arctan) aufzurufen?
Wenn nein, gibt es dann ein Plugin dafür?
Ich bin mir grade nicht sicher ob die Math-Bibliothek da inkludiert wurde oder nicht.
Probier einfach mal "math.sin", etc.
Falls nicht, mach ich ich ein kleines Plugin was die Lua-Standardbibliotheken (wie eben auch math) inkludiert.
Ich bin mir grade nicht sicher ob die Math-Bibliothek da inkludiert wurde oder nicht.
Probier einfach mal "math.sin", etc.
Nö, da spukt er "Lua error 2 in scipt [projekt-verzeichnis]\Script\mainloop.lua" aus.
Falls nicht, mach ich ich ein kleines Plugin was die Lua-Standardbibliotheken (wie eben auch math) inkludiert.
Das wäre cool. Es handelt sich übrigens um den etwas älteren PowerPatch 0.44 (wenn ich mich nicht irre und die Angabe in der Log-Datei nicht falsch ist).
PS: An was könnte es liegen, dass der PowerPatch meckert, dass bereits eine Instanz des Spiels offen ist, obwohl keine offen ist?
Das tritt nur auf, wenn ich den PowerPatch in ein neues Projekt integriert habe, bei einem alten Projekt (das ich vor langer Zeit mal mit dem PowerPatch verbunden habe) geht es.
OS: Win7 x64 Prof.
Da hast du deinen Sinus: http://www.multimediaxis.de/threads/130603-StdLib-Plugin-f%C3%BCr-Power-Patch-v0.3-v0.4x-Mathematische-Funk.-Stringfunktionen-etc.?p=2742791#post2742791
Wegen Meckern: Das kommt meistens davon, dass der Spielordner genauso heißt wie das Spiel, und der Spielordner gerade offen ist.
Wenn ein Fenster (auch wenns ein Explorerfenster ist) mit dem selben Namen wie das Spiel offen ist, meckert er.
Da hast du deinen Sinus: http://www.multimediaxis.de/threads/130603-StdLib-Plugin-f%C3%BCr-Power-Patch-v0.3-v0.4x-Mathematische-Funk.-Stringfunktionen-etc.?p=2742791#post2742791
Cool, eigentlich habe ich nur ArcTan, Quadratwürzel und Pi gebraucht, bis jetzt. :D
Ich muss mal schauen, ob das auch auf meinen alten PC schnell genug läuft, auf meinem Phenom II x4 läuft es exzellent. :D Wenn nicht, stampf ich mein kleines Test-Projekt wahrscheinlich wieder ein.
Wegen Meckern: Das kommt meistens davon, dass der Spielordner genauso heißt wie das Spiel, und der Spielordner gerade offen ist.
Wenn ein Fenster (auch wenns ein Explorerfenster ist) mit dem selben Namen wie das Spiel offen ist, meckert er.Danke für den Hinweis und schnell den Ordner-Name geändert.
Hier mal wieder ein kleines Patchchen:
Kein Game-Over/Kampfende wenn alle Helden im Kampf tot sind (für RM2k 1.07)
Dadurch kann man dann z.B. einen neuen Helden in die Party holen, oder wen wiederbeleben, oder sonstwas (mit einem Battle Event).
Ihr öffnet die RPG_RT.exe mit einem Hex-Editor und geht zu Offset 0x736BD. Da müsste "74 09 8B C5 ..." stehen. Ändert das "74" zu "EB".
Kleiner Hinweis: Wenn normalerweise Game-Over/Kampfende wäre, passiert jetzt einfach gar nix. Der Kampf (und die Battle-Events!) werden weiter ausgeführt. Das führt dazu, dass wenn kein Battle Event da ist, was wieder einen kampffähigen Helden ins Spiel bringt oder den Kampf beendet (z.B. mit Game Over), das Spiel hängt. Also braucht ihr auf jeden Fall immer ein Battle Event, was irgendeine Aktion setzt.
MagicMaker
26.02.2011, 21:09
Was ich dich im Messenger noch fragen wollte aber bist ja schon weg, was passiert denn wenn
den Helden mit dem Patchy ausserhalb den Kampfes sämtliche Energie ausgeht? :'D
(zB durch HP-Schadensbefehl mit eingeschaltener Todeserlaubnis)
An dem Verhalten ändert sich nichts.
R0tbarsch
01.03.2011, 14:04
Auch mal ne Idee, wobei ich fast fürchte die wird ein wenig "hohl" klingen... gibt es eine Möglichkeit in Kämpfen (Standard KS des Rm2k3) Common Events anzubringen? Ich stell mir das so vor (Beispiel):
Ich definiere für eine Monstergruppe ein Battle Event, das ausgelöst werden soll wenn irgendein Switch aktiviert wird. Diese Seite soll nun für ALLE Kämpfe gelten.
Klar, copypasta wäre das einfachste.. Aber gibts da was von Cherrypharm? (oder wem andres?)
Thx im Voraus!
Auch mal ne Idee, wobei ich fast fürchte die wird ein wenig "hohl" klingen... gibt es eine Möglichkeit in Kämpfen (Standard KS des Rm2k3) Common Events anzubringen? Ich stell mir das so vor (Beispiel):
Ich definiere für eine Monstergruppe ein Battle Event, das ausgelöst werden soll wenn irgendein Switch aktiviert wird. Diese Seite soll nun für ALLE Kämpfe gelten.
Klar, copypasta wäre das einfachste.. Aber gibts da was von Cherrypharm? (oder wem andres?)
Thx im Voraus!
Was du suchst ist der EventMixer. Last i knew was, das Cherry den wegen Bugs ausm Verkehr gezogen hat. Ich benutz den, allerdings aktivier ich ihn nur für die Einzelschritte für die ich ihn brauche, z.B. um ein CE in ner Battle-Event-Page zu callen. Oder um Battle-Event-Seiten in ein CE auszulagern, was quasi "globale"-Battle-Event ermöglicht.
Was ich wollte war die Möglichkeit an einer einzigen Stelle alle Kämpfe ändern zu können. Das willst du auch, oder?
Naja, du kannst RMEventFactory oder den Battle Event Converter verwenden. Die können nur ganze Event-Seiten zu Common Events oder zurückkonvertieren. Mit etwas Geschick ist es dann aber trotzdem kein Problem, das damit zu machen. Dann haust du in jede Monstergruppe ein "Call Event" rein.
=======================================================================
Wer weiß, vielleicht kanns wer gebrauchen :)
Ein Feature der No-ATB-Demo bzw. des Revolution Patch hier als Extrapatch:
http://share.cherrytree.at/showfile-2385/rpg_rt_switchmenuitem.exe
Dies ist eine RPG_RT.exe für RM2k3 1.08, die den Menübefehl Active/Wait verändert. Er schaltet nun nicht mehr den ATB-Modus, sondern den Switch 3361 ein und aus. Ist Switch 3362 an, wird außerdem das Menü beim Umschalten verlassen, wodurch der Menüpunkt z.B. für ein Questmenü o.ä. verwendet werden kann.
R0tbarsch
01.03.2011, 19:34
Vielen Dank, ich werds mir anschauen. Dein Nachsatz mit dem Patch wirft aber gleich eine neue Frage auf: Ich verwende bereits den Better AEP von dir. Könntest du diesen Patch im HPD Format anbringen, damit es mit dem Hyper Patcher 2 verwendet werden kann?
Bitte sehr: http://share.cherrytree.at/showfile-2404/switchmenuitem.hpa
R0tbarsch
02.03.2011, 21:14
Vielen lieben Dank^^
Edit: Oha. Hab deinen normalen BetterAEP nun mit dieser HPA kombiniert... und werde beim Aktivieren von Switch 3362 mit "Access Violations Read" bombardiert. :( Will ich laden, durch den modifizierten "End event processing" Befehl erscheint "Exception Error 00000008". Irgendwas klappt da nicht D:
Also eigentlich dürfte es da kein Problem geben O_o
Da sollte sich nichts überschneiden...
Mir rätselhaft. Funzt es für dich ohne BetterAEP? Oder hast du vielleicht den 1.04-er BAEP und nicht den 1.08-er?
R0tbarsch
03.03.2011, 14:58
Ich nehme den von deiner cherrytree seite... mit einer "jungfräulichen" RPG_RT.exe läufts einwandfrei. Soll ich mal die konkreten Fehlermeldungen posten?
EDIT: Und nach dreimal hin und herkopieren... gehts auf einmal anstandslos. Oo
Da bin ich jetzt aber mal verwundert. Oo
Naja, aber wenns läuft, ist es gut. Meld dich halt wenns doch nicht mehr gehen sollte^^
Ein Patch, der den BetterAEP ergänzt, und ermöglicht, die Kampfreihe (Front/Back) eines Helden per Event zu ändern oder auszulesen. Bitte nur auf eine BetterAEP-RPG_RT.exe vom RM2k3 1.08 anwenden. Ursprünglich für Corti.
Download: http://share.cherrytree.at/showfile-2709/2k3rowmanipulatorforbaep.ips
Verwendung: Der Patch wird aktiv, wenn die BetterAEP-Variable (normalerweise #3350) auf 0 gesetzt ist und der "End Event Processing"-Befehl aufgerufen wurde.
Ist die Variable #3370 auf 0 gesetzt, passiert nichts - es wird wirklich "End Event Processing" ausgeführt.
Um die Kampfreihe zu lesen, muss folgendermaßen vorgegangen werden:
1. BetterAEP-Variable (normalerweise #3350) auf 0 setzen
2. Variable #3370 auf die Heldenposition in der Partie setzen (WICHTIG: nicht die Helden-ID aus der Datenbank! Es geht um die Reihenfolge. 1 = erster Held der Party, 2 = zweiter Held der Party, etc.)
3. Variable #3371 auf 0 setzen
4. End Event Processing ausführen
Danach hat die Variable #3371 einen der folgenden Werte:
1 ... Held ist in Front-Reihe
2 ... Held ist in Back-Reihe
-1 ... Held existiert nicht
Um die Kampfreihe zu ändern, wird genau gleich vorgegangen, allerdings wird in Schritt 3 die Variable #3371 nicht auf 0, sondern auf 1 (Front-Reihe) oder 2 (Back-Reihe) gesetzt. Bitte keine anderen Werte, ich weiß nicht, wie der Maker darauf reagiert. Sollte der Held nicht existieren, setzt der Patch die Variable #3371 wiederum auf -1.
mfG Cherry
Rorschach
24.04.2011, 16:07
Ist es möglich, dass man den Pan Screen Befehl so ändert, dass er den Bildschirm statt um 16 nur um 1 Pixel bewegt?
Nein.
(Heißt: Nicht so "mal eben". Und für nicht-mal-eben-Sachen hab ich keine Zeit, sorry.)
Mit diesem Patch für RM2k3 1.08 ist die Position des Messagefensters im RM2k3-Kampf nicht mehr fix ganz oben am Bildschirm, sondern lässt sich (wie auf der Map) durch die Einstellung bei "Message Display Options" festlegen (Top/Center/Bottom). Dabei wird die "Prevent hero from being overlapped"-Einstellung natürlich ignoriert (ergäbe sonst nicht viel Sinn).
IPS-Patch für RM2k3 1.08: http://share.cherrytree.at/showfile-2702/2k3movebattlemessagewindow.ips
Bereits gepatchte RPG_RT.exe: http://share.cherrytree.at/showfile-2703/rpg_rt2.exe
mfG Cherry
R0tbarsch
25.04.2011, 16:13
Meinst du Battlemessages oder welche Messages meinst du? Kann dir grad nicht wirklich folgen, normale "Show Message" Ausgaben kann ich doch bewegen wie ich lustig bin?
Im Kampf nicht. Da sind die Show-Message-Ausgaben immer oben.
Engel der Furcht
27.04.2011, 12:25
Hallo Cherry!
Im 2k3 gibt es die Möglichkeit Projektile bei Waffen zu erstellen:
8216
Wäre es möglich,das auch für Skills zu machen?
Wäre es möglich,das auch für Skills zu machen?
Kann man imo alles in Form der BA vortäuschen. Ausserdem sieht die Projektilanimation aus dem Waffensetting eh schrecklich krüppelig aus. Nicht mal die Standardmakeritems nutzen die Einstellung da.
Corti hat Recht.
Im Übrigen wäre mir das zu kompliziert.
Engel der Furcht
27.04.2011, 20:09
Kann man imo alles in Form der BA vortäuschen. Ausserdem sieht die Projektilanimation aus dem Waffensetting eh schrecklich krüppelig aus. Nicht mal die Standardmakeritems nutzen die Einstellung da.
So schlimm sieht das ganze mMn nicht aus
für Pfeil und Bogen und 'nem Bumerang reicht es allemal
Corti hat Recht.
Im Übrigen wäre mir das zu kompliziert.
Fragen schadet nicht,oder?
goldenroy
28.04.2011, 10:52
Heyho, ich habe ein kleines Problem...
Ich möchte im 2k3 ein Picture mit der Rotate-Funktion drehen lassen, allerdings ist die Stufe 1 noch viel zu schnell für meine Zwecke. Kann man das irgendwie noch weiter runterschrauben oder anderweitig verlangsamen?
Das Bild vergrößern kannste versuchen.
goldenroy
28.04.2011, 11:53
Mhm, also wenn ich es als Grafik um die Hälfte verkleinere und dann mit 200 Magnification anzeige, ist es genau das gleiche in schlechterer Qualität.
Wenn ich das normale nehme und in 200 Magnification anzeige, ist es größer aber immernoch zu schnell. Außerdem wäre es etwas unvorteilhaft, wenn das Bild groß ist :\
Kannst es ja außerhalb des Makers drehen und dann mit Show Picture drehen lassen...viel Aufwand. :0
Mit dem PowerMode 2003 kann man Pictures um ne bestimmte Gradanzahl drehen lassen. Mit Waits zwischen MovePicture könnte das evtl. auch klappen.
Ich weiß es allerdings nicht, da ich mich noch nie mit dem Ding auseinandergesetzt habe.
Mhm, also wenn ich es als Grafik um die Hälfte verkleinere und dann mit 200 Magnification anzeige, ist es genau das gleiche in schlechterer Qualität.
Wenn ich das normale nehme und in 200 Magnification anzeige, ist es größer aber immernoch zu schnell. Außerdem wäre es etwas unvorteilhaft, wenn das Bild groß ist :\
ne du sollst das bild vergößern und mit 50% anzeigen lassen ;)
Das bringt leider auch nix. :\
bei mir schon irgendwie...
bzw könnt ihr auch einfach das Bild größer machen, aber den inhalt klein lassen, also ihr habt zb ein Objekt im Bild und machtdas Bild größer, aber das Objekt bleibt auf der gleichen Größe.
goldenroy
28.04.2011, 17:45
bzw könnt ihr auch einfach das Bild größer machen, aber den inhalt klein lassen, also ihr habt zb ein Objekt im Bild und machtdas Bild größer, aber das Objekt bleibt auf der gleichen Größe.
mhm, klappt irgendwie auch nicht...
Ich hab das Bild auf die größtmögliche importierbare Größe (640x480) gebracht und das zu bewegene Objekt einfach in die Mitte..und es bewegt sich trotzdem noch gleich schnell..
@R.D. Wie klappt das bei dir? Das ergibt doch eigentlich gar keinen Sinn? :0 Die Winkelgeschwindigkeit wird doch von der Größe des Bildes gar nicht beeinflusst...
Sehr richtig.
Das Phänomen von R.D. kommt daher, dass die benötigte Rechenleistung rasant mit der Größe des Bildes steigt. Dass es bei R.D. bei größeren Bildern langsamer ist, kommt also nur daher, dass sein PC es nicht mehr packt^^
Darauf sollte man sich also nicht verlassen.
Engel der Furcht
01.05.2011, 11:59
@Cherry:
Du hast ja in dem Power 2k3 oder wie das Ding heißt eingebaut,dass man den Row-Befehl durch einen Switch ersetzen kann - Gibt's das auch als Stand-Alone-Paket ohne Better-AEP oder CTA-Kampfsystem?
Wer weiß, vielleicht kanns wer gebrauchen :)
Ein Feature der No-ATB-Demo bzw. des Revolution Patch hier als Extrapatch:
http://share.cherrytree.at/showfile-2385/rpg_rt_switchmenuitem.exe
Dies ist eine RPG_RT.exe für RM2k3 1.08, die den Menübefehl Active/Wait verändert. Er schaltet nun nicht mehr den ATB-Modus, sondern den Switch 3361 ein und aus. Ist Switch 3362 an, wird außerdem das Menü beim Umschalten verlassen, wodurch der Menüpunkt z.B. für ein Questmenü o.ä. verwendet werden kann.
Bitte sehr: http://share.cherrytree.at/showfile-2404/switchmenuitem.hpa
:)
Das war aber nicht Row, sondern Active/Wait.
Engel der Furcht
01.05.2011, 12:53
Vielen Dank!:p
Sehr richtig.
Das Phänomen von R.D. kommt daher, dass die benötigte Rechenleistung rasant mit der Größe des Bildes steigt. Dass es bei R.D. bei größeren Bildern langsamer ist, kommt also nur daher, dass sein PC es nicht mehr packt^^
Darauf sollte man sich also nicht verlassen.
Nein eigentlich schafft mein 4 Threader das ganz gut. Fragt einfach die Leute die Mr. Hat II schon gesehen haben, da hab ich das genutzt... bei der Weltkarte um genau zu sein.
Oo Mach mal ein Beispiel mit zwei Bildern und lad's hoch. Würde mich dann doch interessieren.
Nein eigentlich schafft mein 4 Threader das ganz gut. Fragt einfach die Leute die Mr. Hat II schon gesehen haben, da hab ich das genutzt... bei der Weltkarte um genau zu sein.
Äh, ja, aber der Maker ist da etwas komisch drauf was Bilderdrehen betrifft. Ich kenn eigentlich keinen wo es nicht irgendwann beginnt zu ruckeln, wenn man extrem große Bilder nimmt.
Vllt nächste Woche, wenn mich einer noch mal dran erinnert (Laptop kaputt). Derweil könnt ihr ja ganz dreißt die einzelen Zeilen des Bilder schon "vor erschieben" xD.
Vllt klappt es bei mir auch einfach, weil ich schon so ein geschwungenes Bild nehmen, und das in ein größeres leere Bild packe, daruch sind die Austretungen außen natürlich gleich stark, man sieht sie nur nicht, das was weiter innen ist, beweg sich weniger usw.
@Cherry
ich hab nie gesagt, man soll ein riesieges Bild nehmen, weiß gar nicht wie ihr darauf kommt. Und ich denke es geht um das waven? das drehen wird nicht langsamer gehen is schon klar...
goldenroy
02.05.2011, 19:23
@R.D.:
Oh, das ist mein Fehler, ich hatte "mit der Waver-Funktion drehen" geschrieben, meinte aber "mit der Rotate-Funktion drehen" x_X
Sorry für die Missverständnisse.
Rorschach
13.05.2011, 21:21
Habe mich heute ein wenig mit dem PowerPatchCompact befasst und dazu ein par Fragen.
Ist es möglich, die PauseGame Funktion mit der selben Taste aufzurufen, mit der die Pause wieder beendet werden soll?
Ich krieg es hin, die Pause mit der P-Taste einzuleiten, aber da die Pause mit der selben taste beendet werden soll, dauert sie nur eine kurze Zeit an. Das PPC Programm registriert den ersten Tastendruck zu früh. Irgendwie.
Und ist es möglich, die Werte einzelner Variablen in eine Datei auszulagern, und sie wieder ins Spiel einzulesen?
Für eine eigenes Save/Load Menü würde ich gerne neben dem Speicherdatum z.b. die Map ID des Helden anzeigen, oder seine aktuellen HP. Geht das?
Ach so, etwas, das zum Thema passt:
Ist ein Programm möglich, dass die Screenshotdatei Template.png in den Panorama Ordner verschiebt und sie dabei umbenennt?
MagicMaker
13.05.2011, 22:05
Ist es möglich, die PauseGame Funktion mit der selben Taste aufzurufen, mit der die Pause wieder beendet werden soll?
Ich krieg es hin, die Pause mit der P-Taste einzuleiten, aber da die Pause mit der selben taste beendet werden soll, dauert sie nur eine kurze Zeit an. Das PPC Programm registriert den ersten Tastendruck zu früh. Irgendwie.
Also reagiert es gleich sofort wieder ja? Gibts bei InelukiTP nicht eine Möglichkeit, die gespeicherten
eingegebenen Tasten zu töten? Jedenfalls würde ich nach Pausenbeginn und Ende eine Ruhezeit
setzen in der auf die Taste nicht geachtet wird, um dem ganzen noch etwas sicherer vorzubeugen.
Und ist es möglich, die Werte einzelner Variablen in eine Datei auszulagern, und sie wieder ins Spiel einzulesen?
Für eine eigenes Save/Load Menü würde ich gerne neben dem Speicherdatum z.b. die Map ID des Helden anzeigen, oder seine aktuellen HP. Geht das?
Ich mach das mit Destiny (http://bananen-joe.de/DestinyDLL/).
Ist ein Programm möglich, dass die Screenshotdatei Template.png in den Panorama Ordner verschiebt und sie dabei umbenennt?
Ich glaube sowas wurde schonmal erstellt, aber wie hiess das doch gleich...
Im Thread wo diese lange Toolliste ist sollte es jedenfalls auftauchen, glaube ich.
Habe mich heute ein wenig mit dem PowerPatchCompact befasst und dazu ein par Fragen.
Ist es möglich, die PauseGame Funktion mit der selben Taste aufzurufen, mit der die Pause wieder beendet werden soll?
Ich krieg es hin, die Pause mit der P-Taste einzuleiten, aber da die Pause mit der selben taste beendet werden soll, dauert sie nur eine kurze Zeit an. Das PPC Programm registriert den ersten Tastendruck zu früh. Irgendwie.
Wo du Recht hast, hast du Recht. Irgendwie doof, das geb ich zu... Allerdings hab ich jetzt keine Zeit, da rumzubasteln.
EDIT: Ich hab jetzt aber eine Idee: Du lässt kurz warten, bevor du PAUSEGAME aufrufst - und zwar nicht mit "<> Wait", weil da ja das Spiel weiterläuft, sondern mit einem VBScript.
Dazu erstellst du eine Datei namens "wait.vbs" im Projektordner und schreibst folgendes rein:
WScript.Sleep WScript.Arguments(0)
Damit hast du ein Skript erstellt, was eine gewisse Anzahl Millisekunden wartet. Du kannst das ganze dann so verwenden:
[execute]
Action=ExecProgram
Command=wscript.exe wait.vbs 1000
Wait=True
Next=Pause
[Pause]
Action=ExecProgram
Command=ppcomp.exe PAUSEGAME 1 80
Das wartet dann 1000ms, also eine Sekunde, und ruft dann erst PAUSEGAME auf (statt "1 80" schreibst du halt das hin, was du da willst).
Und ist es möglich, die Werte einzelner Variablen in eine Datei auszulagern, und sie wieder ins Spiel einzulesen?
Für eine eigenes Save/Load Menü würde ich gerne neben dem Speicherdatum z.b. die Map ID des Helden anzeigen, oder seine aktuellen HP. Geht das?
Hm, das geht mit dem "großen" Power Patch, mit Destiny afaik auch. Ich hab sogar hier eine Version vom PPC rumliegen, in der das geht, die war zwar für jemand bestimmten, aber das ist ja egal:
http://share.cherrytree.at/showfile-2786/ppcomp.exe
Diese Version hat noch ein paar andere Zusatzfunktionen - da R.D., so wie ich das verstanden habe, sein Game nicht mehr am Maker fortführt, kann ich es ja jetzt veröffentlichen:
PPCOMP.EXE R.D.-SPECIAL switch1 switch2
Das ermöglicht erweitertes Message-Skipping. Wird dieser Befehl aktiviert, wartet der PPC, bis eine der Bestätigungstasten (Enter, Space, Z oder eine mit CHANGEFUNCTIONKEYS zugeordnete) gedrückt wurde oder der Switch mit der ID switch2 ON gesetzt wurde, und schließt dann die aktuell gezeigte Message, auch wenn diese noch gar nicht vollständig "eingelaufen" ist. Danach wird der Switch mit der ID switch1 ON gesetzt.
PPCOMP.EXE R.D.-SPECIAL-FINDWINDOW switch fensterklasse
Ist ein Fenster mit der Klasse fensterklasse geöffnet, wird der Switch mit der ID switch ON gesetzt, ansonsten OFF. Enthält der Klassenname Leerzeichen, müssen stattdessen "$"-Zeichen verwendet werden.
Beispiele für Klassennamen:
MozillaUIWindowClass - Firefox oder Thunderbird
Winamp$v1.x - WinAmp
CabitenWClass - Explorer
IrfanView - IrfanView
TFormLcfMain - RM2k(3)
Mit diesem Programm (http://share.cherrytree.at/showfile-2787/clname.exe) kriegt man den Klassennamen eines Fenster raus: clname.exe starten, Fenster anklicken.
PPCOMP.EXE R.D.-SPECIAL-TESTPLAY switch
Setzt den Switch mit der ID switch ON, wenn das Spiel ein Testplay ist, bzw. OFF, wenn es ein normales Spiel ist.
PPCOMP.EXE R.D.-SPECIAL-WALLPAPER wallpaper
Ändert das Desktophintergrundbild. Das Bild wallpaper muss im BMP-Format sein und im Ordner "Picture" liegen, ".bmp" darf nicht mitangegeben werden. "PPCOMP.EXE R.D.-SPECIAL-WALLPAPER blub" würde z.B. "Picture\blub.bmp" als Wallpaper setzen.
PPCOMP.EXE R.D.-SPECIAL-WINDOWED switch
Setzt den Switch mit der ID switch ON, wenn das Spiel im Fenstermodus läuft, bzw. OFF wenn es im Vollbild läuft.
PPCOMP.EXE R.D.-SPECIAL-SAVEVARS id erstevariable anzahl
Speichert anzahl Variablen ab der Variable mit ID erstevariable ein eine Datei namens "miscid.wav" im Sound-Ordner (das war, weil da Highscores gespeichert wurden und man nicht sofort checken sollte wo die gespeichert werden).
Beispiel: "PPCOMP.EXE R.D.-SPECIAL-SAVEVARS 101 5 99" würde die Variablen 101 bis 105 in die Datei "Sound\misc99.wav" speichern. "PPCOMP.EXE R.D.-SPECIAL-SAVEVARS 13 10 abc" würde die Variablen 13 bis 22 in die Datei "Sound\miscabc.wav" speichern.
PPCOMP.EXE R.D.-SPECIAL-LOADVARS id erstevariable anzahl
Funktioniert genau wie R.D.-SPECIAL-SAVEVARS, aber lädt die Variablen aus der Datei anstatt sie zu speichern. Dabei kann man auch an eine andere Stelle laden als gespeichert wurde, und man kann auch weniger oder mehr laden als gespeichert wurde. Lädt man mehr als gespeichert wurde, werden die "überzähligen" Variablen auf 0 gesetzt.
Beispiel:
1. "PPCOMP.EXE R.D.-SPECIAL-SAVEVARS 21 50 1" - speichert die Variablen 21 bis 70 in die Datei "Sound\misc1.wav".
2. "PPCOMP.EXE R.D.-SPECIAL-LOADVARS 101 3 1" - lädt die Variablen 101 bis 103 aus der Datei "Sound\misc1.wav" - dabei kriegt die Variable 101 den Wert den vorher Variable 21 hatte, etc.
PPCOMP.EXE DEBUG
Erweitertes Debugfenster mit Watches, d.h. man kann Werte (Variablen, Heldenkoordinaten, gespielte Musik, etc.) überwachen und ändern, während das Spiel läuft.
PPCOMP.EXE SSS(parameter)
Zur Steuerung des Second Sound System, falls das jemand verwendet: Ruft SSS_SEND.EXE mit den angegebenen parametern auf, wobei hier die Syntax wie bei SETVAR funktioniert - man kann also z.B. Variablenwerte mit einbeziehen, etwa PPCOMP.EXE SSS("PLAY " .. v(1) .. " " .. v(2) .. " " .. v(3))
Ach so, etwas, das zum Thema passt:
Ist ein Programm möglich, dass die Screenshotdatei Template.png in den Panorama Ordner verschiebt und sie dabei umbenennt?
Ich würde das so lösen: Im Spielverzeichnis eine Datei mit dem Namen "move.vbs" erstellen und folgendes reinschreiben:
CreateObject("Scripting.FileSystemObject").MoveFile WScript.Arguments(0), WScript.Arguments(1)
Jetzt hast du ein Skript was beliebige Dateien verschiebt/umbenennt. Das kannst du dann vom Tastenpatch aus folgendermaßen aufrufen:
[execute]
Action=ExecProgram
Command=wscript.exe move.vbs QUELLE ZIEL
Wait=True
Zum Verschieben von Picture\template.png nach Panorama\test.png wäre die Command-Zeile also "Command=wscript.exe move.vbs Picture\template.png Panorama\test.png".
=======================================================
Was ganz anderes:
Game Over Teleport Patch für RM2k v1.07
Dieser Patch ersetzt den Game-Over-Bildschirm durch einen Teleport.
Verwendet lips.exe, um gotpatch.ips auf eure RPG_RT.exe anzuwenden (bitte NUR auf RPG_RT-Version 1.07 anwenden!).
Danach zieht die gepatchte RPG_RT.exe auf gothelper.exe, um die Teleportposition zu setzen und einzustellen, ob der Held nach dem Teleport sichtbar sein soll oder nicht.
Download: http://share.cherrytree.at/showfile-2790/gotpatch.rar
Wäre es möglichen einen Effekt zu machen, wo der Bildschirm Risse bekommt und dann zerspringt?
Wäre es möglichen einen Effekt zu machen, wo der Bildschirm Risse bekommt und dann zerspringt?
Soll das zu jedem möglichen Spielzeitpunkt möglich sein oder nur zB in ner Cutscene?
Ich möchte sowas als Kampfübergang benutzen, bei eizelnen Szenen könnte ich ja Pictures verwenden
Engel der Furcht
19.05.2011, 18:57
Oh ja,so'n Effekt wie bei FFX wär nicht schlecht^^
€dit: Wär cool wenn man in bestimmten Bereichen die Pixel speichern kann und diese Teile dann als separate Pictures speichern kann^^
Najaaa. Man könnte ein Programm machen, was per Tastenpatch aufgerufen wird, was einen Screenshot macht und daraus ... sagen wir mal... 15 Pictures macht mit der Zerspring-Ani. Die zeigt man dann im Maker an.
Rosa Canina
21.05.2011, 22:43
Ay, das wäre mal echt episch, Cherry ^^
...das mach ICH aber nicht. Alleine schon weil ich nichtmal den genauen Ablauf der Ani weiß.
Frag irgendeinen Programmierer, der Zeit und Muße hat :)
Ihr stellt euch das aber auch einfach vor xD Als wenn Cherry mal eben so ein Alogorithmus schreibt der das Bild in passende kleine Teile packt. Das is nicht so einfach wie ihr denkt. Ansonsten isses wie cherry sagt, einfach ne exe schreiben die das macht und per Tastenpatch aufrufen.
K.a. was ihr euch vorstellt, aber wenns so ein spaciger Effekt werden soll in dem die Teile des vorherigen Screenshots als Scherben in den Raum zerscheppern braucht man dafür irgendwas, dass die einzelteile des Screenshots verzerrt, quasi ne Art Renderer, k.a. obs Grafikbibliotheken gibt die das machen können.
Der Gedanke bei jedem Kampf im Spiel kurz vorher einen Screenshot extern durch den Renderer zu jagen ist allerdings schon grenzabsurd.
Rosa Canina
22.05.2011, 15:46
Episch wäre es dennoch, wenn auch abwegig XD Aber ich dachte mir schon, dass eine solche Antwort kommt. Aber die Frage musste ja irgendwann mal auftauchen,
in den meisten neueren RPGs (sprich: Ab 3D) zerspringt der Bildschirm in Scherben. Mal mehr, mal weniger aufwendig.
Das einzige, was ich persönlich als machbar halten WÜRDE (aber so viel versteh ich da nicht von) sind 2D-Scherben. Also quasi dreieckige Bildteile, die man dann
wegrotiert oder so. 3D war eh abwegig ^^°
Kann man dann nicht einfach sagen "Böööh wie uninnovativ" und das Thema vergessen?
2D macht es auch nicht einfacher. Das wird so oder auch nie so schnell laufen. Für Grafikprogrammierer ist das sicher ganz interessant (ich mach das grad auch, aber eher Umgangm it FBO etc).
Vyzzuvazzadth
23.05.2011, 10:35
Mit etwas tricksen sollte man einen Scherbeneffekt ausschliesslich mit den Grundfunktionalitäten des Makers hinkriegen. Auf den einzelnen Scherben müssen ja nicht Teile des momenanen Mapausschnitts zu sehen sein. Ich denke da an den Gameover-Screen von AVoR. Da reflektieren die Scherben lediglich etwas Licht. Für die Battletransition müsste dann einfach ein Schwarzer Hintergrund, oder bereits der Battlescreen zu sehen sein.
Ich stelle mir das so vor:
Glassprunggrafik über der Map anzeigen, so dass diese noch sichtbar ist > Alles mit Schwarz überdecken > rotierende Scherbenpictures (Weisslich glänzend, Lichtreflektierend) anzeigen und aus dem Bildschirm fliegen lassen > Zum Battlescreen wechseln
ODER
Glassprunggrafik anzeigen > Teleport zum Battlescreen > Sofort Glasscherbenanimation anzeigen
Alternativ kann man die Scherben auch mit mehreren Frames (Vollbild-Einzelbilder) dartellen, so wie im AVoR Gameover-Screen.
Klar wäre das Zerspringen eines Screenshots in einzelne Scherben viel cooler, aber meiner Meinung nach etwas over the Top ^^
Aber wer will, kann sich ja 'ne Exe schreiben :)
Rosa Canina
23.05.2011, 13:49
In AVoR sind es aber auch vorgefertigte Bilder, Vyzz. Ein solcher Kamüpfübergang wäre natürlich nur überall auf der Map cool ;)
Vyzzuvazzadth
23.05.2011, 13:56
Ich spreche ja auch von vorgefertigten Bilder. Tricksen eben ;)
Gibt es schon einen Patch, der beim RPG-Maker 2003 im Standardmenü die Zahlen von Level, HP, MP usw. ausblendet? Oder kann man das ohne Patch irgendwie lösen? Auch für die Savegames wäre so etwas ziemlich nützlich. Für den 2k gibt es das ja schon, oder?
LG Mike
Kann ich machen. Version 1.08? Was genau soll alles ausgeblendet werden? Vielleicht das ganze Statusfenster im Menü?
Hey, super =) Ja, die Version ist 1.08 und im Menü soll praktisch nur der Name des Helden stehen bleiben und das Faceset.
LG Mike
Nur 1 Held? Dann mach ich das Fenster nämlich kleiner.
Soll ich das dann auch irgendwie verschieben?
Also z.B. so?
http://share.cherrytree.at/showfile-2849/menue.png
Oder willst du noch einen Menüpunkt, der z.B. einen Switch anmacht? Sodass du ihn selber belegen kannst?
Oder vielleicht noch die Map im Hintergrund, so wie hier?
http://share.cherrytree.at/showfile-1913/screenshot_293_no_atb_test.png
...sag mir einfach genau, wie du dein Menü willst :)
Es können auch vier Helden in der Party sein.
So sieht es derzeit aus:
http://npshare.de/files/10cafe1a/derzeitmenue.PNG
Das Geld-Fenster hab' ich schon mit einem Patch von dir entfernt. Außerdem verwende ich noch den Unlock-Pic-Patch und deine RPG_RT für ein Animiertes Titelbild.
Kannst du es so machen?
http://npshare.de/files/fe5a7b75/somenue.PNG
Also dass die Namen mehr mittig sind und das transparente Fenster ist auch toll. Das wäre sehr gut =)
Vielleicht so etwa?
http://share.cherrytree.at/showfile-2850/menue2.png
...finde ich irgendwie optisch ansprechender, weil dann nicht so viel Freiraum im Statusfenster ist.
Wegen transparentem Fenster:
- Animierte Tiles laufen
- Wetteranimationen laufen
- Picturebewegungen sind ANGEHALTEN
- Events sind ANGEHALTEN
- Events laufen auf der Stelle (sofern sie überhaupt laufen) ODER wahlweise: Events bewegen sich, wenn sie eine Route haben, weiter --> wie möchtest du das?
Und brauchst du jetzt so einen Menüpunkt der einen Switch aktiviert?
Ich frag dich diese ganzen Sachen und biete es dir an, weil ich alles dafür schon rumliegen habe, nur noch keine Dokumentation geschrieben. In 5 Minuten mach ich aber daraus eine Version nach speziellen Wünschen ^^
Was ich auch noch anbieten könnte: Ein Zusatzfenster im Menü, was eine Info anzeigt (z.B. Ort, Anzahl Schritte oder sonstwas), die es aus einem Heldennamen und/oder einer Variable bezieht.
--- im Save-/Loadmenü lasse ich einfach nur den Namen anzeigen (und das Face).
EDIT: Andere Frage - wäre dir nicht vielleicht sogar mehr geholfen, wenn ich das ganze Menü direkt nur durch das Itemmenü ersetzen würde? Dann kannst du einfach dein eigenes Menü machen und bei Bedarf das Itemmenü aufrufen...
Ich frag dich diese ganzen Sachen und biete es dir an, weil ich alles dafür schon rumliegen habe, nur noch keine Dokumentation geschrieben. In 5 Minuten mach ich aber daraus eine Version nach speziellen Wünschen ^^
Kannst du die Fenster im Kampfsystem genau so umgestalten?
Wow, Cherry ^^ So wär's wirklich toll. Genau wie du beschrieben hast im Bild. Also die Fenster so angeordnet.
Wegen den Events: Am besten wäre es, wenn alle Events komplett angehalten wären.
Die Animierten Tiles lassen sich also nicht stoppen? Es wäre nämlich toll, wenn die komplette "Welt" praktisch stehen bleibt ohne eine Bewegung zu machen.
Einen Menüpunkt für einen Switch brauche ich persönlich nicht, außer es funktioniert auch umgekehrt, dass man einen neuen Menüpunkt (zB. "Ausrüstung") durch einen Switch im Menü zusätzlich hat. Auch kein Zusatzfenster ^^
Funktioniert es auch, dass man den ersten Held in der Party irgendwie besonders hervorhebt, zB. durch ein eigenes kleines Fenster oder sonst irgend etwas?
Wie sieht's mit bewegenden Panoramen aus?
Edit:
Wegen dem Itemmenü: Nein, das ist nicht nötig ^^ Gegenstände, Speichern und Beenden ist im Standardmenü enthalten, mehr brauche ich im Moment nicht für DIESES Projekt. Für ein anderes Projekt wäre das natürlich perfekt.
Edit:
Für das Projekt im Moment (10-Words-Contest): Das Menü wie du es gezeigt hast (Gegenstände, Speichern, Beenden oben, Faces + Namen darunter). Die beiden Boxen selbst, falls das geht, transparent, der restliche Hintergrund dafür komplett durchsichtig. Wenn möglich: Den ersten Helden IRGENDWIE (also wirklich total egal wie es aussieht) highlighten (sei es durch eigene Box etc.). Dann soll entweder alles KOMPLETT stehen (also Pictures, Panoramen, Chars, etc.) oder eben was sonst möglich ist. Wenn sich IRGENDETWAS bewegt können die Chars auf der Map einer bestimmten Route folgen, zB. Random-Movement etc. Und wenn möglich: Durch bestimmte Switches bestimmte Menüpunkte aktivieren und deaktivieren: Also zB. einen Ausrüstungsmenüpunkt hinzufügen oder wenn man auf einer Map nicht speichern darf, dass zB. der ganze Menüpunkt aus dem Menü verschwindet.
Für DIEBE wäre toll: Durch bestimmte Kommandos nur einen bestimmten Teil des Menüs aufrufen, zB. GEGENSTÄNDE oder AUSRÜSTUNG usw.
LG Mike
Hier dein Patch (zum Anwenden z.B. Lunar IPS verwenden): http://share.cherrytree.at/showfile-2852/rpg_rt_mike.ips
Ich hab es jetzt so:
http://share.cherrytree.at/showfile-2854/screenshot_416_no_atb_test.png
http://share.cherrytree.at/showfile-2853/screenshot_417_.png
Im Menü bewegt sich nichts außer den animierten Tiles - die hab ich leider nicht stillgekriegt.
Das Highlight des ersten Helden ist übrigens Schriftfarbe 8.
Damit die Fenster transparent sind, muss übrigens in der Database bei "Battle Layout" ein Haken bei "Transparent" sein, und das "Traditional"-Layout darf nicht verwendet werden.
Mit Switch ein Menüitem dazu/weg krieg ich noch nicht hin.
Ebensowenig geht das für Diebe im Augenblick. Ich hätte dir nur das ganze Menü durch ein Untermenü ersetzen können, aber noch nicht einzeln wählbar.
==========
@Corti: Im Prinzip schon. Was genau brauchst du?
Das ist genial =D Vielen Dank! Ist es, weil's mir gerade einfällt, auch möglich zu verhindern, dass der Bildschirm bei Druck auf ESC kurz schwarz wird und sich einfach nur die Fenster öffnen?
LG Mike
@Corti: Im Prinzip schon. Was genau brauchst du?
Es gibt da einige Sachen, die unnötig unschön sind.
zB das Kampfbefehlskommandofenster. Hat man 4 verschiedene Befehle, ( zB Angriff, Magie, Items, Verteidigen ) werden 3 davon aufgelistet und die 4. Zeile enthält einen Pfeil nach unten um das 4. anzuwählen anstatt gleich das 4. zu zeigen.
Könnte man da nicht die Anzahl der Zeilen hochsetzen, so dass 5 (oder mehr) Zeilen da sind? Dann würde hoffentlich unten eine Zeile leer sein anstatt diesem unnötigen Scrollpfeil. Ausserdem ist das Fenster in der Breite so klein, dass nur kurze Befehle gehen, nicht mal das Wort "Verteidigen" kann man ausschreiben.
Die Fähigkeitenauswahl hat ein ähnliches Problem. Ab 7 Fähigkeiten geht das scrollen los, bei 6 ist noch alles super. Hier wärs cool, wenn das Fenster größer wäre, also mit mehr Reihen.
Ich hätte gern 10 Fähigkeiten im selben Fenster, quasi müssten das 6 statt 4 Reihen werden.
Das ist genial =D Vielen Dank! Ist es, weil's mir gerade einfällt, auch möglich zu verhindern, dass der Bildschirm bei Druck auf ESC kurz schwarz wird und sich einfach nur die Fenster öffnen?
LG Mike
Stört mich persönlich auch, wäre jetzt aber etwas umständlich zu ändern (aus Gründen, die jetzt zu kompliziert zum Erklären sind)... Ist das sehr schlimm? Wenn ja, mach ich es, kann aber etwas dauern.
Es gibt da einige Sachen, die unnötig unschön sind.
zB das Kampfbefehlskommandofenster. Hat man 4 verschiedene Befehle, ( zB Angriff, Magie, Items, Verteidigen ) werden 3 davon aufgelistet und die 4. Zeile enthält einen Pfeil nach unten um das 4. anzuwählen anstatt gleich das 4. zu zeigen.
Könnte man da nicht die Anzahl der Zeilen hochsetzen, so dass 5 (oder mehr) Zeilen da sind? Dann würde hoffentlich unten eine Zeile leer sein anstatt diesem unnötigen Scrollpfeil. Ausserdem ist das Fenster in der Breite so klein, dass nur kurze Befehle gehen, nicht mal das Wort "Verteidigen" kann man ausschreiben.
Die Fähigkeitenauswahl hat ein ähnliches Problem. Ab 7 Fähigkeiten geht das scrollen los, bei 6 ist noch alles super. Hier wärs cool, wenn das Fenster größer wäre, also mit mehr Reihen.
Ich hätte gern 10 Fähigkeiten im selben Fenster, quasi müssten das 6 statt 4 Reihen werden.
Die Leerzeile ganz unten liegt daran, dass du in der Database unter "Battle Layout" das "Small Window" statt dem "Large Window" aktiviert hast.
Fenstergrößen lassen sich aber ganz einfach ändern. Wie hättest du es denn gerne? 1 Reihe mehr bei Fähigkeiten (und Items, nehme ich an - 1 Reihe und nicht 2 deswegen, weil ja die Leerzeile verschwindet wenn du es auf Large Window stellst), und wie breit soll das Aktionsauswahlfenster sein?
Ach, und welches Layout? Gauge?
Stört mich persönlich auch, wäre jetzt aber etwas umständlich zu ändern (aus Gründen, die jetzt zu kompliziert zum Erklären sind)... Ist das sehr schlimm? Wenn ja, mach ich es, kann aber etwas dauern.Wenn du selbst es auch willst, weil es dich stört und nicht nur machst, weil ich jetzt deswegen herummotze, dann wäre es bis zum 5.6. gut, wenn du es bis dahin schaffst, weil da Deadline beim 10-Words-Contest ist.
LG Mike
Die Leerzeile ganz unten liegt daran, dass du in der Database unter "Battle Layout" das "Small Window" statt dem "Large Window" aktiviert hast.
Im Gauge-Layout ist die Window-Einstellung ausgegraut aber wie ich grad feststelle kann man das Problem lösen
Gauge -> Alternative -> Large -> Gauge
The hidden information! -.- seriously enterbrain. Und die blöde Transparenz is auch weg, hurray ^^
Fenstergrößen lassen sich aber ganz einfach ändern. Wie hättest du es denn gerne? 1 Reihe mehr bei Fähigkeiten (und Items, nehme ich an - 1 Reihe und nicht 2 deswegen, weil ja die Leerzeile verschwindet wenn du es auf Large Window stellst),
Hrm, 1 Zeile wär gut. Wobei~ ists viel Aufwand, dass als seperate Patchdatei zu machen? Derzeit brauch ich die Zusatzreihe nämlich nicht dringend, nur für den Fall, dass ein Held mehr als 8 Skills hat wärs super.
und wie breit soll das Aktionsauswahlfenster sein?
Grad sinds 76, ~ statt dessen 100 fänd ich gut.
Ach, und welches Layout? Gauge?
Ya Gauge. Die RPG_RT ist eine 1.08 BetterAEP.
R0tbarsch
27.05.2011, 12:20
omfg. Ich will nen Menü Editor ham, der das rumschieben und konfigurieren erlaubt und dann ne IPS ausspuckt :D
Wobei das sicher au Wunschtraum bleiben wird...^^;
Auge des Sterns
27.05.2011, 13:51
Dieser Menüpatch sieht schonmal ganz gut aus. Wäre es auch möglich, dass sich die Fenster für die Statusanzeige und die einzelnen Untermenüs des Systems austauschen? Das wäre deswegen interessant, weil dass Menü dann im wesentlichen so ähnlich wie das von Final Fantasy 6 auf dem GBA aussieht.
Edit: Nein, ich bin kein krankhafter Final Fantasy Fan, aber ich finde das Menüdesign so viel besser.
@Corti:
Offset 0x944C5 (1 Byte, signed): Auswahlmenübreite. Von 0x4C (76) zu 0x64 (100) ändern - oder was immer du willst.
Offset 0xC7CCB (1 Byte, signed): Itemmenühöhe. Von 0x50 (4 Zeilen) zu 0x60 (5 Zeilen) ändern - oder was immer du willst.
Offset 0xC8431 (1 Byte, signed): Skillmenühöhe. Von 0x50 (4 Zeilen) zu 0x60 (5 Zeilen) ändern - oder was immer du willst.
omfg. Ich will nen Menü Editor ham, der das rumschieben und konfigurieren erlaubt und dann ne IPS ausspuckt :D
Wobei das sicher au Wunschtraum bleiben wird...^^;
Wär sogar machbar ^^
Wenn auch etwas zeitintensiv.
Dieser Menüpatch sieht schonmal ganz gut aus. Wäre es auch möglich, dass sich die Fenster für die Statusanzeige und die einzelnen Untermenüs des Systems austauschen? Das wäre deswegen interessant, weil dass Menü dann im wesentlichen so ähnlich wie das von Final Fantasy 6 auf dem GBA aussieht.
Edit: Nein, ich bin kein krankhafter Final Fantasy Fan, aber ich finde das Menüdesign so viel besser.
Für RM2k3 1.08: http://share.cherrytree.at/showfile-2863/rpg_rt_menureversed.ips
@Mike: Ich hab mir das angekuckt, und es funktioniert leider nicht so, wie ich es mir vorgestellt habe. Ich krieg das im Moment nicht hin, dass es nicht schwarz wird - das einzige was geht, ist im ganzen Spiel alle Systemüberblendungen (also alle in den Menüs) abstelle - dann erscheint alles sofort...
@Mike: Ich hab mir das angekuckt, und es funktioniert leider nicht so, wie ich es mir vorgestellt habe. Ich krieg das im Moment nicht hin, dass es nicht schwarz wird - das einzige was geht, ist im ganzen Spiel alle Systemüberblendungen (also alle in den Menüs) abstelle - dann erscheint alles sofort...Welche Menüs wären da sonst noch betroffen? ô_o mir fällt da jetzt keines ein. KS wird nicht gebraucht.
LG Mike
Ja stimmt. Das Save-/Loadmenü wäre noch betroffen. Und halt Enter Hero Name und Shop.
@Corti: Ganz vergessen: Du musst natürlich auch noch das Längenmaximum der Textbox in der Database ändern. Mit dem Ultimate ginge das mit folgender UIMod-Datei:
[FormSelBattleCMD]
OverEdit1.MaxLength=14
14 bezieht sich auf eine Breite von 100 Pixeln.
goldenroy
27.05.2011, 20:34
Ich weiß ja nicht wie du grad drauf bist und ob sich das als schwierig erweist, aber könntest du den Mike-Patch so umgestalten, das die Box für 3 Helden passt und die Werte da sind? Oder war das Mike-Exklusiv?
Ja stimmt. Das Save-/Loadmenü wäre noch betroffen. Und halt Enter Hero Name und Shop.Load wird bei deiner Form des animierten Titelbildes (das ich verwende) sowieso relativ schnell aufgerufen und Speichern wäre das kleinste Übel ^^ Enter Hero Name und Shop gibt es ebenfalls nicht. Also wenn das mit dem schwarzen Übergang also nicht zu viel Umstand macht, gäbe es für mich keinen Grund es nicht zu verwenden ;D
@goldenroy: Dein "Mike-Exklusiv"-Wort gefällt mir ;D
LG Mike
Wie jetzt genau? Versteh ich grade nicht. Wo sollen dann die Werte sein?
Ich sollte mal ein Patch-Entgelt einführen. Oder gaaanz dezent hierauf (http://cherrytree.at/donatenow) hinweisen...
goldenroy
27.05.2011, 20:39
Also einfach dieses Fenster wo die Helden + Faces sind so verkleinern, das nur 3 reinpassen.
Und die Werte unter die Namen.
@Mike: Naja, wenn du was dagegen hättest, und das würde ich verstehen, wär das Mike-Exklusiv..
@Donate: Aiaiaiai!
@Mike: Naja, wenn du was dagegen hättest, und das würde ich verstehen, wär das Mike-Exklusiv..Mir is' das sowieso egal ^^ Es ist ja von Cherry und nicht von mir ^^
@Cherry: Mehr als mit diesen Google-Werbeanzeigen würde dabei sicher herausspringen :)
LG Mike
@Mike: Da, habs hingekriegt: http://share.cherrytree.at/showfile-2867/rpg_rt_nosystemtransition.ips
Die Google-Anzeigen sind gar nimmer da, weil mich Google rausgeschmissen hat. Und zwar weil jemand mir offenbar was gutes tun wollte und ständig draufgeklickt hat.
@goldenroy: Und wie soll ich die ganzen Werte unter den Namen quetschen?
goldenroy
27.05.2011, 21:17
Öhm, die Box nach unten erweitern, nahm ich an.
Wegen drei Helden ist ja auch mehr Platz zur Verfügung..denk ich mal.
Kommt drauf an wie lang dein Menü ist...
Nein, ich hab jetzt irgendwie keine Lust dir das Menü so zu machen. Warum? Weil das nur eine optische Spielerei ist, die mir aber so viel Arbeit kostet, dass es sich nicht auszahlt, finde ich. Immerhin geht es bei dir ja nur um eine Umordnung, nicht um sowas Spezielles wie bei Mike (Sachen verstecken, ersten Helden hervorheben) - also sieht das Spiel mit dem normalen Menü nicht weniger gut aus, wenn du verstehst was ich damit sagen will.
Bei dir kommt nämlich das Problem hinzu (nehme ich an), dass ich auch die Helden-Auswahlfunktion (für Skill/Equip/Status/Row) im Statusfenster umprogrammieren muss... Mike verwendert nur Item, Save und Exit, wodurch ich das unter den Tisch fallen lassen konnte. Das macht das ganze aber sehr kompliziert.
goldenroy
27.05.2011, 21:54
Achso, ja dann.
Ich kann verstehen das du das dann nicht machen willst.
@Mike: Da, habs hingekriegt: http://share.cherrytree.at/showfile-2867/rpg_rt_nosystemtransition.ipsDas is' der Wahnsinn! Sehr gut! Jetzt fetzt alles so richtig schnell, gefällt mir wirklich sehr gut! Danke!
Die Google-Anzeigen sind gar nimmer da, weil mich Google rausgeschmissen hat. Und zwar weil jemand mir offenbar was gutes tun wollte und ständig draufgeklickt hat.Ich meinte auch nicht speziell dich, sondern allgemein diese Werbeanzeigen von Google ;D
LG Mike
Ich frag dich diese ganzen Sachen und biete es dir an, weil ich alles dafür schon rumliegen habe, nur noch keine Dokumentation geschrieben.
Wird es vielleicht irgendwann mal eine Dokumentation für die Bastelfreudigen geben?
Das ganze kommt schon noch offiziell raus, keine Sorge :)
@CallTable:
dd @CmdGetTurn ; 1
dd @CmdSetTurn ; 2
dd @CmdGetTurnUsedFlag ; 3
dd @CmdSetTurnUsedFlag ; 4
dd @CmdSetBattleLayout ; 5
dd @CmdSetWindowSize ; 6
dd @CmdSetWindowTransparency ; 7
dd @CmdGetPartyMember ; 8
dd @CmdGetATBValue ; 9
dd @CmdSetATBValue ; 10
dd @CmdGetEnemyID ; 11
dd @CmdGetFullScreenFlag ; 12
dd @CmdGetLargeWindowFlag ; 13
dd @CmdGetTotalPlayingTime ; 14
dd @CmdSetKeyAssignment ; 15
dd @CmdGetATBMode ; 16
dd @CmdSetATBMode ; 17
dd @CmdGetSkillMP ; 18
dd @CmdSkipMessage ; 19
dd @CmdGetStringLength ; 20
dd @CmdOpenCustomWindow ; 21
dd @CmdCloseCustomWindow ; 22
dd @CmdClearCustomWindow ; 23
dd @CmdIsCustomWindowOpen ; 24
dd @CmdHasCustomWindowOpeningFinished ; 25
dd @CmdSetCustomWindowMode ; 26
dd @CmdSetCustomWindowBackgroundTransparency ; 27
dd @CmdSetCustomWindowChoicesCount ; 28
dd @CmdSetCustomWindowChoicesColumns ; 29
dd @CmdSetCustomWindowChoicesPerPage ; 30
dd @CmdSetCustomWindowSelPos ; 31
dd @CmdSetCustomWindowSelSize ; 32
dd @CmdSetCustomWindowChoiceDefault ; 33
dd @CmdSetCustomWindowChoiceResultVar ; 34
dd @CmdGetCustomWindowChoice ; 35
dd @CmdGetCustomWindowScrollPos ; 36
dd @CmdSetCustomWindowChoice ; 37
dd @CmdGetEventLayer ; 38
dd @CmdSetEventLayer ; 39
dd @CmdGetBattlerPos ; 40
dd @CmdSetBattlerPos ; 41
dd @CmdDoesEventExist ; 42
dd @CmdSetEventPositionOffset ; 43
dd @CmdBetterGetEventID ; 44
dd @CmdEvalHeroName ; 45
dd @CmdCopyHeroName ; 46
dd @CmdAddCharToHeroName ; 47
dd @CmdGetCharFromHeroName ; 48
dd @CmdCatHeroNames ; 49
dd @CmdGetPicturePalette ; 50
dd @CmdSetPicturePalette ; 51
dd @CmdSquareRoot ; 52
dd @CmdSine ; 53
dd @CmdCosine ; 54
dd @CmdTangent ; 55
dd @CmdFloatAdd ; 56
dd @CmdFloatSubtract ; 57
dd @CmdFloatMultiply ; 58
dd @CmdFloatDivide ; 59
dd @CmdIsEnemyHidden ; 60
dd @CmdSetBattlerAnimation ; 61
dd @CmdShowDamage ; 62
dd @CmdGetRow ; 63
dd @CmdSetRow ; 64
Kein weiterer Kommentar.
Spekulationen erwünscht! ;)
elvissteinjr
29.05.2011, 13:21
Ein total geiles PlugIn für PowerPatch?
Die CallTable erinnert mich an DLLs.
Nö. Das ist ein Teil des Revolution Patch, an dem ich seit gestern wieder arbeite. Und jetzt gehts flott voran, weil die Motivation wieder da ist :)
Höhö.
Die CmdBetterGetEventID-Funktion ermöglicht dir zum Beispiel, ALLE Events an einer Position zu ermitteln, nicht bloß eines. Und durch CmdDoesEventExist kann man abfragen ob ein Event überhaupt existiert, wodurch man alle Events durchgehen kann ohne eine "Event does not exist"-Fehlermeldung zu bekommen.
Und vieles mehr.
Yo Bursche, kurz feedback zur Fensterbrrrrreiteee: Hurray ^_^
--- Revolution Patch News ---
Der Grundstein für Pixelmovement-Skripte ist gelegt:
Man kann Events einen "Offset" geben, der festlegt, wie viele Pixel in X- und Y-Richtung das Event grafisch von dem Tile entfernt ist, auf dem es sich logisch befindet.
Setzt man das z.B. auf (-8, 0), dann sieht es aus, als würde das Event zwischen seinem Tile und dem links daneben stehen. Die Kollision bezieht sich aber immer auf das "logische" Tile, auf dem es steht.
Auch neu: Die Geschwindigkeit von einzelnen Events kann jetzt nach Belieben festgelegt werden (in Vielfachen von 3,75 Pixel pro Sekunde - aus technischen Gründen).
Außerdem: Setzen des Drehwinkels eines Pictures ohne dass es sich dreht. :) Winkel dürfen Nachkommastellen haben. Man kann also auch etwas gaaaanz langsam drehen damit, wenn man wollte.
Nebenbei noch hübsche KS-Schmankerln wie Auslesen und Ändern von Gegner-/Helden-Positionen im Kampf, Ändern der Heldenanimation, "aufpoppen" von Schaden (mit Zahlen, aber auch mit Strings - wie "Miss!", kann aber alles mögliche sein), Spiegeln von Gegner-/Heldengrafiken, ... Damit lassen sich tollige Attacken bauen.
Im Moment wird an etwas gearbeitet, von dem ich auch immer behauptet habe, es ginge nicht: Mehrere Battle Animations auf einmal.
Jetzt noch den Wert der ATB-Leisten setzen können und alles is super =D *
*naja, an allem hängt ein Rattenschwanz an Abhängigkeiten
"aufpoppen" von Schaden (mit Zahlen, aber auch mit Strings - wie "Miss!", kann aber alles mögliche sein)
Ließe sich auch Schaden-Anzeige vermeiden, obwohl er zugefügt wird? Wäre dann praktisch, wenn man einem Gegner Animationen verpassen will. (Gegner sterben lassen und Dummy-Monster ohne Grafik auf gleicher Position beleben, Animation anzeigen, Dummymonster sterben lassen und Gegner wiederbeleben.) Denn dort wird bei jedem Wiederbeleben der Heilungswert angezeigt. Nicht sehr schön und irritierend.
Jetzt noch den Wert der ATB-Leisten setzen können und alles is super =D *
Das wäre wirklich ein Traum...
ATB-Wert setzen? Kein Problem, schon längst eingebaut (siehe Funktionsliste die ich weiter oben gepostet habe).
Zu dem Gegner-Animieren: Da hab ich jetzt eine andere Idee: Per Event Gegner unsichtbar machen und wieder anzeigen können.
Ich hab ja überhaupt was anderes im Kopf, aber da bin ich mir noch nicht sicher ob und wie ich das hinkriege: Gegnergrafik ständig durch eine BA ersetzen (wie bei Helden möglich), wobei die BA bei Bedarf geändert werden kann. :D
ATB-Wert setzen? Kein Problem, schon längst eingebaut (siehe Funktionsliste die ich weiter oben gepostet habe).
Und damit kann man den Füllstand der sichtbaren Spieler- und unsichtbaren Monsterleisten beeinflussen? ^^ Also wirklich anteilsweise nicht nur dieses TurnUsed Zeugs aus der "ATB-entfernt"-Preview?
@Corti: Ja. Alles genau auslesen und festlegen.
@Sain: Geänderte RPG_RT, mit allem kompatibel.
MagicMaker
30.05.2011, 14:25
Außerdem: Setzen des Drehwinkels eines Pictures ohne dass es sich dreht. Winkel dürfen Nachkommastellen haben. Man kann also auch etwas gaaaanz langsam drehen damit, wenn man wollte.
Ich wär dir sehr verbunden wenn du diese eine Sache aus der Liste auch für RPG2000 bauen kannst.
Engel der Furcht
30.05.2011, 21:04
Was auch geil wäre,wäre mal eine Gegneranzeige mit Namen im 2k3 Gauge-KS-Stil.
Also dass oben,wo eigentlich der Status des Ziels steht,auch der Name des Ziels dabei steht.
Müsste gehen... Schaun wir mal.
R0tbarsch
02.06.2011, 19:13
Hmm, wenn das nicht geht mit dem "Menü Creator" (xD) dann möchte ich doch um eine Sonderanfertigung bitten.
http://img90.imageshack.us/img90/7924/mengv.png (http://imageshack.us/photo/my-images/90/mengv.png/)
Uploaded with ImageShack.us (http://imageshack.us)
So sieht das Menü derzeit aus. Ich würde um Transparenzeffekt bitten sowie nach Möglichkeit zwei Fenstern: Eines welches auf zwei Variablen verweist (Spielzeit Anzeige) sowie eines, dass auf einen Heldennamen verweist (Ortsanzeige.) Die beiden sollten über der Geldanzeige positioniert werden, der Ort zuoberst. Danke :D
EDIT: Oh, als IPS wegen Kompatibilität zu BetterAEP^^
goldenroy
02.06.2011, 22:43
Oh mann, wenn wir dich damit jetzt überstrapazieren, dann ist das nicht so gut. D:
Trotzdem frag ich hier mal nach einer Sache, die du doch bestimmt hinkriegst:
Also das Mikeexklusive Menü (Ich mag das Wort auch 8D) nur die untere Box mit Platz für nur einen Hero.
Also eigentlich das gleiche, nur halt für einen Hero.
Kriegst du das hin?
EDIT: Oh, achja, dieses Gehighlightete vom Namen des ersten Heros sollte auch weg.
Viele Dank schonmal. :3
@R0tbarsch: Das mach ich nicht, weil das nämlich perfekt mit dem Revolution Patch geht... und ich hoffe den bald rausbringen zu können. Auf jeden Fall ist es mehr (unnötiger) Aufwand, das händisch nochmal reinzumachen.
@goldenroy: Ok, also nur Face und Name, für einen Helden? Brauchst du die Menüpunkte Skill/Ausrüstung/Status? Wenn ja, mach ich das dann nämlich so, dass da nicht nochmal eine Auswahl erscheint sondern direkt der erste und einzige Held gewählt wird.
@goldenroy: Ich habs jetzt einfach so gemacht.
http://share.cherrytree.at/showfile-2905/rpg_rt_goldenroy.ips
Mit einem Hex-Editor kannst du an Offset 0xA03F3 die Y-Position des Auswahlfensters einstellen, falls dein Menü zu lang ist.
R0tbarsch
03.06.2011, 10:11
Kein Problem, dann harre ich mal der dinge^^
Hm okay, ich könnte dir eine kleine Vorversion geben, wobei ich dir aber nur das erkläre was du auch wirklich brauchst.
Hast du in etwa die Variablen 3361 bis 4100 und die Switches 3361 bis 3700 frei? Wenn nicht, sag mir freie Switch-/Variablenblöcke.
goldenroy
03.06.2011, 10:38
Danke, genau so wollte ich das haben. :]
Und die Sachen für den Revolution-Patch klingen echt immer besser, ich kann das kaum noch abwarten. xD
Ich glaube ich motte den Maker erst mal wieder ein und befasse mich ausnahmslos mir Grafik/Plot/etc. für mein(e) Projekt(e), bis der Revolution raus ist...
Frage: beinhaltet der Revolution einen ExpandCharPatch für den 2k3? (Das wäre dann ein Traum)
Ah, an das hatte ich gar nicht mehr gedacht, danke!
Ich schreibs mir auf.
Engel der Furcht
04.06.2011, 12:42
Hallöle!
Ich hab da mal ne Frage:
Kann man ein Tool schreiben,dass die Battle Animation pixelgenau verschieben kann?
Also dass alle Zellen in der BA nach links und Rechts und oben und unten verschoben werden kann?
Hab da jetzt so ne BA mit 238 Frames,doch die Anim ist zu weit rechts.
Und die nochmal weiter links zu machen ist...kräfteraubend.
goldenroy
04.06.2011, 12:45
Hallöle!
Ich hab da mal ne Frage:
Kann man ein Tool schreiben,dass die Battle Animation pixelgenau verschieben kann?
Also dass alle Zellen in der BA nach links und Rechts und oben und unten verschoben werden kann?
Hab da jetzt so ne BA mit 238 Frames,doch die Anim ist zu weit rechts.
Und die nochmal weiter links zu machen ist...kräfteraubend.
Verschieb doch einfach die Grafiken in der BA-Grafik-Datei nach links...
Engel der Furcht
04.06.2011, 15:01
Geht schlecht,wenn die Animation ausm RTP ist und die Frames bereits 96x96 groß ist.
MagicMaker
04.06.2011, 15:13
In den letzten 2 1/2 Stunden hättest du damit vielleicht fertig werden können. :'D
Geht schlecht,wenn die Animation ausm RTP ist und die Frames bereits 96x96 groß ist.
Aus dem RTP rausholen, ändern und importen geht immer, aber wenn du sie nicht
weit genug schieben kannst ist das ein kleines Problem.
Nein kann ich nicht.
Ist das RM2k3? Dann könntest du aus der BA eine Large Animation mit 128x128-Zellen machen und gut ist.
====================
@all: Ich kann noch nichts mit 100%iger Sicherheit versprechen, aber es könnte gut sein, dass ihr bald Support für Alphachannel in Bildern kriegt (über einen Umweg: Zweites Picture was nur den Alphachannel enthält).
Rosa Canina
04.06.2011, 20:17
@all: Ich kann noch nichts mit 100%iger Sicherheit versprechen, aber es könnte gut sein, dass ihr bald Support für Alphachannel in Bildern kriegt (über einen Umweg: Zweites Picture was nur den Alphachannel enthält).
Wenn DAS klappt und mit AVoR kompatibel ist (bei den ganzen Patchen), dann muss ich einige
Animationen nochmal überarbeiten XD
Jaaaaa............. leider nur Pictures. Keine BAs.
Rosa Canina
04.06.2011, 21:01
Hab ich schon verstanden, aber ich hab da auch ein paar Bild-BAs die besser mit Alpha wären - und ich könnte eine ganz bestimmte Animation mit Bildern besser hinbekommen ;)
Engel der Furcht
04.06.2011, 22:20
Alpha wär SOOOO A*schgeil!
Wär das dann nicht schon 24 Bit?
16 Bit intern + 8 Bit Alphakanal mein ich.
In gewissem Sinne schon, aber du kannst nach wie vor nur 8-Bit-Bilder anzeigen.
Es wird - sofern es klappt - so laufen:
Du machst Show Picture MeinBild.png
Der Maker schaut, ob es ein MeinBild.alpha.png gibt. Wenn ja, wird diese Datei auch geladen (muss dieselbe Größe wie MeinBild.png haben) und als Alphakanal zu MeinBild.png interpretiert. Die Palette von MeinBild.alpha.png hat dabei keine Auswirkung, es geht nur um die Farbindizes der einzelnen Pixel (0-255), die dann als Alphawert behandelt werden.
Messages mit so vielen Zeilen wie ihr wollt.
http://share.cherrytree.at/showfile-2914/screenshot_424_no_atb_test.png
Engel der Furcht
05.06.2011, 10:54
Du bist doch krank xD
Das ist Super!
€dit:
Aber wie siehtes mit Faces aus?
elvissteinjr
05.06.2011, 11:05
Genial.
Sind mehr als 4 Auswahlmöglichkeiten auch irgendwie drin?
Genial.
Sind mehr als 4 Auswahlmöglichkeiten auch irgendwie drin?
Mich würde eher mal interessieren ob es möglich sein könnte, den Text der Auswahl beliebig lang zu machen? Oder geht das schon zu weit, weil dann der Auswahlcursor und die Textbox mit gestreckt werden müssten...
Du meinst, vertikal beliebig lang? Das ist eher schwierig. Horizontal gings ja eh immer.
(Naja, du kannst das mit ein wenig Handarbeit vertikal auch machen... Man kann die Breite und Höhe des Auswahlcursors sowie die Abstände der Auswahlelemente für Custom Windows ändern - und die Messagebox zählt als Custom Window 0, mit ein paar Erweiterungen die eine Messagebox so mit sich bringt.)
Mit Faces ist das übrigens so:
Es gibt beim Revolution Patch drei Möglichkeiten, die normale Messsagebox zu verwenden.
1) Alles wie gehabt. In diesem Fall sind auch die Faces da wo sie immer sind.
2) Autosize - Größe passt sich an Inhalt an (so wie hier am Screen), Position wird vorgegeben (entweder durch Koordinaten oder durch ein Event). In diesem Fall erscheinen die Faces ganz links bzw. rechts, und zwar über dem Fenster (aber direkt angedockt). Sieht natürlich nur dann wirklich gut aus wenn das Face einen transparenten Hintergrund hat. Text wird dann natürlich nicht eingerückt, auch wenn ein Face links angezeigt wird.
3) Größe und Position wird vorgegeben. In diesem Fall werden die Koordinaten der Facegrafik durch 2 Variablen angegeben. Die Einstellung Face links/rechts hat dann keine Auswirkung auf die Position des Faces, sondern nur darauf, ob der Text eingerückt wird oder nicht.
Mehr als 4 Auswahlmöglichkeiten: Mit Custom Windows geht das sowieso. Ein Fenster öffnen was so hoch ist wie du willst, den Text anzeigen, die Auswahlfunktion aktivieren.
Mit der normalen Messagebox (wo der Text auch "reinläuft") geht das noch nicht, aber ich arbeite daran (das Problem liegt beim Maker selber - wie stellst du das im Eventeditor ein?)
netwarrior
05.06.2011, 12:14
Alphakannal: Geschiet die Abfrage einmal und man hat diesen Effekt die ganze Zeit im Map über, denn besonders bei dynamischen Animationen wäre das ein netter Effekt.
Textbox: Kann man auch die Abstände zwischen den Zeilen bestimmen?
netwarrior
Alphakanal: Wie meinst du das? Es wird einfach beim Laden des Bildes auch der Alphakanal dazu geladen, falls vorhanden, und das Bild entsprechend angezeigt. Was du mit dem dann machst ist dein Ding^^
Textbox: In der normalen Messagebox: Noch nicht. In Custom Windows: Natürlich, du kannst ja bei jeder Zeile festlegen wo du die hinhaben willst^^
Ok, ihr habt jetzt doch mehr Auswahlzeilen!
http://share.cherrytree.at/showfile-2916/screenshot_427_revolution_patch_message_editor.png
Im Event Editor sieht es zwar etwas komisch aus, aber es funktioniert.
Und zwar zeigt der Maker immer Zeile 5 als "Cancel" an, und die echte Cancel-Zeile als "[]".
Bearbeiten kann man diese Choices im normalen Maker nicht, da kriegt man eine Access Violation. Dazu braucht man den Revolution Patch Message Editor. (Ja, die Befehle innerhalb des Show Choice bleiben beim Bearbeiten erhalten.) Bei "Default" stellt man ein, was passiert, wenn man ESC drückt. Bei 0 passiert gar nichts, bei einer anderen Zahl wird die entsprechende Zeile ausgeführt. Gibt man eine Zeile ein, die es nicht gibt, kriegt man eine Zeile, die nicht angezeigt wird, aber aufgerufen wenn man ESC drückt. Der normale Maker verwendet dafür immer nämlich 5 (drum macht er dann aus Zeile 5 "Cancel" im Editor).
EDIT: Die Box ist übrigens genau so groß, dass man 13 Zeilen zu je 50 Zeichen reinschreiben kann, das geht nämlich maximal auf den Bildschirm. Die Scrollbars sind da, falls man aus irgendeinem Grund trotzdem mehr braucht (in der Breite alleine schon wegen Steuerzeichen wie \c[1] und Co., in der Höhe weil man z.B. einen langen Text anzeigen will, der aber langsam im Bildschirm nach oben wandert dabei - durch Verschieben der Messagebox während der Text "einläuft" - und insgesamt länger als 13 Zeilen ist.)
EDIT2: Adé, Abstürze mit ungenauer Dateiangabe! Ab jetzt steht da, in welchem Ordner die Datei überhaupt fehlt, außerdem wird das Spiel nicht beendet sondern eine Dummygrafik angezeigt.
http://share.cherrytree.at/showfile-2919/screenshot_428_no_atb_test.png
Heilige Scheiße... Das ist (für mich persönlich) noch genialer als ein Alpha-Kanal. Wieso kriegst du das alles so gut hin? ^^ Andere sind an "einfacheren" Dingen gescheitert ^^
LG Mike
Derartige Wieso-Fragen kann ich irgendwie nie beantworten ^^
Engel der Furcht
06.06.2011, 16:57
Cherry macht's,weil er's kann.
So einfach ist das .
Cherry macht's,weil er's kann.
So einfach ist das .Ich hab' nicht gefragt, warum er es macht, sondern warum er es so gut hinkriegt.
Mike
Ich wage mich mal an die Öffentlichkeit. http://cherrytree.at/misc/smilies/003D.gif
Wer will, kann probieren.
Es hat sich so ergeben, dass ich MajinSonic eine kleine Vorversion gegeben habe, und eigentlich "mal schnell alles was er brauchen könnte" erklären wollte. Daraus wurden 3 Stunden Skype-Getippsel, und das fiel mir gar nicht auf.
Nachdem es jetzt aber dadurch eine kleine Dokumentation gibt (auch wenn sie jeglicher Form entbehrt), wäre es schade, wenn ihr die nicht auch lesen (und den Patch probieren, wenn ihr wollt) könntet. Achtung, heftig technisch.
Download der Vorversion: http://share.cherrytree.at/showfile-2931/revpreview.rar
Da ist zwar eine eigene RPG_RT, die auch größer ist als normal, sie ist aber mit allen sonstigen Patches für RM2k3 v1.08 kompatibel.
Quasi-Dokumentation, die allerdings alles was mit dem Menü oder dem KS zu tun hat, auslässt, weil MajinSonic das nicht verwendet hat - euch entgeht damit zwar einiges, aber ich hab keine Lust, das jetzt auch noch zu schreiben, zumal ich das ganze sowieso später ordentlich machen muss:
REVOLUTION PATCH für RM2k3
Anmerkung: Das Ding braucht ein Bild namens „loading.png“ im Ordner „Title“, was es beim Laden anzeigt.
[05.06.2011 22:34:36] Cherry: die rpg_rt und die revhelper.dll gehören ins Projekt.
[05.06.2011 22:34:53] Cherry: die andere exe ist ein Zusatzprogramm mit dem du Messages und Choices mit mehr als 4 Zeilen eingeben kannst.
[05.06.2011 22:35:01] Cherry: die kann der Patch nämlich Verarbeiten, der Maker aber nicht^^
[18:15:35] Cherry: okaaayy.
[18:15:49] Cherry: ich erklär in der Reihenfolge die mir einfällt.
[18:15:57] Cherry: frag wenn was unklar ist und notier dir, was du brauchst.
[18:16:04] MajinSonic: okay...^^ich sicher mir dann alles in einer datei :D
[18:18:14] Cherry: mal schauen was ich mir da so aus den Fingern sauge.
[18:18:24] Cherry: ok, was ist anders?
[18:18:32] MajinSonic: und ich bin gespannt was das teil drauf hat :D
[18:18:45] Cherry: ...das Menü lass ich mal weg
[18:18:48] Cherry: ...das KS auch.
[18:19:04] Cherry: moment noch kurz
[18:19:45] Cherry: so
[18:20:14] Cherry: Du hast Maus.
[18:20:29] Cherry: Variable 3372: X
Variable 3373: Y
[18:20:44] Cherry: Du hast die ganze Tastatur.
[18:21:20 | Bearbeitet 18:22:56] Cherry: Variable 3371 ist dafür zuständig.
[18:21:40] Cherry: damit kannst du entweder die ganze Tastatur abfragen (bringt dann aber nur was wenn nur eine Taste gedrückt ist), oder Tasten einzeln.
[18:22:22] Cherry: es funktioniert immer gleich: Du machst Change Variable und schreibst den Tastencode den du abfragen willst, in die Variable - oder 0 um die ganze Tastatur abzufragen. Danach enthält die Variable entweder den Tastencode der gedrückten Taste, oder 0 wenn sie nicht gedrückt ist.
[18:22:28] Cherry: Tastencodes: Google nach Virtual Key Codes.
[18:23:03] Cherry: hab mich oben gerade korrigiert. Tastatur ist Var 3371, nicht 3374
[18:23:34] Cherry: außerdem tolle Picturefunktionen.
[18:23:42] Cherry: nutzt du den Ultimate?
[18:24:04] MajinSonic: nein den normalen, mit dem ultimate komme ich nicht so ganz klar ;)
[18:24:22] Cherry: das musst du mir jetzt aber erklären :) Was daran ist unklar?
[18:25:05] MajinSonic: Ich bin in den rm2k3 zu sehr eingelebt und das layout des normalen finde ich übersichtlicher :D nich schlagen bitte ;)
[18:25:11] Cherry: nene, wollt es nur wissen.
[18:25:44] Cherry: naja, ohne Ultimate ist das jetzt etwas komplizierter, mehr Bilder nutzen zu können, du musst die Anleitung vom PicPointerPatch befolgen (die ganz unten - "damit man im rm2k(3) überhaupt so hohe Picture-IDs nutzen kann", etc.)
[18:25:48] Cherry: http://www.multimediaxis.de/threads/107583-PicPointerPatch-Bild-ID-durch-Variable-angeben
[18:25:59] MajinSonic: okay
[18:26:05] Cherry: du hast nämlich Picture IDs 1-9999
[18:26:12] Cherry: wobei die aber spezielle Funktionen haben.
[18:27:02] Cherry: hier die Aufschlüsselung:
[18:33:02] MajinSonic: *abwart*
[18:35:11] Cherry: sorry, Telefonat
[18:36:02] Cherry: Panorama <<< Tileset unter Hero/auf gleicher Höhe <<< PICTURES 127-499 (flüchtig) <<< PICTURES 500-999 (permanent) <<< Events unter Hero <<< PICTURES 1000-1499 (flüchtig) <<< PICTURES 1500-1999 (permanent) <<< Events auf gleicher Höhe wie Hero <<< PICTURES 2000-2499 (flüchtig) <<< PICTURES 2500-2999 (permanent) <<< Tileset über Hero <<< PICTURES 3000-3499 (flüchtig) <<< PICTURES 3500-3999 (permanent) <<< Events über Hero <<< PICTURES 4000-4499 (flüchtig) <<< PICTURES 4500-4999 (permanent) <<< Wettereffekte <<< PICTURES 1-126 (flüchtig) <<< PICTURES 5000-5499 (flüchtig) <<< PICTURES 5500-5999 (permanent) <<< Animationen <<< PICTURES 6000-6499 (flüchtig) <<< PICTURES 6500-6999 (permanent) <<< Fenster, wie z.B. die Messagebox <<< PICTURES 7000-7499 (flüchtig) <<< PICTURES 7500-7999 (permanent) <<< Timer
Die Pictures 8000-9999 sind nur im Kampf sichtbar, betreffen dich also nicht.
Flüchtig bedeutet, die Pictures werden bei einem Mapwechsel gelöscht, permanent bedeutet, sie bleiben. Dass 1-126 nicht dem normalen System folgen, hat Kompatibilitätsgründe: Wenn jemand den Patch in ein bestehendes Projekt tut, sollen die Bilder ja nicht auf einmal zwischen dem Tileset und den Events unter dem Helden sein, sondern da wo sie immer sind.
[18:37:10] Cherry: (und bisher konnte man im RM2k3 nur 126 Bilder verwenden - 50 normalerweise, und die zusätzlichen 76 durch Hyper Patcher 2)
[18:37:53] MajinSonic: huii...is ja ne latte..aber ich denke, ich verstehe...
[18:37:57] MajinSonic: was gibts noch ?
[18:37:58] MajinSonic: ^^
[18:38:11] Cherry: viel.
[18:38:18] Cherry: wollte nur mal abwarten bis du gelesen hast
[18:38:46] Cherry: Pictures können auch angezeigt/bewegt/gelöscht werden während eine Messagebox aktiv ist.
[18:38:54] Cherry: (also wie beim UnlockPics-Patch)
[18:39:36] MajinSonic: du meinst um einen fog effekt flüssiger zu halten
[18:39:40] MajinSonic: z.B.
[18:39:41] MajinSonic: ^^
[18:39:42] Cherry: ja, oder um sonstwas zu tun.
[18:39:45] Cherry: animierte Faces, etc.
[18:40:08] Cherry: einen eigenen "Pfeil-nach-unten"-Cursor... (geht mithilfe der Funktionen die du noch erfahren wirst)
[18:40:15] Cherry: ok auch neu:
[18:40:22] Cherry: Wenn ein Fehler passiert, wird das Spiel nicht geschlossen sondern nur neu gestartet.
[18:40:36] Cherry: ist der Fehler ein Datei-nicht-gefunden-Fehler, passiert gar nix, außer dass eine Nachricht erscheint.
[18:40:47] Cherry: es wird ein Dummybild geladen
[18:41:31] Cherry: F11 öffnet im Testplay das Speichermenü.
[18:41:41] Cherry: "Input Variable" nimmt den Variableninhalt als Startwert.
[18:42:22] Cherry: Du kannst Messages und Choices mit mehr als 4 Zeilen verwenden. (Aber nur wenn du die Messageboxgröße änderst, später dazu mehr).
[18:42:36] Cherry: Damit du derartige Monstermessages/-choices in den MAKER kriegst, gibt es revmsgedit.exe
[18:43:34] MajinSonic: Die hattest du mir doch gestern schonmal geschickt, oder?
[18:43:39] Cherry: ja
[18:43:53] MajinSonic: ja hatte ich mal reingeschaut aber noch nicht mit gespielt :D
[18:44:15] Cherry: kleine Nebensächlichkeit: Wenn man ESC drückt wenn eine Choice aktiv ist wo als Default "Ignore" eingestellt ist, macht es Dädäät.
[18:44:19] Cherry: (Cancelsound)
[18:44:35] Cherry: ok jetzt kommen wir zum interessanten.
[18:44:44] Cherry: Wenn Switch 3366 on ist, werden alle aktiven Move Routes angehalten.
[18:45:22] Cherry: Wenn Switch 3369 an ist, kann der Held nicht durch den Spieler bewegt werden.
[18:45:36] Cherry: Wenn Switch 3370 an ist, ist eine Messagebox offen.
[18:47:44] Cherry: Wenn Switch 3371 an ist, wird die Messagebox ohne Rahmen und Hintergrund dargestellt, auch wenn bei Message Display Options "Opaque" eingestellt ist. Sinn der Sache ist, dass nämlich "Transparent" in den Message Display Options beim 2k3 einen Nebeneffekt hat: Sind die transparenten Fenster aktiv (kann man in der Database unter Battle Layout - blöde Stelle, ich weiß - einstellen), erscheinen dann nämlich viele Fenster nur mit Rahmen, aber komplett ohne Hintergrund. Um das zu vermeiden, gibts den Switch stattdessen, der betrifft wirklich nur die MEssagebox
[18:48:01] Cherry: Wenn Switch 3372 an ist, werden Choices nicht links eingerückt.
[18:48:25] Cherry: Wenn Switch 3373 an ist, ist die Breite des Auswahlrechtecks bei Choices nicht so breit wie das Fenster, sondern so breit wie der Text den es umschließt.
[18:49:00] MajinSonic: das is geil^^
[18:49:34] Cherry: außerdem: Jedesmal wenn die Messageboxfunktion die Textanzeigefunktion callt, wird die Messagetextinfo aktualisiert.
[18:49:37] Cherry: das heißt:
[18:49:51] Cherry: die Messageboxinfo callt die Textanzeigefunktion meistens alle ZWEI Buchstaben.
[18:49:59] Cherry: Außer der Text wird recht langsam angezeigt.
[18:50:15] Cherry: jedes Mal wenn die Textanzeigefunktion aktiviert wird, passiert folgendes:
[18:51:35] Cherry: Variablen 3391 und 3392 erhalten die zwei Zeichen, die gerade angezeigt werden (3392 = 0 wenn nur eines angezeigt wird.) Zeichencodes => Google nach ASCII Codes.
Variable 3393 erhält die aktuelle Zeile, 3394 die aktuelle Spalte in der Message. 3395 erhält die aktuelle X-Position der Zeichen die gerade angezeigt werden, relativ zum linken Rand der Messagebox. Variable 3395 erhält die aktuelle Textfarbe, Variable 3396 die aktuelle Textgeschwindigkeit.
[18:52:17] Cherry: damit kannst du z.B. Textsounds machen. Einfach checken ob 3391 ungleich 0 ist - dann wurde was angezeigt (danach selber auf 0 setzen, damit du bereit bist für das nächste Zeichen)
[18:52:44] MajinSonic: textsound...meinst du damit so ein diet diet diet geräusch bei den buchstaben?
[18:52:50] Cherry: z.B..
[18:52:54] MajinSonic: ah okay
[18:52:55] MajinSonic: ^^
[18:53:29] Cherry: OK, nun zu den FUnktionen die du callen kannst.
[18:53:39] Cherry: sagt dir Funktionsaufruf, Parameter, Rückgabewert, ... etwas?
[18:53:56] MajinSonic: Oh...öhm.... ist es schlimm wenn ich nein sage? xD
[18:54:33] Cherry: http://de.wikipedia.org/wiki/Funktion_%28Programmierung%29
[18:54:56] Cherry: Kapitel 2
[18:55:05] MajinSonic: in ordnung herr lehrer :D ich werd mich schlau machen ;)
[18:55:10] Cherry: sowas ähnliches.
[18:55:22] Cherry: Du kannst Funktionen aufrufen, denen Parameter mitgeben, und erhältst ggf. Rückgabewerte.
[18:55:28] Cherry: das funktioniert immer so:
[18:55:39] Cherry: die Variablen 3362 bis 3370 sind die Parametervariablen 1 bis 9.
[18:55:47] Cherry: 3362 = Param1, 3363 = Param2, ..., 3370 = Param9
[18:55:54] Cherry: die Variable 3361 ist die Kontrollvariable.
[18:56:22] Cherry: Machst du Change Variable [3361], XYZ, dann wird NICHT einfach XYZ in die Variable geschrieben, sondern die Funktion Nummer XYZ aufgerufen.
[18:57:04] Cherry: Eine Funktion ist z.B. GetFullScreenFlag (der Name ist nur zur Erklärung, er steht nirgends).
[18:57:10] Cherry: Diese Funktion hat Nummer 12.
[18:57:25] Cherry: sie nimmt keine Parameter entgegen, gibt aber in der Param1-Variable das Ergebnis zurück.
[18:57:30] Cherry: Beispiel:
[18:58:26] Cherry: <> Change Variable [3361:Control] = 12 << Aufruf von GetFullScreenFlag!
<> Conditional Branch - if Var[3362:Param1] == 1
....<> Message: Vollbildmodus aktiv.
....<>
:Else
....<> Message: Fenstermodus aktiv.
....<>
:End
[18:58:37] Cherry: klar?
[18:59:26] MajinSonic: Ich denke schon...^^
Kann ich damit manuell im spiel zwischen fenster und vollbild wechseln?
[19:00:02] Cherry: gut dass du das sagst. Nein, bis jetzt nicht. Nur abfragen OB man im Vollbild ist. Ich kann es aber noch einbauen.
[19:00:34] MajinSonic: Naja..aber bringt es was den spieler in die modis zu zwingen?
Die Abfrage wiederrum ist ne nette sache
[19:00:38] Cherry: ok.
[19:01:19] Cherry: Funktion 13: GetLargeWindowFlag
Parameter: keine
Checkt ob das Fenster groß oder klein ist (kann man ja mit F5 ändern).
Param1 wird 1, wenn es groß ist oder 0, wenn es klein ist.
[19:01:56] Cherry: Funktion 14: GetTotalPlayingTime
Parameter: keine
Gibt die Gesamtspielzeit in Sechzigstelsekunden zurück (in Variable Param1)
[19:02:15] MajinSonic: Okay... die abfragen sind gut...
Jedoch, wofür brauch ich das?
Die Spielzeit widerrum is gooiiiilll^^ :D
[19:04:06] Cherry: Funktion 18: GetSkillMP
Parameter: 1
Param1: ID des Skills
Fragt ab, wieviel MP ein Skill braucht und schreibt das Ergebnis in Param2
[19:04:34] Cherry: zur Überprüfung: Gib mir ein Beispiel wie du die Funktion verwenden würdest, um in einer Message auszugeben, wieviel MP der Skill Nummer 10 braucht.
[19:05:11] MajinSonic: Okay...^^ich versuchs mal...^^
[19:07:07] MajinSonic: <> Change Variable [3361:Control] = 18 << Aufruf von GetSkillMP
<> Conditional Branch - if Var[3363:Param1] == 1
....<> Message: "Feuerball" MP Kosten \v[3364]
....<>
:Else
....<> Nächster Zaber wird abgefragt
....<>
:End
Ich hoffe es ist so richtig.
[19:07:54] Cherry: nein.
[19:07:57] MajinSonic: ups skill nummer 10 überlesen xD^^
[19:08:44] Cherry: <> Change Variable [3362:Param1] = 10 << Parameter natürlich VOR dem Funktionsaufruf setzen, die Funktion kann ja nicht in die Zukunft schauen!
<> Change Variable [3361:Control] = 18 << Aufruf von GetSKillMP
<> Message: MP-Kosten sind \v[3363]
[19:09:01] Cherry: klar?
[19:09:25] MajinSonic: Achso okay... Also hab ich nur was vedreht XD ^^
[19:09:39] MajinSonic: wird wohl etwas dauern, bis ich mich da eingearbeitet habe^^und ob ich alle funktionen wirklich verwende ist die andere sache
[19:09:43] Cherry: du hast nebenbei noch die Variablennummer um 1 verschoben.
[19:09:54] Cherry: eh nicht, aber bevor ich erkläre sollte Verständnis da sein^^
[19:10:06] Cherry: ok.
[19:10:06] MajinSonic: oh XD ich bin ein Naturtalent...^^
[19:14:13] MajinSonic: Gibt es u.A. noch "leichtere" dinge ?;)
[19:14:15] MajinSonic: *gg*
[19:14:31] Cherry: Funktion 20: GetStringLength
Param1: Stringtyp
Param2: ID
Überprüft die Länge eines Strings und speichert die Länge in Param3.
Stringtyp kann sein [MERK DIR DAS, es kommt noch mehrmals vor]
1 = Name eines Helden (ID = Helden-ID)
2 = Name eines Skills (ID = Skill-ID)
3 = Beschreibung eines Skills (ID = Skill-ID)
4 = Name eines Items (ID = Item-ID)
5 = Beschreibung eines Items (ID = Item-ID)
7 = Name des aktuellen Zustands eines Helden (ID = Helden-ID)
[19:14:40] Cherry: du brauchst die Funktion später, wenn du eines dieser Dinge anzeigen willst.
[19:14:59] MajinSonic: okay..^^
[19:15:38] Cherry: Funktion 38: GetEventLayer
Param1: Event-ID
Checkt ob ein Event auf Below Hero (0), Same Level as Hero (1) oder Above Hero (2) steht und schreibt da Ergebnis in Param2
[19:15:52] MajinSonic: uii...das is praktisch
[19:16:09] Cherry: Funktion 39: SetEventLayer
Param1: Event-ID
Param2: Layer (0, 1 oder 2)
Gegenstück zu GetEventLayer - ÄNDERT den Wert!
[19:17:27] Cherry: Übrigens, merk dir das auch: Für ALLE Dinge die eine Event-ID verlangen gilt: Event 10001 = Held, Event 10002 = Skiff, Event 10003 = Ship, Event 10004 = Airship
[19:18:05] MajinSonic: 10005 this event?
[19:18:14] Cherry: leider nicht. Bin nämlich grade draufgekommen dass das noch fehlt.
[19:18:21] Cherry: mach ich später noch.
[19:18:27] MajinSonic: ah okay...^^
[19:18:33] Cherry: noch was SEHR SEHR praktisches:
[19:18:51] Cherry: Funktion 42: DoesEventExist
Param1: Event-ID
Wenn das Event existiert, wird 1 in Param2 geschrieben, sonst 0.
[19:19:22] Cherry: Damit kann man nämlich Events ansprechen ohne Angst zu haben, dass das SPiel mit "Event script referenced an event which does not exist" abstürzt.
[19:19:34] MajinSonic: ach sowas... ja das is ärgerlich
[19:19:46] Cherry: noch etwas sehr geiles kommt jetzt:
[19:22:30] Cherry: Funktion 43: SetEventPositionOffset
Param1: Event-ID
Param2: X-Offset
Param3: Y-Offset
Ändert die Position eines Events PIXELGENAU relativ zur normalen Position.
Angenommen, ein Event steht auf Tile (013, 008). Ändere ich nun den X-Offset auf -8 und den Y-Offset auf +16 [ein Tile ist 16x16 groß!], hat das den Effekt, dass das Event aussieht, als stünde es zwischen den Tiles (012, 009) und (013, 009). Zeichne es dir auf, falls du es nicht verstehst. Wenn du aber die Tileposition des Events abfragst, kriegst du noch immer (013, 008), auch bei der Kollisionsabfrage wird dieses Feld hergenommen. Wenn du den Positionsoffset langsam immer um 1 Pixel änderst, sieht es wie eine pixelgenaue Bewegung des Events aus. (Nicht vergessen, das Event auch WIRKLICH an eine andere Position zu setzen, wenn es am nächsten Tile steht und die Kollision dann auch dort stattfinden soll!)
[19:22:50] Cherry: klar?
[19:24:34] MajinSonic: ja das ist geil...so kann ich 2 events näher aneinander rücken lassen ohne neue char posen zu machen
[19:25:03] Cherry: okay, gleich noch was geiles:
[19:28:40 | Bearbeitet 19:29:00] Cherry: Funktion 44: BetterGetEventID
Param1: X
Param2: Y
Param3: Erste Variable des Variablenblocks wo das hingespeichert werden soll
Tut im Prinzip dasselbe wie "Get Event ID" - es schaut, welches Event an Position (X, Y) steht und gibt dir die Event-ID. Nur dass diese Funktion ALLE Events an der Position findet (du kannst ja mehrere Events per Set Event Place übereinanderlegen), nicht nur eines! Dazu gibst du in Param3 an, wo er die Event-IDs dieser Events hintun soll. Beispiel:
Du setzt Param3 auf 1001.
Angenommen, auf dem abgefragten Feld stehen die Event 20, 17, 16, 12 und 3.
Dann passiert folgendes:
Variable 1001 [das hast du in Param3 angegeben] wird auf 20 gesetzt.
Variable 1002 wird auf 17 gesetzt
Variable 1003 wird auf 16 gesetzt
Variable 1004 wird auf 12 gesetzt
Variable 1005 wird auf 3 gesetzt
Variable 1006 wird auf 0 gesetzt - das passiert, damit du weißt, dass die Liste zu Ende ist.
[19:28:49] Cherry: alles klar?
[19:30:19] MajinSonic: jaalles klar...
Würde ich es 2001 setzen würden die variablen 2001-2006 verwendet werden?
[19:30:45] Cherry: ja... und würden da nicht 5 Events sein sondern 20, würde 2001-2021 verwendet werden.
[19:30:57] MajinSonic: alles klar gut...^^
[19:31:01] MajinSonic: wirklich praktisch
[19:31:09] Cherry: (also halte halt genug Platz an Variablen frei an der Stelle die du angibst!)
[19:31:25] Cherry: jetzt wird haarig:
[19:32:15] Cherry: Der Patch verwendet Heldennamen als Strings. Mit einem Zusatzpatch, den ich nicht vergessen darf dir zu sagen, kannst du längere Heldennamen eingeben. Dadurch sind die da keine Grenzen gesetzt
[19:32:54] MajinSonic: Du meinst also wenn ich sage:
"Vincent" ist maximal... könnte ich noch ein "Weynard" hinterherhauen?
[19:32:54] MajinSonic: ^^
[19:33:19] Cherry: naja, die heldennamen werden jetzt nicht mehr nur als heldennamen genutzt.
[19:33:22] Cherry: sondern allgemein für Texte.
[19:33:32] Cherry: du kannst mit einer Funktion die ich dir nachher sage Heldenamen irgendwo anzeigen.
[19:34:20] Cherry: zu der Heldennamenlänge: Wieder blöd dass du keinen Ultimate nutzt, weil damit muss man wieder mehr machen...
[19:35:30] Cherry: Du musst den Resource Hacker öffnen, die rpg2003.exe öffnen, zu RCDATA->TFORMEVCMD10610->0 gehen und nach "OverEdit1.MaxLength=12" suchen (ich glaube es war 12, vllt ist es auch was anderes, und es in "OverEdit.MaxLength=1000" ändern. Dann Compile Script anklicken und dasselbe mit RCDATA->TFORMEVCMD10620->0 machen, und speichern.
[19:35:49] Cherry: ok:
[19:36:50 | Bearbeitet 20:27:58] Cherry: Funktion 45: EvalHeroName
Param1: Helden-ID
Param2: ID der Variable für Wert 1
Param3: ID der Variable für Wert 2
Evaluiert einen Heldenname der Formatausdrücke enthält und setzt die gegebenen Werte ein.
[19:36:52] Cherry: Ok, was heißt das jetzt?
[19:37:26] MajinSonic: schreib ruhig schonmal weiter...
Ich muss rasch mit den hunden raus^^die müssen auch mal :P
[19:37:30] Cherry: kk
[19:38:49] Cherry: Zuerst eine Erklärung was Formatausdrücke sind:
[19:39:03 | Entfernt 19:39:08] Cherry: Diese Nachricht wurde entfernt
[19:46:17 | Bearbeitet 20:27:33] Cherry: Angenommen der Heldenname ist "abc". Dann ist er nachher auch "abc". Heißt er aber "Bla %d Blub %d" und ist Wert 1 = 1234 und Wert 2 = 5678, dann ist er nachher "Bla 1234 Blub 5678". Warum? %d wird durch die Werte ersetzt. Du kannst maximal zwei Werte dadurch ersetzen lassen.
Du kannst die Breite angeben. Das geht so (angenommen, Wert 1 = 1234):
%6d - Breite wird mit 6 angegeben. Ergebnis ist " 1234"
%-6d - Breite wird mit 6 angegeben, eingefüllt wird linkbündig. Ergebnis ist "1234 "
%.6d - Breite wird mit 6 angegeben, es wird mit Nullen aufgefüllt. Ergebnis ist "001234"
Ein konkretes Beispiel:
Held 8 hat den Namen "HP: %4d/%4d"
Du rufst auf:
<> Change Variable [3362:Param1] = 8 << wir nehmen den Namen von Held 8
<> Change Variable [3363:Param2] = 1001<< Wert 1 wird aus Variable 1001 bezogen
<> Change Variable [3364:Param3] = 1002 << Wert 2 wird aus Variable 1002 bezogen
<> Change Variable [1001] = 37 << Wert 1 ist 37
<> Change Variable [1002] = 144 << Wert 2 ist 144
<> Change Variable [3361:Control] = 45 << Aufruf von EvalHeroName!
<> Message: \n[8]
In der Message wird stehen: "HP: 37/ 144"
[19:47:47] Cherry: Funktion 46: CopyStringToHeroName
Param1: Helden-ID
Param2: Stringtyp [siehe Erklärung von vorhin]
Param3: String-ID [siehe Erklärung von vorhin]
Kopiert einen String in einen Heldennamen.
[19:48:27] Cherry: Funktion 47: AddCharToHeroName
Param1: Helden-ID
Param2: Zeichencode (Google nach ASCII-Code)
Fügt ein Zeichen an das Ende eines Heldennamen an.
[19:49:31] Cherry: Function 48: GetCharFromHeroName
Param1: Helden-ID
Param2: Position
Liest ein Zeichen aus einem Heldennamen aus und speichert den Zeichencode in Param3. Das erste Zeichen hat Position 0, das zweite Position 1, usw.
[19:50:12] Cherry: Function 49: CatHeroName
Param1: Helden-ID (Ziel)
Param2: Helden-ID (Quelle)
Fügt den Namen des Quellhelden an den Namen des Zielhelden an.
[19:51:58 | Bearbeitet 19:52:15] Cherry: Funktion 50: GetCameraPos
Gibt die aktuelle Position der Kamera in Param1 (X) und Param2 ( Y) zurück, in Pixeln. Dabei sind das die Koordinaten des Punktes ganz oben links im aktuellen Bildausschnitt relativ zu denen des oberen linken Ecks der Map.
[19:52:38] Cherry: Funktion 51: SetCameraPos
Param1: X
Param2: Y
Gegenstück zu GetCameraPos
[19:52:50] Cherry: Der Patch kann mit Kommazahlen rechnen.
[19:54:04] Cherry: dabei sind immer zwei Variablen im Spiel, eine enthält die Zahl vor dem Komma, eine die Zahl nach dem Komma (7 Stellen).
Ist die erste Variable z.B. 2 und die zweite 2400000, entspricht das der Zahl 2,24.
Ist eine der beiden Variablen negativ (ODER BEIDE!!), ist die gesamte Zahl negativ.
[19:55:22] Cherry: Funktion 52: SquareRoot
Param1 & Param2: Kommazahl
Berechnet die Quadratwurzel. Das Ergebnis landet wieder in Param1 & Param2.
[19:56:03] Cherry: Funktion 53: Sine
Param1 & Param2: Kommazahl
Berechnet den Sinus.
Funktion 54 berechnet den Cosinus, Funktion 55 den Tangens.
[19:57:22] Cherry: Funktion 56: FloatAdd
Param1 & Param2: Kommazahl 1
Param3 & Param4: Kommazahl 2
Addiert Kommazahl 2 zu Kommazahl 1 und speichert das Ergebnis wieder in Param1 & Param2. Funktion 57 subtrahiert, Funktion 58 multipliziert, Funktion 59 dividiert (ACHTUNG, Division durch Null erzeugt einen Fehler.)
[19:58:34] Cherry: Funktion 65: SetPictureAngle
Param1: Bild-ID
Param2 & Param3: Winkel als Kommazahl
Dreht ein Bild.
[19:59:13] Cherry: Jetzt wirds wieder nett:
[19:59:14] Cherry: Funktion 65: SetPictureAngle
Param1: Bild-ID
Param2 & Param3: Winkel als Kommazahl
Dreht ein Bild um eine bestimmte Gradzahl.
[20:01:47 | Bearbeitet 20:05:23] Cherry: Funktion 67: SetEventSpeed
Param1: Event-ID
Param2: Geschwindigkeit
Ändert die Geschwindigkeit eines Events SEHR GENAU. Die Geschwindigkeit wird in 3,75 Pixel pro Sekunde angegeben, Geschwindigkeit 8 entspricht also z.B. 30 Pixel pro Sekunde. Ist die Geschwindigkeit 0, verhält sich das Event normal (es bewegt sich so schnell wie eingestellt), ist sie -1, wird das Event komplett angehalten (es bleibt einfach auf der Stelle stehen). Die Geschwindigkeit der Laufanimation ist aber NICHT betroffen, sie wird nach wie vor durch die "normale" Eventgeschwindigkeit geregelt.
[20:03:12 | Bearbeitet 20:05:25] Cherry: Funktion 68: SetEventFrame
Param1: Event-ID
Param2: Schrittstellung
Ändert die Schrittstellung eines Events und überschreibt damit den Standard (funktioniert auch beim Helden und auch wenn sich ein Event gerade bewegt). 0 = links, 1 = Mitte, 2 = rechts. Setzt man die Schrittstellung auf -1, ist die Laufanimation wieder normal.
[20:04:28 | Bearbeitet 20:05:31] Cherry: Funktion 69: SetEventPlace
Param1: Event-ID
Param2: X
Param3: Y
Setzt ein Event an die angegeben (Tile-)Position. Funktioniert genau wie das normale Set Event Place, nur dass es auch beim Helden funktioniert ohne einen Teleport auszulösen.
[20:06:43] Cherry: Funktion 70: MoveCamera
Param1: X-Offset
Param2: Y-Offset
Param3: Geschwindigkeit
Bewegt die Kamera. Der Offset wird in PIXELN angegeben, nicht Tiles! Die Geschwindkeit wird wieder in Vielfachen von 3,75 Pixeln pro Sekunde angegeben.
[20:08:21 | Bearbeitet 20:10:10] Cherry: Funktion 73: GetPicturePalette
Param1: Bild-ID
Param2: Erste Variable des Variablenblocks für die Palette
Liest die Palette eines Bildes aus und speichert sie in 768 Variablen. immer drei Variablen entsprechen einem Paletteneintrag, die Farbwerte sind in der Reihenfolge Blau, Grün, Rot (oder Rot, Grün, Blau, ich bin mir gerade selber nicht sicher).
[20:08:48 | Bearbeitet 20:10:14] Cherry: Funktion 74: SetPicturePalette
Param1: Bild-ID
Param2: Erste Variable des Variablenblocks für die Palette
Gegenstück zu GetPicturePalette
[20:09:37 | Bearbeitet 20:10:19] Cherry: Funktion 75: GetPicturePixel
Param1: Bild-ID
Param2: X
Param3: Y
Liest den Farbindex an der Stelle (X, Y) des Bildes aus und speichert ihn in Param4.
[20:09:58 | Bearbeitet 20:10:22] Cherry: Funktion 76: SetPicturePixel
Param1: Bild-ID
Param2: X
Param3: Y
Param4: Farbindex
Gegenstück zu GetPicturePixel
[20:10:46 | Bearbeitet 20:11:16] Cherry: Funktion 77: FillPictureRect
Param1: Bild-ID
Param2: Links
Param3: Oben
Param4: Rechts
Param5: Unten
Param6: Farbindex
Füllt ein Rechteck in einem Bild mit einer Farbe aus. Rechts und Unten sind exklusiv.
[20:11:29] MajinSonic: Boah... das ist ja eine Menge... :D
Nur vieles dient der Überprüfung einiger sachen, oder?
Weil wie vorhin schon erwähnt glaube ich kaum, dass man alles brauchen wird :D *gg*
[20:11:39] Cherry: nein... alles nützlich.
[20:12:11] MajinSonic: Stimmt irgendwo ja....^^
Ich finde es schon beeindruckend, was du da raus holst :D
[20:12:45] MajinSonic: Nun funktionieren auch bildkollisionen, wenn ich das richtig sehe...
[20:14:45] Cherry: Funktion 78: CopyPictureRect
Param1: Quelle Bild-ID
Param2: Quelle Links
Param3: Quelle Oben
Param4: Quelle Rechts
Param5: Quelle Unten
Param6: Ziel Bild-ID
Param7: Ziel Links
Param8: Ziel Oben
Param9: Transparentes Farbindex
Kopiert ein Rechteck von einem Bild in ein anderes. Der angegeben transparente Farbindex wird dabei berücksichtigt. Ist er -1, wird keine Farbe transparent behandelt. Zu beachten ist, dass die Bilder dieselbe Palette haben sollten, sonst sehen die Farben natürlich strange aus
[20:15:24] Cherry: Funktion 79: DrawPictureLine
Param1: Bild-ID
Param2: Anfangspunkt X
Param3: Anfangspunkt Y
Param4: Endpunkt X
Param5: Endpunkt Y
Param6: Farbindex
Zeichnet eine Linie in ein Bild.
[20:15:47] Cherry: Funktion 80: GetPictureDimensions
Param1: Bild-ID
Fragt die Größe eines Bildes ab und speichert sie in Param2 (Breite) und Param3 (Höhe).
[20:16:15] Cherry: Funktion 81: IsMessageWaiting
Wenn die Messagebox gerade auf Enter wartet (der Pfeil nach unten blinkt), wird Param1 = 1 gesetzt, ansonsten 0.
[20:16:16] Cherry: so.
[20:16:29] Cherry: jetzt zu den Fenstermanipulationen.
[20:17:13] Cherry: da kommt jetzt der Teil, der dir was bringt, nämlich dass du eigene (auch Rahmenlose - also man sieht nur den Text) Fenster erzeugen kannst und mit der Systemfont Texte draufschreiben.
[20:18:42] Cherry: Du kannst 895 eigene Fenster erzeugen.
[20:19:15] Cherry: ein Fenster ist sowas wie die Messagebox: Rahmen, Hintergrund, Text drauf, bei Bedarf Auswahlrechteck.
[20:19:23] Cherry: wobei Rahmen und Hintergrund auch weggelassen werden können
[20:19:52] Cherry: Das Custom Window Nummer 0 hat eine Sonderposition, das ist nämlich die Messagebox!
[20:20:06] Cherry: Custom Windows funktionieren so:
[20:20:16] Cherry: du hast einen Block an Variablen, wo du die Eigenschaften des Fensters hineinschreibst.
[20:20:40] Cherry: angenommen, der Variablenblock beginne bei 2001.
[20:20:43] Cherry: dann wäre das so:
[20:21:52] Cherry: 2001 => X-Position
2002 => Y-Position
2003 => Breite
2004 => Höhe
2005 => Event-ID des Events an dem das Fenster angeheftet sein soll
ab 2006 => Texte
[20:22:02] Cherry: die Position ist von der Mitte des Fensters aus gerechnet, wie bei Bildern.
[20:22:36] Cherry: Ist die Event-ID 0, wird die Position durch die Positionsvariablen angegeben.
[20:24:05] Cherry: Gibst du da eine Event-ID an, dann folgt das Fenster dem Event. Und zwar wenn die ID mit positiven Vorzeichen ist (z.B. 12), liegt die Mitte des Fensters genau auf den Screen-X/Y-Koordinaten des Events (das unten in der Mitte des Events). Gibst du der ID ein negatives Vorzeichen (z.B. -12), dann wird die Box über dem Kopf des Events dargestellt. Würde sie dadurch nicht mehr auf den Bildschirm passen, wird sie stattdessen unter dem Event dargestellt.
[20:24:32] Cherry: Texte funktionieren so:
[20:25:22] Cherry: Jeder Text wird durch einen Block aus 7 Variablen angegeben.
[20:25:27] Cherry: in unserem vorigen Beispiel wäre das:
[20:25:48] Cherry: 2006-2012: erster Text
2013-2019: zweiter Text
2020-2026: dritter Text
...
[20:25:51] Cherry: am Ende muss eine Variable mit Wert 0 stehen.
[20:26:07] Cherry: jeder Text ist nun so aufgebaut (hier z.B. ab Variable 2006 gerechnet):
[20:29:49 | Bearbeitet 20:45:20] Cherry: 2006 => Stringtyp [siehe Erklärung oben]
2007 => String-ID [siehe Erklärung oben]
2008 => ID der Variable für Wert 1 beim Evaluieren des Strings, sofern verwendet [siehe EvalHeroName!]
2009 => ID der Variable für Wert 2 beim Evaluieren des Strings, sofern verwendet [siehe EvalHeroName!]
2010 => Farbe (1 bis 20, wie bei \c[...] bei Messages, statt 0 muss aber 20 geschrieben werden)
2011 => X-Position
2012 => Y-Position
[20:30:26] Cherry: Gibst du der Y-Position ein positives Vorzeichen, beziehen sich die Koordinaten sich auf die linke obere Ecke des Textes. Gibst du ihr ein negatives Vorzeichen, beziehen sich auf den oberen MITTLEREN Punkt des Textes.
[20:31:41] MajinSonic: boah...^^ XD
Schreibst du das alles aus dem Kopf?
ich find das total heftig was du mir alles an den kopf wirfst XD
[20:31:44] Cherry: ja
[20:32:27] Cherry: das ganze (inklusive Größenänderung, Eventverfolgen und Texte) funktioniert auch für die messagebox, sie ist Custom Window 0. Der variablenblock für die Messagebox beginnt bei 3901 (hier im Beispiel war es ja 2001).
[20:32:45] Cherry: Dazu jetzt noch etwas interessantes:
[20:33:22] Cherry: Ist Switch 3367 an, passt die Messagebox ihre Größe automatisch an ihren Inhalt an!
[20:34:18] MajinSonic: Das ist praktisch, wenn ich z.B. Items erhalte... im stil von UiD^^ ohne das ich dafür ein Picture machen muss
[20:34:24] Cherry: Ist der Switch aus, wird...
a) wenn Variable 3904 (Höhenangabe) 0 ist, alles normal gemacht
b) wenn Variable 3904 nicht 0 ist, die Positionsangaben aus den Variablen 3901 bis 3905 (im Beispiel oben waren es 2001 bis 2005, klar?) genommen
[20:35:15] Cherry: Ist der Switch an, werden die Variable 3903 und 3904 selber befüllt, und die Position aus Variablen 3901 und 3902, bzw. 3905 bezogen.
[20:35:17] Cherry: Heißt jetzt:
[20:35:44] Cherry: Wenn du z.B. Switch 3367 (Autosize) an machst und in Variable 3905 (Event dem die Box folgen soll) -10001 schreibst, ist die Box immer über dem kopf des Helden.
[20:36:19] Cherry: Switch 3368 bewirkt, dass die Box sich über den Bildschirmrand hinausbewegen kann.
ANMERKUNG:
Es gibt beim Revolution Patch drei Möglichkeiten, die normale Messsagebox zu verwenden.
1) Alles wie gehabt. In diesem Fall sind auch die Faces da wo sie immer sind.
2) Autosize - Größe passt sich an Inhalt an (so wie hier am Screen), Position wird vorgegeben (entweder durch Koordinaten oder durch ein Event). In diesem Fall erscheinen die Faces ganz links bzw. rechts, und zwar über dem Fenster (aber direkt angedockt). Sieht natürlich nur dann wirklich gut aus wenn das Face einen transparenten Hintergrund hat. Text wird dann natürlich nicht eingerückt, auch wenn ein Face links angezeigt wird.
3) Größe und Position wird vorgegeben. In diesem Fall werden die Koordinaten der Facegrafik durch 2 Variablen angegeben (3375 und 3376). Die Einstellung Face links/rechts hat dann keine Auswirkung auf die Position des Faces, sondern nur darauf, ob der Text eingerückt wird oder nicht.
ANMERKUNG ZWEI: Input Number funzt nicht mit Autosize. Da muss man die Größe der Box selber einstellen.
[20:36:26] Cherry: Okay, zurück zu den eigenen Fenstern.
[20:36:43] Cherry: Für Fenster 0 (die normale Messagebox) ist der Variablenblock ja fix: Ab 3901.
[20:36:53] Cherry: Für die anderen gibt es eine Tabelle, die ist ab Variable 3401.
[20:37:23] Cherry: Da kommen immer zwei aufeinanderfolgende Variablen rein, die gelten für ein Fenster.
[20:37:56] Cherry: 3401 => Fenster 1, Anzeigemodus
3402 => Fenster 1, Variablenblock
3403 => Fenster 2, Anzeigemodus
3404 => Fenster 2, Variablenblock
... und so weiter
[20:38:00] Cherry: am Ende muss eine Variable mit Wert 0 sein.
[20:38:40] Cherry: Anzeigemodus setzt du auf 2 (1 und 3 hat mir dir nichts zu tun, da geht es um Fenster im Kampf), den Variablenblock kannst du dir aussuchen.
[20:39:13] Cherry: Angenommen, dein Custom Window 1 soll die Positionsangabe und die Textangaben ab Variable 5001 haben.
[20:39:40] Cherry: dann schreibst du setzt du Var 3401 = 2 (ich sagte ja, immer 2) und Var 3402 = 5001.
[20:39:56] Cherry: Dann gilt für dieses Fenster die Info ab Variable 5001 - im Beispiel oben also statt 2001 dann 5001.
[20:40:39] Cherry: Es gibt jetzt noch folgende Funktionen für die Verwaltung eigener Fenster:
[20:46:39] Cherry: Funktion 21: OpenCustomWindow
Param1: Fenster-ID
Param2: Typ
Öffnet ein Fenster.
Der Typ ist einer der folgenden:
0 = Fenster hat Rahmen und Hintergrund, erscheint sofort
1 = Fenster hat Rahmen und Hintergrund, klappt auf
2 = Fenster hat keinen Rahmen und Hintergrund, erscheint sofort
3 = Fenster hat keinen Rahmen und Hintergrund, klappt auf
[20:47:02] Cherry: Funktion 22: CloseCustomWindow
Param1: Fenster-ID
Schließt ein Fenster.
[20:47:49] MajinSonic: boah...eine menge...
Ich kopiere mir alles in eine textdatei..
Es wird dauern, bis ich mich da durchgefressen habe
[20:48:01] Cherry: Funktion 23: ClearCustomWindow
Param1: Fenster-ID
Löscht den Inhalt eines Fensters. Dies ist nur notwendig, wenn eine Auswahl angezeigt wird und man den Text ändern will, ohne Auswahl wird Text bei Änderung sofort aktualisiert.
[20:48:23] Cherry: Funktion 24: IsCustomWindowOpen
Param1: Fenster-ID
Setzt Param2 auf 1 (Fenster offen) oder 0 (Fenster zu)
[20:48:56 | Bearbeitet 20:49:05] Cherry: Funktion 25: HasCustomWindowOpeningFinished
Param1: Fenster-ID
Sinnvoll, wenn man Fenster aufklappen lässt. Setzt Param2 auf 1 (Fenster fertig offen) oder 0 (Fenster noch im Aufklappen).
[20:49:40 | Bearbeitet 20:49:55] Cherry: (moment)
[20:49:46] Cherry: (moment)
[20:51:59 | Bearbeitet 20:52:20] Cherry: Funktion 26: SetCustomWindowMode
Param1: Fenster-ID
Param2: Modus
Ändert den Modus eines (offenen) Fensters.
Modus kann sein:
0 = statisch. Einfach nur da.
1 = wartet auf Enter - zeigt den blinkenden Pfeil an
2 = aktive Auswahl - hat ein blinkendes Auswahlrechteck, sollte auch auf auf/ab reagieren
3 = inaktive Auswahl - hat ein nicht blinkendes Auswahlrechteck, reagiert nicht auf auf/ab
4 = doppelte Höhe - wie 0, allerdings wird alles vertikal auf 2x vergrößert
[20:54:14] Cherry: Funktion 27: SetCustomWindowBackgroundTransparency
Param1: Fenster-ID
Param2: Hintergrund sichtbar (0) oder unsichtbar (1)
Ändert, ob das Fenster einen sichtbaren Hintergrund hat. Öffnet man zuerst ein Fenster ohne Rahmen und Hintergrund und ändert den Hintergrund dann auf sichtbar, kriegt man ein Fenster ohne Rahmen aber mit Hintergrund.
[20:54:55] Cherry: Funktion 28: SetCustomWindowChoiceCount
Param1: Fenster-ID
Param2: Anzahl Auswahlmöglichkeiten
Ändert die Anzahl an Auswahlmöglichkeiten
[20:55:39] Cherry: Funktion 29: SetCustomWindowChoicesColumns
Param1: Fenster-ID
Param2: Anzahl Auswahlspalten
Ändert die Anzahl an Auswahlspalten (das Skillfenster hat z.B. normal 2, ein normales Show Choice hat 1)
[20:56:43] Cherry: Funktion 30: SetCustomWindowChoicesPerPage
Param1: Fenster-ID
Param2: Anzahl Auswahlmöglichkeiten, die in das Fenster passen
Stellt man da weniger ein, als das Fenster überhaupt Auswahlmöglichkeiten hat, bekommt man scrollpfeile und das Fenster scrollt wenn man sich weiter runterbewegt.
[20:57:37] Cherry: Funktion 31: SetCustomWindowSelPos
Param1: Fenster-ID
Param2: X-Offset
Param3: Y-Offset
Ändert die Position des Auswahlrechtecks relativ zur normalen
[20:57:57] Cherry: Funktion 32: SetCustomWindowSelSize
Param1: Fenster-ID
Param2: Breite
Param3: Höhe
Ändert die Größe des Auswahlrechtecks
[20:58:26 | Bearbeitet 20:58:40] Cherry: Funktion 33: SetCustomWindowChoiceDefault
Param1: Fenster-ID
Param2: Standardwert
Legt fest, welchen Wert die Auswahl zurückliefern soll, wenn man ESC drückt (0 bedeutet, ESC wird ignoriert)
[20:59:27] Cherry: Funktion 34: SetCustomWindowChoiceResultVar
Param1: Fenster-ID
Param2: Variablen-ID der Variable, in die das Auswahlergebnis geschrieben werden soll
Drückt man ENTER, wird in die angegebene Variable die aktuelle Auswahlnummer geschrieben (bei ESC der Standardwert)
[20:59:59] Cherry: Funktion 35: GetCustomWindowChoice
Param1: Fenster-ID
Schreibt in Param2 die aktuelle Auswahl im Fenster (beginnend bei 1 für die erste Auswahlmöglichkeit)
[21:00:31] Cherry: Funktion 36: GetCustomWindowScrollPos
Param1: Fenster-ID
Schreibt in Param2, wie weit das Fenster nach unten gescrollt hat (wenn man mehr Auswahlmöglichkeiten als Platz hat)
[21:00:48] Cherry: Funktion 37: SetCustomWindowChoice
Param1: Fenster-ID
Param2: Auswahl
Setzt die aktuelle Auswahl
[21:01:15] Cherry: ok, das wars. Das ist alles, was der Revolution Patch kann - bis auf die Funktionen im Kampf und Menü, die hab ich dir verschwiegen, weil du sie sicher nicht brauchst.
[21:01:19] Cherry: Vielleicht eines noch:
[21:01:45] Cherry: wenn du die Messagebox auf Autosize hast ODER eine eigene Größe eingestellt hast, kannst du die überlangen Messageboxes und Choices verwenden.
[21:02:00] Cherry: dazu einfach die revmsgedit.exe starten, die Message eintippen, save to clipboard, und im Event einfügen.
[21:02:15] Cherry: wenn du eine bestehende Message ändern willst, kopierst du sie und dann load from clipboard im Message Editor.
[21:02:31] Cherry: für Choices funktioniert es genauso, dabei wird das, was in den einzelnen Choice-Abschnitten an Code drinnensteht, erhalten.
[21:02:45] Cherry: Dass der Maker für die 5. Zeile immer "Cancel" hinschreibt, ist egal. Angezeigt wird es richtig.
[21:03:01] Cherry: Der Wert, den du im Message Editor bei "Default" einstellst, ist die Zeile, die aktiviert wird, wenn man ESC drückt.
[21:03:05] Cherry: Gibst du da 0 ein, wird ESC ignoriert.
[21:03:17] Cherry: Willst du einen eigenen Bereich für ESC, gib eine Zeile ein, die es nicht gibt.
[21:03:18] Cherry: SO.
[21:03:19] Cherry: PUH.
[21:03:22] Cherry: Das war anstrengend!
[21:03:23] Cherry: :D
[21:04:06] Cherry: Ah, eines nur noch: Verwende die Variablen 3361 bis 4100 und die Switches 3371 bis 3400 nicht für was anderes.
[21:06:12] HAB ICH JETZT ECHT 3 STUNDEN GETIPPT?!
[21:06:19] Cherry: WAH.
Zum Thema Menü/KS nur soviel: Macht mal Switch 3363 an (Menü), und Switch 3364 (Kampf). Für letzteres könnt ihr euch selber Verwendungsmöglichkeiten ausdenken^^
mfG Cherry
EDIT: Ok, eine kleine Info geb ich noch, weil sie schnell geht:
Das was im Spoiler über die Variablen ab 3901 mit der Message geht (Positionieren und Texte reinpacken), geht auch mit ein paar anderen Fenstern, dabei hat die Variable, die hier die Box einem Event folgen lässt, eine andere Bedeutung - ist sie 1, wird der "normale" Inhalt des betreffenden Fensters entfernt:
ab 3501 => Aktionswahlfenster im Menü
ab 3601 => Statusfenster im Menü
ab 3701 => Goldfenster im Menü
ab 3801 => Zielwahlfenster im Menü
ab 4001 => Statusfenster im Kampf
PS: Die Version hier hat noch weder Alphachannel, noch mehr Battleanis, noch animierte Monster. Noch nicht ausgereift.
================================
EDIT2: Wieder was neues (nicht in diesem Download) - noch hilfreichere Fehlermeldungen.
http://share.cherrytree.at/showfile-2935/screenshot_430_no_atb_test.png
Hrm, das klingt ja alles sehr interessant.
Wie schauts denn mit Pictures im Kampf aus?
Beim Pictures in Battle Patch konnte man angeben, auf welcher Ebene (zwischen Monstern, Hud, Hintergrund etc.) sich alle Pictures befinden. Besteht hier jetzt auch die Möglichkeit einige Pictures über andere jedoch unter den Monstern anzuzeigen?
Die Pictures im Kampf sind, wie die Pictures auf der Map, aufgeteilt auf mehrere Ebenen.
Backdrop < Pics 8000-8499 < Helden/Gegner < Animationen < Pics 8500-8999 < Wettereffekte < Pics 9000-9499 < Fenster < Pics 9500-9999 < Timer
Zwischen Helden/Gegner und Animationen geht nichts rein, weil nämlich nicht alle Helden/Gegner und dann alle Animationen gezeichnet werden, sondern immer ein Held/Gegner und dann, sofern es eine gibt, die Animation die ihn gerade betrifft.
R0tbarsch
08.06.2011, 09:48
Was halt wirklich nun nen kracher wäre... wenn die battleevents von einer bestimmten monstergruppe für alle gelten würden. WolfCoders RPG Maker 20XX kann das (läuft aba sonst ziemlich... unsauber.)
EDIT: und BetterAEP wäre noch gut. Und bitte mach deinen "powered by Cherry" Flashscreen schöner ^^;
Ich hab vor, sowas in der Art einzubauen.
BetterAEP kannst du selber drauftun (die IPS-Version davon).
R0tbarsch
08.06.2011, 15:25
Okay, mit deinen IPS Patches is das also kompatibel? Das wusste ich noch nicht, schreib das doch dran :D
Hab ich doch...!
Da ist zwar eine eigene RPG_RT, die auch größer ist als normal, sie ist aber mit allen sonstigen Patches für RM2k3 v1.08 kompatibel.
R0tbarsch
08.06.2011, 21:45
Okay, Barsche sind blind.^^;
Engel der Furcht
08.06.2011, 21:50
Endlich mal Fehlermeldungen die was bringen :D
Eventabläufe können auf Wunsch nachverfolgt werden.
http://share.cherrytree.at/showfile-2946/screenshot_437_.png
http://share.cherrytree.at/showfile-2945/screenshot_438_no_atb_test.png
http://share.cherrytree.at/showfile-2947/screenshot_439_tracelog___notepad2.png
So, ich hätte auch mal einen Wunsch: Wäre ein Tool für den 2k3 V1.08 möglich, mit dem man mehrere Variablen kopieren kann? Bei den CommonEvents gibt es ja den Befehl "Multiple Copy", ließe sich das irgendwie für die Variablenliste einrichten, oder als extra Tool? Denn ich hantiere gerne mit unfertigen Scripts in eigenen Projekten und es ist eine Heidenarbeit jedesmal dann die ganzen Variablen beim übertragen von Projekt A nach Projekt B einzeln wieder zu benennen.
Traumhaft wäre ein externes Tool, was mir einfach die Namen der Variablen in die Zwischenablage kopiert und ich dann nur noch STRG+V drücken muss - also ohne, dass der Maker selbst gleich groß angegangen werden muss... Aber da weiß ich nicht ob das geht. Geht das? xD
Wenns sowas schon gibt sorry, ich wäre dankbar wenn mir dann jemand einen Link oder zumindest einen Namen geben könnte.
Ließen sich mehr als 4 Auswahlmöglichkeiten beim RMK2K bei Show Choice/Auswahl anzeigen auch realisieren?
Danke schonmal im voraus für die Antwort!
@BDraw: Ich weiß was du meinst... Es gibt zwar den RM2k Debugger, der funktioniert scheinbar aber nur mit einer ganz bestimmten RPG2000.exe - Nein, ich hab im Augenblick keine Zeit, sowas zu schreiben, sorry.
Du hast aber wesentlich weniger Arbeit, wenn du das alte und das neue Projekt gleichzeitig öffnest (z.B. hiermit (http://cherrytree.at/ultimate)) und dann einfach klick, Strg+C, klick, Strg+V, und das wiederholen^^ Daraus könntest du sogar ein Tastatur-/Mausmakro machen was das für dich erledigt.
@Kyren: Realisieren ließe sich alles, aber ich mache den Patch nur für den RM2k3, weil ich im Prinzip die Arbeit nochmal hätte, die Mehrheit (international betrachtet!) aber den RM2k3 nutzt.
EDIT: Jetzt mit Variablen-/Switch-Änderungs-Logfunktion (betrifft nicht nur Eventbefehle sondern auch Sachen wie F9-Menü, Items/Skills die einen Switch aktivieren, das Ergebnis von Input Number, etc.).
Beispiel:
[17:10:11, Frm 2091] Ev 37, Pg 1, Ln 21: <>
[17:10:11, Frm 2091] Ev 37, Pg 1, Ln 22: : End of loop
[17:10:11, Frm 2091] V[302:Tries] == 3
[17:10:11, Frm 2091] Ev 37, Pg 1, Ln 4: <> Change Variable: [302] += 1
[17:10:11, Frm 2091] V[302:Tries] := 4
[17:10:11, Frm 2091] Ev 37, Pg 1, Ln 5: <> Show Message: Try \v[302]: Guess a number (0-9)!
[17:10:12, Frm 2142] V[303:Guess] := 2
[17:10:12, Frm 2142] V[303:Guess] == 2
[17:10:12, Frm 2142] V[301:Correct Answer] == 2
[17:10:12, Frm 2142] Ev 37, Pg 1, Ln 7: <> Fork Condition: If Variable [303] == V[301] then ...
[17:10:12, Frm 2142] Ev 37, Pg 1, Ln 8: <> Show Message: Correct after \v[302] tries!
[17:10:12, Frm 2191] Ev 37, Pg 1, Ln 9: <> Break Loop
@Kyren: Realisieren ließe sich alles, aber ich mache den Patch nur für den RM2k3, weil ich im Prinzip die Arbeit nochmal hätte, die Mehrheit (international betrachtet!) aber den RM2k3 nutzt.
Mhh, verstehe ich vollkommen - Danke dir für die schnelle Antwort!
Falls das wirklich große Probleme aufwirft, lässt sich's ja relativ leicht auf den RM2K3 wechseln, wenn ich mich recht erinnere.
Ah okay, trotzdem danke. Den Debugger hatte ich schon probiert, aber naja... wie du schon sagst, der hilft mir leider nicht.
Dann schaue ich mir mal deinen Link an, sieht ja auch sehr vielversprechend aus. Wenn du's irgendwann mal irgendwo dennoch einbauen solltest oder es dich überkommt denk an mich. xD
EDIT:
Ah, wunderbar! Schon fertig. Vielen Dank! Und dazu hab ich jetzt endlich eine etwas bessere Übersicht über meine Eventcodes... xD
goldenroy
10.06.2011, 17:15
Ähm, ich habe eine Bitte...
Ich hab dieses Problem
[18:47:44] Cherry: Wenn Switch 3371 an ist, wird die Messagebox ohne Rahmen und Hintergrund dargestellt, auch wenn bei Message Display Options "Opaque" eingestellt ist. Sinn der Sache ist, dass nämlich "Transparent" in den Message Display Options beim 2k3 einen Nebeneffekt hat: Sind die transparenten Fenster aktiv (kann man in der Database unter Battle Layout - blöde Stelle, ich weiß - einstellen), erscheinen dann nämlich viele Fenster nur mit Rahmen, aber komplett ohne Hintergrund. Um das zu vermeiden, gibts den Switch stattdessen, der betrifft wirklich nur die MEssageboxwen ich den Mike-Menü-Patch (ja, so nenn ich das jetzt xD) benutze. Das passiert aber nur, wenn ich ein bestimmtes Event einfüge. Ist aber auch egal.
Wäre es möglich, die zitierte Sache (also den Switch für die Textbox) in einen ips-Patch zu packen?
Da ich schon allerlei Sachen in der RPG_RT.exe habe und nicht eigentlich noch vorab, das alles auszutauschen.
Falls das möglich wäre, könntest du den Switch auch von Nr. 3371 auf 0003 stellen?
Das wäre echt nett. :3
PS: Ist es eigentlich normal, das die Transition Fade Out/In irgendwie..nicht mehr da ist, wenn man den Mike-Menü-Patch drin hat?
Hey,
ich hab eine Frage, es geht um Multilanguage in den Spielen.
Wäre es möglich sowas zu ermöglichen in dem Sinne:
Man wählt irgendwo im Menu eine Sprache aus:
language = 1 // <-- steht z.B für deutsch
und dann jenachdem was möglich ist und was nicht
multi.lang = language // wäre statische variable und das objekt wird im kommentar benutzt wie im destiny patch
und im event fenster wie z.B im kommentar schreiben etwas wie
multi.show("ort/charname.txt",2) // löst eine messagebox aus mit dem zweiten message in der txt datei
beispiel wie ich mir die show methode vorstellen würde:
void show(string path, int number)
{
string message = getMessageFromFile(this.appDir + "lang/" + number + "/" + path,number)
messagebox(message)
}
die txt könnte so aussehen
1
BEGIN
irgendein text
END
...usw
Der string in der show methode würde für einen pfad stehen, voller pfad wäre dann z.b
projektordner/lang/$language$/ort/charname.txt.
Hoffe das das dir falls eine umsetzung möglich wäre, dir weiterhelfen konnte für um anzufangen.
Falls so etwas schon gibt, dann postet das einfach mal.
hoffe das du mir da weiterhelfen könntest :)
Rosa Canina
11.06.2011, 19:41
Wäre es nicht einfacher den Spieler am Anfang zu fragen, welche Sprache er will, dann nen Switch anzuschalten und per Fork jeweils die passende Sprache auszugeben, wenn er im Spiel was anlabert???
Dazu braucht man doch nix von Cherry ^^°
Zumal das hier von dir vorgeschlagene nicht unbedingt viel schneller aussieht.
Wär strukturierter und die events würden nicht zugestopft sein mit tausenden messages.
Und nachtrag zu .txt inhalt für richtige gespräche:
1
BEGIN
END
BEGIN
END
jeweils BEGIN --> END eine message wäre ~
Mir gehts ja nur um effizenteres arbeiten, dass es auch so geht is klar.
Rosa Canina
11.06.2011, 20:27
Statt bei JEDER MSG eine Fork zu machen, könntest du auch mit Eventseiten oder einer einzelnen Fork arbeiten, dann ist das auch übersichtlich ;)
Hey, ich versuch hier nur Cherry Arbeit abzunehmen ^^
@EdF unter mir:
Imo nicht XD
Wer international landen will, der makert englisch.
Engel der Furcht
11.06.2011, 20:36
Ist ein Multilinguales Spiel überhaupt sinnvoll?
Ähm, ich habe eine Bitte...
Ich hab dieses Problem
wen ich den Mike-Menü-Patch (ja, so nenn ich das jetzt xD) benutze. Das passiert aber nur, wenn ich ein bestimmtes Event einfüge. Ist aber auch egal.
Wäre es möglich, die zitierte Sache (also den Switch für die Textbox) in einen ips-Patch zu packen?
Da ich schon allerlei Sachen in der RPG_RT.exe habe und nicht eigentlich noch vorab, das alles auszutauschen.
Falls das möglich wäre, könntest du den Switch auch von Nr. 3371 auf 0003 stellen?
Das wäre echt nett. :3
Das ist leider etwas schwierig, weil an der Sache das ganze manipulierte Fenstersystem dranhängt (also das mit dem man Fenster verschieben und neue erstellen kann, etc.). Du könntest aber einfach an allen Stellen wo Text mit unsichtbarer Box angezeigt wird, das Menü verbieten, bzw. danach es wieder auf nicht-transparent setllen...
PS: Ist es eigentlich normal, das die Transition Fade Out/In irgendwie..nicht mehr da ist, wenn man den Mike-Menü-Patch drin hat?
Ja, der Grund ist etwas weiter oben im Thread erläutert. Wenn du es nicht willst, müsstest du den Anti-Fade-IPS-Patch nehmen der weiter oben verlinkt ist, ihn auf eine originale RPG_RT anwenden, dann aus der gepatchten und der originalen eine neue IPS erstellen (aber umgekehrt - indem du die gepatchte als "original" und die originale als "gepatcht" angibst) und die dann auf deine RPG_RT anwenden.
Hey,
ich hab eine Frage, es geht um Multilanguage in den Spielen.
Wäre es möglich sowas zu ermöglichen in dem Sinne:
Man wählt irgendwo im Menu eine Sprache aus:
language = 1 // <-- steht z.B für deutsch
und dann jenachdem was möglich ist und was nicht
multi.lang = language // wäre statische variable und das objekt wird im kommentar benutzt wie im destiny patch
und im event fenster wie z.B im kommentar schreiben etwas wie
multi.show("ort/charname.txt",2) // löst eine messagebox aus mit dem zweiten message in der txt datei
beispiel wie ich mir die show methode vorstellen würde:
void show(string path, int number)
{
string message = getMessageFromFile(this.appDir + "lang/" + number + "/" + path,number)
messagebox(message)
}
die txt könnte so aussehen
1
BEGIN
irgendein text
END
...usw
Der string in der show methode würde für einen pfad stehen, voller pfad wäre dann z.b
projektordner/lang/$language$/ort/charname.txt.
Hoffe das das dir falls eine umsetzung möglich wäre, dir weiterhelfen konnte für um anzufangen.
Falls so etwas schon gibt, dann postet das einfach mal.
hoffe das du mir da weiterhelfen könntest :)
Hm, so ganz in der Form vielleicht nicht, aber in einer ähnlichen: Ich bau am besten eine Funktion ein, die einen Heroname aus einer bestimmten Zeile einer Textdatei liest.
Du könntest es dann folgendermaßen machen:
In die Textdatei:
Dies ist ein kleiner Test <<< diese Message hat dann Nummer 1 (hier in diesem Beispiel gibt es dann nur Nummern der Form n*4+1)
mit mehreren Zeilen.
Drei, um genau zu sein.
Diese hier hat zwei. <<< diese Message hat dann Nummer 5
Jawoll.
Und diese alle vier. <<< diese Message hat dann Nummer 9
Dafür muss ich mir noch
etwas Blödsinn einfallen
lassen.
Ja << dies ist eine Auswahl, sie hat Nummer 13
Nein
Vielleicht
Ein Common Event, was in der einer Variable die Textnummer entgegennimmt, würde dann so aussehen (Pseudocode)
Textzeile lesen => Held 20
Textnummer += 1
Textzeile lesen => Held 21
Textnummer += 1
Textzeile lesen => Held 22
Textnummer += 1
Textzeile lesen => Held 23
Textnummer += 1 (das machen wir, damit man, wenn es mehrere Messages sein sollen, einfach das CE nochmal callen kann ohne die Variable neu zu setzen)
Show Message: \n[20]
: \n[21]
: \n[22]
: \n[23]
Das CE verwendet man dann so:
Textnummer = 5
Call Event: MessageAusDatei
Eine Auswahl könnte man dann mit einem zweitem Common Event machen, was genau dasselbe tut, nur ohne das Show Message am Schluss. Das würde man dann so verwenden
Textnummer = 13
Call Event: ChoiceAusDatei
Show Choice: \n[20]/\n[21]/\n[22]
............ und so weiter
Die Debug-Fähigkeiten des kommenden Revolution Patch schon jetzt! *jingle* ...bestellen Sie jetzt, und erhalten Sie ....blabla
Download: http://share.cherrytree.at/showfile-2967/debug_addon.rar
Für RM2k3.
Wie man das installiert:
Entweder die RPG_RT.exe ins Projekt kopieren und eventuell vorhandene Patches neu installieren (das ist eine RPG_RT.exe mit Version 1.08), oder die im Download enthaltene IPS-Datei auf die bestehende RPG_RT.exe (muss v1.08 sein) patchen. In beiden Fällen dann noch die revhelper.dll ins Projekt kopieren.
Was das kann:
1) Wenn das Spiel abstürzt, wird es nicht geschlossen, sondern neu gestartet.
2) Wenn ein Bild fehlt (Charset, Picture, etc.), stürzt das Spiel nicht ab. Stattdessen wird ein Dummybild und eine Warnung angezeigt.
3) Im Testplay kann man mit F11 speichern.
4) Information über die aktuelle Eventzeile wird immer in den Variablen 49991 (Event-ID), 49992 (Eventseiten-ID) und 49993 (Zeilennummer) gespeichert. Wenn man nicht so viele Variablen verwendet, kann man "Variable Reference" verwenden, um auf diese hohen IDs zuzugreifen.
5) Im Testplay kann man mit F3 Events nachverfolgen. Man kann auswählen, welche Events nachverfolgt werden sollen und ob Switch-/Variablenzuweisungen mitgeschrieben werden sollen. Jede ausgeführte Eventzeile (und Informationen über die Werte von Switches und Variablen) wird in der Datei "trace.log" mitgeschrieben. Durch erneutes Drücken von F3 wird das Tracing wieder gestoppt. Man kann die Logdatei dann zur Fehlersuche verwenden. (Hinweis: Der "Frm"-Wert in der Logdatei ist die Anzahl an Frames seit dem Start des Spiels.)
Battle Events werden nicht vollständig unterstützt, sie bekommen immer Event-ID 0 und Eventseiten-ID 0. Common Events bekommen eine negative ID und Eventseiten-ID 0. Map Events bekommen ihre ganz normale ID und Eventseiten-ID.
http://share.cherrytree.at/showfile-2972/screenshot_446_untitled.png
http://share.cherrytree.at/showfile-2973/screenshot_447_untitled.png
http://share.cherrytree.at/showfile-2970/screenshot_445_untitled.png
http://share.cherrytree.at/showfile-2968/screenshot_442_trace_event_scripts.png
http://share.cherrytree.at/showfile-2969/screenshot_443_untitled.png
http://share.cherrytree.at/showfile-2971/screenshot_444_tracelog___notepad2.png
mfG Cherry
Mr.Räbbit
13.06.2011, 21:17
Debug Fähigkeiten
Hab zwar eben noch rumgegrummelt...
Aber ich muss sagen der Patch sieht echt genial aus.
1. Frage: Kannst du mir eine Garantie geben, dass danach nicht alles in Scherben zerfällt? :] (Also meine Projekte, und ja, ich habe auch die 1.08 Version des R2k3)
2. Frage: Hast du den Patch, selber geschrieben? (blöde Frage, aber ich kanns nich fassen, hätte das schon soooo viel früher gebrauchen können)
Cheers, Räbbit!
@1: Ja.
@2: Natürlich.
Wenn du Zweifel hast, oder es dich einfach interessiert:
Änderungen an der RPG_RT.exe (als Script für das MUltimate Assembler Plugin für OllyDbg)
<00515FD0>
@LoadDLLAndCrashIfModified:
call @LoadRevDLL ; LoadDLLAndCrashIfModified proc
jmp 406910 ; Sysinit::InitExe
<004C9C31>
call @LoadDLLAndCrashIfModified
<004F6000>
dd 0deadbeef ; marker for helper DLL
<004F6004>
@DLL_LoadPlugins:
<004F6008>
@DLL_GetMessageLineLength:
<004F600C>
@DLL_AuroraBltRect:
<004F6010>
@DLL_AuroraDrawLine:
<004F6014>
@DLL_BetterGetResFilename:
<004F6018>
@DLL_BetterErrorMessage:
<004F601C>
@DLL_F3Pressed:
<004F6020>
@DLL_TraceLine:
<004F6024>
@DLL_DrawTracingImage:
<004F6028>
@DLL_LogSetVar:
<004F602C>
@DLL_LogSetSwitch:
<004F6030>
@DLL_SimulateKeyPress:
<004F67F0>
@PlugInSetVarHandler:
dd @DummySetVarHandler
<004F6800>
@VarIDCurrentEventID:
dd 49991.
@VarIDCurrentEventPage:
dd 49992.
@VarIDCurrentEventScriptLine:
dd 49993.
@CheckF11:
push 7a ; CheckF11 proc ; VK_F11
call 407054 ; GetAsyncKeyState
movsx eax, ax
test ah, 80
jz 407054 ; GetAsyncKeyState
mov eax, [4cdc7c]
mov eax, [eax]
mov byte ptr [eax+4], 5
mov eax, [4cdfcc]
mov eax, [eax]
mov byte ptr [eax+50], 1
mov byte ptr [eax+51], 0
mov eax, [4cdc1c]
mov eax, [eax]
push 40240000
push 0
call 48ce04 ; FadeOut
mov eax, [4cdc1c]
mov eax, [eax]
mov byte ptr [eax+0c], 0
xor ax, ax
retn 4
@SetVarCommand:
push ebx
push esi
push edi
mov edi, ecx
pushad
cmp edx, [@VarIDCurrentEventID]
je @DontLog
cmp edx, [@VarIDCurrentEventPage]
je @DontLog
cmp edx, [@VarIDCurrentEventScriptLine]
je @DontLog
push ecx
push edx
call [@DLL_LogSetVar]
@DontLog:
popad
jmp 48b3b5
@GetResFilenameWrapper:
push ebp ; GetResFilenameWrapper proc
mov ebp, esp
push 0 ; [ebp-4] / [local.1] => eax
push 0 ; [ebp-8] / [local.2] => edx
push 0 ; [ebp-0c] / [local.3] => [arg.1]
mov [local.1], eax
mov [local.2], edx
push [arg.1]
pop [local.3]
push [arg.2]
push [arg.1]
push @GRFJumpBack
push ebp
mov ebp, esp
add esp, -10
jmp 474706
@GRFJumpBack:
pushad
push [local.3]
push [local.2]
push [local.1]
call [@DLL_BetterGetResFilename]
popad
mov esp, ebp
pop ebp
retn 8
@LoadRevDLL:
pushad ; LoadRevDLL proc
push @RevDLLName
call 406c14 ; LoadLibraryA
test eax, eax
jz @RevDLLError
call [@DLL_LoadPlugins]
popad
retn
@RevDLLError:
push 0
push 0
push @ErrRevhelperDLLNotFound
push 0
call 4012dc ; MessageBoxA
call 4012d4 ; ExitProcess
int3
@RevDLLName:
"revhelper.dll\0"
@ErrRevhelperDLLNotFound:
"File not found: revhelper.dll\0"
@DummySetVarHandler:
retn 8 ; DummySetVarHandler proc
@GetVar:
push edx ; GetVar proc
push ecx
mov eax, [4cdc7c]
mov eax, [eax]
mov edx, [esp+0c]
call 48b398 ; GetVar
pop ecx
pop edx
retn 4
@SetVar:
push edx ; SetVar proc
push ecx
mov eax, [4cdc7c]
mov eax, [eax]
mov edx, [esp+10]
mov ecx, [esp+0c]
call 48b3b0 ; SetVar
pop ecx
pop edx
retn 8
@GetSwitch:
push edx ; GetSwitch proc
push ecx
mov eax, [4cdc7c]
mov eax, [eax]
mov edx, [esp+0c]
call 48b324 ; GetSwitch
and eax, 1
pop ecx
pop edx
retn 4
@SetSwitch:
push edx ; SetSwitch proc
push ecx
mov eax, [4cdc7c]
mov eax, [eax]
mov edx, [esp+10]
mov ecx, [esp+0c]
call 48b33c ; SetSwitch
pop ecx
pop edx
retn 8
@SetEventIDVariable:
pushad ; SetEventIDVariable proc
push [@VarIDCurrentEventScriptLine]
inc edx
push edx
call @SetVar
push [@VarIDCurrentEventID]
push [ebx+1c]
call @SetVar
push [@VarIDCurrentEventPage]
push 0
call @SetVar
mov eax, [4cdd74]
mov eax, [eax]
mov eax, [eax+18]
mov edx, [ebx+1c]
call 475740 ; GetFromList
test eax, eax
jz @SEIDVCont
call 4ab4f0 ; GetActiveEventPage
push [@VarIDCurrentEventPage]
push eax
call @SetVar
@SEIDVCont:
popad
call 479710 ; GetEventScriptLine
pushad
push [@VarIDCurrentEventScriptLine]
push [@VarIDCurrentEventPage]
push [@VarIDCurrentEventID]
push eax
call [@DLL_TraceLine]
popad
retn
@BetterErrorMessage:
push eax ; BetterErrorMessage proc
push ecx
push [@VarIDCurrentEventScriptLine]
push [@VarIDCurrentEventPage]
push [@VarIDCurrentEventID]
push edx
call [@DLL_BetterErrorMessage]
mov edx, eax
mov eax, [4cdd4c]
mov eax, [eax]
mov byte ptr [eax+18], 0
pop ecx
pop eax
jmp 4558ac ; Forms::TApplication::MessageBox
@SetCommonEventID1:
call 47991c ; SetCommonEventID1 proc ; CallEvent
mov eax, ebx
neg eax
retn
@SetCommonEventID2:
call 47991c ; SetCommonEventID2 proc ; CallEvent
mov eax, edi
neg eax
mov [ebx+1c], eax
retn
@SetCommonEventID3:
call 47991c ; SetCommonEventID3 proc ; CallEvent
mov edx, 1
mov eax, esi
call 47967c ; GetEvParam
neg eax
mov [ebx+1c], eax
retn
@SetCommonEventID4:
call 47991c ; SetCommonEventID4 proc ; CallEvent
xor edx, edx
mov eax, edi
call 47967c ; GetEvParam
neg eax
mov [ebx+1c], eax
retn
@UpdateScreenHook:
pushad ; UpdateScreenHock proc
call [@DLL_DrawTracingImage]
popad
push ebp
mov ebp, esp
push ecx
mov [ebp-4], eax
jmp 46bc33
@LogSetSwitch:
pushad ; LogSetSwitch proc
push ecx
push edx
call [@DLL_LogSetSwitch]
popad
push ebx
push esi
push edi
mov ebx, ecx
jmp 48b341
@CheckRestartOnError:
mov ecx, [4cdb94] ; CheckRestartOnError proc
mov ecx, [ecx]
test ecx, ecx
jz @AbortGame
cmp dword ptr [ecx], 0
jz @AbortGame
mov ecx, [ecx+10]
test ecx, ecx
jz @AbortGame
jmp 46ae95
@AbortGame:
mov eax, [4cde78]
mov eax, [eax]
call 455808 ; Forms::TApplication::Terminate
jmp 46ae95
<0048B33C>
jmp @LogSetSwitch
<0046BC2C>
jmp @UpdateScreenHook
<004B2DA6>
call @SetCommonEventID1 ; set common event ID in +1C field
nop
nop
<004B0ECC>
call @SetCommonEventID2
<004B0D5A>
call @SetCommonEventID3
<004B0F71>
call @SetCommonEventID4
<0046AE84>
call @BetterErrorMessage ; show last event script info in error messages
<004B1DEC>
call @SetEventIDVariable ; put current event ID in a variable
<00474700>
jmp @GetResFilenameWrapper ; better handling of file-not-found errors
<004A3717>
call @CheckF11 ; in testplay, use F11 for saving the game
<0046AE89>
jmp @CheckRestartOnError ; don't close on error; just restart game
<0048B3B0>
jmp @SetVarCommand ; log variable changes
Sourcecode der DLL: http://share.cherrytree.at/showfile-2975/revhelpersrc.rar
Ich weiß, dass einiges nicht optimal gelöst ist, aber ich habe meinen alten Code von RMEventFactory übernommen und hatte keine Lust, ihn komplett umzuschreiben. Wer das hier runterlädt, kann sich freuen, denn er hält damit auch meinen Code zum Lesen und Schreiben von Events in der Zwischenablage in den Händen, sowie den des EasyEventExporters, wenn auch in überarbeiteter Form.
Die DLL enthält übrigens einige Dinge, die hier gar nicht verwendet werden, im eigentlichen Revolution Patch aber schon.
Hast du dir angeschaut, was ich in den letzten Seiten dieses Threads noch so gepostet habe? Dieser Patch hier ist "die Spitze des Eisberges", ein "Auszug" der Möglichkeiten des Revolution Patch.
Btw: Wie kommts, dass ich noch nie was von dir gesehen oder gehört habe? (Du von mir ja offensichtlich schon.)
(Ich bin gespannt, wann und wofür du die F3-Funktion das erste Mal brauchst.)
Mal so interessehalber, wie steht's eigtl. um die Alphakanalunterstützung die du vor ein paar Seiten mal erwähnt hattest?
Wäre für mich neben dem Pic-Pointer-Patch und dem RPG Maker 2009 Ultimate ein absoluter Traum. :3
Fühl dich nicht unter Druck gesetzt, aber nachfragen muss ich mal. Das ist glaube ich genau das, weswegen ich rumjammer seit ich zum ersten mal den Maker geöffnet hab. xD (Neben der Farbbegrenzung, aber die ist wenn es einen Alpha-Kanal gibt eher nebensächlich für mich ^^)
Mr.Räbbit
14.06.2011, 12:57
1. Ausgezeichnet!
2. Respekt!
Habs mir angesehn und werde den Patch bei Release auf jedenfall ausprobieren.
Woher: Ich glaube hauptsächlich aus dem RPGmaker Quartier, wo ich eher ein stiller Leser als Poster war.
Oktorok3
14.06.2011, 14:24
Dieser Patch ist mal wieder eine sehr praktische Sache, die einem viel Zeit der Fehlersuche ersparen kann. Danke für diese tolle Arbeit!
Ich habe eine gute Idee für ein weiteres hilfreiches Progrämmchen.
Es gibt ja im rpg maker das Problem, dass man zur gleichen Zeit immer nur einmal "Alles Bewegen" für Bewegungsereignisse ablaufen lassen kann. Wenn man also z.B. viele verschiedene Eregnisse Parallel bewegen will und das ganze ununterbrochen laufen lassen will, muss man bestimmte Wartezeiten berechnen und eingeben. Diese Wartezeiten sind ja, wie man weiß bei bestimmten Bewegungsgeschwindigkeiten unterschiedlich lange.
Um diese nervige Rechnerei jedesmal zu ersparen, wäre es äußerst praktisch, wenn man ein Tool hätte, wo man:
Bewegungsgeschwindig,
Schrittanzahl,
Waits,
einstellen kann und dann per Knopfdruck ein genaues Ergebnis einer Wartezeit+Wartezeiten von 0,0sek ausgerechnet bekommt!
Mal so interessehalber, wie steht's eigtl. um die Alphakanalunterstützung die du vor ein paar Seiten mal erwähnt hattest?
Wäre für mich neben dem Pic-Pointer-Patch und dem RPG Maker 2009 Ultimate ein absoluter Traum. :3
Fühl dich nicht unter Druck gesetzt, aber nachfragen muss ich mal. Das ist glaube ich genau das, weswegen ich rumjammer seit ich zum ersten mal den Maker geöffnet hab. xD (Neben der Farbbegrenzung, aber die ist wenn es einen Alpha-Kanal gibt eher nebensächlich für mich ^^)
Ich arbeite daran, allerdings nicht jetzt, weil ich jetzt mich wieder voll auf meine Maturavorbereitungen konzentrieren muss. Im Juli sehen wir weiter.
Dieser Patch ist mal wieder eine sehr praktische Sache, die einem viel Zeit der Fehlersuche ersparen kann. Danke für diese tolle Arbeit!
Ich habe eine gute Idee für ein weiteres hilfreiches Progrämmchen.
Es gibt ja im rpg maker das Problem, dass man zur gleichen Zeit immer nur einmal "Alles Bewegen" für Bewegungsereignisse ablaufen lassen kann. Wenn man also z.B. viele verschiedene Eregnisse Parallel bewegen will und das ganze ununterbrochen laufen lassen will, muss man bestimmte Wartezeiten berechnen und eingeben. Diese Wartezeiten sind ja, wie man weiß bei bestimmten Bewegungsgeschwindigkeiten unterschiedlich lange.
Um diese nervige Rechnerei jedesmal zu ersparen, wäre es äußerst praktisch, wenn man ein Tool hätte, wo man:
Bewegungsgeschwindig,
Schrittanzahl,
Waits,
einstellen kann und dann per Knopfdruck ein genaues Ergebnis einer Wartezeit+Wartezeiten von 0,0sek ausgerechnet bekommt!
Das ist was, was ich auf meiner Ultimate-Todo-Liste stehen habe. Man markiert ein Move-Event und lässt ein passenden Wait dazu erzeugen. Mach ich schon noch, keine Sorge :)
RandyTheZeldaFan
14.06.2011, 21:56
Hey Cherry du könntest doch im Ultimate auch einbauen dass man movement speed bei waffen einstellen könnte...ich finde wenn man einstellt (Hero Move to Target) dass sich der charakter zuu schnell zu ihm geht....kann man dass einstellen unter slow,medium und fast?
Hey Cherry, wo du doch jetzt so tief in der Materie drin bist hätt ich noch eine absonderliche Erscheinung bezüglich der "BattleEvents"
Eine BattleEventPage, die als Bedingung zB ein aktiviertes Switch 1 hat wird nach jedem Zug eines Charakters aufgerufen.
Unter verschiedenen Bedingungen wird dies übersprungen, d.h. die aktivierte BattleEventSeite wird nicht aufgerufen bis ein anderer Charakter seinen Zug gemacht hat.
Dies passiert wenn:
der Charakter das Verteidigen Kommando verwendet
der Charakter das Item Kommando verwendet
der Charakter einen Zauber spricht, der eine Condition ändert, wenn dieser Zauber auf den zaubernden Charakter gewirkt ist
Aus irgend einem Grund also wird unter gewissen Umständen, warum auch immer, der Teil mit dem Eventseiten durchchecken einfach weggelassen, obwohl zeitlich mehr als genug Raum da wäre um das zehn mal zu machen. Ich checks nicht, aber nervig ist es.
Das ist alles sehr strange geregelt, weil die das System vom 2k genommen und umgestrickt haben, aber alles nur halbherzig und nicht sehr durchdacht. Ich hab da jedenfalls jede Menge Spaghetticode gefunden. Sobald ich das komplett durchschaut habe, will ich sowieso das ein bisschen ändern sodass öfter BEs aufgerufen werden (auch während Zügen, also wie ein PP, und auch bei Sieg/GO), und man abfragen kann was GENAU ein Held oder Gegner macht, bzw. es selber bestimmen.
@RandyTheZeldaFan: Gute Idee.
elvissteinjr
15.06.2011, 14:57
Hey Cherry, kriegst du es eigentlich hin, Funktionen von deine Patches im Ultimate als Eventbefehle darzustellen? Das würde die Nutzerfreundlichkeit erheblich erhöhen.
Als ich den Revolution-Patch ausprobiert habe ist mir das besonders aufgefallen, mein Eventcode war da reinstes Chaos.:D
Ich weiß. Dachte ich mir auch schon, wird aber etwas schwierig. Da hilft wohl nur kommentieren.
Oktorok3
15.06.2011, 19:46
Das ist was, was ich auf meiner Ultimate-Todo-Liste stehen habe. Man markiert ein Move-Event und lässt ein passenden Wait dazu erzeugen. Mach ich schon noch, keine Sorge
Wow! Toll, das freut mich sehr :)
Ich warte schon sehnsüchtig auf die nächste Version des Ultimate!
Dauert aber sicher, weil ich ja an anderen Dingen auch noch arbeite, und jetzt außerdem Maturavorbereitung habe.
Wo ich gerade den anderen Thread aufgemacht hab...
Wäre es möglich im laufenden Spiel den Text, den man in der Database unter String festgelegt hat zu ändern, bspw. dass man über eine Variable Nachrichten aus einer externen txt-Datei auswählt?
Prinzipiell schon... gehen auch Heldennamen statt einer Txt-Datei? Das würde das ganze vereinfachen. Welche Strings genau willst du ändern und welche RPG_RT.exe-Version/welche Patches verwendest du?
Es geht mir um die VictoryMessage, daher sind Heldennamen da leider etwas sehr kurz. Wäre da die Zeichenbegrenzung nicht ginge das natürlich. Oder lässt sich da wieder was mit Hilfe des RessourceHackers schrauben? :/ Das einzige was ansonsten funktionieren sollte wäre der \c-Befehl um die Textfarbe zu ändern, was ja normalerweise im Heldennamen nicht unterstützt wird... Aber da kann ich notfalls auch drumrumbauen.
Ansonsten verwende ich den 2k3 V1.08 mit dem betteraep und dem picpointerpatch. :)
Heldennamen sind nur Strings. \c funktioniert übrigens sehr wohl in Heldennamen, aber nur in Messageboxen - davon hängt es nämlich ab. Die Victorymessage wird intern in einer Message angezeigt (weil der Text ja "hereinlaufen" muss), daher funktioniert das.
Ich weiß dass Heldennamen kurz sind. Aber du hast Recht, das kann man ändern!
Hast du RPG Maker 2009 Ultimate (http://cherrytree.at/ultimate)? Dann kannst du nämlich (ohne Änderung an der EXE) einfach diese UIMod-Datei installieren (als z.B. "longheroname.ini" im uimod-Ordner speichern und in der ultimate.ini unter [UIMod] eintragen):
; RPG Maker 2009 Ultimate
; Up to 1000 characters for "Change Hero Name" and the hero name in the database
; by Cherry
; "Change Hero Name" window
[FormEvCmd10610]
OverEdit1.MaxLength=1000
; Database
[FormEDPlayer]
OverEdit1.MaxLength=1000
Ansonsten müsstest du mit dem Ressource Hacker ran und in RCDATA->TFORMEVCMD10610 bei "object OverEdit1" das "MaxLength = 12" auf "Maxlength = 1000" ändern, und dasselbe bei RCDATA->TFORMEDPLAYER.
Du kannst nämlich einfach "\n[10]" oder so in die Database als String schreiben. Das funktioniert von Haus aus, nur wissen es die Meisten nicht.
Wenn du dir die Heldennamen-Verlängerung sparen willst, kannst du auch einfach "\n[10]\n[11]\n[12]\n[13]" oder so als String verwenden, dann setzt du die Nachricht halt aus mehreren Namen zusammen. \n[\v[...]] sollte afaik auch funktionieren.
Aaaah, du bist toll! :O
Ganz ganz vielen herzlichen Dank! Klappt völlig ohne Probleme! =D
Aber stimmt, dass man Heldennamen in den Strings so angeben kann wusst ich noch nicht. Wieder was dazu gelernt! Und noch ein Punkt mehr mit dem sich der Ultimate unentbehrlich macht... xD
Nicht in allen Strings, sondern nur in jenen, die eben in einer Messagebox erscheinen (merkst du eben daran, dass sie Buchstabe für Buchstabe erscheinen). Also die Level-Up-Nachricht z.B. auch, aber die Kampfstart-Nachricht nicht.
Ich werd noch zum Stammgast hier...
Es gibt ja diese schicken PicturePositioner-Tools. Gibt es zufällig so ein Tool auch, das dabei noch Zoom und (im Idealfall) Drehungen miteinbezieht?
Bilder so anzuzeigen, dass sie an der richtigen Stelle sind bereitet mir keine Probleme, aber somit wie noch ein Zoomeffekt reinkommt wirds etwas kompliziert... Der normale Positioner kann soetwas soweit ich weiß nicht, das andere japanische Tool das hier jemand mal gepostet hat... kA, ich kann kein japanisch. Ich steig durch die Menüs da nicht so wirklich durch. .___.
Geht jetzt weniger an Cherry als allgemein, weil es (finde ich) hier reinpasst und keinen neuen Thread rechtfertigt.
MagicMaker
16.07.2011, 21:45
FreeHandPicture, von dem wahrscheinlich die Rede ist, kann den Parameter und viele andere zwar nachhaltig noch vor dem Kopieren der EventCommands verändern, aber ich glaube die Zoomstufe wird denke ich nicht in der Vorschau übernommen, kann das jetzt leider nicht nachsehen. Drehung sowieso nicht, das ist ja keine Winkeleinstellung sondern Dauerrotation.
MajinSonic
18.07.2011, 13:45
Wie wäre es denn, wenn man das layout frei wählen kann? Sprich Ultimate Style oder aber Normal Style. (Ich kann mich mit dem Maptree noch nicht anfreunden und dass die Zoomfunktion nicht bei den Tools wie Bleistift usw dabei ist.
Ist nur ne flotte Idee gewesen.
Symbolleiste wird schwierig, den Map Tree kannst du aber wieder einstellen wie immer. Einfach in der Konfigurationsdatei TabbedToolPanel=0 machen.
MajinSonic
18.07.2011, 19:52
Ah sehr gut, ich danke dir :)
Der alte Aufbau, wo Maptree und Chipset in "einer reihe" waren, hat mir einfach besser gefallen^^
Würde zu der Änderung auch die Zoomfunktion gehören?
Weil soweit ich mich erinnere konnte man im Ultimate nur in der Symbolleiste zoomen, oder?
Naja, du kannst auch mit Strg+1 bis Strg+4 zoomen oder mit Strg+0 in den Maustastenzoommodus schalten.
Aber eine zweite Symbolleiste kannst du nicht mehr herzaubern.
Rosa Canina
20.07.2011, 13:33
Eine Idee, die man EVENTUELL in den Ultimate bauen könnte... oder als kleines Programm für den normalen Maker.
SOLLTE es gehen - aber ich denk mal schon.
Wenn man aufwendige Picture-Sequenzen macht, dann nervt es hier und da mal, dass man gewisse Einstellungen nicht
unabhängig von anderen machen kann. Es wäre toll, wenn man z.B. die Colorisierung des Bild als Extra-Button, wie in
den neuen Makern hätte. Dann könnte man nämlich Koordinatenunabhängig Bilder farblich verändern. Das gleiche für
Drehung/Shaken und Transparenzen wäre natürlich auch toll.
Ich habe keine Ahnung, OB sowas machbar ist und wie viel Arbeit das wäre (ich könnte mir vorstellen, dass es von der
Arbeit her nicht so aufwendig wäre, wenn es machbar ist - ist ja "nur" eine Splittung der Befehle)... aber es wäre echt
verdammt cool, wenn Ultimate das irgendwann drin hätte.
Wenn nicht... naja, was solls ^^ Wäre halt nice gewesen.
MajinSonic
20.07.2011, 21:35
Eine Idee habe ich noch.
Es ist manchmal recht aufwendig die Koordinaten für pictures rauszubekommen und sie "richtig" zu platzieren.
Könntest du so einen Editor schaffen, der einem die position errechnet?
Vom Handling her ähnlich wie der Battle Animations generator im Maker.
Rosa Canina
20.07.2011, 21:45
Eine Idee habe ich noch.
Es ist manchmal recht aufwendig die Koordinaten für pictures rauszubekommen und sie "richtig" zu platzieren.
Könntest du so einen Editor schaffen, der einem die position errechnet?
Vom Handling her ähnlich wie der Battle Animations generator im Maker.
PicturePositioner, findest du mit einer Forensuche in... diesem oder den anderen Cherrythread relativ weit am Ende.
Benutz ich selber auch ^^
Auch wenn es natürlich ganz praktisch wäre, aber ich denke, dass Cherry ungerne Dinge baut, die schon da sind -
wenn auch extern ^^°
RandyTheZeldaFan
21.07.2011, 12:33
Ich habe einen Bug im Animation Fenster gefunden, wenn ich die Animationen verschieben möchte, sind diese unsichtbar und hinterlassen spuren, wohin die animation verschoben wurde und es geht schon auf die nerven...kann man dies beheben? ^^'''
Ich kann mir gerade nicht vorstellen was du meinst... http://cherrytree.at/misc/smilies/045nixweiss.gif
Rosa Canina
21.07.2011, 13:37
Ich habe einen Bug im Animation Fenster gefunden, wenn ich die Animationen verschieben möchte, sind diese unsichtbar und hinterlassen spuren, wohin die animation verschoben wurde und es geht schon auf die nerven...kann man dies beheben? ^^'''
Fehler in deinem System (irgendwo). Die BA-Funktion ist noch exakt gleich in der Funktionsweise, wie im Original (nur mehr Bilder) - und unter Vista und Seven funktionierte sie bei mir einwandfrei (32 und 64 Bit ^^)
@Cherry:
Eine kleine Response zu den vorhergehenden Ideen wäre nice, da mich das echt interessieren würde ;)
RandyTheZeldaFan
21.07.2011, 13:45
und wie kann ich das beheben? ich kann so keine animationen anpositionieren....um es so zu sagen, reagiert die BA sehr langsam wenn ich es verschieben will....
Alpha-Channel im 2k3!
http://share.cherrytree.at/showfile-3629/screenshot_491_no_atb_test.png
...besteht aus diesen Bildern (das untere ist die Alphamap):
http://share.cherrytree.at/showfile-3630/le.bmp
und
http://share.cherrytree.at/showfile-3631/lealpha.bmp
Einfach nur geil :A
Wie und wann wird denn das Ding der Allgemeinheit zugänglich? :)
Powered by vBulletin® Version 4.2.3 Copyright ©2025 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.