Ir para conteúdo

[Spell] Juuken


Newtonnotwen

Posts Recomendados

Aew galera, aqui está a spell Juuken:

 

Testado em TSF 8.6.

 

fc1a3d.jpg

 

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

 

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

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

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

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

<look type="130" head="0" body="114" legs="114" feet="0" addons="3" 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="500" attack="500" min="-2000" max="-3000"/>

<attack name="lifedrain" interval="500" chance="100" range="7" min="-40000" max="-60000">

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

</attack>

</attacks>

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

<defense name="healing" interval="8000" 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="100" max="1"/>

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

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

</summons>

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

<voice sentence="Ktc, Juuken!!"/>

<voice sentence="LOL A JUUKEN?!"/>

<voice sentence="WHAT IS THIS?"/>

<voice sentence="MY CHAKRA!!!!"/>

</voices>

 

</monster>

Editando:

 

-Verde: Frases

 

Em monsters.xml adicione:

<monster name="Juuken" file="Juuken.xml"/>

 

 

 

Em data/movements/scripts crie 2 arquivos.lua:

 

Nomeie 1 para Juuken 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), 29)

doSendAnimatedText(getCreaturePosition(cid), -100, 180)

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

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

end

doCreatureSetNoMove(cid, true)

doHealthSecond(cid, -100, 64)

return true

end

Editando:

 

-Vermelho: Efeito (/z)

 

Nomeie o outro para Juuken2 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), 9)

doSendAnimatedText(getCreaturePosition(cid), +1, 255)

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

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

end

doCreatureSetNoMove(cid, true)

doHealthSecond(cid, +1, 64)

return true

end

-Editando:

 

-Vermelho: Efeito (/z)

 

Em movements.xml adicione:

<movevent type="StepIn" uniqueid="1646" event="script" value="Juuken.lua"/>

<movevent type="StepIn" uniqueid="1647" event="script" value="Juuken2.lua"/>

 

Em data/talkactions/scripts crie 2 arquivos.lua:

 

Nomeie 1 para Juuken 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 = 669, y = 1070, z = 15} -- Para onde o teleport levará (players)

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

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

area2 = {x = 675, y = 1076, 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('Juuken', pos)

doTeleportThing(cid, to)

end

end

 

function gos(cid)

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

doCreateMonster('Juuken', pos)

doTeleportThing(cid, to1)

end

end

 

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

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

addEvent(back, 8000, pid)

addEvent(go, 200, pid)

addEvent(gos, 1, pid)

doSendMagicEffect(getCreaturePosition(pid), 63)

doCreatureSay(pid, "Juuken!", TALKTYPE_MONSTER) --- Mensagem

addEvent(doCreatureExecuteTalkAction, 100, cid, '5555555555555ARS', true)

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.

 

Nomeie o outro para Juukens e adicione:

function onSay(cid, words, param)

local waittime = 20 -- Tempo de exhaustion

local level = 100 -- Level necessário

local effra = 0 -- Efeito z

-------------------------------------------------------

local storage = 5560

local ppos = getCreaturePosition(cid)

local from = {x=ppos.x, y=ppos.y, z=ppos.z}

local level = 100 -- Level necessário

local posr1 = {x=ppos.x-1, y=ppos.y, z=ppos.z}

local posr2 = {x=ppos.x-1, y=ppos.y-2, z=ppos.z}

local posr3 = {x=ppos.x+1, y=ppos.y-2, z=ppos.z}

local posr4 = {x=ppos.x+3, y=ppos.y-2, z=ppos.z}

local posr5 = {x=ppos.x+3, y=ppos.y, z=ppos.z}

local posr6 = {x=ppos.x+2, y=ppos.y+2, z=ppos.z}

local posr7 = {x=ppos.x+1, y=ppos.y+2, z=ppos.z}

local posr8 = {x=ppos.x-1, y=ppos.y+2, z=ppos.z}

local eff1 = {x=ppos.x-1, y=ppos.y+2, z=ppos.z}

local eff2 = {x=ppos.x+3, y=ppos.y-2, z=ppos.z}

local eff3 = {x=ppos.x+3, y=ppos.y+2, z=ppos.z}

local eff4 = {x=ppos.x-1, y=ppos.y-2, z=ppos.z}

local eff5 = {x=ppos.x+1, y=ppos.y+2, z=ppos.z}

local eff6 = {x=ppos.x+1, y=ppos.y-2, z=ppos.z}

local eff7 = {x=ppos.x-1, y=ppos.y, z=ppos.z}

local eff8 = {x=ppos.x+3, y=ppos.y, z=ppos.z}

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

local arear2 = {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 walk1(cid)

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

doTeleportThing(cid, posr1)

end

end

 

function walk2(cid)

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

doTeleportThing(cid, posr2)

doCreatureSay(cid,'Juuken!') -- Sua frase

end

end

 

function walk3(cid)

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

doTeleportThing(cid, posr3)

end

end

 

function walk4(cid)

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

doTeleportThing(cid, posr4)

doCreatureSay(cid,'8 Golpes!') -- Sua frase

end

end

 

function walk5(cid)

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

doTeleportThing(cid, posr5)

end

end

 

function walk6(cid)

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

doTeleportThing(cid, posr6)

end

end

 

function walk7(cid)

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

doTeleportThing(cid, posr7)

doCreatureSay(cid,'16 Golspes!') -- Sua frase

end

end

 

function walk8(cid)

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

doTeleportThing(cid, posr8)

end

end

 

function walk9(cid)

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

doTeleportThing(cid, posr1)

doCreatureSay(cid,'32 Golspes!') -- Sua frase

end

end

 

function walk10(cid)

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

doTeleportThing(cid, from)

doCreatureSay(cid,'64 Golspes!') -- Frase final

end

end

 

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

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

addEvent(walk1, 1, pid)

addEvent(walk2, 125, pid)

addEvent(walk3, 250, pid)

addEvent(walk4, 375, pid)

addEvent(walk5, 500, pid)

addEvent(walk6, 625, pid)

addEvent(walk7, 750, pid)

addEvent(walk8, 875, pid)

addEvent(walk9, 1000, pid)

addEvent(walk1, 1125, pid)

addEvent(walk2, 1250, pid)

addEvent(walk3, 1375, pid)

addEvent(walk4, 1500, pid)

addEvent(walk5, 1625, pid)

addEvent(walk6, 1750, pid)

addEvent(walk7, 1875, pid)

addEvent(walk8, 2000, pid)

addEvent(walk9, 2125, pid)

addEvent(walk1, 2250, pid)

addEvent(walk2, 2375, pid)

addEvent(walk3, 2500, pid)

addEvent(walk4, 2625, pid)

addEvent(walk5, 2750, pid)

addEvent(walk6, 2875, pid)

addEvent(walk7, 3000, pid)

addEvent(walk8, 3125, pid)

addEvent(walk9, 3250, pid)

addEvent(walk1, 3375, pid)

addEvent(walk2, 3500, pid)

addEvent(walk3, 3625, pid)

addEvent(walk4, 3750, pid)

addEvent(walk5, 3875, pid)

addEvent(walk6, 4000, pid)

addEvent(walk7, 4125, pid)

addEvent(walk8, 4250, pid)

addEvent(walk9, 4375, pid)

addEvent(walk1, 4500, pid)

addEvent(walk2, 4625, pid)

addEvent(walk3, 4750, pid)

addEvent(walk4, 4875, pid)

addEvent(walk5, 5000, pid)

addEvent(walk6, 5125, pid)

addEvent(walk7, 5250, pid)

addEvent(walk8, 5375, pid)

addEvent(walk9, 5500, pid)

addEvent(walk1, 5625, pid)

addEvent(walk2, 5750, pid)

addEvent(walk3, 5875, pid)

addEvent(walk4, 6000, pid)

addEvent(walk5, 6125, pid)

addEvent(walk6, 6250, pid)

addEvent(walk7, 6375, pid)

addEvent(walk8, 6500, pid)

addEvent(walk9, 6625, pid)

addEvent(walk1, 6750, pid)

addEvent(walk2, 6875, pid)

addEvent(walk3, 7000, pid)

addEvent(walk5, 7125, pid)

addEvent(walk6, 7250, pid)

addEvent(walk7, 7375, pid)

addEvent(walk8, 7500, pid)

addEvent(walk9, 7625, pid)

addEvent(walk1, 7750, pid)

addEvent(walk2, 7875, pid)

 

doSendMagicEffect(getCreaturePosition(pid), 28)

doCreatureSay(pid, "Byakungan!", TALKTYPE_MONSTER) -- Frase inicial aquela que fala tipo um monstro

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

addEvent(doSendMagicEffect,7600,from,3)

addEvent(doSendMagicEffect,7600,posr4,3)

addEvent(doSendMagicEffect,7600,posr6,3)

addEvent(doSendMagicEffect,7600,posr8,3)

addEvent(doSendMagicEffect,7600,posr2,3)

addEvent(doSendMagicEffect,7800,eff1,effra)

addEvent(doSendMagicEffect,7800,eff2,effra)

addEvent(doSendMagicEffect,7800,eff3,effra)

addEvent(doSendMagicEffect,7800,eff4,effra)

addEvent(doSendMagicEffect,7800,eff5,effra)

addEvent(doSendMagicEffect,7800,eff6,effra)

addEvent(doSendMagicEffect,7800,eff7,effra)

addEvent(doSendMagicEffect,7800,eff8,effra)

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.

 

Em talkactions.xml adicione:

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

<talkaction words="5555555555555ARS" event="script" value="Juukens.lua"/>

 

Agora adicionando no RME:

 

​Obs: Tutorial retirado do meu tópico [spell] Tsukuyomi.

 

Primeiramente abra seu RME.

 

Faça uma areá mais ou menos igual a seguinte (os tiles podem mudar de acordo com seu gosto):

 

No caso estou usando um chão "invisível".

 

passo1f.png

 

Após criar essa areá adicione "NoPVPZone" (em toda areá).

passo2e.png

Depois adicione o "NoLogout" (em toda areá).

passo3f.png

 

Será o tile em que os player atingidos pelo Juuken serão levados:

 

Areá circulada em azul.

passo4.png

 

Agora para onde o teleport levará (caster):

 

Seria o tile, onde quem usou a magia (o caster) irá teleportar.

 

Á direita desse tile preto, 1 sqm a mais para a DIREITA!

<<<<<<

 

 

Ponta de cima na esquerda na area que o tp leva (onde o tile está escuro):

passo6d.png

Ponta de baixo na direita na area que o tp leva (onde o tile está escuro):

passo7.png

 

Após fazer isso adicione o tile de movements no tile em que os players irão teleportar ao serem atingidos.

 

O Juuken que se localiza em movements.Jukken, não Jukken2

 

O jukken!!!!

 

OBS: O TILE É DE UNIQUEID 1646, DESPRESE O DA IMAGEM.

 

passo8.png

 

--------------------DAQUI PRA BAIXO É O TILE 2 (NENHUMA RELAÇÃO COM O PRIMEIRO, O DE CIMA).

 

Agora o tile em que o caster (player que utilizou a magia) o da direita do tile preto

 

<<<< 1 SMQ A DIREITA!

 

E lembre que o id desse tile é UNIQUEID DE NUMERO 1647,

 

OBS: O TILE É DE UNIQUEID 1647, DESPRESE O DA IMAGEM.

 

Agora um vídeo demonstrativo:

 

 

Créditos:

 

Newtonnotwen, pelo script, e pelo post.

LuckOake, pelo script inicial

Vodkart, pelo tile e por uma função

Jhon992, pelo tile

juan500, pela ideia da spell.

 

Por favor comentem, se tiver mal explicado eu edito.

Link para o comentário
Compartilhar em outros sites

novamente, um tutorial seu, estou fasendo um ot server no estilo de naruto, e ja peguei 2 magias suas o tsukuyomi e esta agr, muito obrigado, continue assim, vc é um otimo scripter, tem um Gigante futuro, n é grande, pois no presente ja é grande, 2 rep+

Link para o comentário
Compartilhar em outros sites

XD MT OBRIGADO O SCRIPT Q EU PRECISAVA PRO MEU OT, tenho outra dica de spell observe no desenho naruto classico o personagem jiroubo usa uma spell interessante observe as imagens:

 

1962862_orig.jpg

 

quando ele usa esse jutsu ele solta monte de pedras e fica sugando o chakra das pessoa que estao dentro da pedra vc ´pode fazer isso:

 

coloca uma spell que teleporte o oponente (APENAS O OPONENTE) para um luggar escuro com setsde terra dai dps de um certo tempo a pedra desapareça e o player volte para a localização q ele tava.

 

+REP

 

@EDIT@

 

manow pode fazer um video de como instala a parte do mapa que coloca tiles etc so ali q n entendi...

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

É um a sqm a direita:

 

Modificando as posições!!!

 

to = {x = 669, y = 1070, z = 15} -- Para onde o teleport levará (players) ---- Player

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

 

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...