PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Rennskript und diagonal laufen



Teflo
17.02.2007, 15:57
Ich habe hier ein Rennskript, bei dem man zweimal in eine Richtung drücken muss, um zu rennen: (ich weiß, über die Farben kann man streiten)Das ist ein Comonevent:
http://upload.npcfighter.de/files/36/155Screenshot_8.jpg
Das ist ein Commonevent:http://upload.npcfighter.de/files/36/978Screenshot_9.jpg
Dieses Event ist auf jeder Karte:http://upload.npcfighter.de/files/36/165Screenshot_10.jpg
Mein Problem ist, das der Held manchmal einfach so langsam ist, dass er nicht mehr wirklich rennen kann. Wenn ich doppelt drücke, wechselt man zwar kurz die Grafik, aber weil man zu langsam ist, erkennt er es als stehen und man wird noch langsamer. Wie kann ich das beheben?

Außerdem wollt ich fragen, ob mir jemand einen Code zum diagona laufen geben kann.

Phönix Tear
18.02.2007, 22:53
Zu deiner ersten Frage erlaube ich mir mal Lachsen aus diesem (http://www.multimediaxis.de//showthread.php?t=71) Thread zu zitieren (Eröffnungspost).

Ein Schritt mit der Geschwindigkeit "Normal" dauert In "Wait": "0,1 Sek" + 2x "0,0 Sek" (also 8x 0,0 Sek)
Ein Schritt mit der Geschwindigkeit "2xSlower" dauert In "Wait": "0,2 Sek" + 4x "0,0 Sek" (also 16x 0,0 Sek)
Ein Schritt mit der Geschwindigkeit "4xSlower" dauert In "Wait": "0,4 Sek" +8x "0,0 Sek" (also 32x 0,0 Sek)
Ein Schritt mit der Geschwindigkeit "8xSlower" dauert In "Wait": "0,8 Sek" +16x "0,0 Sek" (also 64x 0,0 Sek)
Ein Schritt mit der Geschwindigkeit "2xFaster" dauert In "Wait": 4x "0,0 Sek"
Ein Schritt mit der Geschwindigkeit "4xFaster" dauert In "Wait": 2x "0,0 Sek"
Deine Aufgabe wäre es nun, das "Wait" in deinem zweiten Event an diese Werte anzupassen. D.h. konkret, dass du am besten eine Variable einbaust, die immer die Heldengeschwindigkeit beinhaltet. In deinem zweiten Event fragst du dann ab, welchen Wert diese Variable hat und setzt dementsprechend die Waits.

Zum diagonal Laufen:
Soweit ich weiß geht das mit dem rm2k nicht ohne Key-Patch. Beim rm2k3 bin ich mir nicht sicher (hab gehört da kann man genauere Tastenabfragen bauen...). Wenn du meinst den Tastenpatch benutzen zu wollen, kannst du ja nochmal nachfragen.

mfg
Phönix Tear

Teflo
19.02.2007, 16:07
Aha, Danke!
Nur weiß ich nicht ganz genau, was du damit meinst: Eine Variable, die immer die Heldengeschwindigkeit beinhaltet.

wegen Diagonal:
Ich könnte auch ohne Probleme auf den rm2k3 wechseln oder den Keypatch benutzen. Oder beides (da war doch mal diese Frage im Raum).

Paradisewolf
19.02.2007, 19:26
Wie hasste den die farbe bei Maker umgestellt? Oder haste den screen gefärbt?

-Crash-
19.02.2007, 19:39
Das kann man im Windows umstellen.

Phönix Tear
19.02.2007, 23:02
Nur weiß ich nicht ganz genau, was du damit meinst: Eine Variable, die immer die Heldengeschwindigkeit beinhaltet.
Da würden mir zwei Möglichkeiten einfallen, das zu bauen.

1) Bei jeder Änderung des Heldengeschwindigkeit (dabei spreche ich von wirklich jedem Event, dass auf die Heldengeschwindigkeit zugreift) wird die Variable angepasst

2) Du baust ein etwas komplizierteres Kontrollevent. Problem dabei könnte sein, dass es nicht genau genug ist, um im richtigen Moment umzuschalten. D.h. dein Problem würde bleibe. Solltest du also nicht all zu oft auf die Heldengeschwindigkeit zugreifen, solltest du Methode 1 wählen.

Was dann in der Variable drinnsteht ist eigentlich dir überlassen. Sinnvoll wäre natürlich etwas in der Art:

Wert der Variable = Bedeutung
1 = Held mit Geschwindigkeit 1
2 = Held mit Geschwindigkeit 2
3 = Held mit Geschwindigkeit 3
usw.
Öhm, ja. Sieht jetzt ein bisschen blöd aus ^^°. Was ich damit meine ist die Einstellung in deinem Move-Event. Ganz oben kannst du ja zwischen 1 bis 8 auswählen. Diesen Wert würdest du dann in die Variable speichern und dementsprechend dein Wait setzen.
Wie lange genau das "Wait" sein müsste, müsstest du vorher noch austesten. Sicher ist nur das es eine Kombination aus dem oben angegebenen und der Bewegungsrate ist.

Beispiel:
Der Held steht immer auf "Normal", das entspricht 8x 0,0 Sekunden.
Nun stellst du fest, dass auf Geschwindigkeit 7 alle 5x 0,0 Sekunden ein Schritt gemacht wird.
Daraus folgt, dass ein kompletter "Schrittzyklus" 13x 0,0 Sekunden dauert, also 2x 0,1 + 1x 0,0 Sekunden.
Nun steht also in deinem Laufskript:

<><>...
<><>Fork Variable "Heldengeschwindigkeit" = 7
<><><>Wait 0,2
<><><>Wait 0,0
<><>End:
<>End:
<>...
<>
Darüber und darunter kommt dann dein vorgegebener Code. Nur das Wait muss so ersetzt werden.

Teflo
22.02.2007, 15:53
Aha, danke! ich probiers nachher aus, hab grad net so vile Zeit, aber ich würde jetzt zu gern wissen, wie man diagonal laufen könnte. Und beim rm2k3 kann man jede Pfeiltaste einzeln abfragen.

Teflo
30.11.2007, 15:17
Sorry fürs pushen...aber mein Anliegen wegen diagonal laufen, besteht immernoch...nur mitm 2k3er.^^
Hab bei der Suche nix wirklich hilfreiches gefunden.

treeghost
30.11.2007, 15:31
8-Wege-Bewegungsskript

Autor: Onyx
Größe: 576 KB Dieses Skript zeigt euch ganz einfach, wie man - ohne den Keypatch - seine Figur in alle 8 Richtungen steuern kann.

Das gibt es hier:
Link (http://dl1.rpg-atelier.net/ressourcen2/scripte/8-Wege-BewegungScript2003.zip)