Ir para conteúdo

Featured Replies

  • Respostas 14
  • Visualizações 2.6k
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • cara, eu consegui aqui fazer dar um exori a cada % após tomar danos maiores que um valor determinado.. mas isso taria mais pra um counter attack doque pruma passiva.. me fala quais tipos de passiva vc

  • se vc manjar de script dá pra editar esse meu script de dodge com o script do item soltar magia com uma spell qualquer e fazer do jeitinho que vc quer. (ta na minha assinatura)

  • vou testar no meu server, não sei se essa é a forma certa de fazer oque vc quer..

Postado

vou testar no meu server, não sei se essa é a forma certa de fazer oque vc quer..

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)

Postado
  • Solução

cara, eu consegui aqui fazer dar um exori a cada % após tomar danos maiores que um valor determinado.. mas isso taria mais pra um counter attack doque pruma passiva.. me fala quais tipos de passiva vc quer que eu faço pra ti, porque cada uma vai ser muito diferente da outra.

assim foi como ficou pra dar exori:

-------------- area da magia ---


local area = createCombatArea{ 
{1, 1, 1},
{1, 3, 1},
{1, 1, 1}
}




-------
local config = {
percent = 20,  -- porcentagem de sair a magia (50 = 50% de chance)
valorvida = 100 --quanto deve ser o valor minimo de vida a perder para executar o script 
}




function onStatsChange(cid, attacker, type, combat, value)
if type == STATSCHANGE_HEALTHLOSS and value >= config.valorvida then
if math.random (1,100) <= config.percent then
local pos = getCreaturePosition(cid)
local level, magic = getPlayerLevel(cid), getPlayerMagLevel(cid)
local min, max = -(magic * 1.5 + level), -(magic * 2.5 + level)
doAreaCombatHealth(cid, COMBAT_PHYSICALDAMAGE, pos, area, min, max, CONST_ME_HITAREA)
end
end
return true
end

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)

  • 6 years later...
Postado

 

Em 16/05/2014 em 01:56, xWhiteWolf disse:

cara, eu consegui aqui fazer dar um exori a cada % após tomar danos maiores que um valor determinado.. mas isso taria mais pra um counter attack doque pruma passiva.. me fala quais tipos de passiva vc quer que eu faço pra ti, porque cada uma vai ser muito diferente da outra.

assim foi como ficou pra dar exori:



-------------- area da magia ---


local area = createCombatArea{ 
{1, 1, 1},
{1, 3, 1},
{1, 1, 1}
}




-------
local config = {
percent = 20,  -- porcentagem de sair a magia (50 = 50% de chance)
valorvida = 100 --quanto deve ser o valor minimo de vida a perder para executar o script 
}




function onStatsChange(cid, attacker, type, combat, value)
if type == STATSCHANGE_HEALTHLOSS and value >= config.valorvida then
if math.random (1,100) <= config.percent then
local pos = getCreaturePosition(cid)
local level, magic = getPlayerLevel(cid), getPlayerMagLevel(cid)
local min, max = -(magic * 1.5 + level), -(magic * 2.5 + level)
doAreaCombatHealth(cid, COMBAT_PHYSICALDAMAGE, pos, area, min, max, CONST_ME_HITAREA)
end
end
return true
end

 

Boa noite, desculpa reviver o topico, mas como faço pra ele executar uma spells quando tiver com 50% de hp? eu tentei um aqui mas da erro, n sei aonde errei.

 

Spoiler


local config = {
    vocations = {102,103,104,105,106,107,148,149,150,151,152,178,179,180,181,182,183,184,185,186,187,541,542,543,544,545,546,547,548,549,550,531,532,533,534,535,536,537,538,539,540,471,472,473,474,475,476,477,478,479,480,381,382,383,384,385,386,387,388,389,390},     --IDs das vocações.
    time = 2,                       --Exhaust, em minutos.
    hpPercent = 30,                 --Porcentagem de vida.
    spell = "passivareflect"
}   
function onStatsChange(cid, attacker, type, combat, value)
    if type == STATSCHANGE_HEALTHLOSS and isPlayer(cid) and isInArray(config.vocations, getPlayerVocation(cid)) then
        if getPlayerStorageValue(cid, 18182) < os.time() and getCreatureHealth(cid) <= getCreatureMaxHealth(cid) * config.hpPercent / 100 then
	    doCreatureCastSpell(cid, config.spell) 
            setPlayerStorageValue(cid, 18182, os.time() + config.time * 60)
        end
    end
    return true
end

 


esse e o erro:

 

Spoiler

[23:41:23.702] [Error - CreatureScript Interface]
[23:41:23.704] data/creaturescripts/scripts/passive/android.lua:onStatsChange
[23:41:23.704] Description:
[23:41:23.705] data/creaturescripts/scripts/passive/android.lua:10: attempt to call global 'doCreatureCastSpell' (a nil value)
[23:41:23.706] stack traceback:
[23:41:23.706]  data/creaturescripts/scripts/passive/android.lua:10: in function <data/creaturescripts/scripts/passive/android.lua:7>

 


 

Editado por elielder
esqueci do erro (veja o histórico de edições)

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