Postado Janeiro 14, 2015 10 anos muita coisa, se liga: local combat = createCombatObject() -- combat nao usado local meteor = createCombatObject() setCombatParam(meteor, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(meteor, COMBAT_PARAM_EFFECT, 36) setCombatParam(meteor, COMBAT_PARAM_HITCOLOR, COLOR_ORANGE) setCombatFormula(meteor, COMBAT_FORMULA_SKILL, 0.8, -220, 1.2, -200) local meteor2 = createCombatObject() -- nao existe nenhuma utilização pra meteor2, só pra meteor_water. setCombatParam(meteor2, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) local stun = createConditionObject(CONDITION_PHYSICAL) setConditionParam(stun, CONDITION_PARAM_DELAYED, 25) addDamageCondition(stun, 500, 5, -2000) setCombatCondition(meteor, stun) combat_arr= { {1, 1, 1}, {1, 2, 1}, {1, 1, 1} }local combat_area = createCombatArea(combat_arr) -- aqui vc tá setando a area no combat pra dps vincular o combat com o meteor, era mt mais facil vincular com o meteor direto.setCombatArea(combat, combat_area) local function meteorCast(p) doCombat(p.cid, p.combat, positionToVariant(p.pos)) end local function stunEffect(cid) doSendMagicEffect(getThingPos(cid), CONST_ME_STUN) end function onTargetTile(cid, pos) if (math.random(0, 0) == 0) then local ground = getThingfromPos({x = pos.x, y = pos.y, z = pos.z, stackpos = 0}) if (isInArray(water, ground.itemid) == TRUE) then local newpos = {x = pos.x - 7, y = pos.y - 6, z = pos.z} doSendDistanceShoot(newpos, pos, CONST_ANI_FIRE) addEvent(meteorCast, 200, {cid = cid, pos = pos, combat = meteor_water}) --- nao existe meteor_water else local newpos = {x = pos.x - 7, y = pos.y - 6, z = pos.z} doSendDistanceShoot(newpos, pos, CONST_ANI_FIRE) addEvent(meteorCast, 100, {cid = cid,pos = pos, combat = meteor}) end end end setCombatCallback(combat, CALLBACK_PARAM_TARGETTILE, "onTargetTile") local cooldown = 5 function onCastSpell(cid, var) function exoribleed(cid) doPlayerSendTextMessage(cid, MESSAGE_STATUS_WARNING, "CD: Exori Bleed.") end if getPlayerStorageValue(cid, 10569) == 1 then doSendAnimatedText((getCreaturePosition(cid)), "Socorro!", 255) doSendMagicEffect(getCreaturePosition(cid), 19) doPlayerSendDefaultCancel(cid, RETURNVALUE_YOUAREEXHAUSTED) return false end if exhaustion.check(cid, 23006) == false then exhaustion.set(cid, 23006, cooldown) addEvent(exoribleed, cooldown*1000, cid) return doCombat(cid, combat, var) else doSendMagicEffect(getCreaturePosition(cid), 2) doPlayerSendCancel(cid, "Golpe em cooldown por " ..exhaustion.get(cid, 23006).." segundos") return false end return doCombat(cid, combat, var) end 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 (obg ao @Beeny por fazer essa linda sign <3)
Postado Janeiro 14, 2015 10 anos Autor [14/01/2015 21:24:12] [Error - Spell Interface] [14/01/2015 21:24:12] data/spells/scripts/attack/Exori Bleed.lua [14/01/2015 21:24:12] Description: [14/01/2015 21:24:12] (luaGetCreatureStorage) Creature not found [14/01/2015 21:24:12] [Error - Spell Interface] [14/01/2015 21:24:12] data/spells/scripts/attack/Exori Bleed.lua [14/01/2015 21:24:13] Description: [14/01/2015 21:24:13] data/spells/scripts/attack/Exori Bleed.lua:95: attempt to compare boolean with number [14/01/2015 21:24:13] [Warning - Event::loadScript] Cannot load script (data/spells/scripts/attack/Exori Bleed.lua) local meteor_lv1 = createCombatObject() setCombatParam(meteor_lv1, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(meteor_lv1, COMBAT_PARAM_EFFECT, 36) setCombatParam(meteor_lv1, COMBAT_PARAM_HITCOLOR, COLOR_ORANGE) setCombatFormula(meteor_lv1, COMBAT_FORMULA_SKILL, 0.8, -220, 1.2, -200) local stun_lv1 = createConditionObject(CONDITION_PHYSICAL) setConditionParam(stun_lv1, CONDITION_PARAM_DELAYED, 25) addDamageCondition(stun_lv1, 500, 5, -2000) setCombatCondition(meteor_lv1, stun_lv1) local meteor_lv2 = createCombatObject() setCombatParam(meteor_lv2, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(meteor_lv2, COMBAT_PARAM_EFFECT, 36) setCombatParam(meteor_lv2, COMBAT_PARAM_HITCOLOR, COLOR_ORANGE) setCombatFormula(meteor_lv2, COMBAT_FORMULA_SKILL, 1.3, -270, 1.8, -240) local stun_lv2 = createConditionObject(CONDITION_PHYSICAL) setConditionParam(stun_lv2, CONDITION_PARAM_DELAYED, 25) addDamageCondition(stun_lv2, 600, 6, -2300) setCombatCondition(meteor_lv2, stun_lv2) local meteor_lv3 = createCombatObject() setCombatParam(meteor_lv3, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(meteor_lv3, COMBAT_PARAM_EFFECT, 36) setCombatParam(meteor_lv3, COMBAT_PARAM_HITCOLOR, COLOR_ORANGE) setCombatFormula(meteor_lv3, COMBAT_FORMULA_SKILL, 1.8, -320, 2.4, -280) local stun_lv3 = createConditionObject(CONDITION_PHYSICAL) setConditionParam(stun_lv3, CONDITION_PARAM_DELAYED, 25) addDamageCondition(stun_lv3, 800, 8, -2500) setCombatCondition(meteor_lv3, stun_lv3) local area_lv1 = createCombatArea({ {1, 1, 1}, {1, 2, 1}, {1, 1, 1} }) local area_lv2 = createCombatArea({ {1, 1, 1}, {1, 2, 1}, {1, 1, 1} }) local area_lv3 = createCombatArea({ {1, 1, 1}, {1, 2, 1}, {1, 1, 1} }) setCombatArea(meteor_lv1, area_lv1) setCombatArea(meteor_lv2, area_lv2) setCombatArea(meteor_lv3, area_lv3) local function onCastSpell1(parameters) doCombat(parameters.cid, meteor_lv1, parameters.var) end local function onCastSpell2(parameters) doCombat(parameters.cid, meteor_lv2, parameters.var) end local function onCastSpell3(parameters) doCombat(parameters.cid, meteor_lv3, parameters.var) end local function meteorCast(p) doCombat(p.cid, p.combat, positionToVariant(p.pos)) end local function stunEffect(cid) doSendMagicEffect(getThingPos(cid), CONST_ME_STUN) end function onTargetTile(cid, pos) if (math.random(0, 0) == 0) then local ground = getThingfromPos({x = pos.x, y = pos.y, z = pos.z, stackpos = 0}) if (isInArray(water, ground.itemid) == TRUE) then local newpos = {x = pos.x - 7, y = pos.y - 6, z = pos.z} doSendDistanceShoot(newpos, pos, CONST_ANI_FIRE) addEvent(meteorCast, 200, {cid = cid, pos = pos, combat = meteor_lv1}) else local newpos = {x = pos.x - 7, y = pos.y - 6, z = pos.z} doSendDistanceShoot(newpos, pos, CONST_ANI_FIRE) addEvent(meteorCast, 100, {cid = cid,pos = pos, combat = meteor_lv1}) end end end setCombatCallback(meteor_lv1, CALLBACK_PARAM_TARGETTILE, "onTargetTile") local parameters = { cid = cid, var = var} local spell_storage = 48502 if getPlayerStorageValue(cid, 48502) <= 49 then addEvent(onCastSpell1, 0, parameters) setPlayerStorageValue(cid, 48502, getPlayerStorageValue(cid, 48502)+1) elseif getPlayerStorageValue(cid, 48502) == 50 then addEvent(onCastSpell2, 0, parameters) setPlayerStorageValue(cid, 48502, getPlayerStorageValue(cid, 48502)+1) doPlayerSendTextMessage(cid, 22, "Its barrier kindling progressed to level 2") doSendMagicEffect(getCreaturePosition(cid),28) doSendAnimatedText(getCreaturePosition(cid), 'Spell UP', 210) elseif getPlayerStorageValue(cid, 48502) > 50 and getPlayerStorageValue(cid, 48502) < 100 then addEvent(onCastSpell2, 0, parameters) setPlayerStorageValue(cid, 48502, getPlayerStorageValue(cid, 48502)+1) elseif getPlayerStorageValue(cid, 48502) == 100 then addEvent(onCastSpell3, 0, parameters) setPlayerStorageValue(cid, 48502, getPlayerStorageValue(cid, 48502)+1) doPlayerSendTextMessage(cid, 22, "Its barrier kindling progressed to level 3") doSendMagicEffect(getCreaturePosition(cid),28) doSendAnimatedText(getCreaturePosition(cid), 'Spell UP', 210) elseif getPlayerStorageValue(cid, 48502) > 100 then addEvent(onCastSpell3, 0, parameters) setPlayerStorageValue(cid, 48502, getPlayerStorageValue(cid, 48502)+1) end local cooldown = 5 function onCastSpell(cid, var) function exoribleed(cid) doPlayerSendTextMessage(cid, MESSAGE_STATUS_WARNING, "CD: Exori Bleed.") end if getPlayerStorageValue(cid, 10569) == 1 then doSendAnimatedText((getCreaturePosition(cid)), "Socorro!", 255) doSendMagicEffect(getCreaturePosition(cid), 19) doPlayerSendDefaultCancel(cid, RETURNVALUE_YOUAREEXHAUSTED) return false end if exhaustion.check(cid, 23006) == false then exhaustion.set(cid, 23006, cooldown) addEvent(exoribleed, cooldown*1000, cid) return doCombat(cid, combat, var) else doSendMagicEffect(getCreaturePosition(cid), 2) doPlayerSendCancel(cid, "Golpe em cooldown por " ..exhaustion.get(cid, 23006).." segundos") return false end return doCombat(cid, combat, var) end Alguem ? Editado Janeiro 16, 2015 10 anos por azzouks (veja o histórico de edições)
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.