Postado Maio 20, 2016 9 anos 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
Postado Maio 22, 2016 9 anos 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.