Ir para conteúdo

Featured Replies

Postado
  • Este é um post popular.

Fala galera do TibiaKing, pra quem não me conhece eu sou o White Wolf, antigo Night Wolf.. eu venho trazer pra vocês um script que eu to desenvolvendo nas minhas horas vagas e que vai trazer bastante RPG pro server de vocês.

Servidor testado: The Forgotten Server  0.3.6 (Crying Damson)
Versão do Cliente: 8.45

Explicação: Pra quem já jogou AvaOT/Korelin, deve ter notado que algumas magias da tribo da água necessitam estar perto de água para poderem ser usadas, e foi me baseando nisso que eu criei esse script.
É uma magia que ataca os inimigos se estiver com a target e se não estiver com target ela adiciona vida à você, mas precisa estar perto da água para ser usada!!


Sem mais delongas, vamos ao script:
crie um arquivo chamado waterneeded.lua e coloque em spells\scripts\

--[[ Credits:  30% to Molinero because I used his telekinesis script as base 
60% to me (Night Wolf) for doing the rest of the script
10% to the owner of AvaOT for giving me the idea of such thing
~~~FEEL FREE TO EDIT AS YOU WISH, THIS IS JUST A SIMPLE SCRIPT 
                                        BUT DON'T REMOVE THE CREDITS.~~~ ]]


local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat, COMBAT_PARAM_BLOCKARMOR, TRUE)
  
function onCastSpell(cid, var)
local water = {490, 491, 492, 493, 4608, 4609, 4610, 4611, 4612, 4613, 4614, 4615, 4616, 4617, 4618, 4619, 4620, 4621, 4622, 4623, 4624, 4625}
local spot = getPlayerPosition(cid)
    local nxp = spot.x - 3
    local pxp = spot.x + 3
    local nyp = spot.y - 3
    local pyp = spot.y + 3
local k = 1
    local target = getCreatureTarget(cid)
    for absice = nxp, pxp do
        for coordinate = nyp, pyp do
            local pos = {x = absice, y = coordinate, z = spot.z, stackpos = 0}
            local thing = getThingfromPos(pos)
           if thing.itemid > 0 then
   if isInArray(water, thing.itemid) == TRUE then
k = k+1
if target == 0 then
local CreatureHealth = getCreatureMaxHealth(cid)
  local lifedraw = math.floor(CreatureHealth /(20*k))
doCreatureAddHealth(cid, lifedraw, 1) 
doSendAnimatedText(spot, "+"..lifedraw, 18) 
   doSendMagicEffect(pos, 1)
                    doSendMagicEffect(spot, 12)
else
local tgtpos = getCreaturePosition(target)
local life = math.random (200,1000)
doCreatureAddHealth(target, -life, COMBAT_LIFEDRAIN)
doSendAnimatedText(tgtpos, "-"..life, 89)
doSendDistanceShoot(pos, tgtpos, 36)
                    doSendMagicEffect(tgtpos, 53)
doSendMagicEffect(pos, 1)
                    return doCombat(cid, combat, var)
  end
end
            end
        end
    end
if k ~= nil and k < 2 then
doSendMagicEffect(getThingPos(cid), CONST_ME_POFF)
doPlayerSendCancel(cid, "You need to be around water to cast this spell..")
end
    return doCombat(cid, combat, var)
end

OBS1: Perceba que tá bem rudimentar esse script, até porque essa é a primeira versão dele, pretendo melhorar o script com o tempo 

OBS2: Se você quiser que o script ataque mais de uma vez pra cada water que tiver no mapa substitua na linha 42:

return doCombat(cid, combat, var)

por 

doCombat(cid, combat, var)
E NÃO ESQUEÇA DE DIMINUIR DO DANO
local life = math.random (200,1000)
e no spells.xml adicione:
​<instant name="Water Need" words="utura grav vita" lvl="150" mana="300" prem="1" range="4" casterTargetOrDirection="1" blockwalls="1" exhaustion="3000" needlearn="0" event="script" value="waterneeded.lua">
<vocation id="5"/>
<vocation id="6"/>
<vocation id="7"/>
<vocation id="8"/>
</instant>
Se você curtiu, não remova os créditos.. Sinta-se livre pra melhorar a magia do jeito que você quiser (uma primeira alteração que eu sugiro é mudar o dano e colocar como sendo um math.random do level do player x magicLevel dele, pra magia ter um dano que aumenta com o tempo, e não algo totalmente aleatório).  :confiante: 

Gostaria de salientar também que essa é a primeira versão de tal script, tem muita coisa pra melhorar e dá pra diminuir esse script consideravelmente, ficaria super feliz se vocês me ajudassem a melhorar isso e remover coisas desnecessárias   ^^ 

EDIT: Trouxe algumas imagens pessoal:


Com TARGET
hn0c.jpg

Sem target


qfha.jpg


Longe da água:
u5o7.jpg

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

Todos os meus trabalhos importantes estão na seção "Sobre mim" no meu perfil; Dá uma passada lá!

"Há três caminhos para o fracasso: não ensinar o que se sabe, não praticar o que se ensina, e não perguntar o que se ignora." - São Beda

I7Pm6ih.png

(obg ao @Beeny por fazer essa linda sign <3)

Postado

Não testei, mas a ideia é bem legal.

E o "curtir" é por compartilhar scripts deste tipo.

 

Muito bom.

Gosta do meu trabalho?

Curta e siga a página do meu projeto de 2016 e 2017 (Lab Z Games) que trará vários servidores OTServs.

 

Atenciosamente,
Adriano Swatt'

 

Para ver meus tutoriais acesse meu perfil.

 

cbCyOSZ.png

Postado
  • Autor
  • Este é um post popular.

é engraçado ver que os pedidos aqui do fórum são os mesmos de 5 anos atrás, magia que empurra, magia que corre, magia que precisa estar perto de água.. coisas que os caras já faziam em 7.9. Se ninguém tomar a iniciativa de compartilhar a gente vai ficar pra sempre preso na mesmice dos scripts padrões e vamos acabar trancando a evolução do Open Tibia (que tem esse nome justamente por ser um projeto que deveria promover a abertura de scripts); Eu lembro quando eu comecei scriptar que eu queria fazer um server igual ao AvaOT mas os caras foram tão evoluidos pro tempo deles que até hoje tem coisa que eu não sei fazer, espero que com um pouco mais de estudo eu consiga criar tudo e compartilhar com vocês a solução!

Todos os meus trabalhos importantes estão na seção "Sobre mim" no meu perfil; Dá uma passada lá!

"Há três caminhos para o fracasso: não ensinar o que se sabe, não praticar o que se ensina, e não perguntar o que se ignora." - São Beda

I7Pm6ih.png

(obg ao @Beeny por fazer essa linda sign <3)

  • 2 years later...
Postado
  • Autor

eu não tenho mais a imagens, se alguém puder upar no fórum  alguma imagem eu substituo no tópico.. 

Todos os meus trabalhos importantes estão na seção "Sobre mim" no meu perfil; Dá uma passada lá!

"Há três caminhos para o fracasso: não ensinar o que se sabe, não praticar o que se ensina, e não perguntar o que se ignora." - São Beda

I7Pm6ih.png

(obg ao @Beeny por fazer essa linda sign <3)

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

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo