- Сообщений: 1640
- Спасибо получено: 1080
Парковка транспорта
- strelokhalfer
-
Автор темы
- Не в сети
- Живу я здесь
-
- Знатный грамотей
Скрыть
Больше
12 года 10 мес. назад #61578
от strelokhalfer
Этот скрипт позволяет ограничить возможность парковки транспорта, посредством регионов или тега поверхности.
Инструкция
Просто укажите номер нужного региона в настройках скрипта.
После расположите регион в нужном для вас месте.
Если по каким-то причинам вам нужны\не нравиться регионы
можно настроить на номер тега поверхности(В БазеДанных, раздел тайлсеты)
Демо прилагается .
"Стрелок, что-то ты неочень похож на свой аватар..."(с)
strelokhalfer создал тему: Парковка транспорта
Парковка транспорта
ВведениеЭтот скрипт позволяет ограничить возможность парковки транспорта, посредством регионов или тега поверхности.
Инструкция
Просто укажите номер нужного региона в настройках скрипта.
После расположите регион в нужном для вас месте.
Если по каким-то причинам вам нужны\не нравиться регионы
можно настроить на номер тега поверхности(В БазеДанных, раздел тайлсеты)
Скрипт
Code:
#------------------------------------------------------------------------------#
# Парковка транспорта от Galv
#------------------------------------------------------------------------------#
# Для: RPGMAKER VX ACE
# Версия 1.5ru
# Перевод - strelokhalfer
# Для http://rpg-maker.info
#------------------------------------------------------------------------------#
# 2013-06-20 - Версия 1.5ru - Перевод скрипта на Русский
# 2013-01-22 - Версия 1.5 - Добавлена поддержка "Тег поверхности"
# (в настройках тайлсета)
# 2013-01-17 - Версия 1.4 - Добалено сообщение при невозможности подняться на
# - борт и оптимизирован код.
# 2012-10-24 - Версия 1.3 - Изменены имена алиасов для совместимости.
# 2012-10-18 - Версия 1.2 - Добавлена возможность установить разные регионы
# - для лодок и несколько регионов для остального.
# 2012-09-26 - Версия 1.1 - Добавлен посадочный регион для Дирижабля
# 2012-09-26 - Версия 1.0 - Релиз
#------------------------------------------------------------------------------#
# Добовляет регионам возможность запретить\разрешить
# посадку на\из транспорт(а).
#
# Инструкции:
# Просто укажите номер нужного региона в настройках скрипта.
# После расположите регион в нужном для вас месте.
# Если по каким-то причинам вам нужны\не нравиться регионы
# можно настроить на номер тега поверхности(В БазеДанных, раздел тайлсеты)
#
#------------------------------------------------------------------------------#
($imported ||= {})["Galv_Vehicle_On_Off"] = true
module Vehicle_On_Off
#------------------------------------------------------------------------------#
# НАСТРОЙКИ СКРИПТА
#------------------------------------------------------------------------------#
BOAT_REGIONS = [0,1] # Регион, с которого можно погрузиться на или с лодку(и)
BOAT_TERRAIN = [0,1] # Тег, с которого можно погрузиться на или с лодку(и)
SHIP_REGIONS = [1] # Регион, с которого можно погрузиться на или с корабль(я)
SHIP_TERRAIN = [1] # Тег, с которого можно погрузиться на или с корабль(я)
AIRSHIP_REGIONS = [2] # Регион, на который возможна посадка дирижабля.
AIRSHIP_TERRAIN = [2] # Тег, на который возможна посадка дирижабля.
# ЗАМЕТКИ:
# Если регион не расположен, то он равен 0.
# Тег поверхности настраиватся в Базе Данных, раздел тайлсеты.
# Можно добавить столько регионов, сколько захотите:
# SHIP_REGIONS = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
# SHIP_TERRAIN = [5,6,3]
B_MSG = "Невозможно отчалить отсюда!" # Если не возможно подняться на борт.
# Если не нужно установите B_MSG = ""
#------------------------------------------------------------------------------#
# КОНЕЦ НАСТРОЕЧНОГО МОДУЛЯ
#------------------------------------------------------------------------------#
end
class Game_Vehicle < Game_Character
alias galv_vonoff_land_ok? land_ok?
def land_ok?(x, y, d)
return false unless $game_map.vland?(x,y,d,@type)
galv_vonoff_land_ok?(x, y, d)
end
end # Game_Vehicle < Game_Character
class Game_Player < Game_Character
alias galv_vonoff_get_on_vehicle get_on_vehicle
def get_on_vehicle
front_x = $game_map.round_x_with_direction(@x, @direction)
front_y = $game_map.round_y_with_direction(@y, @direction)
region = $game_map.region_id($game_player.x, $game_player.y)
terrain = $game_map.terrain_tag($game_player.x, $game_player.y)
board = false
if $game_map.boat.pos?(front_x, front_y)
board = true if Vehicle_On_Off::BOAT_REGIONS.include?(region) ||
Vehicle_On_Off::BOAT_TERRAIN.include?(terrain)
elsif $game_map.ship.pos?(front_x, front_y)
board = true if Vehicle_On_Off::SHIP_REGIONS.include?(region) ||
Vehicle_On_Off::SHIP_TERRAIN.include?(terrain)
elsif $game_map.airship.pos?(@x, @y)
board = true
else
board = nil
end
return vehicle_msg if board == false
galv_vonoff_get_on_vehicle
end
def vehicle_msg
$game_message.add(Vehicle_On_Off::B_MSG) if Vehicle_On_Off::B_MSG != ""
end
end # Game_Player < Game_Character
class Game_Map
def vland?(x,y,d,type)
check_dir(x, y, d)
case type
when :boat
regions = Vehicle_On_Off::BOAT_REGIONS
terrain = Vehicle_On_Off::BOAT_TERRAIN
when :ship
regions = Vehicle_On_Off::SHIP_REGIONS
terrain = Vehicle_On_Off::SHIP_TERRAIN
when :airship
regions = Vehicle_On_Off::AIRSHIP_REGIONS
terrain = Vehicle_On_Off::AIRSHIP_TERRAIN
@front_x = $game_player.x; @front_y = $game_player.y
end
regions.include?(region_id(@front_x, @front_y)) ||
terrain.include?(terrain_tag(@front_x, @front_y))
end
def check_dir(x, y, d)
@front_x = round_x_with_direction(x, d)
@front_y = round_y_with_direction(y, d)
end
end # Game_Map
Демо прилагается .
"Стрелок, что-то ты неочень похож на свой аватар..."(с)
Спасибо сказали: Jas6666
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
- strelokhalfer
-
Автор темы
- Не в сети
- Живу я здесь
-
- Знатный грамотей
Скрыть
Больше
- Сообщений: 1640
- Спасибо получено: 1080
12 года 10 мес. назад #61617
от strelokhalfer
"Стрелок, что-то ты неочень похож на свой аватар..."(с)
strelokhalfer ответил в теме Парковка транспорта
Скрипт такой понятный, что нет вопросов или неинтересен?
"Стрелок, что-то ты неочень похож на свой аватар..."(с)
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
- MaraMonster
-
- Не в сети
- Завсегдатай
-
- Злой и ужасный!
Скрыть
Больше
- Сообщений: 984
- Спасибо получено: 505
12 года 10 мес. назад #61618
от MaraMonster
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
12 года 10 мес. назад #61621
от DeadElf79
DeadElf79 ответил в теме Парковка транспорта
или мало кто умеет пользоваться))
ни в одном эйсовском проекте новичков, заметьте, нет транспорта!
ни в одном эйсовском проекте новичков, заметьте, нет транспорта!
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
- MaraMonster
-
- Не в сети
- Завсегдатай
-
- Злой и ужасный!
Скрыть
Больше
- Сообщений: 984
- Спасибо получено: 505
12 года 10 мес. назад #61623
от MaraMonster
MaraMonster ответил в теме Парковка транспорта
'путь к истине' ахренительный полёт на дирижабле) а в этом месяце не знаю)
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Скрыть
Больше
- Сообщений: 1597
- Спасибо получено: 1522
12 года 10 мес. назад #61625
от Демий
Демий ответил в теме Парковка транспорта
Это неловкое чувство когда ты новичок и в твоих планах проект без транспорта... ХД
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Время создания страницы: 0.097 секунд
