Ir para conteúdo
  • Cadastre-se

(Resolvido)Atributos diferentes nos items


Ir para solução Resolvido por xWhiteWolf,

Posts Recomendados

Boa tarde, estou editando os itens do meu OT, e quero atribuir aos itens, porcentagem de hp, mana, porcentagem de skills e magLvL e etc...

 

Tem como adicionar esses efeitos?

 

Atributos

 

  • +-x%HP
  • +-x%mana
  • +-x%skill
  • +-x%magLvL

Além de dano elemental baseado no attack do jogador, por exemplo:
 

O jogador ataca com uma arma +20% Fire, e hitta 100 physical damage + 20 de fire damage

 

Espero que tenham entendido x_x

 

Obrigado

 

Link para o post
Compartilhar em outros sites

Você quer que uma sword qualquer (exemplo) ela tenha o dano dela e mais x% de dano de fogo? 

Feliz daquele que ensina o que sabe, e aprende o que ensina.

 

               

star-wars-animated-gif-23.gif

Link para o post
Compartilhar em outros sites

Abra sua pasta Movements e nela seu arquivo movements.xml e neste adicione a tag abaixo:

<movevent type="Equip" itemid="2088" slot="shield" event="script" value="nome_do_item.lua"/>  
    
<movevent type="DeEquip" itemid="2088" slot="shield" event="script" value="nome_do_item.lua"/>

 

 

*MECHE CERTINHO NO SLOT SE FOR SHIELD DEIXA ASSIM MESMO, ou entao muda ele...

 

 

Agora vá na pasta Scripts da pasta Movements mesmo e crie um arquivo com o nome que deu ao Script acima, no meu caso ficou "nome_do_item.lua".

Mas é claro que deverá renomear, então dentro deste arquivo, cole o código abaixo:

function onEquip(cid, item, slot)
if getPlayerStorageValue(cid, 11139) < 1 then
setPlayerStorageValue(cid, 11139, 1)
setCreatureMaxHealth(cid, getCreatureMaxHealth(cid)+50)
end
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Não pode usar este item agora!")
return TRUE
end

function onDeEquip(cid, item, slot)
setPlayerStorageValue(cid, 11139, -1)
setCreatureMaxHealth(cid, getCreatureMaxHealth(cid)-50)
return TRUE
end

 

 

 

 

(Creditos pelo script foi o Adrino Swatt que postou)...

Link para o post
Compartilhar em outros sites

lordzetros

 

Exatamente, quero que o dano de fogo seja uma porcentagem do dano dado, se o player por exemplo atacar com uma arma +50% de fire, e dar 200 de dano físico, vai ter q dar +100 de dano de fogo, totalizando 300 de dano .

 
vpa1 

 

Se eu quiser editar o magLvL ou skill do jogador em porcentagem, o que devo fazer? Ja que não achei uma função setPlayerMagLevel

Editado por Hoad (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
  • Solução

/\ esse não é o jeito de se fazer isso.

Seguinte, se vc quiser adicionar esses atributos numa tag do items.xml vc precisará fazer alterações na source, todas elas são conditions que vc vai ter que adicionar ao equipar um item.

Como vc pode ver nesse tópico, nenhum desses atributos existe realmente no tibia http://www.tibiaking.com/forum/topic/31450-pedido-editar-items/

 

local condition = createConditionObject(CONDITION_ATTRIBUTES)
setConditionParam(condition, CONDITION_PARAM_TICKS, -1)
setConditionParam(condition, CONDITION_PARAM_SKILL_CLUB, 50)
setConditionParam(condition, CONDITION_PARAM_SKILL_SWORD, 50)
setConditionParam(condition, CONDITION_PARAM_SKILL_AXE, 50)
setConditionParam(condition, CONDITION_PARAM_SKILL_DISTANCE, 50)

function onEquip(cid, item, slot)
doAddCondition(cid, condition)
doSendMagicEffect(getCreaturePos(cid), 10)
return true
end

function onDeEquip(cid, item, slot)
doRemoveCondition(cid, CONDITION_ATTRIBUTES)
return true
end
<movevent type="Equip" itemid="11234" slot="feet" event="script" value="set.lua"/>
<movevent type="DeEquip" itemid="11234" slot="feet" event="script" value="set.lua"/>

Dessa maneira vc pode editar os atributos que serão adicionados com todas as conditions existentes no seu servidor:

CONDITION_PARAM_OWNER = 1
CONDITION_PARAM_TICKS = 2
CONDITION_PARAM_OUTFIT = 3
CONDITION_PARAM_HEALTHGAIN = 4
CONDITION_PARAM_HEALTHTICKS = 5
CONDITION_PARAM_MANAGAIN = 6
CONDITION_PARAM_MANATICKS = 7
CONDITION_PARAM_DELAYED = 8
CONDITION_PARAM_SPEED = 9
CONDITION_PARAM_LIGHT_LEVEL = 10
CONDITION_PARAM_LIGHT_COLOR = 11
CONDITION_PARAM_SOULGAIN = 12
CONDITION_PARAM_SOULTICKS = 13
CONDITION_PARAM_MINVALUE = 14
CONDITION_PARAM_MAXVALUE = 15
CONDITION_PARAM_STARTVALUE = 16
CONDITION_PARAM_TICKINTERVAL = 17
CONDITION_PARAM_FORCEUPDATE = 18
CONDITION_PARAM_SKILL_MELEE = 19
CONDITION_PARAM_SKILL_FIST = 20
CONDITION_PARAM_SKILL_CLUB = 21
CONDITION_PARAM_SKILL_SWORD = 22
CONDITION_PARAM_SKILL_AXE = 23
CONDITION_PARAM_SKILL_DISTANCE = 24
CONDITION_PARAM_SKILL_SHIELD = 25
CONDITION_PARAM_SKILL_FISHING = 26
CONDITION_PARAM_STAT_MAXHEALTH = 27
CONDITION_PARAM_STAT_MAXMANA = 28
CONDITION_PARAM_STAT_SOUL = 29
CONDITION_PARAM_STAT_MAGICLEVEL = 30
CONDITION_PARAM_STAT_MAXHEALTHPERCENT = 31
CONDITION_PARAM_STAT_MAXMANAPERCENT = 32
CONDITION_PARAM_STAT_SOULPERCENT = 33
CONDITION_PARAM_STAT_MAGICLEVELPERCENT = 34
CONDITION_PARAM_SKILL_MELEEPERCENT = 35
CONDITION_PARAM_SKILL_FISTPERCENT = 36
CONDITION_PARAM_SKILL_CLUBPERCENT = 37
CONDITION_PARAM_SKILL_SWORDPERCENT = 38
CONDITION_PARAM_SKILL_AXEPERCENT = 39
CONDITION_PARAM_SKILL_DISTANCEPERCENT = 40
CONDITION_PARAM_SKILL_SHIELDPERCENT = 41
CONDITION_PARAM_SKILL_FISHINGPERCENT = 42
CONDITION_PARAM_PERIODICDAMAGE = 43
CONDITION_PARAM_BUFF = 44
CONDITION_PARAM_SUBID = 45



Agora sobre a espada que tira dano em % é só vc editar ela pelo items.xml igual a fire sword por exemplo, se ela tiver 80 de ataque físico e 20 de ataque de fire/ice serão 20% certinho. Qualquer outro valor vc faz regra de 3 e chega.. o outro modo de fazer isso é por 2 combats num script de weapons mas não é tão eficaz como a maneira citada acima.

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)

Link para o post
Compartilhar em outros sites

Muito obrigado, xWhiteWolf

 

Sobre a espada, acho que não expliquei muito bem (tenho problema scom isso xD), tipo, eu queria que o dano elemental, fosse baseado no dano físico, uma espada com 50% de dano de fogo, por exemplo, hittará variados danos físicos, 20, 40, 100 e 250, nesses casos, os danos elementais seriam, 10, 20 ,50 e 125, totalizando 30, 60, 150 e 375 de dano misto (físico e fogo) 

 

Ahh, e se no caso eu quiser colocar os atributos em armas? Teria q ser pelo movements.xml, mas por ser weapon tem que ser pelo weapons.xml, como fazer? Ir no movements.xml e em slottype, bota o que esta no items.xml?

Editado por Hoad (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

só fazer igual no movements.xml e colocar hands no slottype, fazer assim do jeito que vc quer só com statschange mesmo e só iria funcionar em players porque não dá pra dizer precisamente qual seria o dano que iria sair contando as defesas e resistencias do monstro/player.. em todo caso dá pra vc tentar aproximar isso da forma que eu falei. Coloca 50 de dano físico e 25 de dano fire e vc vai hitar e se vc hitar + ou - 200 de físico vai sair + ou - 100 de fire

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)

Link para o post
Compartilhar em outros sites

Entendi, obrigado ^-^

 

Edit: Os atributos estão só funcionando em armaduras e shields, e msm assim quando é equipada, da erro na distro >-<

Editado por Hoad (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

Se a dúvida foi respondida clica em "Melhor Resposta" embaixo do comentário que a resolveu.

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)

Link para o post
Compartilhar em outros sites

qual o erro?

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)

Link para o post
Compartilhar em outros sites

Nao da pra ver ver, pq tipo a distro para de funcionar assim que equipo, mas ainda assim os status mudam e o tibia trava, dps cai, qnd eu tentei com a arma, nao dava erro na distro, porem tbm a distro nao parava de funcionar. 

 

Edit: Percebi que nao precisa nem equipar, é so trocar o item de slot, que a distro para de funcionar, além disso o efeito esta funcionando mesmo qnd equipa o item onde ele nao deve ser equipado. Por exemplo, a bota deve aumentar mag lvl em 50%, porem se eu equipo na mão, ja aumenta. E o slot ta feet >_<

Editado por Hoad (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

só tá dando os atributos porque tá dando algum erro e fazendo seu server crashar uhahuehua

tenta trocar doSendMagicEffect(getCreaturePos(cid), 10) por doSendMagicEffect(getCreaturePosition(cid), 10)

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)

Link para o post
Compartilhar em outros sites

Percebi que o erro acontece só quando eu crio o item com o god em algum dos slots dele, porem se eu criar qnd estou sem slot vazio, e o item for pro chao, e um player normal pegar, seus status são mudados, porém só caso esse item nao for uma arma, pq as armas ainda não estão mudando os atributos e esta hands no movevent ;-;
 

<movevent type="Equip" itemid="2191" slot="hands" event="script" value="2191.lua"/>
<movevent type="DeEquip" itemid="2191" slot="hands" event="script" value="2191.lua"/>
 
Edit: No slot coloquei hand, e foi *-* Obrigado mais uma vez,  xWhiteWolf c: 
 
Edit2: Quando eu ponho um movevent em uma arma, o level requerido para usar essa arma é anulado, assim, uma arma editada com lvl 100 requirido, pode ser utilizada por um player lvl 1. Como resolvo?
Editado por Hoad (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

vc pode tanto fazer pelo weapons.xml pra colocar level como fazer uma checagem pra utilizar no movements.

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)

Link para o post
Compartilhar em outros sites

Obrigado por vir

Eu ja fiz na weapons.xml porém isso é ignorado, pq uma arma que precise de lvl 50 por exemplo, pode ser usada por um player lvl 1. (Porém só acontece isso quando a arma recebeu atributos no movements).

 

E essa checagem seria tipo:

 

if getPlayerLevel(cid) >= 50 then 

(equipa)

else

(não equipa)

 

ou seria um script que só daria os atributos se o player for lvl 50 (mas ainda assim da pra equipa)??

Editado por Hoad (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
  • 1 year later...

Olá, estou com um problema nesse script, pois ao desequipar o item o que é removido é o tipo de condition e não aquela condition específica do item. Assim, conditions do msm tipo que estiverem atuando no char serão removidas. Dá para ajeitar isso?

Editado por Hoad (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
  • 2 weeks later...

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

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo