Postado Outubro 11, 2015 10 anos Muito bom! Funcionou ótimamente bem aqui Pra quem quiser usar para dar dias de premium grátis, deixo aqui um script já usando essa nova função... function onLogin(cid) local storage = 55550 local days = 2 if getAccountStorageValue(getPlayerAccountId(cid), storage) <= 0 then if getPlayerPremiumDays(cid) >= 360 then return false else doPlayerAddPremiumDays(cid, days) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You received "..days.." days of premium account.") end setAccountStorageValue(getPlayerAccountId(cid), storage, 1) end return true end
Postado Dezembro 24, 2015 9 anos Desculpa reviver o tópico, porém eu estava criando o evento de natal, e fui utilizar a função, e reparei que quando ela seta a primeira storage, vai tudo beleza, mas quando usa UPDATE na função, a logica e a sintaxe está incorreta: db.executeQuery("UPDATE `account_storage` SET `value` = " .. accid .. " WHERE `key`=" .. key .. " LIMIT 1');") Aonde o certo é: db.executeQuery("UPDATE `account_storage` SET `value` = " .. value .. " WHERE `key`=" .. key .. " AND `account_id` = " .. accid .. " LIMIT 1;") Repare que removi um ') do final e troquei o valor do campo value por value, antes estava accid e adicionei um AND onde filtra pela conta do player. Segue a função corrigida para os preguiçosos: function setAccountStorageValue(accid, key, value) local getvalue = db.getResult("SELECT `value` FROM `account_storage` WHERE `account_id` = " .. accid .. " and `key` = " .. key .. " LIMIT 1;") if(getvalue:getID() ~= -1) then db.executeQuery("UPDATE `account_storage` SET `value` = " .. value .. " WHERE `key`=" .. key .. " AND `account_id` = " .. accid .. " LIMIT 1;") getvalue:free() return 1 else db.executeQuery("INSERT INTO `account_storage` (`account_id`, `key`, `value`) VALUES (" .. accid .. ", " .. key .. ", '"..value.."');") return 1 end end
Postado Janeiro 2, 2016 9 anos Quando vou instalar a query no sqlite dá este erro: Cannot execute query on undefined or invalid database. Pokémon Dust Evolution É aonde começa sua nova aventura!! Facebook Verifique Atualizações
Postado Agosto 26, 2018 7 anos Estou tentando utilizar este código, porém estou com o seguinte problema: quando utilizo o código informado, o server da vário erros e não abre function getAccountStorageValue(accid, key) local value = db.getResult("SELECT `value` FROM `account_storage` WHERE `account_id` = " .. accid .. " and `key` = " .. key .. " LIMIT 1;") if(value:getID() ~= -1) then return value:getDataInt("value") else return -1 end value:free() end quando utilizo este que adaptei, ele só me retorna o valor -1 e nunca o valor da key, poderia ajudar? function getAccountStorageValue(accid, key) local resultId = db.storeQuery("SELECT `value` FROM `account_storage` WHERE `account_id` = " .. accid .. " and `key` = " .. key) if resultId ~= false then local val = result.getInt(resultId, "value") result.free(resultId) return val end return -1 end Problema solucionado
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.