JU

[Resolvido] Transforma item

Por JulianoZN, 11 de fev. de 2019 em Resolvidos

9
1.7k
JulianoZNJ
11 de fevereiro de 2019 às 21:05

Então gente alguem poderia me disponibilizar ou ajudar em um script ele funcionaria assim.

 

x Quantidade de item = x Quantidade de item

 

Exemplo:

Joguei 100 Pokeball em x Local > Essas 100 Pokeball se transformaria em 100 Greate Ball

Caindo em outro local ou no mesmo local onde foi colocado as 100 Pokeball

ANTES image.png.ba17c05c901c4457791c825beb16eacb.png  DEPOIS >   image.png.d3d53fce31b0efae76846573480e9f96.png

 

Editado Fevereiro 13 por JulianoZN

MarshmelloM
11 de fevereiro de 2019 às 21:42
1 minuto atrás, Thalles Vitor disse:

Teu server teria que ter a função onMove

nn,  Doremoveitem + docreateItem

Yan LiimaY
12 de fevereiro de 2019 às 07:48

doRemoveItem e doCreateItem, pois irá remover e criar um item em uma nova pos. Não move-los! Sei exatamente como fazer, porém não sei exatamente como posso fazer para dar X count e retornar a mesma quantidade. Irei tentar pensar em algo.

Editado Fevereiro 12 por nedroesdoksdja

MarshmelloM
12 de fevereiro de 2019 às 08:13
25 minutos atrás, Yan Liima disse:

doRemoveItem e doCreateItem, pois irá remover e criar um item em uma nova pos. Não move-los! Sei exatamente como fazer, porém não sei exatamente como posso fazer para dar X count e retornar a mesma quantidade. Irei tentar pensar em algo.

Tmbn to pensando no que fazer pra verificar as qunt

JulianoZNJ
12 de fevereiro de 2019 às 13:02
6 horas atrás, Yan Liima disse:

doRemoveItem e doCreateItem, pois irá remover e criar um item em uma nova pos. Não move-los! Sei exatamente como fazer, porém não sei exatamente como posso fazer para dar X count e retornar a mesma quantidade. Irei tentar pensar em algo.

Caso vc consiga me passar a base  " Não move-los! Sei exatamente como fazer, porém não sei exatamente como posso fazer para dar X count e retornar a mesma quantidade " esse de xQuantidade 100 foi so por exemplo

Yan LiimaY
12 de fevereiro de 2019 às 13:35
Melhor resposta

Fiz por alavanca, a base seria essa, em actions:

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

pos = {x=327,y=902,z=7,stackpos=1} -- Pos onde tem que colocar a pokeball
pos2 = {x=329,y=904,z=7,stackpos=1} -- Pos onde a nova será criada
getpos = getThingfromPos(pos)
if item.uid == 7084 and item.itemid == 1945 and getpos.itemid == 2642 then --uniqueID,ID da alavanca,ID da pokeball em que tem que ter.
doRemoveItem(getpos.uid, 100) -- Quantidade que irá remover
doTransformItem(item.uid,item.itemid+1)
doCreateItem(2087,100,pos2) -- Nova pokeball,quantidade

elseif item.uid == 7084 then
doTransformItem(item.uid,item.itemid-1)
else
doPlayerSendTextMessage(cid,22,"error.")
end
return true
end
<action uniqueid="7084" event="script" value="arquivo.lua"/>

Só por o uniqueID 7084 na alavanca.

JulianoZNJ
12 de fevereiro de 2019 às 14:13
2 horas atrás, Yan Liima disse:

Fiz por alavanca, a base seria essa, em actions:

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

pos = {x=327,y=902,z=7,stackpos=1} -- Pos onde tem que colocar a pokeball
pos2 = {x=329,y=904,z=7,stackpos=1} -- Pos onde a nova será criada
getpos = getThingfromPos(pos)
if item.uid == 7084 and item.itemid == 1945 and getpos.itemid == 2642 then --uniqueID,ID da alavanca,ID da pokeball em que tem que ter.
doRemoveItem(getpos.uid, 100) -- Quantidade que irá remover
doTransformItem(item.uid,item.itemid+1)
doCreateItem(2087,100,pos2) -- Nova pokeball,quantidade

elseif item.uid == 7084 then
doTransformItem(item.uid,item.itemid-1)
else
doPlayerSendTextMessage(cid,22,"error.")
end
return true
end
<action uniqueid="7084" event="script" value="arquivo.lua"/>

Só por o uniqueID 7084 na alavanca.

Obrigado ❤️ REP+  <> So tive que fazer algumas adptações

Editado Fevereiro 12 por JulianoZN

Kuro o ShinigaK
12 de fevereiro de 2019 às 18:20

Muito simples saber a quantidade de um item em uma determinada posição, segue o script conforme deseja, trocando 100 pokeballs por 100 great balls :

 

LEMBRANDO QUE O SCRIPT FOI TESTANDO COM AS POKEBALLS EM CIMA DE UM SQM E NÃO DE UM OUTRO ITEM, SE FOR COLOCAR ALGO MUDE A STACKPOS




function onUse(cid, item, fromPosition, itemEx, toPosition)


pokeball1 = {x=1001, y=1009, z=7, stackpos = 1}			-- poss das pokeball		
idball = 12617 -- id da great ball
poke1 = getThingfromPos(pokeball1)
switchUniqueID = 1912 -- UID DA ALAVANCA

if poke1.itemid == 2394 and item.uid == switchUniqueID and poke1.type == ITEMCOUNT_MAX then
doRemoveItem(poke1.uid,100)
doSendMagicEffect(getThingPos(cid), 12)
doCreateItem(idball, 100, pokeball1)
doSendMagicEffect(pokeball1, 12)
else
    doPlayersendTextMessage(cid, 22, "voce precisa de 100 pokeball

end
	end

 

Caso queira uma quantidade diferente de 100 use esse :

 

function onUse(cid, item, fromPosition, itemEx, toPosition)


pokeball1 = {x=1001, y=1009, z=7, stackpos = 1}			-- poss das pokeball		
idball = 12617 -- id da great ball
quant = 50 -- quantidade de great ball
poke1 = getThingfromPos(pokeball1)
switchUniqueID = 1912 -- UID DA ALAVANCA
  NB = 50 -- quantidade de pokeball

if poke1.itemid == 2394 and item.uid == switchUniqueID and poke1.type == NB then
doRemoveItem(poke1.uid,NB)
doSendMagicEffect(getThingPos(cid), 12)
doCreateItem(idball, quant, pokeball1)
doSendMagicEffect(pokeball1, 12)
else
    doPlayerSendTextMessage(cid, 22, "voce precisa de 50 pokeball")

end
	end

 

Editado Fevereiro 12 por Kuro o Shiniga

MarshmelloM
13 de fevereiro de 2019 às 16:38
O pedido neste tópico de foi atendido e/ou o autor do tópico resolveu sua duvida. Este tópico está fechado e foi movido para Pedidos - Resolvidos. Se você tiver outros pedidos, crie um novo tópico.