- Сообщений: 683
- Спасибо получено: 351
Правила раздела:
1 Задавайте конкретные вопросы. Для болтовни есть свободный раздел.
2 По возможности давайте конкретные ответы.
3 Один вопрос=одна тема. Если хотите задать ещё вопрос, то начинайте новую тему.
4 Название темы должно составлять сам вопрос, и быть максимально конкретным. Рекомендуется начинать тему словами "Как", "Что", "Почему". А первый пост повторяет вопрос и даёт расширенные сведения.
5 Рекомендуется указывать версию мейкера (2000, 2003, RMXP, RMVX, ACE, IGM, и.т.д.. Это важно, и всё равно ведь спросят.
6 Темы "Пара вопросов", "Помогите", и подобные им - самый лёгкий путь к бану.
7 Поиск находится вверху справа.
А. Названия подразделов этого раздела уточняются. Советы принимаются.
1 Задавайте конкретные вопросы. Для болтовни есть свободный раздел.
2 По возможности давайте конкретные ответы.
3 Один вопрос=одна тема. Если хотите задать ещё вопрос, то начинайте новую тему.
4 Название темы должно составлять сам вопрос, и быть максимально конкретным. Рекомендуется начинать тему словами "Как", "Что", "Почему". А первый пост повторяет вопрос и даёт расширенные сведения.
5 Рекомендуется указывать версию мейкера (2000, 2003, RMXP, RMVX, ACE, IGM, и.т.д.. Это важно, и всё равно ведь спросят.
6 Темы "Пара вопросов", "Помогите", и подобные им - самый лёгкий путь к бану.
7 Поиск находится вверху справа.
А. Названия подразделов этого раздела уточняются. Советы принимаются.
[VX Ace] Прерывание цикла
10 года 1 мес. назад - 10 года 1 мес. назад #91182
от Paranoid
Paranoid создал тему: [VX Ace] Прерывание цикла
Кто сидит в чате знает что я пилю тактическую боевку на ивентах. Игровые персонажи ходят, а вот интеллект для мобов я никак не могу осилить. Может кто-нибудь посмотрит проект и поможет мне с этим?
Ссылка: yadi.sk/d/oF3vtBLuqoM2x
В самом проекте уже есть пробный ии для зомби. смысл в том чтобы как только зомби заметит игрока он пытался дойти до него. Что он и делает, но мой цикл работает без остановки и зомби идет до тех пор пока не упрется в другое событие. На деле же мне нужно чтобы зомби делал всего 2 шага в сторону ближайшего видимого игрового персонажа.
P.S.: у меня 2 вложенных цикла for.
Ссылка: yadi.sk/d/oF3vtBLuqoM2x
В самом проекте уже есть пробный ии для зомби. смысл в том чтобы как только зомби заметит игрока он пытался дойти до него. Что он и делает, но мой цикл работает без остановки и зомби идет до тех пор пока не упрется в другое событие. На деле же мне нужно чтобы зомби делал всего 2 шага в сторону ближайшего видимого игрового персонажа.
P.S.: у меня 2 вложенных цикла for.
Последнее редактирование: 10 года 1 мес. назад пользователем Paranoid.
Тема заблокирована.
10 года 1 мес. назад #91184
от Волчонок
Ленивый волчонок с большими амбициями
Рассказ "Рождение мага" , периодически обновляется
РПГ История Егеря . Основной текущий проект.
Волчонок ответил в теме [VX Ace] Прерывание цикла
На вскидку: введи количество ходов для каждого события, и каждый "раунд" восстанавливай. В цикле уменьшай количество ходов на единицу, добавь проверку "если ходов = 0 то выход из цикла".
Ленивый волчонок с большими амбициями
Рассказ "Рождение мага" , периодически обновляется
РПГ История Егеря . Основной текущий проект.
ВНИМАНИЕ: Спойлер!
Смерть идёт,
Покой нальёт
Людям всем, и сбежит морок...
Но пока в нём живут,
Но пока в нём растут,
Не видать нам вины
Как неба в крови.
Покой нальёт
Людям всем, и сбежит морок...
Но пока в нём живут,
Но пока в нём растут,
Не видать нам вины
Как неба в крови.
Тема заблокирована.
10 года 1 мес. назад #91187
от Paranoid
Paranoid ответил в теме [VX Ace] Прерывание цикла
Мысть здравая, вот только у меня уже места в коде нет(
Тема заблокирована.
10 года 1 мес. назад #91189
от Волчонок
Ленивый волчонок с большими амбициями
Рассказ "Рождение мага" , периодически обновляется
РПГ История Егеря . Основной текущий проект.
Волчонок ответил в теме [VX Ace] Прерывание цикла
Ну... Оптимизацию проведи о_О Нарисуй схему, подумай, что можно сократить, что можно объединить, а что - убрать.
Ленивый волчонок с большими амбициями
Рассказ "Рождение мага" , периодически обновляется
РПГ История Егеря . Основной текущий проект.
ВНИМАНИЕ: Спойлер!
Смерть идёт,
Покой нальёт
Людям всем, и сбежит морок...
Но пока в нём живут,
Но пока в нём растут,
Не видать нам вины
Как неба в крови.
Покой нальёт
Людям всем, и сбежит морок...
Но пока в нём живут,
Но пока в нём растут,
Не видать нам вины
Как неба в крови.
Тема заблокирована.
10 года 1 мес. назад #91190
от Amphilohiy
Я верю, что иногда компьютер сбоит, и он выдает неожиданные результаты, но остальные 100% случаев это чья-то криворукость.
Amphilohiy ответил в теме [VX Ace] Прерывание цикла
Я ленивый кусок лошади, так что могу предложить ленивую мысль.
Кусок кода с 2 циклами запихай в функцию. В функции вместо break сделай return. А я просто ленив и сейчас пока не сделаю (может позже, но по опыту кодировки лучше не расчитывать).
Кстати, объявлять переменные после мейна не имеет смысла.
Кусок кода с 2 циклами запихай в функцию. В функции вместо break сделай return. А я просто ленив и сейчас пока не сделаю (может позже, но по опыту кодировки лучше не расчитывать).
Кстати, объявлять переменные после мейна не имеет смысла.
Я верю, что иногда компьютер сбоит, и он выдает неожиданные результаты, но остальные 100% случаев это чья-то криворукость.
Спасибо сказали: yuryol
Тема заблокирована.
10 года 1 мес. назад #91191
от Paranoid
Paranoid ответил в теме [VX Ace] Прерывание цикла
Было бы круто увидеть пример. А переменные я объявил там, потому что мне так Демий сказал, я не знаю "правил" руби.Amphilohiy пишет: Я ленивый кусок лошади, так что могу предложить ленивую мысль.
Кусок кода с 2 циклами запихай в функцию. В функции вместо break сделай return. А я просто ленив и сейчас пока не сделаю (может позже, но по опыту кодировки лучше не расчитывать).
Кстати, объявлять переменные после мейна не имеет смысла.
Тема заблокирована.
10 года 1 мес. назад - 10 года 1 мес. назад #91192
от Amphilohiy
Я верю, что иногда компьютер сбоит, и он выдает неожиданные результаты, но остальные 100% случаев это чья-то криворукость.
Amphilohiy ответил в теме [VX Ace] Прерывание цикла
Думаю можно обойтись лямбдой примерно так:
Но я не совсем до конца понял что происходит в коде, поэтому сказать рабочий ли он в целом не могу, но сама часть с лямбдой работает на примере
P.S. Все объявления после мейна просто не сработают в игре, только после нее. Может Демий имел ввиду после "Дополнения", но до мейна? Обычно так советуют.
ВНИМАНИЕ: Спойлер!
Code:
lambda do
for x in ax..bx
for y in ay..by
if reachable_in_steps?(4, x, y, 2) == true
find_path(4, x, y, true)
return
end
y+=1; p [x, y]
end
x+=1
end
end.call
Но я не совсем до конца понял что происходит в коде, поэтому сказать рабочий ли он в целом не могу, но сама часть с лямбдой работает на примере
ВНИМАНИЕ: Спойлер!
Code:
lambda do
for ia in 1..10
for ib in 1..10
p [ia, ib]
return
end
end
end.call
P.S. Все объявления после мейна просто не сработают в игре, только после нее. Может Демий имел ввиду после "Дополнения", но до мейна? Обычно так советуют.
Я верю, что иногда компьютер сбоит, и он выдает неожиданные результаты, но остальные 100% случаев это чья-то криворукость.
Последнее редактирование: 10 года 1 мес. назад пользователем Amphilohiy.
Тема заблокирована.
10 года 1 мес. назад #91193
от Paranoid
Paranoid ответил в теме [VX Ace] Прерывание цикла
Хм, а что делает p [x, y]?
Тема заблокирована.
10 года 1 мес. назад #91194
от Amphilohiy
Я верю, что иногда компьютер сбоит, и он выдает неожиданные результаты, но остальные 100% случаев это чья-то криворукость.
Amphilohiy ответил в теме [VX Ace] Прерывание цикла
Просто выводит сообщение в консоль, если она у тебя включена. В данном случае выводит массив из x и y.Paranoid пишет: Хм, а что делает p [x, y]?
Я верю, что иногда компьютер сбоит, и он выдает неожиданные результаты, но остальные 100% случаев это чья-то криворукость.
Тема заблокирована.
10 года 1 мес. назад - 10 года 1 мес. назад #91199
от Paranoid
Paranoid ответил в теме [VX Ace] Прерывание цикла
Нет, ничего не изменилось.
Скрипт с твоим дополнением:
Скрипт с твоим дополнением:
Code:
if $game_map.events[1].x > $game_map.events[4].x # сравнивает коордитаты x врага и юнита и забивает в ax меньшее, в bx большее
ax = $game_map.events[4].x
bx = $game_map.events[1].x
else
ax = $game_map.events[1].x
bx = $game_map.events[4].x
end
if $game_map.events[1].y > $game_map.events[4].y # сравнивает коордитаты y врага и юнита и забивает в ay меньшее, в by большее
ay = $game_map.events[4].y
by = $game_map.events[1].y
else
ay = $game_map.events[1].y
by = $game_map.events[4].y
end
lambda do
for x in ax..bx # цикл 1
for y in ay..by # цикл второй
if reachable_in_steps?(4, x, y, 2) == true # враг сможет дойти до этих координат за 2 шага?
find_path(4, x, y, true) # если да, то пусть идет в них
return
end
y+=1 #меняеем y
end
x+=1 #меняеем x
end
end.call
Последнее редактирование: 10 года 1 мес. назад пользователем Paranoid.
Тема заблокирована.
10 года 4 нед. назад #91238
от Paranoid
Paranoid ответил в теме [VX Ace] Прерывание цикла
Я нашел ошибку, она сидела прямо перед монитором. Цикл прекрасно завершался, но так как после него не было никаких команд он просто повторял себя. К сожалению возникли новые проблемы. А так проблема решена, всем спасибо за помощь.
Тема заблокирована.
Время создания страницы: 0.110 секунд
