• Приветствуем на сайте, Гость! Обязательно ознакомьтесь с условиями и правилами Публичной оферты Проекта NetZONA.org: https://netzona.org/help/public-offer/

  • Приветствуем на сайте, Гость! Обязательно ознакомьтесь с условиями и правилами использования Ваших файлов cookie на Проекте NetZONA.org: https://netzona.org/help/cookies/

  • Приветствуем на сайте, Гость! Обязательно ознакомьтесь с Политикой конфиденциальности Проекта NetZONA.org: https://netzona.org/pages/privacy-policy/

  • Ответы на основные вопросы: https://netzona.org/threads/populjarnye-voprosy-i-otvety-na-nix.6122/

  • Приветствуем на сайте, Гость! Приобрести (купить) Информационную услугу (в том числе группу "Проверенный") на Проекте NetZONA.org: https://netzona.org/account/upgrades

Фикс [NS 1.1] Возвращаем иконки в chatbox

  • Автор темы Автор темы DrodA
  • Дата начала Дата начала
Статус
В этой теме нельзя размещать новые ответы.

DrodA

Пользователь
Регистрация
16 Фев 2017
Сообщения
128
Реакции
0
Баллы
30
Адрес
Sweden
Описание проблемы
Вся проблема есть ничто иное, как «обработчик событий» в тексте и в текстовой основе, и сама проблема обитает не абы где, а прямиком в Derma-панели самого chatbox-а.
То есть, по неведанной и невиданной кому-либо ошибке, обработчик не сумел в стринговый (строчный) перевод кода в текст, тем самым оставляя иконку в чате в произвольной ее форме, а именно без текстуры.

Решение проблемы
Решение крайне простое но, хоть и является глупым и простейшим поступком, оно не лишено смысла.

Наиболее краткая инструкция:
  • Первоначально двигаем в nutscript/plugins/chatbox/derma/cl_chatbox.lua ;
  • В cl_chatbox.lua выискиваем строку 246. Данное является функцией PANEL:addText(...) ;
  • Чуть ниже посматриваем на счетчик for k, v in ipairs({...}) do. Он же и есть наш местный обработчик событий в функции ;
Нас же будет интересовать проверка if ... then ...
Код:
if (type(v) == "IMaterial") then
[INDENT]text = text.."<img="..tostring(v)..","..v:Width().."x"..v:Height()..">"[/INDENT]
...
Далее идет наиболее отвратительная замена:
tostring(v) заменяем на v:GetName().

Получается следующее:
Код:
if (type(v) == "IMaterial") then
[INDENT]text = text.."<img="..v:GetName()..".png,"..v:Width().."x"..v:Height()..">"[/INDENT]
...

Впрочем, это все, что нужно было сделать.
До замены:
pvnnb4stV5o.jpg

После замены:
7gUWlBDQEZw.jpg

Точно ли данное будет работать? Не ручаюсь.
«Фикс» выполнялся на стандартной сборке Chessnut-а.​
 
Статус
В этой теме нельзя размещать новые ответы.
Главная Регистрация
Назад
Сверху