Ir para conteúdo

[Encerrado] [Dúvida] Fazer uma vocação ter resistência a elemento


LeoTK

Posts Recomendados

Fala guys estava aqui pensando existe alguma maneira de colocar resistência de algum elemento em alguma vocação? por exemplo:

 

<vocation id="1" name="Naruto" description="a naruto" needpremium="0" gaincap="10" gainhp="10" gainmana="14" gainhpticks="1" gainhpamount="10" gainmanaticks="1" gainmanaamount="14" manamultiplier="1.1" attackspeed="1500" soulmax="5000" gainsoulticks="10" absorvelement="wind" absorvpercent="10" fromvoc="1"><formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/><skill fist="1.0" club="1.0" sword="1.0" axe="1.0" distance="1.0" shielding="1.0" fishing="1.0" experience="1.0"/></vocation>

Adicionado essas duas linhas 

 

absorvelement="wind" absorvpercent="10"

assim a vocação 1 ao tomar dano do elemento wind ira absorver 10% do dano recebido

Link para o comentário
Compartilhar em outros sites

Em 07/08/2017 at 15:52, Brunds disse:

Fala guys estava aqui pensando existe alguma maneira de colocar resistência de algum elemento em alguma vocação? por exemplo:

 

Rapaz, acho que assim vai. :ok:

 

Em creaturescripts/scripts:

 

elementResistence.lua

 

Spoiler
local t = {[1] = {resistence = 10, element = COMBAT_FIREDAMAGE},[2] = {resistence = 20, element = COMBAT_EARTHDAMAGE},[3] = {resistence = 30, element = COMBAT_FIREDAMAGE},[4] = {resistence = 40, element = COMBAT_ICEDAMAGE}}function onStatsChange(cid, attacker, type, combat, value)    local m = t[getPlayerVocation(cid)]    if m == nil then return true end        if (type == STATSCHANGE_HEALTHLOSS or type == STATSCHANGE_MANALOSS) and combat == m.element then                 if getPlayerStorageValue(cid, 16464) > 0 then                    local block = math.ceil(value*0.01*m.resistence)                    doCreatureAddHealth(cid, block)	                    doSendAnimatedText(getPlayerPosition(cid), "+"..block, COLOR_GREEN)                end        endreturn trueend-- Script by Leoxtibia

 

 

Lembrando que os elementos são: (pelo menos para alguns servidores)

 

COMBAT_NONE = 0COMBAT_PHYSICALDAMAGE = 1COMBAT_ENERGYDAMAGE = 2COMBAT_EARTHDAMAGE = 4COMBAT_POISONDAMAGE = 4COMBAT_FIREDAMAGE = 8COMBAT_UNDEFINEDDAMAGE = 16COMBAT_LIFEDRAIN = 32COMBAT_MANADRAIN = 64COMBAT_HEALING = 128COMBAT_DROWNDAMAGE = 256COMBAT_ICEDAMAGE = 512COMBAT_HOLYDAMAGE = 1024COMBAT_DEATHDAMAGE = 2048

 

 

No login.lua:

 

Spoiler
local t = {[1] = {resistence = 10},[2] = {resistence = 20},[3] = {resistence = 30},[4] = {resistence = 40}}registerCreatureEvent(cid, "AbsorbElement")setPlayerStorageValue(cid, 16464, t[getPlayerVocation(cid)].resistence)

 

 

 

Em creaturescripts.xml, adicione a tag: <event type="statschange" name="AbsorbElement" event="script" value="elementResistence.lua"/>

Editado por Leoxtibia
Link para o comentário
Compartilhar em outros sites

@Leoxtibia Testei não funfou é 0.3.6 ... testei de diversas formas possiveis coloquei para bloequear 98% do dano para ver se estava funcionando mesma coisa que nada

Link para o comentário
Compartilhar em outros sites

Testei aqui agora no tfs 0.4 e funcionou 100%. A vocação que você testou é um dos ids que eu tinha colocado? [1], [2], [3] ou [4]? Se não for, adicione lá. A resistência ali funciona da seguinte forma:

resistence = 10 -- vai bloquear 10%, ou seja, se o player tiver resistência ao elemento o hit que seria de 10 será de 9

Resumindo, vai mostrar o hit normal e o quanto healou devido a resistência ao elemento: 10 +1

 

 

Seus tipos de danos são esses também? Se não for, troque para os seus.

COMBAT_NONE = 0COMBAT_PHYSICALDAMAGE = 1COMBAT_ENERGYDAMAGE = 2COMBAT_EARTHDAMAGE = 4COMBAT_POISONDAMAGE = 4COMBAT_FIREDAMAGE = 8COMBAT_UNDEFINEDDAMAGE = 16COMBAT_LIFEDRAIN = 32COMBAT_MANADRAIN = 64COMBAT_HEALING = 128COMBAT_DROWNDAMAGE = 256COMBAT_ICEDAMAGE = 512COMBAT_HOLYDAMAGE = 1024COMBAT_DEATHDAMAGE = 2048
Editado por Leoxtibia
Link para o comentário
Compartilhar em outros sites

51 minutos atrás, Leoxtibia disse:

Testei aqui agora no tfs 0.4 e funcionou 100%. A vocação que você testou é um dos ids que eu tinha colocado? [1], [2], [3] ou [4]? Se não for, adicione lá. A resistência ali funciona da seguinte forma:

resistence = 10 -- vai bloquear 10%, ou seja, se o player tiver resistência ao elemento o hit que seria de 10 será de 9

Resumindo, vai mostrar o hit normal e o quanto healou devido a resistência ao elemento: 10 +9

 

 

Seus tipos de danos são esses também? Se não for, troque para os seus.

COMBAT_NONE = 0COMBAT_PHYSICALDAMAGE = 1COMBAT_ENERGYDAMAGE = 2COMBAT_EARTHDAMAGE = 4COMBAT_POISONDAMAGE = 4COMBAT_FIREDAMAGE = 8COMBAT_UNDEFINEDDAMAGE = 16COMBAT_LIFEDRAIN = 32COMBAT_MANADRAIN = 64COMBAT_HEALING = 128COMBAT_DROWNDAMAGE = 256COMBAT_ICEDAMAGE = 512COMBAT_HOLYDAMAGE = 1024COMBAT_DEATHDAMAGE = 2048

simplesmente não funcionou o meu é 0.3.6 ele toma o dano todo normalmente não aparece nada só o dano normal que o char toma nada mais

Link para o comentário
Compartilhar em outros sites

4 minutos atrás, Fjinst disse:

Leo, seguindo esse raciocínio ai da pra fazer uma magia que bloqueia porcentagem de dano? estilo uma magia que tem um efeito de SSA por alguns segundos.

Cria uma Spell que seta uma storage com segundos , e poem pra executar a creaturescripts com a storage

Link para o comentário
Compartilhar em outros sites

@Leoxtibia

 

Achei isso em outro fórum porém testei e não funfou mas era isso que estava pensando em fazer

 

<vocation id="4" name="Knight" description="a knight" needpremium="0" gaincap="25" gainhp="15" gainmana="5" gainhpticks="6" gainhpamount="1" gainmanaticks="6" gainmanaamount="2" manamultiplier="3.0" attackspeed="2000" soulmax="100" gainsoulticks="120" fromvoc="4">
<formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/>
<skill fist="1.1" club="1.1" sword="1.1" axe="1.1" distance="1.4" shielding="1.1" fishing="1.1" experience="1.0"/>
<absorb percentEnergy="12"/>
<absorb percentFire="14"/>
<absorb percentPoison="10"/>
<absorb percentice="8"/>
<absorb percentHoly="-7"/>
<absorb percentPhysical="-7"/>
<absorb percentDeath="5"/>
<absorb percentLifeDrain="0"/>
<absorb percentManaDrain="15"/>
<absorb percentDrown="0"/>
</vocation>

 

Link para o comentário
Compartilhar em outros sites

  • 3 months later...
Visitante
Este tópico está impedido de receber novos posts.
  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...