• Anmelden

1

Mittwoch, 7. Oktober 2009, 00:10

Fragen zu bewegungscommands

Servus..

Also..
Ich brauche ein paar kleine Hilfen zu den kommandos für Bewegungen.

So ist die Situation:
Für eine Gegner KI, erstelle ich Move_Routen via RGSS. diese werden durch "RPG::MoveCommand.new(0)" nicht geloopt.


Was brauche ich:
Eine möglichkeit abzufragen, ob die komplette Route abgelaufen wurde.



ich hoff da kennt sich wer aus ^^
There was a Cave,
below a Silent's Grave.
Tunnels, extending far, running wide,
going deep into the World on the other Side.
Poor little Child, that was to brave,
died painfully deep down, in the Devil's Cave.

2

Mittwoch, 7. Oktober 2009, 01:46

Wie machst du die Move_Route denn? Und wir reden doch von normalen Game_Charakter Objekten oder?
Die Move Rout ist vermutlich fertig wenn der index auf dem letzten Array Punkt steht?

Ruby Quellcode

1
2
3
4
5
6
7
8
class Game_Character
  def in_move?
    # Wenn die Variablen gar nicht gesetzt sind, nil zurück geben:
    if @move_route_index == 0 or @move_route == nil then return nil end
    # sonst gib zurück ob die MoveRoute beendet ist
    return (@move_route_index < @move_route.list.size)
  end
end
Jetzt kann jedes Event diese Abfrage ausführen, oder über den Interpreten:
get_character(parameter).in_move? kann man es in Conditional Branches einbauen.
(parameter ist -1=hero; 0=self; >0 = event_id)

Lies dir mal in der Makerhilfe die Erklährungen dazu durch und schau in Game_Charakter1 ab Zeile 102 die Methode: force_move_route(move_route) an, und in Game_Charaker2 ab Zeile 175 move_type_custom an.

Allerdings denk ich das du die MoveRouten anders festlegst, als gewöhnlich. Dürfte ich mal deinen Code sehen? So wie ich deine Beschreibung deute besteht die Möglichkeit das mein Code bei dir nicht funktioniert ;)

3

Mittwoch, 7. Oktober 2009, 21:11

Ruby Quellcode

1
2
3
move = RPG::MoveRoute.new
move.list = [RPG::MoveCommand.new(ID)]
$game_map.events[id].force_move_route(move)


Diese Codebasis verwende ich
There was a Cave,
below a Silent's Grave.
Tunnels, extending far, running wide,
going deep into the World on the other Side.
Poor little Child, that was to brave,
died painfully deep down, in the Devil's Cave.

4

Donnerstag, 8. Oktober 2009, 01:13

Gut, hast du es mal ausprobiert? Theoretisch sollte mein Code funktionieren.
Wobei, kleiner Fehler meinerseits, du musst in Zeile 6 noch ein "-1" anfügen:

Ruby Quellcode

1
 return (@move_route_index < @move_route.list.size-1)


Oder funktioniert es nicht? Fragen? Fehler?

5

Donnerstag, 8. Oktober 2009, 01:52

Nein.. funzt perfekt.. danke Playm ^^
There was a Cave,
below a Silent's Grave.
Tunnels, extending far, running wide,
going deep into the World on the other Side.
Poor little Child, that was to brave,
died painfully deep down, in the Devil's Cave.

Ähnliche Themen

Social Bookmarks