- Сообщений: 223
- Спасибо получено: 0
1 Задавайте конкретные вопросы. Для болтовни есть свободный раздел.
2 По возможности давайте конкретные ответы.
3 Один вопрос=одна тема. Если хотите задать ещё вопрос, то начинайте новую тему.
4 Название темы должно составлять сам вопрос, и быть максимально конкретным. Рекомендуется начинать тему словами "Как", "Что", "Почему". А первый пост повторяет вопрос и даёт расширенные сведения.
5 Рекомендуется указывать версию мейкера (2000, 2003, RMXP, RMVX, ACE, IGM, и.т.д.. Это важно, и всё равно ведь спросят.
6 Темы "Пара вопросов", "Помогите", и подобные им - самый лёгкий путь к бану.
7 Поиск находится вверху справа.
А. Названия подразделов этого раздела уточняются. Советы принимаются.
Вопросы от DarkChaosa
1.Мне нужно чтобы персонаж брал в группу только одного перса...И больше никого...
2.Чтобы если не воскресить твого друга в бою,то он исчезал ис пати...Навсегда,а всесто него уже наконец появлялась свободная вакансия,для нового...
3.Как сделать ауру...Например на тя накинулы ауру атаки..Те на 5 минут добавилось 20 АТК...НУ или ты сам на себя накидываешь,только не вовремя боя...Но во время боя она действует...Думаю все поняли о чём речь...
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
[hr]
2. Я думаю, что стоит сделать глобальное событие (common event) — Parallel process. В нём добавь условное ветвление:
:УСЛОВНОЕ ВЕТВЛЕНИЕ, ЕСЛИ HP героя = 0
Удалить его из команды
Выключить switch, что он в команде
:КОНЕЦ ВЕТВЛЕНИЯ
(Можно ещё в конце добавить чего-то типа Подождать 0,1 или Подождать 0,2, если игра тормозит из-за слишком большого количества параллельных событий).
[cut]
Теоретически это можно было бы делать и в самой битве, но там нет глобальных событий, поэтому надо бы в каждой группе монстров прописывать один и тот же код.
[/cut]
Как вариант можно всех помощников, если они присоединяються только один раз, хранить как одного героя.
[cut]Тогда при его присоединении проверяется, есть ли этот самый единственный герой в команде, устанавливается ему имя, лицо, работа... Ну и заодно switch - кто с тобой ходит (хотя можно и имя сравнивать). Тогда в Parallel process надо проверять всего лишь HP или состояние одного героя.[/cut]
[hr]
3. Простейший вариант: при накидывании ауры добавляешь эту самую атаку, 20 единиц, ставишь свитч какой нибудь (можно назвать, скажем, аура атаки действует), запускаешь таймер на 5 минут.
Потом делаешь глобальное событие (common event), условием его появления ставишь switch (аура атаки действует), и в нём добавь условное ветвление:
:УСЛОВНОЕ ВЕТВЛЕНИЕ, ЕСЛИ на таймере осталось 0 секунд
Уменьшить атаку на 20
Снять свитч Аура атаки действует
:КОНЕЦ ВЕТВЛЕНИЯ
(В конце события тут желательно поставить что-то вроде Подождать 0.5 — учитывая промежутки в 5 минут, задержка в полсекунды заметна не будет
Проблемы с аурами начнутся, если тебе надо будет их много. Таймеров-то всего 2. Если можно за один раз наложить только одну ауру, то тогда надо просто ввести 2 свитча: аура (какая-то) действует и конкретно по аурам. Тогда уже событие вызывается по свитчу аура (какая-то) действует, а в самом событии проверяется, какая именно аура действует, и если это аура атаки, отнимается 20 атаки, если аура защиты — отнимается защита…
Если несколько аур могут действовать одновременно, то нехватку таймеров можно обходить.
С одной стороны, можно использовать один таймер для всех аур.
[cut]
Тогда количество секунд до конца действия ауры храниться в какой-то переменной, а таймер устанавливается на время действия самой короткодействующей ауры.
Есть переменные — сколько секунд осталось работать каждой ауре.
При установке проверяется уже работающий таймер; если он не работает или там времени больше, чем будет работать устанавливаемая аура, то тогда надо остановить таймер, отнять от всех перемнных (сколько осталось работать каждой ауре) время, которое таймер должен бы работать (куда-нибудь его сохранить), и прибавить время, которое осталось на нём, и запустить новый таймер: время колдуемой сейчас ауры (и устанавливаем переменную, сколько он должен проработать).
В глобальном событии параллельным процессом проверяется, не равны ли секунды на таймере нулю. Если равны... От всех переменных (сколько осталось работать каждой ауре) отнимается количество секунд, которое таймер проработал (берём из переменной, сколько он должен проработать).
Проверяем все ауры. Если время какой-то стало = 0, снимаем характеристику.
Потом проверяем все ещё работающие ауры и находим ауру с наименьшим оставшимся временем. Запускаем таймер на это время.
[/cut]
С другой стороны — можно использовать много глобальных событий и эмулировать таймер с помощью команды «Подождать»… Я сам не пробовал, но это может сработать.
Наверное непонятно получилось... _ Пример, как на зло, не сваяю, разве что на RM2000, так как 2003 под рукой нет. Если на 2000 сойдёт, могу сделать пример.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Есть тема FAQ: общие вопросы, вот туда и надо писать...
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Думаю, Рольф ответил вполне компетентно.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
- Rolf
- Посетитель
-
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
3 ответ я вообще не понял,но разве что немного...
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Тьфу, извини, не туда посмотрел, Правда. *mujik*[hr]Fizmatik, а причем тут я. Dmy, ответил ему. Первее меня.
DMY если можно на все вопросики скриптиком для 2000 мейкера...Вот моя аська 474231107...
3 ответ я вообще не понял,но разве что немного...
Скрипт для 2000го...как ты это себе представляешь?
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Да я шучу *ladi* Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
: (
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Герой+Животное=Герой+Животное...Оно за ним всё время бегает по карте...А не только герой ходит...Но когда захожу в дом(телепортируюсь)животного со мной нет,а появляяеться только после того когда я выйду с того дома,а мне нужно чтобы оно бегало за мной везде...
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
