Ir para conteúdo

Classic Premium


Roksas

Posts Recomendados

Bom galera, sempre vejo os Scripters criando sistemas de Vip, com Tile Vip, Itens Vip, e tudo que tiver direito. Na minha opinião;o isso se adapta mais em servidores High Exp x999. Hoje irei postar o meu Sistema de Premium para servidores Low Rate. Usei como exemplo o Double EXP do Vodkart! Vejamos:

 

Primeiramente, vamos na pasta data/actions/scripts, crie um arquivo chamado PremiumScroll.lua e adicione isso dentro:

 

function onUse (cid,item)
if getPlayerPremiumDays (cid) > 14 then
doPlayerSendTextMessage (cid, MESSAGE_INFO_DESCR, "Você precisa ter 15 ou menos dias restantes de Premium Account, para utilizar esse serviço novamente!")
doSendMagicEffect (getCreaturePosition (cid), 2)	  
end
if doRemoveItem(item.uid, 0) then
doPlayerAddPremiumDays(cid, 30)
doSendMagicEffect(getCreaturePosition(cid), 14)
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você acaba de ganhar 30 dias de Premium Account, terá áreas exclusivas e 35% a mais de EXP como benefício!")
end
return true
end

 

Agora vá na pasta data/creaturescripts/scripts/login.lua .No meio do script terão alguns Events como esses exemplo:

 

registerCreatureEvent(cid, "kill")
 registerCreatureEvent(cid, "onPrepareDeath")
 registerCreatureEvent(cid, "PlayerLogout")
 registerCreatureEvent(cid, "onPrepareDeath")
 registerCreatureEvent(cid, "deathBroadcast")
 registerCreatureEvent(cid, "DeathBroadcast")
 registerCreatureEvent(cid, "Idle")

 

Agora ao meio desses, adicione esse Event:

 

registerCreatureEvent(cid, "PremiumRate")

 

Vá na pasta data novemente, abra a pasta items e em seguida o arquivo items.xml. Aperte CTRL + F e digite 9004. Assim você irá encontrar um item dourado, oque usaremos como "Premium Scroll". Apague-o e adicione essa tag:

 

<item id="9004" article="a" name="Premium Scroll">
	<attribute key="description" value="Esse Scroll lhe dá 30 dias de Premium!" />
	<attribute key="weight" value="23.00" />
</item>

 

Caso não exista e seu servidor for versão 8.60 adicione do mesmo jeito.

 

Ok, ainda na pasta data/creaturescripts, na pasta scripts adicione um arquivo chamado PremiumRate.lua e adicione isso dentro:

 

function onLogin(cid)

local rate = 1.35
local days = getPlayerPremiumDays(cid)
local config = {
yes_premium = "Você tem "..((rate - 1)*100).."% de EXP em vantagem, Ainda lhe restam "..days.." dias de Premium!",
not_premium = "Tornesse Premium e tenha "..((rate - 1)*100).."% a mais de EXP!",
premium = isPremium(cid)
}

if (config.premium == TRUE) then
doPlayerSetExperienceRate(cid, rate)
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, config.yes_premium)
else
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, config.not_premium)
end
return TRUE
end

 

Muito bem agora vamos adicionar as Tags!

No arquivo actions.xml na pasta data/actions adicione essa tag:

 

<action itemid="9004" event="script" value="PremiumScroll.lua"/>

 

E no arquivo creaturescripts.xml:

 

<event type="login" name="PremiumRate" script="premiumrate.lua"/>

 

separador.gif

• Explicação do Sistema: Bom, no primeiro Script, ao usar o Item ID 9004 (Premium Scroll), os players recebem 30 dias de Premium, mas se já tiver mais de 15 dias não podera usar, apenas 15 ou menos dias! No segundo script eu mostrei a vocês o Sistema "Double EXP" do Vodkart, editei ele para que jogadores Premium Account pudessem ter as rates. Lá você pode encontrar esse trecho:

 

 local rate = 1.35 

 

Aonde se situa o número "35" você muda para a porcentagem desejada. Como por exemplo 50 = 50%, 40 = 40%. E assim sucessivamente!

 

• Algumas Screen Shoots do meu Sistema:

 

eogy_00e_ud37i.jpg

 

f_g7vf_0bf_ud37i.jpg

f_uhnv_6fd_ud37i.jpg

 

r95o_dea_ud37i.jpg

 

 

Galera, muito obrigado. Espero que gostem, qualquer dúvida irei responder! Reportem erros, etc.

 

@EDIT

 

Se alguém tiver algum sugestão de incrementar o meu Sistema, só falar, ai eu ponho. Bye :))

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

Muito Obrigado cara, li todas aulas e Tutoriais referentes a Scriptings, existentes no mundo uheahuea! Espero crescer mais ainda, manjar bastante de Lua, e me tornar um Programador U.u Sabendo pelo menos C++,Pascal,Python, sla, uns 3. Ai vou me achar foda :)) Valeo!

Link para o comentário
Compartilhar em outros sites

Otimo script. Bem feito, bem explicado .

Ta de parabens...clown.gif

 

 

if getPlayerPremiumDays (cid) > 14 then

 

Por acaso é essa tag que configura aquele negocio de poder usar só quem tem 15 dias de premium ou menos?

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

@Pollyana

Exato!

 

@Junior,

Obrigado cara, abraços! Espero que tenha gostado mesmo.

 

@Pess0a

Cara, realmente eu adoro servidores sérios e low rate. Aqueles que você nasce com full set level 300 não é minha cara!

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...