Jump to content

Как и с помощью чего убрать из ников игроков HEX цвета?


Recommended Posts

хотя нет. это не все. если написать ник например вот так #FF#000000FFFF то после такой проверки останется #FFFFFF так что такую проверку нужно повторить пару раз

  • Like 2
Link to comment

Первый пример такой #ff#ff00000000 например не исправит, и такой ##ff00ffff00ff.

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

А вообще, вдруг это особенность ника, лучше бы вообще не удалять.

 

local replace_reshetochku = string.gsub(getPlayerName(source),"#","")

Edited by SalwadoR
Link to comment

Не пацаны, цветные ники я оставил, просто дело в том, что я написал кастомную систему их отображения

И в фоне ника должен быть ИСКЛЮЧИТЕЛЬНО черный цвет, а поверх фона - цветной.

Проблему решил с помощью совета с:

string.gsub(getPlayerName(source),"#%x%x%x%x%x%x","")

А за

local replace_reshetochku = string.gsub(getPlayerName(source),"#","♯")

Отдельное спасибо, пригодилось!

Link to comment

@PrototypeX, учитесь быть внимательным к тому что уже есть, то что вы назвали советом, есть в стандартном ресурсе admin.

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

Link to comment
On 18.12.2016 at 9:59 PM, fabervox said:

@PrototypeX, учитесь быть внимательным к тому что уже есть, то что вы назвали советом, есть в стандартном ресурсе admin.

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

Я поставил себе цель написать свой игровой режим с нуля. Многое уже сделано, сервер кстати работает.

Теперь я сталкиваюсь с мелочами, на которые долго не могу найти ответ из-за огромного количества информации - часто теряюсь.

Количество строк кода, причём весьма оптимизированного и сбалансированного, без лишних действий (вообщем всё продумано), накопилось уже больше 85к.

Надеюсь, Вы меня поймёте.

Link to comment

@PrototypeX, ну по оптимизации можно спорить, вплоть до того что все что на серверной стороне, оптимизировано только если написано на чем-то не высокоуровневом, т.е. не Lua.

Что-то сложное с нуля писать.. Без непосредственного опыта, писать с нуля как-то неправильно, ну хотя-бы без подобного опыта. А если опыт есть, то наверняка есть и наработки, и уже не с нуля выходит. Если же конкретного опыта недостаточно, и не хватает наработок, то нужно делать фреймворк, и в работе расставлять приоритеты.

Я думаю, что у вас все таки недостаточно опыта. Думаю потому-что опытный человек, скорее всего не стал бы искать решение по обработке строк, на форуме мта, в виду того что задача очень общая для всех.

Мне лично регулярки не нравятся, и я бы искал вхождения прямым образом. Т.е. перебираем до #, далее ждем 8(6?) допустимых символов(0-F) или ещё одну #, нашли решетку ждем остаток от предыдущего или снова 8(6) допустимых символов. И тогда мы точно знаем, что не останется никакого колоркода, добавив ещё чуть-чуть, можем проверять умников, которые хотели двумя решетками оставить себе цвет. Можно собирать статистику цветовых кодов. В общем не отдавая готовой функции все на откуп, можем получить гибкость, если она нужна. Ну и эффективность если и упадет, то только за счет переноса на уровень выше.

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

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...