RPG-Maker Quartier

Hier dreht sich alles um die RPG-Maker-Reihe von ASCII/Enterbrain. Der RPG-Maker ist ein Tool, mit dem du dir dein eigenes kleines Rollenspiel erstellen kannst. Du findest hier alles, was du dazu brauchst. Aber natürlich umfasst die Community noch mehr!
Aktuelle Zeit: Di Mär 03, 2020 1:53

Alle Zeiten sind UTC + 1 Stunde



Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast



Ein neues Thema erstellen Auf das Thema antworten  [ 5 Beiträge ] 
Autor Nachricht
Offline
Rotfüchschen
Rotfüchschen
Benutzeravatar
Beiträge: 174
Alter: 29
Wohnort: Register 13; Zylinder 5361; Baud 13
BeitragVerfasst: Fr Sep 24, 2004 20:32 
Erstmal hallo!
Ich werde nun versuchen, eine FAQ(Edit: Naja, das artet langsam zu nem Tut aus XD) zu Inelukis KeyPatch zu machen.
Fragen bitte in meinem Fragethread stellen. Hier bitte nur
Anregungen, Anerkennung und Kritik zur FAQ.
Hier nun die FAQ:

Beginne ich mal mit der wohl am häufigsten Frage:
Kann man Tasten und Maus Gleichzeitg nutzen?
Erstmal vorweg, Ja!
Den Code habe ich bereits in meinem Fragethread zum KeyPatch gepostet,
werde es hier aber nochmal tun. Ich erspare mir hier auch großes Gerede,
denn der Code ist ziemlich selbsterklärend.
Code:
Common Event/Paralleler Prozess/(Tab nicht zwingend notwendig)

<->Var. ändern:[0001:Maus-TastenID]set MIDI-Pos. (Sekunde)
<->Bedingung: Varb[0001:Maus-TastenID]gleich -1
 <->SE Spielen: GetMousePos.script
 <->Var ändern:[0001:Maus-TastenID]set MIDI-Pos. (Sekunde)
 <->
-:END-Fall
<>Bedingung: Varb[0001:Maus-TastenID]gleich -10
 <>Var. ändern[0002:MausX]set MIDI-Pos. (Sekunde)
 <>Var. ändern[0003:MausY]set MIDI-Pos. (Sekunde)
 <>Var. ändern[0004:Maus Tasten]set MIDI-Pos. (Sekunde)
 <>Bild bewegen: [Nr. des coursors], (V[0002],V[0003]), 0,1 oder 0,0
 <>
:END-Fall
<->Bedingung: Varb[0001:Maus-TastenID]gleich [Tastencode einer belibigen Taste]
 <->Dass was bei dieser Taste passieren soll
 <->
-:Ansonsten
 <->Bedingung: Varb[0001:Maus-TastenID]gleich [Tastencode einer anderen Taste]
  <->Dass was bei dieser Taste passiern soll
  <->
Ihr wisst ja wie es weiter geht.
Code by: Ineluki, the master himself

Das solte eigentlich schon reichen.
Nächste Frage!

Nachtrag: Wenn ihr nur Tastatur oder nur Maus nutzten wollt, geht wiefolgt vor:
Für nur Tastatur: Löscht alle Bereiche des Codes ohne einen Bindesctrich zwischen den <>. Die anderen sind dann überflüssig.
Für nur Maus: Löscht die Bereicht mit den Bindestrichen.

Was ist der KeyPatch?
Nun, der KeyPatch von Ineluki ist eine Erweiterung zum Rm2k, mit der man ALLE
Tasten der Tastatur und die Maus nutzen kann. Dies funktioniert über ein Schnittstelle(korigiert mich, wenn das Falsch ist), die sich zwischen die harmony.dll
und den Maker schaltet. Man hat dann die Möglichkeit über script Dateien, die
der Maker für .wav files hält und die man folglich auch als Soundefekte abspielen muss, jeder Taste eine ID zuzuweisen, die man dann im Maker in einer Variable
Speichern kann. Ich werde jatzt nicht weiter auf diese Thema eingehen, denn
wenn ihr diese FAQ weiter lest, werdet ihr schon sehen.

Brauche ich den KeyPatch?
Diese frage kann ich nur mit einer Gegenfrage beantworten:
Kommt ihr mit den Tasten, die der Maker euch bietet nicht aus?
Würdet ihr gerne ein Menü machen, dass man über die Maus bedient?
Wenn ihr wenigstens eine dieser Fragen mit Ja beabtworten könnt, lautet die Antwort auf diese Frage auch Ja. Mahr kann ich dazu nicht sagen.

Wie editiere ich die *.script.wav Dateien?
Näheres hierzu erfahrt ihr auch in der Dokumentation, die mit dem KeyPatch gliefert wird. Ihr öffnet erstmal eine der Dateien, vornehmlich die Datei KeyList.script.wav mit einem Text-Editor, ja, einem Text-Editor.
Ich erkläre jetzt die wichtigsten Befehle anhand eines Beispiels:

Code:
[execute]
Action=RegisterKeyDownEvent
Key=(Runter)
Value=0
next=Taste2

[Taste2]
Action=RegisterKeyUpEvent
Key=a
Value=1
next=

Jetzt die Erklärung:
[execute] :
[execute] eröffnet eine *.script.wav Datei. Es muss immer an 1. Stelle stehen.

Action=RegisterKeyDownEvent :
Hiermit wird gesagt, dass der Patch reagieren soll, wenn die Taste gedrückt wird.

Key=(Runter) :
Hier wird gesagt, für welche Taste die vorher unter "Action=" festglegte Aktion gillt. Hier: Pfeiltaste runter(eine Liste aller Funktionstasten gibts auch noch)

Value=0 :
Hier wird festgelegt, welcher Wert für die angegebene Taste in die Variable ausgegeben wird.

next=Taste2 :
Es wird festgelegt, dass mit dem Abschnitt [Taste2] fortgefahren wird.
Auf keine Fall vergessen!!!!(Ich weiß, Außrufezeichen-Flut)

[Taste2] :
Der Name des Abschnittes, den du vorher mit next=Taste2 aufgerufen hast.

Action=RegisterKeyUpEvent :
Das gleiche wie RegisterKeyDownEvent, nur das der Patch erst reagiert, wenn die Taste losgelassen wird.

Key=a :
was passieren soll, wenn man die Taste A drückt

Value=1 :
siehe: Value=0

next= :
Ein leeres next=. Beendet das script sofort, also immer schön aufpassen, dass man nicht vergist, da was einzutragen.

Die Maus bewegt sich, ich kann aber nicht klicken!
(Vorraussetztung hierfür ist ein Common Event das die Maus verfügbar macht, wie das aus dem 1. Punkt dieser FAQ.)
Das ist eigentlich nicht so schwer. Der größte Fehler der dabei immer gemacht wird, ist der, dass man die Postition des Helden und die des Mauszeigers direkt
vergleicht. Dabei gibt es aber das Poblem, dass man dann genau 1 Pixel des Bildschirms treffen müsste, was ziemlich schwer werden dürfte!
Ich werde jetzt versuchen, einen Code zu machen, und auch zu erklären,
der diese Probelm beseitigt!
Code:
Common Event/Paraleler Prozess

<>Var. ändern[0005:MausX-Max]set Var.[0002:MausX]
<>Var. ändern[0006:MausX-Min]set Var.[0002:MausX]
<>Var. ändern[0007:MausY-Max]set Var.[0003:MausY]
<>Var. ändern[0008:MausY-Min]set Var.[0003:MausY]
<>Bedingung:TAB [xxxx:Chara anklicken] - AN
 <>Var. ändern:[0005:MausX-Max] plus 8
 <>Var. ändern:[0006:MausX-Min] minus 8
 <>Var. ändern:[0007:MausY-Max] plus 26
 <>
:Ansonsten
 <>Var. ändern:[0005:MausX-Max] plus 8
 <>Var. ändern:[0006:MausX-Min] minus 8
 <>Var. ändern:[0007:MausY-Max] plus 17
 <>
:END-Fall
<>

MausY-Min kann bleiben wie es ist.

Ok! Was ist da passiert?
Die ersten 4 Dinge in diesem Code dürften wohl jedem klar sein!
Dann wird per TAB/Switch festgelegt, auf was man klicken will.
Denn: Wenn man auf eine Charakter klicken will, muss der bereich, in dem man

klicken kann, höher sein, als der einer Schatztruhe. Wenn man also will, dass man auf einen Charakter klicken kann, macht man den Tab "Chara anklicken" an.
Man kann ihn natürlich auch mit der anderen Einstellung anklicken, aber dann
reagiert der Kopf des Charas nicht auf einen Klick.
In der Bedingung wird der Bereich festgelegt, in dem man klicken kann.
Wenn man jetzt auf etwas klicken will, muss man folgendes tun:
1. Man macht ein normales Paralel Prozess-Event irgendwo auf der Map, auf der man klicken will.
2. Man änder eine Variable: <>Var. ändern[xxxx:xxxxxxx]set Hero Bild-X
3. Noch eine Variable ändern: <>Var. ändern[yyyy:yyyyyy]set Hero Bild-Y
4. Dann kommt eine Bedingung: <>Bedingung: Varb.[Maus Taste]gleich1
5. Darin eine Weitere Bedingung: <>Bedingung: Varb.[xxxx] <= Var.[0005]
6. Noch ne Bedingung in der Bedingung:
<>Bedingung: Varb.[xxxx] >= Var.[0006]
7. Und noch eine rein: <>Bedingung: Varb.[yyyy] <= Var.[0007]
8. Eine letzte noch: <>Bedingung: Varb.[yyyy] >= Var. [0008]

In diesen Vielen Bdingungen kann man jetzt das machen, was passiern soll, wenn man auf den Helden klickt. Wichtig: Nicht die Koordinaten des Helden auf der Map,
sonder auf dem Bildschirm!

In der Bedingung mit der Maus Taste kann man noch beliebig oft die 4 Bdingungen
mit den Koordinatenabfragen machen, dann halt nur für andere Ereginisse.

Wie schaffe ich es, den KeyPatch zu initialisieren?
oder:
In welcher Reihnfolge muss ich welche .script.wav Dateien "Abspielen"?
Dies ist wohl auch ein Problem, vor dem man am Anfang steht.
Ich selbst hatte das selbe Problem, denn: So wie es im mitgelieferten Tut steht, funktioniert das nicht(korregiert mich, wenn das falsch ist). Die korrekte Reiehnfolge zum Aktivieren lautet auf alle Fälle so:
1.MidiTickOutput.script.wav
2.KeyList.script.wav
3.KeySupportOn.script.wav
4.MouseSupportOn.script.wav

Zum Deaktivieren muss die Reiehnfolge so lauten:
1.MidiTickReset.script.wav
2.KeySupportOff.script.wav
3.MouseSupportOff.script.wav

_________________________


So, ich hoffe, ich konnte euch hiermit helfen.
Für weitere Erweiterungen kann ich nicht garantieren, sie sind aber auch nicht unmöglich.

BORNtobeNAMELESS


Zuletzt geändert von BORNtobeNAMELESS am Do Jan 13, 2005 20:09, insgesamt 4-mal geändert.

Nach oben
 Profil ICQ  
Mit Zitat antworten  
Offline
Yoji
Yoji
Benutzeravatar
Beiträge: 2656
Alter: 30
Wohnort: Stuttgart
 Betreff des Beitrags:
BeitragVerfasst: Fr Sep 24, 2004 22:10 
Naja ich werds wohl nicht probieren^^, da ich kein Maus und Tasten zusammen brauche! Es könnten vielleicht für andere hilfreich seien, keine ahnung, aber ich brauche nur den Tastenpatch und er läuft bei mir wundervoll^^.

(Argh xD *spamm*)


Gruß Bakura

_________________


Nach oben
 Profil  
Mit Zitat antworten  
Offline
Schweizer Reiter
Schweizer Reiter
Benutzeravatar
Beiträge: 292
Alter: 28
Wohnort: Racoon City
 Betreff des Beitrags:
BeitragVerfasst: Sa Sep 25, 2004 18:48 
Ja, bei mir läuft er auch, aber für Leute die sich die Mühe machen sowas zu
schreiben hab ich immer ein "Danke" übrig. Ich find das FAQ gut. Vielmehr
gibt es über den Tastenpatch auch nicht zu sagen. Für Neulinge mit dem
Tastenpatch eine wilkommene Hilfe.

_________________
Bild


Nach oben
 Profil ICQ  
Mit Zitat antworten  
Offline
van Katzenraub
van Katzenraub
Benutzeravatar
Beiträge: 6753
Wohnort: Bonn
 Betreff des Beitrags:
BeitragVerfasst: Mi Jan 12, 2005 23:03 
Ich denke ich werde dieses Tut mal im gepinnten Tutorial Thread verlinken.
Danke.


Nach oben
 Profil  
Mit Zitat antworten  
Offline
Rotfüchschen
Rotfüchschen
Benutzeravatar
Beiträge: 174
Alter: 29
Wohnort: Register 13; Zylinder 5361; Baud 13
 Betreff des Beitrags: Danke zurück!
BeitragVerfasst: Do Jan 13, 2005 19:30 
Jo, Danke für den Link :atomfreu: !
Ich habe noch etwas gefunden, was da fehlt:
Wie man das ganze initialisiert(mit den ganzen .script.wav Dateien)
Wird jetzt hinzugefügt.

BORNtobeNAMELESS


Nach oben
 Profil ICQ  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 5 Beiträge ] 

Alle Zeiten sind UTC + 1 Stunde


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
cron
Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de