До сих пор не пойму за что треть этих штук отвечает. У меня мейкер вроде бы локализован, но всплывающие подсказки никто не перевел.
Вид для печати
Я ими не пользовался. Это тем конечно создана, чтобы раскрывать весь потенциал ивентов, но и чуток сркиптов, но это действительно легкий вопрос был.
Не к чему это. Представь пролистывать 33 буквы. Геммор.Цитата:
Но для облегчения задачки можно использовать этот скрипт.
Не-не-не, вы не поняли не 33 буквы пролистывать, а например в первой колонке доступны только А/Б/М/С, а во второй 3/9/1/4. И нужно собрать код.Цитата:
Не к чему это. Представь пролистывать 33 буквы. Геммор.
Но для облегчения задачки можно использовать этот скрипт.
Нужно на Chocobo(vehicle) перепрыгнуть через мост, но Chocobo упирается и не прыгает:)
http://www.picshare.ru/uploads/150529/eAEDEAzy7f.jpg
Использую 2 скрипта:
Спойлер Land Vehicle:
# ╠═══════════════ ════════════════ ════════════════ ════════════════ ═════════╣
# ║ This script changes how the "Boat" vehicle functions. By default, the ║
# ║ boat an travel on water, the same as the ship. Why isn't there a land ║
# ║ vehicle? This script changes the boat to function as a land vehicle, able ║
# ║ to travel over any terrain that the player can (at a faster speed and ║
# ║ without encounters), and blocks it from traveling over water or ║
# ║ activating touch and confirm event processes. ║
# ║ ║
# ║ Anyone familiar with how Chocobos functioned in the SNES-era Final ║
# ║ Fantasy titles should notice similarities here. ║
# ╠═══════════════ ════════════════ ════════════════ ════════════════ ═════════╣
# ║ TERMS OF USE ║
# ╠═══════════════ ════════════════ ════════════════ ════════════════ ═════════╣
# ║ ► Do not edit the script's header or comments. ║
# ║ ► Free to use in commercial projects as long as proper credit is given to ║
# ║ ALL the names in the above header. ║
# ╠═══════════════ ════════════════ ════════════════ ════════════════ ═════════╣
# ║ CHANGE LOG ║
# ╠═══════════════ ════════════════ ════════════════ ════════════════ ═════════╣
# ║ ■ October 31, 2014 : Option to disable stepping animation. │ (v1.04) ║
# ╟─────────────── ──────────────── ──────────────── ──────────────── ─────────╢
# ║ ■ July 21, 2014 : Option to disable action button events. │ (v1.03) ║
# ╟─────────────── ──────────────── ──────────────── ──────────────── ─────────╢
# ║ ■ January 30, 2013 : Bug fixed. │ (v1.02) ║
# ╟─────────────── ──────────────── ──────────────── ──────────────── ─────────╢
# ║ ■ December 01, 2012 : Added option to keep encounters & touch │ (v1.01) ║
# ║ events. │ ║
# ╟─────────────── ──────────────── ──────────────── ──────────────── ─────────╢
# ║ ■ November 27, 2012 : Initial release. │ (v1.00) ║
# ╠═══════════════ ════════════════ ════════════════ ════════════════ ═════════╣
# ║ NEXT VERSION ║
# ╠═══════════════ ════════════════ ════════════════ ════════════════ ═════════╣
# ║ ■ Script completed! ║
# ╠═══════════════ ════════════════ ════════════════ ════════════════ ═════════╣
# ║ OVERWRITTEN METHODS ║
# ╠═══════════════ ════════════════ ════════════════ ════════════════ ═════════╣
# ║ This script overwrites a few methods in various default scripts. ║
# ╟─────────────── ──────────────── ──────────────── ──────────────── ─────────╢
# ║ ■ class Game_Map ║
# ║ ► def boat_passable? ║
# ╟─────────────── ──────────────── ──────────────── ──────────────── ─────────╢
# ║ ■ class Game_Player < Game_Character ║
# ║ ► def map_passable? ║
# ║ ► def update_encounter ║
# ║ ► def check_touch_event ║
# ║ ► def check_action_event ║
# ╟─────────────── ──────────────── ──────────────── ──────────────── ─────────╢
# ║ ■ class Game_Vehicle > Game_Character ║
# ║ ► def init_move_speed ║
# ║ ► def get_on ║
# ╠═══════════════ ════════════════ ════════════════ ════════════════ ═════════╣
# ║ INSTRUCTIONS ║
# ╠═══════════════ ════════════════ ════════════════ ════════════════ ═════════╣
# ║ Paste this script ABOVE Main and BELOW Game_Vehicle. ║
# ╠═══════════════ ════════════════ ════════════════ ════════════════ ═════════╣
# ║ IMPORT SETTING ║
# ╚═══════════════ ════════════════ ════════════════ ════════════════ ═════════╝
$imported = {} if $imported.nil?
$imported["WC-LandVehicle_1.04"] = true
# ╔═══════════════ ════════════════ ════════════════ ════════════════ ═════════╗
# ║ CUSTOMIZATION MODULE ║
# ╚═══════════════ ════════════════ ════════════════ ════════════════ ═════════╝
module COOLIE
module VEHICLE
# ╔═══════════════ ════════════════ ════════════════ ════════════════ ═════════╗
# ║ VEHICLE SPEED: Set from 1-6 [Higher no. = higher speed] ║
# ╚═══════════════ ════════════════ ════════════════ ════════════════ ═════════╝
VEHICLE_SPEED = 5
# ╔═══════════════ ════════════════ ════════════════ ════════════════ ═════════╗
# ║ VEHICLE ENCOUNTERS: Set to true to allow enemy encounters while piloting. ║
# ╚═══════════════ ════════════════ ════════════════ ════════════════ ═════════╝
VEHICLE_ENCOUNTERS = false
# ╔═══════════════ ════════════════ ════════════════ ════════════════ ═════════╗
# ║ VEHICLE TOUCH: Set to true to allow touch event processing. ║
# ╚═══════════════ ════════════════ ════════════════ ════════════════ ═════════╝
VEHICLE_TOUCH = false
# ╔═══════════════ ════════════════ ════════════════ ════════════════ ═════════╗
# ║ VEHICLE PRESS: Set to true to allow action button event processing. ║
# ╚═══════════════ ════════════════ ════════════════ ════════════════ ═════════╝
VEHICLE_PRESS = true
# ╔═══════════════ ════════════════ ════════════════ ════════════════ ═════════╗
# ║ STEP ANIM: When false, vehicle will not use step animation when idle. ║
# ╚═══════════════ ════════════════ ════════════════ ════════════════ ═════════╝
STEP_ANIM = true
end
end
#-------------------------------------------------------------------------------
class Game_Map
# ╔═══════════════ ════════════════ ════════════════ ════════════════ ═════════╗
# ║ Determine if Passable by Land Vehicle ║
# ╟─────────────── ──────────────── ──────────────── ──────────────── ─────────╢
# ║ Changes the Boat vehicle to have the same passability as the player. ║
# ║ I.E. Can travel on land, not water. Cannot pass through same level tiles. ║
# ╚═══════════════ ════════════════ ════════════════ ════════════════ ═════════╝
def boat_passable?(x, y, d)
check_passage(x, y, (1 << (d / 2 - 1)) & 0x0f)
end
end
class Game_Player < Game_Character
# ╔═══════════════ ════════════════ ════════════════ ════════════════ ═════════╗
# ║ Map Passable? ║
# ╟─────────────── ──────────────── ──────────────── ──────────────── ─────────╢
# ║ Determines passability. ║
# ╚═══════════════ ════════════════ ════════════════ ════════════════ ═════════╝
def map_passable?(x, y, d)
case @vehicle_type
when :boat
$game_map.boat_passable?(x, y, d)
when :ship
$game_map.ship_passable?(x, y)
when :airship
true
else
super
end
end
# ╔═══════════════ ════════════════ ════════════════ ════════════════ ═════════╗
# ║ Update Encounters ║
# ╟─────────────── ──────────────── ──────────────── ──────────────── ─────────╢
# ║ Turns off encounters if piloting the Land Vehicle. ║
# ╚═══════════════ ════════════════ ════════════════ ════════════════ ═════════╝
def update_encounter
return if $TEST && Input.press?(:CTRL)
return if $game_party.encounter_none?
return if in_airship?
unless COOLIE::VEHICLE::VEHICLE_ENCOUNTERS == true
return if in_boat?
end
return if @move_route_forcing
@encounter_count -= encounter_progress_value
end
# ╔═══════════════ ════════════════ ════════════════ ════════════════ ═════════╗
# ║ Determine if Event Start Caused by Touch (Overlap) ║
# ╟─────────────── ──────────────── ──────────────── ──────────────── ─────────╢
# ║ Disables touch events when driving the Land Vehicle, including teleports. ║
# ╚═══════════════ ════════════════ ════════════════ ════════════════ ═════════╝
def check_touch_event
return false if in_airship?
unless COOLIE::VEHICLE::VEHICLE_TOUCH == true
return false if in_boat?
end
check_event_trigger_here([1,2])
$game_map.setup_starting_event
end
# ╔═══════════════ ════════════════ ════════════════ ════════════════ ═════════╗
# ║ Determine if Event Start Caused by OK Button (Action) ║
# ╟─────────────── ──────────────── ──────────────── ──────────────── ─────────╢
# ║ Disables "action button" events when driving the Land Vehicle. ║
# ╚═══════════════ ════════════════ ════════════════ ════════════════ ═════════╝
def check_action_event
return false if in_airship?
unless COOLIE::VEHICLE::VEHICLE_PRESS == true
return false if in_boat?
end
check_event_trigger_here([0])
return true if $game_map.setup_starting_event
check_event_trigger_there([0,1,2])
$game_map.setup_starting_event
end
end # class Game_Player
class Game_Vehicle < Game_Character
# ╔═══════════════ ════════════════ ════════════════ ════════════════ ═════════╗
# ║ Initialize Move Speed ║
# ╟─────────────── ──────────────── ──────────────── ──────────────── ─────────╢
# ║ Changes the player's movement speed when piloting the Land Vehicle. ║
# ╚═══════════════ ════════════════ ════════════════ ════════════════ ═════════╝
def init_move_speed
@move_speed = COOLIE::VEHICLE::VEHICLE_SPEED if @type == :boat
@move_speed = 5 if @type == :ship
@move_speed = 6 if @type == :airship
end
# ╔═══════════════ ════════════════ ════════════════ ════════════════ ═════════╗
# ║ Get On ║
# ╟─────────────── ──────────────── ──────────────── ──────────────── ─────────╢
# ║ Handles the functions of the vehicle when entering it. ║
# ╚═══════════════ ════════════════ ════════════════ ════════════════ ═════════╝
def get_on
@driving = true
@walk_anime = true
@step_anime = COOLIE::VEHICLE::STEP_ANIM
@walking_bgm = RPG::BGM.last
system_vehicle.bgm.play
end
end # class Game_Vehicle
Спойлер Jump Ability v.1.6:
#------------------------------------------------------------------------------#
# Only the jump bonus for the party leader and his/her equips are calculated
#------------------------------------------------------------------------------#
# SCRIPT CALL:
# You can change an actor's jump bonus (that was set with the notetag) during
# the game with a script call:
#
# jump_bonus(actor_id,jump_bonus)
#
# EXAMPLE:
# jump_bonus(3,2) # Changes actor 3's jump bonus to 2
#------------------------------------------------------------------------------#
($imported ||= {})["Galvs_Jump_Ability"] = true
module Galv_Jump
#------------------------------------------------------------------------------#
# SCRIPT SETUP OPTIONS
#------------------------------------------------------------------------------#
DISABLE_SWITCH = 41 # Cannot jump when this switch is ON
BUTTON = :X # Button to press to jump. :X is "a" key.
DEFAULT_DISTANCE = 2 # Distance player can jump with no bonuses
SPRINT_BONUS = 1 # Distance increased with a running jump
JUMP_SE = ["Jump1", 80, 120]
MAX_JUMP_BONUS = 3 # The maximum bonus you can get from equips/actors
NO_JUMP_REGIONS = [1,2,3] # Region ID's that the player cannot jump over
#------------------------------------------------------------------------------#
# END SCRIPT SETUP OPTIONS
#------------------------------------------------------------------------------#
end
class RPG::BaseItem
def jump_bonus
if @jump_bonus.nil?
if @note =~ /<jump_bonus: (.*)>/i
@jump_bonus = $1.to_i
else
@jump_bonus = 0
end
end
@jump_bonus
end
end # RPG::BaseItem
class Game_Player < Game_Character
attr_accessor :priority_type
alias galv_jump_player_initialize initialize
def initialize
galv_jump_player_initialize
@jump_equip_bonus = 0
end
alias galv_jump_player_refresh refresh
def refresh
get_jump_equip_bonus
galv_jump_player_refresh
end
def get_jump_equip_bonus
bonus = 0 + $game_party.leader.jump_bonus
$game_party.leader.equips.each { |eq| bonus += eq.jump_bonus if !eq.nil?}
@jump_equip_bonus = [bonus,Galv_Jump::MAX_JUMP_BONUS].min
end
alias galv_jump_move_by_input move_by_input
def move_by_input
return if jumping?
@priority_type = 1 if !jumping?
galv_jump_move_by_input
if !$game_switches[Galv_Jump::DISABLE_SWITCH] && Input.trigger?(Galv_Jump::BUTTON)
do_jump if !$game_map.interpreter.running? && !jumping? && normal_walk?
end
end
def do_jump
get_bonuses
@distance = Galv_Jump::DEFAULT_DISTANCE + @jump_bonus
check_region
check_distance
if @can_jump
RPG::SE.new(Galv_Jump::JUMP_SE[0], Galv_Jump::JUMP_SE[1], Galv_Jump::JUMP_SE[2]).play
jump(@jump_x, @jump_y)
@followers.each { |f| f.jump(@x - f.x, @y - f.y) }
end
end
def get_bonuses
@jump_bonus = 0 + @jump_equip_bonus
@jump_bonus += Galv_Jump::SPRINT_BONUS if dash? && moving?
end
def check_region
@max_x = 0
@max_y = 0
case @direction
when 2
@max_y = @distance
(@distance+1).times { |i| return @max_y = i if stopper?(@x, @y+i+1) }
when 4
@max_x = -@distance
(@distance+1).times { |i| return @max_x = -i if stopper?(@x-i-1, @y) }
when 6
@max_x = @distance
(@distance+1).times { |i| return @max_x = i if stopper?(@x+i+1, @y) }
when 8
@max_y = -@distance
(@distance+1).times { |i| return @max_y = -i if stopper?(@x, @y-i-1) }
end
end
def stopper?(x,y)
Galv_Jump::NO_JUMP_REGIONS.include?($game_map.regi on_id(x,y)) ||
!$game_map.stopper_event?(x,y)
end
def canpass?(x,y)
map_passable?(x, y, @direction) &&
$game_map.blocking_event?(x,y) ||
Galv_Jump::NO_JUMP_REGIONS.include?($game_map.regi on_id(x,y))
end
def check_distance
@jump_x = 0
@jump_y = 0
ch = []
@can_jump = true
case @direction
when 2
@jump_y = @distance
@distance.times { |i| ch << @jump_y - i if canpass?(@x, @y + @jump_y - i) }
ch.delete_if {|x| x > @max_y }
@jump_y = ch.max if !ch.empty?
when 4
@jump_x = -@distance
@distance.times { |i| ch << @jump_x + i if canpass?(@x + @jump_x + i, @y) }
ch.delete_if {|x| x < @max_x }
@jump_x = ch.min if !ch.empty?
when 6
@jump_x = @distance
@distance.times { |i| ch << @jump_x - i if canpass?(@x + @jump_x - i, @y) }
ch.delete_if {|x| x > @max_x }
@jump_x = ch.max if !ch.empty?
when 8
@jump_y = -@distance
@distance.times { |i| ch << @jump_y + i if canpass?(@x, @y + @jump_y + i) }
ch.delete_if {|x| x < @max_y }
@jump_y = ch.min if !ch.empty?
end
if ch.empty?
@jump_y = 0
@jump_x = 0
@can_jump = false
end
end
def jump(x_plus, y_plus)
@priority_type = 1.5
super
end
end # Game_Player < Game_Character
class Game_Map
def blocking_event?(x,y)
events_xy(x,y).each { |e| return false if e.priority_type == 1 }
return true
end
def stopper_event?(x,y)
events_xy(x,y).each { |e|
next if e.list.nil?
return false if e.list[0].code == 108 && e.list[0].parameters[0] == "<block>"
}
return true
end
end # Game_Map
class Game_Actor < Game_Battler
attr_accessor :jump_bonus
alias galv_jump_actor_initialize initialize
def initialize(actor_id)
galv_jump_actor_initialize(actor_id)
@jump_bonus = $data_actors[actor_id].jump_bonus
end
end # Game_Actor < Game_Battler
class Scene_Menu < Scene_MenuBase
def return_scene
$game_player.refresh
super
end
end # Scene_Menu < Scene_MenuBase
class Game_Interpreter
def jump_bonus(actor,bonus)
$game_actors[actor].jump_bonus = bonus
$game_player.refresh
end
end # Game_Interpreter
Это тебе не сюда. Тут делаю все своими руками. Тебе в тему помощи скриптов, в разделе скрипты.
Керотан, а зачем скрипты. Просто делаешь ветвление условий, что нажата клавиша прыжка, то передвижение события "игрок" вправо", тоже самое с другой стороны. Триггер события от касания персонажа
К тому же в скрипте прописана, что надо нажать кнопку прыжка, ты нажимаешь?
Вот эта строка - BUTTON = :X # Button to press to jump. :X is "a" key.
Плюс есть дистанция прыжка. У тебя она соблюдена?
персонажи прыгают, но стоит сесть на чокобо, нажимай-не нажимай Х, всё без толкуЦитата:
Керотан, а зачем скрипты. Просто делаешь ветвление условий, что нажата клавиша прыжка, то передвижение события "игрок" вправо", тоже самое с другой стороны. Триггер события от касания персонажа
К тому же в скрипте прописана, что надо нажать кнопку прыжка, ты нажимаешь?
Вот эта строка - BUTTON = :X # Button to press to jump. :X is "a" key.
Плюс есть дистанция прыжка. У тебя она соблюдена?
Это другое дело.Цитата:
может кто подскажет лучший способ:smile: вначале хотел прыгнуть через ивент, но прыжок получается корявый по У