Ir para conteúdo
Entre para seguir isso  
Ramza

Electrical Discharge

Recommended Posts

Ramza    11
Ramza

Nome: Electrical Discharge
Autor: Ramza (Ricardo Ianelli)
Versão Testada: TFS 0.3.6PL1 (8.54)

 

Introdução

 

 

Olá a todos!

Olhando nas seções de script, reparei que não postam uma runa se quer de alto nível, então pensei:

 

"Tadinhas das runas, até elas sofrem bullying :what: "

 

Então, resolvi liberar uma das magias do Zodiac Legacy, na verdade, uma runa, a Electrical Discharge.

 

Funcionamento

 

Resumindo ao máximo, pense num campo elétrico sendo formado e atuando como condutor.

Se tem você, e mais algumas pessoas ao seu redor, a eletricidade que cai em você, passa de 1 em 1 até não encontrar mais ninguém, ou já ter feito todas as rotas possiveis.

 

Eis um video para demonstrar melhor:

 

Caso o video não apareça:

 

 

Instalação

 

Vamos ao que interessa! Primeiro, crie um arquivo na sua pasta Data chamado ramzalib.lua, cole isto dentro, e salve:

 

-- RamzaLIB - Electrical Discharge Functions
--- Created by Ramza(Ricardo Ianelli) for Zodiac Legacy ATS.
---- For more informations, visit: http://forums.otserv.com.br/forumdisplay.php?493-Zodiac-Legacy

function isInArray3(array, array2) -- Function by Ramza (Ricardo Ianelli)
local x = array2[1]
local y = array2[2]

 for _,v in pairs(array) do
    if (v[1] == x and v[2] == array2[2]) or (v[2] == x and v[1] == y)  then
      return true    
    end
 end
return false
end                 

function chainRoute(init, r) -- Function by Ramza (Ricardo Ianelli)
local route, targets, tam = {{init, init}}, {}, 0
for i = 1,#route do
   repeat
   tam = #route 
      targets = getSpectators(getCreaturePosition(init), r, r, false)      
   if #targets > 1 then
      for _,v in pairs(targets) do
         if not isInArray3(route, {init, v}) and (init ~= v) then
            table.insert(route, {init,v})
         end 
      end
   end
   init = route[#route][2]
  until tam == #route
end
return route 
end

 

Feito isso, vamos pegar uma runa como exemplo. Vamos usar a famosa HMM!

Vá até a pasta spells/scripts/attack e abra o arquivo chamado energy strike.lua.

Substitua tudo que está lá dentro por isto:

 

-- Electrical Discharge Rune
--- Created by Ramza(Ricardo Ianelli) for Zodiac Legacy ATS.
---- For more informations, visit: http://forums.otserv.com.br/forumdisplay.php?493-Zodiac-Legacy

dofile(getDataDir().."ramzalib.lua")

local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, true)


function onCastSpell(cid, var)

local inicio = getThingfromPos(var.pos).uid


local maxDmg = - math.ceil(getPlayerMagLevel(cid) * 3)
local minDmg = math.ceil((maxDmg / 2) - 1) 

local targets = chainRoute(inicio, 2)

local i = 0
   for _,v in pairs(targets) do 
   i = i+1
       addEvent(doSendDistanceShoot, i*100, getCreaturePosition(v[1]), getCreaturePosition(v[2]), 32)
       addEvent(doAreaCombatHealth, i*100, cid, 1, getCreaturePosition(v[2]), 0, minDmg, maxDmg, 77)
   end
   return doCombat(cid, combat, var)

end

 

Feito isso, salve, feche, e divirta-se brincando com essa magia in-game.

Qualquer dúvida só falar.

Abraços, Ramza.

 

Editado por Ramza

Compartilhar este post


Link para o post
iuniX    4
iuniX

Outra grande colaboração, com certeza uma das melhores magias que temos aqui. Realmente muito bem feita e bem pensada como sempre. Outra vez merece exclusivo com certeza.

 

Muito obrigado pela contribuição. Aprovado e movido.

Compartilhar este post


Link para o post
dav9shal    1
dav9shal

pqp, todo o script do ramza vira exclusivo. Eu admito que foi a melhor runa que eu já vi. E o de colisão o melhor sistema.

Compartilhar este post


Link para o post
Ramza    11
Ramza

Obrigado pelos elogios galera :D

Essa runa ai é uma desgraça in-game, vc vicia nela, dai mesmo ela sendo assim sem controle, você quer usar ela o tempo todo pela diversão LOL

Eu matava todo mundo com essa p*rra, mas não conseguia parar de usar :tonemai:

Compartilhar este post


Link para o post
Lwkass    1
Lwkass

Excelente script/ideia !

Exclusivo mais que merecido, muito obrigado por trazer e parabéns

Compartilhar este post


Link para o post
luigilc    0
luigilc

[03/09/2011 23:35:43] [Error - Spell Interface] 
[03/09/2011 23:35:43] data/spells/scripts/attack/energy strike.lua:onCastSpell
[03/09/2011 23:35:43] Description: 
[03/09/2011 23:35:43] attempt to index a nil value
[03/09/2011 23:35:43] stack traceback:
[03/09/2011 23:35:43]     [C]: in function 'getThingfromPos'
[03/09/2011 23:35:43]     data/spells/scripts/attack/energy strike.lua:12: in function <data/spells/scripts/attack/energy strike.lua:11>

como arrumar?

 

Edit: Arrumei jah

Editado por luigilc

Compartilhar este post


Link para o post
vyctor17    35
vyctor17

muto bom o script da pra fazer varias coisas com essa lib '-'

 

to com o msm erro do do carinha ali de cima

 

arumei ja uma duvida tem como fazer o msm effeito com target ?

Editado por vyctor17

Compartilhar este post


Link para o post
Ramza    11
Ramza
muto bom o script da pra fazer varias coisas com essa lib '-'

 

to com o msm erro do do carinha ali de cima

 

arumei ja uma duvida tem como fazer o msm effeito com target ?

 

O server de vocês não deve ter a getThingfromPos, ou deve estar diferente..

 

Pra fazer com target é só fazer assim:

 

onde tá:

 

local inicio = getThingfromPos(var.pos).uid

 

troca por

 

local inicio = getCreatureTarget(cid)

 

Abraços!

Compartilhar este post


Link para o post
vyctor17    35
vyctor17

bom tah funcionando mais da um flood no console

 

[04/09/2011 16:34:50] [Error - Spell Interface]

[04/09/2011 16:34:50] data/spells/scripts/attack/energy strike.lua:onCastSpell

[04/09/2011 16:34:50] Description:

[04/09/2011 16:34:50] attempt to index a nil value

[04/09/2011 16:34:50] stack traceback:

[04/09/2011 16:34:50] [C]: in function 'getThingfromPos'

[04/09/2011 16:34:50] data/spells/scripts/attack/energy strike.lua:57: in function <data/spells/scripts/attack/energy strike.lua:8>

Editado por vyctor17

Compartilhar este post


Link para o post
Ramza    11
Ramza

Não era pra dar esse erro.

Como tá o arquivo seu da magia?

Compartilhar este post


Link para o post
Asould Acalaylaa    5
Asould Acalaylaa

Ficou bem bem feita mesmo, ainda com um nível de RPG maneiro. rs

Compartilhar este post


Link para o post
Gustavo665    0
Gustavo665

O Ramza tem duas vantagens em cima de outros que sabem muito mais.

1° Boa vontade.

2° Criatividade.

 

Não é atoa que seus trabalhos sempre se organizam na seção de exclusivos.

Compartilhar este post


Link para o post
Ramza    11
Ramza
O Ramza tem duas vantagens em cima de outros que sabem muito mais.

1° Boa vontade.

2° Criatividade.

 

Não é atoa que seus trabalhos sempre se organizam na seção de exclusivos.

 

Obrigado gustavo, mas eu não sou muito um exemplo a seguir, e sim, os outros.

Eu só tenho a criatividade, que é o que muita gente não tem.

PORÉM, eles tem conhecimento, e eu acho que se eu não fosse tão preguiçoso e ocupado daria pra eu aprender a fazer MUUUUUUUUUUUUITA coisa, acho que com 5% a mais de conhecimento eu já abriria um leque ENORME de novas idéias, mas, fazer o que, esse é meu defeito :/

Abraços!

Compartilhar este post


Link para o post
Startix    9
Startix

Rapaz a galera está liberando geral eim, outro script bem elaborado e com uma puta criatividade, estou pensando em montar um otserv só com essas magias e sistemas que estão postando aqui, iria ficar bem legal de brincar ;D

Compartilhar este post


Link para o post
Lyon    3
Lyon

Ramza,sempre ajudando de bom coração,parabéns fera!

Script alienigena! huahuahauhaa

Compartilhar este post


Link para o post
xxgustavorx    0
xxgustavorx

Esta de parabéns!

Compartilhar este post


Link para o post
Ramza    11
Ramza

Obrigado galera xD

Compartilhar este post


Link para o post
kelvin1123    0
kelvin1123

Muito Masaaaa!!!!!!!!!!

Compartilhar este post


Link para o post
kacalsilvera    0
kacalsilvera
[03/09/2011 23:35:43] [Error - Spell Interface] 
[03/09/2011 23:35:43] data/spells/scripts/attack/energy strike.lua:onCastSpell
[03/09/2011 23:35:43] Description: 
[03/09/2011 23:35:43] attempt to index a nil value
[03/09/2011 23:35:43] stack traceback:
[03/09/2011 23:35:43]     [C]: in function 'getThingfromPos'
[03/09/2011 23:35:43]     data/spells/scripts/attack/energy strike.lua:12: in function <data/spells/scripts/attack/energy strike.lua:11>

como arrumar?

 

Edit: Arrumei jah

 

poderia postar a solução porque aqui deu mesmo erro que voce mencionou,

Compartilhar este post


Link para o post
jedian    0
jedian

PORRRRAAAAAAAAAAAAA \O/

Incrívelmente incrível das incrivibilidades incríveis dos lugares incríveis onde incríveis incrivecem...(Infinity)

caralho caralho tá muuuito legal isso, isso abre um leque pra muitas possibilidades de scripts inovadores!

essa função chainRoute, chego pro Ahazu(arraso '-') hauahua muito legal, seria legal também se a função getSpectators, que foi usada na construção da chainRoute, também captasse itens, aí dava pra por alguns itens condutores de eletricidade, e com uma ajudinha do mock, criar outro game(tipo tetris dele), tipo aqueles de tubo que tenque fazer a água passa pelos canos :P

 

mas sério, muuuuito parabéns, hauhaua to brincando muito com isso aqui, fazendo explosões elétricas em pequenos espaços com training monk's :D

mereceu o exclusivo, até mereceria o título de "Script proibido das profundezas hardcores"

Parabééns rep+ ae! :D

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.

×