info
Grupo: Conde
Registrado: 14/04/15
Posts: 956
Reputação: +333
Gênero: Masculino

A correção do seu código seria a seguinte:
local items = {1212, 1215, 1218, 1239}
function onMoveItem(moveItem, frompos, position, cid, toPosition)
if isContainer(moveItem.uid) then
doBroadcastMessage("reconheceu container!")
for i = 1, #items do
if #getItemsInContainerById(moveItem.uid, items[i]) > 0 then
doBroadcastMessage("reconheceu um dos itens dentro!")
break
end
end
Para fazer o que você quer, ajudaria se este callback tivesse mais parâmetros. Caso contrário, recomendaria usar um outro onMoveItem. Mesma funcionalidade, porém parâmetros diferentes e mais abrangentes.
A correção do seu código seria a seguinte:
Para fazer o que você quer, ajudaria se este callback tivesse mais parâmetros. Caso contrário, recomendaria usar um outro onMoveItem. Mesma funcionalidade, porém parâmetros diferentes e mais abrangentes.
Então no caso com esse callback apenas que eu tenho, seria Impssivel impedir que o player jogue um container backpack,bag, bau (com os items da lista dentro dele), no chao?
info
Grupo: Conde
Registrado: 14/04/15
Posts: 956
Reputação: +333
Gênero: Masculino

Não, não é impossível com o calback atual, mas se utilizar o que o Zipter Recomendou fica mais fácil de fazer ![]()
sempre tenho erro quando tento compilar esse outro onmove, por isso queria um jeito no callback q eu tenho





info
Grupo: Barão
Registrado: 05/01/16
Posts: 207
Reputação: +15
Galera, estava estudando esta função "getItemsInContainerById" para usar no meu server que estou criando...
function onMoveItem(moveItem, frompos, position, cid, toPosition) if(isContainer(moveItem.uid)) then doBroadcastMessage("reconheceu container!") if #getItemsInContainerById(moveItem.uid, 1212) > 0 then doBroadcastMessage("reconheceu item dentro!") endnesse script acima, se eu mover um item contaier (bag,backpack,bau), vai receber a mensagem reconheceu container.
Se eu mover um container (bag,backpack,bau), com o item 1212 dentro, vai aparecer "reconheceu item dentro"
o que eu quero fazer é adicionar mais items na lista de items (dentro do container), por exemplo:
local items = {1212, 1215, 1218, 1239} function onMoveItem(moveItem, frompos, position, cid, toPosition) if(isContainer(moveItem.uid)) then doBroadcastMessage("reconheceu container!") if #getItemsInContainerById(moveItem.uid, ITEMS) > 0 then doBroadcastMessage("reconheceu item dentro!") end>>tentei fazer dessa maneira, mas está dando errado. Como eu faço para a parte ITEMS verificar toda a tabela de items?
>>quero fazer com que se o container tenha algum item da lista dentro dele, o container nao possa ser jogado no chao, jogado em house, possa apenas ser colocado no depot e ser movido na propria backpack do personagem
edit: tentei fazer por isInArray(iitems, moveItem.itemid), mas não obtive sucesso, não sei mexer muito com essa função
Editado Janeiro 5 por rorix