Postado Setembro 23, 2018 6 anos Como o titulo já diz, é que quando você logue sua conta e aparecer a lista de personagens mostrar quantos dias de premium account te resta, no caso ficaria assim, em Account Status se eu comprasse uma premium de 10 dias ia ficar Account Status: 10 Dia De Premium Account e em Free Account quando você comprasse uma premium iria ficar Premium Account obvio, a cada dia que se passasse o número ia diminuindo até os dias acabar e quando os dias acabasse iria mudar de Premium Account para Free Account. Eu não sei onde que fica meu sistema de premium, mais vou deixar 2 arquivos ai em baixo que eu acho que sejam eles. Arquivos Localizados Na Pasta Lib 048-ppoints.lua Spoiler Spoiler function getAccountPoints(cid) local res = db.getResult('select `premium_points` from accounts where name = \''..getPlayerAccount(cid)..'\'') if(res:getID() == -1) then return false end local ret = res:getDataInt("premium_points") res:free() return tonumber(ret) end function doAccountAddPoints(cid, count) return db.query("UPDATE `accounts` SET `premium_points` = '".. getAccountPoints(cid) + count .."' WHERE `name` ='"..getPlayerAccount(cid).."'") end function doAccountRemovePoints(cid, count) return db.query("UPDATE `accounts` SET `premium_points` = '".. getAccountPoints(cid) - count .."' WHERE `name` ='"..getPlayerAccount(cid).."'") end 049-vipsys.lua Spoiler vip = { name = "Vip system"; author = "Mock"; version = "1.0.0.0"; query="ALTER TABLE `accounts` ADD `vip_time` INTEGER"; query2="ALTER TABLE `accounts` ADD `vip_time` INT(15) NOT NULL" } function vip.setTable() dofile('config.lua') if sqlType == "sqlite" then db.executeQuery(vip.query) else db.executeQuery(vip.query2) end end function vip.getVip(cid) assert(tonumber(cid),'Parameter must be a number') if isPlayer(cid) == FALSE then error('Player don\'t find') end; ae = db.getResult("SELECT `vip_time` FROM `accounts` WHERE `name` = '"..getPlayerAccount(cid).."';") if ae:getID() == -1 then return 0 end local retee = ae:getDataInt("vip_time") or 0 ae:free() return retee end function vip.getVipByAcc(acc) assert(acc,'Account is nil') local a = db.getResult("SELECT `vip_time` FROM `accounts` WHERE `name` = '"..acc.."';") if a:getID() ~= -1 then return a:getDataInt("vip_time") or 0, a:free() else error('Account don\'t find.') end end function vip.setVip(cid,time) dofile("config.lua") assert(tonumber(cid),'Parameter must be a number') assert(tonumber(time),'Parameter must be a number') if isPlayer(cid) == FALSE then error('Player don\'t find') end; db.executeQuery("UPDATE `"..sqlDatabase.."`.`accounts` SET `vip_time` = '"..(os.time()+time).."' WHERE `accounts`.`name` ='".. getPlayerAccount(cid).."';") end function vip.getVipByAccount(acc) assert(acc,'Account is nil') return db.getResult("SELECT `vip_time` FROM `accounts` WHERE `name` = '"..acc.."';"):getDataInt("vip_time") or 0 end function vip.hasVip(cid) assert(tonumber(cid),'Parameter must be a number') if isPlayer(cid) == FALSE then return end; local t = vip.getVip(cid) or 0 if os.time(day) < t then return TRUE else return FALSE end end function vip.hasVips(cid) assert(tonumber(cid),'Parameter must be a number') if isPlayer(cid) == FALSE then return end; local t = vip.getVip(cid) if os.time(day) < t then return TRUE else return FALSE end end function vip.accountHasVip(acc) assert(acc,'Account is nil') if os.time() < vip.getVipByAccount(acc) then return TRUE else return FALSE end end function vip.getDays(days) return (3600 * 24 * days) end function vip.addVipByAccount(acc,time) assert(acc,'Account is nil') assert(tonumber(time),'Parameter must be a number') local a = vip.getVipByAcc(acc) a = os.difftime(a,os.time()) if a < 0 then a = 0 end; a = a+time return vip.setVipByAccount(acc,a) end function vip.setVipByAccount(acc,time) dofile("config.lua") assert(acc,'Account is nil') assert(tonumber(time),'Parameter must be a number') db.executeQuery("UPDATE `accounts` SET `vip_time` = '"..(os.time()+time).."' WHERE `accounts`.`name` ='"..acc.."';") return TRUE end function vip.returnVipString(cid) assert(tonumber(cid),'Parameter must be a number') if isPlayer(cid) == TRUE then return os.date("%d %B %Y %X ", vip.getVip(cid)) end end
Postado Setembro 23, 2018 6 anos @Emanueldk É so deixar no config.lua freePremium = false E no caso do shop voce cria uma oferta que de a premium desejada ou voce pode adicionar manualmente pelo phpmyadmin os dias premium.
Postado Setembro 23, 2018 6 anos Autor 13 minutos atrás, Mazarati disse: @Emanueldk É so deixar no config.lua freePremium = false E no caso do shop voce cria uma oferta que de a premium desejada ou voce pode adicionar manualmente pelo phpmyadmin os dias premium. eu acho que você nunca fez isso assim que você coloca freePremium = false, ele deixa de ser Gratis Premium Account para ficar Free account e quando você coloca uma oferta de premium no shop assim que você compra ele não mostra no Account Status
Postado Setembro 23, 2018 6 anos @Emanueldk O false deixa free account para poder colocar os dias premium... para poder adicionar uma oferta no shop pro player comprar os dias se nao é essa a questao qual é? Seja especifico se no caso voce baixou um site que apareça o status account vip troque para aparecer apenas os de premium account tirando isso se nao esta dando certo voce esta fazendo errado. Seu problema pode estar no envio da oferta para o char o que é um script que tem no forum ja resolve e como eu disse teste no phpmyadmin colocando dias premium Editado Setembro 23, 2018 6 anos por Mazarati (veja o histórico de edições)
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.