Плохо! Плохо!:  0
Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 19

Тема: Выстрелы на событиях

  1. #1
    Маститый Аватар для Yuryol
    Информация о пользователе
    Регистрация
    06.03.2014
    Адрес
    Красноярск
    Сообщений
    1,392
    Записей в дневнике
    44
    Репутация: 59 Добавить или отнять репутацию

    По умолчанию Выстрелы на событиях

    Наверняка многие хотят чтоб герой умел "стрелять" прямо на карте, чтобы сделать свои "танчики", или же добавить какой-никакой ЭКШОН. Можно конечно скачать скрипты на АБС боёвки, но напрмиер на том же МВ полноценной законченной АБС нету, поэтому этот урок о том,как сделать элемент АБС на ивентах

    УПРАВЛЕНИЕ

    перво-наперво следует привязать кнопку к выстрелу. Для этого создаем общее событие.
    1)Параллельное. Условие включения - переключатель который для удобства назовем "управление"
    2)Ветвление условий -> скрипт Input.isTriggered('ok')
    То есть выстрел будет на кнопку "ЭНТЕР"
    Можно конечно сделать "Ветвление условий -> если кнопка "ок" нажата, но в таком случае, при нажатии выстрел будет срабатывать несколько раз пока кнопку не отпустишь. Пауза выручает в этом случае,но всё же будет немного коряво
    3) Внутри ветвления - второе общее событие - назовем его "Выстрел"

    Таким же способом делаем "смену оружия". Привяжем ее на кнопку "CANCEL"

    Спойлер ТЫК:


    Создаем на карте событие,которое включает переключатель
    На скрине он отмечен синим прямоугонльиком.



    Заполняем это событие следующим образом
    Спойлер ТЫКТЫКДЫГЫДЫГ:



    ВЫСТРЕЛ

    Создаем общее событие "выстрел",на которое ссылалось предыдущее общее событие.
    Оно не имеет переключателя и не параллельно.

    Чтобы герой не стрелял не имея в руках пистолета, создаем оружие пистолет ли любое другое по вашему желанию и добавляем условие
    1) Ветвление условий -> Если герой экипирован "пистолетом".
    2) Переключатель,который назовем для удобства "пистолет" - > включить
    3) Переключатели остальных оружий выключаем
    4) добавляем активирование 6ого общего события,которое я назвал "выстрел",но маленькими буквами:\ исправлять скрины лень,надеюсь не запутается никто(
    Таким же способом доабвляем и другие оружия,например дробовик
    Только переключатели поменяется местами а общее событие активируется другое,напрмиер "выстрел из дробовика"

    Спойлер БОМБОРОБОМ:


    [B]ВРАГ[/И]

    Создаем врага,в которого мы и будем стрелять
    1) создаем НПС,с маршрутом или без. Главное запоминаем его ID. В нашем случае у него ID=2
    Здесь он в зеленом прямоугонльике

    Спойлер ХАЙМАХАЛАЙ:


    2) В первом событии (НЕ общем) добвляем переменную "здоровье врага". и пусть она будет равна 10.

    3) В 2-ом событии,то есть в событии нпс Врага, создаем вторую страницу. Оно активируется переключателем "враг мертв".
    Графику врага заменяем на его "останки". Либо делаем ее пустой если хотите чтобы он "исчез" после смерти

    Спойлер БОБОМ:


    ПАТРОНЫ

    Герой должен стрелять ПАТРОНАМи/стрелами/огнем. Поэтому надо создать события спрайтов патронов.
    В зависимости от того,СКОЛЬКО патронов может быть на экране одновременно,создаем столько и патронов.
    Мы сделаем вариант для четырех патронов. На скрине они обведены в красный прямоугольник
    Очень важно запомнить ID этих патронов. В нашем случае это 3-6.
    На всех последующих картах патроны должны быть с такими же ID

    Спойлер КИСИСЬКИСИСЬ:


    1) Создаем событие "патрон". Первая страница пустая.
    2) Вторая страница запускается при выстреле из пистолета.
    Переключатели для активации
    "патрон 1" и "пистолет"
    Триггер - параллельный
    Скорость - лучше двухкратную
    Спойлер ОХ:



    3) Указываем маршрут. В зависимости от того, на сколько клеток стреляет оружие,столько раз вставляем команду "вперед".
    В конце обязательно делаем выключение переключателя,которым активировалось событие,то есть выключаем "патрон 1"
    Спойлер ЗАДОЛБАЛИСПОЙЛЕРЫ:



    4) настраиваем столконвение патрона с тайлами. Для этого сначала присваиваем тайлам метки местности. наприме пусть стены будут с метками "5"

    Спойлер ЕЩЕ ОДИН:


    5) приравниваем переменную "патрон 1 х" к координате Х события "патрон 1"
    $gameMap.event(this._eventId).x
    Точно также еще одна переменная к к координате Y
    $gameMap.event(this._eventId).y

    Спойлер спойлёр:
    $gameMap.event(n).x
    $gameMap.event(n).y
    Это координаты Х и У событий, где n - ID события. Вместо номера ID события можно написать "this._eventId",что означает "ЭТОГО события"

    Можно заменить следующими стандартными командами:
    -присвоение переменной координаты игровых данных "событие врага - координата Х"
    -присвоение переменной координаты игровых данных "событие врага - координата Y"
    - присвоение переменной координаты игровых данных "событие патрон - координата X"
    - присвоение переменной координаты игровых данных "событие патрон - координата Y"
    - ветвление условий -> если переменная "событие врага - координата Х" равна "событие патрон - координата X"
    - внутри него ветвление условий - если переменная "событие врага - координата Y" равна "событие патрон - координата Y"

    То есть вместо ОДНОГО условия мы бы использовали ШЕСТЬ действий. При этом эти действия надо скопировать для остальных патронов,и везде поменять события патронов.


    6) Получить данные о местности. Создаем переменную "данные", координатами указываем вышеприсвоенные переменные

    Спойлер ХМММ:


    7) Создаем ветвлениие-> скрипт $gameVariables.value(43)==4||$gameVariables.value( 43)==5||$gameVariables.value(43)==6
    Где $gameVariables.value(43) - переменная с ID=43, а равные ей числа - метки территорий

    Спойлер хм:
    $gameVariables.value(43)==4|| $gameVariables.value(43)==5
    т.е."если переменная 43 равна 4 ИЛИ переменная 43 равна 5 "


    Переключатетль ПАТРОН 1 выключить

    Спойлер ЕЩЕОДИН:


    Спойлер если еще короче:
    шаги 5-7 можно заменить командой $gameMap.terrainTag(x, y) дабы сделать алгоритм еще более коротким;


    8) доабвляем столкновение с врагом

    Ветвление улсовий -> скрипт $gameMap.event(2).x == $gameMap.event(this._eventId).x && $gameMap.event(2).y == $gameMap.event(this._eventId).y

    Где вместо двойки пишем ID врага.

    Спойлер тыктык:
    если координата 2-ого события по Х равна координате ЭТОГО события по х И координата 2-ого события по Y равна координате ЭТОГО события по Y


    Спойлер И ЕЩЕ:


    9) показываем анимацию при попадании во врага. Например брызги крови.
    10) Уменьшаем кол-во здоровья врага на урон от патрона.
    У пистолета пусть будет 2. У дробовика должно быть больше. У рогатки не больше одного

    11) если переменная здоровье врага меньше нуля,то враг умирает,поэтому включаем переключатель "враг мертв".

    12) Ну и выключаем переключатель "патрон 1"

    Спойлер ДУРАЦКИЕ СПОЙЛЕРЫ:


    То же самое сделать с другими патронами.
    Не забываем менять там переключатели. Запутаться очень легко

    ВЫЛЕТ ПАТРОНОВ

    Помните то общее 6ое событие которое названо маленькими буквами "выстрел"? Редактируем его

    1) Никакой пареллельности,никаких переключателей.
    2) создаем ветвление условий "если переключатель патрон 1 включен".
    не забываем включить вторую ветвь

    Спойлер СКОЛЬКОМОЖНОСПОЙЛЕРОВ:


    3) Внутри этого ветвления создаем условие "если переключатель патрон 2 включен".
    4) Далее столько ветвлений,сколько патронов у тебя создано. В нашем случае последнее ветвление будет "если переключатель патрон 4 включен".

    Спойлер НАЧИНАЮЗЛИТЬСЯ:


    5) Внутри каждого ветвления после "ИЛИ" создаем сначала воспроизведение звука выстрела
    6) после каждого звука вставляем ветвления "если игрок повернут вниз/вверх/влево/вправо". Это для того,чтоб патрон стрелял туда,куда повернут персонаж
    7) внутри каждого ветвления пишем маршрут события "патрон" такой-то".
    Очень легко запутаться, поэтому проверяем чтоб в каждом ветвлении,созданных на шагах 2-4, в маршруте были именно те патроны,которые указаны в ветлвении
    - поворот этого патрона вверх/вниз/влево/вправо
    - скрипт $gameMap.event(6).setPosition($gamePlayer.x,$gameP layer.y)
    Это телепорт событий "патронов" в координаты игрока.
    Вместо 6 пишем ID нужного патрона.
    - Включить переключатели соответствующих патронов.
    Спойлер ТЕРПЕНИЕНЕБЕЗГРАНИЧНО:



    ЕЩЕ РАЗ: в КАЖДОМ ветвлении созданных на шагах 2-4 ID патрона и переключатели меняются. Важно не запутаться

    АЛГОРИТМ ДЛЯ ПОЯСНЕНИЯ.

    Вот в общем, и всё. Теперь при нажатии на кнопку герой будет стрелять.
    Вот алгоритм выстрела, длля того чтоб лучше понять принцип действия

    1) При нажатии на кнопку ЭНТЕР это отслеживается в общем событии "управление"
    2) оно ссылается на общее событие "ВЫСТРЕЛ", которое отслежвиает экипирован ли пистолет
    3) Если экипирован то происходит отсылка к общему событию "выстрел".
    4) Проверяется включения переключателей,то есть летит ли какой-либо патрон во время нажатия.
    При первом нажатии кнопка эти переключатели выключены поэтому выполняется первое условие,активирующее событие "патрон"
    Если после этого сразу нажать еще раз ЭНТЕР,то общеее событие "выстрел" отследит что первый патрон еще летит поэтмоу активирует второй патрон. И т.д.
    При 5-ом нажатии на кнопку ничего не произойдет так как все патроны "в полете". Но оно активируется когда какой-либо из патронов попадет в препятствие или врага и переключатель выключится.
    5) Что делает событие ПАТРОН? Когда активируется то проверяется из какого оружия стреляет. Это нужно для того чтоб задать разному оружию разный урон и дальность выстрела. Дальность выстрела регулируется в маршруте события кол-вом команд "вперед".
    Урон - вычитанием числа из здоровья врага.
    6) При "долета" патрона весь путь пеереключатель выключается. Если патрон попадает в тайл с меткой "5," или любой другой по вашему желанию то также отключается. Ну и во время попадания врага,или в любое другое событие которое вы натсроили.

    О том,как привязать смену оружия на соответсвующую кнопку, о том как сделать ограниченное число патронов, как сделать перезарядку, "область урона", отображение патронов на дисплее - в следующий раз

    ДЕМКА:

    Не забываем экипировать пистолет перед тем как стрелять

    ТЫКТЫКТЫК

  2. #2
    Хранитель Форума Аватар для Валера
    Информация о пользователе
    Регистрация
    15.04.2008
    Адрес
    Москва
    Сообщений
    14,006
    Записей в дневнике
    3
    Репутация: 166 Добавить или отнять репутацию

    По умолчанию

    У меня где-то была подобная боевка Вильдеда еще для 2003. Соответственно, только на командах. Очень простая. Там было переключение оружия ( меч - пистолет ), патроны на счет и их покупка. Один враг, один герой. Поищу.

    Спойлер И как тебе не стыдно-то, а, Валера?:


    Оборона форта: http://rghost.ru/8kLGxFtD2
    Сделать, чтоб все происходило, как я хочу, - вот, собственно, и весь мейкер!
    Адский Рейд: http://rpgmaker.su/vbdownloads.php?d...downloadid=106

  3. #3
    Маститый Аватар для Yuryol
    Информация о пользователе
    Регистрация
    06.03.2014
    Адрес
    Красноярск
    Сообщений
    1,392
    Записей в дневнике
    44
    Репутация: 59 Добавить или отнять репутацию

    По умолчанию

    Цитата Сообщение от Валера Посмотреть сообщение
    У меня где-то была подобная боевка Вильдеда еще для 2003. Соответственно, только на командах. Очень простая. Там было переключение оружия ( меч - пистолет ), патроны на счет и их покупка. Один враг, один герой. Поищу.
    у меня в своей игре тоже есть переключение оружия,определенное кол-во патронов в магазине, отображение кол-ва патронов и магазинов на экране, просто пока еще не выдрал это из игры и не оформил в демку и в урок.
    Также есть всё то же самое но с пиксельным движением и различными "хит-боксами"

  4. #4
    Мастер Форума Аватар для Рольф
    Информация о пользователе
    Регистрация
    14.04.2008
    Адрес
    Южно- Сахалинск/Пенза
    Сообщений
    8,438
    Записей в дневнике
    2
    Репутация: 91 Добавить или отнять репутацию

    По умолчанию

    На моем старом канале есть ролик. Делал на событиях, еще на хр. Мне кажется сейчас смогу по лучше. Один герой с мечом, другой с пистолетом. Только там в ролики, отключен урон от врагов, но враги в моей демки атаковали.
    https://www.youtube.com/watch?v=OaUJNSzgFP8

  5. #5
    Хранитель Аватар для Paranoid
    Информация о пользователе
    Регистрация
    22.12.2014
    Сообщений
    2,771
    Записей в дневнике
    33
    Репутация: 28 Добавить или отнять репутацию

    По умолчанию

    Цитата Сообщение от Рольф Посмотреть сообщение
    А дема есть? Интересный проект.
    Лицензионный VX Ace. Спасибо Петр.
    2 года мукеризма в пустую.

  6. #6
    Маститый Аватар для Yuryol
    Информация о пользователе
    Регистрация
    06.03.2014
    Адрес
    Красноярск
    Сообщений
    1,392
    Записей в дневнике
    44
    Репутация: 59 Добавить или отнять репутацию

    По умолчанию

    Цитата Сообщение от Рольф Посмотреть сообщение
    На моем старом канале есть ролик. Делал на событиях, еще на хр. Мне кажется сейчас смогу по лучше. Один герой с мечом, другой с пистолетом. Только там в ролики, отключен урон от врагов, но враги в моей демки атаковали.
    https://www.youtube.com/watch?v=OaUJNSzgFP8
    Мне подобные "мечи" очень не нравятся. Если стрелялки на мейкере еще более менее, то подобные "ближние" бои скорее раздражают,хоть на скриптах,хоть на событиях(

  7. #7
    Хидео Кодзима Аватар для Bloody
    Информация о пользователе
    Регистрация
    23.04.2008
    Сообщений
    1,751
    Записей в дневнике
    94
    Репутация: 36 Добавить или отнять репутацию

    По умолчанию

    Цитата Сообщение от Yuryol Посмотреть сообщение
    Мне подобные "мечи" очень не нравятся. Если стрелялки на мейкере еще более менее, то подобные "ближние" бои скорее раздражают,хоть на скриптах,хоть на событиях(
    Кстати, согласен. Мне ни одна абска с рукопашкой не понравилась, стрельба - другое дело.
    Проекты:
    Мини-игры: El Presidente -- Red & Blue -- Roll Me Away -- Wizard's Revenge
    На перерыве: Mémoire
    Кажется, заброшены: Street Magic -- Hack in the Dark

  8. #8
    Маститый Аватар для Yuryol
    Информация о пользователе
    Регистрация
    06.03.2014
    Адрес
    Красноярск
    Сообщений
    1,392
    Записей в дневнике
    44
    Репутация: 59 Добавить или отнять репутацию

    По умолчанию

    Цитата Сообщение от Bloody Посмотреть сообщение
    Кстати, согласен. Мне ни одна абска с рукопашкой не понравилась, стрельба - другое дело.
    Мне кажется тут всё дело в пиксельности. Никому неинтересно обходить врагов по клеточкам и тыкать кнопку удара. А вот быстро резво обойти,не стесняясь "клеточным" движением - это норм.
    Поэтому я у себя сделал удары только в пиксельном варианте по аналогии с выстрелами,вроде норм. Еще потестю,если удовлетворит то тоже урок запилю.
    Я хочу кучу клонов зельд на мукере

  9. #9
    Мастер Форума Аватар для Рольф
    Информация о пользователе
    Регистрация
    14.04.2008
    Адрес
    Южно- Сахалинск/Пенза
    Сообщений
    8,438
    Записей в дневнике
    2
    Репутация: 91 Добавить или отнять репутацию

    По умолчанию

    А дема есть? Интересный проект.
    Как бы есть, но я ее сломал, когда вносил изменения. Так что нету. Через много времени придумал проект, решил дай как попробую свои силы еще раз и боевка будет без скриптов. Начал и быстро закончил, не пошло что-то.

  10. #10
    Хранитель Аватар для Paranoid
    Информация о пользователе
    Регистрация
    22.12.2014
    Сообщений
    2,771
    Записей в дневнике
    33
    Репутация: 28 Добавить или отнять репутацию

    По умолчанию

    Цитата Сообщение от Рольф Посмотреть сообщение
    Как бы есть, но я ее сломал, когда вносил изменения. Так что нету. Через много времени придумал проект, решил дай как попробую свои силы еще раз и боевка будет без скриптов. Начал и быстро закончил, не пошло что-то.
    Очень жаль, столько фич интересных пропало.
    Лицензионный VX Ace. Спасибо Петр.
    2 года мукеризма в пустую.

Страница 1 из 2 12 ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Метки этой темы

Социальные закладки

Социальные закладки

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •