Postado Junho 5, 2015 10 anos Olá, boa noite pessoal, peço por gentileza uma ajuda de vocês novamente. Tenho esse script, que quando puxar todas as alavancas remove as grade do lugar. No entanto o script está com um bug, que a alavanca fica "emperrada" ela não vira para o outro lado (id 1946), e não está sendo necessário puxar todas as alavanca. local config = { storage = 9481, time = 1, --Tempo, em minutos, para as grades reaparecem. gateId = 3511, --ID da grade. positions = { gate = { {x = 632, y = 1009, z = 7}, --Posições das grades. {x = 632, y = 1010, z = 7}, {x = 632, y = 1011, z = 7}, }, alavancas = { {x = 634, y = 1006, z = 7}, --Posições das alavancas. {x = 634, y = 1007, z = 7}, {x = 634, y = 1008, z = 7}, }, }, } function onUse(cid, item) for _, position in pairs(config.positions.gate) do local _item = getTileItemById(position, config.gateId).uid if _item < 1 then return doPlayerSendCancel(cid, "The gates are already open.") end end if not getItemAttribute(item.uid, "used") then setGlobalStorageValue(config.storage, getGlobalStorageValue(config.storage) < 1 and 1 or getGlobalStorageValue(config.storage) + 1) if #config.positions.alavancas == getGlobalStorageValue(config.storage) then for _, position in pairs(config.positions.gate) do local _item = getTileItemById(position, config.gateId).uid if _item > 0 then doRemoveItem(_item) doSendMagicEffect(position, CONST_ME_MAGIC_BLUE) end end setGlobalStorageValue(config.storage, -1) broadcastMessage("The gates were opened!") for _, position in pairs(config.positions.alavancas) do local _item = getTileItemById(position, item.itemid).uid if _item > 0 then doItemSetAttribute(_item, "used", false) end end addEvent(function() for _, position in pairs(config.positions.gate) do local _item = getTileItemById(position, config.gateId).uid if _item < 1 then doCreateItem(config.gateId, 1, position) doSendMagicEffect(position, CONST_ME_MAGIC_BLUE) end end end, config.time * 1000) else doItemSetAttribute(item.uid, "used", true) doPlayerSendTextMessage(cid, 27, #config.positions.alavancas - getGlobalStorageValue(config.storage).." lever(s) left.") end else return doPlayerSendCancel(cid, "This lever was already used.") end return true end Editado Junho 5, 2015 10 anos por Mdcrf (veja o histórico de edições)
Postado Junho 5, 2015 10 anos antes do último 'return true' adc essa linha: doTransformItem(item.uid, item.itemid == 1945 and 1946 or 1945) [*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*] DISCORD: vodkart#6090
Postado Junho 5, 2015 10 anos Autor Ele até mudou de lado, porém não tem como remover novamente a grade. Teria como colocar só quando estiver tudo 1945 dela funcionar ? E quando estiver 1946 ela apenas voltar pro 1945 ?
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.