Ir para conteúdo

Featured Replies

Postado
  • Este é um post popular.

Olá pessoal, este sistema já existe nas versões +9.86, porém para 8.60 ainda não existia então decidimos por faze-lo e distribuir ele para a comunidade.

 

Criticas construtivas são sempre bem vindas <3

 

Imagem da Página Web

A imagem da página web que acompanha o sistema já explica como o sistema funciona e como ele está pré-instalado.

 

14102496_1056848121089321_5810449916389486911_n.png

 

Arquivos

Crie uma arquivo em data/lib chamado weekend_exp.lua e insira o código abaixo dentro:

config_weekend_exp = {
	dates = {"Tuesday", "Wednesday"}, -- Dias da semana que será ativo
	rates = {
			{1, 1.05}, -- {quantidade de jogador online, taxa de bonus}
			{200, 1.10},
			{300, 1.15},
		},
	storage_bonus = 30303,
}

function get_bonus_weekend_exp()
	for _, rate in ipairs(config_weekend_exp.rates) do
		if  #getPlayersOnline() >= rate[1] then
			if getGlobalStorageValue(config_weekend_exp.storage_bonus) ~= 1 then
				doBroadcastMessage("[Weekend Exp Event] The server reached "..rate[1].." players online! The bonus of exp is now "..((rate[2] - 1)*100).."%!")
			end
			setGlobalStorageValue(config_weekend_exp.storage_bonus, 1) --Bonus ativado
			return rate[2] --retornando a taxa de exp que deve ser adicionada
		else
			setGlobalStorageValue(config_weekend_exp.storage_bonus, -1)
		end
	end
	return 1
end

function set_bonus_weekend_exp(cid, monster_name)
	local rate_bonus = get_bonus_weekend_exp()
	local monster = getMonsterInfo(monster_name)
	if getGlobalStorageValue(config_weekend_exp.storage_bonus) == 1 then
		if getConfigValue("experienceStages") == true then
			doPlayerAddExp(cid, (monster.experience * getExperienceStage(getPlayerLevel(cid))) * rate_bonus)
			doPlayerSendTextMessage(cid, 25, "[Weekend Exp Event] Voce esta com "..((rate_bonus - 1)*100).."% de bonus experiencia.")
		end
	end
	return true
end

Crie uma arquivo em data/creaturescripts chamado weekend_exp.lua e insira o código abaixo dentro:

function onKill(cid, target, lastHit)
	if lastHit and isMonster(target) then
		local master = getCreatureMaster(target)
		if not master or master == target then
			set_bonus_weekend_exp(cid, getCreatureName(target))
		end
	end
	return true
end

 

Crie uma arquivo em data/globalevents chamado weekend_exp.lua e insira o código abaixo dentro:

function onThink()
	if table.find(config_weekend_exp.dates, os.date("%A")) then
		get_bonus_weekend_exp()
	end
	return true
end

Siga até o diretório data/creaturescripts e adiciona a linha abaixo no arquivo login.lua:


	registerCreatureEvent(cid, "weekend_exp")

 

Tags XML

Adicione cada tag em seu respectivo lugar.

 

creaturescripts.xml
    

<event type="kill" name="weekend_exp" event="script" value="weekend_exp.lua"/>

globalevents.xml

    

<globalevent name="weekend_exp" interval="55000" event="script" value="weekend_exp.lua"/>

Páǵina PHP

 

Compatível com versões gesior.

<?php

	$main_content .= '
		<center>
			<h2>Weekend Experience Event</h2>
			</br>
			Este é um <b>evento automático</b> que é ativado todo final de semana, começando no sábado e terminando no final de domingo. Quando o server atingir uma determinada quantidade de jogadores online, irá ativar um bonus de exp específico, O mesmo vale para quando o servidor diminuir de players, o bonus irá diminuir de acordo com a tabela, confira a seguir.
		</center>
		</br>
		<table width="100%" border="0" cellpadding="4" cellspacing="1">
			<tbody>
				<tr>
					<td colspan="3" bgcolor="#d4c0a1">
						A partir de <b>50 jogadores online</b>, o bonus de exp será de <b>2%</b>.
					</td>
				</tr>
				<tr>
					<td colspan="3" bgcolor="#f1e0c6">
						A partir de <b>100 jogadores online</b>, o bonus de exp será de <b>5%</b>.
					</td>
				</tr>
				<tr>
					<td colspan="3" bgcolor="#d4c0a1">
						A partir de <b>150 jogadores online</b>, o bonus de exp será de <b>10%</b>.
					</td>
				</tr>
				<tr>
					<td colspan="3" bgcolor="#f1e0c6">
						A partir de <b>200 jogadores online</b>, o bonus de exp será de <b>15%</b>.
					</td>
				</tr>
				<tr>
					<td colspan="3" bgcolor="#d4c0a1">
						A partir de <b>300 jogadores online</b>, o bonus de exp será de <b>20%</b>.
					</td>
				</tr>
			</tbody>
		</table>
		</br>
		Quando atingir determinada quantidade de players online, uma mensagem automática será enviada, por exemplo quando atingir 1000:<br><br>

		<b>Weekend Event:</b> The server reached 1000 players online! The bonus of exp is now 2%!.<br><br>
		Se vocês forem calcular a porcentagem, podem ver que não é nada exagerado, por exemplo, bonus de 6%: Se ao matar um monstro você for ganhar 2000 de exp, com 6% de bonus você irá ganhar 2120.</font>
		</br>
		<center>Desenvolvido por <a href="http://chaitosoft.com/">ChaitoSoft.com</a>.</center>
	';

?>

 

Acho que não tem créditos, se alguém souber o nome do idealizador do sistema deixe no comentário.

Editado por chaito.soft (veja o histórico de edições)

  • Respostas 13
  • Visualizações 2.6k
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • Parabéns, seu tópico de conteúdo foi aprovado! Muito obrigado pela sua contribuição, nós do Tibia King agradecemos. Seu conteúdo com certeza ajudará à muitos outros, você recebeu +1 REP.  

Posted Images

Postado

Parabéns, seu tópico de conteúdo foi aprovado!
Muito obrigado pela sua contribuição, nós do Tibia King agradecemos.
Seu conteúdo com certeza ajudará à muitos outros, você recebeu +1 REP.

Spoiler

Congratulations, your content has been approved!
Thank you for your contribution, we of Tibia King we are grateful.
Your content will help many other users, you received +1 REP.

 

 Não li tudo, mas o primeiro erro que vi foi essa função: 

countPlayersOnline()

Por que usar isso? Se dá para usar #getPlayersOnline().

Postado

dois arquivos com o mesmo nome, no mesmo local ta certo isso ?? no começo tem o mesmo nome no mesmo local só  o conteúdo diferente... ta incompleto ta faltando o lua do globalevents...

 

Crie uma arquivo em data/lib chamado weekend_exp.lua e insira o código abaixo dentro:

function onThink()
	if table.find(config_weekend_exp.dates, os.date("%A")) then
		get_bonus_weekend_exp()
	end
	return true
end
Em 14/09/2016 ás 13:18, chaito.soft disse:

Show muito obrigado, atualizamos o post!

 

Editado por OtFunEX (veja o histórico de edições)

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo