ГлавнаяФорумRPG MakerСкрипты/ПлагиныRPG Maker VX ACEКомпоненты изменяющие систему. (CCS)Land Vehicle/Наземный транспорт
Войти на сайт
×
ТЕМА: Land Vehicle/Наземный транспорт
Land Vehicle/Наземный транспорт 9 года 4 мес. назад #83644
|
Land Vehicle
Информация:
Автор:William Couillard Версия:1.4 Требования:RPG MAKER VX ACE (RGGS 3) Тип:Компонент, изменяющий часть геймплея Описание: Данный скрипт изменяет обычную лодку на наземный транспорт.Специально для тех, кому лень разбираться с алгоритмом эльфа Особенности: Теперь в игре 3 вида транспорта- наземный,водный и воздушный Настройка и изменение: Графика транспорта настраивается в База данных►Система Основная настройка(Скорость и т.д. в шапке скрипта(Переведена мною) Код: ВНИМАНИЕ: Спойлер! [ Нажмите, чтобы развернуть ][ Нажмите, чтобы скрыть ] # ╔════════════════════════════════════════════════════╤═══════╤══════════════╗
# ║ Land Vehicle │ v1.04 │ (10/31/2014) ║
# ╠════════════════════════════════════════════════════╧═══════╧══════════════╣
# ║ Author: William Couillard ║
# ║ Thanks: Galv (http://galveraxe.wordpress.com/) ║
# ║ E-Mail: [email protected] ║
# ║ Website: http://ffdiscovery.wikia.com ║
# ╠═══════════════════════════════════════════════════════════════════════════╣
# ║ ABOUT ║
# ╠═══════════════════════════════════════════════════════════════════════════╣
# ║ 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
# ╔═══════════════════════════════════════════════════════════════════════════╗
# ║ Настройка ║
# ║ Автор перевода:Koteuka ║
# ╚═══════════════════════════════════════════════════════════════════════════╝
module COOLIE
module VEHICLE
# ╔═══════════════════════════════════════════════════════════════════════════╗
# ║ Скорость: Настраивается 1-6 [Низкая = Высокая] ║
# ╚═══════════════════════════════════════════════════════════════════════════╝
VEHICLE_SPEED = 5
# ╔═══════════════════════════════════════════════════════════════════════════╗
# ║ Встреча: Будет ли игрок взаимодейстовать с событиями в транспорте ║
# ╚═══════════════════════════════════════════════════════════════════════════╝
VEHICLE_ENCOUNTERS = false
# ╔═══════════════════════════════════════════════════════════════════════════╗
# ║ Сенсор: Поставьте true если у вас стоит sensor range ║
# ╚═══════════════════════════════════════════════════════════════════════════╝
VEHICLE_TOUCH = false
# ╔═══════════════════════════════════════════════════════════════════════════╗
# ║ Кнопка: Поставьте true, если вы взаимодействуете кнпкой ║
# ╚═══════════════════════════════════════════════════════════════════════════╝
VEHICLE_PRESS = false
# ╔═══════════════════════════════════════════════════════════════════════════╗
# ║ Анимация: Будет ли показываться анимация транспорта ║
# ╚═══════════════════════════════════════════════════════════════════════════╝
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 |
Мне лень что-то писать
Последнее редактирование: 9 года 4 мес. назад от Koteuka.
Администратор запретил публиковать записи гостям.
За этот пост поблагодарили: strelokhalfer, akito66
|
Модераторы: NeKotZima
Время создания страницы: 0.309 секунд