antiblock
Elveron
  • Chatbox

    You don't have permission to chat.
    Load More
  • 0
KB CRAZY CHANNEL

[PEDIDO] Urgente! TOP Kills!

Question

Boas pessoal!

Preciso urgentemente algo parecido com: 

Spoiler

 

 

A QUEST que uso é:

Spoiler

 


quest Ranking_de_Kills begin
state start begin
when login or levelup with pc.get_level() > 1 begin
set_state("pannello")
end
end
state pannello begin
when kill with npc.is_pc() begin
pc.setqf("conta_kills", pc.getqf("conta_kills")+1)
end
when letter begin
send_letter("Ranking de Kills")
end
when button or info begin
say_title("Ranking de Kills")
say("")
say("Olá, "..pc.get_name().."")
say("Aqui podes consultar o total de jogadores")
say("Que já matas-te!") 
wait()
say("Tens um total de:")
say_reward("".. pc.getqf("conta_kills") .." Kills")
say("")
say("Diverte-te!")
end
end
end

 

Se alguém me conseguir montar e explicar como fazer um Ranking PvP com as funções ficaria extremamente agradecido x:

 

 

Já vasculhei o forum todo e não encontro!

Cumpz. 

Edited by KB CRAZY CHANNEL (see edit history)

Share this post


Link to post
Share on other sites

1 answer to this question

  • 0

Precisas de guardar as kills na base de dados.

Adiciona um novo campo na tua tabela player chamada kills e coloca o tipo como int.

 

Na tua quest adiciona isto,

when kill with npc.is_pc() begin
	pc.setqf("conta_kills", pc.getqf("conta_kills")+1)
	mysql_query("UPDATE player.player SET kills = "..pc.getqf("conta_kills").." WHERE account_id = '"..pc.get_account_id.."' and name = '"..pc.get_name().."';")
end

E caso não tenhas, precisas do ficheiro "questing.lua" do mijago

 

Agora para veres o ranking no site,

<?php
	define('MYSQL_HOST', 'localhost');
	define('MYSQL_USER', 'root');
	define('MYSQL_PASS', '');
	define('MYSQL_PORT', '3306');
	
	function MySQLConnect() {
		return mysqli_connect(MYSQL_HOST, MYSQL_USER, MYSQL_PASS, null, MYSQL_PORT);
	}
	
	$Top = 10; // Mostra apenas 10 resultados.
	$Query = 'SELECT name, kills FROM player.player ORDER BY kills DESC LIMIT '.$Top.';';
	$Result = mysqli_query(MySQLConnect(), $Query);
	
	$Postion = null;
	while ($Player = mysqli_fetch_assoc($Result)) {
		$Postion++;
		echo $Postion.'. '.$Player['name'].' - '.$Player['kills'].'<br />';
	}
?>

E para veres o ranking na tua quest,

when button or info begin
	say_title("Ranking de Kills")
	say("")
	say("Olá, "..pc.get_name().."")
	say("Aqui podes consultar o total de jogadores")
	say("Que já matas-te!") 
	wait()
	say("Tens um total de:")
	say_reward("".. pc.getqf("conta_kills") .." Kills")
	say("")
	say("Diverte-te!")
	
	if select("Classificações", "Fechar") == 2 then return end
	local top = 10 -- Mostra apenas 10 resultados
	local query = mysql_query("SELECT name, kills FROM player.player ORDER BY kills DESC LIMIT "..top..";")
	for position in ipairs(query) do
		say(position..". "..query.name[position].." - "..query.kills[position])
	end
end

 

Share this post


Link to post
Share on other sites
antiblock
Elveron

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now