Горячее
Лучшее
Свежее
Подписки
Сообщества
Блоги
Эксперты
Войти
Забыли пароль?
или продолжите с
Создать аккаунт
Я хочу получать рассылки с лучшими постами за неделю
или
Восстановление пароля
Восстановление пароля
Получить код в Telegram
Войти с Яндекс ID Войти через VK ID
Создавая аккаунт, я соглашаюсь с правилами Пикабу и даю согласие на обработку персональных данных.
ПромокодыРаботаКурсыРекламаИгрыПополнение Steam
Пикабу Игры +1000 бесплатных онлайн игр Испытайте захватывающие сражения Второй мировой войны: быстрые бои, огромный арсенал, настройка, танки и стратегия на разнообразных картах!

Warfare 1942 - онлайн шутер

Мультиплеер, Шутер, Мидкорные

Играть

Топ прошлой недели

  • AlexKud AlexKud 38 постов
  • Animalrescueed Animalrescueed 36 постов
  • Oskanov Oskanov 7 постов
Посмотреть весь топ

Лучшие посты недели

Рассылка Пикабу: отправляем самые рейтинговые материалы за 7 дней 🔥

Нажимая кнопку «Подписаться на рассылку», я соглашаюсь с Правилами Пикабу и даю согласие на обработку персональных данных.

Спасибо, что подписались!
Пожалуйста, проверьте почту 😊

Помощь Кодекс Пикабу Команда Пикабу Моб. приложение
Правила соцсети О рекомендациях О компании
Промокоды Биг Гик Промокоды Lamoda Промокоды МВидео Промокоды Яндекс Директ Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня
0 просмотренных постов скрыто
7
Olek.Olegovich
Olek.Olegovich
22 дня назад
Лига Разработчиков Видеоигр
Серия RPG Maker

RPG Maker - Обновление плагина Phileas' Game Hot Keys⁠⁠

Плагин назначает общие события и переключатели клавишам клавиатуры, геймпада и мыши.

У плагина 2 параметра: Common Events и Switches. Они отличаются только одним полем: в Common Events задаётся номер общего события, а в Switches - переключатель. Остальные поля общие:

  • Device type - устройство, нажатия на которое нужно отслеживать.

  • Key name - строковый идентификатор кнопки.

  • Key number - числовой идентификатор кнопки.

В общих событиях можно включить блокировку. Если она включена, то повторно стриггерить событие можно будет только после того, как оно завершит выполнение.

Плагин предоставляет одну команду:

  • Контроллер - позволяет включить и отключить горячие клавиши.

Сначала плагин ищет Key name в стандартных словарях движка. Если вы их не переопределяли, то они выглядят так:

keyBoard:
9: "tab", // tab
13: "ok", // enter
16: "shift", // shift
17: "control", // control
18: "control", // alt
27: "escape", // escape
32: "ok", // space
33: "pageup", // pageup
34: "pagedown", // pagedown
37: "left", // left arrow
38: "up", // up arrow
39: "right", // right arrow
40: "down", // down arrow
45: "escape", // insert
81: "pageup", // Q
87: "pagedown", // W
88: "escape", // X
90: "ok", // Z
96: "escape", // numpad 0
98: "down", // numpad 2
100: "left", // numpad 4
102: "right", // numpad 6
104: "up", // numpad 8
120: "debug" // F9
gamepad:
0: "ok", // A
1: "cancel", // B
2: "shift", // X
3: "menu", // Y
4: "pageup", // LB
5: "pagedown", // RB
12: "up", // D-pad up
13: "down", // D-pad down
14: "left", // D-pad left
15: "right" // D-pad right
mouse:
0: "left"
1: "middle"
2: "right"

Если плагин не нашёл Key name, то он берёт значение Key number.

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

Скачать

MV
MZ

Лицензия

Этот плагин распространяется по лицензии MIT.
Это означает, что вы можете свободно использовать плагин в некоммерческих и коммерческих играх и даже редактировать его.
Но обязательно укажите меня в титрах!

Каталог моих бесплатных плагинов для RPG Maker

Показать полностью
[моё] Плагин Разработка Программирование Javascript Gamedev RPG Maker Rpg maker mv Длиннопост Текст
0
6
Olek.Olegovich
Olek.Olegovich
22 дня назад
Лига Разработчиков Видеоигр
Серия RPG Maker

RPG Maker - обновление плагина Phileas' Skipping Messages⁠⁠

Плагин позволяет пропускать сообщения диалогов нажатием любой клавиши (задаётся в настройках плагина).
Можно выбрать скорость пропуска: медленную или быструю.
Можно включить режим, который разрешит пропускать только прочитанный текст.
Параметры возможно изменить в ходе игры с помощью команд плагина.

Использование плагина

Первый параметр - строковый код клавиши, при нажатии на которую нужно пропускать сообщения. По умолчанию - Control (Ctrl).
Второй параметр - скорость пропуска сообщений. По умолчанию - Slow (медленная).
После включения и настройки (опционально) плагина достаточно во время диалога зажать заданную клавишу.
В событии можно вызвать команды плагина, чтобы изменить клавишу и скорость пропуска сообщений.

Обновление

Обновил до версии 1.3.1. Добавил возможность запрещать и разрешать пропуск и стандартную промотку (fast forward).

Лицензия

Этот плагин распространяется по лицензии MIT.
Это означает, что вы можете свободно использовать плагин в некоммерческих и коммерческих играх и даже редактировать его.
Но обязательно укажите меня в титрах!

Скачать тут

Каталог моих бесплатных плагинов для RPG Maker

Показать полностью
[моё] Плагин Разработка Программирование Javascript Gamedev Rpg maker mv RPG Maker Текст
9
8
Olek.Olegovich
Olek.Olegovich
23 дня назад
Лига Разработчиков Видеоигр
Серия RPG Maker

Продолжение поста «RPG Maker - Обновление плагина Phileas's Pointer Picture Trigger»⁠⁠1

Обновил плагин до версии 1.8.1

Добавил команду для удаления всех действий для всех картинок сразу.

Подробности о плагине в оригинальном посте.

Каталог моих бесплатных плагинов для RPG Maker

[моё] Плагин Разработка Программирование Javascript Gamedev Rpg maker mv RPG Maker Ответ на пост Текст
0
9
Olek.Olegovich
Olek.Olegovich
29 дней назад
Лига Разработчиков Видеоигр
Серия RPG Maker

RPG Maker - Обновление плагина Phileas's Pointer Picture Trigger⁠⁠1

Плагин позволит вам легко сделать игровой интерфейс, паззлы, мини-игры и другое!

1/4

Команды плагина

Описание плагина

Срабатывание переключателя, переменной или общего события при действиях указателя с картинкой: наведение, уведение, клик, нажатие.

Плагин предоставляет команды:

  1. Назначить - назначает обработчик на один тип действия с картинкой.

  2. Удалить действие - удаляет обработчик одного действия с картинкой.

  3. Удалить все действия - удаляет все обработчики картинки.

  4. Все те же команды для глобальных триггеров (они назначаются сразу всем картинкам).

  5. Включение и выключение плагина (триггеры ставятся на паузу, но не удаляются).

    На каждый тип действия можно назначить свой обработчик, они будут работать независимо.
    Например, можно на одну картинку назначить два переключателя: на Enter и на Click.
    После удаления картинки все привязанные к её номеру триггеры тоже удаляются.

Обновление

Недавно обновил до версии 1.8.0. Теперь опционально можно задавать ID картинки через переменную.

Демо-проект

MV
MZ

Скачать

MV
MZ

Лицензия

Этот плагин распространяется по лицензии MIT.
Это означает, что вы можете свободно использовать плагин в некоммерческих и коммерческих играх и даже редактировать его.
Но обязательно укажите меня в титрах!

Совместимость

Несовместим с плагином ButtonPicture. Однако он вам точно не понадобится, так как мой плагин предоставляет весь его функционал и даже больше.
Если будут проблемы - пишите мне.

Каталог моих бесплатных плагинов для RPG Maker

Показать полностью 4
[моё] Плагин Разработка Программирование Javascript Gamedev Rpg maker mv RPG Maker Длиннопост
2
6
Вопрос из ленты «Эксперты»
Olek.Olegovich
Olek.Olegovich
1 месяц назад
Лига Разработчиков Видеоигр
Серия RPG Maker

RPG Maker - темы статей⁠⁠

Думаю, что вам рассказать о разработке игр на RPG Maker. В этом движке я наиболее компетентен. Что вам самим интересно? Я открыт к предложениям!

[моё] Rpg maker mv RPG Maker Gamedev Разработка Программирование Javascript Статья Обучение Образование Текст Вопрос Спроси Пикабу Короткопост
20
6
Olek.Olegovich
Olek.Olegovich
1 месяц назад
Лига Разработчиков Видеоигр
Серия RPG Maker

RPG Maker - критика статей⁠⁠

Мои посты по разработке на RPG Maker набирают примерно столько же минусов, сколько и плюсов. Приглашаю всех поделиться критикой моих публикаций. Хочу повысить качество контента!

[моё] Посты на Пикабу Минусы RPG Maker Rpg maker mv Статья Плагин Gamedev Урок Обучение Гайд Вопрос Спроси Пикабу Короткопост Текст
4
5
Olek.Olegovich
Olek.Olegovich
1 месяц назад
Лига Разработчиков Видеоигр
Серия RPG Maker

RPG Maker MV/MZ - Как можно в переменную взять игровое время (время, проведённое в игре) с последнего сохранения?⁠⁠

Это можно сделать с помощью команды Выполнить скрипт в событии. Ниже скрипт для MZ с комментариями.

// Для красоты вынес перевод строки времени в кол-во секунд в отдельную функцию.

function convertStringToSeconds(time) {

const array = time.split(":");

return (parseInt(array[0], 10) * 60 * 60) + (parseInt(array[1], 10) * 60) + parseInt(array[2], 10)

}

// Устанавливаем номер переменной, в которую хотим записать значение.

const varId = 1;

// Фиксируем текущее игровое время.

const currentSeconds = $gameSystem.playtime();

// Проверяем, есть ли сохранения.

if (!DataManager.isAnySavefileExists()) {

$gameVariables.setValue(varId, currentSeconds);

} else {

// Определяем индекс последнего сохранения.

const lastSaveFileId = DataManager.latestSavefileId();

// Получаем данные об этом сохранении (нам даже не нужно грузить всё сохранение).

const saveInfo = DataManager._globalInfo[lastSaveFileId];

// Вычисляем, сколько секунд игры было в последнем сохранении.

const lastSeconds = convertStringToSeconds(saveInfo.playtime);

// Вычисляем разницу.

const deltaSeconds = currentSeconds - lastSeconds;

// Записываем в переменную.

$gameVariables.setValue(varId, deltaSeconds);

}

Учтите, что так мы можем получить отрицательное число. К примеру, если поиграем час, запишем сохранение, а потом начнём новую игру, текущее игровое время будет меньше времени в последнем сохранении.

Версия для MV:

function convertStringToSeconds(time) { const array = time.split(":"); return (parseInt(array[0], 10) * 60 * 60) + (parseInt(array[1], 10) * 60) + parseInt(array[2], 10) }

const varId = 1; const currentSeconds = $gameSystem.playtime();

if (!DataManager.isAnySavefileExists()) { $gameVariables.setValue(varId, currentSeconds); }

else {

const lastSaveFileId = DataManager.latestSavefileId();

const saveInfo = DataManager.loadGlobalInfo()[lastSaveFileId];

const lastSeconds = convertStringToSeconds(saveInfo.playtime);

const deltaSeconds = currentSeconds - lastSeconds;

$gameVariables.setValue(varId, deltaSeconds);

}

Если нужны какие-то данные, которых нет в информации о сохранении, придётся грузить файл сохранения. Это можно сделать так:

// Устанавливаем номер переменной, в которую хотим записать значение.

const varId = 1;

// Проверяем, есть ли сохранения.

if (!DataManager.isAnySavefileExists()) {

$gameVariables.setValue(varId, 0);

} else {

// Определяем индекс последнего сохранения.

const lastSaveFileId = DataManager.latestSavefileId();

// Получаем имя файла этого сохранения.

const saveName = DataManager.makeSavename(lastSaveFileId);

// Загружаем данные из файла.

StorageManager.loadObject(saveName).then(contents => {

// Данные в contents. Обрабатываем их, как нужно.

return 0;

});

}

На смежные и схожие вопросы могу ответить в этом треде.

Показать полностью
[моё] Разработка Gamedev Программирование Javascript RPG Maker Rpg maker mv Плагин Текст Урок Статья Обучение Гайд
0
3
Olek.Olegovich
Olek.Olegovich
1 месяц назад
Лига Разработчиков Видеоигр
Серия RPG Maker

RPG Maker MV/MZ - Добавление языковых локализаций в завершённый проект⁠⁠

Вступление

Я разработал плагин для языковых локализаций, здесь описание поподробнее. Постепенно буду добавлять в него функционал. Если вам нужна какая-то конкретная функция, напишите идею в теме плагина. Также обращу внимание, что в плагине есть функционал по экспорту языковых данных в Excel-таблицу и импорту из неё.

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

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

Как-то раз я выполнил такой заказ для игры на RPG Maker MV. Вероятно, решение прокатит и на MZ. Если не сработает, напишите в этой теме.

Задача

  1. Экспортировать текст из игры в JSON.

  2. Сконвертировать JSON в XLSX и отправить получившуюся таблицу переводчику.

  3. Дождаться готового перевода в XLSX формате.

  4. Конвертировать новую таблицу в JSON и внедрить новый язык в проект.

Формат JSON поддерживает произвольную структуру данных. Объекты, массивы, любой уровень вложенности. При этом переводчик с JSON работать не хотел, нужно было ему обеспечить таблицу. Поэтому я решил для хранения данных локализации использовать один JSON-файл с плоским объектом. То есть был только один объект в корне файла, и каждое его свойство было текстовым. Никаких вложенных объектов.

Инструкция

  • Сначала нужно экспортировать текст из проекта. Я написал скрипт, который находит все диалоги (команда "Показать сообщение"), извлекает из них текст и сразу генерирует JSON-файл с нужной структурой. Вот он.

  • Этот скрипт написан на JS. Чтобы его исполнить, можно установить Node.js и запустить скрипт командой node export-localization.js

  • Можно также переписать скрипт на python, bash или другой язык и исполнить удобными вам инструментами. В принципе, скрипт несложный (даже примитивный).

  • В результате мы получим файл с таким содержимым:

{

"<тег>": "<реплика>"

}

  • Теперь забиваем в поисковик: "json to xlsx". Берём любой понравившийся сервис. Например, этот.

  • Скорее всего, мы получим таблицу с 2 строками и большим количеством столбцов. Переводчику будет неудобно работать с такой. Он ожидает 2 столбца: в одном теги, в другой - текст, который нужно перевести (переводчик либо будет редактировать этот столбец, либо добавит новый).

  • Если у вас получилось так, то просто транспонируйте получившуюся таблицу. Это можно сделать и в Esxcel, и в LibreOffice, и в Google Sheets. Не знаете, как? Поищите в интернете, это несложно (конкретная кнопка зависит от инструмента, поэтому тут не пишу, но она точно есть).

  • Отправляем таблицу переводчику, ждём перевода.

  • Теперь новый XLSX нужно конвертировать в JSON. Сначала транспонируем таблицу, чтобы у нас было 2 строки и множество столбцов.

  • Вбиваем в поисковик: "xlsx to json". Опять берём любой подходящий сервис, вроде этого. Конвертируем, получаем новый json-файл.

  • Переименовываем новый JSON-файл, как нам нужно ("en.json", "ru.json" и т.д.).

  • Вставляем в проект, добавляем язык в параметры плагина локализации (здесь конкретные действия зависят от используемого плагина).

Заключение

Возможно, это не лучший способ: придумывал его в спешке на коленке. Если у вас есть альтернативные идеи, прошу написать в этом треде.

Самое ценное в этой статье - скрипт на экспорт текста, обратите на него внимание. У DK есть инструмент, который извлекает весь текст из игры, но он не генерирует JSON-файл с нужной структурой и уникальными тегами (очень важно, чтобы теги были уникальными).

Надеюсь, мне удалось достаточно раскрыть тему, остались ли вопросы?

Показать полностью
[моё] Разработка Gamedev Программирование Javascript RPG Maker Плагин Текст Урок Статья Обучение Гайд Rpg maker mv
0
Посты не найдены
О нас
О Пикабу Контакты Реклама Сообщить об ошибке Сообщить о нарушении законодательства Отзывы и предложения Новости Пикабу Мобильное приложение RSS
Информация
Помощь Кодекс Пикабу Команда Пикабу Конфиденциальность Правила соцсети О рекомендациях О компании
Наши проекты
Блоги Работа Промокоды Игры Курсы
Партнёры
Промокоды Биг Гик Промокоды Lamoda Промокоды Мвидео Промокоды Яндекс Директ Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня
На информационном ресурсе Pikabu.ru применяются рекомендательные технологии