Jump to content
  • 0
mukinhas

Ranking PvP Mooka com classes [site]

Question

Como posso mudar de modo que apareça também as classes dos respectivos jogadores?

 

<?PHP $connecta = mysql_connect('127.0.0.1','ragnarok','ragnarok');$db = mysql_select_db('ragnarok');?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><link rel="stylesheet" type="text/css" href="estilo.css" /><title>Ranking PvP Mooka</title></head> <body><div id="ranking"><table border="0" cellpadding="0" cellspacing="0">  <tr align="center" id="title">    <td>Posição</td>    <td>Nome</td>    <td>Matou</td>  </tr>    <?PHP   $tabela = mysql_query("SELECT * FROM pvpm_data ORDER BY kills DESC LIMIT 50");  $pos = 1;    while($pvp = mysql_fetch_assoc($tabela)){  echo '  <tr align="center" id="player">      <td>'.$pos.'º</td>    <td>'.$pvp['name'].'</td>    <td>'.$pvp['kills'].'</td>      </tr>  ';    $pos++;  }   ?></table></div> </body></html> 

 

Por exemplo, Posição, Nome, Classe, Matou.

 

Grato.

Share this post


Link to post
Share on other sites

15 answers to this question

Recommended Posts

  • 0
  On 7/11/2014 at 4:43 PM, jaBote said:

Eu poderia ver a estrutura da tabela?

 

A tabela é na mesma base de dados como o resto de dados no jogo?

Exatamente.

 

__

@EDIT

 

Com "ver a estrutura da tebela", você gostaria de ver isso?

 

 

  Reveal hidden contents

 

 

No caso é sem esses <div> </div>, não faço ideia porque entrou no code

Edited by mukinhas

Share this post


Link to post
Share on other sites
  • 0

Sim. Também gostaria de saber se a coluna id da tabela é para char id ou account id.

 

Então use a seguinte consulta SQL em vez da atual:

SELECT p.`name`, p.`kills`, c.`class` FROM `pvpm_data` p LEFT JOIN `char` c on p.`id` = c.`char_id` WHERE p.`type` = 0 ORDER BY p.`kills` DESC LIMIT 50

 

e pode mudar tudo o codigo para o seguinte (adicione as classes restantes):

<?PHP $connecta = mysql_connect('127.0.0.1','ragnarok','ragnarok');$db = mysql_select_db('ragnarok');?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><link rel="stylesheet" type="text/css" href="estilo.css" /><title>Ranking PvP Mooka</title></head> <body><div id="ranking"><table border="0" cellpadding="0" cellspacing="0">  <tr align="center" id="title">    <td>Posição</td>    <td>Nome</td>	<td>Classe</td>    <td>Matou</td>  </tr>    <?PHP   $tabela = mysql_query("SELECT p.`name`, p.`kills`, c.`class` FROM `pvpm_data` p LEFT JOIN `char` c on p.`id` = c.`char_id` WHERE p.`type` = 0 ORDER BY p.`kills` DESC LIMIT 50");  $pos = 1;    while($pvp = mysql_fetch_assoc($tabela)){  echo '  <tr align="center" id="player">      <td>'.$pos.'º</td>    <td>'.$pvp['name'].'</td>    <td>'.nome_do_classe($pvp['class']).'</td>    <td>'.$pvp['kills'].'</td>      </tr>  ';    $pos++;  }   ?></table></div> </body></html><?phpfunction nome_do_classe($classe) {	switch($classe) {		case 0: return "Novice";		case 1: return "Swordman";		case 2: return "Mage";		case 3: return "Archer";		case 4: return "Acolyte";		case 5: return "Merchant";		case 6: return "Thief";		// (Adicione as classes restantes)		default: return "Erro";	}}?>

 

Pode utilizar este arquivo se quiser: http://sourceforge.net/p/cerescp/svn/HEAD/tree/trunk/db/jobs.txt

 

Em outro caso, me dizer e tentarei de adapta-lo.

 

P.E.: Eu não sou Português ou Brasileiro, sou Espanhol, me desculpe meus erros.

Share this post


Link to post
Share on other sites
  • 0
  On 7/11/2014 at 9:33 PM, jaBote said:

Sim. Também gostaria de saber se a coluna id da tabela é para char id ou account id.

 

Então use a seguinte consulta SQL em vez da atual:

SELECT p.`name`, p.`kills`, c.`class` FROM `pvpm_data` p LEFT JOIN `char` c on p.`id` = c.`char_id` ORDER BY p.`kills` DESC LIMIT 50

 

e pode mudar tudo o codigo para o seguinte (adicione as classes restantes):

<?PHP $connecta = mysql_connect('127.0.0.1','ragnarok','ragnarok');$db = mysql_select_db('ragnarok');?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><link rel="stylesheet" type="text/css" href="estilo.css" /><title>Ranking PvP Mooka</title></head> <body><div id="ranking"><table border="0" cellpadding="0" cellspacing="0">  <tr align="center" id="title">    <td>Posição</td>    <td>Nome</td>	<td>Classe</td>    <td>Matou</td>  </tr>    <?PHP   $tabela = mysql_query("SELECT * FROM pvpm_data ORDER BY kills DESC LIMIT 50");  $pos = 1;    while($pvp = mysql_fetch_assoc($tabela)){  echo '  <tr align="center" id="player">      <td>'.$pos.'º</td>    <td>'.$pvp['name'].'</td>	<td>'.nome_do_classe($pvp['classe']).'</td>    <td>'.$pvp['kills'].'</td>      </tr>  ';    $pos++;  }   ?></table></div> </body></html><?phpfunction nome_do_classe($classe) {	switch($classe) {		case 0: return "Novice";		case 1: return "Swordman";		case 2: return "Mage";		case 3: return "Archer";		case 4: return "Acolyte";		case 5: return "Merchant";		case 6: return "Thief";		// (Adicione as classes restantes)		default: return "Erro";	}}?>

 

Pode utilizar este arquivo se quiser: http://sourceforge.net/p/cerescp/svn/HEAD/tree/trunk/db/jobs.txt

 

Em outro caso, me dizer e tentarei de adapta-lo.

 

P.E.: Eu não sou Português ou Brasileiro, sou Espanhol, me desculpe meus erros.

 

Rapaz, você escreve melhor que MUITOS br's, parabéns. Se não falasse que era espanhol eu continuaria achando que é brasileiro =]

 

Mas voltando ao assunto, deu erro da linha 34.

 

 

<td>'.nome_do_classe($pvp['classe']).'</td>

 

Eu tentei por uma $ antes de nome 

 

 

<td>'.$nome_do_classe($pvp['classe']).'</td>

 

Mas deu certo não, sabe o que pode ser?

 

Agradeço seu esforço para tentar me ajudar.

Edited by mukinhas

Share this post


Link to post
Share on other sites
  • 0

Oh, mea culpa. O resultado é na membro 'class' do array $pvp, não na 'classe'. Eu editei o meu post anterior.

 

Se o erro não é resolvido, favor poste a mensagem do erro aqui.

 

P.E.: Eu testei este código e parece funcional

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>Ranking PvP Mooka</title></head> <body><?php	for ($i = 0; $i <= 6; $i++)		echo nome_do_classe($i) . '<br>';?></body></html><?phpfunction nome_do_classe($classe) {	switch($classe) {		case 0: return "Novice";		case 1: return "Swordman";		case 2: return "Mage";		case 3: return "Archer";		case 4: return "Acolyte";		case 5: return "Merchant";		case 6: return "Thief";		// (Adicione as classes restantes)		default: return "Erro";	}}?>

Share this post


Link to post
Share on other sites
  • 0
  On 7/12/2014 at 2:52 PM, jaBote said:

 

Oh, mea culpa. O resultado é na membro 'class' do array $pvp, não na 'classe'. Eu editei o meu post anterior.

 

Se o erro não é resolvido, favor poste a mensagem do erro aqui.

 

P.E.: Eu testei este código e parece funcional

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>Ranking PvP Mooka</title></head> <body><?php	for ($i = 0; $i <= 6; $i++)		echo nome_do_classe($i) . '<br>';?></body></html><?phpfunction nome_do_classe($classe) {	switch($classe) {		case 0: return "Novice";		case 1: return "Swordman";		case 2: return "Mage";		case 3: return "Archer";		case 4: return "Acolyte";		case 5: return "Merchant";		case 6: return "Thief";		// (Adicione as classes restantes)		default: return "Erro";	}}?>

 

Cara, valeu!!! Você não sabe como que estou feliz por você me ajudar.

 

Está funcionando do jeito que eu queria. Mas aproveitando o post e abusando um pouco de sua boa vontade haha. Na imagem a seguir, observe que na 3ª posição "Os sem nomes" e na 5ª "Nao quero cla" são gulds. Eu tentei algumas coisas aqui mas não consegui deixar somente players no ranking

 

 

2djrnt1.png

 

 

 

  while($pvp = mysql_fetch_assoc($tabela)){  echo '  <tr align="center" id="player"> // <<-- aqui eu apaguei o player coloquei outras coisas e funciona da mesma forma      <td>'.$pos.'º</td>    <td>'.$pvp['name'].'</td>    <td>'.nome_do_classe($pvp['class']).'</td>    <td>'.$pvp['kills'].'</td>      </tr>

 

Tem alguma ideia de como me ajudar?

Share this post


Link to post
Share on other sites
  • 0

A minha pergunta é: como têm aparecido clãs na tabela? A não ser que a tabela foi concebida para o armazenamento de clãs em vez de jogadores, ou clãs e jogadores ao mesmo tempo. Nesse caso eu necessito de mais informaçao do script que maneja as inserções na tabela.

Share this post


Link to post
Share on other sites
  • 0
  On 7/12/2014 at 3:41 PM, jaBote said:

A minha pergunta é: como têm aparecido clãs na tabela? A não ser que a tabela foi concebida para o armazenamento de clãs em vez de jogadores, ou clãs e jogadores ao mesmo tempo. Nesse caso eu necessito de mais informaçao do script que maneja as inserções na tabela.

 

Bom, as tabelas do ranking são essas do link. detalhe: Tem mais uma tabela, porém é de idioma.

http://pastebin.com/raw.php?i=f8whNSsY

 

Essa tabela de cima é do pvp, tanto jogadores tanto clãs. No NPC in-game há a separação entre eles.

 

O script a seguir é o que você editou pra mim. Vale lembrar que antes mesmo da edição já estava tudo junto misturado.

 

 

  Reveal hidden contents

 

 

Já tentei muita coisa, mas meu conhecimento sobre o assunto é muito limitado e não sei como arrumar.

 

Só faltou eu postar o npc mesmo.

Edited by mukinhas

Share this post


Link to post
Share on other sites
  • 0

Eu poderia ver a saída de fazer a seguinte consulta na tabela, feita desde PhpMyAdmin ou outro gestor de bases de dados?

 

SELECT * FROM `pvpm_data` ORDER BY `kills` DESC LIMIT 10"

 

(Ou o código do NPC, si possível, para encontrar o função das colunas da tabela)

Share this post


Link to post
Share on other sites
  • 0
  On 7/12/2014 at 4:16 PM, jaBote said:

Eu poderia ver a saída de fazer a seguinte consulta na tabela, feita desde PhpMyAdmin ou outro gestor de bases de dados?

 

SELECT * FROM `pvpm_data` ORDER BY `kills` DESC LIMIT 10"

 

(Ou o código do NPC, si possível, para encontrar o função das colunas da tabela)

 

Se eu substitui por essa linha continua a mesma coisa, com exceção de que agora todos são lidos como "novice"

Edited by mukinhas

Share this post


Link to post
Share on other sites
  • 0

Oh, eu queria saver os dados na tabela (você pode usar essa consulta no PhpMyAdmin ou similar), não que você trocara a consulta atual por essa.

Share this post


Link to post
Share on other sites
  • 0
  On 7/12/2014 at 4:29 PM, jaBote said:

Oh, eu queria saver os dados na tabela (você pode usar essa consulta no PhpMyAdmin ou similar), não que você trocara a consulta atual por essa.

 

Bom, quando eu pesquisei

SELECT * FROM `pvpm_data` ORDER BY `kills` DESC LIMIT 10"
 retornou isso aqui

 

av0588.png

Share this post


Link to post
Share on other sites
  • 0

Vistos os dados, a consulta SQL você deveria fazer é a seguinte:

SELECT p.`name`, p.`kills`, c.`class` FROM `pvpm_data` p LEFT JOIN `char` c on p.`id` = c.`char_id` WHERE p.`type` = 0 ORDER BY p.`kills` DESC LIMIT 50

 

Teste, e voçê me dizer.

Share this post


Link to post
Share on other sites
  • 0
  On 7/12/2014 at 5:10 PM, jaBote said:

Vistos os dados, a consulta SQL você deveria fazer é a seguinte:

SELECT p.`name`, p.`kills`, c.`class` FROM `pvpm_data` p LEFT JOIN `char` c on p.`id` = c.`char_id` WHERE p.`type` = 0 ORDER BY p.`kills` DESC LIMIT 50

 

Teste, e voçê me dizer.

 

Você é bom mesmo kkkkk.

 

Primeiro eu fiz a consulta e retornou só os players. Depois coloquei essa linha no script e funcionou perfeito. Vlw mesmo

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.