Ir para conteúdo

Featured Replies

Postado

deve funcionar:

local combat1 = createCombatObject()
setCombatParam(combat1, COMBAT_PARAM_HITCOLOR, COLOR_LIGHTGREEN)
setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat1, COMBAT_PARAM_DISTANCEEFFECT, 70)
setCombatFormula(combat1, COMBAT_FORMULA_LEVELMAGIC, -35.0, 0, -40.5, 0)

function onTargetCreature(cid, target)
	local position = {x = getThingPosition(target).x+0, y = getThingPosition(target).y+0, z = getThingPosition(target).z} -- aqui configura a posição do efeito
	doSendMagicEffect(position, 31)   -- aqui muda o efeito ao acertar o player
end
setCombatCallback(combat1, CALLBACK_PARAM_TARGETCREATURE, "onTargetCreature")

local function onCastSpell1(parameters)
if isCreature(parameters.cid) and getCreatureTarget(parameters.cid) then
return isCreature(parameters.cid) and doCombat(parameters.cid, parameters.combat1, parameters.var)
end
end
 
function onCastSpell(cid, var)
local parameters = {cid = cid, var = var, combat1 = combat1}

for k = 1, 7 do
    addEvent(function()
        if isCreature(cid) then
            addEvent(onCastSpell1, 1, parameters)        
        end
    end, 1 + ((k-1) * 225))
end
return true
end

 

 

Host bom para hospedar seu jogo => https://shre.ink/OminiHost

 

  • Respostas 13
  • Visualizações 584
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • Tenta:  

  • @Maahzeera Tinha esquecido uma coisa.    

  • deve funcionar: local combat1 = createCombatObject() setCombatParam(combat1, COMBAT_PARAM_HITCOLOR, COLOR_LIGHTGREEN) setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatPar

Posted Images

Postado
local combat = createCombatObject()
combat:setParam(COMBAT_PARAM_HITCOLOR, COLOR_LIGHTGREEN)
combat:setParam(COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
combat:setParam(COMBAT_PARAM_DISTANCEEFFECT, 70)
combat:setFormula(COMBAT_FORMULA_LEVELMAGIC, -35.0, 0, -40.5, 0)

local function onTargetCreature(cid, target)
    local position = getThingPosition(target)
    position.stackpos = 1
    doSendMagicEffect(position, 31)
end
combat:setCallback(CALLBACK_PARAM_TARGETCREATURE, "onTargetCreature")

function onCastSpell(cid, var)
    for k = 1, 7 do
        addEvent(function()
            if isCreature(cid) then
                doCombat(cid, combat, var)
            end
        end, 1 + ((k - 1) * 225))
    end
    return true
end

 

Postado
Em 01/03/2023 em 22:29, Maahzeera disse:

so tem este problema, quando o target morre, da este erro na distro

quando der esse pensa, como vou acertar algo que ja está morto / não existe mais?
como checar isso?
 

local target = getCreatureTarget(cid)
if target > 0 then
	if isCreature(target) then
		...
		função
		...
	end
end


checando se ainda existe aquele creature com "isCreature", pq se não tiver mais la, não fará nada no script

pode ser basicamente assim:
 

local combat1 = createCombatObject()
setCombatParam(combat1, COMBAT_PARAM_HITCOLOR, COLOR_LIGHTGREEN)
setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat1, COMBAT_PARAM_DISTANCEEFFECT, 70)
setCombatFormula(combat1, COMBAT_FORMULA_LEVELMAGIC, -35.0, 0, -40.5, 0)

local function onCastSpell1(cid, target, parameters)

local position1 = {x=getThingPosition(target).x+0, y=getThingPosition(target).y+0, z=getThingPosition(target).z}
doSendMagicEffect(position1, 31)

if isCreature(parameters.cid) and isCreature(target) and getCreatureTarget(parameters.cid) > 0 then
return isCreature(parameters.cid) and doCombat(parameters.cid, parameters.combat1, parameters.var)
end
end
 
function onCastSpell(cid, var)
local parameters = {cid = cid, var = var, combat1 = combat1}
local target = getCreatureTarget(cid)
if target <= 0 then
	return false		-- se não tiver target retorna false
end
for k = 1, 7 do
    addEvent(function()
        if isCreature(cid) and isCreature(target) then	--checa tanto o cid quanto o target
            addEvent(onCastSpell1, 1, cid, target, parameters)  --passa o parametro do creature target pra função            
        end
    end, 1 + ((k-1) * 225))
end
return true
end

 

 

 

2 minutos atrás, FeeTads disse:

addEvent(onCastSpell1, 1, cid, target, parameters)

 nessa linha ele passa


cid, target, parameters

o que pode ser desnecessário, pq o parameters, ja possui na table o cid
parameters.cid é a mesma coisa que cid

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.

Conteúdo Similar

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.7k

Informação Importante

Confirmação de Termo