Ir para conteúdo
Banner com Efeitos

Featured Replies

Postado
  • Autor

Olha esse que fiz agora

  Citar

 

local chance = 1.0

function onStatsChange(cid, attacker, type, combat, value)
if type == STATSCHANGE_HEALTHLOSS then
if math.random(1, 10) <= chance then
doSendAnimatedText(getCreaturePos(cid), "Passive", 6)
return false
end
end
return true
end


deu esse erro
 

  Citar

 

[Error - CreatureScript Interface]
data/creaturescripts/scripts/passive.lua
Description:
(luaSetCombatArea) Area not found


  Em 15/05/2014 em 19:33, xWhiteWolf disse:

seria algo + OU - assim:
 


-------------- Magia a ser utilizada --- sem o function onCastSpell ---
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_HITAREA)
setCombatParam(combat, COMBAT_PARAM_USECHARGES, true)


local area = createCombatArea(AREA_SQUARE1X1)
setCombatArea(combat, area)


function onGetFormulaValues(cid, level, skill, attack, factor)
local skillTotal, levelTotal = skill + attack, level / 5
return -(skillTotal * 1.5 + levelTotal), -(skillTotal * 2.5 + levelTotal)
end


setCombatCallback(combat, CALLBACK_PARAM_SKILLVALUE, "onGetFormulaValues")
-------
local config = {
percent = 5,  -- porcentagem de sair a magia
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,config.percent) == 1 then
 doCombat(cid, combat, var)
end
return true
end
return true
end

Só tem que ver se isso daqui funciona: Lembra de adicionar a tag no creaturescripts.xml e de registrar o evento no login.lua


ps: peço desculpa pelo double post mas ia ficar mt ruim fazer tudo num post só

 

deu esse erro

[Error - CreatureScript Interface]
data/creaturescripts/scripts/passive.lua
Description:
(luaSetCombatArea) Area not found

  • 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

foi mal, tinha esquecido que as areas tão na lib de spells: 
 

-------------- Magia a ser utilizada --- sem o function onCastSpell ---
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_HITAREA)
setCombatParam(combat, COMBAT_PARAM_USECHARGES, true)


local areaspell = {
{1, 1, 1},
{1, 3, 1},
{1, 1, 1}
}


local area = createCombatArea(areaspell)
setCombatArea(combat, area)


function onGetFormulaValues(cid, level, skill, attack, factor)
local skillTotal, levelTotal = skill + attack, level / 5
return -(skillTotal * 1.5 + levelTotal), -(skillTotal * 2.5 + levelTotal)
end


setCombatCallback(combat, CALLBACK_PARAM_SKILLVALUE, "onGetFormulaValues")
-------
local config = {
percent = 5,  -- porcentagem de sair a magia
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,config.percent) == 1 then
 doCombat(cid, combat, var)
end
end
return true
end

isso deve funcionar, se não funcionar daí eu teria que fazer mais testes 

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
  • Autor
  Em 15/05/2014 em 20:00, xWhiteWolf disse:

foi mal, tinha esquecido que as areas tão na lib de spells: 

 

-------------- Magia a ser utilizada --- sem o function onCastSpell ---
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_HITAREA)
setCombatParam(combat, COMBAT_PARAM_USECHARGES, true)


local areaspell = {
{1, 1, 1},
{1, 3, 1},
{1, 1, 1}
}


local area = createCombatArea(areaspell)
setCombatArea(combat, area)


function onGetFormulaValues(cid, level, skill, attack, factor)
local skillTotal, levelTotal = skill + attack, level / 5
return -(skillTotal * 1.5 + levelTotal), -(skillTotal * 2.5 + levelTotal)
end


setCombatCallback(combat, CALLBACK_PARAM_SKILLVALUE, "onGetFormulaValues")
-------
local config = {
percent = 5,  -- porcentagem de sair a magia
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,config.percent) == 1 then
 doCombat(cid, combat, var)
end
end
return true
end

isso deve funcionar, se não funcionar daí eu teria que fazer mais testes 

agora n deu erro mais, nao aconteçe nada Oo

Postado

vc registrou o evento no login.lua? colocou no creaturescripts.xml? O script funciona assim, se vc tomar 100 de dano ele tem 20% de chance de ativar um exori.. 

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
  • Autor

Regitrei sim, so q nao esta saindo nada Oo vou almenta a %


ele ta dando erro nessa função

  Citar
[Error - CreatureScript Interface]
data/creaturescripts/scripts/passive.lua:onStatsChange
Description:
attempt to index a nil value
stack traceback:
        [C]: in function 'doCombat'
        data/creaturescripts/scripts/passive.lua:38: in function <data/creatures
cripts/scripts/passive.lua:35>
 

Editado por Golf (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