Ir para conteúdo

Featured Replies

Postado

Olá amigos, estou com problema em dois eventos autómaticos, o DOTA EVENT e o ZOMBIE EVENT, o problema é o seguinte, como é uma area no pvp a magic wall fica por tempo infinito ao ser usada por algum player, teria algum script para que não fosse possivel usar a magicwall em determinado lugar?

Obrigado :D

Quem resolver ganhará +rep todos os dias :D

Resolvido por Vodkart

Ir para solução
  • Respostas 10
  • Visualizações 3.3k
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • Data > Spells > scripts > attack > energy wall.lua local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_ENERGYDAMAGE) setCombatParam(combat, COMBAT_PARAM_

  • é só fazer no script de magic e wild tbm   faz assim para ficar mais fácil de editar:   na sua lib vc coloca essa função:   function BlockRunesInArea(cid) local block_area = { -- defina as areas {{x=1

  • E para wild growth rune?

Postado
  • Solução

Data > Spells > scripts > attack > energy wall.lua

local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_ENERGYDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_ENERGYHIT)
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_ENERGYBALL)
setCombatParam(combat, COMBAT_PARAM_CREATEITEM, 1495)
 
local area = createCombatArea(AREA_WALLFIELD, AREADIAGONAL_WALLFIELD)
setCombatArea(combat, area)
 
function onCastSpell(cid, var)
local block_area = {
{{x=909,y=1019,z=7}, {x=1000,y=1019,z=7}}, -- pos começo e final da area
{{x=156,y=1019,z=7}, {x=200,y=1019,z=7}},
{{x=200,y=1019,z=7}, {x=300,y=1019,z=9}}
}
for _, var in ipairs(block_area) do
if isInRange(getCreaturePosition(cid), var[1], var[2]) then
doPlayerSendCancel(cid, "você não pode jogar magic wall nesta area.") return false
end
end
return doCombat(cid, combat, var)
end

Editado por Vodkart (veja o histórico de edições)

vodkart_logo.png

[*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*]

 

DISCORDvodkart#6090

 

Postado
é só fazer no script de magic e wild tbm
 
faz assim para ficar mais fácil de editar:
 
na sua lib vc coloca essa função:
 
function BlockRunesInArea(cid)
local block_area = { -- defina as areas
{{x=135,y=53,z=7}, {x=140,y=56,z=7}}, -- com a pos começo e final da area
{{x=135,y=46,z=7}, {x=141,y=49,z=7}},
{{x=200,y=1019,z=7}, {x=300,y=1019,z=7}}
}
for _, var in ipairs(block_area) do
if isInRange(getCreaturePosition(cid), var[1], var[2]) then
return true
end
end
return false
end
 
 
 
Data > Spells > script > support
 
magic wall rune.lua
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_ENERGY)
setCombatParam(combat, COMBAT_PARAM_CREATEITEM, 1497)
function onCastSpell(cid, var)
if BlockRunesInArea(cid) then
doPlayerSendCancel(cid, "você não pode jogar runas nesta area.") return false
end
return doCombat(cid, combat, var) 
end
 
wild growth rune.lua
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_EARTH)
setCombatParam(combat, COMBAT_PARAM_CREATEITEM, 1499)
function onCastSpell(cid, var)
if BlockRunesInArea(cid) then
doPlayerSendCancel(cid, "você não pode jogar runas nesta area.") return false
end
return doCombat(cid, combat, var) 
end
 
pronto, e quando quiser bloquear uma spells ou runa na area só usar
 
if BlockRunesInArea(cid) then
doPlayerSendCancel(cid, "você não pode jogar runas nesta area.") return false
end

Editado por Vodkart (veja o histórico de edições)

vodkart_logo.png

[*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*]

 

DISCORDvodkart#6090

 

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.

Visitante
Responder

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.7k

Informação Importante

Confirmação de Termo