Jump to content
  • 0

Script que da X dias de VIP quando chega ao lvl X


marvadon

Question

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:

Link to comment
Share on other sites

7 answers to this question

Recommended Posts

  • 0

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" 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 TRUE
end

 

Link to comment
Share on other sites

  • 0

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
Link to comment
Share on other sites

  • 0

 

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!?

Link to comment
Share on other sites

  • 0

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
Link to comment
Share on other sites

×
×
  • Create New...