Войти на сайт

Авторизация, ждите ...
×
Правила раздела:
1 Задавайте конкретные вопросы. Для болтовни есть свободный раздел.
2 По возможности давайте конкретные ответы.
3 Один вопрос=одна тема. Если хотите задать ещё вопрос, то начинайте новую тему.
4 Название темы должно составлять сам вопрос, и быть максимально конкретным. Рекомендуется начинать тему словами "Как", "Что", "Почему". А первый пост повторяет вопрос и даёт расширенные сведения.
5 Рекомендуется указывать версию мейкера (2000, 2003, RMXP, RMVX, ACE, IGM, и.т.д.. Это важно, и всё равно ведь спросят.
6 Темы "Пара вопросов", "Помогите", и подобные им - самый лёгкий путь к бану.
7 Поиск находится вверху справа.
А. Названия подразделов этого раздела уточняются. Советы принимаются.

ТЕМА: Проходимость и подобное

Проходимость и подобное 12 года 3 дн. назад #59896

  • strelokhalfer
  • strelokhalfer аватар
  • Вне сайта
  • Архитектор Миров
  • Знатный грамотей
  • Сообщений: 1640
  • Спасибо получено: 1080
  • Организатор конкурсовПрограммист RubyПереводчик2 место 2 место Сбитая кодировкаДаритель Стимкея
Форумчане! Делую небольшую игру на VxAce и есть парочка вещей, которые не могу нормально реализовать.
1. Как сделать эвент проходимым только с двух сторон?(верх вниз и вправо влево) Эвент пустой, в нем анимация.
Пытался сделать через тайл, т.к. там можно настроить это все, но не понял как делать анимированный тайлсет.
2. Знает ли кто, как заставить событие сдвинуться от игрока, с проверкой на проходимость?(Например колонна) Где то видел скрипт, но он был на xp, к Ace адаптировать не смог(
3. Можно ли заставить событие сработать после того, как гг СОШЕЛ с него. Может есть какой скрипт?
Очень надеюсь на помощь.
"Стрелок, что-то ты неочень похож на свой аватар..."(с)
Тема заблокирована.

Проходимость и подобное 12 года 3 дн. назад #59897

  • caveman
  • caveman аватар
  • Вне сайта
  • Архитектор Миров
  • Сообщений: 1274
  • Спасибо получено: 1307
  • Проект месяца 1 местоПаладинРазработчикОрганизатор конкурсовПроект месяца 3 место2 место ГотвПрограммист Ruby3 местоВетеранОратор
1. Если в Ace можно запилить пустой тайл (в картинке удалить квадрат 32*32) как в XP, то просто подставь тайл под евент, настроив предварительно у тайла проходимость. А у евента проставь THROUGH = true.
2. Mожно вызывать функцию $game_map.passable?(x, y, d), где x, y - координаты проверяемого тайла, d - направление (2, 4, 6, 8).
def passable?(x, y, d)
check_passage(x, y, (1 << (d / 2 - 1)) & 0x0f)
end
допиши у себя аналог её, который берет координаты х, y из переменных и вызывает эту функцию, типа
def passable?(d)
x = $game_variables[1]
y = $game_variables[2]
check_passage(x, y, (1 << (d / 2 - 1)) & 0x0f)
end
а перед вызовом заполняй эти переменные будущими координатами своей колонны
3. Пользуй параллельное событие, которое активируется по switch, который ставится в true, когда ты встанешь на то событие. В этом параллельном событии (при включенном свитче) ты просто проверяешь, совпадают ли координаты игрока с событием. Если нет - выключай тот свитч и активируй свое событие.
Тема заблокирована.
За этот пост поблагодарили: strelokhalfer

Проходимость и подобное 12 года 3 дн. назад #59901

  • strelokhalfer
  • strelokhalfer аватар
  • Вне сайта
  • Архитектор Миров
  • Знатный грамотей
  • Сообщений: 1640
  • Спасибо получено: 1080
  • Организатор конкурсовПрограммист RubyПереводчик2 место 2 место Сбитая кодировкаДаритель Стимкея
Спасибо за ответ!
1. А можно ли сделать тайл проходимым в одностороннем порядке? Т.е. снизу вверх пройти можно, но не наоборот.
2. А можно по подробнее? В скриптах не силен. Переменные заполнял
ВНИМАНИЕ: Спойлер! [ Нажмите, чтобы развернуть ]

3. Более менее понял.
"Стрелок, что-то ты неочень похож на свой аватар..."(с)
Последнее редактирование: 12 года 3 дн. назад от strelokhalfer.
Тема заблокирована.

Проходимость и подобное 12 года 3 дн. назад #59902

  • DeadElf79
  • DeadElf79 аватар
  • Вне сайта
  • Звездный Страж
  • Сообщений: 3147
  • Спасибо получено: 2651
  • Учитель3 место1 место в ГотвПроект месяца 1 местоПроект месяца 2 местоВетеранПрограммист RubyПисатель 3 местоОрганизатор конкурсов
Ответ на третий вопрос из первого поста недавно нашел на одном форуме:

Код:
ВНИМАНИЕ: Спойлер! [ Нажмите, чтобы развернуть ]
Тема заблокирована.
За этот пост поблагодарили: strelokhalfer

Проходимость и подобное 12 года 3 дн. назад #59903

  • strelokhalfer
  • strelokhalfer аватар
  • Вне сайта
  • Архитектор Миров
  • Знатный грамотей
  • Сообщений: 1640
  • Спасибо получено: 1080
  • Организатор конкурсовПрограммист RubyПереводчик2 место 2 место Сбитая кодировкаДаритель Стимкея
Решение в виде скрипта не плохо, но придется разбираться.
"Стрелок, что-то ты неочень похож на свой аватар..."(с)
Тема заблокирована.

Проходимость и подобное 12 года 3 дн. назад #59904

  • caveman
  • caveman аватар
  • Вне сайта
  • Архитектор Миров
  • Сообщений: 1274
  • Спасибо получено: 1307
  • Проект месяца 1 местоПаладинРазработчикОрганизатор конкурсовПроект месяца 3 место2 место ГотвПрограммист Ruby3 местоВетеранОратор
ежели дотерпишь до вечера - соберу дома демку с ответами на все вопросы
Тема заблокирована.

Проходимость и подобное 12 года 3 дн. назад #59905

  • strelokhalfer
  • strelokhalfer аватар
  • Вне сайта
  • Архитектор Миров
  • Знатный грамотей
  • Сообщений: 1640
  • Спасибо получено: 1080
  • Организатор конкурсовПрограммист RubyПереводчик2 место 2 место Сбитая кодировкаДаритель Стимкея
Хорошо, пока над другим поработаю)
"Стрелок, что-то ты неочень похож на свой аватар..."(с)
Тема заблокирована.

Проходимость и подобное 12 года 3 дн. назад #59906

  • caveman
  • caveman аватар
  • Вне сайта
  • Архитектор Миров
  • Сообщений: 1274
  • Спасибо получено: 1307
  • Проект месяца 1 местоПаладинРазработчикОрганизатор конкурсовПроект месяца 3 место2 место ГотвПрограммист Ruby3 местоВетеранОратор
1. А можно ли сделать тайл проходимым в одностороннем порядке? Т.е. снизу вверх пройти можно, но не наоборот.
Нет, нельзя. Более того, попробовал в событии менять THROUGH - получаются какие-то чудеса с тем, что событие потом более не срабатывает, в общем, муть.
Как вариант - предлагаю вот что: окружить твое событие (назову его EV) пустыми событиями с 4х сторон, которые срабатывают по касанию игрока. В них пишешь: для событий снизу и слева (откуда можешь пройти) Set Move Route у EV ставишь THROUGH = ON; у остальных (откуда не можешь пройти) - Set Move Route у EV и THROUGH = OFF.
Тема заблокирована.

Проходимость и подобное 12 года 3 дн. назад #59907

  • caveman
  • caveman аватар
  • Вне сайта
  • Архитектор Миров
  • Сообщений: 1274
  • Спасибо получено: 1307
  • Проект месяца 1 местоПаладинРазработчикОрганизатор конкурсовПроект месяца 3 место2 место ГотвПрограммист Ruby3 местоВетеранОратор
rghost.ru/45402305 тут примерчик
Тема заблокирована.

Проходимость и подобное 12 года 3 дн. назад #59909

  • strelokhalfer
  • strelokhalfer аватар
  • Вне сайта
  • Архитектор Миров
  • Знатный грамотей
  • Сообщений: 1640
  • Спасибо получено: 1080
  • Организатор конкурсовПрограммист RubyПереводчик2 место 2 место Сбитая кодировкаДаритель Стимкея
Запаралелить придется, по координатам вычислять(
Но за помощь спасибо! Сейчас рассмотрю твой примерчик.
"Стрелок, что-то ты неочень похож на свой аватар..."(с)
Последнее редактирование: 12 года 3 дн. назад от strelokhalfer.
Тема заблокирована.

Проходимость и подобное 12 года 3 дн. назад #59910

  • caveman
  • caveman аватар
  • Вне сайта
  • Архитектор Миров
  • Сообщений: 1274
  • Спасибо получено: 1307
  • Проект месяца 1 местоПаладинРазработчикОрганизатор конкурсовПроект месяца 3 место2 место ГотвПрограммист Ruby3 местоВетеранОратор
ну или параллелить, если нет возможности поместить пустышки рядом. Самое главное, как я вот сегодня выяснил, ставить THROUGH до того, как ты залез на это событие, иначе какая-то фигня получается. У меня выходило, что после первого прохода событие переставало реагировать на игрока.
Тема заблокирована.

Проходимость и подобное 12 года 3 дн. назад #59911

  • strelokhalfer
  • strelokhalfer аватар
  • Вне сайта
  • Архитектор Миров
  • Знатный грамотей
  • Сообщений: 1640
  • Спасибо получено: 1080
  • Организатор конкурсовПрограммист RubyПереводчик2 место 2 место Сбитая кодировкаДаритель Стимкея
О! Так просто, даже стыдно что не допер)
А как насчет 2 пункта? В руби не силен совсем, есть хорошие самоучители?
"Стрелок, что-то ты неочень похож на свой аватар..."(с)
Тема заблокирована.

Проходимость и подобное 12 года 3 дн. назад #59912

  • caveman
  • caveman аватар
  • Вне сайта
  • Архитектор Миров
  • Сообщений: 1274
  • Спасибо получено: 1307
  • Проект месяца 1 местоПаладинРазработчикОрганизатор конкурсовПроект месяца 3 место2 место ГотвПрограммист Ruby3 местоВетеранОратор
я еще на работе, так что позже... в XP в своей игре (тут демо валяется), я подобное делал.
Тема заблокирована.

Проходимость и подобное 12 года 3 дн. назад #59913

  • strelokhalfer
  • strelokhalfer аватар
  • Вне сайта
  • Архитектор Миров
  • Знатный грамотей
  • Сообщений: 1640
  • Спасибо получено: 1080
  • Организатор конкурсовПрограммист RubyПереводчик2 место 2 место Сбитая кодировкаДаритель Стимкея
Ааа, дак я с твоей игры то код и стырил)
Когда кстати ее доделаешь?
Покумекаю, может сам смогу адаптировать) Базовые знания то имеются)
"Стрелок, что-то ты неочень похож на свой аватар..."(с)
Тема заблокирована.

Проходимость и подобное 12 года 3 дн. назад #59915

  • caveman
  • caveman аватар
  • Вне сайта
  • Архитектор Миров
  • Сообщений: 1274
  • Спасибо получено: 1307
  • Проект месяца 1 местоПаладинРазработчикОрганизатор конкурсовПроект месяца 3 место2 место ГотвПрограммист Ruby3 местоВетеранОратор
rghost.ru/45406464 - тут по поводу пункта два. Сам метод я поместил в скриптах в файл ТЕСТ сразу над Main.
Погоняй шарик :)

Доделаю нескоро, к середине лета по оптимистическим настроениям.
Тема заблокирована.
За этот пост поблагодарили: strelokhalfer

Проходимость и подобное 12 года 3 дн. назад #59916

  • Cerberus
  • Cerberus аватар
  • Вне сайта
  • Модератор
  • Собака злая
  • Сообщений: 2269
  • Спасибо получено: 1182
  • Проект месяца 2 местоПрограммист JavaScript Проект месяца 1 место3 местоПроект месяца 3 местоПобедитель Сбитой кодировки3 место Готв2 место 2 место Сбитая кодировкаПисатель 3 место
Скрипты, скрипты... Если надо толкнуть на один шаг - то это элементарно делается эвентом. Если до первого препятствия - то похитрее и с накладными расходами (1-3 свитча, в зависимости от условия, и одна переменная).
На один шаг:

До первого препятствия, герой может двигаться:


До первого препятствия, герой ждёт:


Конечно, если не обходиться принципиально одними эвентами - можно и без большей части накладных расходов (один свитч всё равно нужен), но я решил не заморачиваться. Алгоритм всё равно тот же.
Жуть болотная, на лапках, в тапках и с пулемётом...
Последнее редактирование: 12 года 3 дн. назад от Cerberus.
Тема заблокирована.
За этот пост поблагодарили: strelokhalfer

Проходимость и подобное 12 года 2 дн. назад #59932

  • strelokhalfer
  • strelokhalfer аватар
  • Вне сайта
  • Архитектор Миров
  • Знатный грамотей
  • Сообщений: 1640
  • Спасибо получено: 1080
  • Организатор конкурсовПрограммист RubyПереводчик2 место 2 место Сбитая кодировкаДаритель Стимкея
Всем спасибо за помощь!
"Стрелок, что-то ты неочень похож на свой аватар..."(с)
Тема заблокирована.
Время создания страницы: 0.209 секунд