Nerses Posted May 27, 2014 Share Posted May 27, 2014 Ребят нужна ваша помощь. Как сделать так чтоб человек с html ником не был цветовым? Что где надо редактировать? Link to comment
nikitafloy Posted May 28, 2014 Share Posted May 28, 2014 В ресурсе freeroam ищешь файлик ''fr_server''. Ищешь строчки: addEventHandler('onPlayerChat', g_Root, function(msg, type) if type == 0 then cancelEvent() local r, g, b = getPlayerNametagColor(source) outputChatBox(getClientName(source) .. ': #FFFFFF' .. msg:gsub('#%x%x%x%x%x%x', ''), g_Root, r, g, b, true) end end ) Заменяешь на: addEventHandler('onPlayerChat', g_Root, function(msg, type) if type == 0 then cancelEvent() local r, g, b = getPlayerNametagColor(source) outputChatBox(getClientName(source) .. ': #FFFFFF' .. msg:gsub('#%x%x%x%x%x%x', ''), g_Root, r, g, b) end end ) Link to comment
Nerses Posted May 28, 2014 Author Share Posted May 28, 2014 В ресурсе freeroam ищешь файлик ''fr_server''.Ищешь строчки: addEventHandler('onPlayerChat', g_Root, function(msg, type) if type == 0 then cancelEvent() local r, g, b = getPlayerNametagColor(source) outputChatBox(getClientName(source) .. ': #FFFFFF' .. msg:gsub('#%x%x%x%x%x%x', ''), g_Root, r, g, b, true) end end ) Заменяешь на: addEventHandler('onPlayerChat', g_Root, function(msg, type) if type == 0 then cancelEvent() local r, g, b = getPlayerNametagColor(source) outputChatBox(getClientName(source) .. ': #FFFFFF' .. msg:gsub('#%x%x%x%x%x%x', ''), g_Root, r, g, b) end end ) а если у меня закоментированы тут строчки некотторые для тэга. что делать тогда? Link to comment
Nerses Posted May 29, 2014 Author Share Posted May 29, 2014 Закоментированы? Покажи код. addEventHandler('onPlayerChat', g_Root, function(msg, type) if type == 0 then cancelEvent() if chatTime[source] and chatTime[source] + tonumber(get("*chat/mainChatDelay")) > getTickCount() then outputChatBox("Stop spamming main chat!", source, 255, 0, 0) return else chatTime[source] = getTickCount() end if get("*chat/blockRepeatMessages") == "true" and lastChatMessage[source] and lastChatMessage[source] == msg then outputChatBox("Stop repeating yourself!", source, 255, 0, 0) return else lastChatMessage[source] = msg end local r, g, b = getPlayerNametagColor(source) --outputChatBox(getPlayerName(source) .. ': #FFFFFF' .. msg:gsub('#%x%x%x%x%x%x', ''), g_Root, r, g, b, true) --outputServerLog( "CHAT: " .. getPlayerName(source) .. ": " .. msg ) end end ) Link to comment
nikitafloy Posted May 29, 2014 Share Posted May 29, 2014 Закоментированы? Покажи код. addEventHandler('onPlayerChat', g_Root, function(msg, type) if type == 0 then cancelEvent() if chatTime[source] and chatTime[source] + tonumber(get("*chat/mainChatDelay")) > getTickCount() then outputChatBox("Stop spamming main chat!", source, 255, 0, 0) return else chatTime[source] = getTickCount() end if get("*chat/blockRepeatMessages") == "true" and lastChatMessage[source] and lastChatMessage[source] == msg then outputChatBox("Stop repeating yourself!", source, 255, 0, 0) return else lastChatMessage[source] = msg end local r, g, b = getPlayerNametagColor(source) --outputChatBox(getPlayerName(source) .. ': #FFFFFF' .. msg:gsub('#%x%x%x%x%x%x', ''), g_Root, r, g, b, true) --outputServerLog( "CHAT: " .. getPlayerName(source) .. ": " .. msg ) end end ) Раскоментируй и замени. Link to comment
Nerses Posted May 29, 2014 Author Share Posted May 29, 2014 Закоментированы? Покажи код. addEventHandler('onPlayerChat', g_Root, function(msg, type) if type == 0 then cancelEvent() if chatTime[source] and chatTime[source] + tonumber(get("*chat/mainChatDelay")) > getTickCount() then outputChatBox("Stop spamming main chat!", source, 255, 0, 0) return else chatTime[source] = getTickCount() end if get("*chat/blockRepeatMessages") == "true" and lastChatMessage[source] and lastChatMessage[source] == msg then outputChatBox("Stop repeating yourself!", source, 255, 0, 0) return else lastChatMessage[source] = msg end local r, g, b = getPlayerNametagColor(source) --outputChatBox(getPlayerName(source) .. ': #FFFFFF' .. msg:gsub('#%x%x%x%x%x%x', ''), g_Root, r, g, b, true) --outputServerLog( "CHAT: " .. getPlayerName(source) .. ": " .. msg ) end end ) Раскоментируй и замени. опять показывает цвета( Link to comment
Memory Posted May 30, 2014 Share Posted May 30, 2014 Если я правильно понял, то попробуй так function removeColorCoding ( name ) return type(name)=='string' and string.gsub ( name, '#%x%x%x%x%x%x', '' ) or name end function getPlayerNameWithOutColorCode ( player ) return removeColorCoding ( getPlayerName ( player ) ) end addEventHandler('onPlayerChat', g_Root, function(msg, type) if type == 0 then cancelEvent() if chatTime[source] and chatTime[source] + tonumber(get("*chat/mainChatDelay")) > getTickCount() then outputChatBox("Stop spamming main chat!", source, 255, 0, 0) return else chatTime[source] = getTickCount() end if get("*chat/blockRepeatMessages") == "true" and lastChatMessage[source] and lastChatMessage[source] == msg then outputChatBox("Stop repeating yourself!", source, 255, 0, 0) return else lastChatMessage[source] = msg end outputChatBox(getPlayerNameWithOutColorCode(source) .. ': #FFFFFF' .. msg:gsub('#%x%x%x%x%x%x', ''), g_Root, 255, 255, 255, true) outputServerLog( "CHAT: " .. getPlayerName(source) .. ": " .. msg ) end end ) Link to comment
Nerses Posted May 30, 2014 Author Share Posted May 30, 2014 Если я правильно понял, то попробуй так function removeColorCoding ( name ) return type(name)=='string' and string.gsub ( name, '#%x%x%x%x%x%x', '' ) or name end function getPlayerNameWithOutColorCode ( player ) return removeColorCoding ( getPlayerName ( player ) ) end addEventHandler('onPlayerChat', g_Root, function(msg, type) if type == 0 then cancelEvent() if chatTime[source] and chatTime[source] + tonumber(get("*chat/mainChatDelay")) > getTickCount() then outputChatBox("Stop spamming main chat!", source, 255, 0, 0) return else chatTime[source] = getTickCount() end if get("*chat/blockRepeatMessages") == "true" and lastChatMessage[source] and lastChatMessage[source] == msg then outputChatBox("Stop repeating yourself!", source, 255, 0, 0) return else lastChatMessage[source] = msg end outputChatBox(getPlayerNameWithOutColorCode(source) .. ': #FFFFFF' .. msg:gsub('#%x%x%x%x%x%x', ''), g_Root, 255, 255, 255, true) outputServerLog( "CHAT: " .. getPlayerName(source) .. ": " .. msg ) end end ) Как бы получилось, но вот такой вопрос, у меняя стоит ТЭГ скрипт, и когда я проверял у меня сообщения дублируются, тоесть Одно сообщения с ТЭГОМ и с цветным ником пишется, а дублированное следущее собщение белое но и без тэга, что делать? Link to comment
TheNormalnij Posted May 30, 2014 Share Posted May 30, 2014 Редактировать фриром не нужно. Достаточно лишь создать ресурс со следующим содержимым. -- server addEventHandler ( 'onPlayerJoin', root, function ( ) setPlayerName( source, getPlayerName( source ):gsub('#%x%x%x%x%x%x', '') ) end ) addEventHandler ( 'onPlayerChangeNick', root, function ( _, newNick ) local freeNick, replaces = newNick:gsub('#%x%x%x%x%x%x', '') -- Cкорее всего событие будет срабатывать при каждом вызове функции setPlayerName -- Сделана проверка на количество замен по паттерну if replaces ~= 0 then setPlayerName( source, freeNick ) end end ) UPD, если вы используете сторонний ресурс вывода в чат, закоментируйте onPlayerChat в фрироме ( --[[ ]] ) Link to comment
Nerses Posted May 30, 2014 Author Share Posted May 30, 2014 Редактировать фриром не нужно. Достаточно лишь создать ресурс со следующим содержимым. -- server addEventHandler ( 'onPlayerJoin', root, function ( ) setPlayerName( source, getPlayerName( source ):gsub('#%x%x%x%x%x%x', '') ) end ) addEventHandler ( 'onPlayerChangeNick', root, function ( _, newNick ) local freeNick, replaces = newNick:gsub('#%x%x%x%x%x%x', '') -- Cкорее всего событие будет срабатывать при каждом вызове функции setPlayerName -- Сделана проверка на количество замен по паттерну if replaces ~= 0 then setPlayerName( source, freeNick ) end end ) UPD, если вы используете сторонний ресурс вывода в чат, закоментируйте onPlayerChat в фрироме ( --[[ ]] ) я все скопировал , создал но не как не получаеться( Link to comment
Nerses Posted May 30, 2014 Author Share Posted May 30, 2014 (edited) 1 Edited May 30, 2014 by Guest Link to comment
TheNormalnij Posted May 30, 2014 Share Posted May 30, 2014 После загрузки моего кода, надо было перезайти. Link to comment
Memory Posted May 30, 2014 Share Posted May 30, 2014 Первый код замени на исходный, который был до наших редактирований. Вот второй код: function removeColorCoding ( name ) return type(name)=='string' and string.gsub ( name, '#%x%x%x%x%x%x', '' ) or name end function getPlayerNameWithOutColorCode ( player ) return removeColorCoding ( getPlayerName ( player ) ) end function chatbox(text, msgtype) local root = getRootElement() local account = getAccountName(getPlayerAccount(source)) local name = getPlayerNameWithOutColorCode(source) if (msgtype == 0) then if isObjectInACLGroup("user." .. account, aclGetGroup("Console")) then cancelEvent(true) outputChatBox("#FF0000[#FF0000Хозяин#FF0000] #FFFFFF" .. name .. ":#FFFFFF " .. text, root, 255, 255, 255, true) outputServerLog("CHAT: #FF0000[#FF0000Хозяин#FF0000] #FFFFFF" .. name .. ": " .. text) elseif isObjectInACLGroup("user." .. account, aclGetGroup("Moderator")) then cancelEvent(true) outputChatBox("#0000FF[#0000FFАдмин#0000FF] #FFFFFF" .. name .. ":#FFFFFF " .. text, root, 255, 255, 255, true) outputServerLog("CHAT: #0000FF[#0000FFАдмин#0000FF] #FFFFFF" .. name .. ": " .. text) elseif isObjectInACLGroup("user." .. account, aclGetGroup("SuperModerator")) then cancelEvent(true) outputChatBox(" #00FF00[#00FF00Гл.#00FF00Админ#00FF00] #FFFFFF" .. name .. ":#FFFFFF " .. text, root, 255, 255, 255, true) outputServerLog("CHAT: #00FF00[#00FF00Гл.#00FF00Админ#00FF00] #FFFFFF" .. name .. ": " .. text) elseif isObjectInACLGroup("user." .. account, aclGetGroup("Everyone")) then cancelEvent(true) outputChatBox(name .. ":#FFFFFF " .. text, root, 255, 255, 255, true) outputServerLog("CHAT: #FFFFFF" .. name .. ": " .. text) end end end addEventHandler("onPlayerChat", root, chatbox) 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