up
- Fórum
- OTServ
- Pedidos
- Tópicos Sem Resposta
- Mostrar Tempo Magia de Trap Area
Mostrar Tempo Magia de Trap Area
Por KennyConrad, 02 de jun. de 2017 em Tópicos Sem Resposta
info
Grupo: Visconde
Registrado: 21/08/11
Posts: 470
Reputação: +5
Char no Tibia: ...

info
Grupo: Herói
Registrado: 07/03/16
Posts: 1.4k
Reputação: +385
Gênero: Masculino

É um tanto complicado fazer isso, pois requer um algoritmo para criar a area de ação da magia.
Só com isso que tu poderia por a contagem de tempo em todas as áreas afetadas.
info
Grupo: Visconde
Registrado: 21/08/11
Posts: 470
Reputação: +5
Char no Tibia: ...

9 horas atrás, Poccnn disse:É um tanto complicado fazer isso, pois requer um algoritmo para criar a area de ação da magia.
Só com isso que tu poderia por a contagem de tempo em todas as áreas afetadas.
Então no caso dessa magia aqui, você acha que conseguiria colocar pra mostra o tempo em todas as MW ?
local combat1 = createCombatObject()setCombatParam(combat1, COMBAT_PARAM_AGGRESSIVE, true)setCombatParam(combat1, COMBAT_PARAM_EFFECT, CONST_ME_ENERGYAREA)setCombatParam(combat1, COMBAT_PARAM_CREATEITEM, 1497)local combat2 = createCombatObject()function spellCallback2(param)if param.count > 0 or math.random(0, 1) == 1 thendoSendMagicEffect(param.pos, CONST_ME_EXPLOSIONHIT)doAreaCombatHealth(param.cid, COMBAT_PHYSICALDAMAGE, param.pos, 0, -300, -1000, CONST_ME_BLOCKHIT)endif(param.count < 5) thenparam.count = param.count + 1addEvent(spellCallback2, math.random(1000, 1500), param)endendfunction onTargetTile(cid, pos)local param = {}param.cid = cidparam.pos = posparam.count = 0spellCallback2(param)endsetCombatCallback(combat2, CALLBACK_PARAM_TARGETTILE, "onTargetTile")local arr1 = {{ 1, 1, 1, 1, 1, },{ 1, 0, 0, 0, 1, },{ 1, 0, 3, 0, 1, },{ 1, 0, 0, 0, 1, },{ 1, 1, 1, 1, 1, },}local arr2 = {{ 0, 0, 0, 0, 0, },{ 0, 1, 1, 1, 0, },{ 0, 1, 3, 1, 0, },{ 0, 1, 1, 1, 0, },{ 0, 0, 0, 0, 0, },}local area1 = createCombatArea(arr1)setCombatArea(combat1, area1)local area2 = createCombatArea(arr2)setCombatArea(combat2, area2)local function onCastSpell1(parameters)doCombat(parameters.cid, parameters.combat1, parameters.var)endlocal function onCastSpell2(parameters)doCombat(parameters.cid, parameters.combat2, parameters.var)endfunction onCastSpell(cid, var)local from,to = {x = 953, y = 1128, z = 7},{x = 982, y = 1147, z = 7}if isInArea(getCreaturePosition(cid), from, to) thenreturn doPlayerSendCancel(cid, "Não é permitido utilizar está magia no desafio dos monstros.")elselocal parameters = { cid = cid, var = var, combat1 = combat1, combat2 = combat2 }addEvent(doCombat, 0, cid, combat1, var)addEvent(doCombat, 0, cid, combat2, var)endreturn trueend
info
Grupo: Visconde
Registrado: 21/08/11
Posts: 470
Reputação: +5
Char no Tibia: ...

UP


info
Grupo: Visconde
Registrado: 21/08/11
Posts: 470
Reputação: +5
Char no Tibia: ...
Galera na MW e na Runa de Growth eu consegui colocar pra mostrar o tempo, porem na magia de Area eu não consegui alguém poderia me ajudar ??
Esse aqui é o script da Runa de Growth ja funcionando mostrando o tempo:
local combat = createCombatObject()setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_ENERGY)setCombatParam(combat, COMBAT_PARAM_CREATEITEM, 1497)function countPos(pos,tempo)if tempo > 0 then doSendAnimatedText(pos,tempo,TEXTCOLOR_ORANGE)addEvent(countPos,999,pos,tempo-1)elseendendfunction onCastSpell(cid, var)countPos(var.pos,20)doCreatureSay(cid, "mwall", TALKTYPE_ORANGE_1) local from,to = {x = 953, y = 1128, z = 7},{x = 982, y = 1147, z = 7}if isInArea(getCreaturePosition(cid), from, to) thenreturn doPlayerSendCancel(cid, "Não é permitido utilizar está runa no desafio dos monstros.")else return doCombat(cid, combat, var)endreturn trueendA Magia de Area é Essa:
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_POISONDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_PLANTATTACK)
local combat2 = createCombatObject()
setCombatParam(combat2, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_EARTH)
setCombatParam(combat2, COMBAT_PARAM_CREATEITEM, 1499)
local area = createCombatArea(AREA_CROSS5X5)
setCombatArea(combat, area)
setCombatArea(combat2, area)
function onCastSpell(cid, var)
local from,to = {x = 953, y = 1128, z = 7},{x = 982, y = 1147, z = 7}
if isInArea(getCreaturePosition(cid), from, to) then
return doPlayerSendCancel(cid, "Não é permitido utilizar está magia no desafio dos monstros.")
else
doCombat(cid, combat, var)
return doCombat(cid, combat2, var)
end
return true
end
up
Editado Junho 2 por KennyConrad