Ir para conteúdo
  • Cadastre-se

(Resolvido)VIP ACCOUNT BY KILLUA [AJUDA]


Ir para solução Resolvido por Vodkart,

Posts Recomendados

Bom galera estou utilizando um sistema de vip account do killua, gostei muito porem deu alguns erros no meu server e queria ajuda para concertar

Seguinte quando eu tento falar o comando /vip remove da o seguinte erro no tfs e nao retira quantidade de dias vip que coloquei no comando do pleyer, se puderem ajudar desde ja obrigado

[01/06/2017 03:02:52] OTSYS_SQLITE3_PREPARE(): SQLITE ERROR: near "LIMIT": syntax error (UPDATE "killua_vip_time" SET "time" = '1498716172' WHERE "account_id" = '7' LIMIT 1)

Script colocado em data/lib/Killua VIP System.lua

Spoiler

-- Account VIP System criado por Vitor Bertolucci - Killua


function installVipSystem()
      local func = db.query or db.executeQuery

      if func("CREATE TABLE `killua_vip_time` (`account_id` int(11) NOT NULL default '0', `time` varchar(255) NOT NULL default '0')") then
            return print(os.date("%X").." - Killua VIP System instalado com sucesso.") and true

      end
      return print(os.date("%X").." - Killua VIP System ja esta instalado.") and false
end


function getAccountVipTime(accid)
      local time_ = db.getResult("SELECT `time` FROM `killua_vip_time` WHERE `account_id` = '"..accid.."' LIMIT 1")
      if time_:getID() ~= -1 then
            return time_:getDataInt("time")
      end
      return false
end


function setAccountVipTime(accid, time)
      local func = db.query or db.executeQuery
      local time_ = db.getResult("SELECT `time` FROM `killua_vip_time` WHERE `account_id` = '"..accid.."' LIMIT 1")
      if time_:getID() ~= -1 then
            func("UPDATE `killua_vip_time` SET `time` = '"..time.."' WHERE `account_id` = '"..accid.."' LIMIT 1")
            time_:free()
            return true
      end
      return func("INSERT INTO `killua_vip_time` (`account_id`, `time`) VALUES ('"..accid.."', '"..time.."')")
end


function isVip(cid)
      if getAccountVipTime(getPlayerAccountId(cid)) then
            return getAccountVipTime(getPlayerAccountId(cid)) >= os.time()
      end
      return false
end


function doPlayerSetVipDays(cid, days)
      if days and tonumber(days) and tonumber(days) >= 0 then
            if tonumber(days) == 0 then
                  return setAccountVipTime(getPlayerAccountId(cid), days)
            end
            return setAccountVipTime(getPlayerAccountId(cid), (os.time() + (days * 60 * 60 * 24)))
      end
      return print("Aviso: Nao foi possivel executar a funcao doPlayerAddVipDays. O parametro days deve ser um numero.")
end


function getPlayerVipDays(cid)
      if getAccountVipTime(getPlayerAccountId(cid)) then
            return getAccountVipTime(getPlayerAccountId(cid)) > 0 and math.ceil((getAccountVipTime(getPlayerAccountId(cid)) - os.time()) / 60 / 60 / 24) or 0
      end
      return 0
end

script colocado em data/talkactions

Spoiler

-- Account VIP System criado por Vitor Bertolucci - Killua


function onSay(cid, words, param, channel)


      if param == "" then
            return doPlayerSendCancel(cid, "Utilize os parametros corretos.")
      end


      local t = string.explode(param, ',')


      if t[1] ~= "days" and getPlayerGroupId(cid) < 4 then
            return doPlayerSendCancel(cid, "Comandos disponiveis apenas para gods. Player podem usar /vip days")
      end


      if t[1] == "days" then
            if isVip(cid) then
                  doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Voce tem "..getPlayerVipDays(cid).." dias de VIP.")
            else
                  doPlayerSendCancel(cid, "Voce nao tem VIP.")
            end
      elseif t[1] == "add" then
            if getPlayerByName(t[2]) and tonumber(t[3]) and tonumber(t[3]) > 0 then
                  doPlayerSetVipDays(getPlayerByName(t[2]), getPlayerVipDays(getPlayerByName(t[2])) + tonumber(t[3]))
                  doPlayerSendTextMessage(getPlayerByName(t[2]), 25, "Voce recebeu "..t[3].." dias de VIP.")
                  doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, t[3].." dias de VIP adicionados para "..t[2])
            else
                  doPlayerSendCancel(cid, "Voce fez algo errado! Utilize /vip add, PLAYERNAME, dias.")
            end
      elseif t[1] == "remove" then
            if getPlayerByName(t[2]) and tonumber(t[3]) and tonumber(t[3]) > 0 then
                  if isVip(getPlayerByName(t[2])) then
                        if getPlayerVipDays(getPlayerByName(t[2])) > tonumber(t[3]) then
                              doPlayerSetVipDays(getPlayerByName(t[2]), getPlayerVipDays(getPlayerByName(t[2])) - tonumber(t[3]))
                              doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, t[3].." dias de vip removidos de "..t[2])
                              doPlayerSendTextMessage(getPlayerByName(t[2]), MESSAGE_STATUS_WARNING, "Fora retirados "..t[3].." dias de VIP da sua account.")
                        else
                              doPlayerSetVipDays(getPlayerByName(t[2]), 0)
                              doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, t[2].." tinha menos que "..t[3].." dias de VIP. A VIP dele foi removida.")
                              doPlayerSendTextMessage(cid, MESSAGE_STATUS_WARNING, "Sua VIP acabou.")
                        end
                  else
                        doPlayerSendCancel(cid, t[2].." nao eh VIP.")
                  end
            else
                  doPlayerSendCancel(cid, "Voce fez algo errado! Utilize /vip remove, PLAYERNAME, dias.")
            end
      elseif t[1] == "check" then
            if getPlayerByName(t[2]) then
                  if isVip(getPlayerByName(t[2])) then
                      doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, t[2].." tem "..getPlayerVipDays(getPlayerByName(t[2])).." dias de VIP Account.")
                  else
                        doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, t[2].." nao eh VIP.")
                  end
           else
                doPlayerSendCancel(t[2].." Nao esta online ou nao existe!")
           end
      elseif t[1] == "install" then
            if installVipSystem() then
                  doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "O sistema foi instalado com sucesso.")
            else
                  doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "O sistema ja esta instalado.")
            end
      end
      return true
end

 

Editado por vitors23 (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
  • Solução
function installVipSystem()
      local func = db.query or db.executeQuery
      if func("CREATE TABLE `killua_vip_time` (`account_id` int(11) NOT NULL default '0', `time` varchar(255) NOT NULL default '0')") then
            return print(os.date("%X").." - Killua VIP System instalado com sucesso.") and true
      end
      return print(os.date("%X").." - Killua VIP System ja esta instalado.") and false
end
function getAccountVipTime(accid)
      local time_ = db.getResult("SELECT `time` FROM `killua_vip_time` WHERE `account_id` = "..accid)
      if time_:getID() ~= -1 then
            return time_:getDataInt("time")
      end
      return false
end
function setAccountVipTime(accid, time)
      local func = db.query or db.executeQuery
      local time_ = db.getResult("SELECT `time` FROM `killua_vip_time` WHERE `account_id` = "..accid)
      if time_:getID() ~= -1 then
            func("UPDATE `killua_vip_time` SET `time` = '"..time.."' WHERE `account_id` = "..accid)
            time_:free()
            return true
      end
      return func("INSERT INTO `killua_vip_time` (`account_id`, `time`) VALUES ('"..accid.."', '"..time.."')")
end
function isVip(cid)
      if getAccountVipTime(getPlayerAccountId(cid)) then
            return getAccountVipTime(getPlayerAccountId(cid)) >= os.time()
      end
      return false
end
function doPlayerSetVipDays(cid, days)
      if days and tonumber(days) and tonumber(days) >= 0 then
            if tonumber(days) == 0 then
                  return setAccountVipTime(getPlayerAccountId(cid), days)
            end
            return setAccountVipTime(getPlayerAccountId(cid), (os.time() + (days * 60 * 60 * 24)))
      end
      return print("Aviso: Nao foi possivel executar a funcao doPlayerAddVipDays. O parametro days deve ser um numero.")
end
function getPlayerVipDays(cid)
      if getAccountVipTime(getPlayerAccountId(cid)) then
            return getAccountVipTime(getPlayerAccountId(cid)) > 0 and math.ceil((getAccountVipTime(getPlayerAccountId(cid)) - os.time()) / 60 / 60 / 24) or 0
      end
      return 0
end

 

vodkart_logo.png

[*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*]

 

DISCORDvodkart#6090

 

Link para o post
Compartilhar em outros sites

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

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo