![]() |
|
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,
also eine ganz simple Frage die mich aber krank macht. Es ist so das ich einen ganz normalen Schuss losschicke, auf Knopfdruck. Das Event wird auf die X-Y Kor. des Helden gesetzt und läuft dann in eine Richtung, je nachdem in welche der Held guckt. (Via Branch) Jedoch kommt es vor dass der Schuss, wenn ich ihn nach rechts schieße, seine "10xright" läuft und dann noch kurz wartet bis dieses Event wieder verschwindet (es verschwindet in dem ich das Event an eine Stelle setze wo man es nicht sehen kann). Nun verschwindet der Schuss aber in allen anderen drei Richtungen sofort nach dem "10xright" und wartet nicht danach erst. Da frag ich nun wo das Problem ist, da der Schuss in jede Richtung 10 Felder läuft und die wait bevor sie verschinden müsste auch immer gleich sein, da dieses ja im EndCase steht. Ich kann nun wirklich das Problem nicht herausfinden. Und dieses Problem taucht auch immer bei der selben Richtung auf, daher müsste irgendwo ein Fehler vorliegen. Hoffe ich hab mich verständlich ausgedrückt
__________________
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 ]" |
![]() |
![]() |
![]() |
#3 |
Krieger
![]() Registriert seit: 13.06.2006
Beiträge: 337
|
![]() <>Change Event Location: This Event, (V[0001],V[0002])
<>Wait: 0.0 Sec <>Wait: 0.0 Sec <>Move Event: Hero, Change Graphic, Wait, Wait <>Branch if Hero Up Facing <>Play Sound: sound <>Flash Sprite: Hero, 0.2 Sec <>Move Event: This Event, Increase Move Speed (x12), Phasing Mode On, Move Up (x10), Phasing Mode On <> :Else Handler <>Branch if Hero Right Facing <>Play Sound: sound <>Flash Sprite: Hero, 0.2 Sec <>Move Event: This Event, Increase Move Speed (x12), Phasing Mode On, Move Right (x10), Phasing Mode On <> :Else Handler <>Branch if Hero Down Facing <>Play Sound: sound <>Flash Sprite: Hero, 0.2 Sec <>Move Event: This Event, Increase Move Speed (x12), Phasing Mode On, Move Down (x10), Phasing Mode On:Else Handler <> :Else Handler <>Branch if Hero Left Facing <>Play Sound: sound <>Flash Sprite: Hero, 0.2 Sec <>Move Event: This Event, Increase Move Speed (x12), Phasing Mode On, Move Left (x10), Phasing Mode On :End <> :End <> :End <> :End <>Wait: 0.5 Sec <>Change Sprit Association: Name Sprite-1 <>Change Event Location: This Event, (000,001) <>Variable Oper: [0029: ] Set, 0 <>Change Event Location: This Event, (007,014) <>Switch Operiation: [0022: Schussverbot] OFF <>Switch Operiation: [0021: Schuss] OFF Bei dem Incr. Move Speed hatte ich keine Lust zu zählen und hab deswegen 12 reingepackt und die dann später kopiert. Ganz am Ende weiß ich auch nicht warum ich zweimal Change Event Location hab'. Und das Event mit von einer Variable auf 0 eigentlich auch ausgeschaltet.
__________________
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 ]" |
![]() |
![]() |
![]() |
#4 |
Just breathing...
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]() Kann man, wenns ein Parallel Process ist nicht anstelle des Waits auch ein Move All nehmen?
Allgemein find ich das Sysstem mit dem sich bewegenden patronen-event aber etwas unschön... kugeln fliegen eh so schnell, dass man sowas nich unbeding braucht.. außer man will bullet-time einbauen... aber ansonsten find ich tuts auch eine koordinatenabfrage... wenn die X bzw Y Koordinate gleich ist (je nach blickrichtung) gibts halt nen treffer...
__________________
„Unbeirrbar und für immer stehe ich zu dir.“ Daru Tares |
![]() |
![]() |
![]() |
#5 |
23
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]() Ich würde auch Move All probieren. Ansonsten würde ich allgemein das Branch etwas vereinfachen:
Code:
<>Change Event Location: This Event, (V[0001],V[0002]) <>Wait: 0.0 Sec <>Wait: 0.0 Sec <>Move Event: Hero, Change Graphic, Wait, Wait <>Play Sound: sound <>Flash Sprite: Hero, 0.2 Sec <>Branch if Hero Up Facing <>Move Event: This Event, Increase Move Speed (x12), Phasing Mode On, Move Up (x10), Phasing Mode On <> :Else Handler <>Branch if Hero Right Facing <>Move Event: This Event, Increase Move Speed (x12), Phasing Mode On, Move Right (x10), Phasing Mode On <> :Else Handler <>Branch if Hero Down Facing <>Move Event: This Event, Increase Move Speed (x12), Phasing Mode On, Move Down (x10), Phasing Mode On:Else Handler <> :Else Handler <>Branch if Hero Left Facing <>Move Event: This Event, Increase Move Speed (x12), Phasing Mode On, Move Left (x10), Phasing Mode On :End <> :End <> :End <> :End |
![]() |
![]() |
![]() |
#6 |
Krieger
![]() Registriert seit: 13.06.2006
Beiträge: 337
|
![]() Ja, es stimmt dass vieles überflüssig ist, aber ich bin zu faul das zu korriegieren, denn letztendlich bleibt das Ergebnis gleich.
Jedoch klärt es immer noch nicht das geschilderte Problem. Und was heißt hier Move All?
__________________
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 (25.06.2010 um 23:14 Uhr). |
![]() |
![]() |
![]() |
#7 |
Just breathing...
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]() "Move All " oder in manchen Übersetzungen "Proceed with Movement" (hoffe der ist es ><) sind Befehle, die vorher erteilte Move-Events bis zu deren Ende ausführen lassen ehe sie den nächsten Code-Teil abarbeiten. Das heißt dieser Befehl sollte anstelle eines entsprechenden Waits gestellt werden und es sohoolllte funzen... in Derulas Script z.b. ganz unten ans Ende ein "Move all" bzw "Proceed with Movement"
__________________
„Unbeirrbar und für immer stehe ich zu dir.“ Daru Tares |
![]() |
![]() |
![]() |
#8 | |
Soldat
![]() ![]() Registriert seit: 19.12.2006
Alter: 26
Beiträge: 467
|
![]() Zitat:
Habs selbst schon ausprobiert. Die Methode der bewegenden Patronen-Events ist definitiv die bessere. Joa, ansonsten, sollte derulas Code funktionieren, so siehts bei meinem Schuss-KS im groben auch aus. |
|
![]() |
![]() |
![]() |
#9 | |
Just breathing...
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]() Zitat:
Kommt natürlich auf die Verwendung an... Ich finds mit "Lichtgeschwindigkeit" einfach angenehmer... Hab da jetzt auch mehr an solche Massenkampf-KSe gedacht wie z.B. in Genocide von Ray.
__________________
„Unbeirrbar und für immer stehe ich zu dir.“ Daru Tares |
|
![]() |
![]() |
![]() |
#10 |
Soldat
![]() ![]() Registriert seit: 19.12.2006
Alter: 26
Beiträge: 467
|
![]() Hrm, da ist die Eventmethode sogar noch praktischer, falls du einbauen willst, dass die Kugel den Gegner nicht durchstößt. Da lässt du die Kugel durchlaufen und sobald es eine Kollision gibt, dann verschwindet sie, sodass weitere Gegner nicht mehr getroffen werden.
Ohne das Kugel-Event wäre die Sache wesentlich lästiger, weil du dann abfragen müsstest, welcher Gegner näher beim Helden steht, welcher also zu erst bzw. nur getroffen wird. Man kann das Ganze auch noch weiter ausbauen, indem man Durchschlags-Wahrscheinlichkeiten oder sowas einführt. Aber das ist ja nicht der Sinn des Threads. xD |
![]() |
![]() |
![]() |
#11 |
Just breathing...
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]() Wie gesagt... kommt eben auf die Verwendung an... du kannst es alles auf die eine oder andere Art lösen. Und Durchschlagswahrscheinlichkeit würde ich wenn überhaupt nich übertreiben sondern sagen dass die kugel einfach drei gegner hinterienander plätten kann... was auch über koordinatenabfrage geht indem du bei einem gegnertreffer eine "kugel hat getroffen" variable hochsetzt und die vor einer trefferwertung abfragen lässt.... geht alles so oder so... wo ich dir recht geben muss, ist bei den gegnern.. wobei man dort sowieso schon ein problem hat, weil schießende gegner schon ein bissl was schwerer sind... lässt man sie einfach schießen wenn jemand in ihrer "linie" steht, dann kann der spieler das schenll durchschauen, bringt ihn zum schießen und weicht dann immer aus... von daher...
__________________
„Unbeirrbar und für immer stehe ich zu dir.“ Daru Tares |
![]() |
![]() |
![]() |
#12 | |
Samurai
![]() ![]() Registriert seit: 20.12.2008
Ort: Sag ich euch net. Beiträge: 11.939
Alter: 27
Beiträge: 766
|
![]() Zitat:
Dein Problem ist womöglich ein Performanceproblem. Vielleicht räumst du doch mal auf? Dann wird das ganze eventuell auch übersichtlicher und mögliche Fehler werden sichtbar/leichter auffindbar.
__________________
|
|
![]() |
![]() |
![]() |
#13 |
Krieger
![]() Registriert seit: 13.06.2006
Beiträge: 337
|
![]() Hmm, "proceed with movement" hab' ich mal irgendwann, irgendwo benutzt, aber inzwischen weiß ich nicht mehr wirklich wie ich das in den Code nun reinlegen muss.
__________________
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 ]" |
![]() |
![]() |
![]() |
#14 | |
23
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]() Zitat:
Wie erwähnt, "Proceed with movement" oder "Move All" sind einfach bescheuerte Übersetzungen. Tatsächlich müsste die Funktion heißen: "Warte, bis sich kein Event mehr bewegt, dessen Bewegung aus diesem Event heraus gestartet wurde" (oder so ähnlich, genau weiß ich das nicht wie es sich im Parallelen verhält; probiers einfach). Im RMXP heißt es glaub ich Wait until moved. |
|
![]() |
![]() |
![]() |
#15 |
Krieger
![]() Registriert seit: 13.06.2006
Beiträge: 337
|
![]() Aber wenn ich "proceed" dort hin setze wo der 0.5 Wait ist, dann wird alles was danach kommt nicht aktiviert, was bedeutet dass das Schuss-Event ganicht mehr verschwindet.
__________________
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 | |
|
|
![]() |
||||
Thema | Autor | Forum | Antworten | Letzter Beitrag |
Schuss KS mit Gegner | Pogopuschel | Tutorials | 5 | 11.05.2011 16:53 |