igorlabanca 1 Postado Fevereiro 24, 2014 Share Postado Fevereiro 24, 2014 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 More sharing options...
0 DuuhCarvalho 327 Postado Fevereiro 24, 2014 Share Postado Fevereiro 24, 2014 (editado) 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 Fevereiro 24, 2014 por DuuhCarvalho Link para o comentário Compartilhar em outros sites More sharing options...
0 Shoguns 119 Postado Fevereiro 24, 2014 Share Postado Fevereiro 24, 2014 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 More sharing options...
0 igorlabanca 1 Postado Fevereiro 24, 2014 Autor Share Postado Fevereiro 24, 2014 (editado) DuuhCarvalho O seu deu errona função onuse ao tentar achar o item Shogunso 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 Fevereiro 24, 2014 por igorlabanca Link para o comentário Compartilhar em outros sites More sharing options...
0 Shoguns 119 Postado Fevereiro 24, 2014 Share Postado Fevereiro 24, 2014 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 More sharing options...
0 DuuhCarvalho 327 Postado Fevereiro 24, 2014 Share Postado Fevereiro 24, 2014 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 More sharing options...
0 AdilsonHacker 98 Postado Fevereiro 24, 2014 Share Postado Fevereiro 24, 2014 (editado) 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 Fevereiro 24, 2014 por AdilsonTsunami Link para o comentário Compartilhar em outros sites More sharing options...
0 zipter98 1101 Postado Fevereiro 24, 2014 Share Postado Fevereiro 24, 2014 Recomendaria fazer por looping. Além de diminuir o código, é bem mais fácil e prático. Link para o comentário Compartilhar em outros sites More sharing options...
0 igorlabanca 1 Postado Fevereiro 24, 2014 Autor Share Postado Fevereiro 24, 2014 Shoguns, sim eu coloquei e não funcionou. DuuhCarvalho, agora não deu nenhum erro no console, porém não removeu e n aconteceu nada (mesma coisa) AdilsonTsunami Não entendi o seu... são 4 paredes em UMA alavanca só Link para o comentário Compartilhar em outros sites More sharing options...
0 AdilsonHacker 98 Postado Fevereiro 24, 2014 Share Postado Fevereiro 24, 2014 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 More sharing options...
0 DuuhCarvalho 327 Postado Fevereiro 24, 2014 Share Postado Fevereiro 24, 2014 (editado) 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 Fevereiro 24, 2014 por DuuhCarvalho Link para o comentário Compartilhar em outros sites More sharing options...
0 igorlabanca 1 Postado Fevereiro 24, 2014 Autor Share Postado Fevereiro 24, 2014 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 More sharing options...
0 DuuhCarvalho 327 Postado Fevereiro 24, 2014 Share Postado Fevereiro 24, 2014 (editado) 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 Fevereiro 24, 2014 por DuuhCarvalho Link para o comentário Compartilhar em outros sites More sharing options...
0 igorlabanca 1 Postado Fevereiro 24, 2014 Autor Share Postado Fevereiro 24, 2014 [17:13:07.155] [Error - Action Interface][17:13:07.155] data/actions/scripts/roshamuul/alavanca.lua:onUse[17:13:07.156] Description:[17:13:07.158] (luaDoRemoveItem) Item not found Link para o comentário Compartilhar em outros sites More sharing options...
0 DuuhCarvalho 327 Postado Fevereiro 24, 2014 Share Postado Fevereiro 24, 2014 tenta lá denovo . Link para o comentário Compartilhar em outros sites More sharing options...
0 igorlabanca 1 Postado Fevereiro 24, 2014 Autor Share Postado Fevereiro 24, 2014 Mesmo erro... Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
igorlabanca 1
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
Top Posters For This Question
12
11
6
2
Popular Days
Fev 24
28
Fev 23
3
Fev 25
3
Top Posters For This Question
DuuhCarvalho 12 posts
igorlabanca 11 posts
Shoguns 6 posts
AdilsonHacker 2 posts
Popular Days
Fev 24 2014
28 posts
Fev 23 2014
3 posts
Fev 25 2014
3 posts
Popular Posts
DuuhCarvalho
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 .
33 respostass a esta questão
Posts Recomendados