Ir para conteúdo

Featured Replies

Postado

Esse script de troca de nome por talkaction é de um TFS 0.4. Preciso transformar esse script para [TFS] 1.0. Queria saber se alguem pode me ajudar converter esse script pra funcionar no TFS 1.0.

To mandando aqui pra ve se me ajuda por que na sessão de action/talkaction o botão de "novo tópico" não pode mais postar.

local config = {



item = { Id = 1984,
count = 1,
},

maxTextLenght = 15,
blacklistParam = {"account manager", "god", "cm", "gm", "tutor", "tester"},
minWordLenght = 3,
delay = 2,
}

function onSay(cid, words, param, channel)


local textCancel, t = config.text, string.explode(param, ",")

if(param == '') then
return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Command param required.")
elseif((getPlayerGUIDByName(t[1]) ~= nil) and (not getBooleanFromString(t[2]))) then
textCancel = "That name is already in use."
elseif(getPlayerItemCount(cid, config.item.Id) < config.item.count) then
textCancel = "You do not fulfill the requirements."
elseif(not getTilePzInfo(getCreaturePosition(cid))) then
textCancel = "You must be inside a protection zone to use this command."
elseif(string.len(tostring(t[1])) >= config.maxTextLenght) then
textCancel = "You can only use a maximum of " .. config.maxTextLenght .. " characters."
elseif(string.find(t[1]:lower(), "[^%l%s]") ~= nil) then
textCancel = "You cannot use symbols."
else
for blacklist = 1, table.maxn(config.blacklistParam) do
if(string.find(t[1]:lower(), config.blacklistParam[blacklist]) ~= nil) then
textCancel = "Invalid name entry."
break
end
end
end
if(config.text ~= textCancel) then
doPlayerSendCancel(cid, textCancel)
return true
end

local paramTemp, space, oldName = '', '', getCreatureName(cid)

for word in string.gmatch(t[1], "%a+") do
if(string.len(word) < config.minWordLenght) then
doPlayerSendCancel(cid, "Each word must have a minimum of " .. config.minWordLenght .. " characters.")
return true
end

paramTemp = "" .. paramTemp .. "" .. space .. "" .. word .. ""

if(space == '') then
space = " "
end

end

local guid = getPlayerGUID(cid)
t[1] = paramTemp


if(pcall(doPlayerChangeName, guid, oldName, t[1]) == false) then

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Your name has been changed successfully. You will be kicked in " .. config.delay .. " seconds.")

addEvent(function(cid, forceLogout)

if(isPlayer(cid)) then
doPlayerRemoveItem(cid, config.item.Id, config.item.count)
doRemoveCreature(cid, forceLogout)

db.executeQuery("INSERT INTO `player_namelocks` (`player_id`, `name`, `new_name`, `date`) VALUES (" .. guid .. ", " .. db.escapeString(oldName) .. ", " .. db.escapeString(t[1]) .. ", " .. os.time() .. ");")
db.executeQuery("UPDATE `players` SET `name` = " .. db.escapeString(t[1]) .. " WHERE `id` = " .. guid .. " ;")

end

end, config.delay * 1000, cid, true)
end

return true

end

Editado por acesso123 (veja o histórico de edições)

Resolvido por psychonaut

Ir para solução
  • Respostas 9
  • Visualizações 810
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • Deu um trabalho do cão arrumar o banco de dados, mas enfim: local seconds = 4 -- tempo pra ler a msg de mudanca de nome local maxTextLenght = 15 -- limite de caracteres do nome local blacklistParam

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.7k

Informação Importante

Confirmação de Termo