Ir para conteúdo

Featured Replies

Postado

Fala galerinha do tk, hoje é minha vez de tirar uma dúvida aqui kkk então, o problema é o seguinte:
eu criei um script bem simpleszinho que removia o item caso o player tentasse desequipar ele mas acontece que o script vivia bugando, se eu colocasse ele dentro da BP ou jogasse ele no lago o server caia então eu fiz umas edições e cheguei nisso daqui:

function onDeEquip(cid, item, position, fromPosition)
if doRemoveItem(item.uid, 1) then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "ITEM REMOVIDO...")
doSendMagicEffect(getCreaturePos(cid), 10)
return false
end
end

note que os parameters que eu usei são diferentes doque está nas sources

function onDeEquip(cid, item, position, fromPosition)

 nas sources temos esse callback como sendo 

function onDeEquip(cid, item, slot)

só que quando eu usava slot, se eu jogasse o item direto da armor pro lixo o server crashava.

Enfim, tudo funcionava perfeitamente quando eu decidi mudar o slot de armor pra hands...
funcionou mas eis que eu me deparei com um bug pra lá de chato:

<movevent type="DeEquip" itemid="7773" slot="hand" event="script" value="item.lua"/>

Se o cara tiver com as duas mãos vazias e passar o item de uma mão pra outra o script executa a função de remover duas vezes só que só tem um item então dá um erro (tentar remover algo que já foi removido)

[10/05/2014 20:39:28] [Error - MoveEvents Interface] [10/05/2014 20:39:28] data/movements/scripts/item.lua:onDeEquip
[10/05/2014 20:39:28] Description: 
[10/05/2014 20:39:28] (luaDoRemoveItem) Item not found

Alguém sabe algum jeito de arrumar isso pra não dar esse erro? Tentei várias coisas mas a maioria não deu certo e o resto fez meu script parar de funcionar kkk

Meu server é o The Forgotten Server, version 0.3.6 (Crying Damson), Tibia 8.54

Me ajudem aí que eu prometo postar o sistema do qual esse script faz parte :]

Todos os meus trabalhos importantes estão na seção "Sobre mim" no meu perfil; Dá uma passada lá!

"Há três caminhos para o fracasso: não ensinar o que se sabe, não praticar o que se ensina, e não perguntar o que se ignora." - São Beda

I7Pm6ih.png

(obg ao @Beeny por fazer essa linda sign <3)

Resolvido por xWhiteWolf

Ir para solução
  • Respostas 7
  • Visualizações 497
  • Created
  • Última resposta

Top Posters In This Topic

Postado
function onDeEquip(cid, item, slot)
local slots = getPlayerSlotItem(cid, slot )
if slots.itemid ~= item.itemid then
return true
end
if doRemoveItem(item.uid, 1) then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "ITEM REMOVIDO...")
doSendMagicEffect(getCreaturePos(cid), 10)
end
return true
end

Fiz de cabeça, não sei se funcionará.

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

"A alma permanece em suas criações" V89E5aN.png


142c9d3439.jpg
(Não dou suporte por mensagem privada.)

Postado
  • Autor

não funcionou, por hora eu consegui arrumar mudando o slot do movements.xml.. coloquei slot="right-hand" e já que só remove o item se for na mão esquerda (lado direito), qnd eu passo pra direita (lado esquerdo) não dá bug de remover 2x... mas ainda estou interessado em alguma solução;
Oque eu quero mesmo é que o player possa mudar o item pra outra mão porque a função doPlayerAddItem adiciona sempre na mão esquerda (>>) mas a maioria dos caras que jogam tibia usam as armas na mão direita (<<) mas gostaria que se ele tentasse colocar a arma em qualquer outro slot ou mover ela pra backpack ou jogar ela no chão, o item fosse removido automaticamente.

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

Todos os meus trabalhos importantes estão na seção "Sobre mim" no meu perfil; Dá uma passada lá!

"Há três caminhos para o fracasso: não ensinar o que se sabe, não praticar o que se ensina, e não perguntar o que se ignora." - São Beda

I7Pm6ih.png

(obg ao @Beeny por fazer essa linda sign <3)

Postado
  • Autor

up

Todos os meus trabalhos importantes estão na seção "Sobre mim" no meu perfil; Dá uma passada lá!

"Há três caminhos para o fracasso: não ensinar o que se sabe, não praticar o que se ensina, e não perguntar o que se ignora." - São Beda

I7Pm6ih.png

(obg ao @Beeny por fazer essa linda sign <3)

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.6k

Informação Importante

Confirmação de Termo