Ir para conteúdo
Banner com Efeitos

Featured Replies

Postado
local config = {
	hits = 3, -- quantos hits vai dar
	effect = 41, -- efeito
	distance_effect = 28, -- efeito de distance
	delay = 350, -- tempo entre os hits
	damage = COMBAT_PHYSICALDAMAGE -- tipo de combat
}

local combat = createCombatObject()
local function doHitCreature(target, cid, times)
    if isCreature(cid) and isCreature(target) and times ~= 0 then
		doTargetCombatHealth(cid, target, config.damage, -getPlayerLevel(cid), -getPlayerLevel(cid), config.effect)
		doSendDistanceShoot(getThingPos(cid), getThingPos(target), config.distance_effect)
		addEvent(doHitCreature, config.delay, target, cid, times-1)
    end
	return true
end

function onTargetCreature(cid, target)
	return addEvent(doHitCreature, 1, target, cid, config.hits)
end

setCombatCallback(combat, CALLBACK_PARAM_TARGETCREATURE, "onTargetCreature")

function onCastSpell(cid, var)
	return doCombat(cid, combat,var)
end
  • Respostas 15
  • Visualizações 935
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • local combat1 = createCombatObject() setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_ICEDAMAGE) setCombatParam(combat1, COMBAT_PARAM_DISTANCEEFFECT, 28) setCombatParam(combat1, COMBAT_PARAM_EFFECT, 

  • local config = { hits = 3, -- quantos hits vai dar effect = 41, -- efeito distance_effect = 28, -- efeito de distance delay = 350, -- tempo entre os hits damage = COMBAT_PHYSICALDAMAGE -- tipo de

  • o dano tá aqui:     doTargetCombatHealth(cid, target, config.damage, -getPlayerLevel(cid), -getPlayerLevel(cid), config.effect) ta dando damage do cid (quem usa a magia) no target (pessoa que tá sen

Postado
  • Autor

Cara funcionou sim perfeitamente, mas tipo eu tenho outras magias pra editar como exemplo 1.5 de dano por level nas outras colocar area e tal tlg?

por isso to perguntando como junta aqueles 2 script pra eu ter uma noção como vou editar as outras tlg?

 

 

 

 

mas se nao tiver jeito nenhum que alguem me ajude,

ai eu queria te perguntar onde eu configuraria o dano nesse caso? '-'

Editado por poko360 (veja o histórico de edições)

Postado

o dano tá aqui:
    doTargetCombatHealth(cid, target, config.damage, -getPlayerLevel(cid), -getPlayerLevel(cid), config.effect)

ta dando damage do cid (quem usa a magia) no target (pessoa que tá sendo atacada), o tipo de dano é o config.damage 

damage = COMBAT_PHYSICALDAMAGE

ou seja, dano físico.
e o dano minimo e máximo é - o level do player. O efeito que vai sair é o config.effect,

Se vc quiser mudar o dano é só fazer

doTargetCombatHealth(cid, target, config.damage, -DANO MINIMO, -DANO MÁXIMO, config.effect)

lembrando sempre de colocar o - se não ele vai recuperar vida.

Se vc quiser que seja 1,5x o level do player só fazer
 

local min = math.ceil(getPlayerLevel(cid) * 1.5)
doTargetCombatHealth(cid, target, config.damage, -min, -minconfig.effect)

ps: se vc quiser fazer em área é só mudar a função doTargetCombatHealth pra

doAreaCombatHealth(cid, type, pos, area, min, max, effect)

na area vc faz igual um script normal

area = {0,0,0,1,0,0,0,
        0,0,0,3,0,0,0,
        0,0,0,1,0,0,0}

e o resto tá no script acima

Editado por xWhiteWolf (veja o histórico de edições)

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

Whitewolf obrigado, entendi a parte de cima perfeitamente,

 

 

:accept: local min = math.ceil(getPlayerLevel(cid) * 1.5)
doTargetCombatHealth(cid, target, config.damage, -min, -min, config.effect)

 

 

so nao entendi essa aqui

\/

como eu devo montar? ta ligado? (em quais linhas devo colocar isso?)

 

:recuse: se no de cima voce colocou -min,-min, porque voce colocou esse min, max,?

 

@xWhiteWolf,

 

ps: se vc quiser fazer em área é só mudar a função doTargetCombatHealth pra

doAreaCombatHealth(cid, type, pos, area, min, max, effect)

 

na area vc faz igual um script

 

normalarea = {0,0,0,1,0,0,0,

                       0,0,0,3,0,0,0,

                       0,0,0,1,0,0,0}

 

e o resto tá no script acima

 

 

 

 

 

 

 

 

 

EDIT:

queria colocar isso nessa magia aqui:

local combat1 = createCombatObject()
setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat1, COMBAT_PARAM_EFFECT, 36)
setCombatFormula(combat1, COMBAT_FORMULA_LEVELMAGIC, -1.2, -45, -1.2, 0)

local combat5 = createCombatObject()
setCombatParam(combat5, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat5, COMBAT_PARAM_EFFECT, 6)
setCombatFormula(combat5, COMBAT_FORMULA_LEVELMAGIC, -1.2, -45, -1.2, 0)

arr1 = {
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0},
{0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 0},
{0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
}



local area1 = createCombatArea(arr1)

local area5 = createCombatArea(arr1)
setCombatArea(combat1, area1)

setCombatArea(combat5, area5)

local function onCastSpell1(parameters)
doCombat(parameters.cid, parameters.combat1, parameters.var)
end



local function onCastSpell5(parameters)
doCombat(parameters.cid, parameters.combat5, parameters.var)
end

function onCastSpell(cid, var)
local parameters = { cid = cid, var = var, combat1 = combat1, combat2 = combat2, combat3 = combat3, combat4 = combat4, combat5 = combat5 }
addEvent(onCastSpell1, 0, parameters)
addEvent(onCastSpell1, 100, parameters)
addEvent(onCastSpell1, 200, parameters)
addEvent(onCastSpell1, 300, parameters)
addEvent(onCastSpell5, 500, parameters)


return true
end

Editado por poko360 (veja o histórico de edições)

Postado

a formula é min e max mas no caso como vc queria uma spell que hitasse o level do cara multiplicado por um fator X, o mínimo e o máximo tinham que ser iguais, certo? Por isso eu chamei de min e min. Se vc quiser editar essa spell é só apagar as coisas desnecessárias (tudo), deixa só a área e function onCastSpell.. dai vc coloca em addEvent quantas vezes vc quer que a magia se repita usando a doAreaCombat... Eu não to em casa agora, devo voltar só segunda, se ninguém te ajudar até lá eu prometo que tento fazer pra ti

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)

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.7k

Informação Importante

Confirmação de Termo