Qual seu VIP system?
Script que da X dias de VIP quando chega ao lvl X
Por marvadon, 29 de jan. de 2014 em Scripts
Boa noite,
na verdade não sei dizer, já veio junto com o OTSERV.
está funcionando perfeitamente
como faço para ver?
obrigado
Segue o script..
function onSay(cid, words, param, channel)
local t = param:explode(",")local name, days = t[1], tonumber(t[2])if words == "/installvip" thenif installVip() thendoPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Vip System instalado com sucesso!")elsedoPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Não foi possível instalar o Vip System!")endelseif words == "/addvip" thenif name thenif days thenlocal acc = getAccountIdByName(name)if acc ~= 0 thenaddVipDaysByAccount(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.")elsedoPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Este player não existe.")endelsedoPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você não pode adicionar essa quantidade de dia(s) de vip.")endelsedoPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você não pode adicionar dia(s) de vip a este player.")endelseif words == "/removevip" thenif name thenif days thenlocal acc = getAccountIdByName(name)if acc ~= 0 thendoRemoveVipDaysByAccount(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.")elsedoPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Este player não existe.")endelsedoPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você não pode retirar essa quantidade de dia(s) de vip.")endelsedoPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você não pode retirar dia(s) de vip a este player.")endelseif words == "/checkvip" thenif name thenlocal acc = getAccountIdByName(name)if acc ~= 0 thenlocal 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 ""))elsedoPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Este player não existe.")endelsedoPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você não pode visualizar os dias de vip a este player.")endendreturn TRUEend
info
Grupo: Banidos
Registrado: 25/12/07
Posts: 152
Reputação: +24
Char no Tibia: Tony Scott

em creaturescripts.xml
<event type="advance" name="vip_level" event="script" value="nome_do_arquivo.lua"/>
e em scripts, crie um arquivo lua com esse conteúdo.
local days = 7 -- dias vips local level = 300 -- level que precisa atingir para ganhar os dias function onAdvance(cid, skill, oldlevel, newlevel) if getPlayerLevel(cid) == level then addVipDaysByAccount(getAccountIdByName(cid), days) doCreatureSay(cid, "Você atingiu o level ".. level .." e ganhou ".. days .." dias vip.", TALKTYPE_ORANGE_1) return true end end
em creaturescripts.xml
<event type="advance" name="vip_level" event="script" value="nome_do_arquivo.lua"/>e em scripts, crie um arquivo lua com esse conteúdo.
local days = 7 -- dias vips local level = 300 -- level que precisa atingir para ganhar os dias function onAdvance(cid, skill, oldlevel, newlevel) if getPlayerLevel(cid) == level then addVipDaysByAccount(getAccountIdByName(cid), days) doCreatureSay(cid, "Você atingiu o level ".. level .." e ganhou ".. days .." dias vip.", TALKTYPE_ORANGE_1) return true end end
Obrigado Keilost
só uma dúvida:
este script vai add VIP dias ou Premium days?
pq o premium days é gratuito no meu server
só os VIP que são pagos, que dá acesso a áreas exclusivas (cidades VIP e 30% + xp)
Brigadão
Uma sugestão.
Tem como por exemplo o script fazer uma checagem na acc p ver se o player ja ganhou os 7 dias!?
tipo o player upa lvl 300, ai ele ganha 7 dias na acc.
ai se o cara tenta upar outro char p ganhar os 7 dias dnovo, o script faz uma verificação e se a acc já ganhou com outro char ele não ganha novamente!?
info
Grupo: Banidos
Registrado: 25/12/07
Posts: 152
Reputação: +24
Char no Tibia: Tony Scott

Ah foi mal, esqueci rsrs...
Sim, é os dias vip do seu sistema.
local days = 7 -- dias vips
local level = 300 -- level que precisa atingir para ganhar os dias
function onAdvance(cid, skill, oldlevel, newlevel)
if getPlayerLevel(cid) == level and getPlayerStorageValue(cid, 1902339) < 0 then
setPlayerStorageValue(cid, 1902339, 1)
addVipDaysByAccount(getAccountIdByName(cid), days)
doCreatureSay(cid, "Você atingiu o level ".. level .." e ganhou ".. days .." dias vip.", TALKTYPE_ORANGE_1)
return true
end
end
Ficou perfeito. REP+






info
Grupo: Campones
Registrado: 07/11/13
Posts: 75
Reputação: +1
Boa noite galera do Xtibia
Estou aqui para fazer um pedido,
Gostaria de um script que quando o player chegace ao lvl x ele recebece x dias de VIP
alguém pode me ajudar!?
grande abraço
Tipo do script: MOD/LUA
Protocolo (versão do Tibia): 8.60
Servidor utilizado: TFS04
Nível de experiência: stages
Adicionais/Informações: