BR
pedido

Ajuda script de SD

Por Bragony, 25 de fev. de 2013 em Scripts

resolvido
script
otserv
21
6.9k
dalvorsnD
25 de fevereiro de 2013 às 16:40

Agora vai ne possível.

76F9hmND[/pastebin]

 

Boaa funcionou!

 

Mas com dois poréns.

 

Primeiro ela ta healando, não tirando dano, imagino que seja só tirar o sinal ali, sei lá.

 

Segundo ela não funciona sem ser com a hotkey...

 

Pode dar mais essa maozinha?

 

Quanto ao fato de estar healando é fácil, é só substituir isso:

doTargetCombatHealth(cid, target, attackType, minDmg, maxDmg, hitEffect)

Por isso:

doTargetCombatHealth(cid, target, attackType, -minDmg, -maxDmg, hitEffect)

Basicamente mudar o sinal, agora quanto o outro problema eu não sei cara, eu teria que pesquisar primeiro porque é estranho só a hotkey ativar a spell sendo que se não me engano ambas enviam pacotes de 'use'

BragonyB
25 de fevereiro de 2013 às 17:47

Muito obrigado dalvorsn, funcionou, agora está dando o hit corretamente!

 

Mas mesmo quando eu aperto a hotkey sem atacar ninguém, nao aparece o símbolo que costuma aparecer... Só funciona quando esta atacando e aperta a hotkey.

 

Só o que falta pra funcionar perfeitamente é isso.

 

Eu to pesquisando pq isso acontece, mas nao acho nada...

 

Ficaria muito grato se você me ajudasse um pouquinho mais... Amanha darei REP!

 

Obrigado...

 

Agradeço se mais alguém puder ajudar.

KennyConradK
26 de fevereiro de 2013 às 00:59

testa ae

 

local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_DEATHDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MORTAREA)
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_SUDDENDEATH)
function getCombatFormulas(cid, lv, maglv)
local formula_min = -((lv* 2 + maglv*3) * 1.2 - 30)
local formula_max = -((lv* 2 + maglv*3) * 1.6)

if(formula_max < formula_min) then
local tmp = formula_max
formula_max = formula_min
formula_min = tmp
end
return formula_min, formula_max
end

setCombatCallback(combat, CALLBACK_PARAM_LEVELMAGICVALUE, "getCombatFormulas")

function onCastSpell(cid, var)
return doCombat(cid, combat, var)
end

BragonyB
26 de fevereiro de 2013 às 11:38

testa ae

 

local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_DEATHDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MORTAREA)
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_SUDDENDEATH)
function getCombatFormulas(cid, lv, maglv)
local formula_min = -((lv* 2 + maglv*3) * 1.2 - 30)
local formula_max = -((lv* 2 + maglv*3) * 1.6)

if(formula_max < formula_min) then
local tmp = formula_max
formula_max = formula_min
formula_min = tmp
end
return formula_min, formula_max
end

setCombatCallback(combat, CALLBACK_PARAM_LEVELMAGICVALUE, "getCombatFormulas")

function onCastSpell(cid, var)
return doCombat(cid, combat, var)
end

 

Funcionou perfeitamente!

 

Muito obrigado, darei REP+ quando puder dar...

 

Pode mover o tópico, foi resolvido!

RoksasR
26 de fevereiro de 2013 às 12:53

Dúvida sanada, reported.

26 de fevereiro de 2013 às 15:12

Tópico movido para a seção de dúvidas e pedidos resolvidos.