Ir para conteúdo

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

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

@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

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

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.

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

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

 

  • 3 months later...
A questão neste tópico de suporte foi encerrada por falta de resposta. Este tópico está fechado e foi movido para Suporte - Tópicos Sem Resposta
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...