Что-то не совсем понял, а что надо с этим скриптом делать?
Вид для печати
Что-то не совсем понял, а что надо с этим скриптом делать?
Открываешь редактор скриптов, нажимаешь ctrl+shift+f и ищешь def command_355
Видишь тот же код и меняешь 655 на 355
Ты не команду меняй, анаКод:while next_event_code == 655
Код:while next_event_code == 355
Так и сделал. Теперь в интерпретере код
Теперь вылезает ошибка в line 1411 unexpected $end при попытке запустить какой-нибудь скрипт.Код:def command_355
script = @list[@index].parameters[0] + "\n"
while next_event_code == 355#655
@index += 1
script += @list[@index].parameters[0] + "\n"
end
eval(script)
end
ээ, как бы, я не знаю как ты менял, но по всей видимости ты толи копировал кусок кода по новой, толи еще чего, но скорей всего ты стер один end
добавь в конец его, либо у тебя в самом скрипте стоит неправильный end.
Я просто в самом интерпретере заменил 655 на 355, я хз как число внезапно начало влиять на весь остальной код. Добавление энда крашит игру при запуске.
Чтобы еще раз прояснить что я делал. Нашел этот код в интерпретере, нашел строчку while next_event_code == 655, заменил 655 на 355. После чего мои вызовы скрипта перестали работать корректно.
либо у тебя в самом скрипте, который ты вызываешь в ивенте, стоит неправильный end. Смена 655 на 355, никак не влияет на работу, кроме как начинает читать последующие скриптовые вызовы если ты их не разрывал. Ищи проблему в тех скриптах которые ты пытаешься вызвать, где-то у тебя что-то через жопу.
В том-то и проблема, если стоит 655, то все просто супер, а вот если 355, то крашится. Проверил, все энды на месте.
Для примера код, который крашится при 355
Код:if $game_player.direction==2
$game_variables[2]=$game_player.x
$game_variables[3]=$game_player.y+1
elsif $game_player.direction==4
$game_variables[2]=$game_player.x-1
$game_variables[3]=$game_player.y
elsif $game_player.direction==6
$game_variables[2]=$game_player.x+1
$game_variables[3]=$game_player.y
elsif $game_player.direction==8
$game_variables[2]=$game_player.x
$game_variables[3]=$game_player.y-1
end
if $game_map.check_passage($game_variables[2], $game_variables[3], 0xF)==true
if $game_map.terrain_tag($game_variables[2], $game_variables[3])!=3
create_event("door", var[2], var[3])
$game_variables[100]=0
popup(0,:item,5,-1)
$game_party.lose_item($data_items[5], 1)
else
popup(0,"Невозможно",0,0)
end
else
popup(0,"Невозможно",0,0)
end
Ок, значит есть еще какой-то кусок кода интерпретера который еще что-то где-то как-то делает. С 355 он читает след. скриптовою команду, но видно и 655 является какой-то промежуточной командой, тогда этот кусок кода совершенно про другое, а не про чтение след. скриптовой команды в ивенте. Хотя потенциально, может это делать. Разбирать интерпретер мне лень, оставь 655 и забудь про чтение след команды скрипта, ну, по крайней мере до пока не найдется кто-то кто захочет этим морочиться.