RPG Maker VX Ace

RPG Maker VX Ace

檢視統計資料:
Chomposaur 2014 年 3 月 2 日 下午 7:58
Is diagonal movement possible?
Anyone how to do something like the mother series with being able to move diagonally?
< >
目前顯示第 1-15 則留言,共 15
Mystix 2014 年 3 月 2 日 下午 8:53 
Yes, but you'd probably have to use a script to do it.
Kio Kurashi 2014 年 3 月 2 日 下午 9:10 
Not probably. Definitly. Unless you know how to change the game's default system which ofcorse is still a script.
Chomposaur 2014 年 3 月 2 日 下午 9:17 
Guess no one knows any scripts for it?
Tired Dad Games 2014 年 3 月 2 日 下午 9:36 
I know there is an 8-point movement script out there, but I can't remember what it was called. But I do know it exists!
Zodd 2014 年 3 月 2 日 下午 10:45 
#==============================================================================
# 8 Dir Move JV Master Script
#------------------------------------------------------------------------------
# Make player move in 8 dir, supports diagonal pattern.
#==============================================================================

module JvScripts
module Dirs8

Switch = 0 # Switch id for toggle 4/8 dir, 0 if always 8 dir
DiagonalSuffix = "_di" # Suffix for 8 dir charsets
# 8 dir charsets include in the first char
# the orthogonal and in the second the diagonal
end
end

#==============================================================================
# Game CharacterBase
#==============================================================================
class Game_CharacterBase

def move_diagonal(horz, vert)
@move_succeed = diagonal_passable?(x, y, horz, vert)
if @move_succeed
@x = $game_map.round_x_with_direction(@x, horz)
@y = $game_map.round_y_with_direction(@y, vert)
@real_x = $game_map.x_with_direction(@x, reverse_dir(horz))
@real_y = $game_map.y_with_direction(@y, reverse_dir(vert))
increase_steps
end
if diagonal_charset?
set_direction_diagonal(horz, vert)
else
set_direction(horz) if @direction == reverse_dir(horz)
set_direction(vert) if @direction == reverse_dir(vert)
end
end

def set_direction(d)
if !@direction_fix && d != 0
@direction = d
@character_index = 0 if diagonal_charset?
end
@stop_count = 0
end

def set_direction_diagonal(horz, vert)
if !@direction_fix && horz != 0 && vert != 0
if horz == 4 && vert == 2
@direction = 2
elsif horz == 4 && vert == 8
@direction = 4
elsif horz == 6 && vert == 2
@direction = 6
elsif horz == 6 && vert == 8
@direction = 8
end

@character_index = 1
end
@stop_count = 0
end

def diagonal_charset?
true if @character_name.include?(JvScripts::Dirs8::DiagonalSuffix)
end
end

#==============================================================================
# Game Player
#==============================================================================
class Game_Player < Game_Character
def move_by_input
return if !movable? || $game_map.interpreter.running?
if JvScripts::Dirs8::Switch > 0
if $game_switches[JvScripts::Dirs8::Switch] == true
case Input.dir8
when 2, 4, 6, 8
move_straight(Input.dir4)
when 1
move_diagonal(4, 2)
when 3
move_diagonal(6, 2)
when 7
move_diagonal(4, 8)
when 9
move_diagonal(6, 8)
end
else
move_straight(Input.dir4) if Input.dir4 > 0
end
else
if Input.dir8 > 0
case Input.dir8
when 2, 4, 6, 8
move_straight(Input.dir4)
when 1
move_diagonal(4, 2)
when 3
move_diagonal(6, 2)
when 7
move_diagonal(4, 8)
when 9
move_diagonal(6, 8)
end
end
end
end
end
#==============================================================================
Mystix 2014 年 3 月 3 日 上午 2:17 
There's a few scripts out there that can add diagonal movement. It's just a matter of searching to find the one you like and things works good with your project.
For my current project, I'm using Victor's Diagonal Movement script from here:
http://victorscripts.wordpress.com/rpg-maker-vx-ace/utility-scripts/diagonal-movement/
For most of his scripts, you'll also need to use his Victor-Engine-Basic-Module script:
http://victorscripts.wordpress.com/rpg-maker-vx-ace/basic-scripts/basic-module/
and place it above other Victor script you may use in your project.
Sockan 2014 年 3 月 3 日 上午 3:01 
Some scripts can also enable 8 directions sprites instead of just 4 directions, if one would want that as well.
Hajami 2014 年 3 月 3 日 上午 3:11 
I Evented my own 8dir movement^^^its possible, but script is maybe easier.
Sockan 2014 年 3 月 3 日 上午 3:16 
引用自 Hajami
I Evented my own 8dir movement^^^its possible, but script is maybe easier.

I'd assume that scripts are easier in this case, you don't have the need to event such a thing on every map with i.e the script Zoddiak posted. It's plug and play.
Chomposaur 2014 年 3 月 3 日 上午 7:46 
Thanks for all the replies everyone
Hajami 2014 年 3 月 3 日 上午 9:23 
i had a common event that worked on all maps^^ i like common events.1 for All.
最後修改者:Hajami; 2014 年 3 月 3 日 上午 9:24
Alexa Reizla 2014 年 3 月 3 日 上午 11:22 
引用自 LoneWolfDon
There's a few scripts out there that can add diagonal movement. It's just a matter of searching to find the one you like and things works good with your project.
For my current project, I'm using Victor's Diagonal Movement script from here:
http://victorscripts.wordpress.com/rpg-maker-vx-ace/utility-scripts/diagonal-movement/
For most of his scripts, you'll also need to use his Victor-Engine-Basic-Module script:
http://victorscripts.wordpress.com/rpg-maker-vx-ace/basic-scripts/basic-module/
and place it above other Victor script you may use in your project.

I think Victor is a genious. I've downloaded all his scripts and am using (well, experimenting with) already half a dozen of them.
Cousin Chris 2018 年 4 月 29 日 下午 4:16 
引用自 DEENOH on söpö <3
#==============================================================================
# 8 Dir Move JV Master Script
#------------------------------------------------------------------------------
# Make player move in 8 dir, supports diagonal pattern.
#==============================================================================

module JvScripts
module Dirs8

Switch = 0 # Switch id for toggle 4/8 dir, 0 if always 8 dir
DiagonalSuffix = "_di" # Suffix for 8 dir charsets
# 8 dir charsets include in the first char
# the orthogonal and in the second the diagonal
end
end

#==============================================================================
# Game CharacterBase
#==============================================================================
class Game_CharacterBase

def move_diagonal(horz, vert)
@move_succeed = diagonal_passable?(x, y, horz, vert)
if @move_succeed
@x = $game_map.round_x_with_direction(@x, horz)
@y = $game_map.round_y_with_direction(@y, vert)
@real_x = $game_map.x_with_direction(@x, reverse_dir(horz))
@real_y = $game_map.y_with_direction(@y, reverse_dir(vert))
increase_steps
end
if diagonal_charset?
set_direction_diagonal(horz, vert)
else
set_direction(horz) if @direction == reverse_dir(horz)
set_direction(vert) if @direction == reverse_dir(vert)
end
end

def set_direction(d)
if !@direction_fix && d != 0
@direction = d
@character_index = 0 if diagonal_charset?
end
@stop_count = 0
end

def set_direction_diagonal(horz, vert)
if !@direction_fix && horz != 0 && vert != 0
if horz == 4 && vert == 2
@direction = 2
elsif horz == 4 && vert == 8
@direction = 4
elsif horz == 6 && vert == 2
@direction = 6
elsif horz == 6 && vert == 8
@direction = 8
end

@character_index = 1
end
@stop_count = 0
end

def diagonal_charset?
true if @character_name.include?(JvScripts::Dirs8::DiagonalSuffix)
end
end

#==============================================================================
# Game Player
#==============================================================================
class Game_Player < Game_Character
def move_by_input
return if !movable? || $game_map.interpreter.running?
if JvScripts::Dirs8::Switch > 0
if $game_switches[JvScripts::Dirs8::Switch] == true
case Input.dir8
when 2, 4, 6, 8
move_straight(Input.dir4)
when 1
move_diagonal(4, 2)
when 3
move_diagonal(6, 2)
when 7
move_diagonal(4, 8)
when 9
move_diagonal(6, 8)
end
else
move_straight(Input.dir4) if Input.dir4 > 0
end
else
if Input.dir8 > 0
case Input.dir8
when 2, 4, 6, 8
move_straight(Input.dir4)
when 1
move_diagonal(4, 2)
when 3
move_diagonal(6, 2)
when 7
move_diagonal(4, 8)
when 9
move_diagonal(6, 8)
end
end
end
end
end
#==============================================================================

Dude, You Saved My Life With This Script! Thanks!
kittylitterproduction 2018 年 4 月 30 日 上午 1:02 
If RPG Maker is a life-or-death matter to you it is time for you to seek professional help.
AceHangman 2018 年 5 月 1 日 上午 12:58 
If RPG Maker is a life-or-death matter to you it is time for you to seek professional help.
Maybe it was a case of there being deathtraps to the north, south, east, and west.
< >
目前顯示第 1-15 則留言,共 15
每頁顯示: 1530 50