Ir para conteúdo
  • 0

Use Item E Adiciona Vip_Time


Pergunta

Olá pessoal, estou com um pequeno probleminha, eu tenho o meu ot faz mais de 4 meses...

porem agora que consegui arruma uns eventos nele..

 

so que agora eu queria criar um item para adicionar vip_time, e ia por esse item como recompensa nos eventos certo?

So que, o meu systema de vip nao tem storange... pelo menos eu procurei e nao achei.

Se alguem puder me ajudar editando um script para adicionar vip time REP+

 

 

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

 

 

esse é o meu systema de vip.

Esse arquivo pode ser localizado em data/lib.

Pensei em mudar de systema , so que ja tem muitos players de vip no servidor, porque é comprado no site (gesior)

que tudo isso ja veio junto com o ot, mais agora estou precisando que um item adicione isso, pelo menos 1 dia de vip!

espero que quem ler tenha entendido.

Link para o comentário
https://xtibia.com/forum/topic/187703-use-item-e-adiciona-vip_time/
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0
function onUse(cid, item, pos)
local days = 1
vip.addVipByAccount(getPlayerAccount(cid) ,vip.getDays(days))
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Foram adicionados "..tonumber(days).." dias de vip na sua account.")
doRemoveItem(item.uid, 1)
return true
end

Link para o comentário
https://xtibia.com/forum/topic/187703-use-item-e-adiciona-vip_time/#findComment-1275361
Compartilhar em outros sites

  • 0

Aiiiiiiii meu Deus do ceu, tem gente que nao ler mesmo o que agente escreve ne? so pra ganha post sera? -.-.

Eu falei que ja estou a meses usando esse systema e ja tem bastante vips, se eu mudar de systema é claro que eles vao fica FREE, e ai? o que vou fazer? -.-

 

Vlws @Vodkart

irei testar aqui e qualquer coisa edito blz? '-'

 

EDITED

Cara voce é o Homem aayuhauahah

Funfou direitin vlws '-' REP+

 

EDITED

Sorry, nao tem como fazer esse script para quando da use muda o nome do personagem colocar VIP na frente do nome?

e quando acabar o vip o nome volta ao normal, sem o VIP!

sera que tem?

Editado por TitanicoxD
Link para o comentário
https://xtibia.com/forum/topic/187703-use-item-e-adiciona-vip_time/#findComment-1275419
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...