BlackTibia

No estás conectado. Conéctate o registrate

 » Open Tibia » Pedido de Scripts » 

Spell que repele player o monster.

Spell que repele player o monster.

#1 Spell que repele player o monster. el Miér Jun 11, 2014 6:03 pm

dybbuk


Miembro
Este Script ya lo tenia pero por alguna extraña razon lo elimine y ahora lo extraño :'(

Aqui les muestro un video de cuando lo tenia... su funcion era aventar a lo qe tenia enfrente fuera player o monster y al mismo tiempo quitarle vida ademas de que aventava al player "x" cuadros por "x" nivel... ejemplo:

Nivel 100 lo aventaba a 2 cuadros de el
Nivel 200 lo aventaba a 3 cuadros de el
Nivel 300 lo aventaba a 4 cuadros de el
Nivel 400 lo aventaba a 5 cuadros de el
Nivel 500 lo aventaba a 6 cuadros de el

aqui esta el video:

#2 Re: Spell que repele player o monster. el Miér Jun 11, 2014 8:45 pm

CyberM


Scripter
hablas de mi shinra tensei
Código:

function getForwardPos(cid, size)
    return getPosByDir(getThingPosition(cid), getCreatureLookDirection(cid), size)
end

function isPosClear(pos)
    local tile = getTileThingByPos({x=pos.x, y=pos.y, z=pos.z, stackpos=0})
    return (tile.uid ~= 0) and not hasProperty(tile.uid, CONST_PROP_BLOCKSOLID) and not getTileInfo(pos).protection and not getTileInfo(pos).house
end

function doRepelCreature(cid, pos)
  if isCreature(cid) and isPosClear(pos) then
      doTeleportThing(cid, pos, true)
      doSendMagicEffect(pos, CONST_ME_GROUNDSHAKER)
  end
end

function onCastSpell(cid, var)

  local pid = getTopCreature(getForwardPos(cid, 1)).uid

  if not isCreature(pid) or isNpc(pid) then
      return false, doPlayerSendCancel(cid, 'There is no one to repel.')
  end

  if not isPosClear(getForwardPos(cid, 1)) or not isPosClear(getForwardPos(cid, 2)) then
      return false, doPlayerSendCancel(cid, 'You cannot repel there.')
  end

  doTargetCombatHealth(cid, pid, COMBAT_PHYSICALDAMAGE, -100, -1000, 1)

  for tile = 2, math.floor(getPlayerLevel(cid)/10) do
      if isPosClear(getForwardPos(cid, tile)) then
        doRepelCreature(pid, getForwardPos(cid, tile))
      else
        break
      end
  end
  return true
end

#3 Re: Spell que repele player o monster. el Miér Jun 11, 2014 10:21 pm

dybbuk


Miembro
[Tienes que estar registrado y conectado para ver este vínculo] escribió:hablas de mi shinra tensei
Código:

function getForwardPos(cid, size)
    return getPosByDir(getThingPosition(cid), getCreatureLookDirection(cid), size)
end

function isPosClear(pos)
    local tile = getTileThingByPos({x=pos.x, y=pos.y, z=pos.z, stackpos=0})
    return (tile.uid ~= 0) and not hasProperty(tile.uid, CONST_PROP_BLOCKSOLID) and not getTileInfo(pos).protection and not getTileInfo(pos).house
end

function doRepelCreature(cid, pos)
  if isCreature(cid) and isPosClear(pos) then
      doTeleportThing(cid, pos, true)
      doSendMagicEffect(pos, CONST_ME_GROUNDSHAKER)
  end
end

function onCastSpell(cid, var)

  local pid = getTopCreature(getForwardPos(cid, 1)).uid

  if not isCreature(pid) or isNpc(pid) then
      return false, doPlayerSendCancel(cid, 'There is no one to repel.')
  end

  if not isPosClear(getForwardPos(cid, 1)) or not isPosClear(getForwardPos(cid, 2)) then
      return false, doPlayerSendCancel(cid, 'You cannot repel there.')
  end

  doTargetCombatHealth(cid, pid, COMBAT_PHYSICALDAMAGE, -100, -1000, 1)

  for tile = 2, math.floor(getPlayerLevel(cid)/10) do
      if isPosClear(getForwardPos(cid, tile)) then
        doRepelCreature(pid, getForwardPos(cid, tile))
      else
        break
      end
  end
  return true
end

Oye y como le puedo poner en spells.xml x qe ya que lo pongo no me funciona el exausted .... uso OTX con cliente 10.10

Contenido patrocinado


Ver el tema anterior Ver el tema siguiente Volver arriba  Mensaje [Página 1 de 1.]

Permisos de este foro:
No puedes responder a temas en este foro.

 

¿Quién está en línea?

En total hay 0 usuarios en línea: 0 Registrados, 0 Ocultos y 0 Invitado

Usuarios navegando en este foro: Ninguno

Forum Statistics

Nuestros miembros han públicado un total de posts en temas.
Actualmente hay miembros registrados.
Démosle la bienvenida al miembro más reciente,
La mayor cantidad de usuarios en línea ha sido de .