Ir para conteúdo
  • 0

Remover Paredes por alavanca


igorlabanca

Pergunta

Pessoal estou precisando de um script que remova 4 paredes por alavanca... (ja procurei, porém não tem desse jeito)

ex: o player da use na alavanca dai as 4 paredes são removidas...

OBS: ao player da use na alavanca ela se transformaria na alavanca (10029 que é uma alavanca travada) !


Parede 1: 21832 (X: 229 Y: 1061 Z: 7)
parede 2: 21926 (X: 228 Y: 1061 Z: 7)
parede 3: 21781 (X: 229 Y: 1060 Z: 7)
parede 4: 21781 (X: 228 Y: 1060 Z: 7)

 

 

Espero que me ajudem !
Obrigado

Link para o comentário
Compartilhar em outros sites

Posts Recomendados

  • 0

 

function onUse(cid, item, fromPosition, itemEx, toPosition)
function Wall()
local x = true
local B = {
{21832,{x=229, y=1061, z=7, stackpos = 1}}
{21926,{x=228, y=1061, z=7, stackpos = 1}}
{21781,{x=229, y=1060, z=7, stackpos = 1}}
{21781,{x=228, y=1060, z=7, stackpos = 1}}
}
for i = 1, #B do
if getTileItemById(B[2], B[1]).uid == 0 then x = false end
if x == true then
doRemoveItem(getThingfromPos(B[2]).uid,1)
else
doCreateItem(B[1], 1, B[2])
end
end
end
Wall()
addEvent(Wall, 5000)
doTransformItem(item.uid, item.itemid == 1945 and 1946 or 1945)
return true
end

 

 

<action actionid="8998" script="arquivo.lua"/>

 

Coloque o Action 8998 em uma Alavancha com ID 1945 ou 1946

Link para o comentário
Compartilhar em outros sites

  • 0

resolvi fazer testando agora..

é so você colocar a posição correta e o id correto de cada item.

function onUse(cid, item, frompos, item2, topos)

local item1 = getTileItemById({x= 158,y= 55,z= 7}, 3739)
local item2 = getTileItemById({x= 159,y= 55,z= 7}, 3739)
local item3 = getTileItemById({x= 160,y= 55,z= 7}, 3739)
local item4 = getTileItemById({x= 161,y= 55,z= 7}, 3739)

if item.itemid == 1945 or item.itemid == 1946 then
    doRemoveItem(item1.uid, 1)
    doRemoveItem(item2.uid, 1) 
    doRemoveItem(item3.uid, 1) 
    doRemoveItem(item4.uid, 1)
end

return TRUE
end

tag..

<action uniqueid="10159" script="NomeDoArquivo.lua"/>

agora só colocar o uniqueid na alavanca .


lembrado que testei da funcionando !

Link para o comentário
Compartilhar em outros sites

  • 0

resolvi fazer testando agora..

é so você colocar a posição correta e o id correto de cada item.

function onUse(cid, item, frompos, item2, topos)

local item1 = getTileItemById({x= 158,y= 55,z= 7}, 3739)
local item2 = getTileItemById({x= 159,y= 55,z= 7}, 3739)
local item3 = getTileItemById({x= 160,y= 55,z= 7}, 3739)
local item4 = getTileItemById({x= 161,y= 55,z= 7}, 3739)

if item.itemid == 1945 or item.itemid == 1946 then
    doRemoveItem(item1.uid, 1)
    doRemoveItem(item2.uid, 1) 
    doRemoveItem(item3.uid, 1) 
    doRemoveItem(item4.uid, 1)
end

return TRUE
end

tag..

<action uniqueid="10159" script="NomeDoArquivo.lua"/>

agora só colocar o uniqueid na alavanca .

lembrado que testei da funcionando !

 

 

Usou a Minha Ideia de colocar com ID , sleep.png

Editado por Shoguns
Link para o comentário
Compartilhar em outros sites

  • 0

DuuhCarvalho Realmente removeu, porém dps que removeu se eu usar a alavanca novamente da esso erro

[19:32:21.940] [Error - Action Interface]
[19:32:21.947] data/actions/scripts/roshamuul/alavanca.lua:onUse
[19:32:21.948] Description:
[19:32:21.949] (luaDoRemoveItem) Item not found

 

OBS eu estou usando essa alavanca:
if item.itemid == 9825 or item.itemid == 9826 then

E cara dps que usar a alavanca 9825 ela tem que travar ( coloca para a alavanca 9825 após ser usada se transformar na alavanca 10030 sem nenhum uniqueid)

Editado por igorlabanca
Link para o comentário
Compartilhar em outros sites

  • 0

e eu já vi esse script ae que você postou em outro topico então a ideia não é sua . rsrs


function onUse(cid, item, frompos, item2, topos)


local item1 = getTileItemById({x= 158,y= 55,z= 7}, 3739)
local item2 = getTileItemById({x= 159,y= 55,z= 7}, 3739)
local item3 = getTileItemById({x= 160,y= 55,z= 7}, 3739)
local item4 = getTileItemById({x= 161,y= 55,z= 7}, 3739)


if item.itemid == 1945 or item.itemid == 1946 then
    doRemoveItem(item1.uid, 1)
    doRemoveItem(item2.uid, 1) 
    doRemoveItem(item3.uid, 1) 
    doRemoveItem(item4.uid, 1)
    doTransformItem(item.uid, item.itemid == 10029)
end


return TRUE
end
Link para o comentário
Compartilhar em outros sites

  • 0

 

function onUse(cid, item, fromPosition, itemEx, toPosition)
function Wall()
local x = true
local B = {
{21832,{x=229, y=1061, z=7, stackpos = 1}}
{21926,{x=228, y=1061, z=7, stackpos = 1}}
{21781,{x=229, y=1060, z=7, stackpos = 1}}
{21781,{x=228, y=1060, z=7, stackpos = 1}}
}
for i = 1, #B do
if getTileItemById(B[2], B[1]).uid == 0 then x = false end
if x == true then
doRemoveItem(getThingfromPos(B[2]).uid,1)
else
doCreateItem(B[1], 1, B[2])
end
end
end
Wall()
addEvent(Wall, 5000)
doTransformItem(if item.itemid == 9825 or item.itemid == 9826 then)
return true
end
Link para o comentário
Compartilhar em outros sites

  • 0

usa esse..

 

function onUse(cid, item, frompos, item2, topos)


local item1 = getTileItemById({x= 158,y= 55,z= 7}, 3739)
local item2 = getTileItemById({x= 159,y= 55,z= 7}, 3739)
local item3 = getTileItemById({x= 160,y= 55,z= 7}, 3739)
local item4 = getTileItemById({x= 161,y= 55,z= 7}, 3739)

local id1 = 3739
local id2 = 3739
local id3 = 3739
local id4 = 3739

if item.itemid == 1945 or item.itemid == 1946 then
 if item1.itemid == id1 and item2.itemid == id2 and item3.itemid == id3 and item4.itemid == id4 then
    doRemoveItem(item1.uid, 1)
    doRemoveItem(item2.uid, 1) 
    doRemoveItem(item3.uid, 1) 
    doRemoveItem(item4.uid, 1)
 end
end


return TRUE
end

so que tem que colocar os ids tudo certinho ..

 

vai verificar se tem parede , se não tiver não vai executar .

Link para o comentário
Compartilhar em outros sites

  • 0

Duuh mas esse seu não transformou...
eu ajeitei o problema do void.. porém ao transformar o item tem que vim sem uniqueid (pará n da erro se n tiver parede)

só falta isso mesmo tirar o uid do item transformado

function onUse(cid, item, frompos, item2, topos)

local item1 = getTileItemById({x= 228,y= 1061,z= 7}, 21832)
local item2 = getTileItemById({x= 229,y= 1061,z= 7}, 21926)
local item3 = getTileItemById({x= 229,y= 1060,z= 7}, 21781)
local item4 = getTileItemById({x= 228,y= 1060,z= 7}, 21781)

if item.itemid == 10029 then
    doRemoveItem(item1.uid, 1)
    doRemoveItem(item2.uid, 1)
    doRemoveItem(item3.uid, 1)
    doRemoveItem(item4.uid, 1)
    doTransformItem(item.uid,item.itemid+1)
end


return TRUE
end



Link para o comentário
Compartilhar em outros sites

  • 0

 

usa esse..

 

function onUse(cid, item, frompos, item2, topos)


local item1 = getTileItemById({x= 158,y= 55,z= 7}, 3739)
local item2 = getTileItemById({x= 159,y= 55,z= 7}, 3739)
local item3 = getTileItemById({x= 160,y= 55,z= 7}, 3739)
local item4 = getTileItemById({x= 161,y= 55,z= 7}, 3739)

local id1 = 3739
local id2 = 3739
local id3 = 3739
local id4 = 3739

if item.itemid == 1945 or item.itemid == 1946 then
 if item1.itemid == id1 and item2.itemid == id2 and item3.itemid == id3 and item4.itemid == id4 then
    doRemoveItem(item1.uid, 1)
    doRemoveItem(item2.uid, 1) 
    doRemoveItem(item3.uid, 1) 
    doRemoveItem(item4.uid, 1)
 end
end


return TRUE
end

so que tem que colocar os ids tudo certinho ..

 

vai verificar se tem parede , se não tiver não vai executar .

 

 

esse aki não da erro mano , pq ele verifica se tem parede . vc falou no chat que era pra transformar pq ae n dava mais erro, esse ae n dar .

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...