PrototypeX Posted December 9, 2016 Share Posted December 9, 2016 Как и с помощью чего убрать из ников игроков HEX цвета? Я так понимаю gstub, но как убрать из ника например 2 цвета, если таковые прописаны? Link to comment
K1parik Posted December 9, 2016 Share Posted December 9, 2016 как то так string.gsub(getPlayerName(source),"#%x%x%x%x%x%x","") Link to comment
PrototypeX Posted December 10, 2016 Author Share Posted December 10, 2016 21 hours ago, K1parik said: как то так string.gsub(getPlayerName(source),"#%x%x%x%x%x%x","") Спасибо! Link to comment
K1parik Posted December 10, 2016 Share Posted December 10, 2016 хотя нет. это не все. если написать ник например вот так #FF#000000FFFF то после такой проверки останется #FFFFFF так что такую проверку нужно повторить пару раз 2 Link to comment
kashtesov Posted December 14, 2016 Share Posted December 14, 2016 (edited) Первый пример такой #ff#ff00000000 например не исправит, и такой ##ff00ffff00ff. Предагаю убрать колоркод так как написал @k1parik первый раз и, обработать второй раз с заменой решёточки. А вообще, вдруг это особенность ника, лучше бы вообще не удалять. local replace_reshetochku = string.gsub(getPlayerName(source),"#","♯") Edited December 14, 2016 by SalwadoR Link to comment
PrototypeX Posted December 14, 2016 Author Share Posted December 14, 2016 Не пацаны, цветные ники я оставил, просто дело в том, что я написал кастомную систему их отображения И в фоне ника должен быть ИСКЛЮЧИТЕЛЬНО черный цвет, а поверх фона - цветной. Проблему решил с помощью совета с: string.gsub(getPlayerName(source),"#%x%x%x%x%x%x","") А за local replace_reshetochku = string.gsub(getPlayerName(source),"#","♯") Отдельное спасибо, пригодилось! Link to comment
Fabervox Posted December 18, 2016 Share Posted December 18, 2016 @PrototypeX, учитесь быть внимательным к тому что уже есть, то что вы назвали советом, есть в стандартном ресурсе admin. Неплохо задавать вопросы, но стандартные ресурсы многие и делались как раз как пример. Link to comment
PrototypeX Posted December 20, 2016 Author Share Posted December 20, 2016 On 18.12.2016 at 9:59 PM, fabervox said: @PrototypeX, учитесь быть внимательным к тому что уже есть, то что вы назвали советом, есть в стандартном ресурсе admin. Неплохо задавать вопросы, но стандартные ресурсы многие и делались как раз как пример. Я поставил себе цель написать свой игровой режим с нуля. Многое уже сделано, сервер кстати работает. Теперь я сталкиваюсь с мелочами, на которые долго не могу найти ответ из-за огромного количества информации - часто теряюсь. Количество строк кода, причём весьма оптимизированного и сбалансированного, без лишних действий (вообщем всё продумано), накопилось уже больше 85к. Надеюсь, Вы меня поймёте. Link to comment
Fabervox Posted December 21, 2016 Share Posted December 21, 2016 @PrototypeX, ну по оптимизации можно спорить, вплоть до того что все что на серверной стороне, оптимизировано только если написано на чем-то не высокоуровневом, т.е. не Lua. Что-то сложное с нуля писать.. Без непосредственного опыта, писать с нуля как-то неправильно, ну хотя-бы без подобного опыта. А если опыт есть, то наверняка есть и наработки, и уже не с нуля выходит. Если же конкретного опыта недостаточно, и не хватает наработок, то нужно делать фреймворк, и в работе расставлять приоритеты. Я думаю, что у вас все таки недостаточно опыта. Думаю потому-что опытный человек, скорее всего не стал бы искать решение по обработке строк, на форуме мта, в виду того что задача очень общая для всех. Мне лично регулярки не нравятся, и я бы искал вхождения прямым образом. Т.е. перебираем до #, далее ждем 8(6?) допустимых символов(0-F) или ещё одну #, нашли решетку ждем остаток от предыдущего или снова 8(6) допустимых символов. И тогда мы точно знаем, что не останется никакого колоркода, добавив ещё чуть-чуть, можем проверять умников, которые хотели двумя решетками оставить себе цвет. Можно собирать статистику цветовых кодов. В общем не отдавая готовой функции все на откуп, можем получить гибкость, если она нужна. Ну и эффективность если и упадет, то только за счет переноса на уровень выше. Сам я когда понадобилось, первым делом взял из админки кусочек. Сразу догадался, потому-что приходилось видеть когда в админке коды вкл/выкл, а в другом меню всегда вкл, и что-бы найти человека в другом меню, приходится нажимать на него в админке, убирать код и потом видно где он. Link to comment
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now