Если с боевкой, то видел только это.
Но т.к. в японском не секу, разбираться в ней не пробовал.
Да и для VX она только.
Вид для печати
Если с боевкой, то видел только это.
Но т.к. в японском не секу, разбираться в ней не пробовал.
Да и для VX она только.
Уже нашёл что искал.
Что стрёмно в этих платформенных системах - они расчитаны на "колобков". Т-е в них нет анимаций прыжка, приседания, и так далее, а просто человечек ходит и всё. Хотя наверное можно в скриптах же это прописать.
Народ! Никто не знает HUD, чтобы отображалась жизнь и мана не только главного г, а всех сопартийцев?
ищу 2 скрипта на хр
первый мультифрейм для персонажей по типу викторовского
Спойлер :PHP код:
#==============================================================================
# ** Victor Engine - Multi Frames
#------------------------------------------------------------------------------
# Author : Victor Sant
#
# Version History:
# v 1.00 - 2011.12.21 > First release
# v 1.01 - 2011.12.22 > Compatibility with Diagonal Movement
# v 1.02 - 2012.01.02 > Added character bitmap positions
# v 1.03 - 2012.01.04 > Compatibility with Character Control
#------------------------------------------------------------------------------
# This script allows to use charset graphics with a number of frames different
# from 3.
#------------------------------------------------------------------------------
# Compatibility
# Requires the script 'Victor Engine - Basic Module' v 1.05 or higher
# If used with 'Victor Engine - Followers Options' place this bellow it.
# If used with 'Victor Engine - Visual Equip' place this bellow it.
#
# * Overwrite methods (Default)
# class Window_Base < Window
# def draw_character
#
# * Alias methods (Default)
# class Game_CharacterBase
# def update_anime_pattern
# def straighten
# def set_graphic(character_name, character_index)
#
# class Sprite_Character < Sprite_Base
# def set_character_bitmap
# def update_src_rect
#
#------------------------------------------------------------------------------
# Instructions:
# To instal the script, open you script editor and paste this script on
# a new section bellow the Materials section. This script must also
# be bellow the script 'Victor Engine - Basic'
#
#------------------------------------------------------------------------------
# Additional instructions:
#
# To change the number of frames of a charset graphic, add [f*] to it's
# name, where * is the number of frames.
# It's possible to use individual charsets or 8 characters charsets.
# If using the 8 characters charset, all of them must have the same number
# of frames.
# When changing the number of frames, the animation behavior also changes.
# Upon reaching the last frame it will return to the first, differently
# from the default RPG Maker VX Ace pattern, that repate the second frame
# after displaying the third.
#
#==============================================================================
#==============================================================================
# ** Victor Engine
#------------------------------------------------------------------------------
# Setting module for the Victor Engine
#==============================================================================
module Victor_Engine
#--------------------------------------------------------------------------
# * required
# This method checks for the existance of the basic module and other
# VE scripts required for this script to work, don't edit this
#--------------------------------------------------------------------------
def self.required(name, req, version, type = nil)
if !$imported[:ve_basic_module]
msg = "The script '%s' requires the script\n"
msg += "'VE - Basic Module' v%s or higher above it to work properly\n"
msg += "Go to [url]http://victorscripts.wordpress.com/[/url] to download this script."
msgbox(sprintf(msg, self.script_name(name), version))
exit
else
self.required_script(name, req, version, type)
end
end
#--------------------------------------------------------------------------
# * script_name
# Get the script name base on the imported value, don't edit this
#--------------------------------------------------------------------------
def self.script_name(name, ext = "VE")
name = name.to_s.gsub("_", " ").upcase.split
name.collect! {|char| char == ext ? "#{char} -" : char.capitalize }
name.join(" ")
end
end
$imported ||= {}
$imported[:ve_multi_frames] = 1.03
Victor_Engine.required(:ve_multi_frames, :ve_basic_module, 1.05, :above)
Victor_Engine.required(:ve_multi_frames, :ve_diagonal_move, 1.00, :bellow)
Victor_Engine.required(:ve_multi_frames, :ve_roatation_turn, 1.00, :bellow)
Victor_Engine.required(:ve_multi_frames, :ve_character_control, 1.00, :bellow)
#==============================================================================
# ** Game_CharacterBase
#------------------------------------------------------------------------------
# This class deals with characters. Common to all characters, stores basic
# data, such as coordinates and graphics. It's used as a superclass of the
# Game_Character class.
#==============================================================================
class Game_CharacterBase
#--------------------------------------------------------------------------
# * Alias method: update_anime_pattern
#--------------------------------------------------------------------------
alias :update_anime_pattern_ve_multi_frames :update_anime_pattern
def update_anime_pattern
if @character_name[/\[F(\d+)\]/i] && !(@stop_count > 0 && !@step_anime)
@pattern = (@pattern + 1) % frames
else
update_anime_pattern_ve_multi_frames
end
end
#--------------------------------------------------------------------------
# * Alias method: straighten
#--------------------------------------------------------------------------
alias :straighten_ve_multi_frames :straighten
def straighten
if @character_name[/\[F(\d+)\]/i]
@pattern = 0 if @walk_anime || @step_anime
@anime_count = 0
else
straighten_ve_multi_frames
end
end
#--------------------------------------------------------------------------
# * Alias method: set_graphic
#--------------------------------------------------------------------------
alias :set_graphic_ve_multi_frames :set_graphic
def set_graphic(character_name, character_index)
set_graphic_ve_multi_frames(character_name, character_index)
@original_pattern = 0 if @character_name[/\[F(\d+)\]/i]
end
#--------------------------------------------------------------------------
# * New method: frames
#--------------------------------------------------------------------------
def frames
@character_name[/\[F(\d+)\]/i] ? $1.to_i : 3
end
end
#==============================================================================
# ** Game_Player
#------------------------------------------------------------------------------
# This class handles the player.
# The instance of this class is referenced by $game_map.
#==============================================================================
class Game_Player < Game_Character
#--------------------------------------------------------------------------
# * Alias method: refresh
#--------------------------------------------------------------------------
alias :refresh_ve_multi_frames :refresh
def refresh
refresh_ve_multi_frames
@original_pattern = @character_name[/\[F(\d+)\]/i] ? 0 : 1
end
end
#==============================================================================
# ** Game_Follower
#------------------------------------------------------------------------------
# This class handles the followers. Followers are the actors of the party
# that follows the leader in a line. It's used within the Game_Followers class.
#==============================================================================
class Game_Follower < Game_Character
#--------------------------------------------------------------------------
# * Alias method: refresh
#--------------------------------------------------------------------------
alias :refresh_ve_multi_frames :refresh
def refresh
refresh_ve_multi_frames
@original_pattern = @character_name[/\[F(\d+)\]/i] ? 0 : 1
end
end
#==============================================================================
# ** Sprite_Character
#------------------------------------------------------------------------------
# This sprite is used to display characters. It observes a instance of the
# Game_Character class and automatically changes sprite conditions.
#==============================================================================
class Sprite_Character < Sprite_Base
#--------------------------------------------------------------------------
# * Alias method: update_src_rect
#--------------------------------------------------------------------------
alias :update_src_rect_ve_multi_frames :update_src_rect
def update_src_rect
if @tile_id == 0 && @character_name[/\[F(\d+)\]/i]
update_multi_frames_src_rect
else
update_src_rect_ve_multi_frames
end
end
#--------------------------------------------------------------------------
# * New method: update_multi_frames_src_rect
#--------------------------------------------------------------------------
def update_multi_frames_src_rect
index = @character.character_index
sx = (index % 4 * @character.frames + @character.pattern) * @cw
sy = (index / 4 * 4 + (@character.direction - 2) / 2) * @ch
self.src_rect.set(sx, sy, @cw, @ch)
end
end
#==============================================================================
# ** Window_Base
#------------------------------------------------------------------------------
# This is a superclass of all windows in the game.
#==============================================================================
class Window_Base < Window
#--------------------------------------------------------------------------
# * Overwrite method: draw_character
#--------------------------------------------------------------------------
def draw_character(character_name, character_index, x, y)
return unless character_name
bitmap = Cache.character(character_name)
sign = character_name[/^[\!\$]./]
frames = character_name[/\[F(\d+)\]/i] ? $1.to_i : 3
if sign && sign.include?('$')
cw = bitmap.width / frames
ch = bitmap.height / 4
else
cw = bitmap.width / (frames * 4)
ch = bitmap.height / 8
end
n = character_index
src_rect = Rect.new((n % 4* 3 + 1) * cw, (n / 4 * 4) * ch, cw, ch)
contents.blt(x - cw / 2, y - ch, bitmap, src_rect)
end
end
и второй на разную анимацию при разном действии (при беге, при ходьбе, стоит, прыжки и тд) тоже аналог от виктора или галва под асе
Спойлер :PHP код:
#==============================================================================
# ** Victor Engine - Character Control
#------------------------------------------------------------------------------
# Author : Victor Sant
#
# Version History:
# v 1.00 - 2012.01.04 > First release
# v 1.01 - 2012.01.07 > Added Compatibility with Visual Equipment
# v 1.02 - 2012.01.14 > Fixed the positive sign on some Regular Expressions
# v 1.03 - 2012.01.15 > Fixed the Regular Expressions problem with "" and 灯
# v 1.04 - 2012.07.25 > Fixed Compatibility with Visual Equipment and
# > Diagonal Movement
# v 1.05 - 2012.08.02 > Compatibility with Basic Module 1.27
#------------------------------------------------------------------------------
# This script allows to control character chaset animations. You can set
# different graphis for walking, dashing and jumping, also you can display
# pose animations with simple comment call. This allows to animate characters
# on the map without the need of long Move Route event commands.
#------------------------------------------------------------------------------
# Compatibility
# Requires the script 'Victor Engine - Basic Module' v 1.27 or higher
# If used with 'Victor Engine - Multi Frames' place this bellow it.
# If used with 'Victor Engine - Visual Equip' place this bellow it.
# If used with 'Victor Engine - Diagonal Movement' place this bellow it.
#
# * Overwrite methods
# class Game_CharacterBase
# def update_animation
#
# * Alias methods
# class Game_CharacterBase
# def update_animation
# def init_public_members
# def init_private_members
# def update_anime_count
# def update_anime_pattern
# def move_straight(d, turn_ok = true)
# def move_diagonal(horz, vert)
# def update_move
# def update_jump
# def update_stop
#
# class Game_Interpreter
# def comment_call
#
# class Sprite_Character < Sprite_Base
# def graphic_changed?
# def update_character_info
# def set_bitmap_name
# def set_bitmap_position
#
#------------------------------------------------------------------------------
# Comment calls note tags:
# Tags to be used in events comment box, works like a script call.
#
# <actor change pose> <event change pose>
# settings settings
# </actor change pose> </event change pose>
# Display a custom pose, the pose overide any other pose being currently
# played, add the following values to the settings. The ID must be added,
# other values are optional.
# id: x : actor index or event ID
# name: "x" : pose sufix name. ("sufix")
# loop : pose animation loop, if added the pose will repeat.
# lock : position lock, can't move while playing the pose.
# walk : walking pose, if not set the pose will stop if walk.
# speed: x : pose animation speed, higher values makes the animation slow.
# frame: x : number of frams, can't exceed the max frames of the charset.
#
# <actor add pose> <event add pose>
# settings settings
# </actor add pose> </event add pose>
# Display a custom pose, the pose won't be displayed immediately, if there is
# another pose being displayed, it will wait it finish before, you can
# add multiple poses at once to make a long animation, add the following
# values to the settings. The ID must be added, other values are optional.
# id: x : actor index or event ID
# name: "x" : pose sufix name. ("sufix")
# loop : pose animation loop, if added the pose will repeat.
# lock : position lock, can't move while playing the pose.
# walk : walking pose, if not set the pose will stop if walk.
# speed: x : pose animation speed, higher values makes the animation slow.
# frame: x : number of frams, can't exceed the max frames of the charset.
#
# <actor idle stance i: "x"> <event idle stance i: "x">
# <actor walk stance i: "x"> <event walk stance i: "x">
# <actor dash stance i: "x"> <event dash stance i: "x">
# <actor jump stance i: "x"> <event jump stance i: "x">
# Change the stance for one of the default pose for the actor or event.
# i : actor index or event ID
# x : pose sufix name ("sufix")
#
# <actor clear stances: i> <event clear stances: i>
# Clear all changed stances for the actor or event
# i : actor index or event ID
#
# <actor clear pose: i> <event clear pose: i>
# Clear halts the current pose exhibition and clear all pose waiting to be
# played.
# i : actor index or event ID
#
#------------------------------------------------------------------------------
# Additional instructions:
#
# To properly display the poses you will need a character with the poses.
# You will need to make a new charset, with the same filename + the sufix.
#
# So if you have a chaset named "Actor1", you will need a charset named
# "Actor1[wlk]" (or whatever you set as the Walk sufix) if you want
# a custom walking pose.
#
# If a pose graphic don't exist, it will use the default graphic.
#
# If you make a pose loops, it will be displayed continuously until something
# force it to stop. It may be a movement (only if the settings doesn't include
# the 'walk' option), a pose change, or clear pose.
#
# Due to the animated frame, the charset may be off the tile center, you
# can solve that by adding [x*] or [y*] to the filename, where * is a number
# positive or negative,that way the position will be adjusted. it must be
# added before any other sufix
#
# if used with 'Victor Engine - Diagonal Movement' the diagonal movement
# sufix must come before the pose sufix.
#
# The general order for the sufixes is: filename[x*][y*][diag][pose]
#
#==============================================================================
#==============================================================================
# ** Victor Engine
#------------------------------------------------------------------------------
# Setting module for the Victor Engine
#==============================================================================
module Victor_Engine
#--------------------------------------------------------------------------
# * Default waling pose sufix
#--------------------------------------------------------------------------
VE_DEFAULT_WALK_SUFIX = "[wlk]"
#--------------------------------------------------------------------------
# * Default dashing pose sufix
#--------------------------------------------------------------------------
VE_DEFAULT_DASH_SUFIX = "[dsh]"
#--------------------------------------------------------------------------
# * Default jumping pose sufix
#--------------------------------------------------------------------------
VE_DEFAULT_JUMP_SUFIX = "[jmp]"
#--------------------------------------------------------------------------
# * required
# This method checks for the existance of the basic module and other
# VE scripts required for this script to work, don't edit this
#--------------------------------------------------------------------------
def self.required(name, req, version, type = nil)
if !$imported[:ve_basic_module]
msg = "The script '%s' requires the script\n"
msg += "'VE - Basic Module' v%s or higher above it to work properly\n"
msg += "Go to [url]http://victorscripts.wordpress.com/[/url] to download this script."
msgbox(sprintf(msg, self.script_name(name), version))
exit
else
self.required_script(name, req, version, type)
end
end
#--------------------------------------------------------------------------
# * script_name
# Get the script name base on the imported value, don't edit this
#--------------------------------------------------------------------------
def self.script_name(name, ext = "VE")
name = name.to_s.gsub("_", " ").upcase.split
name.collect! {|char| char == ext ? "#{char} -" : char.capitalize }
name.join(" ")
end
end
$imported ||= {}
$imported[:ve_character_control] = 1.05
Victor_Engine.required(:ve_character_control, :ve_basic_module, 1.27, :above)
#==============================================================================
# ** Game_CharacterBase
#------------------------------------------------------------------------------
# This class deals with characters. Common to all characters, stores basic
# data, such as coordinates and graphics. It's used as a superclass of the
# Game_Character class.
#==============================================================================
class Game_CharacterBase
#--------------------------------------------------------------------------
# * Public Instance Variables
#--------------------------------------------------------------------------
attr_reader :pose_sufix
attr_accessor :pose_list
attr_accessor :idle_stance
attr_accessor :walk_stance
attr_accessor :dash_stance
attr_accessor :jump_stance
#--------------------------------------------------------------------------
# * Overwrite method: update_animation
#--------------------------------------------------------------------------
def update_animation
update_anime_count
if (@pose_speed != 0 && @anime_count > @pose_speed) ||
(@pose_speed == 0 && @anime_count > 18 - real_move_speed * 2)
update_anime_pattern
@anime_count = 0
change_pose(idle_stance) if @pattern == 0 && @playing_pose && !@pose_loop
end
end
#--------------------------------------------------------------------------
# * Alias method: init_public_members
#--------------------------------------------------------------------------
alias :init_public_members_ve_character_control :init_public_members
def init_public_members
init_public_members_ve_character_control
@pose_list = []
@pose_sufix = ""
clear_stances
end
#--------------------------------------------------------------------------
# * Alias method: init_private_members
#--------------------------------------------------------------------------
alias :init_private_members_ve_character_control :init_private_members
def init_private_members
init_private_members_ve_character_control
change_pose(idle_stance)
end
#--------------------------------------------------------------------------
# * Alias method: update_anime_count
#--------------------------------------------------------------------------
alias :update_anime_count_ve_character_control :update_anime_count
def update_anime_count
if @playing_pose
@anime_count += 1.5
else
update_anime_count_ve_character_control
end
end
#--------------------------------------------------------------------------
# * Alias method: update_anime_pattern
#--------------------------------------------------------------------------
alias :update_anime_pattern_ve_character_control :update_anime_pattern
def update_anime_pattern
if @playing_pose
@pattern = (@pattern + 1) % [frames, @pose_frame].min
else
update_anime_pattern_ve_character_control
end
end
#--------------------------------------------------------------------------
# * Alias method: move_straight
#--------------------------------------------------------------------------
alias :move_straight_ve_character_control :move_straight
def move_straight(d, turn_ok = true)
return if @pose_lock
move_straight_ve_character_control(d, turn_ok)
set_fixed_direction if @pose_direction
end
#--------------------------------------------------------------------------
# * Alias method: move_diagonal
#--------------------------------------------------------------------------
alias :move_diagonal_ve_character_control :move_diagonal
def move_diagonal(horz, vert)
return if @pose_lock
move_diagonal_ve_character_control(horz, vert)
set_fixed_direction if @pose_direction
end
#--------------------------------------------------------------------------
# * Alias method: update_move
#--------------------------------------------------------------------------
alias :update_move_ve_character_control :update_move
def update_move
moving_pose
update_move_ve_character_control
end
#--------------------------------------------------------------------------
# * Alias method: update_jump
#--------------------------------------------------------------------------
alias :update_jump_ve_character_control :update_jump
def update_jump
jumping_pose
update_jump_ve_character_control
end
#--------------------------------------------------------------------------
# * Alias method: update_stop
#--------------------------------------------------------------------------
alias :update_stop_ve_character_control :update_stop
def update_stop
update_stop_ve_character_control
resting_pose
end
#--------------------------------------------------------------------------
# * New method: resting_pose
#--------------------------------------------------------------------------
def resting_pose
return if @stop_count <= 1 || @playing_pose
change_pose(idle_stance) if pose_sufix != idle_stance
end
#--------------------------------------------------------------------------
# * New method: jumping_pose
#--------------------------------------------------------------------------
def jumping_pose
return if @pose_lock || @pose_walk
change_pose(jump_stance) if pose_sufix != jump_stance
end
#--------------------------------------------------------------------------
# * New method: moving_pose
#--------------------------------------------------------------------------
def moving_pose
return if @pose_lock || @pose_walk
@pose_list.clear
change_pose(walk_stance) if pose_sufix != walk_stance && !dash?
change_pose(dash_stance) if pose_sufix != dash_stance && dash?
end
#--------------------------------------------------------------------------
# * New method: change_pose
#--------------------------------------------------------------------------
def change_pose(sufix)
@playing_pose = false
reset_fixed_pose if @pose_direction
value = {sufix: sufix, anim: 0, speed: 0, frame: frames}
update_pose(value)
end
#--------------------------------------------------------------------------
# * New method: reset_pose_index
#--------------------------------------------------------------------------
def reset_pose_index
@character_index = @real_index
@pose_index = nil
end
#--------------------------------------------------------------------------
# * New method: reset_fixed_pose
#--------------------------------------------------------------------------
def reset_fixed_pose
@direction = @real_direction
@diagonal = @real_diagonal if $imported[:ve_diagonal_move]
@current_direction = @direction - 2 if $imported[:ve_roatation_turn]
@final_direction = @direction - 2 if $imported[:ve_roatation_turn]
update_direction if $imported[:ve_roatation_turn]
@pose_direction = nil
end
#--------------------------------------------------------------------------
# * New method: update_pose
#--------------------------------------------------------------------------
def update_pose(pose = default_pose.dup)
pose = get_next_pose(pose)
@pose_sufix = pose[:sufix]
@pose_speed = pose[:speed]
@pose_frame = pose[:frame]
@pose_walk = pose[:walk]
@pose_loop = pose[:loop]
@pose_lock = pose[:lock] && @playing_pose
@pose_direction = pose[:line] * 2 if pose[:line]
@real_direction = @direction
@real_diagonal = @diagonal if $imported[:ve_diagonal_move]
@anime_count = 0 unless move_pose?
@pattern = @playing_pose ? 0 : @original_pattern
set_fixed_direction if @pose_direction
end
#--------------------------------------------------------------------------
# * New method: set_fixed_direction
#--------------------------------------------------------------------------
def set_fixed_direction
@direction = @pose_direction
@diagonal = 0 if $imported[:ve_diagonal_move]
@current_direction = @direction - 2 if $imported[:ve_roatation_turn]
@final_direction = @direction - 2 if $imported[:ve_roatation_turn]
end
#--------------------------------------------------------------------------
# * New method: get_next_pose
#--------------------------------------------------------------------------
def get_next_pose(pose)
if pose == default_pose && !@pose_list.empty?
pose = @pose_list.shift
@playing_pose = true
end
pose
end
#--------------------------------------------------------------------------
# * New method: move_pose?
#--------------------------------------------------------------------------
def move_pose?
[walk_stance, dash_stance, jump_stance].include?(pose_sufix)
end
#--------------------------------------------------------------------------
# * New method: default_pose
#--------------------------------------------------------------------------
def default_pose
{sufix: @idle_stance, anim: 0, speed: 0, frame: frames}
end
#--------------------------------------------------------------------------
# * New method: start_pose
#--------------------------------------------------------------------------
def start_pose(pose)
clear_poses
@pose_list.push(pose)
update_pose
end
#--------------------------------------------------------------------------
# * New method: add_pose
#--------------------------------------------------------------------------
def add_pose(pose)
@pose_list.push(pose)
update_pose unless @playing_pose
end
#--------------------------------------------------------------------------
# * New method: clear_poses
#--------------------------------------------------------------------------
def clear_poses
@pose_list.clear
change_pose(idle_stance)
end
#--------------------------------------------------------------------------
# * New method: clear_stances
#--------------------------------------------------------------------------
def clear_stances
@idle_stance = ""
@walk_stance = VE_DEFAULT_WALK_SUFIX
@dash_stance = VE_DEFAULT_DASH_SUFIX
@jump_stance = VE_DEFAULT_JUMP_SUFIX
end
end
#==============================================================================
# ** Game_Interpreter
#------------------------------------------------------------------------------
# An interpreter for executing event commands. This class is used within the
# Game_Map, Game_Troop, and Game_Event classes.
#==============================================================================
class Game_Interpreter
#--------------------------------------------------------------------------
# * Alias method: comment_call
#--------------------------------------------------------------------------
alias :comment_call_ve_character_control :comment_call
def comment_call
call_clear_pose("EVENT")
call_clear_pose("ACTOR")
call_change_stance("EVENT")
call_change_stance("ACTOR")
call_change_pose("EVENT", "ADD POSE")
call_change_pose("ACTOR", "ADD POSE")
call_change_pose("EVENT", "CHANGE POSE")
call_change_pose("ACTOR", "CHANGE POSE")
comment_call_ve_character_control
end
#--------------------------------------------------------------------------
# * New method: call_clear_pose
#--------------------------------------------------------------------------
def call_clear_pose(type)
note.scan(/<#{type} CLEAR POSE: (\d+)>/i) do
subject = $game_map.events[$1.to_i] if type == "EVENT"
subject = $game_map.actors[$1.to_i] if type == "ACTOR"
next unless subject
subject.clear_poses
end
end
#--------------------------------------------------------------------------
# * New method: call_clear_stances
#--------------------------------------------------------------------------
def call_clear_stances(type)
note.scan(/<#{type} CLEAR STANCES: (\d+)>/i) do
subject = $game_map.events[$1.to_i] if type == "EVENT"
subject = $game_map.actors[$1.to_i] if type == "ACTOR"
next unless subject
subject.clear_stances
end
end
#--------------------------------------------------------------------------
# * New method: call_change_stance
#--------------------------------------------------------------------------
def call_change_stance(type)
regexp = /<#{type} (\w+) STANCE (\d+): #{get_filename}>/i
note.scan(regexp) do |move, id, value|
subject = $game_map.events[id.to_i] if type == "EVENT"
subject = $game_map.actors[id.to_i] if type == "ACTOR"
next unless subject
subject.idle_stance = value if move.upcase == "IDLE"
subject.walk_stance = value if move.upcase == "WALK"
subject.dash_stance = value if move.upcase == "DASH"
subject.jump_stance = value if move.upcase == "JUMP"
end
end
#--------------------------------------------------------------------------
# * New method: call_change_pose
#--------------------------------------------------------------------------
def call_change_pose(type, add)
note.scan(get_all_values("#{type} #{add}")) do
value = $1.dup
if value =~ /ID: (\d+)/i
subject = $game_map.events[$1.to_i] if type == "EVENT"
subject = $game_map.actors[$1.to_i] if type == "ACTOR"
next unless subject
stance = subject.idle_stance
pose = {}
pose[:sufix] = value =~ /NAME: #{get_filename}/i ? $1 : stance
pose[:loop] = value =~ /LOOP/i
pose[:lock] = value =~ /LOCK/i
pose[:walk] = value =~ /WALK/i
pose[:speed] = value =~ /SPEED: (\d+)/i ? $1.to_i : 0
pose[:line] = value =~ /LINE: ([1234])/i ? $1.to_i : nil
pose[:frame] = value =~ /FRAMES: (\d+)/i ? $1.to_i : subject.frames
subject.start_pose(pose) if add.upcase == "CHANGE POSE"
subject.add_pose(pose) if add.upcase == "ADD POSE"
end
end
end
end
#==============================================================================
# ** Sprite_Character
#------------------------------------------------------------------------------
# This sprite is used to display characters. It observes a instance of the
# Game_Character class and automatically changes sprite conditions.
#==============================================================================
class Sprite_Character < Sprite_Base
#--------------------------------------------------------------------------
# * Alias method: graphic_changed?
#--------------------------------------------------------------------------
alias :graphic_changed_ve_character_control? :graphic_changed?
def graphic_changed?
graphic_changed_ve_character_control? ||
@pose_sufix != @character.pose_sufix
end
#--------------------------------------------------------------------------
# * Alias method: update_character_info
#--------------------------------------------------------------------------
alias :update_character_info_ve_character_control :update_character_info
def update_character_info
update_character_info_ve_character_control
@pose_sufix = @character.pose_sufix
end
#--------------------------------------------------------------------------
# * Alias method: set_bitmap_name
#--------------------------------------------------------------------------
alias :set_bitmap_name_ve_character_control :set_bitmap_name
def set_bitmap_name
sufix = ($imported[:ve_diagonal_move] ? diagonal_sufix : "") + @pose_sufix
if $imported[:ve_visual_equip]
return set_bitmap_name_ve_character_control
elsif character_exist?(@character_name + sufix)
return @character_name + sufix
elsif character_exist?(@character_name + @pose_sufix)
return @character_name + @pose_sufix
else
return set_bitmap_name_ve_character_control
end
end
#--------------------------------------------------------------------------
# * Alias method: set_bitmap_position
#--------------------------------------------------------------------------
alias :set_bitmap_position_ve_character_control :set_bitmap_position
def set_bitmap_position
set_bitmap_position_ve_character_control
self.ox -= (@character_name[/\[x([+-]?\d+)\]/i] ? $1.to_i : 0)
self.oy -= (@character_name[/\[y([+-]?\d+)\]/i] ? $1.to_i : 0)
end
end
#==============================================================================
# ** Window_Base
#------------------------------------------------------------------------------
# This is a superclass of all windows in the game.
#==============================================================================
class Window_Base < Window
#--------------------------------------------------------------------------
# * Alias method: draw_character
#--------------------------------------------------------------------------
alias :draw_character_ve_character_control :draw_character
def draw_character(character_name, character_index, x, y, parts = nil)
return unless character_name
x += (character_name[/\[x([+-]?\d+)\]/i] ? $1.to_i : 0)
y += (character_name[/\[y([+-]?\d+)\]/i] ? $1.to_i : 0)
args = [character_name, character_index, x, y]
args.push(parts) if $imported[:ve_visual_equip]
draw_character_ve_character_control(*args)
end
end
PHP код:
#------------------------------------------------------------------------------#
# Galv's Character Animations
#------------------------------------------------------------------------------#
# For: RPGMAKER VX ACE
# Version 2.0
#------------------------------------------------------------------------------#
# 2013-01-24 - Version 2.0 - Significant changes for performance increase.
# 2013-01-07 - Version 1.7 - Slight tweaks
# 2012-10-06 - Version 1.6 - Updated alias names for compatibility
# 2012-10-06 - Version 1.5 - Added dash speed option. Fixed some code
# 2012-09-21 - Version 1.4 - Optimised the code significantly (to my ability)
# - Some bug fixes
# 2012-09-21 - Version 1.3 - Added ability to repeat common event
# - Added follower animations
# 2012-09-20 - Version 1.2 - fixed compatibility with Galv's Region Effects
# 2012-09-20 - Version 1.1 - added idle common event, removed unnecessary code
# 2012-09-20 - Version 1.0 - release
#------------------------------------------------------------------------------#
# Designed to give actors additional animations such as:
# - Idle
# - Walking
# - Dashing
# - Custom (run a common event if you've been idle for a period of time)
#
# INSTRUCTIONS:
# 1. Copy this script below materials and above main
# 2. Create your charsets to use one characterset per actor. (This is where
# version 2 differs from version 1 greatly.
# The first character in the charset is the Idle animation
# The second character in the charset is the Walk animation
# The third character in the charset is the Dash animation
#
# (See demo if you don't understand) This change was done to reduce processing
# significantly and prevent lag when doing too much at once)
#
#------------------------------------------------------------------------------#
# KNOWN ISSUES:
# - Move Route Change graphic commands only work when the switch is on.
# Then if you turn it off again, the graphic changes back to the original.
# Use "Set Actor Graphic" event command to change instead.
#------------------------------------------------------------------------------#
($imported ||= {})["Chara_Anims"] = true
module Chara_Anims
#------------------------------------------------------------------------------#
# SETUP OPTIONS
#------------------------------------------------------------------------------#
ANIM_SWITCH = 1 # ID of a switch to disable this effect.
# Turn switch ON in order to use change graphic
# move route commands. Turn off to restore anims.
DASH_SPEED = 1.2 # 1 is RMVX default dash speed.
COMMON_EVENT = 1 # Common event ID that plays after a certain time
COMMON_EVENT_TIME = 300 # Frames idle before common event called.
REPEAT_EVENT = false # Repeat this common event if player remains idle?
# (restarts the common event time) true or false.
#------------------------------------------------------------------------------#
# END SETUP OPTIONS
#------------------------------------------------------------------------------#
end # Chara_Anims
class Sprite_Character < Sprite_Base
alias galv_charanim_initialize initialize
def initialize(viewport, character = nil)
@idletime = 0
galv_charanim_initialize(viewport, character)
end
alias galv_charanim_update update
def update
galv_charanim_update
return if $game_switches[Chara_Anims::ANIM_SWITCH]
return move_anim if $game_player.moving?
@idletime += 1
idle_anim if @idletime == 5
idle_event if @idletime == Chara_Anims::COMMON_EVENT_TIME
end
def idle_anim
$game_player.step_anime = true
if $game_party.leader.character_index != 0
$game_party.battle_members.each { |m| m.set_g(0) }
$game_player.refresh
end
@idletime += 1
end
def move_anim
if $game_player.dash?
if $game_party.leader.character_index != 2
$game_party.battle_members.each { |m| m.set_g(2) }
$game_player.refresh
end
else
if $game_party.leader.character_index != 1
$game_party.battle_members.each { |m| m.set_g(1) }
$game_player.refresh
end
end
@idletime = 0
end
def idle_event
return @idletime = 0 if $game_map.interpreter.running?
$game_temp.reserve_common_event(Chara_Anims::COMMON_EVENT)
@idletime = 0 if Chara_Anims::REPEAT_EVENT
end
end # Sprite_Character < Sprite_Base
class Game_CharacterBase
alias galv_charanim_init_public_members init_public_members
def init_public_members
galv_charanim_init_public_members
@step_anime = true
end
# OVERWRITE FOR PERFORMANCE PURPOSES
def real_move_speed
@move_speed + (dash? ? Chara_Anims::DASH_SPEED : 0)
end
end # Game_CharacterBase
class Game_Actor < Game_Battler
def set_g(i)
@character_index = i
end
end # Game_Actor < Game_Battler
class Game_Player < Game_Character
attr_accessor :step_anime
end # class Game_Player < Game_Character
давным давно я находил подобные под хр, сейчас не могу найти
или может из местных кто сможет конверт сделать? :3
Ни как не могу найти боёвку реал тайм на vx ace, помогите пожалуйста
https://pp.vk.me/c624831/v624831266/...NxkTY-T26w.jpg
Чёт вообще на сайт не заходит, даже просто на https://falcaorgss.wordpress.com/Цитата:
провайдер блочит скорее всего
тоже на многие бложки не заходит, приходится через впн сидеть
http://www.mediafire.com/download/50...+Liquid+V3.zip
О всё спасибо