Ir para conteúdo
Banner com Efeitos

Featured Replies

Postado

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.

image.thumb.png.b1491b3eb6cef90c426b523cc7ddc964.png

 

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

 

  • Respostas 9
  • Visualizações 793
  • Created
  • Última resposta

Top Posters In This Topic

Posted Images

Postado

@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
  • 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

@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 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.

Visitante
Responder

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Conteúdo Similar

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.7k

Informação Importante

Confirmação de Termo