Cara isso ta perfeito vo testar depois eu falo se funfou Rep+, to com um ot de narutibia em construção e com certeza vou colocar essa spell(genjutsu melhor dizendo)
- Fórum
- OTServ
- Recursos
- Scripting
- Globalevents e Spells
- [Spell] Tsukuyomi!
info
Grupo: Cavaleiro
Registrado: 27/05/12
Posts: 168
Reputação: +3

Editado Agosto 20 por isaque555
info
Grupo: Marquês
Registrado: 22/07/12
Posts: 1.1k
Reputação: +400
Gênero: Masculino
Char no Tibia: Luck Oake

Bom, Newtonnotwen, pelo que eu vi, esse script da Talk é aquele que eu fiz pra você, só que com algumas modificações suas, então por favor, coloque meus créditos. Não é que eu esteja exigindo, mas é que preciso que reconheçam meu trabalho também :S
Tirando isso, excelente ideia. Curti bastante. Vai um REP + pra você.
info
Grupo: Conde
Registrado: 04/08/12
Posts: 762
Reputação: +80

Eu tinha lembrado de botar seu nome, na verdade peguei seu script e transformei ele para teleportar mais de uma pessoa e adicionei a função de teleportar caster e players para lugares diferentes e dentro outras pequenas funções.
E implantei a ideia do lose life no tile.
Enfim, eu jurava que seu nome tava lá, acho que acabei esquecendo.
Malz ae.
Editado, créditos
Script inicial, by LuckOake.
Editado Agosto 21 por Newtonnotwen
info
Grupo: Barão
Registrado: 07/03/08
Posts: 231
Reputação: +17
Gênero: Masculino

Simplesmente magnífico cara. Quando eu estava em um projeto de um OT Mortal Kombat eu pensei em uma spell parecida para ser usada como fatality de um personagem, que consistia em teletransportar o player para um local de lava, o player sumia e sobrava um esqueleto em vez de um corpse.
Muito bem feito. Parabéns.
info
Grupo: Campones
Registrado: 18/08/12
Posts: 74
Reputação: +17
Char no Tibia: Arthur Goku

mano spell perfeita, queria muito uma dessa, rep+
info
Grupo: Conde
Registrado: 04/08/12
Posts: 762
Reputação: +80

Obrigado pelos comentários, vídeo com novos efeitos adicionados.
E se duas pessoas usarem a magia ao mesmo tempo?
Acho melhor substituir a função de tirar hp por tempo por uma que faça o player causar o dano usando doTargetCombatHealth, no caso de usar em monstros, o player não iria ganhar a XP do monstro pelo dano que ele ia perder nessa magia
info
Grupo: Conde
Registrado: 04/08/12
Posts: 762
Reputação: +80

Primeiramente, acho que seria injusto usar em monstro e desnecessário, sobre o player usar duas magias ao mesmo tempo oque que tem? Primeiramente recomendei que bota-se pz e no logout, ou seja se outro player usar eles irão para o mesmo lugar, não poderão atacar um ao outro, quem tiver no tile obviamente perderá life e quem estiver fora vai ficar "assistindo".
Cara, não é o player usar duas magias ao mesmo tempo... São 2 players (ou mais) usarem a magia que você postou ao mesmo tempo. Vai todo mundo pro mesmo lugar, vai chover criaturas, animated texts e um monte de players no mesmo lugar... Só vai ficar esquisito, só isso que falei
info
Grupo: Conde
Registrado: 04/08/12
Posts: 762
Reputação: +80

Efeitos não, porque é via global events, e criaturas não vejo problema em ter varias no mesmo local, mesmo assim muito obrigada pela observação.
info
Grupo: Cavaleiro
Registrado: 27/05/12
Posts: 168
Reputação: +3

Eu até estava pensando nisso de os players usarem e talz mais tipo, eu vou colocar essa spells em monstro então vai ficar de boa.
info
Grupo: Conde
Registrado: 04/08/12
Posts: 762
Reputação: +80

Mas eu não entendo, qual seria o problema se dois usarem ao mesmo tempo?
Primeiramente, acho que seria injusto usar em monstro e desnecessário, sobre o player usar duas magias ao mesmo tempo oque que tem? Primeiramente recomendei que bota-se pz e no logout, ou seja se outro player usar eles irão para o mesmo lugar, não poderão atacar um ao outro, quem tiver no tile obviamente perderá life e quem estiver fora vai ficar "assistindo".
info
Grupo: Barão
Registrado: 02/06/11
Posts: 209
Reputação: +5
Char no Tibia: [ADM] Juan

PORRA TA MUITO BOA SPELL MAIS INCRIVEL QUE EU JA VI COM CTZ VO USA NO MEU OT +REP!!!
info
Grupo: Conde
Registrado: 04/08/12
Posts: 762
Reputação: +80

Galera eu já disse que da pra modificar, no global events, qualquer duvida poste aqui, sua duvida pode ser a do outro.





info
Grupo: Conde
Registrado: 04/08/12
Posts: 762
Reputação: +80
Aew galera, aqui está a magia Tsukuyomi, aquela mesmo do Naruto.
Testado em TSF 8.6.
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".
Após criar essa areá adicione "NoPVPZone" (em toda areá).
Depois adicione o "NoLogout" (em toda areá).
Em data/movements/script crie um arquivo.lua nomeie para sharingan 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), 63)
doSendAnimatedText(getCreaturePosition(cid), -100, 180)
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, -100, 10)
return true
end
Editando:
-Verde: Numero do efeito (/z)
-Azul: Life que vai perder
-Laranja: Intervalo para tirar life (1000 = 1 segundo)
-Roxo: Quantidade de vezes que vai bater
Em movements.xml adicione:
<movevent type="StepIn" uniqueid="1645" event="script" value="sharingan.lua"/>
Em data/talkactions/scripts crie um arquivo.lua nomeie para tsukuyomi 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 = 666, y = 1031, z = 15} -- Para onde o teleport levará (players)
to1 = {x = 664, y = 1031, z = 15} -- Para onde o teleport levará (caster)
area1 = {x = 661, y = 1026, z = 15} -- Ponta de cima na esquerda na area que o tp leva
area2 = {x = 671, y = 1036, 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
doTeleportThing(cid, to)
end
end
function gos(cid)
if isInArea(getCreaturePosition(cid), from, from) then
doTeleportThing(cid, to1)
end
end
if exhaustion.check(cid, storage) == false then
for _, pid in ipairs(getPlayersOnline()) do
addEvent(back, 5000, pid) -- Tempo para retornar ao lugar que usou a magia
addEvent(go, 200, pid)
addEvent(gos, 1, pid)
doSendMagicEffect(getCreaturePosition(pid), 63)
doCreatureSay(pid, "ALGUEM USOU O TSUKUYOMI!", 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.
Sobre as cordenadas:
Para onde o teleport levará (players):
Seria o tile em que os player atingidos pelo Tsukuyomi seria levados:
Areá circulada em azul.
Para onde o teleport levará (caster):
Seria o tile, onde quem usou a magia (o caster) irá teleportar.
Toda a areá em verde!
Ponta de cima na esquerda na area que o tp leva (onde o tile está escuro):
Ponta de baixo na direita na area que o tp leva (onde o tile está escuro):
Em talkactions.xml adicine:
<talkaction words="tsukuyomi" event="script" value="tsukuyomi.lua"/>
Após fazer isso adicione o tile de movements no tile em que os players irão teleportar ao serem atingidos.
Adicionando efeitos, nesse local:
Em data/globalevents/scripts crie um arquivo.lua nomeie para sharingan e adicione:
function onThink(interval, lastExecution)
pos = {x = 665, y = 1030, z = 15}
pos1 = {x = 668, y = 1028, z = 15}
pos2 = {x = 665, y = 1030, z = 15}
pos3 = {x = 664, y = 1033, z = 15}
pos4 = {x = 667, y = 1031, z = 15}
pos5 = {x = 666, y = 1033, z = 15}
pos6 = {x = 665, y = 1030, z = 15}
pos7 = {x = 665, y = 1030, z = 15}
pos8 = {x = 665, y = 1030, z = 15}
doSendAnimatedText(pos, 'Tsukuyomi!', math.random(01,255))
doSendAnimatedText(pos1, '1 segundo.', math.random(01,255))
doSendAnimatedText(pos2, '1 ano', math.random(01,255))
doSendAnimatedText(pos3, 'Baca.', math.random(01,255))
doSendAnimatedText(pos4, 'HURT?!', math.random(01,255))
doSendAnimatedText(pos5, 'Mangekyou!', math.random(01,255))
doSendAnimatedText(pos6, 'Sharingan!', math.random(01,255))
doSendAnimatedText(pos7, 'TOO WEAK!!!', math.random(01,255))
doSendAnimatedText(pos8, 'Trash.', math.random(01,255))
doSendMagicEffect(pos, 61)
doSendMagicEffect(pos1, 61)
doSendMagicEffect(pos2, 61)
doSendMagicEffect(pos4, 63)
doSendMagicEffect(pos5, 61)
doSendMagicEffect(pos6, 61)
doSendMagicEffect(pos7, 61)
doSendMagicEffect(pos8, 61)
return true
end
Editando:
- Verde: Posição
- Vermelho: Mensagem e cor
- Azul: efeito
Em globalevents.xml:
<globalevent name="sharingan" interval="1" script="sharingan.lua" />
Editando:
- Vermelho: Tempo para aparecer os efeitos (1 = 1 segundo), podendo deixar 0.1
Qualquer duvida, só postar.
Aqui vai um vídeo demonstrativo (o vídeo está mostrando a magia sem efeitos bons e com um lugar totalmente preto, isso depende de sua imaginação, só quis fazer o vídeo para verem como funciona):
Magia com efeitos diferentes e com mais tempo:
Créditos:
Newtonnotwen, pelo script, pela ideia e pelo post.
LuckOake, pelo script inicial
Vodkart, pelo tile
Jhon992, pelo tile
Por favor comentem, se tiver mal explicado eu edito.
Editado Setembro 2 por Newtonnotwen