Postado Abril 8, 2013 12 anos Bom encontrei uma spell muito intereçante no forum um dia destes e estou a um bom tempo tentando desenrrolar um rpoblema que me surgiu. A spell em si empurra o player que é atingido com ela 1sqm na direção ond o player está olhando. Ela funciona perfeitamente, mas eu gostaria de incrementar ela , fazendo o player qu conjurou ela se "auto empurrar". Alem disso se possivel eu gostaria de saber se tem como fazer com que a spell cause + de 1 hit. Obrigado pela atenção. Aqui vai o script, pra qume puder me ajudar agradeço muito: local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_POFF) setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -1, 0, -1, 0) local area = createCombatArea({ {1, 0, 1}, {1, 0, 1}, {1, 0, 1}, {1, 2, 1}, }) setCombatArea(combat, area) local function push(cid, target) local direction = getCreatureLookDirection(cid) local x = (direction == 1 and 1 or (direction == 3 and -1 or 0)) local y = (direction == 0 and -1 or (direction == 2 and 1 or 0)) local position = getCreaturePosition(target) position.x = position.x + x position.y = position.y + y if doTileQueryAdd(target, position) == RETURNVALUE_NOERROR then doTeleportThing(target, position, true) end end function onTargetCreature(cid, target) if not isNpc(target) then addEvent(push, 100, cid, target) end end setCombatCallback(combat, CALLBACK_PARAM_TARGETCREATURE, "onTargetCreature") function onCastSpell(cid, var) return doCombat(cid, combat, var) end Acesse o tópico!
Postado Abril 29, 2014 11 anos Alem disso se possivel eu gostaria de saber se tem como fazer com que a spell cause + de 1 hit. Obrigado pela atenção. bem vou dar um exemplo ve se vc entende ok \/ local combat1 = createCombatObject() setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat1, COMBAT_PARAM_EFFECT, 177) setCombatFormula(combat1, COMBAT_FORMULA_LEVELMAGIC, -20.3, 1, -25.5, 1) local combat2 = createCombatObject() setCombatParam(combat2, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat2, COMBAT_PARAM_EFFECT, 177) setCombatFormula(combat2, COMBAT_FORMULA_LEVELMAGIC, -20.3, 1, -25.5, 1) local combat3 = createCombatObject() setCombatParam(combat3, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat3, COMBAT_PARAM_EFFECT, 177) setCombatFormula(combat3, COMBAT_FORMULA_LEVELMAGIC, -22.3, 1, -27.5, 1) local combat4 = createCombatObject() setCombatParam(combat4, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat4, COMBAT_PARAM_EFFECT, 177) setCombatFormula(combat4, COMBAT_FORMULA_LEVELMAGIC, -22.3, 1, -27.5, 1) local combat5 = createCombatObject() setCombatParam(combat5, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat5, COMBAT_PARAM_EFFECT, 177) setCombatFormula(combat5, COMBAT_FORMULA_LEVELMAGIC, -22.3, 1, -27.5, 1) local combat6 = createCombatObject() setCombatParam(combat6, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat6, COMBAT_PARAM_EFFECT, 177) setCombatFormula(combat6, COMBAT_FORMULA_LEVELMAGIC, -22.3, 1, -27.5, 1) arr1 = { {3} } arr2 = { {3} } arr3 = { {3} } arr4 = { {3} } local area1 = createCombatArea(arr1) local area2 = createCombatArea(arr2) local area3 = createCombatArea(arr3) local area4 = createCombatArea(arr4) local area5 = createCombatArea(arr5) local area6 = createCombatArea(arr6) setCombatArea(combat1, area1) setCombatArea(combat2, area2) setCombatArea(combat3, area3) setCombatArea(combat4, area4) setCombatArea(combat5, area5) setCombatArea(combat6, area6) 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 local function onCastSpell3(parameters) return isPlayer(parameters.cid) and doCombat(parameters.cid, combat3, parameters.var) end local function onCastSpell4(parameters) return isPlayer(parameters.cid) and doCombat(parameters.cid, combat4, parameters.var) end local function onCastSpell5(parameters) return isPlayer(parameters.cid) and doCombat(parameters.cid, combat5, parameters.var) end local function onCastSpell6(parameters) return isPlayer(parameters.cid) and doCombat(parameters.cid, combat6, parameters.var) end function onCastSpell(cid, var) local position127 = {x=getPlayerPosition(cid).x, y=getPlayerPosition(cid).y, z=getPlayerPosition(cid).z} local parameters = { cid = cid, var = var} addEvent(onCastSpell2, 200, parameters) addEvent(onCastSpell2, 500, parameters) addEvent(onCastSpell2, 900, parameters) addEvent(onCastSpell2, 1300, parameters) addEvent(onCastSpell2, 1700, parameters) addEvent(onCastSpell2, 2100, parameters) doSendMagicEffect(position127, 175) return TRUE end ai tipo se vc que mais de um hit repete o local combat e coloca o numero tipo (localcombat2 ate o numero de hits q vc quer repetidamente e a mesma coisa com os outros ) Editado Abril 29, 2014 11 anos por filolgod (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.