Postado Julho 26, 2017 7 anos Autor 1 hora atrás, Rusherzin disse: Tenta assim: function removeGroundItem(pos, itemid) local item = getTileItemById(pos, itemid).uid return item ~= 0 and doRemoveItem(item, 1) end function onUse(cid, item, frompos, item2, topos) local bau = item.uid local pos = getThingPos(bau) if getItemWeightById(item.itemid) - getItemWeight(bau) == 0 then addEvent(removeGroundItem, 10000, pos, item.itemid) return true end end eu não sei realmente se é possivel fazer o que quero, mas acredito que sim... eu não consigo porque não entendo de callback mas tem que realizer o addevent e depois fazer a verificação se tem 0 itens dentro.. vou usar portugol pra ve se vc consegue me entender. > player abriu bau > pegou ou não pegou item (tanto faz) > aciona um addevent(de 10 segundos) para verificar se tem coisa dentro do bau ainda > se não tiver nada dentro exclui. > se ainda tiver coisa dentro não faz nada. Scriptszinhos: Spoiler [CREATURESCRIPT] Auto TP depois de matar boss [ACTION] Clean Area [TALKACTION] !FelizAnoNovo [ACTION + MOVEMENT] Cartas ao GOD [CREATURESCRIPT] Always Emblem System [ACTION] Anihi simples [TALKACTIONS] Urinar / fazer xixi Não abandone seu tópico, quando você tiver a dúvida resolvida sozinho tente ensinar aos outros como resolve-la (você pode não ser o único com o problema) e quando ela for resolvida por outra pessoa não se esqueça de marcar como melhor resposta e deixar o gostei.
Postado Julho 26, 2017 7 anos Solução Acho que entendi, seria assim: function removeEmptyChest(pos, itemid) local item = getTileItemById(pos, itemid).uid if getItemWeightById(itemid) - getItemWeight(item) == 0 then return item ~= 0 and doRemoveItem(item, 1) end end function onUse(cid, item, frompos, item2, topos) local bau = item.uid local pos = getThingPos(bau) addEvent(removeEmptyChest, 10000, pos, item.itemid) end Se o cara abrir o baú e tirar o item antes desses 10s, o baú vai ser removido. Ajudei? De nada \o/ Att Rusherzin
Postado Julho 26, 2017 7 anos Autor 1 hora atrás, Rusherzin disse: Acho que entendi, seria assim: function removeEmptyChest(pos, itemid) local item = getTileItemById(pos, itemid).uid if getItemWeightById(itemid) - getItemWeight(item) == 0 then return item ~= 0 and doRemoveItem(item, 1) end end function onUse(cid, item, frompos, item2, topos) local bau = item.uid local pos = getThingPos(bau) addEvent(removeEmptyChest, 10000, pos, item.itemid) end Se o cara abrir o baú e tirar o item antes desses 10s, o baú vai ser removido. Pronto agora sim! funcionou.. +rep mas caso o player abrir de novo nesses 10 segundos depois que tiver vazio da erro do tipo (LuaInterface::luaGetItemWeight) Item not found attempt to perform arithmetic on a boolean value .. mas enfim muito obrigado :D caso n der pra arrumar ja ta otimo kk @Rusherzin acho que resolveria com na function onUse colocasse um if se o bau tivesse vazio apenas sumiria o item (precausão caso 1 player abrisse o bau depois de o outro juntar o item) e outro if que se caso isso acontecer não rodar mais o addevent. ficou confuso Editado Julho 26, 2017 7 anos por pablobion (veja o histórico de edições) Scriptszinhos: Spoiler [CREATURESCRIPT] Auto TP depois de matar boss [ACTION] Clean Area [TALKACTION] !FelizAnoNovo [ACTION + MOVEMENT] Cartas ao GOD [CREATURESCRIPT] Always Emblem System [ACTION] Anihi simples [TALKACTIONS] Urinar / fazer xixi Não abandone seu tópico, quando você tiver a dúvida resolvida sozinho tente ensinar aos outros como resolve-la (você pode não ser o único com o problema) e quando ela for resolvida por outra pessoa não se esqueça de marcar como melhor resposta e deixar o gostei.
Participe da conversa
Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.