Ir para conteúdo
Entre para seguir isso  
sequeled

Metamorfose

Recommended Posts

sequeled    0
sequeled

  • Nome: Sistema de metamorfose!
  • Autor: Lucas Duca
  • Versão testada: TFS 0.4

 

Informações adicionais

E ae tibianos,

Estava no meu ot pensando em oque fazer para deixar as wars sinistras

 

Decidi intão fazer um script de metamorfose

No meu ot só vip consegue o item necessario

hehehe

 

Ele funciona assim:

 

Voce da use no item que você definiu no action.xml

então você fica com aparencia de morgaroth seu hp dobra e sua mana tambem,

heala +, aumenta os skills ,magic level e velocidade temporariamente.

 

No meu ot eu botei o item de id 9971 e renomeei no itens.xml

axo que o nome do item é golden ingot

 

Em data\actions\actions.xml adicione

<!-- Metamorfose -->
<action itemid="9971" event="script" value="meta.lua"/>

Depois crie um arquivo em data\actions\scripts\

chamado meta.lua

e adicione dentro

 ----- Configuração do script -----
local config = {
   outfit = 12,                     -- Outfit que ficara
   melee = 100,                     -- Acrescenta temporariamente ("condition") --
   club = 100,     
   sword = 100,     
   axe = 100,     
   shield = 100,     
   dist = 100, 
   ml = 100,                        -- magic level    
   maxhp = 2,                         -- duplica o hp
   maxmp = 2,                        -- duplica a mana
   hp = 100,                         -- hp para healar
   mp = 100,                         -- mp para healar
   speed = 2,                        -- multiplica 2 * (2.7, -36, 2.7, -36)
   interval = 6                    -- 1 minuto que durara esse script
}



function onUse(cid, item, fromPosition, itemEx, toPosition)

   -- CONDITIONS ---

   local PZ = createConditionObject(CONDITION_INFIGHT)
   setConditionParam(PZ, CONDITION_PARAM_TICKS, config.interval*10000)
   local SKILL= createConditionObject(CONDITION_ATTRIBUTES)
   setConditionParam(SKILL, CONDITION_PARAM_TICKS, config.interval*10000)
   setConditionParam(SKILL, CONDITION_PARAM_SKILL_MELEE, config.melee)
   setConditionParam(SKILL, CONDITION_PARAM_SKILL_CLUB, config.club)
   setConditionParam(SKILL, CONDITION_PARAM_SKILL_SWORD, config.sword)
   setConditionParam(SKILL, CONDITION_PARAM_SKILL_AXE, config.axe)
   setConditionParam(SKILL, CONDITION_PARAM_SKILL_SHIELD, config.shield)
   setConditionParam(SKILL, CONDITION_PARAM_SKILL_DISTANCE, config.dist)
   setConditionParam(SKILL, CONDITION_PARAM_STAT_MAXHEALTH, getCreatureMaxHealth(cid)*config.maxhp-getCreatureMaxHealth(cid))
   setConditionParam(SKILL, CONDITION_PARAM_STAT_MAXMANA, getCreatureMaxMana(cid)*config.maxmp-getCreatureMaxMana(cid))
   setConditionParam(SKILL, CONDITION_PARAM_STAT_MAGICLEVEL, config.ml)
   local SPEED = createConditionObject(CONDITION_HASTE)
   setConditionParam(SPEED, CONDITION_PARAM_TICKS, config.interval*10000)
   setConditionFormula(SPEED, 2.7*config.speed, -36*config.speed, 2.7*config.speed, -36*config.speed)

   -- FIM DE CONDITIONS --


   if getCreatureCondition(cid, CONDITION_ATTRIBUTES) then
       doPlayerSendCancel(cid,"You already transmuted!")
   else
       doAddCondition(cid, PZ)
       doAddCondition(cid, SKILL)
       doAddCondition(cid, SPEED)
       doCreatureAddMana(cid,getCreatureMaxMana(cid))
       doCreatureAddHealth(cid,getCreatureMaxHealth(cid))
       doSetCreatureOutfit(cid, {lookType=config.outfit,lookHead=0,lookAddons=87,lookLegs=87,lookBody=87,lookFeet=0}, config.interval*10000)
       addEvent(metamorfose, 1000, cid, config.interval*10)
       doRemoveItem(item.uid, 1)
   end
   return TRUE
end 


function metamorfose(tid, rep)
   local nb = getCreaturePosition(tid) -- para o effect
   rep = rep - 1
   if rep > 0 then
    addEvent(metamorfose, 1000, tid, rep)
    doSendMagicEffect(nb,31)
    doCreatureAddMana(tid,config.hp)
    doCreatureAddHealth(tid, config.mp)
doPlayerSendCancel(tid,"This transmutation expires in "..rep.." seconds." )
   end
end

17894476.jpg

Editado por Kaotar
Identação

Compartilhar este post


Link para o post
Kaotar    5
Kaotar

Muito bom o script. No futuro, sempre que fizer um script com addEvent e um dos parametros for uma CreatureID use uma verificação isPlayer(cid) ou isCreature(cid) para que não de bug caso o player deslogue/morra. Seria interessante colocar a condition (CONDITION_INFIGHT), enquanto estiver com na Metarmorfose. Contudo está aprovado.

 

Aprovado e Movido.

Tópico remunerado, Actions nível intermediário

Editado por Kaotar

Compartilhar este post


Link para o post
sequeled    0
sequeled

rsrs obrigado

leia o script com calma e vc vera que

la ja tem (condition_infight)

porem tem o problema do player morrer e dar uma mensagem de erro no console do server

+ n é nada grave n

Editado por sequeled
é complicado mesmo

Compartilhar este post


Link para o post
gonorreiaswat    0
gonorreiaswat

Pior que aqui no meu server não funcionou os Skill's, HP & MP não foram alterados'

Só o outfit e os efeitos que funcionaram'

 

:T

Compartilhar este post


Link para o post
Visitante
Este tópico está impedido de receber novos posts.
Entre para seguir isso  
  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×