Ir para conteúdo
  • Cadastre-se

Spell TFS 0.X Script exori hur imitando o martelo de Thor


Posts Recomendados

Fala galeritcha, este script imita o ''martelo de Thor'', ele funciona da seguinte forma: Após o knight falar a magia (no meu caso exori hur), um martelo vai girando em linha reta de acordo com o lado em que o player estiver virado. O martelo vai em efeito de boomerang, ele vai e volta para o dono da magia dando ataque em todos que estão no caminho, o dano é duplicado (são 2 danos), uma vez que 1 dano corresponde à ida e outro corresponde ao do martelo voltando.  0.x - 

unknown credits, enjoy.

Praticamente as principais coisas são editáveis dentro do script logo no começo, deixarei escrito dentro dele para ficar mais fácil. Let's go ?

Em spells/scripts/attack coloque: 

 

local config = {
    distance =  6,  -- distância em que o martelo irá chegar (no caso ele está configurado para percorrer 6 sqm's e depois voltar)
    distEffect = 25, -- efeito que irá causar. Fale /x ingame junto com um número e veja os efeitos que mais te agrada, depois só substituir o 25 pelo número do efeito escolhido. No caso o efeito que eu escolhi é justamente de um martelo.
    minDamage = 200,   --Qual o dano mínimo que você deseja que esta magia tire ?
    maxDamage = 500, -- Qual o dano máximo que você deseja que esta magia tire ? - Lembrando que são dois danos distintos de ida e outro de volta
    interval = 750  -- Após soltar a magia, quanto tempo levará para o martelo retornar para você ? - Coloque o tempo em milésimos de segundos
}

function getPosisBetween(fromPos, toPos)
    local posis = {}
    for i = 1, getDistanceBetween(fromPos, toPos) do
        local choices = {fromPos.x, fromPos.x + 1, fromPos.x - 1}
        if fromPos.x ~= toPos.x then
            table.sort(choices, function(a, b) if fromPos.x - toPos.x < 0 then return a > b else return a < b end end)
            fromPos.x = choices[1]
        end
        if fromPos.y ~= toPos.y then
            choices = {fromPos.y, fromPos.y + 1, fromPos.y - 1}
            table.sort(choices, function(a, b) if fromPos.y - toPos.y < 0 then return a > b else return a < b end end)
            fromPos.y = choices[1]
        end
        table.insert(posis, {x = fromPos.x, y = fromPos.y, z = fromPos.z})
    end
    return posis
end

function onCastSpell(cid)
    local playerPos = getThingPos(cid)
    local toPos = {
        [0] = {x = playerPos.x, y = playerPos.y - config.distance, z = playerPos.z},
        [1] = {x = playerPos.x + config.distance, y = playerPos.y, z = playerPos.z},
        [2] = {x = playerPos.x, y = playerPos.y + config.distance, z = playerPos.z},
        [3] = {x = playerPos.x - config.distance, y = playerPos.y, z = playerPos.z}
    }
    local spellToPos = toPos[getCreatureLookDirection(cid)]
    local posis = getPosisBetween(getThingPos(cid), spellToPos)
    doSendDistanceShoot(getThingPos(cid), spellToPos, config.distEffect)
    for i = 1, #posis do
        if not getTileInfo(posis[i]).protection then
            local pid = getTopCreature(posis[i]).uid
            if isMonster(pid) or isPlayer(pid) then
                doTargetCombatHealth(cid, pid, COMBAT_PHYSICALDAMAGE, -config.minDamage, -config.maxDamage, -1)
            end
        end
    end
    addEvent(function()
        if not isPlayer(cid) then return true end
        doSendDistanceShoot(spellToPos, getThingPos(cid), config.distEffect)
        posis = getPosisBetween(spellToPos, getThingPos(cid))
        for i = 1, #posis do
            if not getTileInfo(posis[i]).protection then
                local pid = getTopCreature(posis[i]).uid
                if isMonster(pid) or isPlayer(pid) then
                    doTargetCombatHealth(cid, pid, COMBAT_PHYSICALDAMAGE, -config.minDamage, -config.maxDamage, -1)
                end
            end
        end
    end, config.interval)
    return true
end

Em spells.xml coloque:

<instant name="Whirlwind Throw" words="exori hur" lvl="200" mana="500" prem="1" needweapon="1" range="5" needtarget="1" blockwalls="1" exhaustion="1800" maglv="7" needlearn="0" script="attack/Whirlwind Throw.lua">
        <vocation id="4"/>
        <vocation id="8"/>

 

-- em words = o nome que deverá ser dito para soltar a spell

    mana = quanto de mana gastará ?

    needweapon = precisa estar equipado com uma arma para soltá-la ?

   range = configurável dentro do script

   needtarget = Precisa estar targetando alguém para soltar esta magia ? - Lembrando que caso coloque ''1'', precisará targetar um alvo para soltar a spell, porém isso não influencia na direção da magia. Ela soltará para onde o personagem estiver virado, como um exevo gran vis lux por exemplo.

   maglv = Qual o magic level necessário para conjurar esta magia ?

 

Espero que divirta bastante gente, eu dei uns berro aqui quando vi ela em pratica haha. See you !

 

exori hur.png

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

                                                                                                               destinyshield.gif.9f031b59b026058f32a1c50da92ebe2a.gif  mídias sociais  destinyshield.gif.02fca81ab0615e050b2bcefd8a73a2e8.gif

                                                                                                                            talk to me              

                                                                                                                               vídeos           

                                                                                             

                                                                                                            LOGONORMAL.png.815b40b04ec583be88d8a1e2626fe430.png

                                                                                                           

                               

Link para o post
Compartilhar em outros sites

Muito genial, Cipsoft aprende kkkk.

 

podia por um gif, embora a img mostre bem como funciona.

 

Parabens pelo script e obrigado por postar pra nós.

Link para o post
Compartilhar em outros sites
10 minutos atrás, Nolis disse:

Muito genial, Cipsoft aprende kkkk.

 

podia por um gif, embora a img mostre bem como funciona.

 

Parabens pelo script e obrigado por postar pra nós.

recomenda algum programa para fazer gifs ? Eu posto em imagens por ser o jeito que eu conheço. Mas seria ótimo um programa que faz gifs da tela.

                                                                                                               destinyshield.gif.9f031b59b026058f32a1c50da92ebe2a.gif  mídias sociais  destinyshield.gif.02fca81ab0615e050b2bcefd8a73a2e8.gif

                                                                                                                            talk to me              

                                                                                                                               vídeos           

                                                                                             

                                                                                                            LOGONORMAL.png.815b40b04ec583be88d8a1e2626fe430.png

                                                                                                           

                               

Link para o post
Compartilhar em outros sites

Ou Gifcam, gyazo.

 

Pra que TFS e?

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

0.x

                                                                                                               destinyshield.gif.9f031b59b026058f32a1c50da92ebe2a.gif  mídias sociais  destinyshield.gif.02fca81ab0615e050b2bcefd8a73a2e8.gif

                                                                                                                            talk to me              

                                                                                                                               vídeos           

                                                                                             

                                                                                                            LOGONORMAL.png.815b40b04ec583be88d8a1e2626fe430.png

                                                                                                           

                               

Link para o post
Compartilhar em outros sites
7 minutos atrás, Fabi Marzan disse:

otx 2, nao sei pq ta dando esse error

 042d5e7808076d5fcda305f160dfd03f.png

troque

maxDamage = 500 -- Qual o dano máximo que você deseja que esta magia tire ? - Lembrando que são dois danos distintos de ida e outro de volta
    interval = 750  -- Após soltar a magia, quanto tempo levará para o martelo retornar para você ? - Coloque o tempo em milésimos de segundos

por 

maxDamage = 500, -- Qual o dano máximo que você deseja que esta magia tire ? - Lembrando que são dois danos distintos de ida e outro de volta
interval = 750  -- Após soltar a magia, quanto tempo levará para o martelo retornar para você ? - Coloque o tempo em milésimos de segundos
Editado por Rogex Joyz (veja o histórico de edições)

                                                                                                               destinyshield.gif.9f031b59b026058f32a1c50da92ebe2a.gif  mídias sociais  destinyshield.gif.02fca81ab0615e050b2bcefd8a73a2e8.gif

                                                                                                                            talk to me              

                                                                                                                               vídeos           

                                                                                             

                                                                                                            LOGONORMAL.png.815b40b04ec583be88d8a1e2626fe430.png

                                                                                                           

                               

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 L3K0T
      SUMMON SPELLS
       
       
      Como o nome diz é uma spell que sumona até 4 monstros ou podendo adicionar mais, legal pra naruto etc... Então para não perder ou ficar em vão, irei deixar pra vocês e já com as correções.
       
       
      DEMONSTRAÇÃO

      2022-09-01 00-08-30.mp4  
       
      INSTALANDO
      1: primeiro vá em data/spells/scripts e crie um arquivo.lua e adicione isso abaixo dentro dele e em seguida salve.
      function onCastSpell(cid, var) local from,to = {x=962, y=885, z=7},{x=973, y=892, z=7} local from2,to2 = {x=979, y=901, z=7},{x=991, y=905, z=7} local dir = getPlayerLookDir(cid) local ppos = getPlayerPosition(cid) if(dir==1)then ppos.x = ppos.x + 1 elseif(dir==2)then ppos.y = ppos.y + 1 elseif(dir==3)then ppos.x = ppos.x - 1 elseif(dir==0)then ppos.y = ppos.y - 1 end local summon = getCreatureSummons(cid) local MaximoSummon = 0 if isInRange(getCreaturePosition(cid), from, to) or isInRange(getCreaturePosition(cid), from2, to2) then doPlayerSendCancel(cid, "Você não pode usar Summons Aqui!") return false end if (table.maxn(summon) > MaximoSummon) then doPlayerSendTextMessage(cid, 22, "Voce ainda tem summons em batalha!") return false end local clone1 = doConvinceCreature(cid, doCreateMonster("Morgaroth", ppos)) local clone2 = doConvinceCreature(cid, doCreateMonster("Demon", ppos)) local clone3 = doConvinceCreature(cid, doCreateMonster("Terror Bird", ppos)) local clone4 = doConvinceCreature(cid, doCreateMonster("Giant Spider", ppos)) doPlayerSendTextMessage(cid, 22, "Voce summonou 4 criaturas!") end  
       
      2: agora vá em data/spells/ e abra o arquivo spells.xml e coloca isso dentro e salve
       
      <instant name="Sumonar" words="!help" lvl="0" mana="0" aggressive="0" params="1" exhaustion="1000" needlearn="0" event="script" value="arquivo.lua"> </instant>  

      2022-09-01 00-28-08.mp4 Pronto! agora é só usar a imaginação, pode adicionar monstro diferente ou do mesmo quantas vezes quiser.
       
      créditos fonte: @Lenilson e L3K0T
       
       
       
       
       
    • Por Kazuya9629
      como eu fasso pro charmander usa spell Ember ea outfit dele mudar por alguns segundos
       
      base poke jornadas 
    • Por Juliet
      Bom dia, alguém conseguiria criar uma spell para reduzir o dano recebido em 50%, TFS 0.4
    • Por Kyle Bellini
      E aí, pessoal!
       
      Esses dias eu estava na vibe Harry Potter e antes de dormir acabei tendo a ideia de fazer uma spell inspirada na magia Piertotum Locomotor. Criei ela, e decidi compartilhar com vocês auhauah
       
      Funcionamento:
      Dois golems serão invocados e aprisionarão o inimigo com pedras durante um certo período. (R.I.P qualidade)
       

       
      Vamos ao código (deixei alguns comentários explicando, mas está bem fácil de compreender o funcionamento, se tiver alguma dúvida pode comentar no tópico).
      Primeiro, crie um arquivo.lua, e cole o script dentro:
       
      Feito isso, no arquivo spells.xml recomendo que deixem o parâmetro (needtarget="1"). Exemplo de tag:
      <instant name="Piertotum Locomotor" words="Piertotum Locomotor" lvl="200" mana="1000" needtarget="1" prem="0" exhaustion="10000" groups="1,1500" icon="87" needlearn="0" event="script" value="hogwarts/piertotum locomotor.lua"> <vocation id="1"/> <vocation id="2"/> </instant>  
    • Por xWhiteWolf
      Fala pessoal do TK, hoje vim trazer uma spell bem bonita que veio na minha cabeça.
      em 14:06 desse vídeo dá pra ver oque eu tentei criar
      http://tvuol.uol.com.br/video/avatar--livro-3-fogo--ep-48--a-manipuladora-de-fantoches-04028C98306ED8A90326/
      mas por conta dos efeitos precários que o Tibia possui não ficou tão legal qnt eu imaginei mas em todo caso eu decidi compartilhar o código com vocês.

      O resultado final foi esse daqui:


      Se vocês se interessaram é só criar um arquivo em spells/scripts e colocar isso daqui dentro dele:
      function onCastSpell(cid, var) local config = { spins = 1, delay = 120 } local k = checkGroundInArray(getPositionsByDirection(cid), grass) if #k < 1 then doSendMagicEffect(getThingPos(cid), CONST_ME_POFF) doPlayerSendCancel(cid, "You need to be around grass to cast this spell.") return false end for i = 1, #k do addEvent(function() if isPlayer(cid) then local pos = k[i] local grama = getThingFromPos(pos) doTransformItem(grama.uid, driedgrass[math.random(1, #driedgrass)]) a = (i < 9) and doSendMagicEffect(pos, 1) or doSendMagicEffect(pos, 53) doSendDistanceShoot(pos, getThingPos(cid), 36) end end, (config.delay/2) * i) end range = #k > 4 and 7 or 5 addEvent(function() if isPlayer(cid) then local pos = k[i] local lastPos = false for i = 1, range do local position = getPositionByDirection(getCreaturePosition(cid), getCreatureLookDirection(cid), i) if isWalkable(position, false, true, true) then local creature = getTopCreature(position) if (creature.uid > 0) then doSendDistanceShoot(getCreaturePosition(cid), getCreaturePosition(creature.uid), 36) doTargetCombatHealth(cid, creature.uid, COMBAT_PHYSICALDAMAGE, -142 * (#k - 1), -150 * (#k - 1), CONST_ME_NONE) break end lastPos = position end if lastPos then doSendDistanceShoot(getCreaturePosition(cid), lastPos, 36) end end end end, (config.delay + (4 * config.delay * config.spins)) ) addEvent(function() for j = 1, #k do addEvent(function() local pos = k[j] local grama = getThingFromPos(pos) if isInArray(driedgrass, grama.itemid) then doTransformItem(grama.uid, grass[math.random(1, #grass)]) end end, (config.delay/2) * j) end end, config.delay * 100) spinRotate(cid, config.spins, config.delay) return true end e em spells.xml vc adiciona:
      <instant name="TK" words="kataras sense" lvl="8" mana="35" prem="0" casterTargetOrDirection="1" exhaustion="1500" needlearn="0" event="script" value="nomedoarquivo.lua"> </instant> OBS: Note que esse script usa funções da new library. Você pode conseguir essas funções aqui: http://www.tibiaking.com/forum/topic/46015-new-library-v-10/

      Espero que tenham curtido, esse é só o começo! Testada em TFS 0.3.6 Tibia 8.54.
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo