Postado Julho 20, 2014 10 anos z Editado Junho 16, 2015 10 anos por Danves (veja o histórico de edições)
Postado Julho 20, 2014 10 anos Brother isto sempre acontece com spells com mais de um turno. Pois ele manda por exemplo 10 efeitos. Cada um de 1 em 1 segundo digamos assim. Nos 3 primeiros segundos, você esta olhando pra cima. Agora se você se mexer nos proximos segundos a spell vai pegar a posição nova, e então ira mudar. Fazendo com que pareça estar errada. Não sei se consegui explicar direito, é algo complicadinho.
Postado Julho 20, 2014 10 anos Autor E você sabe como fazer ele não mudar a posição? E sabe porque a combinação de soltar para cima e mover para baixo não altera o efeito? @Edit: Soltar para o lado direito e mover para o esquerdo/vice-versa também não altera Editado Julho 20, 2014 10 anos por Danves (veja o histórico de edições)
Postado Agosto 5, 2014 10 anos Autor Cara, eu já pus pro boneco não poder se mexer enquanto executa a spell, mas se ele usar enquanto se move clicando em alguma parte do mapa ou tiver de follow em alguém, a direção sai errada. (Já usei andando constantemente pela seta, não atrapalha) Como eu faria para a spell pegar a posição minha só depois de tipo 200ms? Daí ele não erraria por algum motivo(apesar de que ele vai em direção errada mesmo clicando em um sentido contínuo, sem mudar).. Spell: -- Areas/Combat for 200ms local combat2_Brush = createCombatObject() setCombatParam(combat2_Brush, COMBAT_PARAM_EFFECT, CONST_ME_FIREAREA) setCombatParam(combat2_Brush, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat2_Brush, COMBAT_PARAM_BLOCKARMOR, true) setCombatArea(combat2_Brush,createCombatArea({{3}})) function onGetFormulaValues(cid, level, maglevel) min = -((level*0.2) + (maglevel*1.3)+10) max = -((level*0.2) + (maglevel*1.7)+20) return min, max end setCombatCallback(combat2_Brush, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues") local con_Fire__combat2_Brush = createConditionObject(CONDITION_FIRE) addDamageCondition(con_Fire__combat2_Brush, 3, 500, -15) setCombatCondition(combat2_Brush, con_Fire__combat2_Brush) -- Areas/Combat for 400ms local combat4_Brush = createCombatObject() setCombatParam(combat4_Brush, COMBAT_PARAM_EFFECT, CONST_ME_FIREAREA) setCombatParam(combat4_Brush, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat4_Brush, COMBAT_PARAM_BLOCKARMOR, true) setCombatArea(combat4_Brush,createCombatArea({{1, 1, 1}, {0, 2, 0}})) function onGetFormulaValues(cid, level, maglevel) min = -((level*0.2) + (maglevel*1.3)+10) max = -((level*0.2) + (maglevel*1.7)+20) return min, max end setCombatCallback(combat4_Brush, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues") local con_Fire__combat4_Brush = createConditionObject(CONDITION_FIRE) addDamageCondition(con_Fire__combat4_Brush, 3, 500, -15) setCombatCondition(combat4_Brush, con_Fire__combat4_Brush) -- Areas/Combat for 600ms local combat6_Brush = createCombatObject() setCombatParam(combat6_Brush, COMBAT_PARAM_EFFECT, CONST_ME_FIREAREA) setCombatParam(combat6_Brush, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat6_Brush, COMBAT_PARAM_BLOCKARMOR, true) setCombatArea(combat6_Brush,createCombatArea({{1, 1, 1, 1, 1}, {0, 0, 0, 0, 0}, {0, 0, 2, 0, 0}})) function onGetFormulaValues(cid, level, maglevel) min = -((level*0.2) + (maglevel*1.3)+10) max = -((level*0.2) + (maglevel*1.7)+20) return min, max end setCombatCallback(combat6_Brush, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues") local con_Fire__combat6_Brush = createConditionObject(CONDITION_FIRE) addDamageCondition(con_Fire__combat6_Brush, 3, 500, -15) setCombatCondition(combat6_Brush, con_Fire__combat6_Brush) -- Areas/Combat for 800ms local combat8_Brush = createCombatObject() setCombatParam(combat8_Brush, COMBAT_PARAM_EFFECT, CONST_ME_FIREAREA) setCombatParam(combat8_Brush, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat8_Brush, COMBAT_PARAM_BLOCKARMOR, true) setCombatArea(combat8_Brush,createCombatArea({{1, 1, 1, 1, 1, 1, 1}, {0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 2, 0, 0, 0}})) function onGetFormulaValues(cid, level, maglevel) min = -((level*0.2) + (maglevel*1.3)+10) max = -((level*0.2) + (maglevel*1.7)+20) return min, max end setCombatCallback(combat8_Brush, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues") local con_Fire__combat8_Brush = createConditionObject(CONDITION_FIRE) addDamageCondition(con_Fire__combat8_Brush, 3, 500, -15) setCombatCondition(combat8_Brush, con_Fire__combat8_Brush) -- Areas/Combat for 1000ms local combat10_Brush = createCombatObject() setCombatParam(combat10_Brush, COMBAT_PARAM_EFFECT, CONST_ME_FIREAREA) setCombatParam(combat10_Brush, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat10_Brush, COMBAT_PARAM_BLOCKARMOR, true) setCombatArea(combat10_Brush,createCombatArea({{1, 1, 1, 1, 1}, {0, 0, 0, 0, 0}, {0, 0, 2, 0, 0}})) function onGetFormulaValues(cid, level, maglevel) min = -((level*0.2) + (maglevel*1.3)+10) max = -((level*0.2) + (maglevel*1.7)+20) return min, max end setCombatCallback(combat10_Brush, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues") local con_Fire__combat10_Brush = createConditionObject(CONDITION_FIRE) addDamageCondition(con_Fire__combat10_Brush, 3, 500, -15) setCombatCondition(combat10_Brush, con_Fire__combat10_Brush) -- Areas/Combat for 1200ms local combat12_Brush = createCombatObject() setCombatParam(combat12_Brush, COMBAT_PARAM_EFFECT, CONST_ME_FIREAREA) setCombatParam(combat12_Brush, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat12_Brush, COMBAT_PARAM_BLOCKARMOR, true) setCombatArea(combat12_Brush,createCombatArea({{1, 1, 1}, {0, 2, 0}})) function onGetFormulaValues(cid, level, maglevel) min = -((level*0.2) + (maglevel*1.3)+10) max = -((level*0.2) + (maglevel*1.7)+20) return min, max end setCombatCallback(combat12_Brush, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues") local con_Fire__combat12_Brush = createConditionObject(CONDITION_FIRE) addDamageCondition(con_Fire__combat12_Brush, 3, 500, -15) setCombatCondition(combat12_Brush, con_Fire__combat12_Brush) -- Areas/Combat for 1400ms local combat14_Brush = createCombatObject() setCombatParam(combat14_Brush, COMBAT_PARAM_EFFECT, CONST_ME_FIREAREA) setCombatParam(combat14_Brush, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat14_Brush, COMBAT_PARAM_BLOCKARMOR, true) setCombatArea(combat14_Brush,createCombatArea({{3}})) function onGetFormulaValues(cid, level, maglevel) min = -((level*0.2) + (maglevel*1.3)+10) max = -((level*0.2) + (maglevel*1.7)+20) return min, max end setCombatCallback(combat14_Brush, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues") local con_Fire__combat14_Brush = createConditionObject(CONDITION_FIRE) addDamageCondition(con_Fire__combat14_Brush, 3, 500, -15) setCombatCondition(combat14_Brush, con_Fire__combat14_Brush) -- =============== CORE FUNCTIONS =============== local function RunPart(c,cid,var,dirList,dirEmitPos,startDir) -- Part if (isCreature(cid)) then doCombat(cid, c, var) if (dirList ~= nil) then -- Emit distance effects local i = 2; while (i < #dirList) do if (startDir == 0) then -- N doSendDistanceShoot(dirEmitPos,{x=dirEmitPos.x-dirList,y=dirEmitPos.y-dirList[i+1],z=dirEmitPos.z},dirList[1]) elseif (startDir == 2) then -- S doSendDistanceShoot(dirEmitPos,{x=dirEmitPos.x+dirList,y=dirEmitPos.y+dirList[i+1],z=dirEmitPos.z},dirList[1]) elseif (startDir == 1) then -- E doSendDistanceShoot(dirEmitPos,{x=dirEmitPos.x+dirList[i+1],y=dirEmitPos.y+dirList,z=dirEmitPos.z},dirList[1]) else -- W / Something weird happened doSendDistanceShoot(dirEmitPos,{x=dirEmitPos.x-dirList[i+1],y=dirEmitPos.y-dirList,z=dirEmitPos.z},dirList[1]) end i = i + 2 end end end end function onCastSpell(cid, var) doCreatureSetNoMove(cid, true) addEvent(doCreatureSetNoMove, 1800, cid, false) local startPos = getCreaturePosition(cid) local startDir = getCreatureLookDirection(cid) addEvent(RunPart,200,combat2_Brush,cid,var) addEvent(RunPart,400,combat4_Brush,cid,var) addEvent(RunPart,600,combat6_Brush,cid,var) addEvent(RunPart,800,combat8_Brush,cid,var) addEvent(RunPart,1000,combat10_Brush,cid,var) addEvent(RunPart,1200,combat12_Brush,cid,var) addEvent(RunPart,1400,combat14_Brush,cid,var) return true end
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.