Войти на сайт

Авторизация, ждите ...
×

ТЕМА: Сообщество скриптеров (Академия)

Сообщество скриптеров (Академия) 14 года 4 мес. назад #34028

  • James
  • James аватар
  • Вне сайта
  • Архитектор Миров
  • Ленивый мечтатель
  • Сообщений: 1167
  • Спасибо получено: 159
  • Победитель конкурсаПисатель 2 место3 местоПисательОрганизатор конкурсовРазработчик2 место
Не, эту штуку я знаю - это не то. Я же объяснил: нужно, чтобы при добавлении предмета в углу мигала его картинка (как при переключении). Т.е. взял предмет, в углу картинка, нет картинки, есть картинка, старая картинка. И везде пауза в несколько кадров. Эта пауза-то мне и нужна.

P.S. У MOG'а вытащить что-либо не получится - слишком сложно для меня. И пауза у него непонятно где всобачена.
Администратор запретил публиковать записи гостям.

Сообщество скриптеров (Академия) 14 года 4 мес. назад #34030

  • dark32
  • dark32 аватар
  • Вне сайта
  • Просветлённый
  • Тёмный
  • Сообщений: 361
  • Спасибо получено: 21
  • Организатор конкурсов
сделай счётчик в update. Потом проверяй его. Если он делится на 5 (или остаток от деления меньше 2), к примеру, то показать картинку иначе скрыть. Если счётчик больше 20 то сломать картинку. (все числа примерны)
Тьма, тьма, и ничего кроме тьмы...

ПОМОГИТЕ!!! или как быстро получить бан!
Последнее редактирование: 14 года 4 мес. назад от dark32.
Администратор запретил публиковать записи гостям.

Сообщество скриптеров (Академия) 14 года 4 мес. назад #34043

  • James
  • James аватар
  • Вне сайта
  • Архитектор Миров
  • Ленивый мечтатель
  • Сообщений: 1167
  • Спасибо получено: 159
  • Победитель конкурсаПисатель 2 место3 местоПисательОрганизатор конкурсовРазработчик2 место
Я уже сделал немного по другому: я сделал отдельный класс.
ВНИМАНИЕ: Спойлер! [ Нажмите, чтобы развернуть ]

Мне в auto_update надо в цикл всобачить паузу в один кадр. Как это можно реализовать? Без использования Graphics.update?
Администратор запретил публиковать записи гостям.

Сообщество скриптеров (Академия) 14 года 4 мес. назад #34172

  • James
  • James аватар
  • Вне сайта
  • Архитектор Миров
  • Ленивый мечтатель
  • Сообщений: 1167
  • Спасибо получено: 159
  • Победитель конкурсаПисатель 2 место3 местоПисательОрганизатор конкурсовРазработчик2 место
Я немного изменил метод update для этого класса:

ВНИМАНИЕ: Спойлер! [ Нажмите, чтобы развернуть ]


А в update для Scene_Map добавил в середину строчку
$updcounter=1
.

То есть, каждый кадр игра устанавливает $updcounter равным 1. А счётчик проверяет, если оно равно единице, то сбрасывает его на ноль - и так до следующего кадра. По идее, должна получиться пауза ровно в один кадр

Но теперь при запуске таймера игра виснет. В чём причина и как быть?
Администратор запретил публиковать записи гостям.

Сообщество скриптеров (Академия) 14 года 4 мес. назад #34176

  • dark32
  • dark32 аватар
  • Вне сайта
  • Просветлённый
  • Тёмный
  • Сообщений: 361
  • Спасибо получено: 21
  • Организатор конкурсов
У тебя update от куда вызывается?
Тьма, тьма, и ничего кроме тьмы...

ПОМОГИТЕ!!! или как быстро получить бан!
Администратор запретил публиковать записи гостям.

Сообщество скриптеров (Академия) 14 года 4 мес. назад #34181

  • James
  • James аватар
  • Вне сайта
  • Архитектор Миров
  • Ленивый мечтатель
  • Сообщений: 1167
  • Спасибо получено: 159
  • Победитель конкурсаПисатель 2 место3 местоПисательОрганизатор конкурсовРазработчик2 место
Вот у меня кусок из Game_Party

ВНИМАНИЕ: Спойлер! [ Нажмите, чтобы развернуть ]



В update для Scene_Map строчка
ВНИМАНИЕ: Спойлер! [ Нажмите, чтобы развернуть ]


И сам класс Cnt:

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

Сообщество скриптеров (Академия) 14 года 4 мес. назад #34184

  • dark32
  • dark32 аватар
  • Вне сайта
  • Просветлённый
  • Тёмный
  • Сообщений: 361
  • Спасибо получено: 21
  • Организатор конкурсов
Причина в том что у тебя счётчик кадров не работает.
Как исправить... не знаю, написать код заново, поместить счётчик кадров в update сцены.
Тьма, тьма, и ничего кроме тьмы...

ПОМОГИТЕ!!! или как быстро получить бан!
Администратор запретил публиковать записи гостям.

Сообщество скриптеров (Академия) 14 года 4 мес. назад #34196

  • James
  • James аватар
  • Вне сайта
  • Архитектор Миров
  • Ленивый мечтатель
  • Сообщений: 1167
  • Спасибо получено: 159
  • Победитель конкурсаПисатель 2 место3 местоПисательОрганизатор конкурсовРазработчик2 место

Часть сообщения скрыта для гостей. Пожалуйста, авторизуйтесь или зарегистрируйтесь, чтобы увидеть его.

По идее, скрипт должен работать так: каждый кадр к $updcounter добавляется 1. Если $updcounter переваливает за $counter_halfmax(вначале у меня была другая идея её использовать, но потом передумал - а название менять - лень), то оно ($updcounter) изменяется на 1 (Это сделано, чтобы избежать ошибок или замусоривания памяти после n кадров игры). Теперь класс: Со стартом и остальным, надеюсь, всё понятно: стоит лишь заметить, что в старте @start_time присваивается $updcounter. Чуть более интересен update: он постоянно высчитывает @time. Если @time<0 (Т.е. @end_time<@start_time), то значит, прошёл (ещё один) круг - $updcounter перевалило за $counter_halfmax и к time прибавляется $counter_halfmax(И при помощи @lp это будет учитываться при дальнейшем пересчёте). В случае, если время достигло цели (Если счётчик обратный - от N до нуля), то счётчик останавливается. И auto всего лишь автоапдейт - используется бесконечный цикл с бриком при выключении счётчика.

ПО идее, этот скрипт неплох - но у него есть один недостаток: он, чёрт побери, не работает! :angry:

Где я допустил ошибки/сделал неправильный ход? В чём причина, и что мне делать?
Администратор запретил публиковать записи гостям.

Сообщество скриптеров (Академия) 14 года 4 мес. назад #34197

  • dark32
  • dark32 аватар
  • Вне сайта
  • Просветлённый
  • Тёмный
  • Сообщений: 361
  • Спасибо получено: 21
  • Организатор конкурсов
Как именно он не работает? Счётчик прибавляется?
Вот я ни как не пойму: что должен делать скрипт?
Тьма, тьма, и ничего кроме тьмы...

ПОМОГИТЕ!!! или как быстро получить бан!
Администратор запретил публиковать записи гостям.

Сообщество скриптеров (Академия) 14 года 4 мес. назад #34198

  • James
  • James аватар
  • Вне сайта
  • Архитектор Миров
  • Ленивый мечтатель
  • Сообщений: 1167
  • Спасибо получено: 159
  • Победитель конкурсаПисатель 2 место3 местоПисательОрганизатор конкурсовРазработчик2 место
Я вроде бы объяснил. Но сама суть: создать объект класса Cnt (созданного мною) и использовать его как таймер. Как пример, чтобы вызвать паузу. Или чтобы, запустив его на одной локации, прослеживать на других (Например, известно, что персонажа потеряют через пять минут, а начнут искать в соседней комнате (где он и сидит) через семь). Но пока что я использую его, чтобы сделать задержку при мерцании картинки - я чуть раньше это объяснял.
Администратор запретил публиковать записи гостям.

Сообщество скриптеров (Академия) 14 года 4 мес. назад #34200

  • dark32
  • dark32 аватар
  • Вне сайта
  • Просветлённый
  • Тёмный
  • Сообщений: 361
  • Спасибо получено: 21
  • Организатор конкурсов
задержку... у тебя не правильный подход к решению проблемы. Могу лишь посоветовать посмотреть как сделан стандартный таймер. Но правильного решения я не знаю, как то не приходилось с таким сталкиваться, или решал другим образом
Тьма, тьма, и ничего кроме тьмы...

ПОМОГИТЕ!!! или как быстро получить бан!
Администратор запретил публиковать записи гостям.

Сообщество скриптеров (Академия) 14 года 4 мес. назад #34206

  • James
  • James аватар
  • Вне сайта
  • Архитектор Миров
  • Ленивый мечтатель
  • Сообщений: 1167
  • Спасибо получено: 159
  • Победитель конкурсаПисатель 2 место3 местоПисательОрганизатор конкурсовРазработчик2 место
Я, кажется, понял, в чём причина всех этих зависаний: во время выполнения цикла останавливаются все остальные процессы в скрипте. Поэтому и $updcounter не может обновиться, и цикл, соответственно, не может брикнуться...

Придётся действительно всё писать по другому...
_____________________
Совсем не знаю, что делать. Мне надо сделать паузу в одном методе, не останавливая остальные процессы. Если использовать проверку какой-нибудь переменной (если пер-ая равна 20, то показать картинку, если 40, то спрятать) - то это не сработает тупо потому, что метод gain_item в Game_Party вызывается всего один раз - при получении предмета. Если же делать какую-нибудь паузу - любым способом, то игра как минимум полностью приостанавливается на время паузы, а в худшем случае зависает.
Последнее редактирование: 14 года 4 мес. назад от James.
Администратор запретил публиковать записи гостям.

Сообщество скриптеров (Академия) 14 года 4 мес. назад #34209

  • alexian
  • alexian аватар
Слабо помочь?
Пожалуйста, нужен скрипт файтинговой боевой системы.
Что то типо Талес Оф только на ВХ.

Кстати, допускаются и отхождения от телес оф, чтобы было, как в мортал комбате, только графику добавить =)
Администратор запретил публиковать записи гостям.

Сообщество скриптеров (Академия) 14 года 4 мес. назад #34210

  • James
  • James аватар
  • Вне сайта
  • Архитектор Миров
  • Ленивый мечтатель
  • Сообщений: 1167
  • Спасибо получено: 159
  • Победитель конкурсаПисатель 2 место3 местоПисательОрганизатор конкурсовРазработчик2 место
Я всё сделал, только немного по другому: избавился от всех этих cnt, а в Scene_map вставил
ВНИМАНИЕ: Спойлер! [ Нажмите, чтобы развернуть ]


А в Game_Party:
if $data_items[item_id].common_event_id==0      
      $gaining_item=true
      $itmid=item_id
    end

И всё. Пока сойдёт.
Администратор запретил публиковать записи гостям.

Сообщество скриптеров (Академия) 14 года 4 мес. назад #34570

  • James
  • James аватар
  • Вне сайта
  • Архитектор Миров
  • Ленивый мечтатель
  • Сообщений: 1167
  • Спасибо получено: 159
  • Победитель конкурсаПисатель 2 место3 местоПисательОрганизатор конкурсовРазработчик2 место
Здравствуйте все ещё раз. Мне нужно следующее:

Во-первых, меня интересует, как можно изменить графику определённого эвента (Скрипт запускается именно из самого эвента).
Во-вторых, можно ли разделить графику эвента на слои: (Т.е. на первом слое тело, на втором одежда, на третьем и четвёртом - лицо и волосы) - То есть, чтобы посредством во-первых и во-вторых можно было собрать человека
И в-третьих, как можно с помощью скриптов изменить содержимое эвента - например, задать мессаг, сменить триггер с авторана на Action Button или изменить характер движения, например, с рандомного на вверх-вниз.

Всё это нужно для следующего: Я хочу создать город. И там нужны люди. А для каждого человека нужно рисовать свой чар - я не потяну; вот мне и пришла идея - найти кусочки людей - волосы, глаза и одежда поместить их в папку и рандомно выбирать для создания человека, и так же рандомно выбирать им фразы из списка. И ещё неплохо было бы им рандомно назначать имена - и имена эти сохранять за этим же спрайтом (Насколько я понимаю, это несложно: просто создать класс с перечислением элементов - одежда, пол, волосы, цвет глаз, имя ит.п.)
Администратор запретил публиковать записи гостям.

Сообщество скриптеров (Академия) 14 года 4 мес. назад #34619

  • James
  • James аватар
  • Вне сайта
  • Архитектор Миров
  • Ленивый мечтатель
  • Сообщений: 1167
  • Спасибо получено: 159
  • Победитель конкурсаПисатель 2 место3 местоПисательОрганизатор конкурсовРазработчик2 место
Я нашёл похожий скрипт - Visual Equipment. Там, похоже, эти "слои" создаются с помощью get_pixel с экипировки и set_pixel на персонажа. Теперь осталось понять/придумать, как перефигачить эту идею с героя на эвент (меня интересует, где хранится информация об эвентах, в частности, о спрайтах) и понять, как там организовано движение. А как можно изменить команды эвента, я так и не понял.

Помогите, пожалуйста, понять.
Администратор запретил публиковать записи гостям.

Сообщество скриптеров (Академия) 14 года 3 мес. назад #34653

  • James
  • James аватар
  • Вне сайта
  • Архитектор Миров
  • Ленивый мечтатель
  • Сообщений: 1167
  • Спасибо получено: 159
  • Победитель конкурсаПисатель 2 место3 местоПисательОрганизатор конкурсовРазработчик2 место
Ну, может, хотя бы с этим поможете? Надо, чтобы во время вызова скрипта (это уже другой скрипт) игра останавливалась - не полностью, а только карта со всеми эвентами, включая героя, и погодными эффектами и параллельные события - всё остальное (в частности, Scene_Map Update) продолжало обновляться?
Администратор запретил публиковать записи гостям.

Сообщество скриптеров (Академия) 14 года 3 мес. назад #34654

  • Masamune
  • Masamune аватар
  • Вне сайта
  • Просветлённый
  • Nevermind
  • Сообщений: 292
  • Спасибо получено: 22
  • Разработчик
Мне жаль тебя разочаровывать, James... но дело в том, что тут людей, по-настоящему шарящих в скриптах не так много (насколько я знаю). Да и те, что разбираются более-менее, в сети редко появляются... Так что, жди, жди и еще раз жди... Хотя в такой ситуации проще уж самому разобраться, я так думаю.
Сам тоже в скриптах нифига не понимаю. Извини...
COMING SOON (maybe)
I'm lazy and I know it! ♫.
Администратор запретил публиковать записи гостям.

Сообщество скриптеров (Академия) 14 года 3 мес. назад #34668

  • dark32
  • dark32 аватар
  • Вне сайта
  • Просветлённый
  • Тёмный
  • Сообщений: 361
  • Спасибо получено: 21
  • Организатор конкурсов
Глупый метод - сделать свич на остановку, добавить во все эвенты и параллельные события. Если он выключен то всё работает, иначе - ничего (Погода не остановится)
Грубый метод - сделать скриншот, создать пустую сцену и показать скриншот (остановится всё), когда надо вернуть всё назад - сломать сцену, вернуться на карту

А поточнее в Scene_Map Update что такого, что его не нужно тормозить?
Тьма, тьма, и ничего кроме тьмы...

ПОМОГИТЕ!!! или как быстро получить бан!
Администратор запретил публиковать записи гостям.

Сообщество скриптеров (Академия) 14 года 3 мес. назад #34671

  • James
  • James аватар
  • Вне сайта
  • Архитектор Миров
  • Ленивый мечтатель
  • Сообщений: 1167
  • Спасибо получено: 159
  • Победитель конкурсаПисатель 2 место3 местоПисательОрганизатор конкурсовРазработчик2 место
У меня там пауза. Но, если сделать сцену, о чём я задумывался уже (причём, это, пожалуй, даже лучший вариант - это там связано с мини-игрой, для которой мне это и надо), то можно и как-нибудь сделать апдейт там. А как скриптовыми средствами сделать скриншот, не подскажешь?

P.S. Можно ли в переменной часть названия заменять значением другой переменной? Например, чтобы не писать btnBlue="Graphics/Pictures/Blue" btnRed="Graphics/Pictures/Red", а использовать, к примеру, for? Типа for btn in [Red,Blue,Green,Yellow,White]и т.д.?
Последнее редактирование: 14 года 3 мес. назад от James.
Администратор запретил публиковать записи гостям.
Модераторы: NeKotZima
Время создания страницы: 0.636 секунд