Ir para conteúdo

Featured Replies

Postado

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%

 

  • Respostas 14
  • Visualizações 696
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • local ChangeName = ID DO ITEM AQUI function onSay(cid, words, param, channel)local p = string.explode(param, ',') if(getPlayerItemCount(cid, ChangeName) == 0) then doPlayerSendTextMessage(cid, MESSAG

Postado
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 por danihcv (veja o histórico de edições)

Te ajudei?? REP + e ficamos quites... <ahttp://www.tibiaking.com/forum/uploads/emoticons/default_happyy.png' alt=';D'>

Atenciosamente,

Daniel.

Abraços!

Postado
  • 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 por rodrigorodriguess (veja o histórico de edições)

Ajudei? REP+

 

 

 
 
Spriter: |||||||||| 10%

 

Postado
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 por danihcv (veja o histórico de edições)

Te ajudei?? REP + e ficamos quites... <ahttp://www.tibiaking.com/forum/uploads/emoticons/default_happyy.png' alt=';D'>

Atenciosamente,

Daniel.

Abraços!

Postado
  • 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 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.

Visitante
Responder

Quem Está Navegando 0

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

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 520k

Informação Importante

Confirmação de Termo