PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [Scriptsuche] 8 Way Movement mit wechseln der Charagrafik



Yukari
15.06.2009, 14:41
Es gibt ja das 8 way Movementscript, mit dem der Spieler in alle 8 Richtungen laufen kann. Ich suche ein Script wo sich dann die Charaktergrafik ändert, damit der Chara z.b. nach rechtsoben schaut beim laufen. Ich hab sowas schonmal gesehen, aber finde es nicht mehr. Kann jemand helfen? ;)

strich
15.06.2009, 15:34
#----- Credits an Xiderowg -----#
class Game_System
attr_accessor :move_speed
alias xas_system_initialize initialize
def initialize
xas_system_initialize
@move_speed = 4
end
end
#===============================================================================
# Game_Player
#===============================================================================
class Game_Player < Game_Character

def hero_dash_graphic?(actor)
if (Input.press?(Input::RIGHT) or Input.press?(Input::LEFT) or
Input.press?(Input::UP) or Input.press?(Input::DOWN))
RPG::Cache.character(actor.character_name.to_s + "_dash", actor.character_hue) rescue return false
end
end

def hero_dash_quarter_graphic?(actor)
if (Input.press?(Input::RIGHT) or Input.press?(Input::LEFT) or
Input.press?(Input::UP) or Input.press?(Input::DOWN))
RPG::Cache.character(actor.character_name.to_s + "_dash_quarter", actor.character_hue) rescue return false
end
end

def hero_quarter_graphic?(actor)
RPG::Cache.character(actor.character_name.to_s + "_quarter", actor.character_hue) rescue return false
end

def update
@actor = $game_party.actors[0]
if @actor != nil
actor = $game_party.actors[0]
if actor.hp <= 0
if XAS_BA::AUTOGAMEOVER == true
$scene = Scene_Gameover.new rescue nil if self.collapse_done
else
$game_switches[XAS_BA::GAMEOVER_SWITCH_ID] = true
$game_map.refresh
end
end
end
last_moving = moving?
unless moving? or $game_system.map_interpreter.running? or
@move_route_forcing or $game_temp.message_window_showing #or
# $game_temp.dodge_time_real > 0
case Input.dir8
when 1
move_left
move_down
when 2
move_down
when 3
move_down
move_right
when 4
move_left
when 6
move_right
when 7
move_up
move_left
when 8
move_up
when 9
move_right
move_up
end

case Input.dir8
when 1
quarter = true
when 2
quarter = false
when 3
quarter = true
when 4
quarter = false
when 6
quarter = false
when 7
quarter = true
when 8
quarter = false
when 9
quarter = true
end
actor = $game_party.actors[0]
@move_speed = $game_system.move_speed
if (quarter != nil and quarter == true) and
hero_quarter_graphic?(actor) #and self.action == nil
@character_name = actor.character_name + "_quarter"
else
@character_name = actor.character_name
end


end
last_real_x = @real_x
last_real_y = @real_y
super
if @real_y > last_real_y and @real_y - $game_map.display_y > CENTER_Y
$game_map.scroll_down(@real_y - last_real_y)
end
if @real_x < last_real_x and @real_x - $game_map.display_x < CENTER_X
$game_map.scroll_left(last_real_x - @real_x)
end
if @real_x > last_real_x and @real_x - $game_map.display_x > CENTER_X
$game_map.scroll_right(@real_x - last_real_x)
end
if @real_y < last_real_y and @real_y - $game_map.display_y < CENTER_Y
$game_map.scroll_up(last_real_y - @real_y)
end
unless moving?
if last_moving
result = check_event_trigger_here([1,2])
if result == false
unless $DEBUG and Input.press?(Input::CTRL)
if @encounter_count > 0
@encounter_count -= 1
end
end
end
end
if Input.trigger?(Input::C)
check_event_trigger_here([0])
check_event_trigger_there([0,1,2])
end
end
end
end

Das ganze ist aus Xiderowgs "XAS" und eigentlich auch nur kompitabel damit habs nur schnell so geändert das es auch bei anderen läuft.
Zur Verwendung:
Für jede Grafik die schräg laufen soll eine extra grafik machen welche den namen der alten grafik trägt + _quarter. Beispiel: Alex_quarter.png (siehe anhang).

Rusk
15.06.2009, 15:37
Kann man solche Charas auch selber machen?

strich
15.06.2009, 15:42
ja du machst halt für jeden chara der schräg laufen soll ne 2te grafik wie der anhang und setzt halt hinter deren namen "_quarter".

Yukari
15.06.2009, 15:51
Danke ^^ aber da ist ja das rennen dabei (dash) das brauch ich nicht.

strich
15.06.2009, 15:52
ja es dürfte auch ohne den restlichen XAS teil garnich funtionieren also lass es drinn oder lösch es macht keinen unterschied

Rusk
15.06.2009, 15:53
ja du machst halt für jeden chara der schräg laufen soll ne 2te grafik wie der anhang und setzt halt hinter deren namen "_quarter".

Ich meinte das "schiefe" Aussehen

strich
15.06.2009, 15:56
Ich meinte das "schiefe" Aussehen
Ja mit nem Grafik prog irgentwie zeichnen bin kein grafik experte villeicht gibts da auch tools mit denen man die schräg hinbekommt.

Rusk
15.06.2009, 16:07
Werd mal googlen, vltlässt sich etwas finden.

Yukari
15.06.2009, 17:24
Ich hab das so kopiert wie es dasteht und jetzt kommt ein Fehler mit:
Script Scene_Map line104:NoMethodError occured.
undefined method encounter_count for#<Game_Player:0x346e3a8> :confused:

Zeythier
15.06.2009, 17:57
Ich hab das so kopiert wie es dasteht und jetzt kommt ein Fehler mit:
Script Scene_Map line104:NoMethodError occured.
undefined method encounter_count for#<Game_Player:0x346e3a8> :confused:

Ich habe es auch gerade kopiert und es funzt wunderbar. Kopier´s doch nochmal und falls es dann auch nicht geht, probier er einfach mit einem normalen Char ohne der schrägen Ansicht.

Yukari
15.06.2009, 18:09
Kommt immernoch das selbe

strich
15.06.2009, 18:39
also ich hatte auch nen neues projekt gemacht un es ging, warscheinlich hängt es mit einem deiner anderen scripts, setz es ma direkt unter Scene_Debug und nich nach ganz unten
Edit: Oder es geht nicht weil du das Game_Player script verändert hast.

Yukari
15.06.2009, 18:55
Oh ich wusste nicht das es ein eigenständiges Script ist, hab es im Game_player eingefügt ^^" Jetzt gehts dankeschön ^_^

strich
15.06.2009, 19:01
Ok das ist gut das script ist ja nur eine Game_Player erweiterung also brauch es auch das normale Game_Player. Falls noch irgentwas nich geht sagt bescheid und vergesst nicht Xiderowg in den Credits zu erwähnen ;)

Edit: Da fällt mir noch was ein, der Movementspeed, hab das script oben nochmal aktualisiert, wenn man den player move speed jetzt ändern will kann man das mit folgendem event script befehl tun

$game_system.move_speed = 1
(1 ist der speed, 1=langsamstes 6=schnellstes)

#----- Credits an Xiderowg -----#
class Game_System
attr_accessor :move_speed
alias xas_system_initialize initialize
def initialize
xas_system_initialize
@move_speed = 4
end
end
#===============================================================================
# Game_Player
#===============================================================================
class Game_Player < Game_Character

def hero_dash_graphic?(actor)
if (Input.press?(Input::RIGHT) or Input.press?(Input::LEFT) or
Input.press?(Input::UP) or Input.press?(Input::DOWN))
RPG::Cache.character(actor.character_name.to_s + "_dash", actor.character_hue) rescue return false
end
end

def hero_dash_quarter_graphic?(actor)
if (Input.press?(Input::RIGHT) or Input.press?(Input::LEFT) or
Input.press?(Input::UP) or Input.press?(Input::DOWN))
RPG::Cache.character(actor.character_name.to_s + "_dash_quarter", actor.character_hue) rescue return false
end
end

def hero_quarter_graphic?(actor)
RPG::Cache.character(actor.character_name.to_s + "_quarter", actor.character_hue) rescue return false
end

def update
@actor = $game_party.actors[0]
if @actor != nil
actor = $game_party.actors[0]
if actor.hp <= 0
if XAS_BA::AUTOGAMEOVER == true
$scene = Scene_Gameover.new rescue nil if self.collapse_done
else
$game_switches[XAS_BA::GAMEOVER_SWITCH_ID] = true
$game_map.refresh
end
end
end
last_moving = moving?
unless moving? or $game_system.map_interpreter.running? or
@move_route_forcing or $game_temp.message_window_showing #or
# $game_temp.dodge_time_real > 0
case Input.dir8
when 1
move_left
move_down
when 2
move_down
when 3
move_down
move_right
when 4
move_left
when 6
move_right
when 7
move_up
move_left
when 8
move_up
when 9
move_right
move_up
end

case Input.dir8
when 1
quarter = true
when 2
quarter = false
when 3
quarter = true
when 4
quarter = false
when 6
quarter = false
when 7
quarter = true
when 8
quarter = false
when 9
quarter = true
end
actor = $game_party.actors[0]
@move_speed = $game_system.move_speed
if (quarter != nil and quarter == true) and
hero_quarter_graphic?(actor) #and self.action == nil
@character_name = actor.character_name + "_quarter"
else
@character_name = actor.character_name
end


end
last_real_x = @real_x
last_real_y = @real_y
super
if @real_y > last_real_y and @real_y - $game_map.display_y > CENTER_Y
$game_map.scroll_down(@real_y - last_real_y)
end
if @real_x < last_real_x and @real_x - $game_map.display_x < CENTER_X
$game_map.scroll_left(last_real_x - @real_x)
end
if @real_x > last_real_x and @real_x - $game_map.display_x > CENTER_X
$game_map.scroll_right(@real_x - last_real_x)
end
if @real_y < last_real_y and @real_y - $game_map.display_y < CENTER_Y
$game_map.scroll_up(last_real_y - @real_y)
end
unless moving?
if last_moving
result = check_event_trigger_here([1,2])
if result == false
unless $DEBUG and Input.press?(Input::CTRL)
if @encounter_count > 0
@encounter_count -= 1
end
end
end
end
if Input.trigger?(Input::C)
check_event_trigger_here([0])
check_event_trigger_there([0,1,2])
end
end
end
end

Rusk
15.06.2009, 19:35
Hm, ich weiß nicht ob ich das Script verweden soll.
Schön ausssehen tuts, aber obs Sinn hat?
Soll ich oder soll ich nicht?

Zeythier
15.06.2009, 19:40
Ich finde es auch nicht schlecht, aber was nützt es einem? Meiner Meinung nach ergibt es keinen Sinn...

Rusk
15.06.2009, 19:51
Ich finde es auch nicht schlecht, aber was nützt es einem? Meiner Meinung nach ergibt es keinen Sinn...

Es gibt ja viele Scripts die keinen Sinn ergeben, aber beim Spielen spielt das Auge ja auch mit. Sonst kann ma iwie das ganze schöne mappem weglassen und einfach nur Bäume, Häuser und Straßen platziert.
Ich verwende es nicht, sondern platz mein Spiel aus allen Nähten von den ganzen Scripts ... :D

Zeythier
15.06.2009, 19:57
Ein Spiel kann auch ohne Skripte gut werden. Aber nur bestimmte. Will man aber etwas exklusives entwerfen, so benötigt man dann doch Skripte. Aber ein Skript baue Ich in jedes meiner Games ein: Ein besseres KS!

Rusk
15.06.2009, 20:11
Stimmt, ich verwende für mein Elfennacht auch ein anders KS.
Das Standard ist iwie ... ja Standard, wenn ihr versteht was ich meine. :D
Aber das Thema ist ja, ob 8 Bewegungsrichtungen scheiße oder cool sind.

strich
15.06.2009, 20:25
Also ich finde scripts sehr wichtig grade so eins wie das hier, es is schnell eingebaut und es sieht einfach schöner aus wenn der char auch schräg laufen kann. Klar kann ein spiel auch ohne script gut sein aber mit den richtigen scripts, es müssen garnicht viele sein, kann man sie noch besser machen.

Rusk
15.06.2009, 20:28
Mann, schon wieder eine, der für das Script ist.
Werd morgen nochmal hier reinschaeun.
Falls viele es mögen, werde ich ed verwenden.
Schließlich ist das Spiel nicht für mich, sondern für euch.
Euch muss es gefallen (mir eigentlich auch^^)
Dann good night, für die die früh ins Bett gehen. ;)

strich
15.06.2009, 20:31
Also ich finde das musst du selber wissen, entweder du machst dein game mit schräglaufen oder ohne, kommt villt auch auf die art des games an in action games wo man beispielsweise oft vor zombies weglaufen muss is das eher geignet als z.b. für nen detektiv game wo man kaum läuft.

Rusk
15.06.2009, 20:36
Daran habe ich auch schon gedacht.
zb. ist dieses Script für AKS gut geeignet (Hybris 2nd Awakening)
Na ja, ich hab noch viel zeit fürs Denken. Bis die Demo rauskommt, vergehen schon ein paar Monate.
LG Deamonic

PS: Irre wie schnell Thread vom Thema abweichen.
Yukari ist schon geholfen worden, aber wir spammen hier weiter. :D

strich
15.06.2009, 20:42
Achja Hybris 2 wurde mit XAS gemacht also hats das gleiche aks wie mein projekt^^
http://www.atelier-rgss.com/RGSS/Battle/XAS_00a.html
Allerdings hab ich das ganze schon bearbeitet bei mir gibts noch einige funktionen mehr :D

Yukari
15.06.2009, 20:54
Ach ihr könnt ruhig posten wie ihr das 8 way movement findet xD bei mir ist das günstiger weil ich Ragnarok Online Charas verwende

Zeythier
16.06.2009, 12:56
Achja Hybris 2 wurde mit XAS gemacht also hats das gleiche aks wie mein projekt^^
http://www.atelier-rgss.com/RGSS/Battle/XAS_00a.html
Allerdings hab ich das ganze schon bearbeitet bei mir gibts noch einige funktionen mehr :D

Dieses KS werde ich auch für mein 2. Spiel verwenden. Doom2 - The War. Kann man dieses KS eigentlich auch mit mehreren Chars nutzen oder nur mit einem?

strich
16.06.2009, 15:20
also mit dem standard ding kommen bugs ich hab meins so umgescriptet das man mehrere nehmen kann und per knopfdruck die chars wechseln kann

Zeythier
16.06.2009, 17:01
Achso? Mir sind derzeit noch keine Bugs aufgefallen. Und die Items werde ich sowieso streichen man soll nur angreifen, zurückspringen und mit dem Schild abwehren können. Das reicht völlig aus.

Rusk
16.06.2009, 18:27
Das XAS ist nach meiner Meinung sehr schwer zu verstehen.
Mann muss schon gut damit umgehen können, um ein Spiel daraus zu machen.
Hatte es auch mal vor zu verwenden, aber hab ein bessers gefunden.
Doch wenn man es erst mal begreift und man hat auch ein Spiel, muss ein tolles Spiel rauskommen, sofern es mit der Story auch klappt.

strich
16.06.2009, 18:50
Achso? Mir sind derzeit noch keine Bugs aufgefallen.
Da gibts zum beispiel den Bug mit den Skills, wenn man den char wechselt bleibt der alte skill, auch wenn der neue char den skill garnich hat, und es bekommen alle aus der gruppe erfahrung wobei ich finde das nur der, mit dem man grade kämpft erfahrung bekommen sollte. (es sind nochn paar andere kleinigkeiten)

Das XAS ist nach meiner Meinung sehr schwer zu verstehen.
Mann muss schon gut damit umgehen können, um ein Spiel daraus zu machen.
Hatte es auch mal vor zu verwenden, aber hab ein bessers gefunden.
Doch wenn man es erst mal begreift und man hat auch ein Spiel, muss ein tolles Spiel rauskommen, sofern es mit der Story auch klappt.
Es ist auch nicht leicht, aber es funktioniert perfekt, und man brauch eigentlich kaum was machen wenn man erstmal alle monster, waffen, und rüstungen fertig gescriptet hat.

SMWma
16.06.2009, 18:52
ähhhmmm, wie hast du denn Alex gemacht, Strich?
Hast du dafür irgendein Prog benutzt oder so ähnlich?

Rusk
16.06.2009, 18:53
Es ist auch nicht leicht, aber es funktioniert perfekt, und man brauch eigentlich kaum was machen wenn man erstmal alle monster, waffen, und rüstungen fertig gescriptet hat.

Wie schon gesagt, wenn man es beherrscht, ist es einfach nur geil.
Und das ist anscheinend bei dir so, wenn ich deine Post richtig interpretiere.

strich
16.06.2009, 18:58
@Adiran2000: Hab ich nich gemacht, ist ebenfalls vom Xiderowg :D.


Wie schon gesagt, wenn man es beherrscht, ist es einfach nur geil.
Und das ist anscheinend bei dir so, wenn ich deine Post richtig interpretiere. Ich hab alles für XAS bei mir schon fertig, was noch fehlt sind ziemlich alle maps und danach noch der einbau.