Ir para conteúdo

Featured Replies

Postado

         Galera resolvi fazer uma "mistureba" em alguns scripts aqui do TK

e deu noque deu... oque vai acontecer ?

Bem, é bem simples:

O Player vai chegar a beira da morte (0 life), então vai recuperar X quantia de vida para não morrer

a primeira storage fará com que ele reflita o próximo dano do oponente possivelmente dando tempo

dele se regenerar com outras magias.

         A chance dele morrer mesmo com a regeneração de X de vida é grande, e ai que entra a segunda

storage o player não morrerá sera teleportado para o aegis após 3 segundos o player voltara com life/mana full.

         Isso sera uma oportunidade do player correr  ;D, Se o player morrer depois disso não voltara nem sera

regenerado etc.. o condown da magia é de 1 minuto ou seja isso só vai acontecer de 1 em 1 minuto.

Video de como ficou no meu servidor:

Video_1429708800.wmv-FAVOR IGNORAR O SOM (PRESTE ATENÇÃO O SOM ESTÁ MUITO ALTO)

scan do vídeo: CLIQUE AQUI

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

Vamos ao script...

abra data/spells/scripts e crie um arquivo com o nome reflect.lua e dentro dele coloque:

local config = { 
storage = 34820,
cooldown = 60,
effect1 = 28 --- efeito que sai qnd usa a spell
 
 
function onCastSpell(cid, var)
  
if getPlayerStorageValue(cid, config.storage) == 1 then
doPlayerSendCancel(cid, "Your skill is already active.")
return false
end
  
  if os.time() - getPlayerStorageValue(cid, 55694) >= config.cooldown then
setPlayerStorageValue(cid, 55694, os.time())
doSendMagicEffect(getCreaturePosition(cid), config.effect1)
setPlayerStorageValue(cid, config.storage, 1)
doPlayerSendTextMessage(cid, 27, "Voce ativou sua skill, a proxima damage vai ser refletida.")
else
doPlayerSendCancel(cid, "Sua skill esta carregando, aguarde "..(config.cooldown - (os.time() - getPlayerStorageValue(cid, 55694))).." segundos para usar novamente.")
return false
end
  
    return true
end

e salve.

agora em data/spells abra spells.xml e em baixo do ULTIMO  </instant>

<instant name="REFLECT" words="reflect" lvl="500" mana="5000" prem="1" aggressive="0" exhaustion="1000" needlearn="0" event="script" value="reflect.lua">

</instant>

agora abra data/creaturescripts/scripts crie um arquivo com o nome reflect.lua e dentro coloque:

local config = { 
storage = 34820,
effect1 = 28, --- efeito que sai ao dar reflect
effect2 = 26 -- efeito que aparece na pessoa que levou reflect
 
function onStatsChange(cid, attacker, type, combat, value)
if value >= 1 and (type == STATSCHANGE_HEALTHLOSS or (getCreatureCondition(cid, CONDITION_MANASHIELD) and type == STATSCHANGE_MANALOSS))  then
if getPlayerStorageValue(cid,config.storage) == 1 and isCreature(attacker) then
doSendAnimatedText(getCreaturePosition(attacker),"-"..value, 215)
doCreatureAddHealth(attacker, -value, true)
doCreatureSay(cid,"PASSIVA!", 19)
doCreatureSay(cid,"Shisen Biku Aishi!", 19)
doSendMagicEffect(getCreaturePosition(cid), config.effect1)
doSendMagicEffect(getCreaturePosition(attacker), config.effect2)
setPlayerStorageValue(cid,config.storage, 0)
return false
end
end
return true
end

agora ainda em data/creaturescripts/scripts crie um arquivo com o nome setstoragepassiva.lua e dentro:

local temp = 1 -- Cooldown em minutos.
 
function onPrepareDeath(cid, deathList)
    if not isPlayer(cid) then
    return true
    end
    if getPlayerStorageValue(cid, 34819) <= os.time() then
            doCreatureAddHealth(cid, 20000, 65535, 256, true)
            doCreatureSay(cid,"SetStorage!", 19)
            setPlayerStorageValue(cid, 34819, os.time() + temp * 60)
            setPlayerStorageValue(cid, 34820, 1)
            setPlayerStorageValue(cid, 19332, 1)
           return FALSE
    else
        doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Sua passiva nao foi usada pois voce tem que aguardar 1 minuto apois o uso.")
    end
return TRUE
end

agora por ultimo ainda em data/creaturescripts/scripts crie o arquivo com o nome reborn.lua e dentro:

local config = {
pos = {x=1026, y=1024, z=15}, -- posição da aegis dimension
tempo = 3, -- tempo pra voltar
effect1 = 28, -- efeito ao morrer
effect2 = 26, -- efeito ao retornar a vida
storage = 19332
}
 
 
 
 
function onStatsChange(cid, attacker, type, combat, value)
if type == STATSCHANGE_HEALTHLOSS and value >= getCreatureHealth(cid) then
if getPlayerStorageValue(cid, config.storage) > 0 then
doPlayerSetStorageValue(cid, config.storage, (getPlayerStorageValue(cid, config.storage)-1))
addEvent(doTeleportThing, 1000*config.tempo, cid, getThingPos(cid), true)
addEvent(doSendMagicEffect, 1000*config.tempo, getThingPos(cid), config.effect2)
doSendMagicEffect(getThingPos(cid), config.effect1)
doCreatureAddHealth(cid, getCreatureMaxHealth(cid) - getCreatureHealth(cid))
doCreatureAddMana(cid, getCreatureMaxMana(cid) - getCreatureMana(cid))
doTeleportThing(cid, config.pos)
if isCreature(attacker) then
doPlayerSendTextMessage(cid, 27, "Voce foi morto por ".. getCreatureName(attacker) ..". agora e a hora de sua vinganca!")
end
if isPlayer(attacker) and isCreature(cid) then
doPlayerSendTextMessage(attacker, 27, "Voce matou ".. getCreatureName(cid) .."!")
end
for i = 1,config.tempo  do
addEvent(function()
if isCreature(cid) then
doPlayerSendTextMessage(cid,25,"Voce voltara em " .. config.tempo -i +1 .. " segundo(s)")
end
end, 1000*i)
end
 
 
return false
end
end
return true
end

agora em data/creaturescripts abra creaturescripts.xml e coloque essas tags:

<event type="statschange" name="reflect" event="script" value="reflect.lua"/>

<event type="PrepareDeath" name="SetStoragePassiva" event="script" value="setstoragepassiva.lua"/>
   <event type="statschange" name="reborn" script="reborn.lua"/> 

agora abra login.lua e coloque:

 registerCreatureEvent(cid, "SetStoragePassiva")

--- BOSS SKILLS ----
registerCreatureEvent(cid, "reborn")
if getPlayerStorageValue(cid, 19332) == -1 then
        setPlayerStorageValue(cid, 19332, 0) 
    end 
---------- UCHIHAGAESHI ----------------
registerCreatureEvent(cid, "reflect")
if getPlayerStorageValue(cid, 3482101) ~= 0 then
        setPlayerStorageValue(cid, 3482101, 0) 
end

 

Editavel:

Galera melhor não mexer nas storages

Em cada script tem uma linha com {-- AQUI A MENSAGEM} ou seja explicando oque é para fazer e oque configurar

Necessário configurar a posição do aegis dimension no reborn.lua que fica em data/creaturescripts/scripts

pos = {x=1026, y=1024, z=15}, -- posição da aegis dimension

 

para criar uma aegis dimension faça o seguinte:

Crie uma area completamente com Non-PVP e No-Logout exemplo:

35auhj5.jpg

creditos da foto: Xwhitewolf

 

 CREDITOS:

  XWhiteWolf Pelo Aegis e Reflect.

  Wakon Pelo suporte ao script de heal + set storage.

  A mim por juntar ambas coisas e formar isso que eu chamo de shisen biku aishi.

 

Favor não custa nem 1 minuto de seu tempo, se valorizou algo neste tópico clique em gostei que já estará me ajudando.

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

  • Respostas 8
  • Visualizações 602
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • Eu pretendia adicionar umas bordas headers porém não tenho nem ideia de onde pego as imgs tentei formatar na medida do possível vê se esta bom

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