- Сообщений: 1597
- Спасибо получено: 1522
Set Move Route через вызов скрипта
Скрыть
Больше
9 года 11 мес. назад - 9 года 11 мес. назад #92195
от Демий
Демий создал тему: Set Move Route через вызов скрипта
Наткнулся я тут на пост вот такой:
И всё никак не могу понять, что имели ввиду авторы. Если с первой частью я худо бедно разобрался, то вторая мне вообще не ясна. Конкретно, я не могу понять, как заставить эти две строки, верно работать:
Буду крайне благодарен за помощь!
пост
Code:
move_route = RPG::MoveRoute.new
move_route.repeat = false # This means the event will repeat the action
move_route.skippable = true # This means the event will skip the move route if it's not possible
m = RPG::MoveCommand.new
m.code = 45 # The List of M Code can be found over Game_Character Default Script, this current m.code is call script
m.parameters = ["script call here"] # This is if you use #45 in M.code
# To show animation in move route just type animation_id = n, for balloons it's balloon_id = n
move_route.list.insert(0,m.clone)
$game_player.force_move_route(move_route) # For Player
$game_map.events[ID].force_move_route(move_route) # For Events
# ----------------------------------------------
# Other Move Route Options
# ----------------------------------------------
# Single Action
newCommand.code = moveCode # See List in Game_Character Default Script
newCommand.parameters = [""] # This refers to Jump, Wait, Switch On, Switch Off, Change Speed,
# Change Frequency, Change Graphic, Change Opacity, Play SE and Script.
newRoute.list.insert(0,newCommand.clone)
# Multiple Actions (Example)
# newCommand.code = 1
# newRoute.list.insert(0,newCommand.clone)
# newCommand.code = 3
# newRoute.list.insert(0,newCommand.clone)
# newCommand.code = 1
# newRoute.list.insert(0,newCommand.clone)
# For Turning
$game_map.events[eventid].set_direction(n) # For Events
$game_player.set_direction(n) # For Players
#Direction n = [2]Down [4]Left [6]Right [8]Up
# Changing Event Graphic
$game_map.events[id].set_graphic("character_name", character_index)
# id is the id of the event you want to change.
# "character_name" is the name of the graphic file you want to change to (make sure to keep the quotation marks).
# character_index is the index on the character sheet (it starts counting at 0).
И всё никак не могу понять, что имели ввиду авторы. Если с первой частью я худо бедно разобрался, то вторая мне вообще не ясна. Конкретно, я не могу понять, как заставить эти две строки, верно работать:
Code:
newCommand.code = 1
newRoute.list.insert(0,newCommand.clone)
Буду крайне благодарен за помощь!
Последнее редактирование: 9 года 11 мес. назад пользователем Демий.
Тема заблокирована.
9 года 11 мес. назад #92198
от DK
DK ответил в теме Set Move Route через вызов скрипта
А ты сделал newCommand = RPG::MoveCommand.new?
Тема заблокирована.
Скрыть
Больше
- Сообщений: 1597
- Спасибо получено: 1522
9 года 11 мес. назад #92215
от Демий
Демий ответил в теме Set Move Route через вызов скрипта
Тема заблокирована.
9 года 11 мес. назад #92216
от DK
DK ответил в теме Set Move Route через вызов скрипта
Пришли код, который сделал эту ошибку.
Тема заблокирована.
Скрыть
Больше
- Сообщений: 1597
- Спасибо получено: 1522
9 года 11 мес. назад #92217
от Демий
Демий ответил в теме Set Move Route через вызов скрипта
Code:
newCommand = RPG::MoveCommand.new?
newCommand.code = 1
newRoute.list.insert(0,newCommand.clone)
Тема заблокирована.
9 года 11 мес. назад - 9 года 11 мес. назад #92218
от DK
DK ответил в теме Set Move Route через вызов скрипта
Потерял в начале newRoute = RPG::MoveRoute.new
И вопрос после new не нужен
И вопрос после new не нужен
Последнее редактирование: 9 года 11 мес. назад пользователем DK.
Тема заблокирована.
Скрыть
Больше
- Сообщений: 1597
- Спасибо получено: 1522
9 года 11 мес. назад #92219
от Демий
Демий ответил в теме Set Move Route через вызов скрипта
Хорошо. Теперь вообще ничего не происходит. ХД Как задавать маршрут движения через них? Или может я не понимаю, чего добивались авторы.
Тема заблокирована.
9 года 11 мес. назад #92220
от DK
DK ответил в теме Set Move Route через вызов скрипта
Потому что в конце надо дописать
Если для игрока:
$game_player.force_move_route(newRoute)
Если для события:
$game_map.events[ID].force_move_route(newRoute)
Если для игрока:
$game_player.force_move_route(newRoute)
Если для события:
$game_map.events[ID].force_move_route(newRoute)
Тема заблокирована.
Скрыть
Больше
- Сообщений: 1597
- Спасибо получено: 1522
9 года 11 мес. назад #92221
от Демий
Демий ответил в теме Set Move Route через вызов скрипта
Тогда я вообще не понимаю в чём преимущество данного метода над описанным выше. Т_Т
Тема заблокирована.
9 года 11 мес. назад #92223
от DK
DK ответил в теме Set Move Route через вызов скрипта
Не знаю, я просто "расшифровал" тебе инструкцию из твоего поста
Тема заблокирована.
9 года 11 мес. назад #92226
от Amphilohiy
Я верю, что иногда компьютер сбоит, и он выдает неожиданные результаты, но остальные 100% случаев это чья-то криворукость.
Amphilohiy ответил в теме Set Move Route через вызов скрипта
И ведь некоторое время назад я кому-то мусолил эту тему.
Суть примерно такая - задать маршрут можно через force_move_route, передав ему RPG::MoveRoute. Глянем в справку, видим
А потом в RPG::MoveCommand
Маршрут состоит из списка команд. 3 параметра (repeat, skippable и wait) такие же, какие вы задаете через события. Каждое действие маршрута состоит из кода и параметр ЕСЛИ требуется. Список кодов для действий маршрута можно подсмотреть в скриптах Game_Character (там же в методе process_move_command смотрите где и какие параметры нужны, хотя тут уже придется потеть).
Зачем это надо? Ну, если надо скриптом составлять маршруты. Собственно и все. В тобой найденном посте эту тему пытались разжевать, видимо.
Суть примерно такая - задать маршрут можно через force_move_route, передав ему RPG::MoveRoute. Глянем в справку, видим
Code:
class RPG::MoveRoute
def initialize
@repeat = true
@skippable = false
@wait = false
@list = [RPG::MoveCommand.new]
end
attr_accessor :repeat
attr_accessor :skippable
attr_accessor :wait
attr_accessor :list
end
Code:
class RPG::MoveCommand
def initialize(code = 0, parameters = [])
@code = code
@parameters = parameters
end
attr_accessor :code
attr_accessor :parameters
end
Зачем это надо? Ну, если надо скриптом составлять маршруты. Собственно и все. В тобой найденном посте эту тему пытались разжевать, видимо.
Я верю, что иногда компьютер сбоит, и он выдает неожиданные результаты, но остальные 100% случаев это чья-то криворукость.
Спасибо сказали: Демий
Тема заблокирована.
Скрыть
Больше
- Сообщений: 1597
- Спасибо получено: 1522
9 года 11 мес. назад #92228
от Демий
Демий ответил в теме Set Move Route через вызов скрипта
Амфи, спасибо конечно. Однако, в этом я и сам худо бедно разобрался. Меня смутили строки, помеченные как "Multiple Actions"и их я упорно не понимаю. В чём отличие?
Тема заблокирована.
9 года 11 мес. назад #92229
от Amphilohiy
Я верю, что иногда компьютер сбоит, и он выдает неожиданные результаты, но остальные 100% случаев это чья-то криворукость.
Amphilohiy ответил в теме Set Move Route через вызов скрипта
Если ты про
то тут в список запихали 3 команды, которые выполняются последовательно. Т.е. сначала он показал маршрут с одной командой, а тут их 3, каждая идет друг за другом (1 3 1 это последовательность для пойти вниз, пойти вправо и снова вниз).
Или же вопрос заключается в "зачем тут клоны"?
Code:
# Multiple Actions (Example)
# newCommand.code = 1
# newRoute.list.insert(0,newCommand.clone)
# newCommand.code = 3
# newRoute.list.insert(0,newCommand.clone)
# newCommand.code = 1
# newRoute.list.insert(0,newCommand.clone)
Или же вопрос заключается в "зачем тут клоны"?
Я верю, что иногда компьютер сбоит, и он выдает неожиданные результаты, но остальные 100% случаев это чья-то криворукость.
Спасибо сказали: Демий
Тема заблокирована.
Скрыть
Больше
- Сообщений: 1597
- Спасибо получено: 1522
9 года 11 мес. назад - 9 года 11 мес. назад #92230
от Демий
Демий ответил в теме Set Move Route через вызов скрипта
Всё, я понял. Тему закрываю. Спасибо обоим!
Последнее редактирование: 9 года 11 мес. назад пользователем Демий.
Тема заблокирована.
Время создания страницы: 0.111 секунд
