-
Posts
95 -
Joined
-
Last visited
Content Type
Profiles
Forums
Calendar
Posts posted by dosassj4
-
-
Ciao non trovo il download della demo..... Help me............
-
Salve a tutti. Qualcuno ha chara di The Legend of Dragoon??? Grazie
-
Grazie Holy87, adesso ho capito.
Si Guardian of Irael, ho qualche problema con l'inglese.
-
Ciao Holy87, quello l'avevo visto sul sito, c'è solo un problemino script non è proprio così come indicato da loro. Te lo posto per spiegarmi meglio:
#==============================================================================
#
# ▼ Yanfly Engine Ace - Input Combo Skills v1.01
# -- Last Updated: 2011.12.26
# -- Level: Hard
# -- Requires: n/a
#
#==============================================================================
$imported = {} if $imported.nil?
$imported["YEA-InputComboSkills"] = true
#==============================================================================
# ▼ Updates
# =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
# 2011.12.26 - Bug Fix: Crash when no action is performed.
# 2011.12.22 - Started Script and Finished.
#
#==============================================================================
# ▼ Introduction
# =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
# This script enables the usage of Input Combo Skills. When an Input Combo
# Skill is activated by an actor, a list of the potential input attacks appears
# on the side of the screen. The player then presses the various buttons listed
# in the window and attacks will occur in a combo fashion. If a particular
# attack combination is met, a special attack will occur.
#
#==============================================================================
# ▼ Instructions
# =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
# To install this script, open up your script editor and copy/paste this script
# to an open slot below ▼ Materials/素材 but above ▼ Main. Remember to save.
#
# -----------------------------------------------------------------------------
# Skill Notetags - These notetags go in the skill notebox in the database.
# -----------------------------------------------------------------------------
#
#
#
#
#
# Makes the skill with these notetags to become potentially comboable. Replace
# x with the ID of the skill you want the button to cause the skill to combo.
# The combo skill will be usable even if the user has not learned the skill.
# However, if the user is unable to use the skill due to a lack of resources,
# then the skill will be greyed out. The skill can be inputted, but if the user
# lacks the resources, it will not perform and the skill combo will break.
#
#
# Sets the maximum number of inputs the player can use for this skill. If this
# tag is not present, it will use the default number of maximum inputs that's
# pre-defined by the module.
#
#
# If the player inputs a sequence that matches the string (any combination of
# L, R, X, Y, Z), then the special skill x will be performed. If a combination
# is met, then the combo chain will end prematurely even if there are more
# inputs left. If the user does not know skill x, then the special combo skill
# x will not be performed.
#
#
# This makes a skill only usable in a combo and cannot be directly used from a
# skill menu. This effect does not affect monsters. Combo skills will still be
# unusable if the user does not meet the skill's other requirements (such as a
# lack of MP or TP).
#
#==============================================================================
# ▼ Compatibility
# =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
# This script is made strictly for RPG Maker VX Ace. It is highly unlikely that
# it will run with RPG Maker VX without adjusting.
#
# While this script doesn't interfere with Active Chain Skills, it will most
# likely be unable to used in conjunction with Active Chain Skills. I will not
# provide support for any errors that may occur from this, nor will I be
# responsible for any damage doing this may cause your game.
#
#==============================================================================
module YEA
module INPUT_COMBO
#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
# - Combo Skill Settings -
#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
# These settings adjust the sound effect played when a skill is selected,
# what the minimum time windows are.
#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
# This will be the sound effect played whenever an active combo skill has
# been selected for comboing.
INPUT_COMBO_SOUND = RPG::SE.new("Skill2", 80, 100)
# This will be the sound effect played when an input combo matches and
# activates a specialized combo.
ACHIEVED_COMBO_SOUND = RPG::SE.new("Skill3", 90, 100)
# How many frames minimum for combo allowance. Sometimes the battlelog
# window will move too fast for the player to be able to combo. This sets
# a minimum timer for how long the combo window will stay open.
MINIMUM_TIME = 90
# This is the bonus number of frames of leeway that the player gets for
# a larger input sequence. This is because the battlelog window may move
# too fast for the player to be able to combo. This adds to the minimum
# timer for how long the combo window will stay open.
TIME_PER_INPUT = 30
# This sets the default number of inputs that a combo skill can have at
# maximum. If you wish to exceed this amount or to have lower than this
# amount, use a notetag to change the skill's max combo amount.
DEFAULT_MAX_INPUT = 5
# This will be the "Window" colour used for a special skill in the display.
SPECIAL_SKILL_COLOUR = 17
#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
# - Combo Skill Text -
#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
# This section adjusts the text that appears for the combo skills. Adjust
# the text to appear as you see fit. Note that the vocab other than the
# title can use text codes.
#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
COMBO_TITLE = "Input Combo Attacks"
TITLE_SIZE = 20
L_SKILL_ON = "\eC[17]Q\eC[0]: "
L_SKILL_OFF = "\eC[7]Q: "
R_SKILL_ON = "\eC[17]W\eC[0]: "
R_SKILL_OFF = "\eC[7]W: "
X_SKILL_ON = "\eC[17]A\eC[0]: "
X_SKILL_OFF = "\eC[7]A: "
Y_SKILL_ON = "\eC[17]S\eC[0]: "
Y_SKILL_OFF = "\eC[7]S: "
Z_SKILL_ON = "\eC[17]D\eC[0]: "
Z_SKILL_OFF = "\eC[7]D: "
end # INPUT_COMBO
end # YEA
#==============================================================================
# ▼ Editting anything past this point may potentially result in causing
# computer damage, incontinence, explosion of user's head, coma, death, and/or
# halitosis so edit at your own risk.
#==============================================================================
module YEA
module REGEXP
module SKILL
COMBO_MAX = /<(?:COMBO_MAX|combo max):[ ](\d+)>/i
COMBO_ONLY = /<(?:COMBO_ONLY|combo only)>/i
COMBO_SKILL = /<(?:COMBO_SKILL|combo skill)[ ]([LRXYZ]):[ ](\d+)>/i
COMBO_SPECIAL = /<(?:COMBO_SPECIAL|combo special)[ ](.*):[ ](\d+)>/i
end # SKILL
end # REGEXP
end # YEA
#==============================================================================
# ■ DataManager
#==============================================================================
module DataManager
#--------------------------------------------------------------------------
# alias method: load_database
#--------------------------------------------------------------------------
class < def self.load_database
load_database_ics
load_notetags_ics
end
#--------------------------------------------------------------------------
# new method: load_notetags_ics
#--------------------------------------------------------------------------
def self.load_notetags_ics
for skill in $data_skills
next if skill.nil?
skill.load_notetags_ics
end
end
end # DataManager
#==============================================================================
# ■ RPG::Skill
#==============================================================================
class RPG::Skill < RPG::UsableItem
#--------------------------------------------------------------------------
# public instance variables
#--------------------------------------------------------------------------
attr_accessor :combo_only
attr_accessor :combo_skill
attr_accessor :combo_max
attr_accessor :combo_special
#--------------------------------------------------------------------------
# common cache: load_notetags_ics
#--------------------------------------------------------------------------
def load_notetags_ics
@combo_only = false
@combo_skill = {}
@combo_special = {}
@combo_max = YEA::INPUT_COMBO::DEFAULT_MAX_INPUT
#---
self.note.split(/[\r\n]+/).each { |line|
case line
#---
when YEA::REGEXP::SKILL::COMBO_ONLY
@combo_only = true
when YEA::REGEXP::SKILL::COMBO_SKILL
case $1.upcase
when "L"; @combo_skill[:L] = $2.to_i
when "R"; @combo_skill[:R] = $2.to_i
when "X"; @combo_skill[:X] = $2.to_i
when "Y"; @combo_skill[:Y] = $2.to_i
when "Z"; @combo_skill[:Z] = $2.to_i
else; next
end
when YEA::REGEXP::SKILL::COMBO_MAX
@combo_max = $1.to_i
when YEA::REGEXP::SKILL::COMBO_SPECIAL
@combo_special[$1.to_s.upcase] = $2.to_i
#---
end
} # self.note.split
#---
end
end # RPG::UsableItem
#==============================================================================
# ■ Game_Action
#==============================================================================
class Game_Action
#--------------------------------------------------------------------------
# new method: set_input_combo_skill
#--------------------------------------------------------------------------
def set_input_combo_skill(skill_id)
set_skill(skill_id)
@target_index = subject.current_action.target_index
@input_combo_skill = true
end
#--------------------------------------------------------------------------
# alias method: valid?
#--------------------------------------------------------------------------
alias game_action_valid_ics valid?
def valid?
subject.enable_input_combo(true) if @input_combo_skill
result = game_action_valid_ics
subject.enable_input_combo(false) if @input_combo_skill
return result
end
end # Game_Action
#==============================================================================
# ■ Game_BattlerBase
#==============================================================================
class Game_BattlerBase
#--------------------------------------------------------------------------
# alias method: skill_conditions_met?
#--------------------------------------------------------------------------
alias game_battlerbase_skill_conditions_met_ics skill_conditions_met?
def skill_conditions_met?(skill)
return false if combo_skill_restriction?(skill)
return game_battlerbase_skill_conditions_met_ics(skill)
end
#--------------------------------------------------------------------------
# new method: combo_skill_restriction?
#--------------------------------------------------------------------------
def combo_skill_restriction?(skill)
return false unless actor?
return false unless $game_party.in_battle
return false unless skill.combo_only
return !@input_combo_enabled
end
#--------------------------------------------------------------------------
# alias method: hp=
#--------------------------------------------------------------------------
alias game_battlerbase_hpequals_ics hp=
def hp=(value)
game_battlerbase_hpequals_ics(value)
return unless SceneManager.scene_is?(Scene_Battle)
return unless actor?
return if value == 0
SceneManager.scene.refresh_input_combo_skill_window(self)
end
#--------------------------------------------------------------------------
# alias method: mp=
#--------------------------------------------------------------------------
alias game_battlerbase_mpequals_ics mp=
def mp=(value)
game_battlerbase_mpequals_ics(value)
return unless SceneManager.scene_is?(Scene_Battle)
return unless actor?
return if value == 0
SceneManager.scene.refresh_input_combo_skill_window(self)
end
#--------------------------------------------------------------------------
# alias method: tp=
#--------------------------------------------------------------------------
alias game_battlerbase_tpequals_ics tp=
def tp=(value)
game_battlerbase_tpequals_ics(value)
return unless SceneManager.scene_is?(Scene_Battle)
return unless actor?
return if value == 0
SceneManager.scene.refresh_input_combo_skill_window(self)
end
end # Game_BattlerBase
#==============================================================================
# ■ Game_Battler
#==============================================================================
class Game_Battler < Game_BattlerBase
#--------------------------------------------------------------------------
# alias method: on_battle_start
#--------------------------------------------------------------------------
alias game_battler_on_battle_start_ics on_battle_start
def on_battle_start
game_battler_on_battle_start_ics
@input_combo_enabled = false
end
#--------------------------------------------------------------------------
# alias method: on_battle_end
#--------------------------------------------------------------------------
alias game_battler_on_battle_end_ics on_battle_end
def on_battle_end
game_battler_on_battle_end_ics
@input_combo_enabled = false
end
#--------------------------------------------------------------------------
# new method: enable_input_combo
#--------------------------------------------------------------------------
def enable_input_combo(active)
return unless actor?
@input_combo_enabled = active
end
end # Game_Battler
#==============================================================================
# ■ Window_ComboSkillList
#==============================================================================
class Window_ComboSkillList < Window_Base
#--------------------------------------------------------------------------
# initialize
#--------------------------------------------------------------------------
def initialize
dw = [Graphics.width/2, 320].max
super(-standard_padding, 0, dw, fitting_height(7))
self.z = 200
self.opacity = 0
hide
end
#--------------------------------------------------------------------------
# reveal
#--------------------------------------------------------------------------
def reveal(battler, skill)
@battler = battler
@skill = skill
@combo_skills = []
for key in skill.combo_skill
next if key[1].nil?
next if $data_skills[key[1]].nil?
@combo_skills.push($data_skills[key[1]])
end
return if @combo_skills == []
self.y = Graphics.height - fitting_height(4)
self.y -= fitting_height(@combo_skills.size + 2)
show
activate
refresh
end
#--------------------------------------------------------------------------
# refresh_check
#--------------------------------------------------------------------------
def refresh_check(battler)
return if @battler != battler
refresh
end
#--------------------------------------------------------------------------
# refresh
#--------------------------------------------------------------------------
def refresh
contents.clear
draw_background_colour
draw_horz_line(0)
draw_combo_title
draw_horz_line(@combo_skills.size * line_height)
draw_combo_skills
end
#--------------------------------------------------------------------------
# draw_background_colour
#--------------------------------------------------------------------------
def draw_background_colour
dh = line_height * (@combo_skills.size + 2)
rect = Rect.new(0, 0, contents.width, dh)
back_colour1 = Color.new(0, 0, 0, 192)
back_colour2 = Color.new(0, 0, 0, 0)
contents.gradient_fill_rect(rect, back_colour1, back_colour2)
end
#--------------------------------------------------------------------------
# draw_horz_line
#--------------------------------------------------------------------------
def draw_horz_line(dy)
line_y = dy + line_height - 2
line_colour = normal_color
line_colour.alpha = 48
contents.fill_rect(0, line_y, contents.width, 2, line_colour)
end
#--------------------------------------------------------------------------
# draw_combo_title
#--------------------------------------------------------------------------
def draw_combo_title
reset_font_settings
text = YEA::INPUT_COMBO::COMBO_TITLE
contents.font.size = YEA::INPUT_COMBO::TITLE_SIZE
contents.font.bold = true
contents.font.italic = true
draw_text(12, 0, contents.width - 12, line_height, text)
reset_font_settings
end
#--------------------------------------------------------------------------
# draw_combo_skills
#--------------------------------------------------------------------------
def draw_combo_skills
button_array = [:L, :R, :X, :Y, :Z]
dx = 24
dy = line_height
for button in button_array
next if @skill.combo_skill[button].nil?
combo_skill = $data_skills[@skill.combo_skill[button]]
text = text_setting(button, combo_skill)
text += sprintf("\eI[%d]", combo_skill.icon_index)
text += combo_skill.name
draw_text_ex(dx, dy, text)
dy += line_height
end
end
#--------------------------------------------------------------------------
# text_setting
#--------------------------------------------------------------------------
def text_setting(button, skill)
text = ""
case button
when :L
if @battler.usable?(skill)
text = YEA::INPUT_COMBO::L_SKILL_ON
else
text = YEA::INPUT_COMBO::L_SKILL_OFF
end
when :R
if @battler.usable?(skill)
text = YEA::INPUT_COMBO::R_SKILL_ON
else
text = YEA::INPUT_COMBO::R_SKILL_OFF
end
when :X
if @battler.usable?(skill)
text = YEA::INPUT_COMBO::X_SKILL_ON
else
text = YEA::INPUT_COMBO::X_SKILL_OFF
end
when :Y
if @battler.usable?(skill)
text = YEA::INPUT_COMBO::Y_SKILL_ON
else
text = YEA::INPUT_COMBO::Y_SKILL_OFF
end
when :Z
if @battler.usable?(skill)
text = YEA::INPUT_COMBO::Z_SKILL_ON
else
text = YEA::INPUT_COMBO::Z_SKILL_OFF
end
end
return text
end
end # Window_ComboSkillList
#==============================================================================
# ■ Window_ComboInfo
#==============================================================================
class Window_ComboInfo < Window_Base
#--------------------------------------------------------------------------
# initialize
#--------------------------------------------------------------------------
def initialize
super(0, 0, Graphics.width, fitting_height(1))
self.y = Graphics.height - fitting_height(4) - fitting_height(1)
self.opacity = 0
self.z = 200
@combos = []
@special = nil
hide
end
#--------------------------------------------------------------------------
# reveal
#--------------------------------------------------------------------------
def reveal
@combos = []
@special = nil
refresh
show
end
#--------------------------------------------------------------------------
# refresh
#--------------------------------------------------------------------------
def refresh
contents.clear
dx = draw_combo_icons
draw_special(dx)
end
#--------------------------------------------------------------------------
# add_combo
#--------------------------------------------------------------------------
def add_combo(icon, special = nil)
@combos.push(icon)
@special = special
refresh
end
#--------------------------------------------------------------------------
# draw_combo_icons
#--------------------------------------------------------------------------
def draw_combo_icons
dx = 0
for icon in @combos
draw_icon(icon, dx, 0)
dx += 24
end
return dx
end
#--------------------------------------------------------------------------
# draw_special
#--------------------------------------------------------------------------
def draw_special(dx)
return if @special.nil?
draw_icon(@special.icon_index, dx + 12, 0)
colour = text_color(YEA::INPUT_COMBO::SPECIAL_SKILL_COLOUR)
change_color(colour)
draw_text(dx + 36, 0, contents.width, line_height, @special.name)
end
end # Window_ComboInfo
#==============================================================================
# ■ Scene_Battle
#==============================================================================
class Scene_Battle < Scene_Base
#--------------------------------------------------------------------------
# alias method: create_all_windows
#--------------------------------------------------------------------------
alias scene_battle_create_all_windows_ics create_all_windows
def create_all_windows
scene_battle_create_all_windows_ics
create_combo_skill_window
end
#--------------------------------------------------------------------------
# new method: create_combo_skill_window
#--------------------------------------------------------------------------
def create_combo_skill_window
@input_combo_skill_window = Window_ComboSkillList.new
@input_combo_info_window = Window_ComboInfo.new
@input_combo_skill_counter = 0
end
#--------------------------------------------------------------------------
# alias method: use_item
#--------------------------------------------------------------------------
alias scene_battle_use_item_ics use_item
def use_item
@subject.enable_input_combo(true)
item = @subject.current_action.item
combo_skill_list_appear(true, item)
start_input_combo_skill_counter(item)
scene_battle_use_item_ics
loop do
break if break_input_combo?(item)
update_basic
update_combo_skill_queue
end
combo_skill_list_appear(false, item)
@subject.enable_input_combo(false)
end
#--------------------------------------------------------------------------
# new method: combo_skill_list_appear
#--------------------------------------------------------------------------
def combo_skill_list_appear(visible, skill)
return if @subject.nil?
return unless @subject.actor?
return unless skill.is_a?(RPG::Skill)
return if visible && @input_combo_skill_window.visible
if visible
@break_combo = false
@current_combo_skill = skill
@total_combo_skills = 0
@combo_skill_queue = []
@combo_skill_string = ""
@input_combo_skill_window.reveal(@subject, skill)
@input_combo_info_window.reveal
else
@input_combo_skill_window.hide
@input_combo_info_window.hide
return if @subject.current_action.nil?
@subject.current_action.set_skill(@current_combo_skill.id)
end
end
#--------------------------------------------------------------------------
# new method: refresh_input_combo_skill_window
#--------------------------------------------------------------------------
def refresh_input_combo_skill_window(battler)
return unless @input_combo_skill_window.visible
@input_combo_skill_window.refresh_check(battler)
end
#--------------------------------------------------------------------------
# new method: start_input_combo_skill_counter
#--------------------------------------------------------------------------
def start_input_combo_skill_counter(skill)
return unless @input_combo_skill_window.visible
@input_combo_skill_counter = YEA::INPUT_COMBO::MINIMUM_TIME
bonus_time = skill.combo_max * YEA::INPUT_COMBO::TIME_PER_INPUT
@input_combo_skill_counter += bonus_time
end
#--------------------------------------------------------------------------
# new method: break_input_combo?
#--------------------------------------------------------------------------
def break_input_combo?(item)
return true if @break_combo
return true if @current_combo_skill.nil?
return true if @current_combo_skill.combo_skill == {}
return false if @combo_skill_queue != []
return true if @total_combo_skills == @current_combo_skill.combo_max
return @input_combo_skill_counter <= 0
end
#--------------------------------------------------------------------------
# new method: update_combo_skill_queue
#--------------------------------------------------------------------------
def update_combo_skill_queue
return if @combo_skill_queue == []
action = @combo_skill_queue.shift
if !@subject.usable?(action)
@break_combo = true
return
end
@subject.current_action.set_input_combo_skill(action.id)
@log_window.clear
execute_action
end
#--------------------------------------------------------------------------
# alias method: update_basic
#--------------------------------------------------------------------------
alias scene_battle_update_basic_ics update_basic
def update_basic
scene_battle_update_basic_ics
update_input_combo_skill_counter
update_input_combo_skill_select
end
#--------------------------------------------------------------------------
# new method: update_input_combo_skill_counter
#--------------------------------------------------------------------------
def update_input_combo_skill_counter
return if @input_combo_skill_counter == 0
@input_combo_skill_counter -= 1
end
#--------------------------------------------------------------------------
# new method: update_input_combo_skill_select
#--------------------------------------------------------------------------
def update_input_combo_skill_select
return unless @input_combo_skill_window.visible
return if @total_combo_skills >= @current_combo_skill.combo_max
if Input.trigger?(:L)
check_input_combo_skill(:L)
elsif Input.trigger?(:R)
check_input_combo_skill(:R)
elsif Input.trigger?(:X)
check_input_combo_skill(:X)
elsif Input.trigger?(:Y)
check_input_combo_skill(:Y)
elsif Input.trigger?(:Z)
check_input_combo_skill(:Z)
end
end
#--------------------------------------------------------------------------
# new method: check_input_combo_skill
#--------------------------------------------------------------------------
def check_input_combo_skill(button)
skill_id = @current_combo_skill.combo_skill[button]
return if skill_id.nil?
return if $data_skills[skill_id].nil?
case button
when :L; @combo_skill_string += "L"
when :R; @combo_skill_string += "R"
when :X; @combo_skill_string += "X"
when :Y; @combo_skill_string += "Y"
when :Z; @combo_skill_string += "Z"
end
if special_input_combo?
icon = $data_skills[skill_id].icon_index
@combo_skill_queue.push($data_skills[skill_id])
skill_id = @current_combo_skill.combo_special[@combo_skill_string]
combo_skill = $data_skills[skill_id]
@input_combo_info_window.add_combo(icon, combo_skill)
YEA::INPUT_COMBO::ACHIEVED_COMBO_SOUND.play
@total_combo_skills = @current_combo_skill.combo_max
else
YEA::INPUT_COMBO::INPUT_COMBO_SOUND.play
combo_skill = $data_skills[skill_id]
@input_combo_info_window.add_combo(combo_skill.icon_index)
@total_combo_skills += 1
end
@combo_skill_queue.push(combo_skill)
return unless @total_combo_skills == @current_combo_skill.combo_max
@input_combo_skill_counter = 0
end
#--------------------------------------------------------------------------
# new method: special_input_combo?
#--------------------------------------------------------------------------
def special_input_combo?
combo_hash = @current_combo_skill.combo_special
return false unless combo_hash.include?(@combo_skill_string)
skill = $data_skills[combo_hash[@combo_skill_string]]
return @subject.skills.include?(skill)
end
end # Scene_Battle
#==============================================================================
#
# ▼ End of File
#
#==============================================================================;>
Mi indichi di preciso dove mettere il numero? Purtroppo sono una capra come scripter. Il numero corrisponderebbe all'ID del database delle abilità, giusto?
Dimenticavo, la seguenza combo, dove la inserisco? Grazie
-
Salve a tutti. Mi sono imbattuto nello script "Input Combo Skill" (bellissimo), il quale sarebbe quello che cercavo per il mio gioco (vorrei realizzare un gioco sull'anime Sword Art Online - per chi non lo conoscesse è da provare). Il problema è che essendo ignorante in ambito script non saprei proprio da dove cominciare.
Ho provato a copiare lo script sotto MATERIALI, ma manca decisamente qualcosa e non saprei proprio cosa. Posto lo script.Salve a tutti. Mi sono imbattuto nello script "Input Combo Skill" (bellissimo), il quale sarebbe quello che cercavo per il mio gioco (vorrei realizzare un gioco sull'anime Sword Art Online - per chi non lo conoscesse è da provare). Il problema è che essendo ignorante in ambito script non saprei proprio da dove cominciare.
Ho provato a copiare lo script sotto MATERIALI, ma manca decisamente qualcosa e non saprei proprio cosa. Posto lo script.Link script: http://yanflychannel.wordpress.com/rmvxa/gameplay-scripts/input-combo-skills/
-
Non cambia dal BS, dato che la finestra di visualizzazione degli HP è sempre la stessa. Posso rimuovere la barra MP facilmente, ma per personalizzare quella degli HP dovrai vedertela tu.
Grazie Holy gentilissimo.
Ringrazio anche guardian
-
2 cose! Se ti riferisci a BS particolari, posta o linka i BS così sarà più facile (e spesso possibile) aiutarti ^ ^
Altra cosa, sposto in supporto RGSS, ricorda di usare quella sezione per domande inerenti agli script ^ ^
Ciao Guardian of Irael, grazie per aver spostato nella sezione corretta. Come BS preferirei il Sideview per VX-Ace (RGSS3).
-
Purtroppo per farlo non è immediatamente possibile, perché hai bisogno di conoscere le basi del Ruby e dell'RGSS. Potresti anche cercare uno già fatto da qualcuno e fare un semplice copia-incolla, potrei aiutarti io, ma ora non sono a casa.
Grazie Holy87, se nel frattempo trovo qualcosa, lo posto.
-
Si, certo che è possibile!
Ciao Holy87, ti ringrazio per avermi rassicurato, ma mi sapresti dire come? Ho provato a cercare ma non riesco a trovarlo, mi daresti una dritta? O magari hai un link dal quale posso estrapolare questa informazione? Grazie
P.S.: Complimenti per la foto. È uno dei miei anime preferiti.
-
Salve a tutti. Volevo sapere se e come era possibile cambiare la barra PV.
In pratica vorrei utilizzare una barra hp personalizzata, è possibile sostituirla? In più mi chiedevo se era possibile togliere la Barra PM.
Vorrei sapere se è possibile sia su BS classic che laterale.
Grazie in anticipo
P.S. Scusate ho sbagliato. Intendevo PV e PM.
-
Salve a tutti, per inserire video in rpg maker vx le ho provate tutte e alla fine l'unico script che ha funzionato è questo:
#==============================================================================
#
# SOV ~ Videos
#
#==============================================================================
# Author: SuperOverlord
#==============================================================================
# Features:
#------------------------------------------------------------------------------
# o Play video's on the map or in battle using a simple script event command.
#
# o Optionally pause or exit video's while they play.
#
# o View the video in the game window or in fullscreen.
#
# o Setup video skills, which show the video before damage effects.
#==============================================================================
# Instructions:
#------------------------------------------------------------------------------
# o Place all videos in a folder with the same name as in configuration.
# This folder is created automatically the first time the game is played if
# it doesn't already exist.
#
# o Playing Videos when on the map.
#
# - See script calls below.
#
# o Playing videos in battle.
#
# - As when on the map the script event command can be used in battle also.
#
# - As well as this you can setup skills as video skills which display
# a video before damaging the enemy.
#
# To do this the following tags can be used in the skills notebox:
# 1) <video_name = "filename">
# ~ name is the name of the video file. If the filename extension is
# missing the first file matching that name is used.
# (Quotes are necessary around the filename)
#
# As well as the first tag 2 others are available. These tags will only
# take effect if placed on a line below the first tag.
# If these don't exist they are assumed true.
#
# 2) <video_exitable = n> ~ Can the video be exited by the exit input?
# 3) <video_pausable = n> ~ Can the video be paused?
# ~ n is replaced with either t or f (t : true, f : false)
#
# For other Video properties (x,y,width,height,fullscreen) the default
# settings are used. (See script calls below)
#==============================================================================
# Script Calls:
#------------------------------------------------------------------------------
# Commands (From the script call command on page three of event commands)
#------------------------------------------------------------------------------
# o To change default values for video properties.
#
# 1) Video.default_x = n
# 2) Video.default_y = n
# 3) Video.default_width = n
# 4) Video.default_height = n
# 5) Video.fullscreen = bool
#
# In all 5 commands above:
# ~ n is an integer value
# ~ bool is either true or false
#
# o To play videos
#
# play_video(filename,exitable,pausable)
# ~ filename : name of video file (Must be in quotes)
# ~ exitable : Can the video be exited? (When left out = true)
# ~ pausable : Can the video be paused? (When left out = true)
#
# For all other values the default's are used.
#==============================================================================
# Compatibility:
#------------------------------------------------------------------------------
# o Skill videos will depend on the battle system but sould work.
#==============================================================================
# Credit:
#------------------------------------------------------------------------------
# o Credit goes to Trebor and Berka whose scripts helped be figure out the
# mci_send_stringA function.
#==============================================================================
module SOV
module Video
#--------------------------------------------------------------------------
# Configuration
#--------------------------------------------------------------------------
# Name of folder for videos to be held in.
DIR_NAME = "Videos"
# Exit video input
EXIT_INPUT = Input::B
# Pause video input
PAUSE_INPUT = Input::R
#--------------------------------------------------------------------------
# End Configuration
#--------------------------------------------------------------------------
end
end
#==============================================================================
# Import
#------------------------------------------------------------------------------
$imported = {} if $imported == nil
$imported['Videos'] = true
#==============================================================================
#==============================================================================
# ** SOV::Video::Commands
#==============================================================================
module SOV::Video::Commands
#--------------------------------------------------------------------------
# * Play a video
# filename : video's filename (with or without extension)
# exitable : Can the video be exited
# pausable : Can the video be paused
#--------------------------------------------------------------------------
def play_video(filename,exitable=true,pausable=true)
video = Cache.video(filename)
video.exitable = exitable
video.pausable = pausable
if $game_temp.in_battle # In battle
$scene.play_video(video)
else # On map
$game_map.video = video
end
end
#---------------------------------------------------------------------------
# Define as module function
#---------------------------------------------------------------------------
module_function :play_video
end
#==============================================================================
# ** SOV::Video::Regexp
#==============================================================================
module SOV::Video::Regexp
#--------------------------------------------------------------------------
# * Skill
#--------------------------------------------------------------------------
module Skill
FILENAME = /<video[_ ]?(?:file)?name = "(.+)">/i
PAUSABLE = /<video[_ ]?paus(?:e|able) = (t|f)>/i
EXITABLE = /<video[_ ]?exit(?:able)? = (t|f)>/i
end
end
#==============================================================================
# ** SOV::Game
#==============================================================================
module SOV::Game
#--------------------------------------------------------------------------
# Constants
#--------------------------------------------------------------------------
INI = 'Game'
#--------------------------------------------------------------------------
# * Get the game windows handle
#--------------------------------------------------------------------------
def self.hwnd
unless defined?(@@hwnd)
find_window = Win32API.new('user32','FindWindow','pp','i')
@@hwnd = find_window.call('RGSS Player',title)
end
return @@hwnd
end
#--------------------------------------------------------------------------
# * Get game title
#--------------------------------------------------------------------------
def self.title
unless defined?(@@title)
@@title = read_ini('title')
end
return @@title
end
#--------------------------------------------------------------------------
# * Read ini (Returns nil or match)
#--------------------------------------------------------------------------
def self.read_ini(variable,filename=INI)
reg = /^#{variable}=(.*)$/
File.foreach(filename+'.ini') { |line| break($1) if line =~ reg }
end
end
#==============================================================================
# ** Cache
#==============================================================================
module Cache
#--------------------------------------------------------------------------
# Class Variables
#--------------------------------------------------------------------------
@@vcache = {}
#--------------------------------------------------------------------------
# Define as class methods
#--------------------------------------------------------------------------
class << self
#------------------------------------------------------------------------
# Alias List
#------------------------------------------------------------------------
alias sov_video_clear clear unless $@
#------------------------------------------------------------------------
# * Get a video object
# filename : basename of file
#------------------------------------------------------------------------
def video(filename)
# Get full filename if extension is missing
if File.extname(filename) == ''
files = Dir["#{SOV::Video::DIR_NAME}/#{filename}.*"]
filename = File.basename(files[0]) # Set as first matching file
end
# Create or get the video object.
if @@vcache.has_key?(filename)
@@vcache[filename]
else
@@vcache[filename] = Video.new(filename)
end
end
#------------------------------------------------------------------------
# * Clear
#------------------------------------------------------------------------
def clear
@@vcache.clear
sov_video_clear
end
end
end
#==============================================================================
# ** RPG::Skill
#==============================================================================
class RPG::Skill < RPG::UsableItem
#--------------------------------------------------------------------------
# * Determine if skill has a video skill
#--------------------------------------------------------------------------
def video
if @video == nil
@note.each_line { |line|
if @video == nil
@video = Cache.video($1) if line =~ SOV::Video::Regexp::Skill::FILENAME
else
@video.pausable = ($1 == 't') if line =~ SOV::Video::Regexp::Skill::PAUSABLE
@video.exitable = ($1 == 't') if line =~ SOV::Video::Regexp::Skill::EXITABLE
end
}
@video = :invalid if @video == nil
end
return @video
end
end
#==============================================================================
# ** Video
#------------------------------------------------------------------------------
# Class handling playing videos.
#==============================================================================
class Video
#--------------------------------------------------------------------------
# Constants
#--------------------------------------------------------------------------
TYPE_AVI = 'avivideo'
TYPE_MPEG = 'mpegvideo'
#--------------------------------------------------------------------------
# Class Variables
#--------------------------------------------------------------------------
@@default_x = 0
@@default_y = 0
@@default_width = Graphics.width
@@default_height = Graphics.height
@@fullscreen = false
#--------------------------------------------------------------------------
# * Get and Set default_x/y/width/height
#--------------------------------------------------------------------------
for d in %w(x y width height)
# Define setter method
module_eval(%Q(def self.default_#{d}=(i); @@default_#{d} = i; end))
# Define getter method
module_eval(%Q(def self.default_#{d}; @@default_#{d}; end))
end
#--------------------------------------------------------------------------
# * Get fullscreen
#--------------------------------------------------------------------------
def self.fullscreen
@@fullscreen
end
#--------------------------------------------------------------------------
# * Set fullscreen
#--------------------------------------------------------------------------
def self.fullscreen=(val)
@@fullscreen = val
end
#--------------------------------------------------------------------------
# * Win32API
#--------------------------------------------------------------------------
@@mciSendStringA = Win32API.new('winmm','mciSendStringA','pplp','i')
#--------------------------------------------------------------------------
# * Video Command
# command_string : string following mci_command_string format
# buffer : string to retrieve return data
# buffer_size : number of characters in buffer
# callback_handle : handle of window to callback to. Used if notify is used
# in the command string. (Not supported by game window)
#--------------------------------------------------------------------------
def self.send_command(cmnd_string,buffer='',buffer_size=0,callback_handle=0)
# Returns error code. No error if NULL
err = @@mciSendStringA.call(cmnd_string,buffer,buffer_size,callback_handle)
if err != 0
buffer = ' ' * 255
Win32API.new('winmm','mciGetErrorString','LPL','V').call(err,buffer,255)
raise(buffer.squeeze(' ').chomp('\000'))
end
end
#--------------------------------------------------------------------------
# * Play a video
#--------------------------------------------------------------------------
def self.play(video)
# Make path and buffer
path = "#{SOV::Video::DIR_NAME}/#{video.filename}"
buffer = ' ' * 255
# Initialize device and dock window with game window as parent.
type = " type #{video.type}" if video.type != ''
send_command("open #{path}#{type} alias VIDEO style child parent #{SOV::Game.hwnd}")
# Display video in client rect at x,y with width and height.
x = video.x
y = video.y
width = video.width
height = video.height
send_command("put VIDEO window at #{x} #{y} #{width} #{height}")
# Begin playing video
screen = @@fullscreen ? 'fullscreen' : 'window'
send_command("play VIDEO #{screen}")
# Start Input and status processing loop
while buffer !~ /^stopped/
# Idle processing for a frame
sleep(1.0/Graphics.frame_rate)
# Get mode string
send_command('status VIDEO mode',buffer,255)
Input.update
if Input.trigger?(SOV::Video::PAUSE_INPUT) and video.pausable?
Sound.play_cursor
if buffer =~ /^paused/ # If already paused
send_command("resume VIDEO") # Resume video
else # Otherwise
send_command("pause VIDEO") # Pause video
end
elsif Input.trigger?(SOV::Video::EXIT_INPUT) and video.exitable?
Sound.play_cancel
# Terminate loop on exit input
break
end
end
# Terminate the device
send_command('close VIDEO')
end
#--------------------------------------------------------------------------
# Public Instance Variables
#--------------------------------------------------------------------------
attr_accessor :x
attr_accessor :y
attr_accessor :width
attr_accessor :height
attr_writer :exitable
attr_writer :pausable
attr_reader :filename
#--------------------------------------------------------------------------
# * Initialize
#--------------------------------------------------------------------------
def initialize(filename)
unless FileTest.file?("#{SOV::Video::DIR_NAME}/#{filename}")
raise(Errno::ENOENT,filename)
end
@filename = filename
@x = @@default_x
@y = @@default_y
@width = @@default_width
@height = @@default_height
@exitable = true
@pausable = true
end
#--------------------------------------------------------------------------
# * Get Type
#--------------------------------------------------------------------------
def type
if @type == nil
case File.extname(@filename)
when '.avi'; @type = TYPE_AVI
when '.mpeg'||'.mpg'; @type = TYPE_MPEG
else
@type = ''
end
end
@type
end
#--------------------------------------------------------------------------
# * Is the video exitable?
#--------------------------------------------------------------------------
def exitable?
@exitable
end
#--------------------------------------------------------------------------
# * Is the video pausable?
#--------------------------------------------------------------------------
def pausable?
@pausable
end
#--------------------------------------------------------------------------
# Access
#--------------------------------------------------------------------------
private_class_method :send_command
end
#==============================================================================
# ** Game_Interpreter
#==============================================================================
class Game_Interpreter
#--------------------------------------------------------------------------
# Import
#--------------------------------------------------------------------------
include(SOV::Video::Commands)
end
#==============================================================================
# ** Game_Map
#==============================================================================
class Game_Map
#--------------------------------------------------------------------------
# Public Instance Variables
#--------------------------------------------------------------------------
attr_accessor :video
end
#==============================================================================
# ** Scene_Map
#==============================================================================
class Scene_Map
#--------------------------------------------------------------------------
# Alias List
#--------------------------------------------------------------------------
alias sov_video_update update unless $@
#--------------------------------------------------------------------------
# * Play Video
#--------------------------------------------------------------------------
def play_video(video)
# Memorize and stop current bgm and bgs
bgm = RPG::BGM.last
bgs = RPG::BGS.last
RPG::BGM.stop
RPG::BGS.stop
# Play video
Video.play(video)
# Restart bgm and bgs
bgm.play
bgs.play
end
#--------------------------------------------------------------------------
# * Update
#--------------------------------------------------------------------------
def update
if $game_map.video != nil
play_video($game_map.video)
$game_map.video = nil
Input.update
else
sov_video_update
end
end
end
#==============================================================================
# ** Scene_Battle
#==============================================================================
class Scene_Battle
#--------------------------------------------------------------------------
# * Alias list
#--------------------------------------------------------------------------
alias sov_video_execute_action_skill execute_action_skill unless $@
#--------------------------------------------------------------------------
# * Play Video
#--------------------------------------------------------------------------
def play_video(video)
# Memorize and stop current bgm
bgm = RPG::BGM.last
RPG::BGM.stop
# Play video
Video.play(video)
# Restart bgm
bgm.play
end
#--------------------------------------------------------------------------
# * Execute Action Skill
#--------------------------------------------------------------------------
def execute_action_skill
skill = @active_battler.action.skill
if skill.video.is_a?(Video)
execute_action_video(skill)
else
sov_video_execute_action_skill
end
end
#--------------------------------------------------------------------------
# * Execute Action Video
#--------------------------------------------------------------------------
def execute_action_video(skill)
text = @active_battler.name + skill.message1
@message_window.add_instant_text(text)
unless skill.message2.empty?
wait(10)
@message_window.add_instant_text(skill.message2)
end
wait(20)
@message_window.clear
#Fadout to black screen
br = Graphics.brightness
120.times { |i| Graphics.brightness = 255 - 255/60 * i; Graphics.update }
# Play video
play_video(skill.video)
#Reset brightness
Graphics.brightness = br
targets = @active_battler.action.make_targets
display_animation(targets, skill.animation_id)
@active_battler.mp -= @active_battler.calc_mp_cost(skill)
$game_temp.common_event_id = skill.common_event_id
for target in targets
target.skill_effect(@active_battler, skill)
display_action_effects(target, skill)
end
end
end
#==============================================================================
# Pre-Main Processing
#==============================================================================
unless FileTest.directory?(SOV::Video::DIR_NAME) # If directory doesn't exist.
Dir.mkdir(SOV::Video::DIR_NAME) # Make the directory
end
Adesso vorrei chiedervi: come posso fare affinchè un video in lotta (associato ad una skill naturalmente) possa partire mentre i chara nella lotta ancora si muovono con le loro idle stance(uso lo YEM)?
Questo perchè il video ci mette tipo un secondo buono per partire... quindi ho un secondo in cui è tutto bloccato e POI parte il video...è piuttosto fastidioso XD
Ciao cip se non ho capito male vuoi creare un video che copra l'attacco, giusto? Il video deve essere l'animazione della skill? Se è così, io volevo fare la stessa cosa solo che non il video veniva male, allora ho risolto con un metodo non troppo difficile ma lungo.
In pratica ho preso il video;
diviso per frame; (15/s)
ho rimpicciolito le immagini tutte a 191x191;
con un programma editor di immagini (ho usato paint net, anche per rimpicciolirle) le ho prese ed incollate su una foto già presente nel programma RPG MAKER (una qualsiasi di quelle relative alle animazioni delle skill) una di seguito all'altra;
fatto questo ho aggiunto la foto modificata al programma ed ho montato l'animazione con audio preventivamente estratto dal video.
So che il tutto è molto lungo ma posso assicurarti che se fatto con calma esce molto bene.
Ti do un link di un progetto base con una mia animazione http://www.mediafire.com/?h6g3det6lrau3el
Fai partire il gioco e tra le abilità del 1° pg troverai "BANKAI" selezionalo ed io gioco e fatto.
Spero di esserti stato utile Ciriciao
P.S.: Puoi anche farci un attacco o qualsiasi altra cosa.
-
Salve a tutti ho provato a cercare lo script di modern algebra indicato da Holy87 ma non riesco a trovarlo, qualcuno può aiutarmi? Grazie
-
Herm... non è che hai spiegato molto... ti ho chiesto se è il bs di default e non mi hai dato risposta, nel primo post è spiegato da cani.
Inoltre, sono abbastanza bravo nella programmazione ad eventi ma con gli script non ci so fare... se sei capace di mettere le mani sugli script allora devi cercarti tutti quelli sul bs, trovare la parte della visualizzazione dei danni. Poi non so che altro fare. D:
Guarda che stavo scherzando...
Cmq il bs è quello di default.
Per la spiegazione mi dispiace non esser stato abbastanza chiaro, ma se non mi ero spiegato bene bastava dirlo che avrei cercato di fare meglio.
Per combo intendo che nel corso di un attacco metto a segno un determinato numero di colpi in base all'animazione, per esempo se uso l'animazione Melee/Special2 associata ad un attacco di spada, vedrai che i colpi portati a segno saranno pari a 1, ma secondo l'animazione dovrebbero essere 3 o 4. Vorrei che il numero di colpi portati a segno fossero gli stessi di quelli presentati dall'animazione, quindi 4 colpi portati a segno = 4 colpi di animazione.
Se non sono riuscito a rendere più chiara la mia richiesta fatemelo sapere.
:-)
-
Mmmm... è il bs di default, giusto?
Bhe, io non ho una grande esprienza sul modificare il bs normale, però penso che dovrai mettere le mani sugli script riguardanti il bs...
Io di script ne so poco o nulla, quindi sono completamente inutile! XD
Ti ringrazio cmq per lo sforzo che hai fatto per dirmi questo...
Ovviamente scherzo XD
-
Ciao a tutti.
Volevo sapere, è possibile creare un attacco combo? In pratica ho associato ad un attacco multiplo ad un arciere, con animazione Melee/Special2, mi piacerebbe colpire il nemico per il numero di volte che viene colpito dall'animazione, quindi se l'animazione da 10 colpi, vorrei visualizzare sullo schermo per 10 volte il danno inflitto per ogni colpo quantificandolo anche in numero di combo.
Grazie
-
Dicevo a Flame per lo Skip.
Demo
http://www.megaupload.com/?d=ZFNTLD39Premendo Z/Spazio/Enter mentre cammini fa quella Shumpo-cosa.
Si ho impostato pulsante A e settato il game che A=Space e mentre cammini fa lo Shunpo (si scrive così secondo l'anime/manga BLEACH)
-
Si ferma perchè c'è Skip If Cannot Mmove.Anche no.
Scusa probabilmente mi ero incasinato tra gli eventi.
-
Common Event con Parallel Process.
http://img541.imageshack.us/img541/8817/22046440.png
Ciao Heisenman, ti ringrazio non ho seguito il tuo suggerimento alla lettera ma grazie a te ci sono riuscito.
Questo è quello che ho fatto:
- ho creato quanto detto precendentemente (cioè un evento comune...)
- dopo aver fatto questo ho creato sulla mappa un evento con all'interno Condizione se A è premuto chiama evento comune "supervelocità" (nel mio caso);
- dopo questo ho impostato sempre nello stesso evento " obiettivo : processo parallelo".
Facendo come detto da Heisenman non faceva altro che aumentare la velocità.
Cmq ringrazio Morshudiego - Heisenman - Hash'ak'Gik - Guardian of Irael per i consigli e la disponibilità
SEMPRE GENTILISSIMI
-
Se ci fai caso puoi utilizzare anche le variabili non per forza la destinazione specifica, a quel punto se ti calcoli le coordinate del player e gli aggiungi un valore di quanto lo vuoi far muovere in una certa direzione ottieni un movimento stile tasti direzionali da qualunque punto a qualunque punto.
^ ^
Ciao Guardian non sono capace di utilizzare variabili o calcolare quanto mi hai suggerito, cmq ho provato a fare quello che mi hai detto e non sono riuscito (ovviamente per mia incompetenza).
Non esiste qualcosa di più semplice?
Guardian se non ti disturba, mi riscrivi quanto mi hai suggerito spiegandomi passo passo come fare?
Grazie mille in qualunque caso.
Ciao a tutti alla fine ho trovato come scomparire accelerare e ricomparire, in pratica:
- sono andato su eventi comuni;
- ne prendi uno in bianco ed imposti Cambia Trasparenza : Trasparente;
- poi inserisci imposta percorso movimento : velocità faster, 4 passi e velocità normale;
- cambia trasparenza : normale.
Più o meno come diceva Morshudiego.
Adesso l'ultima cosa che non so fare e che chiedo nuovamente è :
Come si lega un pulsante ad un evento?
Immagino si faccia tramite script ma come già detto sono ignorante in materia.
Grazie
-
Ma scusatemi, mettete i due metodi insieme!
Fai sparire la grafica del player, lo teletrasporti (anche se c'è il fade non si vede), fai riapparire il player...
Per assegnare un particolare movimento ai tasti ho fatto una demo, è per XP ma se puoi aprirla apprendi molti trucchetti base per il movimento tramite eventi (salti, corse, movimenti invertiti, controllo di NPC, ecc.)
http://www.rpg2s.net/forum/index.php?showtopic=12395
(Considerando che ancora nessuno ha risposto dovrei fare anche una demo per 2k e per VX e scrivere il tutorial, ma non ho tempo ç.ç )
Ciao Hash se faccio con il teletrasporto devo dare una destinazione specifica mentre quello che vorrei io è riuscire a farlo muovere a supervelocità per 4-5 passi con la sparizione nel mezzo per dare l'effetto che si vede in bleach quando usano lo Shunpo. Grazie cmq per il consiglio.
-
Potresti fare in questa maniera:
Rendi il player trasparente e fantasma, crei un'animazione che dia un effetto di scomparsa e la attivi non appena il personaggio è trasparente, aumenti la sua velocità e lo sposti nella posizione desiderata, poi riattivi l'animazione e lo fai ricomparire.
Sono scabroso a parole, se vuoi ti faccio una demo.
Ciao Morshudiego, avevo pensato una cosa del genere ma non so come accelerare il movimento e come unire il tutto ad un pulsante; mi sapresti aiutare?
Non volevo disturbarti troppo nel farti fare una demo.
-
Salve a tutti.
Volevo sapere se è possibile riuscire ad utilizzare una supervelocità stile dragon ball o Bleach, dove l'immagine del personaggio scompare per riapparire più avanti, il tutto non durante la battaglia ma durante gli postamenti in mappa.
In più questa abilità deve essere associata ad un pulsante diverso.
Vi ringrazio anticipatamente per qualsiasi suggerimento
P.S.: Se non ricordo male c'è uno script che ti permette di saltare, in pratica qualcosa di simile, solo che non deve saltare ma scomparire frammentando l'immagine del personaggio, ripeto un po' come dragon ball o bleach.
-
Non sono sicuro, ma credo che si possano indicare più tipi diversi di slip damage, scrivendo il tag apposito per ciascuno nelle note di quello status . . .
Adesso non so se le note possano essere scritte su più righe, in tal caso basta segnalare ogni effetto su una riga differente . . .
Se invece c'è una riga sola per le note degli status, basta separarli con il codice \n, ad esempio
<slip MP -5%>n<slip MP -1, 10>
Come sempre, è solo un'ipotesi non testata, da provare a proprio rischio . . .
Ciao Giver ho provato e avevi ragione + o -, in pratica nelle note mi è bastato scrivere <slip MP -1, -10>, in questo modo mi toglie 1 MP per turno in battaglia e 10 MP per passo fuori battaglia.
Grazie mille
-
Salve ragazzi ho un'altra domanda su questo script.
Il PG che si trova sotto l'influenza di questo status, quando cammina non perde MP.
La mia domanda è:
è possibile fare in modo che venga influenzato dagli effetti di questo status anche al di fuori della battaglia? Cioè mentre cammina? (esattamente come fa lo status veleno che influgge danni sia durante la battaglia che al di fuori)
In pratica voglio fare in modo che perda MP sia in battaglia sia fuori durante la passeggiata.
Grazie in anticipo

[Agg.]Wild Rage Lion Power
in Release VX e VX-Ace
Posted
Scusate ma non l'avevo proprio visto. Che stupido. Il gioco mi piace un casino. C'è qualcosa da sistemare qua e la ma molto carino. Spero esca presto la 2.0. Grazie