koninhoo 0 Postado Abril 13, 2009 Share Postado Abril 13, 2009 (editado) Bom galera, estou fazendo um script meio que "genial" e gostaria de uma função que eu não consegui fazer e nem achar algo que funcionasse. No meu script vou usar um item primeiro no segundo, fazendo com que o segundo aumente 1 no valor de defesa, alterando a defesa original de um item. Eu gostaria de uma função ou algo do tipo que verificasse (no caso seria um get) a defesa do item original, "só" (?) preciso disso. Há funções como getItemDescriptionsById(ID) que serveria se fosse getItemArmorById(ID). Ou então gostaria de uma coisa mais simples: a cada vez que usar o primeiro item no segundo aumentar 1 em algo, pode ser na descrição do item, defesa, qualquer coisa! Espero que tenham entendido, qualquer dúvida ou outra explicação pode falar aqui! Obrigado, PS1: Eu uso The Forgotten Server 0.3 Beta. Koninho~ Editado Abril 14, 2009 por Koninho Link para o comentário https://xtibia.com/forum/topic/111266-s%C3%B3-uma-fun%C3%A7%C3%A3o/ Compartilhar em outros sites More sharing options...
tibiaa4e 86 Postado Abril 14, 2009 Share Postado Abril 14, 2009 Olha ja tem funções assim setItemAttack(uid, attack) setItemExtraAttack(uid, extraattack) setItemDefense(uid, defense) setItemArmor(uid, armor) setItemExtraDefense(uid, extradefense) setItemAttackSpeed(uid, attackspeed) setItemHitChance(uid, hitChance) setItemShootRange(uid, shootRange) e seus respectivos sets getItemAttack(uid) getItemExtraAttack(uid) getItemDefense(uid) getItemExtraDefense(uid) getItemArmor(uid) getItemAttackSpeed(uid) getItemHitChance(uid) getItemShootRange(uid) agora para ele mudar o item para o + 1 poderia ser assim + - setItemArmor(itemEx, getItemArmor(itemEx)+1) No caso o itemEx é o segundo item usado... Veja se funciona Link para o comentário https://xtibia.com/forum/topic/111266-s%C3%B3-uma-fun%C3%A7%C3%A3o/#findComment-724521 Compartilhar em outros sites More sharing options...
sfmlarl 0 Postado Abril 14, 2009 Share Postado Abril 14, 2009 (editado) Cara, funciona sim com certeza...+ A dúvida dele foi tipo, depois de estar com a defesa extra, na segunda vez que fosse usa verificasse que é uma item com defesa extra, e então add+ 1 extra(do que ja era extra), + e pra que essa verificação? Pq na segunda vez, vai ser uma descrição diferente, dificuldade diferente, sei-la oq ele imaginar sendo assim necessaria uma verificação se o item ja é +1 ou não... Eu acho que a dúvida dele é essa :] Pelo menos é a minha ^^ Editado Abril 14, 2009 por Detoneitormen Link para o comentário https://xtibia.com/forum/topic/111266-s%C3%B3-uma-fun%C3%A7%C3%A3o/#findComment-724569 Compartilhar em outros sites More sharing options...
Diogo 29 Postado Abril 14, 2009 Share Postado Abril 14, 2009 (editado) @Detoneitormen Opa! Que eu saiba, a única forma de fazer isso apenas com Lua seria, como o próprio usuário que criou o tópico sugeriu, modificar a descrição do item para que depois seja possível fazer verificação. Aí é mesmo usando getItemDescriptions(uid) e doSetItemSpecialDescription(uid, desc). --- Edit: Há ainda a possibilidade de trabalhar diretamente com a defesa extra: getItemExtraDefense(uid) setItemExtraDefense(uid, extradefense) De qualquer forma, seriam gambiarras. Se quiser pensar em uma por si mesmo, acesse esse ótimo tutorial do ta4e que possui todas as funções Lua da API do OTServ: http://www.xtibia.com/forum/Pasta-Data-Fun...Lua-t99662.html --- Edit 2: Hehe, olha eu editando de novo. Há também a possibilidade que acho que ficaria mais legal que é editando o "article" do item. O que é o "article"? É o artigo do substantivo, por exemplo, "'a' wand", "'an' apple". No caso você poderia fazer modificações como: "'an +1' armor" Sim, fica estranho e redundante se você for usar extra defense e não defense, mas seria um diferencial lega no seu OTServ. E de qualquer forma é só mais uma idéia de gambiarra. As funções são: getItemIdArticle(uid) setItemIdArticle(uid) Agora vou parar de editar ;D Abraços. Editado Abril 14, 2009 por VaL Link para o comentário https://xtibia.com/forum/topic/111266-s%C3%B3-uma-fun%C3%A7%C3%A3o/#findComment-724578 Compartilhar em outros sites More sharing options...
Tprocheira 5 Postado Abril 14, 2009 Share Postado Abril 14, 2009 (editado) Fala galera! Eu fiz um script simples, só que ele retorna um erro falando que não existe o item (mas ele existe...) function onUse(cid, item, fromPosition, itemEx, toPosition) local config ={ adicional = 1, desc_add = 0, --1=TRUE, 0=FALSE phrase = "This item was enchanted by "..getCreatureName(cid).." "..getItemExtraAttack(itemEx).." times." } if isWeapon(itemEx) then if config.desc_add == 1 then setItemExtraAttack(itemEx, (getItemExtraAttack(itemEx)+1)) doSetItemSpecialDescription(itemEx, phrase) else setItemExtraAttack(itemEx, (getItemExtraAttack(itemEx)+1)) end else return doPlayerSendCancel(cid, "Sorry, not possible.") end end Se conseguir arrumar, pode divulgar e fazer o que quiser Ah, e tem que fazer um database de todos as armas, se não você vai poder dar extra attack no chão \o/ Abraços, Tprocheira Editado Abril 15, 2009 por Tprocheira Link para o comentário https://xtibia.com/forum/topic/111266-s%C3%B3-uma-fun%C3%A7%C3%A3o/#findComment-724643 Compartilhar em outros sites More sharing options...
sfmlarl 0 Postado Abril 14, 2009 Share Postado Abril 14, 2009 @Val.. vlw ae + tipo..mudando a descrição ainda teria que ter + algo..sei-la e meio chato essa parte Espera o dono do topico pra ve se as respotas ae respondem a pergunta dele ^^ Link para o comentário https://xtibia.com/forum/topic/111266-s%C3%B3-uma-fun%C3%A7%C3%A3o/#findComment-724729 Compartilhar em outros sites More sharing options...
koninhoo 0 Postado Abril 14, 2009 Autor Share Postado Abril 14, 2009 Bom galera, obrigado pelas tentativa de ajuda aí, mas o que eu queria era uma função que cada vez que usar um primeiro item no segundo aumentasse 1 (um, número) à uma descrição. Por exemplo: Defesa + 1. Como estou mudando a defesa de uma armadura eu estou usando setItemArmor. Espero terem entendidos. Obrigado, Koninho~ Link para o comentário https://xtibia.com/forum/topic/111266-s%C3%B3-uma-fun%C3%A7%C3%A3o/#findComment-724918 Compartilhar em outros sites More sharing options...
noobinhu 38 Postado Abril 14, 2009 Share Postado Abril 14, 2009 (editado) é só fazer oras... usando getItemExtraDefense(uid) para verificar a def e setItemExtraDefense(uid, extradefense) para add... function addItemDefense(uid, quantity)setItemExtraDefense(uid, getItemExtraDefense(uid)+quantity) end e para adicionar na descrição quanto de def tem extra: doSetItemSpecialDescription(item2.uid, "Item Defense Bonus: "..getItemExtraDefense(item.2uid).."") Editado Abril 14, 2009 por noobinhu Link para o comentário https://xtibia.com/forum/topic/111266-s%C3%B3-uma-fun%C3%A7%C3%A3o/#findComment-724952 Compartilhar em outros sites More sharing options...
Tprocheira 5 Postado Abril 15, 2009 Share Postado Abril 15, 2009 Só se basear naquele script que eu fiz. Ele vai fazer exatamente isso, só precisa de algumas modificações para ele ser usado em armaduras ao invés de armas \\ Link para o comentário https://xtibia.com/forum/topic/111266-s%C3%B3-uma-fun%C3%A7%C3%A3o/#findComment-725152 Compartilhar em outros sites More sharing options...
Posts Recomendados