Postado Maio 18, 2014 11 anos Bom.. queria uma script que o player só pudesse usá-la se tivesse com X item.. Explicarei melhor: Change name será um item, o item não faz nada, apenas será um item que some ao player usar o comando. /name Rodrigo, Fulano mas o player só poderia usar este comando se fosse o nome do char dele, ou seja, não poder trocar o nome dos demais players, só poderia trocar quem estivesse com o item. BROADCAST: Quando o Player usar o comando mas não tiver o item: Você não pode usar este comando. Quando o Player usar o comando e estiver com o item: ( o item irá sumir, óbvio ) Você acabou de trocar seu nome, deslogue de sua account para atualizá-lo. OBS: Os GOD's tem este comando do /name, se quiserem pra dar uma forcinha, está logo abaixo. function onSay(cid, words, param, channel)local p = string.explode(param, ',') if(param == "") then doPlayerSendCancel(cid, "Command requires param.") return true end if(words == "/name") then if(db.getResult("SELECT `id` FROM `players` WHERE `name` = " .. db.escapeString(p[1]) .. ";"):getID() == -1) then return doPlayerSendCancel(cid, "Sorry, but player [" .. p[1] .. "] does not exist.") elseif(isPlayerBanished(p[1], PLAYERBAN_LOCK)) then return doPlayerSendCancel(cid, "Sorry, but " .. p[1] .. " is name locked.") elseif(db.getResult("SELECT `id` FROM `players` WHERE `name` = " .. db.escapeString(p[2]) .. ";"):getID() == 1) then return doPlayerSendCancel(cid, "Sorry, but the name [" .. p[2] .. "] already exists.") end return db.executeQuery("UPDATE `players` SET `name` = '" .. p[2] .. "' WHERE name = '" .. p[1] .. "';") and doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You have changed " .. p[1] .. "'s name to " .. p[2] .. ".") end end Ajudei? REP+ Spriter: |||||||||| 10%
Postado Maio 18, 2014 11 anos local ChangeName = ID DO ITEM AQUI function onSay(cid, words, param, channel)local p = string.explode(param, ',') if(getPlayerItemCount(cid, ChangeName) > 0) then if(param == "") then doPlayerSendCancel(cid, "Command requires param.") return true end if(words == "/name") then if(db.getResult("SELECT `id` FROM `players` WHERE `name` = " .. db.escapeString(p[1]) .. ";"):getID() == -1) then return doPlayerSendCancel(cid, "Sorry, but player [" .. p[1] .. "] does not exist.") elseif(isPlayerBanished(p[1], PLAYERBAN_LOCK)) then return doPlayerSendCancel(cid, "Sorry, but " .. p[1] .. " is name locked.") elseif(db.getResult("SELECT `id` FROM `players` WHERE `name` = " .. db.escapeString(p[2]) .. ";"):getID() == 1) then return doPlayerSendCancel(cid, "Sorry, but the name [" .. p[2] .. "] already exists.") end doPlayerRemoveItem(cid, ChangeName, 1) return db.executeQuery("UPDATE `players` SET `name` = '" .. p[2] .. "' WHERE name = '" .. p[1] .. "';") and doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You have changed " .. p[1] .. "'s name to " .. p[2] .. ".") end end end Não esqueça de botar o ID do item na primeira linha. Abraços. Editado Maio 18, 2014 11 anos por danihcv (veja o histórico de edições) Te ajudei?? REP + e ficamos quites... http://www.tibiaking.com/forum/uploads/emoticons/default_happyy.png' alt=';D'> Atenciosamente, Daniel. Abraços! Meus tutoriais: Programação: Resolvendo QUALQUER erro na data base. Scripts (system's, creaturescripts, mod's, NPC's, etc): (Sistema) GOD Ambient Light Full. Adicionando novas mounts ao servidor [NPC] Papai Noel que dá presente todo ano. Web-site: Resolvendo problema de caracteres especiais em PHP Formatando textos em PHP! Mudando a cor, tamanho, fonte, etc. Criando e configurando tabelas para paginas PHP
Postado Maio 18, 2014 11 anos Autor no caso, o player teria que gastar 2 itens para usar o comando, como ficaria? @edit não está removendo os itens, tá faltando algo ai fera o player só poderia usar este comando se fosse o nome do char dele, ou seja, não poder trocar o nome dos demais players, só poderia trocar quem estivesse com o item. Editado Maio 18, 2014 11 anos por rodrigorodriguess (veja o histórico de edições) Ajudei? REP+ Spriter: |||||||||| 10%
Postado Maio 18, 2014 11 anos local ChangeName = ID DO ITEM AQUI function onSay(cid, words, param, channel)local p = string.explode(param, ',') if(getPlayerItemCount(cid, ChangeName) > 1) then if(param == "") then doPlayerSendCancel(cid, "Command requires param.") return true end if(words == "/name") then if(db.getResult("SELECT `id` FROM `players` WHERE `name` = " .. db.escapeString(p[1]) .. ";"):getID() == -1) then return doPlayerSendCancel(cid, "Sorry, but player [" .. p[1] .. "] does not exist.") elseif(isPlayerBanished(p[1], PLAYERBAN_LOCK)) then return doPlayerSendCancel(cid, "Sorry, but " .. p[1] .. " is name locked.") elseif(db.getResult("SELECT `id` FROM `players` WHERE `name` = " .. db.escapeString(p[2]) .. ";"):getID() == 1) then return doPlayerSendCancel(cid, "Sorry, but the name [" .. p[2] .. "] already exists.") end doPlayerRemoveItem(cid, ChangeName, 2) return db.executeQuery("UPDATE `players` SET `name` = '" .. p[2] .. "' WHERE name = '" .. p[1] .. "';") and doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You have changed " .. p[1] .. "'s name to " .. p[2] .. ".") end end end Fala se funcionou. Abraços. Editado Maio 18, 2014 11 anos por danihcv (veja o histórico de edições) Te ajudei?? REP + e ficamos quites... http://www.tibiaking.com/forum/uploads/emoticons/default_happyy.png' alt=';D'> Atenciosamente, Daniel. Abraços! Meus tutoriais: Programação: Resolvendo QUALQUER erro na data base. Scripts (system's, creaturescripts, mod's, NPC's, etc): (Sistema) GOD Ambient Light Full. Adicionando novas mounts ao servidor [NPC] Papai Noel que dá presente todo ano. Web-site: Resolvendo problema de caracteres especiais em PHP Formatando textos em PHP! Mudando a cor, tamanho, fonte, etc. Criando e configurando tabelas para paginas PHP
Postado Maio 18, 2014 11 anos Autor Funcionou perfeitamente, mas tem uma coisa.. o player quando tem o item, o comando é executado perfeitamente e nem aparece msg na tela.. mas quando ele não tem, aparece.. teria como colocar uma mensagem tipo: Não é possível executar o comando porque você não tem donate coins.. @edit e mais uma coisa, o player também pode mudar o nome dos demais players, eu queria que só ele mudasse o nome dele. Editado Maio 18, 2014 11 anos por rodrigorodriguess (veja o histórico de edições) Ajudei? REP+ Spriter: |||||||||| 10%
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.