Перейти к содержимому
Zone of Games Forum

Рекомендованные сообщения

Kingsway

header.jpg

  • Метки: Ролевая игра, Приключение, Рогалик, Симулятор, Пиксельная графика
  • Платформы: PC
  • Разработчик: Andrew Morrish
  • Издатель: Adult Swim Games
  • Дата выхода: 18 июля 2017 года
  • Отзывы: 1410 отзывов, 92% положительных
Kingsway — операционная система №1 для повседневных задач, таких как уничтожение скелетов и организация добычи. Проблемы с сортировкой всех ваших зелий и мечей? Не волнуйтесь! Kingsway поможет вам справиться, а благодаря простому в использовании интерфейсу у вас останется время для мирной прогулки по подземному миру.
Скриншоты
Изменено пользователем 0wn3df1x

Поделиться сообщением


Ссылка на сообщение

С  spr_spriteFontTest работают шрифты. Поэтому оставлю этот шрифт для вывода имён на текстбоксах и рабочем столе.

Пока spr_spriteFontTest внёс только один символ для теста.

Вот только символы для ввода имени у меня не получилось вывести, какая-то закралась ошибка при редактировании.

Одно понятно, что нельзя один и тот же Pageitem использовать для одного шрифта, возможно в этом и кроется ошибка при выводе символа.

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

Маска в spr_spriteFont похоже не работает, поскольку символ выводится на экран, то добавлять маску в этот шрифт не буду.
 

 

Поделиться сообщением


Ссылка на сообщение

 

@IndeecFOX 

Если разберёшься с кодом и шрифтом spr_spriteFont2, почему он не загружает символы, хотя добавил кириллицу, тогда продолжу перевод

Всё идёт через obj_TextBox— Подгрузка символов 95, отсчёт с 32 символа — используется как char

В obj_TextBox — Вставлен шрифт spr_spriteFont2

Скрытый текст

if surface_exists(surface)
{
    updateSurface = 0
    surface_set_target(surface)
    draw_clear_alpha(c_black, 0)
    if hasBox
    {
        _boxHeight = lineSpacing + _y * lineSpacing
        _boxOffset = 0
        _boxX = surface_get_width(surface) * 0.5
        if centered
            _boxOffset = ceil(currentWidth * 0.5)
        draw_set_color(boxColor)
        draw_rectangle((_boxX - _boxOffset + 1), 0, (_boxX + _boxOffset + 1), (1 + _boxHeight), false)
        draw_rectangle((_boxX - _boxOffset), 1, (_boxX + _boxOffset + 2), (1 + _boxHeight - 1), false)
    }
    var ordOffset = -32
    _x = 0
    _y = 0
    var _pos = 0
    var length = string_length(text)
    var cutoff = 0
    lineWidth[0] = 0
    numberOfLines = 1
    var flexWidth = 0
    i = 1
    while (i <= length)
    {
        _dontDraw = 0
        if (_pos == 0 && string_char_at(text, i) == " ")
            i += 1
        char = string_char_at(text, i)
        image_index = ord(char) + ordOffset
        if (image_index > 95)
            image_index = 95
        _pos += 10
        if (multiLine == 0 && (_x + letterSpacing * _pos) >= maxWidth && i != length)
        {
            draw_sprite_ext(sprite_index, 14, (widthBuffer * 0.5 + _x + offset - bbox_lefts[14] + letterSpacing * _pos), _y, 1, 1, 0, textColor, 1)
            draw_sprite_ext(sprite_index, 14, (widthBuffer * 0.5 + _x + offset - bbox_lefts[14] + letterSpacing * _pos + 3), _y, 1, 1, 0, textColor, 1)
            draw_sprite_ext(sprite_index, 14, (widthBuffer * 0.5 + _x + offset - bbox_lefts[14] + letterSpacing * _pos + 6), _y, 1, 1, 0, textColor, 1)
            cutoff = length - _pos
            _x += 5
            lineWidth[_y] = _x + letterSpacing * _pos
            break
        }
        else
        {
            offset = 0
            if centered
            {
                if (!(is_undefined(ds_list_find_value(lineWidthComplete, _y))))
                    offset = (ceil((ds_list_find_value(lineWidthComplete, _y)) * -0.5)) + (ceil(maxWidth * 0.5))
            }
            nextwordsize = 0
            if (multiLine && char == " ")
            {
                j = i + 1
                while (j < length && string_char_at(text, j) != " ")
                {
                    nextwordsize += ((bbox_rights[min(95, ((ord(string_char_at(text, j))) + ordOffset))]) - (bbox_lefts[min(95, ((ord(string_char_at(text, j))) + ordOffset))]) + letterSpacing)
                    j += 1
                }
            }
            else if (multiLine && char == "#")
            {
                _dontDraw = 1
                _x = 0
                _pos = 0
                _y += 1
                lineWidth[_y] = 0
                numberOfLines += 1
                height = numberOfLines * lineSpacing
            }
            if (!_dontDraw)
                draw_sprite_ext(sprite_index, image_index, (widthBuffer * 0.5 + _x + offset - bbox_lefts[image_index] + letterSpacing * _pos), (_y * lineSpacing), 1, 1, 0, textColor, 1)
            _w = bbox_rights[image_index] - bbox_lefts[image_index]
            _x += _w
            if flexableWidth
            {
                if (multiLine && (_x + letterSpacing * _pos + nextwordsize) >= maxWidth && i != length)
                {
                    if ((_x + letterSpacing * _pos + nextwordsize - 15) < maxWidth)
                        flexWidth = _x + letterSpacing * _pos + nextwordsize + 2 - maxWidth
                }
            }
            if (ds_list_size(lineWidthComplete) < numberOfLines)
                ds_list_add(lineWidthComplete, 0)
            lineWidth[_y] = _x + letterSpacing * (_pos - cutoff)
            if (multiLine && (_x + letterSpacing * _pos + nextwordsize) >= (maxWidth + flexWidth) && i != length)
            {
                _x = 0
                _pos = 0
                _y += 1
                lineWidth[_y] = 0
                numberOfLines += 1
                height = numberOfLines * lineSpacing
            }
            i += 1
            continue
        }
    }
    currentWidth = 0
    for (i = 0; i < numberOfLines; i += 1)
    {
        ds_list_replace(lineWidthComplete, i, lineWidth[i])
        if (ds_list_find_value(lineWidthComplete, i) > currentWidth)
            currentWidth = ds_list_find_value(lineWidthComplete, i)
    }
    surface_reset_target()
    lineWidth = 0
}

 

 

Изменено пользователем Tericonio

Поделиться сообщением


Ссылка на сообщение

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

  • Похожие публикации

    • Автор: tilifunkin
      Warriors: Abyss

      Метки: Экшен, Мусоу, Экшен-рогалик, Слэшер, Упрощённый рогалик Платформы: PC PS5 Разработчик: KOEI TECMO GAMES Издатель: KOEI TECMO GAMES Серия: KOEI TECMO GAMES CO., LTD. Дата выхода: 13 февраля 2025 года Отзывы Steam: 1738 отзывов, 86% положительных
    • Автор: GennadijK
      The Dark Rites of Arkham

      Метки: Приключение, Point & Click, Исследования, 2D, Пиксельная графика Разработчик: Postmodern Adventures Издатель: enComplot Дата выхода: 03.02.2026 Отзывы Steam: 244 отзывов, 96% положительных

  • Сейчас популярно

  • Продвигаемые темы

  • Последние сообщения

    • @piton4 Плашка в вк “ранний доступ”, защищает от всего)    Вот 30 секунд того как выглядит игра, я записывал ролик геймплея. https://youtu.be/uX5-NmW0bHI   Я вообще ей заинтересовался по двум причинам, первое —  что она по жанру подходит под то что я делаю, типо небольшой открытый мир, диалоги с нпс, квесты и в 3д варианте. Ну такое типо “приключение”. И вторая причина, потому что хотел посмотреть что может соло разраб-новичок(что важно!), когда ему никто не помогает и он ограничен в финансовых вливаниях в игру.  Я просто если вижу соло проекты от новичков , то они либо пиксельная графика, либо новелла, либо 2д, либо шутер. И им почти всегда помогает писать код нейронка, точнее они почти полностью на нее перекладывают это. Если что-то большее, то там либо не соло, а пускай и маленькая но команда, либо крупные финансовые вливания. В общем я когда на эту игру смотрю, мне прямо грустно за себя( а вдруг после 10 лет разработки у меня такое же дерьмо выйдет на выходе(
    • Возможно, что этот разраб это какой-то его кореш, и пока отношения у них были в норме, Даскер агрессивно продвигал данную игру. Но на днях, скорее всего, их отношения испортились(может Даскер потребовал больший %, а тот пошёл в отказ) и тут же начался чёрный пиар. Что в очередной раз подтверждает и так известную вещь -  Даскеру лучше дорогу не переходить.
    • Спасибо, реально стала английская озвучка, только в начальной катсцене озвучка все равно на русском. Другие катсцены пока не проверял
    • единственный кто рекламит тут эту игру это даскер… стоит заметить всеми силами, включая даже черный пиар.
    • @Dusker так это чистый обман получается. По идее, ты можешь на него за это в суд подать и получить довольно существенную компенсацию за моральный ущерб. Плюс, возможные материальные потери за впустую потраченное время, которое ты мог бы потратить на разработку собственной игры. По факту, ты его на этой теме разорить сможешь.
    • Ну как бы логично, ибо игру то переделали. Не логично, что формат файлов старый 
    • Кстати говоря я сегодня ночью потратил несколько часов на прохождение игры “Сокровище океана”. У этого мужика на канале было 2 видеопрохождения игры там с промежутком в год. Оба заканчиваются на одном и том же месте. Мужик говорит, что “дальше слишком спойлерно”, и заканчивает видосик. Я решил сам поиграть вчера и посмотреть, мне казалось очень подозрительным что прохождение заканчивается на одном и том же месте. В общем игра, епанный треш, хуже чем что либо виденное мной вообще, баг на баге, ужасный как визуальный стиль, так и геймдизайн. Механики игровые, ну их нету, пара платформ которые едут вверх вниз и поговори с нпс. И всё это забаговано. Управление на геймпаде на половину, бегать и прыгать можно, а уже открыть меню или взаимодествовать нельзя. Система сохранений это пистец. Отдельно надо сохранять в меню местоположение персонажа и отдельно у книжек в игре квест Если выйдешь с локи не сохранив квест — все ломается. Кстати говоря загрузить можно только локу, то есть местоположение персонажа. Квест загрузить нельзя. Кароче я дошел несколько раз начиная заново, потому что ловил критические баги до того места где обрывался видос, и...я потратил несколько часов пытаясь найти возможное продвижение дальше, но его нету. Продолжения в игре просто нету. Поэтому автор не показывает его в видосике.  Если охарактеризовать всю игру, то ты за игру 5 раз говоришь с нпс которые просто стоят на месте, и еще 20 минут бегаешь между ними. Больше в игре ничего не происходит, вообще. Это если никакой баг это не сломает. За это он просит 820 рублей. И если ему верить на данный момент он на этом в ВК плей заработал больше 120 000 рублей, благодаря тому что он активно постит свою игру на разных ресурсах. Типо дтф, ич, игровом разделе ВК, и т.д. Игра делалась 10 лет.
    • Хм...нет, я оптимизировал зиплайны, и теперь ежедневные задания по доставке делаю за 5 минут + 5 минут чтобы сделать ежедневку на получение донат валюты.  Но с гачами сложно. Если в ммо “победить”, это победить игрока, и здесь можно либо нагриндить на эквип потратив время,либо как то развить скилл, чтобы чтобы победить того кто донатит, то в гаче победа это собрать всех персонажей. Ну я по крайней мере так вижу победу в гаче. И тут проблема, потому большая часть успеха зависит от удачи, а не от того как ты пользуешься бесплатными ограниченными ресурсами на крутки.
    • Понятно, что ты сможешь победить и пройти в любой ситуации, вопрос только в том, сколько сотен часов ты убьёшь на это. Подозреваю, что в этой гачи у тебя наиграно больше 2500ч. Лучше бы всё это время потратил на проработку физики тканей в своей будущей игре.
    • Не, я никогда не донатил в фри ту плей проекты. Даже в ММО, где есть пвп конкуренция. Мне было интересно играть в них с точки зрения фри игрока типо “Даже оказавшись в тяжелых, невыгодных условиях — я могу победить”.
  • Изменения статусов

    • fox222  »  Siberian GRemlin

      Здравствуйте, хочу купить персональный доступ к переводам, сколько стоит?
      · 0 ответов
    • vitkach  »  eaZy

      Извините за беспокойство. Хотел спросить, а русификатор ещё когда-нибудь будет обновляться? Дело в том, что после его выхода выходили ещё обновления, в частности обновление 1.1, вышедшее летом 2023 года, где была добавлена целая сюжетная глава в конце если проходишь на лучшую концовку золотого пути, это где-то ещё полчаса диалогов. Также в игре присутсвуют иногда кракозябры вместо русского языка, это в основном связано с тем, что кое-где текст был изменён, в основном в обучающих сообщениях.
      · 0 ответов
    • TerryBogard  »  Siberian GRemlin

      C&C: RA: Retaliation (ПК) не работает.
      · 0 ответов
    • Алекс Лев  »  SerGEAnt

      Привет, Сержант. Прошу разрулить ситуэйшн и урезонить некоторых людей, оскорбивших мою личность. Пожалуйста, для этого прочтите нашу переписку с Ленивым. Примите меры, будьте добры, мною составлена бумага, ждущая вашей электронной подписи, для подачи её в суд. Если не желаете судебных разборок (а я пойду дальше, если меры не будут приняты), оскорбившие меня люди должны понести необходимое по вашему же Договору наказание. Спасибо.
      · 1 ответ
    • Antony1203  »  SerGEAnt

      Добрый вечер! С Новым Годом. Нашел на просторах сети русскую озвучку Halo Infinite, которая отсутствует на моем любимом сайте  Протестил. Все работает. Подскажите, как можно передать? Спасибо.
      · 2 ответа
  • Лучшие авторы


Zone of Games © 2003–2026 | Реклама на сайте.

×