Ir para conteúdo

Posts Recomendados

» CLASSIC PREMIUM V2 ! «

 

 

 

Versão Testada: TFS 0.3.6: 8.60

 

Opa galera, esse é mais um tópico meu, agora de Estagiário :))

Neste tópico irei apresentar-lhes o Classic Premium v2, que usei algumas coisas de base do Perfect System (by Vodkart), agora contém:

 

• GOD pode checar quantos Premium Days o player tem, pelo comando /checkdays NOMEDOPLAYER
• GOD também pode adicionar Premium Days, pelo comando /addpremium NOME, QUANTIDADE
• Temos também o comando /removedays NOME, QUANTIDADE que o GOD poderá fazer.
• Além disso, temos mais duas novidades, os comandos: !changender e !removeskull, ambos removem 5 Premium Days do player!

 

separador.gif

 

» Comandos de GOD

 

Vamos lá, primeiramente vá na pasta data/talkactions, crie um arquivo chamadopremiumtalk.lua e adicione isso dentro:

 

function onSay(cid, words, param)
local player = getPlayerByName(param)  
local t = string.explode(param, ",")  
if words == "/checkdays" then  

if(param == '') then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Command requires param.") return true end

if not isPlayer(player) then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Player not found.") return true end

return doPlayerPopupFYI(cid, "Player checked have "..getPlayerPremiumDays(player).." days of Premium Account!")  
end

if words == "/addpremium" then  

local t = string.explode(param, ",")  
local player = getPlayerByNameWildcard(t[1])

if not tonumber(t[2]) then  
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Invalid param specified.") return true end  

if(not player)then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Player not found.") return true end

doPlayerAddPremiumDays(player, tonumber(t[2]))
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You has been added "..tonumber(t[2]).." days of Premium Account to the player! ")  
doRemoveCreature(player)
end

if words == "/removedays" then
local t = string.explode(param, ",")  
local player = getPlayerByNameWildcard(t[1])

if not tonumber(t[2]) then  
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Invalid param specified.") return true end  

if(not player)then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Player not found.") return true end

doPlayerRemovePremiumDays(player, tonumber(t[2]))
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You has been removed "..tonumber(t[2]).." Premium Account Days of the player!")  

end
return true
end

 

E no arquivo talkactions.xml adicione a tag que vêm a seguir:

<talkaction words="/addpremium;/removedays;/checkdays" access="4" event="script" value="premiumtalk.lua"/>

 

» Premium Door e Premium Scroll

 

Muito bem, agora na pasta data/actions/scripts, crie um arquivo chamado scroll.lua e adicione isso dentro:

 

local days_gain = 30 -- Dias que ganham

function onUse (cid,item,frompos,item2,topos)

if not doRemoveItem(item.uid) then return true end

doPlayerAddPremiumDays(cid, days_gain)
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!")
return true
end

 

Crie outro arquivo, mas agora com o nome de premiumdoor.lua e ponha isso dentro:

 

function onUse(cid, item, frompos, item2, topos)

if not isPremium(cid) then
doPlayerSendTextMessage(cid,22,"Você precisa ter Premium Account para passar!") return false end

doTransformItem(item.uid, item.itemid + 1)
doTeleportThing(cid, frompos, true)
return true
end

 

Abra o arquivo actions.xml e adicione essas tags:

 

<action itemid="9004" event="script" value="scroll.lua"/>
<action actionid="7779" script="premiumdoor.lua"/>

 

OBS: Para fazer com que a porta seja para Premiums, no seu Map Editor, adicione a seguinte ACTIONID nela: 7779!

 

» Classic Premium Tile

 

Em data/movements/scripts, crie um arquivo chamado premiumtile.lua e adicione isso dentro:

 

function onStepIn(cid, item, position, fromPosition)


if not isPremium(cid) then
doTeleportThing(cid, fromPosition, true)
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE,"Você não tem acesso Premium Account!")
doSendMagicEffect(getCreaturePosition(cid), 2) return true end

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE,"Bem Vindo á Área Premium!")
return true
end

 

Ea tag no arquivo movements.xml coloque:

 

<movevent type="StepIn" actionid="19456" event="script" value="premiumtile.lua"/>

 

Para fazer com que apenas Premiums passe pelo piso, adicione a ACTIONID 19456 pelo seu Map Editor no piso!

 

» Classic Mods

 

Na pasta do seu OT, vá na pasta mods, crie um arquivo chamado classic_changender.xml e coloque isso dentro:

 

<?xml version="1.0" encoding="UTF-8"?>
<mod name="ChangeSex Classic" version="1.0" author="Roksas" enabled="yes">

<config name="changender_config"><![CDATA[
	config = {
		costPremiumDays = 5
	}
]]></config>
<talkaction words="!changender" event="buffer"><![CDATA[
	domodlib('changender_config')
	if(getPlayerSex(cid) >= 2) then
		doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Voce nao tem sexo para mudar!")
		return
	end

	if(getPlayerPremiumDays(cid) < config.costPremiumDays) then
		doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Desculpe, voce nao tem " .. config.costPremiumDays .. " Premium Days necessarios!")
		doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF)
		return
	end

	if(getPlayerPremiumDays(cid) < 65535) then
		doPlayerAddPremiumDays(cid, -config.costPremiumDays)
	end

	doPlayerSetSex(cid, getPlayerSex(cid) == PLAYERSEX_FEMALE and PLAYERSEX_MALE or PLAYERSEX_FEMALE)
	doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Voce mudou seu sexo e isso lhe custou " .. config.costPremiumDays .. " days de Premium Account! Relogue para que faca efeito.")
	doSendMagicEffect(getCreaturePosition(cid), CONST_ME_MAGIC_RED)
]]></talkaction>
</mod>

 

E crie outro arquivo, mas com o nome de classic_removeskull.xml e adicione isso:

 

<?xml version="1.0" encoding="UTF-8"?>
<mod name="Classic Remover" version="1.0" author="Roksas" enabled="yes">
<talkaction words="!removeskull" event="script"><![CDATA[
	local noRemove = {SKULL_YELLOW}
	local playerSkull = getPlayerSkullType(cid)
	if isInArray(noRemove, playerSkull) then
		doPlayerSendCancel(cid, "Voce nao pode remover esse tipo de skull.")
		doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF)
		return true
	elseif playerSkull == SKULL_NONE or getPlayerPremiumDays(cid) < 5 then
		doPlayerSendCancel(cid, "Voce nao tem skull ou 5 days de Premium Account!")
		doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF)
		return true
	else
		db.executeQuery("UPDATE `killers` SET `unjustified` = 0 WHERE `id` IN (SELECT `kill_id` FROM `player_killers` WHERE `player_id` = " .. getPlayerGUID(cid) .. ")")
		doPlayerSendTextMessage(cid, 27, "Seus frags,skull e 5 days de Premium Account foram removidos!")
   	   doPlayerRemovePremiumDays (cid,5)
				 doSendMagicEffect(getPlayerPosition(cid), CONST_ME_MAGIC_RED)
		doSendAnimatedText(getPlayerPosition(cid), "POFF!", 180)
		doCreatureSetSkullType(cid,0)
		doPlayerSetSkullEnd(cid, 0, playerSkull)
	end
	return true
]]></talkaction>
</mod>

 

» Classic Premium Rates

 

Abra a pasta do seu OT, vá em data/creaturescripts/scripts, adicione um arquivo lá chamado premiumrate.lua e coloque isso dentro dele:

 

function onLogin(cid)

local rate = 1.35
local days = getPlayerPremiumDays(cid)

if isPremium(cid) then
doPlayerSetExperienceRate(cid, rate)
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você tem "..((rate - 1)*100).."% de EXP em vantagem, Ainda lhe restam "..days.." dias de Premium!")

else
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Tornesse Premium e tenha "..((rate - 1)*100).."% a mais de EXP!")
end
return true
end

 

 

Agora abra o arquivo login.lua na mesma pasta, procure por um trecho mais ou menos assim:

 

registerCreatureEvent(cid, "kill")
 registerCreatureEvent(cid, "onPrepareDeath")
 registerCreatureEvent(cid, "PlayerLogout")
 registerCreatureEvent(cid, "onPrepareDeath")

 

Ao encontrar, adicione isso no fim ou no começo ou no meio deles:

 

registerCreatureEvent(cid, "ExpVip")

 

Muito bem, agora no arquivo creaturescripts.xml adicione essa tag:

 

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

 

Explicando: Para configurar as rates procure por esse trecho no script:

 

local rate = 1.35

 

O número 35, significa a porcentagem. Ou seja, 35% de Exp Rate em vantagem, ajuste como quiser: 20, 50, 60...

 

separador.gif

Bom galera, isso foi tudo. Espero que tenham gostado da versão v2 do Classic Premium! Aguardo respostas, sugestões e críticas a respeito! Agradeço Vodkart por algumas funções e bases. Encerrarei com algumas ScreenShoots do meu Sistema! Obrigado e BENÇA :))

 

» SCREENSHOOTS

 

f_kbfb_fd9_ud37i.jpg

 

f_eogy_00e_ud37i.jpg

 

f_r95o_dea_ud37i.jpg

 

f_g7vf_0bf_ud37i.jpg

f_uhnv_6fd_ud37i.jpg

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

×
×
  • Criar Novo...