![]() |
|
RPG Maker Technik (2K/2K3) Stellt hier eure Fragen zur Technik des RPG Maker 2000 und 2003; Er will nicht so wie ihr? Ihr könnt ein Chipset nicht importieren oder versteht ein Script nicht? |
![]() |
|
Themen-Optionen |
![]() |
#1 |
Krieger
![]() Registriert seit: 13.06.2006
Beiträge: 337
|
![]() Hi allezusammen,
wollte mal wissen ob man eine Branch erzeugen kann, welche überprüft ob ein Bild etwas anderes schneidet. Dass wäre nämlich für'n A-KS sehr praktisch. Ich weiß das es eine Möglichkeit mit Screen-Relative-Cor. machen kann, begreif das aber noch nicht so ganz. Wie auch immer, gibt es so eine Funktion?
__________________
Dieser Platz ist für eine Signatur gedacht. Da sich Tyraxx aber nichts tolles einfallen lassen konnte, steht hier nicht mehr als nur diese Nachricht hier: "[ Hier bitte Nachricht einfügen ]" |
![]() |
![]() |
![]() |
#2 |
Redakteur
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Registriert seit: 29.08.2004
Ort: Schleswig-Holstein
Alter: 29
Beiträge: 502
|
![]() Soweit ich weiß, gibt es so eine Möglichkeit leider nicht. Du kannst (wie du schon angesprochen hast) mit den Screen-Relativen-Koordinaten die Pics abstecken, das ist allerdings extrem viel Arbeit, daher empfehle ich dir eher rechteckige Bereiche abzufragen.
__________________
░█▀▀ ░█▀█ ░█ ░█▀▀ ░░█▀▀ ░█▀█ ░█ ░█ ░░░░█▀▀ ░█▀█ ░█▀▀▀ ░█▀█ ░ ░█▀▀ ░█▀▀ ░█ ░█ ░░░░█▀▀ ░█▀█ ░█ ░█ ░░░░▀▀█ ░█▀█ ░█░▀█ ░█▀█ ░ ░▀▀▀ ░▀ ░░░▀ ░▀▀▀ ░░▀ ░░░▀░▀ ░▀ ░▀▀▀ ░░▀▀▀ ░▀░▀ ░▀▀▀▀ ░▀░▀ ░ |
![]() |
![]() |
![]() |
#3 |
Krieger
![]() Registriert seit: 13.06.2006
Beiträge: 337
|
![]() Jo, das Problem ist nur:
Wenn ich weiterhin nur immer in den Panels bleibe, dann sind meine Möglichkeiten oft eingeschränkt. Oft nimmt der Maker es auch garnicht wahr, weil sich soviele Events kreuzen. Hab mir schon gedacht es mit Screen-Relative zu versuchen, aber es trotzdem im Rahmen der Panels einsetze, so nimmt der Maker das evtl. auch n besser wahr. Aber gibt es wirklich keine Alternative? EDIT: Gibt es evtl n Patch für sowas?
__________________
Dieser Platz ist für eine Signatur gedacht. Da sich Tyraxx aber nichts tolles einfallen lassen konnte, steht hier nicht mehr als nur diese Nachricht hier: "[ Hier bitte Nachricht einfügen ]" Geändert von Tyraxx (22.05.2011 um 16:31 Uhr). |
![]() |
![]() |
![]() |
#4 |
Paladin
![]() ![]() ![]() ![]() ![]() Registriert seit: 30.05.2002
Ort: Wuppertal / Aachen
Alter: 29
Beiträge: 2.471
|
![]() Also du kannst mi dem Destiny-Patch die Pixel eines Pictures abfragen.
Allerdings geht der bisher nur mit dem RPG-Maker 2000. Außerdem kann man in der bisher veröffentlichten Version nur die Pixel von Pictures abfragen (und nicht die Grafiken von Events). MfG Bananen-Joe
__________________
Bananen-Joe's DestinyPatch v2.0 Schöne Grüße an den Menschen ohne RL, die Steinfrucht, den ollen Teetrinker aus Hamburg und den Paranoiden mit Zyklon. |
![]() |
![]() |
![]() |
#5 |
Krieger
![]() Registriert seit: 13.06.2006
Beiträge: 337
|
![]() Dann könnte ich doch einfach das Charset als Bild speichern und es über das Event laufen lassen und wenn die Trefferfläche kleiner sein soll nur einen tranparenten Pixelbereich, oder nicht?
__________________
Dieser Platz ist für eine Signatur gedacht. Da sich Tyraxx aber nichts tolles einfallen lassen konnte, steht hier nicht mehr als nur diese Nachricht hier: "[ Hier bitte Nachricht einfügen ]" |
![]() |
![]() |
![]() |
#6 | |
Paladin
![]() ![]() ![]() ![]() ![]() Registriert seit: 30.05.2002
Ort: Wuppertal / Aachen
Alter: 29
Beiträge: 2.471
|
![]() Ja, wenn die Grafik als Bild zur Verfügung steht, dann kannst du mit dem Patch auf die Pixel zugreifen.
Zitat:
Nun einerseits müsstest du das Picture wohl nicht mal über dem Event darstellen, da du die Grafik nur zur Berechnung benötigen würdest (da ist dann egal, wo (und ob) sie angezeigt wird). Andererseits sinkt die Größe der Trefferfläche bei einer größeren transparenten Fläche, sofern du dies meintest. Allerdings müsstest du für die Berechnung: 1. Die Pixelposition des ersten und des zweiten Events kennen 2. Die Richtungsangaben des ersten und des zweiten Events kennen 3. Das jeweilige Char als Grafik haben (von beiden Events) 4. Berechnen, ob da eine Kollision stattgefunden hat MfG Bananen-Joe
__________________
Bananen-Joe's DestinyPatch v2.0 Schöne Grüße an den Menschen ohne RL, die Steinfrucht, den ollen Teetrinker aus Hamburg und den Paranoiden mit Zyklon. |
|
![]() |
![]() |
![]() |
#7 |
Krieger
![]() Registriert seit: 13.06.2006
Beiträge: 337
|
![]() Ohne jetzt einen weiteren thread zu öffnen, frag' ich jez mal hier.
Nun, ich hab ein Event mal sich einfach hoch runter bewegen lassen, und ich selbst kann ein Schuss abfeuern. Nun bestätigt sich wieder, dass Event nur getroffen wird, wenn es gerade auf "einem Panel" steht und nicht "zwischen 2 Panels", weil es sich gerade auf das andere Feld hinzubewegt. Das ist mir viel zu ungenau, dann würde man sich bei einem Gegner doch als Spieler wundern: "Häh, ich hab' ihn doch getroffen. Der Schuss ging total durch ihn hindurch!" Gibt es denn keine Variante das zu lösen?
__________________
Dieser Platz ist für eine Signatur gedacht. Da sich Tyraxx aber nichts tolles einfallen lassen konnte, steht hier nicht mehr als nur diese Nachricht hier: "[ Hier bitte Nachricht einfügen ]" |
![]() |
![]() |
![]() |
#8 |
Paladin
![]() ![]() ![]() ![]() ![]() Registriert seit: 30.05.2002
Ort: Wuppertal / Aachen
Alter: 29
Beiträge: 2.471
|
![]() Das geht schon mit reinen RPG-Maker Fähigkeiten.
Du musst einfach nur die Bildpositionen des Pfeil-Events und des Gegner-Events abfragen und vergleichen. Das Abfragen geht ja per ChangeVariable -> Event -> Id -> Screen X (oder Y). Du musst dann nur noch prüfen, ob der Pfeil im Bereich vom Event X bis Event X - 16 war. (Natürlich auch für Y). MfG Bananen-Joe
__________________
Bananen-Joe's DestinyPatch v2.0 Schöne Grüße an den Menschen ohne RL, die Steinfrucht, den ollen Teetrinker aus Hamburg und den Paranoiden mit Zyklon. |
![]() |
![]() |
![]() |
#9 |
Krieger
![]() Registriert seit: 13.06.2006
Beiträge: 337
|
![]() Ok, ich weiß was du meinst, aber wie muss ich das denn machen?
X-Schuss von X-Ziel abziehen, oder wie jez?
__________________
Dieser Platz ist für eine Signatur gedacht. Da sich Tyraxx aber nichts tolles einfallen lassen konnte, steht hier nicht mehr als nur diese Nachricht hier: "[ Hier bitte Nachricht einfügen ]" |
![]() |
![]() |
![]() |
#10 |
Paladin
![]() ![]() ![]() ![]() ![]() Registriert seit: 30.05.2002
Ort: Wuppertal / Aachen
Alter: 29
Beiträge: 2.471
|
![]() Normalerweise muss der Vergleich wie folgt aussehen:
Code:
Wenn X-Pfeil >= X-Gegner - 8 Wenn X-Pfeil <= X-Gegner + 8 Wenn Y-Pfeil >= Y-Gegner - 16 Wenn Y-Pfeil <= Y-Gegner Treffer! Ende Wenn Ende Wenn Ende Wenn Ende Wenn Bei der Abfrage der Y-Koordinate zeigt das Ergebnis auf den unteren Rand des Events. Problematisch bei der ganzen Sache ist nun, dass du die Bildkoordinaten von Events nur hardcoded abfragen kannst. Also die Event-Id ist nicht variabel, sondern muss im Change Variable Befehl fest angegeben werden. Ich will zwar nicht unbedingt Eigenwerbung machen, aber das ginge zumindest mit dem Destiny Patch: Dort kannst du in einer Schleife über alle Events der Karte wie folgt die Koordinaten abfragen: Code:
$ v[2] = Event[v[1]].ScreenX; v[3] = Event[v[1]].ScreenY; Bei einer Schleife über alle Events wäre jedoch der Zugriff via MapEvent zu empfehlen. Also nur für den Fall, dass du dich für einen Patch entscheiden solltest. Mit Cherrys Patch geht das sicherlich auch, allerdings weiß ich nicht wie. MfG Bananen-Joe
__________________
Bananen-Joe's DestinyPatch v2.0 Schöne Grüße an den Menschen ohne RL, die Steinfrucht, den ollen Teetrinker aus Hamburg und den Paranoiden mit Zyklon. |
![]() |
![]() |
![]() |
#11 |
Krieger
![]() Registriert seit: 13.06.2006
Beiträge: 337
|
![]() Warte, warte,...
"Wenn X-Pfeil >= X-Gegner - 8" ? Was soll diese "-8" heißen, soll ich die Var dann abziehen, aber was bringt das? Was das Mit Event-ID angeht, ich geb sowieso jedes Event eigene Variablen, so kann ich auch mehrere Events gleichzeitig treffen.
__________________
Dieser Platz ist für eine Signatur gedacht. Da sich Tyraxx aber nichts tolles einfallen lassen konnte, steht hier nicht mehr als nur diese Nachricht hier: "[ Hier bitte Nachricht einfügen ]" |
![]() |
![]() |
![]() |
#12 |
Paladin
![]() ![]() ![]() ![]() ![]() Registriert seit: 30.05.2002
Ort: Wuppertal / Aachen
Alter: 29
Beiträge: 2.471
|
![]() Da du den Vergleich mit RPG-Maker Mitteln machst, musst du vor dem Vergleich der X-Pixel-Koordinate des Events 8 abziehen.
Beim zweiten Vergleich muss dann 8 mehr als die Koordinate sein, daher kannst du vor dem Vergleich dann einfach 16 addieren. Das musst du machen, da die Koordinaten ja immer nur auf den mittleren unteren Punkt eines Events zeigen. Du möchtest aber wissen, ob sich die Events in einem bestimmten Bereich schneiden. Beispiel hierzu wäre der Pfeil, der von links kommt: Würdest du nur überprüfen, ob die X-Pixel-Koordinaten identisch sind, dann würde der Treffer nur gelten, wenn der Gegner und der Pfeil an exakt der selben X-Pixel-Koordinate sind. Da es dein Ziel nun aber ist die Kollision auch eher zu ermitteln (also auch dann, wenn der Pfeil und der Gegner nur ungeschickt aneinander vorbeigehen, der Gegner aber trotzdem getroffen werden müsste), musst du einen Bereichsvergleich der Pixel-Koordinaten ausführen. MfG Bananen-Joe
__________________
Bananen-Joe's DestinyPatch v2.0 Schöne Grüße an den Menschen ohne RL, die Steinfrucht, den ollen Teetrinker aus Hamburg und den Paranoiden mit Zyklon. |
![]() |
![]() |
![]() |
#13 | |
Krieger
![]() Registriert seit: 13.06.2006
Beiträge: 337
|
![]() Aber durch das einmalige abziehen und dann wieder addieren.
Würde ich dann nicht nur 2 Punkte treffen und nicht den "ganzen Bereich" (des Events)? Oder ist dies schon der "ganze Bereich" EDIT: Zitat:
Hatte vergessen das es ja <= bzw >= ist
__________________
Dieser Platz ist für eine Signatur gedacht. Da sich Tyraxx aber nichts tolles einfallen lassen konnte, steht hier nicht mehr als nur diese Nachricht hier: "[ Hier bitte Nachricht einfügen ]" Geändert von Tyraxx (04.06.2011 um 11:23 Uhr). |
|
![]() |
![]() |
![]() |
#14 |
Paladin
![]() ![]() ![]() ![]() ![]() Registriert seit: 30.05.2002
Ort: Wuppertal / Aachen
Alter: 29
Beiträge: 2.471
|
![]() Das ist der ganze Bereich, weil die Vergleichsbedingung einmal >= ist und danach <=.
Damit nur die beiden Punkte gelten, hätte der Vergleich beidesmal nur = sein müssen. MfG Bananen-Joe
__________________
Bananen-Joe's DestinyPatch v2.0 Schöne Grüße an den Menschen ohne RL, die Steinfrucht, den ollen Teetrinker aus Hamburg und den Paranoiden mit Zyklon. |
![]() |
![]() |
![]() |
#15 | |
Krieger
![]() Registriert seit: 13.06.2006
Beiträge: 337
|
![]() Hmm ich weiß ich nicht ob ich's richtig hab', aber mein Code sieht momentan so aus:
Zitat:
__________________
Dieser Platz ist für eine Signatur gedacht. Da sich Tyraxx aber nichts tolles einfallen lassen konnte, steht hier nicht mehr als nur diese Nachricht hier: "[ Hier bitte Nachricht einfügen ]" |
|
![]() |
![]() |
![]() |
Lesezeichen |
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
Themen-Optionen | |
|
|