Ir para conteúdo
  • 0

Destroy Field Infinita !


\Mattheus ~*

Pergunta

9 respostass a esta questão

Posts Recomendados

  • 0

As runas todas já estão infinitas isso eu sei fazer é fácil, mas a df não está ..

 

Spells.xml : <rune name="Destroy Field" id="2261" allowfaruse="1" charges="3" lvl="17" maglv="3" exhaustion="1000" aggressive="0" range="5" event="script" value="support/destroy field rune.lua" />

 

 

 

 

UNREMOVABLE_FIELDS = {1497, 1498, 1499, 1505, 1506, 1507, 1508, 7465, 7466, 7467, 7468, 7469, 7470, 7471, 7472, 7473, 11094, 11095}

 

local function doRemoveField(cid, pos)

local field = getTileItemByType(pos, ITEM_TYPE_MAGICFIELD)

if(not isInArray(UNREMOVABLE_FIELDS, field.itemid)) then

doRemoveItem(field.uid)

doSendMagicEffect(pos, CONST_ME_POFF)

return true

end

 

doPlayerSendDefaultCancel(cid, RETURNVALUE_NOTPOSSIBLE)

doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF)

return false

end

 

function onCastSpell(cid, var)

local pos = variantToPosition(var)

if(pos.x == CONTAINER_POSITION) then

pos = getThingPos(cid)

end

 

if(pos.x ~= 0 and pos.y ~= 0) then

return doRemoveField(cid, pos)

end

 

doPlayerSendDefaultCancel(cid, RETURNVALUE_NOTPOSSIBLE)

doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF)

return false

end

Link para o comentário
Compartilhar em outros sites

  • 0

@LuckOake

 

Aqui um:

UNREMOVABLE_FIELDS = {1497, 1498, 1499, 1505, 1506, 1507, 1508, 7465, 7466, 7467, 7468, 7469, 7470, 7471, 7472, 7473, 11094, 11095}

 

local function doRemoveField(cid, pos)

local field = getTileItemByType(pos, ITEM_TYPE_MAGICFIELD)

if(not isInArray(UNREMOVABLE_FIELDS, field.itemid)) then

doRemoveItem(field.uid)

doSendMagicEffect(pos, CONST_ME_POFF)

return true

end

 

doPlayerSendDefaultCancel(cid, RETURNVALUE_NOTPOSSIBLE)

doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF)

return false

end

 

function onCastSpell(cid, var)

local pos = variantToPosition(var)

if(pos.x == CONTAINER_POSITION) then

pos = getThingPos(cid)

end

 

if(pos.x ~= 0 and pos.y ~= 0) then

return doRemoveField(cid, pos)

end

 

doPlayerSendDefaultCancel(cid, RETURNVALUE_NOTPOSSIBLE)

doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF)

return false

end

Link para o comentário
Compartilhar em outros sites

  • 0

Bom, no meu não acaba. Mas xo fazer uma gambiarra no seu script pra ver se funciona:

 

Substitui seu script por esse:

 

 

UNREMOVABLE_FIELDS = {1497, 1498, 1499, 1505, 1506, 1507, 1508, 7465, 7466, 7467, 7468, 7469, 7470, 7471, 7472, 7473, 11094, 11095}

 

local function doRemoveField(cid, pos)

local field = getTileItemByType(pos, ITEM_TYPE_MAGICFIELD)

if(not isInArray(UNREMOVABLE_FIELDS, field.itemid)) then

doRemoveItem(field.uid)

doSendMagicEffect(pos, CONST_ME_POFF)

return true

end

 

doPlayerSendDefaultCancel(cid, RETURNVALUE_NOTPOSSIBLE)

doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF)

return false

end

 

function onCastSpell(cid, var)

doPlayerAddItem(cid, xxxx, 1)

local pos = variantToPosition(var)

if(pos.x == CONTAINER_POSITION) then

pos = getThingPos(cid)

end

 

if(pos.x ~= 0 and pos.y ~= 0) then

return doRemoveField(cid, pos)

end

 

doPlayerSendDefaultCancel(cid, RETURNVALUE_NOTPOSSIBLE)

doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF)

return false

end

 

 

Onde está vermelho você coloca o ID da sua rune.

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...