#DeltaSCR Posted May 4, 2019 Share Posted May 4, 2019 Então, surgiu-me uma dúvida em um código em desenvolvimento - o player quando aperta pra comprar uma determinada skin, se o mesmo não não tem dinheiro, a principio não ocorre nada, porém se ele clicar uma segunda vez, a skin é setada nele, com uma informação de que ele já tinha a mesma skin. Então basicamente o que acontece: Primeiro a skin é setada no banco de dados, e não acontece nada com o player, mas já na segunda vez, a tabela é consultada, setando automaticamente a skin pro player. function deltascrbuy(skinID, price, skinName) --// ESTÃO VINDO DO CLIENT local playerMoney = getPlayerMoney(source) local playerAccount = getAccountName(getPlayerAccount(source)) if updateSkins(source, playerAccount, tostring(skinID)) then if playerMoney >= price then takePlayerMoney(source, price) setElementModel(source, skinID) outputChatBox("INFO: #FFFFFFVocê comprou a "..skinName.." por R$"..price.."", source, 200, 50, 0, true) else outputChatBox("ERRO: #FFFFFFVocê não possui a quantia de R$"..price.." para comprar a "..skinName.."", source, 200, 50, 0, true) end else setElementModel(source, skinID) end end addEvent("DeltaSCR:Buy", true) addEventHandler("DeltaSCR:Buy", root, deltascrbuy) function updateSkins(thePlayer, data, skinID) --// AQUI A FUNÇÃO QUE VERIFICA A TABELA local db = executeSQLQuery("SELECT * FROM PurchasedSkins") for i = 1, #db do if db[i].AccountName == data then local skinData = db[i].Models if string.find (skinData, skinID) then outputChatBox("INFO: #FFFFFFVocê já possuia essa skin, então ela foi setada em você", thePlayer, 200, 50, 0, true) return false else skinData = db[i].Models..","..skinID executeSQLQuery ("UPDATE PurchasedSkins SET Models=? WHERE AccountName=?", skinData, data) return true end end end executeSQLQuery ("INSERT INTO PurchasedSkins(AccountName, Models) VALUES(?, ?)", data, skinID) return true end Link to comment
#DeltaSCR Posted May 4, 2019 Author Share Posted May 4, 2019 Resolvido Era erro na lógica mesmo; Moderadores, se quiserem podem fechar o tópico Link to comment
DNL291 Posted May 4, 2019 Share Posted May 4, 2019 Nunca seja inimigo da lógica Trancado. 1 Link to comment
Recommended Posts