Ir para conteúdo
  • Cadastre-se

(Resolvido)[PEDIDO] Arma que drena vida.


Ir para solução Resolvido por gerson,

Posts Recomendados

Boa tarde,

 

Galera já procurei em diversos foruns, já vasculhei o Tibia King, mas até hoje nao encontrei algo que "funcione" ou me agrade!

Bem o que eu quero é que quando o player usar a arma Dreaded Cleaver [ID: 7419], em um monstro/player a mesma irá regenerar a vida do jogador tendo como base uma porcentagem (50%) do dano causado no ataque.

A porcentagem seria 50% do dano causado, (podendo ser ajustada). E ao causar o dano iria aparecer na tela a quantidade que foi regenerado.

Exemplo.

Jogador ataca um Cyclops causando 200 de dano. Logo em seguida iria recuperar o life do mesmo, (mostrando que foi curado 100 de VIDA).

 

Estou precisando muito disso,! conto com a ajuda de todos que puderem!

Desde já agradeço, e caso tenham alguma duvida estou a disposição.....^^

 

Meus Trabalhos:

 

*Spell Rajada de Flechas: http://migre.me/eI3aE

 

 

 

 

gif1705.gif

 

Link para o post
Compartilhar em outros sites

Amigo, da maneira que vc descreveu no seu exemplo, vc quer q a arma hite 200 e devolva 100 em seguida.

É esta mesmo sua idéia ou o q vc quer é um sistema de absorb? Exemplo, hita 200 do cyclops e regenera 100 do player que atacou o cyclops.

Te ajudei? Clique em  Gostei ! 

²²²d¬¬b²²²

 

 

"She's got a smile that it seems to me...."  ♪♪

Link para o post
Compartilhar em outros sites

E quanto a arma deve hitar? Estipule hit minimo e hit máximo.

Te ajudei? Clique em  Gostei ! 

²²²d¬¬b²²²

 

 

"She's got a smile that it seems to me...."  ♪♪

Link para o post
Compartilhar em outros sites

Ok... Vamos lá:

 

data/weapons/weapons.xml

 

Procure por uma tag referente ao item ID 7419.. encontrou? ótimo substitua ela por esta:

Citar

    <wand id="7419" level="XX" mana="2" type="physical" event="script" value="7419hit.lua">
        <vocation id="4"/>

        <vocation id="8"/>
    </wand>

XX <<-- Level necessário para usar a arma

<<-- Mana que irá gastar por hit. Caso n queira que gasta mana basta botar 0

        <vocation id="4"/> <<<- Vocations que irão usar a arma, configurei para knight, se quiser mais basta adicionar mais tags com as ids.

        <vocation id="8"/> <<<-

 

data/weapons/scripts crie um arquivo 7419hit.lua e adicione isto dentro:

Citar

function onUseWeapon(cid, var)
    local target = getCreatureTarget(cid)
    local targetpos = getCreaturePosition(target)
    if target ~= 0 then
        local hit = math.random(100, 300)
                doCreatureAddHealth(target, -hit)
                doCreatureAddHealth(cid, math.ceil(hit * 50/100))
                doSendMagicEffect(targetpos, 13)
                doSendAnimatedText(targetpos,hit, TEXTCOLOR_RED)
                doSendMagicEffect(getCreaturePosition(cid), CONST_ME_MAGIC_BLUE)
        end
                return true
        end

 

Agora vá em data/items/items.xml e procure pelo item id 7419

Altere ele mais ou menos assim e edite ao seu gosto:

Obs* Não deixe tag de <attribute key="attack" value=

Citar

    <item id="7419" article="a" name="dreaded cleaver">
        <attribute key="weight" value="3800"/>
        <attribute key="defense" value="19"/>
        <attribute key="description" value="Attack: Min 100 max 300."/>
        <attribute key="weaponType" value="axe"/>
    </item>

 

Te ajudei? Clique em  Gostei ! 

²²²d¬¬b²²²

 

 

"She's got a smile that it seems to me...."  ♪♪

Link para o post
Compartilhar em outros sites

Ohh mano, aparece este erro.

 

[23:48:25.742] > Loading weapons... [Error - LuaInterface::loadFile] cannot open data/weapons/scripts/7419hit.lua:
 No such file or directory
[23:48:25.751] [Error - Event::checkScript] Cannot load script (data/weapons/scripts/7419hit.lua)
[23:48:25.757] cannot open data/weapons/scripts/hit.lua: No such file or directory

mano na verdade não está dando nenhum hit. Esta curando mas nao tira nenhum dano.

 

e ta aparecendo isso.

 

doSendAnimatedText is now a deprecated function.
doSendAnimatedText is now a deprecated function.
doSendAnimatedText is now a deprecated function.
doSendAnimatedText is now a deprecated function.
doSendAnimatedText is now a deprecated function.
doSendAnimatedText is now a deprecated function.
doSendAnimatedText is now a deprecated function.
doSendAnimatedText is now a deprecated function.
doSendAnimatedText is now a deprecated function.
doSendAnimatedText is now a deprecated function.
doSendAnimatedText is now a deprecated function.
doSendAnimatedText is now a deprecated function.
doSendAnimatedText is now a deprecated function.
doSendAnimatedText is now a deprecated function.
doSendAnimatedText is now a deprecated function.
doSendAnimatedText is now a deprecated function.
doSendAnimatedText is now a deprecated function.
doSendAnimatedText is now a deprecated function.

Meus Trabalhos:

 

*Spell Rajada de Flechas: http://migre.me/eI3aE

 

 

 

 

gif1705.gif

 

Link para o post
Compartilhar em outros sites

Estranho, antes de postar eu testei aqui e funcionou.

Qual seu TFS?

posta seu weapons.xml

Te ajudei? Clique em  Gostei ! 

²²²d¬¬b²²²

 

 

"She's got a smile that it seems to me...."  ♪♪

Link para o post
Compartilhar em outros sites

Esse que vc postou não é o mesmo de quando ocorreu o erro que vc postou ali em cima...

Verifique se o script .lua que vc setou na tag em weapons.xml coincide com o nome que vc deixou o script .lua na pasta scripts.

@gerson

Perguntando mais uma vez, Qual seu TFS?

Editado por luangop (veja o histórico de edições)

Te ajudei? Clique em  Gostei ! 

²²²d¬¬b²²²

 

 

"She's got a smile that it seems to me...."  ♪♪

Link para o post
Compartilhar em outros sites

Ah porisso... a função  doSendAnimatedText não funciona em TFS 1.0 .... e infelizmente não sei qual função faz isso na 1.0 :/

Te ajudei? Clique em  Gostei ! 

²²²d¬¬b²²²

 

 

"She's got a smile that it seems to me...."  ♪♪

Link para o post
Compartilhar em outros sites
  • 2 weeks later...
  • Solução

Olá consegui achar um topico em outro Forum, que respondel a minha pergunta.

Respondida pelo [Limos] em 26 de NOV 2012.

 

Segue

Criar uma tag em Weapon.xml

 

Citar

    <!-- Dreadead Clever -->    
        <melee id="7419" level="50" unproperly="1" type="physical" event="script" value="hit2.lua">
        </melee>

e logo em seguida inserir o script Weapon.lua

 

Citar

local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_BLOCKARMOR, 1)
setCombatParam(combat, COMBAT_PARAM_BLOCKSHIELD, 1)
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatFormula(combat, COMBAT_FORMULA_SKILL, 0, 0, 1.0, 0)

function onUseWeapon(cid, var)
local skill = getPlayerSkill(cid,SKILL_AXE) -- Change this to the type of weapon you are using
local mat = 0.085*0.5*50*skill+(getPlayerLevel(cid)/5) -- Change 50 to the attack of the weapon
local min = 25 -- this means 5% minimum healing
local max = 40 -- this means 15% maximum healing
local addhealth = math.random((mat * (min/100)), (mat * (max/100)))

if getPlayerLevel(cid) >= 20 then
doCreatureAddHealth(cid, addhealth)
doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE) 
doCombat(cid, combat, var)
else
doPlayerSendCancel(cid, 'You need level 20 to use this weapon.')
end
end
 

 

Meus Trabalhos:

 

*Spell Rajada de Flechas: http://migre.me/eI3aE

 

 

 

 

gif1705.gif

 

Link para o post
Compartilhar em outros sites

Boa noite, já tinha respondido como resolvi.

ai votei como melhor resposta e ela subiu... ta la em cima da uma olhada

Falando nisso se ajudei da +REP

Obrigado!

Meus Trabalhos:

 

*Spell Rajada de Flechas: http://migre.me/eI3aE

 

 

 

 

gif1705.gif

 

Link para o post
Compartilhar em outros sites

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.

  • Conteúdo Similar

    • Por gangor
      Queria saber duas coisas se é possivel botar lifesteal em uma arma  e a arma upar de acordo com o level ?
      ex: lv1: arma atk 10+ life steal 2
           lv2: arma atk 11+ life steal 3
          .lv100: arma atk 50 life steal 20
       queria saber se alguem poderia me ajudar com isso?    
    • Por lazarus321
      Olá,
      Server tfs 1.3
       
      É possível configurar um dano max e min de um drop de arma? 
      Após matar o monstro o item (sword) teria chance aleatória de vim atk e def variados 
      Ex. Item - sword atk 10 def 8 quando dropar  (sword atk 10 a 20 e  def 8 a 12)
       
      como resultado do drop teríamos uma sword atk 12 e def 10.
       
    • Por Beyond Sky
      Fiz um script que funciona da seguinte maneira, o player posiciona uma arma em uma mesa e um item que funcionaria com uma gema encantadora em outra mesa então puxa a alavanca os dois items somem e surge uma arma encantada, porém existem quatro locais diferentes para se fazer isso o local onde será encantada uma arma de fogo, um local para arma de gelo, para arma de tera e a de energy cada elemento terá uma chance diferente para ter sucesso no aprimoramento da arma, okay fiz tudo certinho ao meu ver porém na hora que fui testar fiz as devidas ações (posicionei os items e puxei alavanca) e aparece o erro da função getitem se alguém poder me ajudar agradeço.


      function onUse(cid, item, fromPos, itemEx, toPos) -- [[INICIO CONFIG - Beyond Sky]] armasfire = { [1] = {id = 2383, idfire = 7744, item = "spike sword"}, [2] = {id = 7383, idfire = 7748, item = "relic sword"}, [3] = {id = 7384, idfire = 7746, item = "mystic blade"}, [4] = {id = 7406, idfire = 7747, item = "blacksteel sword"}, [5] = {id = 7402, idfire = 7748, item = "dragon slayer"}, [6] = {id = 2423, idfire = 7754, item = "clerical mace"}, [7] = {id = 2445, idfire = 7755, item = "crystal mace"}, [8] = {id = 7415, idfire = 7756, item = "cranial basher"}, [9] = {id = 7392, idfire = 7757, item = "orcish maul"}, [10] = {id = 2391, idfire = 7758, item = "war hammer"}, [11] = {id = 2429, idfire = 7749, item = "barbarian axe"}, [12] = {id = 7402, idfire = 7750, item = "knight axe"}, [13] = {id = 7402, idfire = 7751, item = "heroic axe"}, [14] = {id = 7402, idfire = 7752, item = "headchopper"}, [15] = {id = 7402, idfire = 7753, item = "war axe"} } armasice = { [1] = {id = 2383, idice = 7763,item = "spike sword"}, [2] = {id = 7383, idice = 7764, item = "relic sword"}, [3] = {id = 7384, idice = 7765, item = "mystic blade"}, [4] = {id = 7406, idice = 7766, item = "blacksteel sword"}, [5] = {id = 7402, idice = 7767, item = "dragon slayer"}, [6] = {id = 2423, idice = 7773, item = "clerical mace"}, [7] = {id = 2445, idice = 7774, item = "crystal mace"}, [8] = {id = 7415, idice = 7775, item = "cranial basher"}, [9] = {id = 7392, idice = 7776, item = "orcish maul"}, [10] = {id = 2391, idice = 7777, item = "war hammer"}, [11] = {id = 2429, idice = 7768, item = "barbarian axe"}, [12] = {id = 7402, idice = 7769, item = "knight axe"}, [13] = {id = 7402, idice = 7770, item = "heroic axe"}, [14] = {id = 7402, idice = 7771, item = "headchopper"}, [15] = {id = 7402, idice = 7772, item = "war axe"} } armastera = { [1] = {id = 2383, idtera = 7854, item = "spike sword"}, [2] = {id = 7383, idtera = 7855, item = "relic sword"}, [3] = {id = 7384, idtera = 7856, item = "mystic blade"}, [4] = {id = 7406, idtera = 7857, item = "blacksteel sword"}, [5] = {id = 7402, idtera = 7858, item = "dragon slayer"}, [6] = {id = 2423, idtera = 7864, item = "clerical mace"}, [7] = {id = 2445, idtera = 7865, item = "crystal mace"}, [8] = {id = 7415, idtera = 7866, item = "cranial basher"}, [9] = {id = 7392, idtera = 7867, item = "orcish maul"}, [10] = {id = 2391, idtera = 7868, item = "war hammer"}, [11] = {id = 2429, idtera = 7859, item = "barbarian axe"}, [12] = {id = 7402, idtera = 7860, item = "knight axe"}, [13] = {id = 7402, idtera = 7861, item = "heroic axe"}, [14] = {id = 7402, idtera = 7862, item = "headchopper"}, [15] = {id = 7402, idtera = 7863, item = "war axe"} } armasenergy = { [1] = {id = 2383, idenergy = 7869, item = "spike sword"}, [2] = {id = 7383, idenergy = 7870, item = "relic sword"}, [3] = {id = 7384, idenergy = 7871, item = "mystic blade"}, [4] = {id = 7406, idenergy = 7872, item = "blacksteel sword"}, [5] = {id = 7402, idenergy = 7873, item = "dragon slayer"}, [6] = {id = 2423, idenergy = 7879, item = "clerical mace"}, [7] = {id = 2445, idenergy = 7880, item = "crystal mace"}, [8] = {id = 7415, idenergy = 7881, item = "cranial basher"}, [9] = {id = 7392, idenergy = 7882, item = "orcish maul"}, [10] = {id = 2391, idenergy = 7883, item = "war hammer"}, [11] = {id = 2429, idenergy = 7874, item = "barbarian axe"}, [12] = {id = 7402, idenergy = 7875, item = "knight axe"}, [13] = {id = 7402, idenergy = 7876, item = "heroic axe"}, [14] = {id = 7402, idenergy = 7877, item = "headchopper"}, [15] = {id = 7402, idenergy = 7878, item = "war axe"} } chancepos = { [1] = {idignitum = 6550, chance = 75, posignitum = {x=2229, y=2081, z=8, stackpos = 255}, posarma = {x=2229, y=2081, z=8, stackpos = 255}, spot = "fire"}, [2] = {idignitum = 6551, chance = 50, posignitum = {x=2229, y=2081, z=8, stackpos = 255}, posarma = {x=2229, y=2081, z=8, stackpos = 255}, spot = "ice"}, [3] = {idignitum = 6549, chance = 25, posignitum = {x=2229, y=2081, z=8, stackpos = 255}, posarma = {x=2229, y=2081, z=8, stackpos = 255}, spot = "tera"}, [4] = {idignitum = 6548, chance = 15, posignitum = {x=2229, y=2081, z=8, stackpos = 255}, posarma = {x=2229, y=2081, z=8, stackpos = 255}, spot = "energy"}, } local uniqid = 9999 -- [[FIM CONFIG - Beyond Sky]] for i = 1, 15 do getitemfire = getThingfromPos(chancepos[1].posignitum) getitemice = getThingfromPos(chancepos[2].posignitum) getitemtera = getThingfromPos(chancepos[3].posignitum) getitemenergy = getThingfromPos(chancepos[4].posignitum) getitemfire2 = getThingfromPos(chancepos[1].posarma) getitemice2 = getThingfromPos(chancepos[2].posarma) getitemtera2 = getThingfromPos(chancepos[3].posarma) getitemenergy2 = getThingfromPos(chancepos[4].posarma) if item.uid == uniqid and item.itemid == 9825 then if (chancepos[i].chance >= math.random(1, 100)) then if (getitemfire.itemid == (chancepos[1].idignitum)) and (getitemfire2.itemid == (armasfire[i].id)) then doRemoveItem(getitemfire.uid,1) doRemoveItem(getitemfire2.uid,1) doSendMagicEffect(getitemfire, CONST_ME_MAGIC_RED) doCreateItem(armasfire[i].idfire, 1, getitemfire2) doSendMagicEffect(getitemfire2, CONST_ME_FIREAREA) doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "His weapon was successfully improved.") elseif (getitemice.itemid == (chancepos[2].idignitum)) and (getitemice2.itemid == (armasice[i].id)) then doRemoveItem(getitemice.uid,1) doRemoveItem(getitemice2.uid,1) doSendMagicEffect(getitemice, CONST_ME_MAGIC_BLUE) doCreateItem(armasice[i].idice, 1, getitemice2) doSendMagicEffect(getitemice2, CONST_ME_ICEAREA) doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "His weapon was successfully improved.") elseif (getitemtera.itemid == (chancepos[1].idignitum)) and (getitemtera2.itemid == (armastera[i].id)) then doRemoveItem(getitemtera.uid,1) doRemoveItem(getitemtera2.uid,1) doSendMagicEffect(getitemtera, CONST_ME_MAGIC_GREEN) doCreateItem(armastera[i].idtera, 1, getitemtera2) doSendMagicEffect(getitemtera2, CONST_ANI_EARTH) doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "His weapon was successfully improved.") elseif (getitemenergy.itemid == (chancepos[1].idignitum)) and (getitemenergy22.itemid == (armasenergy[i].id)) then doRemoveItem(getitemenergy.uid,1) doRemoveItem(getitemenergy2.uid,1) doSendMagicEffect(getitemenergy, CONST_ME_ENERGYHIT) doCreateItem(armasfire[i].idenergy, 1, getitemenergy2) doSendMagicEffect(getitemenergy2, CONST_ME_ENERGYAREA) doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "His weapon was successfully improved.") else doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "You are not using the necessary items or the items are not positioned correctly.") return TRUE end else doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "Failed, not succeeded in improve its weapon. You lost both items.") end elseif item.uid == uniqid and item.itemid == 9826 then doTransformItem(item.uid, item.itemid - 1) end end end
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo