Ir para conteúdo

[Spell] Sakura Spirit


Newtonnotwen

Posts Recomendados

Aew, outro script a pedido do juan500, "Sakura Spirit".

 

sakura_nervosa.jpg

 

O script consiste em teleportar o caster (player que executa o script) para um local e o player (que foi atingido) para outro, onde a "alma" da Sakura iria atacar os player atingidos.

 

(O vídeo se localiza no final do tópico)

 

Em data/monster crie um arquivo.xml nomeie para Sakura Spirit e adicione:

<?xml version="1.0" encoding="UTF-8"?>

<monster name="Sakura Spirit" nameDescription="a Sakura Spirit" race="blood" experience="0" speed="0" manacost="0">

<health now="99999999999" max="99999999999"/>

<look type="136" head="18" body="0" legs="0" feet="0" addons="0" corpse="0"/>

<targetchange interval="10000" chance="1"/>

<strategy attack="200" defense="10"/>

<flags>

<flag summonable="0"/>

<flag attackable="1"/>

<flag hostile="0"/>

<flag illusionable="0"/>

<flag convinceable="0"/>

<flag pushable="0"/>

<flag canpushitems="0"/>

<flag canpushcreatures="0"/>

<flag targetdistance="0"/>

<flag runonhealth="0"/>

</flags>

<attacks>

<attack name="melee" interval="0" attack="0" min="0" max="0"/>

<attack name="lifedrain" interval="0" chance="100" range="7" min="-200" max="-300">

<attribute key="shootEffect" value="suddendeath"/>

</attack>

</attacks>

<defenses armor="0" defense="0">

<defense name="healing" interval="10000" chance="100" min="-99999999999" max="-99999999999">

<attribute key="areaEffect" value="blueshimmer"/>

</defense>

</defenses>

<immunities>

<immunity physical="0"/>

<immunity energy="0"/>

<immunity fire="0"/>

<immunity earth="0"/>

<immunity ice="0"/>

<immunity holy="0"/>

<immunity death="0"/>

<immunity drown="0"/>

<immunity drunk="0"/>

<immunity paralyze="1"/>

<immunity lifedrain="0"/>

<immunity outfit="1"/>

<immunity invisible="1"/>

</immunities>

<summons maxSummons="0">

<summon name="Tsukuyomi" interval="3000" chance="0" max="1"/>

</summons>

<voices interval="1000" chance="50">

<voice sentence="Spirit Sakura!!"/>

<voice sentence="No!"/>

<voice sentence="Spirit!"/>

<voice sentence="!!!"/>

</voices>

</monster>

Editando:

 

-Verde: Frases

-Vermelho: Intervalo para o monstro sumir

 

Novamente em data/monster crie um arquivo.xml nomeie para Sakura Spirit2 e adicione:

<?xml version="1.0" encoding="UTF-8"?>

<monster name="Sakura Spirit" nameDescription="a Sakura Spirit" race="blood" experience="0" speed="500" manacost="0">

<health now="99999999999" max="99999999999"/>

<look type="136" head="18" body="0" legs="0" feet="0" addons="0" corpse="0"/>

<targetchange interval="10000" chance="1"/>

<strategy attack="200" defense="10"/>

<flags>

<flag summonable="0"/>

<flag attackable="1"/>

<flag hostile="1"/>

<flag illusionable="0"/>

<flag convinceable="0"/>

<flag pushable="0"/>

<flag canpushitems="0"/>

<flag canpushcreatures="0"/>

<flag targetdistance="0"/>

<flag runonhealth="0"/>

</flags>

<attacks>

<attack name="melee" interval="0" attack="0" min="0" max="0"/>

<attack name="lifedrain" interval="1000" chance="100" range="7" min="-200" max="-300">

<attribute key="shootEffect" value="suddendeath"/>

</attack>

</attacks>

<defenses armor="0" defense="0">

<defense name="healing" interval="10000" chance="100" min="-99999999999" max="-99999999999">

<attribute key="areaEffect" value="blueshimmer"/>

</defense>

</defenses>

<immunities>

<immunity physical="0"/>

<immunity energy="0"/>

<immunity fire="0"/>

<immunity earth="0"/>

<immunity ice="0"/>

<immunity holy="0"/>

<immunity death="0"/>

<immunity drown="0"/>

<immunity drunk="0"/>

<immunity paralyze="1"/>

<immunity lifedrain="0"/>

<immunity outfit="1"/>

<immunity invisible="1"/>

</immunities>

<summons maxSummons="0">

<summon name="Tsukuyomi" interval="3000" chance="0" max="1"/>

</summons>

<voices interval="1000" chance="50">

<voice sentence="Spirit Sakura!!"/>

<voice sentence="No!"/>

<voice sentence="Spirit!"/>

<voice sentence="!!!"/>

</voices>

</monster>

Editando:

 

-Verde: Frases

-Vermelho: Intervalo para o monstro sumir

 

Em monsters.xml adicione:

<monster name="Sakura Spirit" file="Sakura Spirit.xml"/>

<monster name="Sakura Spirit2" file="Sakura Spirit2.xml"/>

Em data/movements/scripts crie um arquivo.lua nomeie para Sakura e adicione:

function onStepIn(cid, item, position, fromPosition)

function doHealthSecond(cid, quanty, delay) -- function by vodka

if not isCreature(cid) then return LUA_ERROR end

doCreatureAddHealth(cid, quanty)

doSendMagicEffect(getCreaturePosition(cid), 67)

if delay ~= 1 then addEvent(doHealthSecond, 1000, cid, quanty, delay -1)

elseif delay == 1 then doCreatureSetNoMove(cid, false) end

end

doCreatureSetNoMove(cid, true)

doHealthSecond(cid, 0, 10)

return true

end

Editando:

 

-Verde: Intervalo da player sem mover (em segundos)

 

Em movements.xml adicione:

<movevent type="StepIn" actionid="1648" event="script" value="Sakura.lua"/>

Em data/talkactions/scripts crie um arquivo.lua nomeie para alma e adicione:

function onSay(cid, words, param)

local waittime = 20 -- Tempo de exhaustion

local storage = 5560

local pos = getCreaturePosition(cid)

from = {x=pos.x, y=pos.y, z=pos.z}

to = {x = 665, y = 1001, z = 15} -- Para onde o teleport levará (players)

to1 = {x = 668, y = 1001, z = 15} -- Para onde o teleport levará (caster)

area1 = {x = 662, y = 997, z = 15} -- Ponta de cima na esquerda na area que o tp leva

area2 = {x = 672, y = 1005, z = 15} -- Ponta de baixo na direita na area que o tp leva

level = 100 -- Level necessário

ppos = getCreaturePosition(cid)

pl1 = {x=ppos.x-7, y=ppos.y-5, z=ppos.z}

pl2 = {x=ppos.x+7, y=ppos.y+5, z=ppos.z}

 

if getPlayerLevel(cid) < level then

doPlayerSendCancel(cid, "Você precisa de level "..level.." para usar essa magia.")

return true

end

 

function back(cid)

if isInArea(getCreaturePosition(cid), area1, area2) then

doTeleportThing(cid, from)

end

end

 

function go(cid)

if isInArea(getCreaturePosition(cid), pl1, pl2) then

doCreateMonster('Sakura Spirit', pos)

doTeleportThing(cid, to)

end

end

 

function gos(cid)

if isInArea(getCreaturePosition(cid), from, from) then

doCreateMonster('Sakura Spirit', pos)

doTeleportThing(cid, to1)

end

end

 

addEvent(doCreatureExecuteTalkAction, 1, cid, '666666666ARS', true)

if exhaustion.check(cid, storage) == false then

for _, pid in ipairs(getPlayersOnline()) do

addEvent(back, 8000, pid) -- Tempo para retornar ao lugar que usou a magia

addEvent(go, 200, pid)

addEvent(gos, 1, pid)

doSendMagicEffect(getCreaturePosition(pid), 63)

doCreatureSay(pid, "Alma", TALKTYPE_MONSTER) --- Mensagem

addEvent(setPlayerStorageValue, 10000, pid, 1634, -1)

end

 

exhaustion.set(cid, storage, waittime)

else

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Aguarde " .. exhaustion.get(cid, storage) .. " segundos para usar a spell novamente.")

end

return true

end

Editando:

 

​Script auto-explicativo, variáveis em verde.

 

Novamente em data/talkactions/scripts crie um arquivo.lua nomeie para alma2 e adicione:

function onSay(cid, words, param)

local pos = getCreaturePosition(cid)

mon = {x = 666, y = 1002, z = 15} -- Onde o monstro surgira

 

doCreateMonster('Sakura Spirit2', mon)

return true

end

Editando:

 

​Script auto-explicativo, variável em verde.

 

Em talkactions.xml adicione:

<talkaction words="alma" event="script" value="alma.lua"/>

<talkaction words="666666666ARS" event="script" value="alma2.lua"/>

Editando:

 

-Verde: "Palavra mágica" (palavra que executa a ação)

 

Obs: Não modifique a tag em vermelho!

 

Oque fazer no RME?

 

 

Vídeo demonstrativo (Spell):

 

 

​Créditos:

 

Newtonnotwen, pelo script e pelo post.

juan500, pela ideia da spell.

LuckOake, pelo script inicial

Vodkart, pelo tile

Jhon992, pelo tile

 

Por favor comentem, se tiver mal explicado eu edito.

Editado por Newtonnotwen
Link para o comentário
Compartilhar em outros sites

Muito bom cara!

Ta de parabens, REP+

Consegui aquele tsukuyomi em um player só :D

Tipo, o monstro "sakura spirit" é um summon seu ou eh 1 bixo q fica no local?

Porque vc esta em 1 sqm pz, certo? E quando vc ta pisando em um sqm pz nao da pra atk o kra.

Editado por Allangod
Link para o comentário
Compartilhar em outros sites

Correto, os players ficam imóvel, impossibilitando o caster de levar hit, apenas o player que foi atingido.

 

É um monstro que é "sumonado" pelo caster, porém não está no controle do mesmo.

 

O script apenas cria o monstro e após o intervalo a sua escolha ele se destrói, a cada vez que é usado acontece a mesma coisa.

Link para o comentário
Compartilhar em outros sites

mt bom agora com musica os video :) ta de pé a spell da cupula né XD com base nesse script vc ira cria uma fabrica de +REP continue assim tente fazer a cupula n precisa ser perfeita pq afinal é 1.0 a versao........allangod como coloca pra atingir 1 player só?

Link para o comentário
Compartilhar em outros sites

lol vc ja fez cara vc e fantastico quando eu cresce quero ser como vc e.e

 

todo mundo reclama que e chato crria scripts parabens com essas base vc vai fazer historia vc vai ve suas spells em mts OTS!!!!

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...