Postado Abril 22, 2015 10 anos 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 , 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: 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 Abril 22, 2015 10 anos por Vinicius Xxgamexx (veja o histórico de edições)
Postado Abril 22, 2015 10 anos Autor 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
Postado Abril 23, 2015 10 anos 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 Sem comparações, tópico aprovado e movido...
Postado Abril 23, 2015 10 anos tenho uma script igual e reduzida e mt mais facil de instalar e configurar.
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.