Estou aqui postando um script que encontrei aqui nos xtibia, e que fiz uma pequena modificação ele esta 95% perfeito peço se alguem souber como me ajudar postar aqui neste tópico
Comando esta bom mais os players quando usam o comando conseguem dupar nomes:
Ex: Existe um player chamado Darkblaze
Com o comando o player consegue deixar seu nome assim DaRkBlAzE
Quando ocorre isso, o servidor buga e é kickado.
Aqui vai o script:[/b]
-- Creditos a Won Helder, apocarai, MatheusMkalo
function onSay(cid, words, param)
local maxLen = 15 -- tamanho maximo do nome
local itemid = 2157 ------ Numero do Item que será removido
local proibido = {"!","@","*"} -- simbolos proibidos
local proibido = {"{}","()","[]","$"} -- simbolos proibidos
local proibidos = {"God", "Cm", "Tutor", "Adm", "Coordenador", "Adm"} -- simbolos proibidos
local proibido = {"1","2","3","4","5","6","7","8","9","10"} -- simbolos proibidos
for i = 1, #proibido do
if string.find(tostring(param), proibido) then
doPlayerSendCancel(cid,"Não pode usar símbolos em seu nome.")
return TRUE
end
end
if tostring(param) == "" then -- checkar se não é nome vazio
doPlayerSendCancel(cid, "Você deve informar um nome.")
return TRUE
end
if string.len(tostring(param)) > maxLen then
doPlayerSendCancel(cid, "Você pode usar no máximo " .. maxLen .. " letras.")
return TRUE
end
if not getTilePzInfo(getCreaturePosition(cid)) then
doPlayerSendCancel(cid,"So pode ser usado em pz.")
return TRUE
end
if getPlayerItemCount(cid, itemid) >= 5 then
doPlayerRemoveItem(cid, itemid, 5)
db.executeQuery("UPDATE `players` SET `name` = '"..param.."' WHERE `id` = "..getPlayerGUID(cid)..";")
doPlayerSendTextMessage(cid,25,"Você será kickado em 1 segundo.")
addEvent(doRemoveCreature, 1*1000, cid, true)
else
doPlayerSendCancel(cid,"Você não possui o item " .. getItemNameById(itemid) .. ".")
end
return TRUE
end
Os creditos são 99% para -- Won Helder, apocarai, MatheusMkalo
e 1% para mim [Coordenador] Helff (da equipe ilusionBR)
Espero ter ajudado e que vocês me ajudem.