Ir para conteúdo
Entre para seguir isso  
Mock

Soul aura

Recommended Posts

Mock    32
Mock

config = {
['autor'] = "Mock",
['server-testado'] = "Theforgotten server 0.3.1",
['versao'] = "1.0",
['tipo'] = "talk",
}

 

Mais uma vez um script novo, esse script está até quente ainda pois acabei de fazer ele assim que tive a idea, quando terminei ja postei.

Este script é uma talk chamada Soul aura, ativada pelo comando !rest, nele você fica parado (desativado quando anda) e sua aura começa a rodear você, quando ela dá uma volta completa ela enfraquece diminuindo seu soul point porem ela fortalece seu corpo lhe dando
mana
e
health
.

Para começarmos deveos primeiro adcionar a tag em
talkactions.xml
na pasta
talkactions
.

<talkaction words="!rest" event="script" value="conjure.lua" />

Feito o mesmo você deve ir em scripst ainda na pasta talkactions, crie um arquivo chamado conjure.lua e insira isto:

--- Script by mock
local vocations = {
1,5, -- sorcerer
2,6, -- druid
3,7, -- paladin
4,8, -- knight
}
local interval = 0.5
local ef_types = {
['normal'] = 65,
['heal'] = 11,
}
local heals = {
['hp'] = 4,
['mana'] = 5,
}
local soul = 1
----
interval = interval*1000
local function rot(cid,n,old) --- Script by mock
  local tb_rot = {{0,2},{6,5},{1,3},{7,4},false}     
  if isPlayer(cid) == FALSE or tb_rot[n] == nil or getPlayerSoul(cid) < soul or old.x ~= getCreaturePosition(cid).x or old.y ~= getCreaturePosition(cid).y then
     return false
  end
  if tb_rot[n] == false then
     doSendMagicEffect(getPosByDir(getCreaturePosition(cid), tb_rot[1][1]) , ef_types['normal'])
     doSendMagicEffect(getPosByDir(getCreaturePosition(cid), tb_rot[1][2]) , ef_types['normal'])
     doPlayerAddSoul(cid, -soul)
     doCreatureAddHealth(cid, heals['hp'])
     doCreatureAddMana(cid, heals['mana'])
     doSendMagicEffect(getCreaturePosition(cid), ef_types['heal'])
     addEvent(rot, interval,cid,2,old)
     return false
  end
  doSendMagicEffect(getPosByDir(getCreaturePosition(cid), tb_rot[n][1]) , ef_types['normal'])
  doSendMagicEffect(getPosByDir(getCreaturePosition(cid), tb_rot[n][2]) , ef_types['normal'])
  n = n+1
  addEvent(rot, interval,cid,n,old)
end
function onSay(cid, words, param)--- Script by mock
        if getPlayerSoul(cid) < 10 then
           doPlayerSendCancel(cid,"You need 10 soul points or more.")
           return FALSE
        elseif isInArray(vocations,getPlayerVocation(cid)) == FALSE then
           doPlayerSendCancel(cid,"You dont have the required vocation.")
           return FALSE
        end
        doPlayerAddSoul(cid, -soul)
        doSendMagicEffect(getCreaturePosition(cid),ef_types['normal'])
        addEvent(rot, interval,cid,1,getCreaturePosition(cid))

        return FALSE
end
--- Script by mock

Caso prefira o download está no fim do topico.

Feito isso salve configure da forma que quiser.

[spoiler=Config]

local vocations = {

1,5, -- sorcerer

2,6, -- druid

3,7, -- paladin

4,8, -- knight

}

Os ids das vocações que podem usa a spell.

_________________________________________________

local interval = 0.5
Intervalo em segundos para cada movimento

_________________________________________________

local ef_types = {

['normal'] = 65,

['heal'] = 11,

}

Os efeitos que serão mostrados, normal é o efeito de

quando a alma está rodeando você, e heal é de quando cura.

_________________________________________________

local heals = {

['hp'] = 4,

['mana'] = 5,

}

local soul = 1

Heals é a quantia de soul gasta em cada volta e a quantia de HP e mana

regenerado.

 

 

restvbh.jpg

 

 

 

 

Bom proveito do script

:D

Editado por Black Ice

Compartilhar este post


Link para o post
Naldo Ghost    0
Naldo Ghost

Muito bom mock, tenho uma dúvida: Pra que serve aquele old??

Não entendi muito bem =/

 

O srcipt está uma belezura ^^

Compartilhar este post


Link para o post
Destiny~    1
Destiny~

Boa Mock, ótimo script...

 

Vou usar no meu OT...o pessoal vai adorar xD

 

Pera aí...pra que serve essas direções? X:

 

Se puder explicar, sou grato. :)

Compartilhar este post


Link para o post
Lwkass    1
Lwkass

Legal Mock, mas... bem que podia postar uma SS do script em funcionamento. mas ta legal o script ^^

Compartilhar este post


Link para o post
Mock    32
Mock

@naldo

old é a posição de onde o player conjurou o encanto, se ele saiu da posição ap osição dele vai ser diferente de old e no caso vai para o script

@desty

as direções são as direções de onde vai sair os efeitos.

@lw~

estou providenciando xP

Compartilhar este post


Link para o post
Kerooker    0
Kerooker

mock, apesar de ser novo em scripting, notei um pekeno erro ai...

tah escrito value="conjure" e o correto seria file="conjure"

Compartilhar este post


Link para o post
Mock    32
Mock

@kerooker

não, está certo sim, são as novas tags do TFS 0.3.3

Compartilhar este post


Link para o post
Mithz    0
Mithz

Roda em TFS 0.3.4?

Poderia postar uma SS do funcinamento²

 

Att,

Mithz.

Compartilhar este post


Link para o post
Azazel.    0
Azazel.

Aki não pegou da esse erro :

[13/07/2009 18:06:14] [Warning - Event::loadScript] Cannot load script (data/talkactions/scripts/conjure.lua)

[13/07/2009 18:06:14] data/talkactions/scripts/conjure.lua:49: ')' expected near 's'

Compartilhar este post


Link para o post
Mock    32
Mock

@binni

foi a formatação, copia dinovo o script e na linha 49 onde tiver type s[ tira o espaço.

Compartilhar este post


Link para o post
Lyu Elite    0
Lyu Elite

Obrigado , mock colokei já em meu otserv;

o meu deu o mesmo erro do bini mais depois do vc falo da linha 49 , funcino.

Compartilhar este post


Link para o post
Shyzoul    0
Shyzoul

Parabens mock, mais não intendi até agora uma coisa, qual é a diferensa do aura system do skyen e desse? (achei o dele num tfs 8.40 veio)

Compartilhar este post


Link para o post
Mock    32
Mock

o do skyen dava dano, o meu gasta soul pra cuar mana e hp

Compartilhar este post


Link para o post
Kydrai    0
Kydrai

Legal o script, mas vc esqueceu um detalhe principal:

O comando !rest pode ser utilizado varias vezes seguidas(posso falar varias vezes !rest), recuperando muito mais rapido. Logo seria bom colocar um storage ou sei lá.

 

Tbm não precisa ficar exatamente parado, da pra andar dentro do intervalo pra executar a função. Seria bom se assim que andasse o comando desativasse.

 

E tbm seria bom se quando a mana e o hp estiverem full o comando desativasse automaticamente.

Compartilhar este post


Link para o post
Mock    32
Mock

@kydra

no caso de hp full basta adcionar um

or (getCreatureHealth(cid) == getCreatureMaxHealth(cid) and mana)

sobre usar o comando !rest varias veses, nao vai mudar muita coisa pois de qualquer jeito o player fica sem soul rapido.

Compartilhar este post


Link para o post
Tozim    0
Tozim

Eu gostei mais do aura system feito pelo skyen,

mas o seu tambem está muito legal, principalmente tirando soul ^^

Compartilhar este post


Link para o post
rivcdrigo    0
rivcdrigo

cara, meu thanks pra você aqui funcinou direitinho!

uma duvida: como faço pra trocar o efeito? os noobs ficam com medo achando que é magia de ataque... eu queria botar tipo o negócio do exori san, tem como? valeu!

Compartilhar este post


Link para o post
Mock    32
Mock
local ef_types = {

['normal'] = 65,

['heal'] = 11,

}

em normal é o efeito de quando curar, no caso aquele fantasma verde (o efeito que circula o player), e o heal é quando cura, ai no caso é so muda, se eu n me engano holy é o 45 ai vc dexa assim:

local ef_types = {

['normal'] = 45,

['heal'] = 11,

}

Compartilhar este post


Link para o post
Heiderson    0
Heiderson

Se não me engano quando se movimenta o script para de funcionar.

é assim mesmo né.

tem como mudar isto?

 

Obrigaado.

Compartilhar este post


Link para o post
Mock    32
Mock

@hei~

eu fiz pra ser assim mesmo, tem como deletando algumas linhas, e algums ifs

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.

×