Ir para conteúdo
  • 0

Como Usar A Funçao Doremoveitem ?


tonynamoral

Pergunta

10 respostass a esta questão

Posts Recomendados

  • 0

Se for por área usa getThingFromPos(pos).uid

 

Para usar remove item

 

doRemoveItem(item para ser removido, e quantidade da remoção)

 

Tipo para remover item de tal pos

 

 
local pos = {x=3133, y=12312, z=7}
doRemoveItem(getThingFromPos(pos).uid, 1)

Link para o comentário
Compartilhar em outros sites

  • 0

Não está removendo não .

 

 

Script :

 

 

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

 

-- Config

pos1 = {x=500, y=398, z=7}

pos2 = {x=501, y=398, z=7}

pos3 = {x=502, y=398, z=7}

pos4 = {x=503, y=398, z=7}

pos5 = {x=514, y=383, z=7}

pos6 = {x=514, y=384, z=7}

pos7 = {x=514, y=385, z=7}

pos8 = {x=514, y=386, z=7}

item = 1498

-- End Config

 

if isPlayer(cid) then

doPlayerAddItem(cid,2160,1)

doCreateItem(item,1,pos1)

doCreateItem(item,1,pos2)

doCreateItem(item,1,pos3)

doCreateItem(item,1,pos4)

doTeleportThing(cid,{x=504,y=400,z=7})

doRemoveItem(getThingFromPos(pos5).uid, 1)

doRemoveItem(getThingFromPos(pos6).uid, 1)

doRemoveItem(getThingFromPos(pos7).uid, 1)

doRemoveItem(getThingFromPos(pos8).uid, 1)

doPlayerSendTextMessage(cid, 27, "Voce consegiu a primeira parte. vá a segunda.")

end

end

Link para o comentário
Compartilhar em outros sites

  • 0

A função doRemoveItem(uid,n) se resume a

 

 

 

uid = item

 

n = pos

 

então se for um item especifico você usa assim

 

getTileItemById(pos, itemId)

 

exêmplo:

 

local item = getTileItemById({x = 1, y = 2, z = 3}, 2160)

if item.uid > 0 then

return doRemoveItem(item.uid, 1)

end

 

 

agora tem outra função

 

getThingFromPos(pos)

 

que pode usar assim

 

doRemoveItem(getThingFromPos(pos).uid, 1).

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

  • 0

Faltava o stackpos no seu script e você tava usando duas variáveis iguais. Tó:

 

 

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

 

-- Config

pos1 = {x=500, y=398, z=7, stackpos = 1}

pos2 = {x=501, y=398, z=7, stackpos = 1}

pos3 = {x=502, y=398, z=7, stackpos = 1}

pos4 = {x=503, y=398, z=7, stackpos = 1}

pos5 = {x=514, y=383, z=7, stackpos = 1}

pos6 = {x=514, y=384, z=7, stackpos = 1}

pos7 = {x=514, y=385, z=7, stackpos = 1}

pos8 = {x=514, y=386, z=7, stackpos = 1}

itema = 1498

-- End Config

 

doPlayerAddItem(cid,2160,1)

doCreateItem(itema,1,pos1)

doCreateItem(itema,1,pos2)

doCreateItem(itema,1,pos3)

doCreateItem(itema,1,pos4)

doTeleportThing(cid,{x=504,y=400,z=7})

doRemoveItem(getThingFromPos(pos5).uid, 1)

doRemoveItem(getThingFromPos(pos6).uid, 1)

doRemoveItem(getThingFromPos(pos7).uid, 1)

doRemoveItem(getThingFromPos(pos8).uid, 1)

doPlayerSendTextMessage(cid, 27, "Você conseguiu a primeira parte. Vá para a segunda.")

return true

end

 

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

  • 0

Stackpos não é tanto usado mais para evitar futuros bugs sempre use quando usar

 

getThingFromPos(pos)

 

use

 

for i = 1, 255 do

pos = {x = x, y = y, z = z, stackpos = i}

end

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

  • 0

@Skymagnum

 

Realmente não é muito usado, mas no caso do script dele, removeria até o chão sem o stackpos. E o seu modo, usando esse controle for, vai remover todos os items acima do chão, então não seria muito bom usar, afinal, vai que o item deve ficar acima de um outro item, como um coal basin?

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...