Войти на сайт

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

ТЕМА: Custom Message Script by Hodgeelmf (RMXP)

Custom Message Script by Hodgeelmf (RMXP) 10 года 3 мес. назад #66770

  • Kouta555
  • Kouta555 аватар
  • Вне сайта
  • Светлый дракон
  • Сообщений: 576
  • Спасибо получено: 835
  • 2 место Проект месяца 2 местоПроект месяца 3 местоПроект месяца 1 местоОраторРазработчикВетеранПобедитель конкурса
Столкнулся со значительной проблеммой. И видимо без вашей помощи не смогу её решить
Данный скрипт
Собственно вот он

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




Отказывается работать с русскими шрифтами.
Очень большой отступ появляется.Но причем работает это не со всеми шрифтами.
Все английские работают исправно. С русскими либо Отступ слишком большой либо текст не появляется вовсе.
Надеюсь на вашу помощь.
СКРИН [ Нажмите, чтобы развернуть ]

Еще скрин [ Нажмите, чтобы развернуть ]
Последнее редактирование: 10 года 3 мес. назад от Kouta555.
Администратор запретил публиковать записи гостям.

Custom Message Script by Hodgeelmf (RMXP) 10 года 3 мес. назад #66797

  • DeadElf79
  • DeadElf79 аватар
  • Вне сайта
  • Звездный Страж
  • Сообщений: 3147
  • Спасибо получено: 2650
  • 1 место в Готв3 местоПроект месяца 2 местоПроект месяца 1 местоВетеранУчительПрограммист RubyОрганизатор конкурсовПисатель 3 место
Издержки кодировки, не более того.

Переходи к строке 1308 и выделяй эти строки:
i = 0
        temp_text.each_line {|line|
          temp = bitmap.bitmap.text_size(line)
          @line_width[i] = temp.width
          if temp.width > @text_rect.width
            @text_rect.width = temp.width
          end
          @text_height = temp.height
          i += 1
        }

Заменяй их на эти:
i = 0
        temp_text.each_line {|line|
          @temp_line_width=line.size
          for index in 0...line.size
            if line[index]==208
              @temp_line_width-=1
            end
          end
          @line_width[i] = @temp_line_width
          if @temp_line_width > @text_rect.width
            @text_rect.width = @temp_line_width
          end
          @text_height = bitmap.bitmap.text_size('D').height
          i += 1
        }

Потом перемотай чуть далее вниз (в оригинале это была строка 1333) и найдешь строку:
for i in 0...temp_text.size

Удали ее и вставь на ее место:
for i in 0...@temp_line_width
Администратор запретил публиковать записи гостям.
За этот пост поблагодарили: Kouta555

Custom Message Script by Hodgeelmf (RMXP) 10 года 3 мес. назад #66798

  • Kouta555
  • Kouta555 аватар
  • Вне сайта
  • Светлый дракон
  • Сообщений: 576
  • Спасибо получено: 835
  • 2 место Проект месяца 2 местоПроект месяца 3 местоПроект месяца 1 местоОраторРазработчикВетеранПобедитель конкурса
Отчасти работает, но все же не понятно. :unsure:
часть сообщений нормализовалась,а часть нет.
Те что MESSAGE_BOX практически не изменились.
Спасибо все равно, уже легче! :woohoo:





А это вот происходит если менять шрифты по дефолту этот шрифт Anfisa Grotesk.


А вот Comic Sans MS подошел лучше.Но все же часть слов теряется.



Похоже что это зависит от длинны сообщения,если оно короче чем предыдущая строка или наоборот длинне,то та часть которая длиннее пропадает. (и то далеко не всегда)
Впринципе это терпимо, но придется перелопачивать весь текст
Последнее редактирование: 10 года 3 мес. назад от Kouta555.
Администратор запретил публиковать записи гостям.

Custom Message Script by Hodgeelmf (RMXP) 10 года 3 мес. назад #66808

  • DeadElf79
  • DeadElf79 аватар
  • Вне сайта
  • Звездный Страж
  • Сообщений: 3147
  • Спасибо получено: 2650
  • 1 место в Готв3 местоПроект месяца 2 местоПроект месяца 1 местоВетеранУчительПрограммист RubyОрганизатор конкурсовПисатель 3 место
Вчера сделал еще один фикс кода, но Светлая не дала отправить сообщения даже с седьмого раза.
Вот этот пост, я сохранил его себе:

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

Вот готовый скрипт со всеми изменениями:
Документ TXT (90,2 КБ)

Скриншот:


Предупреждаю: проверялось на мелких шрифтах, как будет на крупных - не знаю))
Пиши, если что не так ^_^
Кстати, кинь скрины как-нибудь иначе, а то у меня ни один из них не показывает.
Администратор запретил публиковать записи гостям.
За этот пост поблагодарили: Kouta555

Custom Message Script by Hodgeelmf (RMXP) 10 года 3 мес. назад #66852

  • Kouta555
  • Kouta555 аватар
  • Вне сайта
  • Светлый дракон
  • Сообщений: 576
  • Спасибо получено: 835
  • 2 место Проект месяца 2 местоПроект месяца 3 местоПроект месяца 1 местоОраторРазработчикВетеранПобедитель конкурса
В принципе,если поиграться с размерами и стилем шрифта,можно найти идеальные параметры.

Тот что ты прислал выдал мне ошибку на строке.Хотя почему там не понятно, вроде все в порядке все верно.
Где то видимо твои исправления конфликтуют


2526 if Faces[$1.to_i] != nil
При команде в чате \e[3]\z[45] (событие 3,изображение 45)

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


(Портеты персонажей должны лежать в папки faces в корневом каталоге,
+ Нумерация начинается с Face00,Face01,Face02 и т.д.)



Вот на всякий случай демка с этим скриптом. Оригинальная.
www.mediafire.com/?rh0dr9gh0ksi936
Последнее редактирование: 10 года 3 мес. назад от Kouta555.
Администратор запретил публиковать записи гостям.

Custom Message Script by Hodgeelmf (RMXP) 10 года 3 мес. назад #66972

  • Kouta555
  • Kouta555 аватар
  • Вне сайта
  • Светлый дракон
  • Сообщений: 576
  • Спасибо получено: 835
  • 2 место Проект месяца 2 местоПроект месяца 3 местоПроект месяца 1 местоОраторРазработчикВетеранПобедитель конкурса
Посучался с этой ошибкой в итоге заменил часть твоих изменений на строке 445 до 466 на
те что были раньше. Ошибка с портретами пропала,Текст так же выходит за рамку и пропадает.
что на Arial что на Comiс Sans.

если изменять строчку что ты указывал ранее,выходило вот что.




При этом какие-то сообщения так же изменялись, какие-то нет.
У некоторых появлялся отступ , у других пропадал.
при этом если допустим писать текст в 2 слова на 2 строчки.
типа.
Привет. Меня
зовут Кирилл.

отображение будет нормальное.

А если написать.
Привет.Меня зовут
Кирилл.


Рамка уменьшится и часть текста пропадет.

Так я ни хрена и не понял...
Последнее редактирование: 10 года 3 мес. назад от Kouta555.
Администратор запретил публиковать записи гостям.

Custom Message Script by Hodgeelmf (RMXP) 10 года 3 мес. назад #67026

  • DeadElf79
  • DeadElf79 аватар
  • Вне сайта
  • Звездный Страж
  • Сообщений: 3147
  • Спасибо получено: 2650
  • 1 место в Готв3 местоПроект месяца 2 местоПроект месяца 1 местоВетеранУчительПрограммист RubyОрганизатор конкурсовПисатель 3 место
Так, ладно, с фейсами - это я забыл убрать: у меня просто от них ошибки вылетали, я их закомментировал.
С текстами - я вообще перестал понимать, как скрипт пытается считать размеры. Он идеально подходит для английских текстов, но вот с русским у него были и будут проблемы, потому что изначально автор не подразумевал такое использование его скрипта и, соответственно, теперь с этим сплошные сложности.
Сделал все, что в моих силах.
Администратор запретил публиковать записи гостям.
Модераторы: NeKotZima
Время создания страницы: 0.233 секунд