GU
action

Alavanca

Por guelbow, 02 de fev. de 2013 em Scripts

pedra
alavanca
resolvido
10
2k
guelbowG
02 de fevereiro de 2013 às 15:04

Galera, eu vi varios tutoriais ensinando a remover uma pedra ao clicar na alavanca, até ai tudo bem ! Mas a minha duvida é, fiz um mapa pra war, que ao clicar na alavaca, 6 pedras deveriam sumir ao mesmo tempo ! Eu tenho que criar 1 alavanca pra cada pedra? Ou da pra adicionar 6 pedras em uma alavanca só?

RoksasR
02 de fevereiro de 2013 às 15:16

Não precisa vários scripts, 1 só da. Passa o script da alavanca ai

guelbowG
03 de fevereiro de 2013 às 16:32

function onUse(cid, item, toPosition)

 

rock1pos = {x=XXXX, y=YYYY, z=ZZ, stackpos=1} -- Posição da Pedra

getrock1 = getThingfromPos(rock1pos)

UniID = 3331 -- UniqueID que vai ser adicionado na alavanca

rockID = 1304 -- ID da pedra

 

if item.uid == UniID and item.itemid == 1945 and getrock1.itemid == rockID then

doRemoveItem(getrock1.uid, 1)

doTransformItem(item.uid, item.itemid+1)

doSendMagicEffect(rock1pos, 2)

elseif item.uid == UniID and item.itemid == 1946 then

doCreateItem(rockID, 1, rock1pos)

doTransformItem(item.uid,item.itemid-1)

doSendMagicEffect(rock1pos, 13)

end

return TRUE

end

3 semanas depois...
murilo103M
18 de fevereiro de 2013 às 10:08

 

function onUse(cid, item, toPosition)

local lever = {

{x=XXXX, y=YYYY, z=ZZ, stackpos=1} -- Posição da Pedra 1

{x=XXXX, y=YYYY, z=ZZ, stackpos=1} -- Posição da Pedra 2

{x=XXXX, y=YYYY, z=ZZ, stackpos=1} -- Posição da Pedra 3

{x=XXXX, y=YYYY, z=ZZ, stackpos=1} -- Posição da Pedra 4

{x=XXXX, y=YYYY, z=ZZ, stackpos=1} -- Posição da Pedra 5

{x=XXXX, y=YYYY, z=ZZ, stackpos=1} -- Posição da Pedra 6

}

UniID = 3331 -- UniqueID que vai ser adicionado na alavanca

rockID = 1304 -- ID da pedra

 

if item.uid == UniID and item.itemid == 1945 then

for i = 1, #lever do

doRemoveItem(getThingfromPos(lever).uid, 1)

end

doTransformItem(item.uid, item.itemid+1)

doSendMagicEffect(LeverPos, CONST_ME_POFF)

 

elseif item.uid == UniID and item.itemid == 1946 then

for i = 1, #lever do

doCreateItem(getThingfromPos(lever).uid,1)

end

doTransformItem(item.uid,item.itemid-1)

doSendMagicEffect(LeverPos, CONST_ME_POFF)

end

return TRUE

end

 

Ainda não testei, mas caso já tenha solucionado o problema, reporte para algum Moderador :)

Editado Fevereiro 18 por murilo103

SlicerS
18 de fevereiro de 2013 às 11:13

vai da erro..

getrock1.itemid == rockID

murilo103M
18 de fevereiro de 2013 às 11:31

vai da erro..

getrock1.itemid == rockID

Pronto foi corrigido, veja se ainda vai ocorrer o erro.

SlicerS
18 de fevereiro de 2013 às 11:50

q eu saiba tem q criar as pedras denovo... entao..

doCreateItem(getThingfromPos(lever[i]).uid,1)

 

o certo seria..

for i = 1, #lever do
doCreateItem(rockID, 1, lever[i])
end

20cm2
18 de fevereiro de 2013 às 17:42

doCreateItem(getThingfromPos(lever[i]).uid,1)

primeiro q os parametros do docreatitem é ID,COUNT,POS

vc já começou errado, pôs uid ao invés de id, depois pois 1 (ok), e nem pois a posição q vai criar

o script nao vai adivinhar cara

 

fora isso se deixar do jeito q o slicer disse acima acho q funfa

StigalS
22 de fevereiro de 2013 às 13:48

Tópico movido para a seção de dúvidas e pedidos resolvidos.

1 mês depois...
guelbowG
01 de março de 2013 às 15:31

E entao galera, como ficaria o Script? Me ajudem, preciso muito para o evento !