Ir para conteúdo
  • Cadastre-se

(Resolvido)Spell que regenera porcentagem de HP por segundo


Ir para solução Resolvido por xWhiteWolf,

Posts Recomendados

Boa tarde,

criei uma spell que regenera 4% do HP máximo do caster por segundo (durante 15 segundos), porém, ao digitar e enviar a spell word in game, nada acontece, é como se a spell word fosse uma palavra qualquer.

 

Script:

local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_GREEN)
setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, false)
 
local config = {
hpregen = getCreatureMaxHealth(cid) * 0.04,
tempo = 15,
intervalo = 1
}
 
local condition = createConditionObject(CONDITION_FOOD)
setConditionParam(condition, CONDITION_PARAM_TICKS, config.tempo*1000)
setConditionParam(condition, CONDITION_PARAM_BUFF, true)
setConditionParam(condition, CONDITION_PARAM_HEALTHGAIN, config.hpregen)
setConditionParam(condition, CONDITION_PARAM_HEALTHTICKS, config.intervalo*1000)
setCombatCondition(combat, condition)
 
 
function onCastSpell(cid, var)
return doCombat(cid, combat, var)

end

 

Tem como me dizerem o que está errado, ou fazer uma nova spell, porém me explicando o script? 

 

Thanks

 

Link para o post
Compartilhar em outros sites
  • Solução

Seguinte meu caro, os combats/conditions tem que ser colocados antes do script rodar, certo? (antes do callback). Porém, você só pode usar coisas relacionadas ao cid após o callback rodar!.

O problema está justamente aqui:

 

local config = {

hpregen = getCreatureMaxHealth(cid) * 0.04,
tempo = 15,
intervalo = 1
}

pois até você executar a magia o server não server oque é esse cid. E ele só executa a magia no final do script;
 

 

function onCastSpell(cid, var)

return doCombat(cid, combat, var)

end


O tibia tem uma maneira de resolver esse tipo de coisa porém a maneira deles é uma maneira meio bronze (ruim) e que não funciona em todos os servers aparentemente, que é fazendo um combat callback de alguma informação do player. Eu não vou entrar em detalhes porque é uma solução burra mas você pode fazer essa mesma spell através de scripts dentro do callback, tendo um resultado idêntico ao que vc quer e deixado o script mais bonito e configurável.
Veja: http://www.tibiaking.com/forum/topic/44593-mass-healing/
 

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)

Link para o post
Compartilhar em outros sites

eu tenho uma spell q peguei de outro ot que tem mais ou menos essa função ela regenera um tanto de mana e adiciona um tanto de todos os skills por um determinado tempo quando se tenta usar a magia duas vez ela informa "voce ja esta transformado" a magia eh giga power up

Link para o post
Compartilhar em outros sites

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

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo