Как сделать сундук без переключателя (2к-2к3)

3 место Учитель
Больше
15 года 2 мес. назад - 13 года 9 мес. назад #40016 от Герберт Уэст
Небольшой туториал, который посвящается таким же скупердяям, как и я.
В общем, если вам жалко тратить переключатель на создание сундука, потому что каждому сундуку нужен свой отдельный переключатель, в результате чего на одни сундуки может уйти несколько сотен переключателей.
Нужно поступать так.
Первым делом создаём нового героя, которому не нужно даже подбирать никакой графики. Просто как-нибудь его называем. Скажем, герой по имени Фунтик.
Далее переходим на вкладку скиллов.
Что мы тут видим? А видим мы то, что скиллов для одной игры можно сделать аж 10 000!!!!
Спрашивается, на кой ляд в одном проекте столько скиллов? Даже если каждому герою сделать по 20 скиллов, да и монстрам по 10 абсолютно разных скиллов, то максимум мы затратим около тысячи ячеек со скиллами. А остальные 9 000 будут пустовать.
Ну, раз они никому не нужны, мы ими и воспользуемся.
Просто берём и создаём скиллы, которые можно так и называть «сундук 1», «сундук 2», «сундук 3» и т.д. При этом, кроме самого названия, для скилла вообще ничего не нужно.
Подготовки закончены, приступаем к созданию самого сундука.
Создаём ивент, выбираем для него графику сундука, а в событиях ставим «ветвление условий»:
- если герой Фунтик имеет скилл «сундук 1», то выводим сообщение «Этот сундук пуст»;
Else Handler, соответственно будет такой:
- выводим сообщение «Вы нашли, скажем, лекарство», после прибавляем эту самую вещь, и в заключении прибавляем герою Фунтику скилл, который называется «сундук 1».
Всё!
Для следующего сундука нужно будет просто поменять скилл на «сундук 2», «сундук 3» и т.д.
ВНИМАНИЕ: Спойлер!

Псевдофилософ
Последнее редактирование: 13 года 9 мес. назад пользователем AnnTenna. Причина: значок заменила

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
15 года 2 мес. назад - 15 года 2 мес. назад #40020 от Creator
Точно!) Забыл что в 2000-2003 такая штука, как локальный переключатель отсутствует.
Соответственно в Rpg Maker XP\VX:
1. Создаем ивент-сундук
Добавляем в события:
a) Вещь которую игрок получит;
б) Присваиваем значение "Локальный переключатель = (A, B, C, D)"
2. Создаем вторую страницу ивента-сундука
а) на которой ставим событие-message "Пустота"
б) в "условиях запуска" отмечаем "Локальный переключатель = А вкл."
Таким образом можно копипастить сундуки и делать возможность в них рытся по три раза без затрат глобальных переключателей, что нессомненно также один из плюсов ХР :)
Последнее редактирование: 15 года 2 мес. назад пользователем Creator.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

2 место Готв Писатель 2 место 3 место Победитель конкурса Организатор конкурсов
Больше
15 года 2 мес. назад #40021 от Agckuu_Coceg
А в VX-еров это вообще не нужно знать, тащемто. Там для этого есть Quick Creation Event - Chest.

Огромный любитель среброволосых или пепельноволосых 2D-девушек с хорошим характером или со скрытыми привлекательными чертами.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

3 место Учитель
Больше
15 года 2 мес. назад #40025 от Герберт Уэст
Согласен. Этот туториал только для таких динозавров как я :laugh:

Псевдофилософ

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
15 года 2 мес. назад #40027 от Зеро

Agckuu_Coceg пишет: А в VX-еров это вообще не нужно знать, тащемто. Там для этого есть Quick Creation Event - Chest.

а я почему то им не пользуюсь сундуки в ручную вх всегда делаю но спасибо что напомнил надо будет поробывать эту функцию

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Разработчик Коммерсант Проект месяца 1 место Проект месяца 2 место 3 место в Кодировке Ветеран Учитель Организатор конкурсов Даритель Стимкея Проект месяца 3 место 2 место Готв Победитель Сбитой кодировки 2 место Победитель конкурса 3 место
Больше
15 года 2 мес. назад #40033 от AnnTenna
Этот туториал перевернул моё представление о героях:laugh:
Ну вообще, признаюсь, довольно странный способ, не уверена, что он наиболее удобный:laugh:

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

3 место Учитель
Больше
15 года 2 мес. назад #40047 от Герберт Уэст
Самое главное, что он работает и без багов.
На создание такого сундука затратчивается времени ровно столько же, сколько на создание сундука обычным способом.
Кстати, этот хитрый приём подходит не только для создания сундуков. Таким образом можно заменить переключатель во многих ситуациях.
Фантазируйте.

Псевдофилософ

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
15 года 2 мес. назад #40049 от Pesets
Индусский код, как он есть)
При большом количестве сундуков предвижу проблемы с потребляемой оперативкой и лаги на слабых системах. Товарищи программисты (если таковые здесь есть), никогда не пишите проги подобным образом - за такое руки отрывают)

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

2 место Готв Писатель 2 место 3 место Победитель конкурса Организатор конкурсов
Больше
15 года 2 мес. назад #40051 от Agckuu_Coceg
Лаги при запросах скиллов без парралельных ивентов? HOLY SHI...

Огромный любитель среброволосых или пепельноволосых 2D-девушек с хорошим характером или со скрытыми привлекательными чертами.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
15 года 2 мес. назад #40053 от Pesets
Ну, исходников Мейкера я не видел, посему сказать точно не могу - может быть и не будет лагов, зависит от того, как писали. Но все равно, с точки зрения программирования подход индусский. Даже очень индусский.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

3 место Учитель
Больше
15 года 2 мес. назад #40055 от Герберт Уэст

Pesets пишет: При большом количестве сундуков предвижу проблемы с потребляемой оперативкой и лаги на слабых системах.

Честно, не проверял.
Станет ли лагать игра, если у персонажа будет 5000 скилов? Вопрос на миллион долларов.
Теоретически, никакой нагрузки на систему этот процесс не даёт (тем более, что этого героя даже нет в команде, то есть в игровом процессе он не участвует), поэтому исход в виде катастрофы сомнителен.
Хотя согласен, сам метод из серии "как забить гвоздь с помощью микроскопа" :laugh:

Псевдофилософ

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Переводчик Учитель
Больше
15 года 2 мес. назад #40057 от mephis
Песец, я всё же не соглашусь, что индусский подход.

По-индусски, это если проблема решается вычурным способом, при том, что возможности языка позволяют решить её проще и понятнее.

И другое дело метод предложенный Гербертом по сундукам. Здесь вычурность оправдывается ограниченностью самого 2003 мэйкера (а именно малым количеством общих свитчей и отсутствием локальных свитчей). А по затратам — что один свитч, что одно умение. В условии всё равно идёт проверка булева значения: свитч включен/выключен, умение изучено/неизучено. Почти никакой разницы.


А вот из другой темы, где проверялось количество вещей в инвентаре. Там именно чистейший индусский код. С отниманием и возвращением вещей. Так как ты, если я правильно понял, программист, то поймёшь мою аналогию:
Code:
// Требуется проверить, перменная "a" больше или равна пяти // Предположим, что ранее a где-то проинициализировали и она unsigned int i = 0; if (a == 0) { a--; if (a == 0) { a--; if (a == 0) { a--; if (a == 0) { a--; if (a == 0) { printf("Переменная a больше или равна 5"); a += 4; } else { printf("Переменная a меньше пяти"); a += 4; } } else { printf("Переменная a меньше пяти"); a += 3; } } else { printf("Переменная a меньше пяти"); a += 2; } } else { printf("Переменная a меньше пяти"); a += 1; } }

Когда можно просто: "(a >= 5)".

→ → ↓ ↑ Y

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

2 место Готв Писатель 2 место 3 место Победитель конкурса Организатор конкурсов
Больше
15 года 2 мес. назад #40058 от Agckuu_Coceg

Станет ли лагать игра, если у персонажа будет 5000 скилов? Вопрос на миллион долларов.


Давайте миллион долларов, так как я запросто могу ответить на этот вопрос: НЕТ.

Огромный любитель среброволосых или пепельноволосых 2D-девушек с хорошим характером или со скрытыми привлекательными чертами.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Проект месяца 1 место Проект года 2 место Проект года 3 место Ветеран Проект года 1 место Проект месяца 3 место Проект месяца 2 место Разработчик
Больше
15 года 2 мес. назад #40061 от Nalia
Хм, никогда не работала с 2к (и не собираюсь, хотя и не зарекаюсь), но возник вот такой вопрос: разве это не приведёт к страшному перегрузу меню скилов-- то есть персонаж нужный супер-удар не сможет найти в огромной груде "сундуков"?

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

2 место Готв Писатель 2 место 3 место Победитель конкурса Организатор конкурсов
Больше
15 года 2 мес. назад #40063 от Agckuu_Coceg

Хм, никогда не работала с 2к (и не собираюсь, хотя и не зарекаюсь), но возник вот такой вопрос: разве это не приведёт к страшному перегрузу меню скилов-- то есть персонаж нужный супер-удар не сможет найти в огромной груде "сундуков"?


Временное вырубание? ^___^

Огромный любитель среброволосых или пепельноволосых 2D-девушек с хорошим характером или со скрытыми привлекательными чертами.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Переводчик Учитель
Больше
15 года 2 мес. назад #40064 от mephis
Для этого используется персонаж, который будет только в базе данных. В игре его быть не должно и, понятно, на игровой процесс он влияния никакого не окажет.

→ → ↓ ↑ Y

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
15 года 2 мес. назад #40066 от Pesets
mephis, я росту в суровых условиях нашего универа, где лабу по программированию могут не зачесть, если, например, при создании объекта не было проверено, а хватает ли оперативной памяти для него. Или если переменная названа одной буквой (исключение - счетчики циклов).
Так что, с подобных выкрутасов мне хочется срать кирпичами. Хотя, что там говорить, мне хотелось срать кирпичами, когда я читал код RGSS. Их бы программистов, да в наш универ...

И вообще, что-то я разболтался... Ладно, все эмоции выплеснул, пойду дальше игростроить)

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
13 года 6 мес. назад #56077 от KiRi0k0
Спасибо за совет!:)
Попробую сделать.:S
А то я НУБище:lol:
ВНИМАНИЕ: Спойлер!
,
ВНИМАНИЕ: Спойлер!

ВНИМАНИЕ: Спойлер!

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Время создания страницы: 0.130 секунд
Работает на Kunena форум