Ir para conteúdo
  • Cadastre-se

Pedido: Mostrar dia VIP no CLIENTE 8.6


Posts Recomendados

Meu OT 8.60 possui sistema de VIP, porém configuramos para a PREMMY ser de graça. Então quando o player abre sua conta aparece no cliente "GRATIS PREMIUM ACCOUNT".

Queria que em vez de mostrar o status de PREMIUM ele mostrasse os DIAS VIP que o player possui.

Outra obs: Meu sistema VIP é por PLAYER e não por ACCOUNT. Teria como bolar algum script que funcione? Meu servidor é 8.60 para Windows.

Link para o post
Compartilhar em outros sites

>> meu sistema VIP é por PLAYER e não por ACCOUNT.

A source ela checa os dias PREMIUM da account e nao de apenas um player que esta na account, se fosse da account toda seria mais facil.

discord.pngDiscord: vankk #7765

Precisando de ajuda? Entre em contato comigo via Discord.

 

Muitos vêm seus muitos dias de glória, mas poucos vêm seus muitos dias de luta.

Link para o post
Compartilhar em outros sites

>> meu sistema VIP é por PLAYER e não por ACCOUNT.

A source ela checa os dias PREMIUM da account e nao de apenas um player que esta na account, se fosse da account toda seria mais facil.

Teria como eu mudar meu sistema de VIP de PLAYERS para ACCOUNTS? O foda é que tem a PREMMIUM... Como separar VIP e PREMMIUM? o.O

Link para o post
Compartilhar em outros sites

discord.pngDiscord: vankk #7765

Precisando de ajuda? Entre em contato comigo via Discord.

 

Muitos vêm seus muitos dias de glória, mas poucos vêm seus muitos dias de luta.

Link para o post
Compartilhar em outros sites

1 erro - o arquivo vipTilee.lua não existe, da uma olhada no movements.XML e edita.
2 erro - o lua register não foi registrado corretamente 
3 erro - problema na função onTime

Simplificando, vc instalou tudo errado praticamente XD

tô pelo celular, tenta rever o nomes dos arquivos que estão registrados nos XML.  E se contínuar com erros, posta aí. 

Editado por vankk (veja o histórico de edições)

discord.pngDiscord: vankk #7765

Precisando de ajuda? Entre em contato comigo via Discord.

 

Muitos vêm seus muitos dias de glória, mas poucos vêm seus muitos dias de luta.

Link para o post
Compartilhar em outros sites

1 erro - o arquivo vipTilee.lua não existe, da uma olhada no movements.XML e edita.
2 erro - o lua register não foi registrado corretamente 
3 erro - problema na função onTime

Simplificando, vc instalou tudo errado praticamente XD

tô pelo celular, tenta rever o nomes dos arquivos que estão registrados nos XML.  E se contínuar com erros, posta aí. 

Pelo que andei lendo, o bug do onTime é porque esse script que você mandou é antigo... Atualmente o TIME é feito de forma diferente. Sabe me dizer como deveria deixar para funcionar?

Link para o post
Compartilhar em outros sites

muda function onTimer() para function onTime().

discord.pngDiscord: vankk #7765

Precisando de ajuda? Entre em contato comigo via Discord.

 

Muitos vêm seus muitos dias de glória, mas poucos vêm seus muitos dias de luta.

Link para o post
Compartilhar em outros sites

Acho que você errou um dos comandos...

Poderia ser mais especifico?

discord.pngDiscord: vankk #7765

Precisando de ajuda? Entre em contato comigo via Discord.

 

Muitos vêm seus muitos dias de glória, mas poucos vêm seus muitos dias de luta.

Link para o post
Compartilhar em outros sites

Poderia ser mais especifico?

Achei que tinha escrito igual os dois, mas vi que tem diferença, um é TIMER ou TIME... Apenas isso de diferença?

Link para o post
Compartilhar em outros sites

Sim.

discord.pngDiscord: vankk #7765

Precisando de ajuda? Entre em contato comigo via Discord.

 

Muitos vêm seus muitos dias de glória, mas poucos vêm seus muitos dias de luta.

Link para o post
Compartilhar em outros sites

Parece que sim, completo.

discord.pngDiscord: vankk #7765

Precisando de ajuda? Entre em contato comigo via Discord.

 

Muitos vêm seus muitos dias de glória, mas poucos vêm seus muitos dias de luta.

Link para o post
Compartilhar em outros sites

Posta os erros que esta dando, talvez seja "arrumavel".

discord.pngDiscord: vankk #7765

Precisando de ajuda? Entre em contato comigo via Discord.

 

Muitos vêm seus muitos dias de glória, mas poucos vêm seus muitos dias de luta.

Link para o post
Compartilhar em outros sites

Voce copiou errado, provavelmente. Esta faltando "end" para fechar o script. Posta os respectivos script no topico.

Editado por vankk (veja o histórico de edições)

discord.pngDiscord: vankk #7765

Precisando de ajuda? Entre em contato comigo via Discord.

 

Muitos vêm seus muitos dias de glória, mas poucos vêm seus muitos dias de luta.

Link para o post
Compartilhar em outros sites
Imagem dos bugs:

zAQCfxi.jpg

Usei esse sistema de VIP Account: http://www.tibiaking.com/forum/topic/34334-vip-system-by-account-10-by-kydrai/

data/lib/vipAccount.lua:

 

--[[
        Name: Vip System by Account
        Version: 1.0
        Author: Kydrai
        Forum: http://www.xtibia.com/forum/topic/136543-vip-system-by-account-v10/
       
        [Functions]
                -- Install
                installVip()
               
                -- By Account
                doTeleportPlayersByAccount(acc, topos)
                getVipTimeByAccount(acc)
                setVipTimeByAccount(acc, time)
                getVipDaysByAccount(acc)
                isVipAccount(acc)
                addVipDaysByAccount(acc, days)
                doRemoveVipDaysByAccount(acc, days)
                getVipDateByAccount(acc)
               
                -- By Player
                doTeleportPlayers(cid, topos)
                getVipTime(cid)
                setVipTime(cid, time)
                getVipDays(cid)
                isVip(cid)
                addVipDays(cid, days)
                doRemoveVipDays(cid, days)
                getVipDate(cid)
]]--
-- Install
function installVip()
        if db.executeQuery("ALTER TABLE `accounts` ADD viptime INT(15) NOT NULL DEFAULT 0;") then
                print("[Vip System] Vip System instalado com sucesso!")
                return TRUE
        end
        print("[Vip System] Não foi possível instalar o Vip System!")
        return FALSEend
-- By Account
function doTeleportPlayersByAccount(acc, topos)
        if db.executeQuery("UPDATE `players` SET `posx` = "..topos.x..", `posy` = "..topos.y..", `posz` = "..topos.z.." WHERE `account_id` = "..acc..";") then
                return TRUE
        end
        return FALSEend
function getVipTimeByAccount(acc)
        local vip = db.getResult("SELECT `viptime` FROM `accounts` WHERE `id` = "..acc..";")
        if vip:getID() == -1 then
                print("[Vip System] Account not found!")
                return FALSE
        end
        return vip:getDataInt("viptime")
end
function setVipTimeByAccount(acc, time)
        if db.executeQuery("UPDATE `accounts` SET `viptime` = "..time.." WHERE `id` = "..acc..";") then
                return TRUE
        end
        return FALSEend
function getVipDaysByAccount(acc)
        local vipTime = getVipTimeByAccount(acc)
        local timeNow = os.time()
        local days = math.ceil((vipTime - timeNow)/(24 * 60 * 60))
        return days <= 0 and 0 or daysend
function isVipAccount(acc)
        return getVipDaysByAccount(acc) > 0 and TRUE or FALSEend
function addVipDaysByAccount(acc, days)
        if days > 0 then
                local daysValue = days * 24 * 60 * 60
                local vipTime = getVipTimeByAccount(acc)
                local timeNow = os.time()
                local time = getVipDaysByAccount(acc) == 0 and (timeNow + daysValue) or (vipTime + daysValue)
                setVipTimeByAccount(acc, time)
                return TRUE
        end
        return FALSEend
function doRemoveVipDaysByAccount(acc, days)
        if days > 0 then
                local daysValue = days * 24 * 60 * 60
                local vipTime = getVipTimeByAccount(acc)
                local time = vipTime - daysValue
                setVipTimeByAccount(acc, (time <= 0 and 1 or time))
                return TRUE
        end
        return FALSEend
function getVipDateByAccount(acc)
        if isVipAccount(acc) then
                local vipTime = getVipTimeByAccount(acc)
                return os.date("%d/%m/%y %X", vipTime)
        end
        return FALSEend
-- By Player
function doTeleportPlayers(cid, topos)
        doTeleportPlayersByAccount(getPlayerAccountId(cid), topos)
end
function getVipTime(cid)
        return getVipTimeByAccount(getPlayerAccountId(cid))
end
function setVipTime(cid, time)
        return setVipTimeByAccount(getPlayerAccountId(cid), time)
end
function getVipDays(cid)
        return getVipDaysByAccount(getPlayerAccountId(cid))
end
function isVip(cid)
        return isVipAccount(getPlayerAccountId(cid))
end
function addVipDays(cid, days)
        return addVipDaysByAccount(getPlayerAccountId(cid), days)
end
function doRemoveVipDays(cid, days)
        return doRemoveVipDaysByAccount(getPlayerAccountId(cid), days)
end
function getVipDate(cid)
        return getVipDateByAccount(getPlayerAccountId(cid))
end



data/talkactions/scripts/vipaccgod.lua:
 

function onSay(cid, words, param, channel)
        local t = param:explode(",")
        local name, days = t[1], tonumber(t[2])
        if words == "/installvip" then
                if installVip() then
                        doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Vip System instalado com sucesso!")
                else
                        doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Não foi possível instalar o Vip System!")
                end
        elseif words == "/addvip" then
                if name then
                        if days then
                                local acc = getAccountIdByName(name)
                                if acc ~= 0 then
                                        addVipDaysByAccount(acc, days)
                                        doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você adicionou "..days.." dia(s) de vip ao "..name..", agora ele possui "..getVipDaysByAccount(acc).." dia(s) de vip.")
                                else
                                        doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Este player não existe.")
                                end
                        else
                                doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você não pode adicionar essa quantidade de dia(s) de vip.")
                        end
                else
                        doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você não pode adicionar dia(s) de vip a este player.")
                end
        elseif words == "/removevip" then
                if name then
                        if days then
                                local acc = getAccountIdByName(name)
                                if acc ~= 0 then
                                        doRemoveVipDaysByAccount(acc, days)
                                        doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você retirou "..days.." dia(s) de vip do "..name..", agora ele possui "..getVipDaysByAccount(acc).." dia(s) de vip.")
                                else
                                        doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Este player não existe.")
                                end
                        else
                                doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você não pode retirar essa quantidade de dia(s) de vip.")
                        end
                else
                        doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você não pode retirar dia(s) de vip a este player.")
                end
        elseif words == "/checkvip" then
                if name then
                        local acc = getAccountIdByName(name)
                        if acc ~= 0 then
                                local duration = getVipDateByAccount(acc)
                                doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "O "..name.." possui "..getVipDaysByAccount(acc).." dias de vip."..(duration and (" Ela irá durar até "..duration..".") or ""))
                        else
                                doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Este player não existe.")
                        end
                else
                        doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você não pode visualizar os dias de vip a este player.")
                end
        end
        return TRUEend



data/talkactions/scripts/vipaccplayer.lua:
 

function onSay(cid, words, param, channel)
        if words == "/buyvip" then
                local price = 1000000
                local days = 30
                if doPlayerRemoveMoney(cid, price) then
                        addVipDays(cid, days)
                        doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você adicionou "..days.." dia(s) de vip, agora você possui "..getVipDays(cid).." dia(s) de vip.")
                else
                        doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você precisa de "..price.." para adicionar "..days.." dia(s) de vip.")
                end
               
        elseif words == "/vipdays" then
                local duration = getVipDate(cid)
                doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você possui "..getVipDays(cid).." dia(s) de vip."..(duration and (" Ela irá durar até "..duration..".") or ""))
        end
        return TRUEend



data/movements/scripts/viptile.lua:
 

function onStepIn(cid, item, position, fromPosition)
        if isVip(cid) == FALSE then
                doTeleportThing(cid, fromPosition, false)
                doSendMagicEffect(position, CONST_ME_MAGIC_BLUE)
                doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Somente players vip podem passar.")
        end
        return TRUEend



data/creaturescripts/scripts/viplogin.lua:

 

function onLogin(cid)
        local vip = isVip(cid)
        if getVipTime(cid) > 0  and vip == FALSE then
                local townid = 1
                doPlayerSetTown(cid, townid)
                local templePos = getTownTemplePosition(getPlayerTown(cid))
                doTeleportThing(cid, templePos, false)
                setVipTime(cid, 0)
                doTeleportPlayers(cid, templePos)
                doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Sua Vip acabou!")
        elseif vip == TRUE then
                local duration = getVipDate(cid)
                doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você possui "..getVipDays(cid).." dia(s) de vip."..(duration and (" Ela irá durar até "..duration..".") or ""))
        end
        return TRUEend
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.

  • Conteúdo Similar

    • Por victorleekrs
      Ola. Gostaria de um sistema de golden vip.
      O sistema seria o seguinte. O player compra vip normal, por item dentro do server, ao usar o 3 vip normal ele tem acesso a Vip normal e a uma nova area golden vip. O tempo de golden vip dele é o tempo de vip que ele tiver. 
    • Por Adm Junyor
      Dae galera!
      como faço para quando um player criar account (pelo site) ganhar 2 dias de vip gratis?

      Dou Rep+
    • Por Digoshow
      Vou tentar explicar aqui bem certo o que eu estou procurando, e que eu nao acho, e nao consigo resolver este problema.
       
      No meu ot, tem o comando !buyvip e o comando !buypremium, ate ai tudo bem, eu quero que esses comandos continuem, porque o !buyvip serve para as pessoas terem acesso a VIP 1, e o !buypremium serve para as pessoas poderem usarem addons, e eu quero colocar para vender Vip Days em meu shop, para que pessoas possa entrar em area VIP (DONATE), mais aqui comeca o erro.
      Quando eu coloco por exemplo, 30 dias vip days no shop ou 1 dia tanto faz, a pessoa vai la compra 30 dias vip days, os pontos sai sozinhos tudo certinho, so que quando vai ve, a pessoa ta com mais de milhoes de vip days na conta, sendo que ela so compra 30 dias.
       
      Como eu arrumo isso, obrigado quem puder ou tentar me ajudar REP+ .
    • Por NewCore
      Opa blz? Primeiramente desculpe se estou postando em área errada, se puderem mover agradeço.
       
       
      Seguinte não manjo muito de ot tal, mas preciso de certo scripts.
       
       
      Primeiro script: Há algum script de criar uma potion que ao dar use ela renova a stamina? E só poderia usar uma vez.
       
       
      Segundo script: Preciso de uma pot de red skull remover, queria ela infinita e só poderia usar ela a cada um dia.
       
       
       
      Bom são esses scripts que preciso, sinceramente não sei como criar as coisas acima, também não sei se tudo isso acima seria coisas de scripts.
       
      Quem ajudar a resolver esses erros tem 2 rep+ garantido.
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo