Jump to content
Close
matheuspeixoto12

Spell de revidar ataque

Recommended Posts

Olá, alguém consegue fazer uma spells pra mim? ela seria assim:

 

O player utiliza a spell, uchihagaeshi (exemplo) então, algum player ou monstros ataca ele, então ele não receberá o dano, o dano voltaram para quem o atacou, poderá ser ativada a cada 20 segundos, e durará apenas por 1 dano.

 

 


Share this post


Link to post
Share on other sites

vo passa uma talk e tipo ele falo !reflect ai o dano voltara ..

 

function onSay(cid, words, param)
local cargas = 10 -- quantas vezes ira refletir
if getPlayerStorageValue(cid, 19273) <= 0 and getPlayerStorageValue(cid, 19274) - os.time() < 0 then
setPlayerStorageValue(cid, 19273, cargas)
setPlayerStorageValue(cid, 19274, os.time() + 300*1000)
else
doPlayerSendTextMessage(cid, 28, "Você só podera usar denovo daqui [".. getPlayerStorageValue(cid, 19274) - os.time() .. "] Segundos.")
end
return true
end
 
 
se quiser tira o tempo pra usa so avisa ai se qusie uma spells avisa +rep se ajudei 

Share this post


Link to post
Share on other sites

Nossa a

 

 

vo passa uma talk e tipo ele falo !reflect ai o dano voltara ..

 

function onSay(cid, words, param)
local cargas = 10 -- quantas vezes ira refletir
if getPlayerStorageValue(cid, 19273) <= 0 and getPlayerStorageValue(cid, 19274) - os.time() < 0 then
setPlayerStorageValue(cid, 19273, cargas)
setPlayerStorageValue(cid, 19274, os.time() + 300*1000)
else
doPlayerSendTextMessage(cid, 28, "Você só podera usar denovo daqui [".. getPlayerStorageValue(cid, 19274) - os.time() .. "] Segundos.")
end
return true
end
 
 
se quiser tira o tempo pra usa so avisa ai se qusie uma spells avisa +rep se ajudei 

 

Se tem certeza que isso vai funfa, axo que falta algo pra completar isso.


Share this post


Link to post
Share on other sites

olá, o personagem ativa a spell mas ele não está refletindo o ataque nem de monstros nem de players.

 

Obs. Mudei as storages de 3482101 para 3482104

obs2. Não aparece erro na distro.


Edited by matheuspeixoto12 (see edit history)

Share this post


Link to post
Share on other sites

qual a versão do seu server.. isso aí só funciona em 8.54+



Todos os meus trabalhos importantes estão na seção "Sobre mim" no meu perfil; Dá uma passada lá!

"Há três caminhos para o fracasso: não ensinar o que se sabe, não praticar o que se ensina, e não perguntar o que se ignora." - São Beda

I7Pm6ih.png

(obg ao @Beeny por fazer essa linda sign <3)

Share this post


Link to post
Share on other sites

o meu é 8.54 e eu testei antes de te enviar

os storages pra se mudar são nessas linhas aqui, tanto no creaturescripts como na spells e no login.lua (3482101)

local config = { 
storage = 3482101,

local config = {
storage = 3482101,

if getPlayerStorageValue(cid, 3482101) ~= 0 then
        setPlayerStorageValue(cid, 3482101, 0) 

E AQUI VOCÊ PODE ALTERAR O STORAGE DO COOLDOWN (55964)

if os.time() - getPlayerStorageValue(cid, 55694) >= config.cooldown then
setPlayerStorageValue(cid, 55694, os.time())

doPlayerSendCancel(cid, "Your skill is in cooldown, you must wait "..(config.cooldown - (os.time() - getPlayerStorageValue(cid, 55694))).." seconds.")

Todos tem que estar iguais pra dar certo e note que nenhum outro script que eu te passei pode usar o mesmo storage tanto pro cooldown como pra verificar a magia ;]



Todos os meus trabalhos importantes estão na seção "Sobre mim" no meu perfil; Dá uma passada lá!

"Há três caminhos para o fracasso: não ensinar o que se sabe, não praticar o que se ensina, e não perguntar o que se ignora." - São Beda

I7Pm6ih.png

(obg ao @Beeny por fazer essa linda sign <3)

Share this post


Link to post
Share on other sites

tá refletindo qualquer dano



Todos os meus trabalhos importantes estão na seção "Sobre mim" no meu perfil; Dá uma passada lá!

"Há três caminhos para o fracasso: não ensinar o que se sabe, não praticar o que se ensina, e não perguntar o que se ignora." - São Beda

I7Pm6ih.png

(obg ao @Beeny por fazer essa linda sign <3)

Share this post


Link to post
Share on other sites

8.6 tfs 1.0 n funciona



Toda terça-feira um tópico novo:

Descanso para curar mana (Spell): https://tibiaking.com/forums/topic/94615-spell-descanso-para-curar-mana/

Peça sua spell (Suporte):                https://tibiaking.com/forums/topic/84162-peça-sua-spell/                        

Chuva de flechas (Spell):                https://tibiaking.com/forums/topic/72232-chuva-de-flechas-spell/

Doom (Spell):                                https://tibiaking.com/forums/topic/51622-doom-spell/

Utilização do VS Code (Infra)       https://tibiaking.com/forums/topic/94463-utilizando-o-visual-studio-code-notepad-nunca-mais/

SD com Combo (Spell):                 https://tibiaking.com/forums/topic/94520-sd-modificada/

Alteração attack speed (C++):        https://tibiaking.com/forums/topic/94714-c-attack-speed-spells-itens-e-onde-você-quiser/  

Bônus de Speed (NPC)                  https://tibiaking.com/forums/topic/94809-npc-concede-bônus-aos-players/
 

Share this post


Link to post
Share on other sites

Gostaria de saber se tem como editar, quantos danos ele poderá refletir? TEM COMO AJUDAR?


Share this post


Link to post
Share on other sites
Em 03/08/2014 ás 18:28, xWhiteWolf disse:

spells/scripts/especiais/uchihagaeshi.lua
 


local config = { 
storage = 3482101,
cooldown = 20,
effect1 = 29 --- 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, "You activated your skill, the next damage will be reflected.")
else
doPlayerSendCancel(cid, "Your skill is in cooldown, you must wait "..(config.cooldown - (os.time() - getPlayerStorageValue(cid, 55694))).." seconds.")
return false
end
  
    return true
end

spells.xml


<instant name="testeTK" words="naruto3" lvl="16" mana="500" prem="1" aggressive="0" exhaustion="1000" needlearn="0" event="script" value="especiais/uchihagaeshi.lua">
</instant>


creaturescripts.xml:


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

creaturescripts\scripts\uchihagaeshi.lua:

 


local config = { 
storage = 3482101,
effect1 = 17, --- efeito que sai ao dar reflect
effect2 = 29 -- 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,"Uchihagaeshi!", 19)
doSendMagicEffect(getCreaturePosition(cid), config.effect1)
doSendMagicEffect(getCreaturePosition(attacker), config.effect2)
setPlayerStorageValue(cid,config.storage, 0)
return false
end
end
return true
end

creaturescripts\scripts\login.lua:
 


---------- UCHIHAGAESHI ----------------
registerCreatureEvent(cid, "uchihagaeshi")
if getPlayerStorageValue(cid, 3482101) ~= 0 then
        setPlayerStorageValue(cid, 3482101, 0) 
end


Se for editar storage tem que editar em todos os scripts

Na disto não dá nenhum erro, uso a magia e não repele nada, hit, poder.

Uso tfs 1.1 8.54, preciso muito desse script :/

EDIT--

Funcionando perfeito @xWhiteWolf, mais como aumento a quantidade de hits refletidos?


Edited by diarmaint (see edit history)

Share this post


Link to post
Share on other sites

troca o storage, está 

storage = 3482101,

deixa 34821 (na spell e no creaturescript)



Todos os meus trabalhos importantes estão na seção "Sobre mim" no meu perfil; Dá uma passada lá!

"Há três caminhos para o fracasso: não ensinar o que se sabe, não praticar o que se ensina, e não perguntar o que se ignora." - São Beda

I7Pm6ih.png

(obg ao @Beeny por fazer essa linda sign <3)

Share this post


Link to post
Share on other sites
Em 03/08/2014 em 18:28, xWhiteWolf disse:

spells/scripts/especiais/uchihagaeshi.lua
 


local config = { 
storage = 3482101,
cooldown = 20,
effect1 = 29 --- 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, "You activated your skill, the next damage will be reflected.")
else
doPlayerSendCancel(cid, "Your skill is in cooldown, you must wait "..(config.cooldown - (os.time() - getPlayerStorageValue(cid, 55694))).." seconds.")
return false
end
  
    return true
end

spells.xml


<instant name="testeTK" words="naruto3" lvl="16" mana="500" prem="1" aggressive="0" exhaustion="1000" needlearn="0" event="script" value="especiais/uchihagaeshi.lua">
</instant>


creaturescripts.xml:


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

creaturescripts\scripts\uchihagaeshi.lua:

 


local config = { 
storage = 3482101,
effect1 = 17, --- efeito que sai ao dar reflect
effect2 = 29 -- 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,"Uchihagaeshi!", 19)
doSendMagicEffect(getCreaturePosition(cid), config.effect1)
doSendMagicEffect(getCreaturePosition(attacker), config.effect2)
setPlayerStorageValue(cid,config.storage, 0)
return false
end
end
return true
end

creaturescripts\scripts\login.lua:
 


---------- UCHIHAGAESHI ----------------
registerCreatureEvent(cid, "uchihagaeshi")
if getPlayerStorageValue(cid, 3482101) ~= 0 then
        setPlayerStorageValue(cid, 3482101, 0) 
end


Se for editar storage tem que editar em todos os scripts

Como sempre ótimo script


Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


Open Tibia Server

Quer aprender a criar seu próprio servidor de Tibia? Então está no lugar certo, aqui você encontrará milhares de tutorias, scripts, códigos, mapas e utilitários para que você possa fazer o seu próprio servidor de Tibia partindo do zero.

Redes Sociais

Anuncie no Tibia King

Precisa de mais visibilidade em seus projetos? Quer publicidade para o seu servidor? Anuncie no Tibia King e faça sua divulgação, possuímos centenas de acessos simultâneos e milhares diários, com certeza será a sua solução! A publicação do seu anuncio é instantânea!

×
×
  • Create New...