Ir para conteúdo

Posts Recomendados

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.

  1. 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).
  2. 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 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

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 :p

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

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 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

@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 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

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 :p

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 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

@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

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

é 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 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

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 :p

 

\\

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

Visitante
Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...