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

testa ae..

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

local uniqueId = 1015  -- uniqueId que vai na tag em actions.Xml

local item1 = getTileItemById({x= 229,y= 1061,z= 7}, 21832)
local item2 = getTileItemById({x= 228,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.uid == uniqueId and item.itemid == 1946 or item.itemid == 1945 then
    doRemoveItem(item1.uid, 1)
    doRemoveItem(item2.uid, 1) 
    doRemoveItem(item3.uid, 1) 
    doRemoveItem(item4.uid, 1)
    doTransformItem(item.uid, item, 10029) 
end

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

  • 0

Tente esse ai:

 

function onUse(cid, item, frompos, item2, topos)
wall1 = {x=229, y=1061, z=7, stackpos=1}
wall2 = {x=228, y=1061, z=7, stackpos=1}
wall3 = {x=229, y=1060, z=7, stackpos=1}
wall4 = {x=228, y=1060, z=7, stackpos=1}
getwall1 = getThingfromPos(wall1)
if item.uid == 8885 and item.itemid == 1945 then
doRemoveItem(getwall1.uid,8886)
doRemoveItem(getwall2.uid,8887)
doRemoveItem(getwall3.uid,8888)
doRemoveItem(getwall4.uid,8889)
doTransformItem(item.uid,item.itemid+1)
elseif item.uid == 8885 and item.itemid == 1946 then
doTransformItem(item.uid,item.itemid-1)
doCreateItem(21832,1,wall1)
doCreateItem(21926,1,wall2)
doCreateItem(21781,1,wall3)
doCreateItem(21781,1,wall4)
end
return 1
end

 

Tags:

 

<action uniqueid="8885" script="arquivo.lua" />

 

Agora e so colocar os respectivos Unique ID nas Paredes e o Unique 8885 na Alavancha.

Link para o comentário
Compartilhar em outros sites

  • 0

DuuhCarvalho

O seu deu erro
na função onuse ao tentar achar o item


Shoguns

o seu não acontece nada, a alavanca até se meche porém não é transformada na outra e nem as paredes são removidas (não deu nenhum erro)

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

  • 0

DuuhCarvalho

O seu deu erro

na função onuse ao tentar achar o item

 

 

Shoguns

 

o seu não acontece nada, a alavanca até se meche porém não é transformada na outra e nem as paredes são removidas (não deu nenhum erro)

 

 

Você colocou os Unique ID 8886,8887,8888,8889 Nas Paredes?

Link para o comentário
Compartilhar em outros sites

  • 0

DuuhCarvalho

O seu deu erro

na função onuse ao tentar achar o item

 

 

Shoguns

 

o seu não acontece nada, a alavanca até se meche porém não é transformada na outra e nem as paredes são removidas (não deu nenhum erro)

 

 

quando é assim posta o erro ;s..

 

editei lá tenta denovo.

Link para o comentário
Compartilhar em outros sites

  • 0

Tenta ai :

 

function onUse(cid, item, frompos, item2, topos)
wall1 = {x=288, y=310, z=6, stackpos=1}
wall2 = {x=289, y=310, z=6, stackpos=1}
wall3 = {x=289, y=310, z=6, stackpos=1}
wall4 = {x=289, y=310, z=6, stackpos=1}
getwall1 = getThingfromPos(wall1)
getwall2 = getThingfromPos(wall2)
getwall3 = getThingfromPos(wall3)
getwall4 = getThingfromPos(wall4)
 
if item.uid == 5451 and item.itemid == 10029 then
doRemoveItem(getwall1.uid,1)
doRemoveItem(getwall2.uid,1)
doRemoveItem(getwall3.uid,1)
doRemoveItem(getwall4.uid,1)
doTransformItem(item.uid,item.itemid+1)
else
doPlayerSendCancel(cid,"Sorry, not possible.")
end
 
return 1
end

 

 

<action actionid="5451" event="script" value="parede.lua"/>

 

o actionid é o id da parede que vai sumir , lembre-se de quando for colocar o id de outra , mude na tag e no script.

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

  • 0

Ele está configurado para liberar as quatros parede em um só clique na alavanca pow , só que tem que ser paredes de mesmos ids é percebi que você quer uma de cada!

 

Tenta ai , pra você ver , pelo menos aqui pegou!

Link para o comentário
Compartilhar em outros sites

  • 0

Adilson o seu não é so com um item do mesmo id não! é qualquer id .. você usou stackpos=1 , pelo que lembro é que o item que está no chão.

 

tenta ae mano ..
local paredes = {
  [1] = {id = 21832, pos = {x= 229, y= 1061, z= 7}},
  [2] = {id = 21832, pos = {x= 229, y= 1061, z= 7}},
  [3] = {id = 21832, pos = {x= 229, y= 1061, z= 7}},
  [4] = {id = 21832, pos = {x= 229, y= 1061, z= 7}}
}
function onUse(cid, item, frompos, item2, topos) 
for i = 1, #paredes do
    if item.itemid == 1945 or item.itemid == 1946 then
        doRemoveItem(paredes[i].uid, paredes[i].pos)
    end
end
return TRUE
end
Editado por DuuhCarvalho
Link para o comentário
Compartilhar em outros sites

  • 0

Não não funcionou...

Pessoal eu tenho um script aqui de remover UMA PAREDE POR ALAVANCA....
será que vcs não conseguem acrescentar mais ?

function onUse(cid, item, frompos, item2, topos)
janelapos = {x=192, y=839, z=8, stackpos=1}
itemid = 9787
local get = getThingfromPos(janelapos)
if get.itemid == itemid and item.itemid == 10029 then
doRemoveItem(get.uid,1)
doTransformItem(item.uid,item.itemid+1)
else
return TRUE
end
end
Link para o comentário
Compartilhar em outros sites

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

local pos1={x=158, y=54, z=7, stackpos=1}
local pos2={x=158, y=54, z=7, stackpos=1}
local pos3={x=158, y=54, z=7, stackpos=1}
local pos4={x=158, y=54, z=7, stackpos=1}
item1 = getThingFromPos(pos1)
item2 = getThingFromPos(pos1)
item3 = getThingFromPos(pos1)
item4 = getThingFromPos(pos1)

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

return TRUE
end

coloca as posições dos items .

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

×
×
  • Criar Novo...