Ir para conteúdo

Item Que Adiciona Vip Time


Posts Recomendados

Boa galera, bom esse tópico é muito bom pra quem está tendo dificuldade com Geisor 0.3.6 pra usar o IPACC na venda do VIP.

 

Vamos nois....

 

Acesse no seu Otserv/data/actions/scripts/vip(caso n tenha essa pasta cria uma).

 

La copie um arquivo .lua e cole renome ia ele pra addvip.lua e o que tiver dentro dele deleta e cola isso:

 

function onUse(cid, item, fromPosition, itemEx, toPosition)

 

local config={

removeOnUse = "yes" -- remover quando usar ("yes" or "no")

}

 

local days = 35 -- dias que serão adicionados

local daysvalue = days * 24 * 60 * 60

local storageplayer = getPlayerStorageValue(cid, 13540)

local timenow = os.time()

 

if getPlayerStorageValue(cid, 13540) - os.time() <= 0 then

time = timenow + daysvalue

else

time = storageplayer + daysvalue

end

 

doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Foram adicionados ".. days .." dias de VIP no seu character.")

setPlayerStorageValue(cid, 13540, time)

local quantity = math.floor((getPlayerStorageValue(cid, 13540) - timenow)/(24 * 60 * 60))

doSendMagicEffect(getPlayerPosition(cid), math.random(28,30))

doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você tem ".. quantity .." dias de VIP restantes.")

if (config.removeOnUse == "yes") then

doRemoveItem(item.uid, 1)

end

 

return TRUE

end

 

Esses que estão em vermelho são os storages caso seu OT tenha storage diferente desse só mudar.

 

Pronto feito isso salve.

 

Agora volte e vai em Actions/Actions.xml adicione lá essa tag:

 

<action itemid="5785" script="vip/addvip.lua"/>

 

Esse id 5785 é da minha preferência mais pode mudar...

 

Bom, feito isso salve e feche.

 

E vamos pra outra etapa... Vá em Otserv/data/movements/script... Abra o arquivo viptile.lua.

Dentro dele apague tudo e adicione isto:

 

function onStepIn(cid, item, position, fromPosition)

 

local config = {

msgDenied = "Você precisa ser vip.",

msgWelcome = "Bem-Vindo a Area Vip!."

}

 

if getPlayerStorageValue(cid, 13540) - os.time() <= 0 then

doTeleportThing(cid, fromPosition, true)

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, config.msgDenied)

doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE)

return TRUE

end

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, config.msgWelcome)

return TRUE

end

 

Feito isso salve e feche.

 

E pronto teste. Abra seu ot teste caso o OT esteja aberto apenas dê /reload actions e /reload movements.

 

Espero que gostem e aproveitem.

 

Creditos:

A elaboração do tutorial foi toda feita por min mais quem me passou todos esses coder foi o Vodkart.

Link para o comentário
Compartilhar em outros sites

  • 5 weeks later...

cara, tenho uma duvida.

eu coloquei o item e adicionei vip time. mas quando uso a talkaction "!vipdays"

sempre aparece que eu não tenho vip days.. como arrumo isso?

e, outra duvida, quando passa os 30 dias de vip, o character já vai direto para o templo assim que re-loga sem vip, ou ele continua na area premmy?

 

thanks :)

Link para o comentário
Compartilhar em outros sites

function onSay(cid, words, param)

if vip.hasVip(cid) == TRUE then

doPlayerSendTextMessage(cid, 22, "Your vip end in "..os.date("%d %B %Y %X ",vip.getVip(cid)))

else

if vip.getVip(cid) ~= 0 then

doPlayerSendTextMessage(cid, 22, "You're not a vip player. Your vip has finished in "..os.date("%d %B %Y %X ", vip.getVip(cid)).." and now is "..os.date("%d %B %Y %X ", os.time()))

else

doPlayerSendTextMessage(cid, 22, "You're not a vip player. You naver has a vip.")

end

end

return TRUE

end

 

ta ai.

 

ps: eu testei aqui botei 1 dia de premmy, a vip dele nao saiu...

sendo q ja passaram 24h

 

:S

ajuda ae namoral

Editado por Rood
Link para o comentário
Compartilhar em outros sites

se tu percebeu esse sistema do vip time de item é por storage

 

já esse seu script é pelo account...

 

ou sejá vc teria que usar o tile desse sistema por storage.

Link para o comentário
Compartilhar em outros sites

  • 2 months later...
  • 3 weeks later...
  • 2 weeks later...
  • 2 months later...

Colocar vip no nome:

 

function onSay(cid, words, param)

local id = getPlayerGUID(cid)
local ne = getCreatureName(cid)

if string.match(ne, "%p%a+%p") ~= '[VIP]' then
doRemoveCreature(cid)
db.executeQuery("UPDATE `players` SET `name` = `[VIP] "..ne.."` WHERE `id` = "..id)
end
end

 

Até.

Editado por Demonbholder
Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...