Ir para conteúdo

Featured Replies

Postado
  • Autor
  • Solução

pior q nem é um problema sem lógica uhauhauh eu coloquei pra toda vez que desequipar uma determinada arma da mão, ela fosse removida.. só que quando o player passa de uma mão pra outra ele remove ela e já conta como se tivesse equipado, ao remover ela pela função doRemoveItem é como se tivesse desequipado (da outra mão agora) e ele vai remover algo que já foi removido, por isso dá erro na distro. Eu pensei em um monte de formas mas a maioria delas inclui repetir o id do item pra outro movement onEquip (oque vai dar erro no console), eu consegui resolver certinho de uma maneira meio escrota e pras minhas necessidades acabou dando certo.... mas a idéia era fazer um scrip 100% funcional pra que outros pudessem mudar à vontade pra postar aqui. Enfim né, até amanhã vou postar o script da forma que tá e te convido pra dar uma olhada e ver se vc pensa em alguma outra forma de resolver o problema. Abração Max.

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)

  • Respostas 7
  • Visualizações 503
  • Created
  • Última resposta

Top Posters In This Topic

Postado

AH, então o que acontece é um callback overflow, algo assim. Por exemplo. Se você coloca um movement pra quando pisar em um tile, teletransportar pro mesmo tile. O onStepIn vai ser executado várias vezes até dar debug no client e_e.

 

 

Já passei por uma situação parecida, quando eu precisava mudar a outfit de um player, dentro do método onOutfit. Pra solucionar foi só colocar uma storage no player, aí quando essa storage tem um valor positivo, o bloco principal não é executado. Exemplo:

 

 

function onOutfit(cid)
   if getPlayerStorageValue(cid, 60000) > 0 then
      return true
   end
 
   setPlayerStorageValue(cid, 60000, 1)
   doCreatureChangeOutfit(cid, newOutfit)
   setPlayerStorageValue(cid, 60000, -1)
   return false
end

 

Algo tipo isso ahuahua

-"Supra Omnes Lux Lucis"

- Acima de todos brilha a Luz -

5VGnDyBz.png

Postado
  • Autor

isso não resolveria o problema kkk pq eu queria que o player pudesse mudar livremente a mão que está a arma, mas se o slot fosse diferente de "hands" o item fosse removido, contudo, a unica forma de fazer isso é usando o callback onDeEquip (cid, item, slot) mas daí se o cara pegar o item e jogar no rio o server crasha. Pra que não crashe tem que usar onDeEquip(cid, item, position, fromPosition); Enfim, hoje ou amanhã vc dá uma olhada no sistema como um todo e me fala qq vc achou, combinado?
 

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