Ir para conteúdo

Featured Replies

Postado
Em 06/04/2016 at 08:32, DukeeH disse:

Assim:


local combat1 = createCombatObject()
setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)
setCombatParam(combat1, COMBAT_PARAM_EFFECT, 214)
setCombatFormula(combat1, COMBAT_FORMULA_LEVELMAGIC, -40.2, 1, -40.2, 1)
 
local combat2 = createCombatObject()
setCombatParam(combat2, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)
setCombatParam(combat2, COMBAT_PARAM_EFFECT, 214)
setCombatFormula(combat2, COMBAT_FORMULA_LEVELMAGIC, -40.2, 1, -40.2, 1)
 
 
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, 1, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0},
{0, 0, 0, 1, 1, 3, 1, 1, 0, 0, 0},
{0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 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},
}
 
arr2 = {
{0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0},
{0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0},
{0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0},
{0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0},
{1, 1, 1, 1, 0, 2, 0, 1, 1, 1, 1},
{0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0},
{0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0},
{0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0},
{0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
}
 
local area1 = createCombatArea(arr1)
local area2 = createCombatArea(arr2)
setCombatArea(combat1, area1)
setCombatArea(combat2, area2)
 
local function onCastSpell1(parameters)
    return isPlayer(parameters.cid) and doCombat(parameters.cid, combat1, parameters.var)
end
 
local function onCastSpell2(parameters)
    return isPlayer(parameters.cid) and doCombat(parameters.cid, combat2, parameters.var)
end 

function onCastSpell(cid, var)
local parameters = { cid = cid, var = var}
	if getPlayerStorageValue(cid, 3200) <= 0 then
		setPlayerStorageValue(cid, 3200, os.time()+10000)  
		addEvent(onCastSpell1, 100, parameters)
		addEvent(onCastSpell2, 630, parameters)
	else
		doPlayerSendCancel(cid, "You are exhausted.")
	end
	return TRUE
end

Agora vou explicar para caso dê certo você fazer nas outras:


function onCastSpell(cid, var)
local parameters = { cid = cid, var = var}
	if getPlayerStorageValue(cid, 3200) <= 0 then
		setPlayerStorageValue(cid, 3200, os.time()+10000)  
		addEvent(onCastSpell1, 100, parameters)
		addEvent(onCastSpell2, 630, parameters)
	else
		doPlayerSendCancel(cid, "You are exhausted.")
	end
	return TRUE
end

Basicamente eu alterei só essa parte, a função onCastSpell, como a magia tem 2 efeitos, e 2 danos, ela fica com os 2 addevents ali, como já tinha antes.

As partes que mudam são if getPlayerstorage 3200 <= então deixa o cara dar a skill e adiciona o storage 3200 por 10segundos (10000).
Caso contrario (storage 3200 > 0) da a mensagem do exhaust.

Em spells.xml você põem exhaustion 0 em todas as spells que mudar isso (o exhaust vai ficar dentro dela)

Caso queira que não possa dar 2 spells juntas coloque o mesmo storage nas duas (3200 no exemplo) caso contrario vá aumentando/diminuindo o numero 3201, 3202 para spells diferentes.

Parece que vai demorar, mas é rapido, mesmo se tiver bastante spells. Só editar a onCastSpell cuidando para quantos efeitos/fases a spell tem, e tirar o exhaust dela no spells.xml

 

o effec da magia nao ta saindo :( ajuda ae

  • Respostas 11
  • Visualizações 1.7k
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • Assim: local combat1 = createCombatObject() setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE) setCombatParam(combat1, COMBAT_PARAM_EFFECT, 214) setCombatFormula(combat1, COMBAT_FORMULA

  • Pra vc combar e facil nao precisa ser da propria spell com o exausted '==' da pra fazer pelo spell.xml eu faço assim '==' Atack Area = 1200 ou 1000 de exausted  Atack de target = o mais fort

  • http://prntscr.com/b72mm2 mano ta dando isso nao da dano nem apareçe sprite   rep+ arrumei akie achei o erro dps de 2 anos

Postado

http://prntscr.com/b72mm2

mano ta dando isso nao da dano nem apareçe sprite

Em 06/04/2016 at 08:32, DukeeH disse:

Assim:


local combat1 = createCombatObject()
setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)
setCombatParam(combat1, COMBAT_PARAM_EFFECT, 214)
setCombatFormula(combat1, COMBAT_FORMULA_LEVELMAGIC, -40.2, 1, -40.2, 1)
 
local combat2 = createCombatObject()
setCombatParam(combat2, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)
setCombatParam(combat2, COMBAT_PARAM_EFFECT, 214)
setCombatFormula(combat2, COMBAT_FORMULA_LEVELMAGIC, -40.2, 1, -40.2, 1)
 
 
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, 1, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0},
{0, 0, 0, 1, 1, 3, 1, 1, 0, 0, 0},
{0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 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},
}
 
arr2 = {
{0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0},
{0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0},
{0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0},
{0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0},
{1, 1, 1, 1, 0, 2, 0, 1, 1, 1, 1},
{0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0},
{0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0},
{0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0},
{0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
}
 
local area1 = createCombatArea(arr1)
local area2 = createCombatArea(arr2)
setCombatArea(combat1, area1)
setCombatArea(combat2, area2)
 
local function onCastSpell1(parameters)
    return isPlayer(parameters.cid) and doCombat(parameters.cid, combat1, parameters.var)
end
 
local function onCastSpell2(parameters)
    return isPlayer(parameters.cid) and doCombat(parameters.cid, combat2, parameters.var)
end 

function onCastSpell(cid, var)
local parameters = { cid = cid, var = var}
	if getPlayerStorageValue(cid, 3200) <= 0 then
		setPlayerStorageValue(cid, 3200, os.time()+10000)  
		addEvent(onCastSpell1, 100, parameters)
		addEvent(onCastSpell2, 630, parameters)
	else
		doPlayerSendCancel(cid, "You are exhausted.")
	end
	return TRUE
end

Agora vou explicar para caso dê certo você fazer nas outras:


function onCastSpell(cid, var)
local parameters = { cid = cid, var = var}
	if getPlayerStorageValue(cid, 3200) <= 0 then
		setPlayerStorageValue(cid, 3200, os.time()+10000)  
		addEvent(onCastSpell1, 100, parameters)
		addEvent(onCastSpell2, 630, parameters)
	else
		doPlayerSendCancel(cid, "You are exhausted.")
	end
	return TRUE
end

Basicamente eu alterei só essa parte, a função onCastSpell, como a magia tem 2 efeitos, e 2 danos, ela fica com os 2 addevents ali, como já tinha antes.

As partes que mudam são if getPlayerstorage 3200 <= então deixa o cara dar a skill e adiciona o storage 3200 por 10segundos (10000).
Caso contrario (storage 3200 > 0) da a mensagem do exhaust.

Em spells.xml você põem exhaustion 0 em todas as spells que mudar isso (o exhaust vai ficar dentro dela)

Caso queira que não possa dar 2 spells juntas coloque o mesmo storage nas duas (3200 no exemplo) caso contrario vá aumentando/diminuindo o numero 3201, 3202 para spells diferentes.

Parece que vai demorar, mas é rapido, mesmo se tiver bastante spells. Só editar a onCastSpell cuidando para quantos efeitos/fases a spell tem, e tirar o exhaust dela no spells.xml

 

 

Em 06/04/2016 at 08:32, DukeeH disse:

Assim:


local combat1 = createCombatObject()
setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)
setCombatParam(combat1, COMBAT_PARAM_EFFECT, 214)
setCombatFormula(combat1, COMBAT_FORMULA_LEVELMAGIC, -40.2, 1, -40.2, 1)
 
local combat2 = createCombatObject()
setCombatParam(combat2, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)
setCombatParam(combat2, COMBAT_PARAM_EFFECT, 214)
setCombatFormula(combat2, COMBAT_FORMULA_LEVELMAGIC, -40.2, 1, -40.2, 1)
 
 
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, 1, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0},
{0, 0, 0, 1, 1, 3, 1, 1, 0, 0, 0},
{0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 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},
}
 
arr2 = {
{0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0},
{0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0},
{0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0},
{0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0},
{1, 1, 1, 1, 0, 2, 0, 1, 1, 1, 1},
{0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0},
{0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0},
{0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0},
{0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
}
 
local area1 = createCombatArea(arr1)
local area2 = createCombatArea(arr2)
setCombatArea(combat1, area1)
setCombatArea(combat2, area2)
 
local function onCastSpell1(parameters)
    return isPlayer(parameters.cid) and doCombat(parameters.cid, combat1, parameters.var)
end
 
local function onCastSpell2(parameters)
    return isPlayer(parameters.cid) and doCombat(parameters.cid, combat2, parameters.var)
end 

function onCastSpell(cid, var)
local parameters = { cid = cid, var = var}
	if getPlayerStorageValue(cid, 3200) <= 0 then
		setPlayerStorageValue(cid, 3200, os.time()+10000)  
		addEvent(onCastSpell1, 100, parameters)
		addEvent(onCastSpell2, 630, parameters)
	else
		doPlayerSendCancel(cid, "You are exhausted.")
	end
	return TRUE
end

Agora vou explicar para caso dê certo você fazer nas outras:


function onCastSpell(cid, var)
local parameters = { cid = cid, var = var}
	if getPlayerStorageValue(cid, 3200) <= 0 then
		setPlayerStorageValue(cid, 3200, os.time()+10000)  
		addEvent(onCastSpell1, 100, parameters)
		addEvent(onCastSpell2, 630, parameters)
	else
		doPlayerSendCancel(cid, "You are exhausted.")
	end
	return TRUE
end

Basicamente eu alterei só essa parte, a função onCastSpell, como a magia tem 2 efeitos, e 2 danos, ela fica com os 2 addevents ali, como já tinha antes.

As partes que mudam são if getPlayerstorage 3200 <= então deixa o cara dar a skill e adiciona o storage 3200 por 10segundos (10000).
Caso contrario (storage 3200 > 0) da a mensagem do exhaust.

Em spells.xml você põem exhaustion 0 em todas as spells que mudar isso (o exhaust vai ficar dentro dela)

Caso queira que não possa dar 2 spells juntas coloque o mesmo storage nas duas (3200 no exemplo) caso contrario vá aumentando/diminuindo o numero 3201, 3202 para spells diferentes.

Parece que vai demorar, mas é rapido, mesmo se tiver bastante spells. Só editar a onCastSpell cuidando para quantos efeitos/fases a spell tem, e tirar o exhaust dela no spells.xml

 

rep+ arrumei akie

achei o erro dps de 2 anos

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