Postado Fevereiro 15, 2018 7 anos Gostaria de fazer uma action para um item que eu pudesse utilizar em outro player e, ao fazê-lo, fizesse o valor de uma storage (3999) desse player alvo mudar para 3. OBS: TFS 0.4.0 Eu tentei fazer eu mesmo, mas percebi que eu não sei como fazer isso por completo. Criei uma action.lua, registrei no actions.xml para o id do item e com itemeditor/objectbuilder ainda editei os atributos desse item específico para que fosse utilizável e etc... Pois bem, o código funciona e eu consigo utilizar o item normalmente, mas o meu problema é: O item só pode ser utilizado pelo próprio jogador, (como se fosse uma food, por exemplo), eu não consigo fazer a action com crosshair (como se fosse uma runa, por exemplo) que eu consigo mirar e posso escolher o alvo. Como fazer isso? Eu tentei alguns outros códigos aqui, mas não deram certo.. A estrutura e a lógica do código base é essa: Spoiler function onUse(cid, item, fromPosition, itemEx, toPosition) if getPlayerStorageValue(cid, 3999) == 2 then doPlayerSetStorageValue(cid, 3999, 3) doRemoveItem(item.uid) doCreatureSay(cid, "Um aliado foi afetado.", TALKTYPE_ORANGE_1, cid) else doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF) doPlayerSendCancel(cid,"Você não está apto a utilizar este item.") end return true end
Postado Fevereiro 15, 2018 7 anos Solução function onUse(cid, item, fromPosition, itemEx, toPosition) if isPlayer(itemEx.uid) == FALSE then return true end if getPlayerStorageValue(itemEx.uid, 3999) == 2 then doPlayerSetStorageValue(itemEx.uid, 3999, 3) doRemoveItem(item.uid) doCreatureSay(itemEx.uid, "Um aliado foi afetado.", TALKTYPE_ORANGE_1, cid) else doSendMagicEffect(getCreaturePosition(itemEx.uid), CONST_ME_POFF) doPlayerSendCancel(itemEx.uid,"Você não está apto a utilizar este item.") end return true end
Postado Fevereiro 15, 2018 7 anos Autor @Sttorm obrigado por tentar ajudar, mas com este código simplesmente nada acontece. Nenhum erro na distro, nenhuma mensagem de retorno, nem nada.
Postado Fevereiro 15, 2018 7 anos Após você editar os atributos dentro do Object Builder, você foi no seu item editor e atualizou os atributos dos items do seu items.otb? No signature.
Postado Fevereiro 15, 2018 7 anos Autor @egyptPOWER , sim, eu copiei como padrão outros itens que eu sei que são "useable" como picaretas, cordas e runas. Mudei tanto no ObjectBuilder quanto no OTItemEditor. --- EDIT --- Eu refiz tudo do começo, refiz o dat e o otb e agora funcionou com o código do Sttorm. Não vejo muito motivo, porque eu já tinha atualizado-os antes no ObjBuilder e no OTItemEditor, mas sei lá... talvez alguma desatenção? Haha. Obrigado aos que tentaram me ajudar. Editado Fevereiro 15, 2018 7 anos por Tadelho (veja o histórico de edições)
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.