Ir para conteúdo

Exibindo McMMo e SimpleClans no seu Site


FabioZumbi12

Posts Recomendados

Vou compartilhar com vocês mais um código em PHP de como vocês podem fazer para mostrar os leveis e informações do McMMo e Clans de um player na pagina de perfil do player no seu site!

 

No meu site eu uso o Joomla junto com Kunena Fórum, então algumas coisas são diferentes, mas a programação é a mesma. Vou colocar o código, e eu colocarei os comentários na frente!

Os plugins Utilizados são o SimpleClans e O McMMo, ambos configurados para usar MySql.

 

 

 

1a. Conectando com MySql se voce usar o Joomla:

$user = JFactory::getUser(); //Pegando os dados do usuário que esta logado no seu site.
$dbconfig = new JConfig(); //Pegando os dados da conexão do banco de dados que estão no configuration.php do joomla.
$dbconn = mysql_connect($dbconfig->host,$dbconfig->user,$dbconfig->password) or die(mysql_error());

//Criando a conexão que iremos usar.
mysql_select_db($dbconfig->db); //Definindo o banco de dados que iremos usar.
$svusername = $user->username; //Pegando o Nome do usuário logado no seu site Joomla. Também pode usar $user->name. 

Algumas observações são importantes ao usar com Joomla:

  • O usuário do seu site deve ter o mesmo Nome usado no servidor no campo username para poder pegar as informações corretas a serem mostradas na página dele.
  • Recomendo que voce use o plugin Authme Reloaded para fazerem login no servidor, e que usem o mysql nele configurando ele para gravar os novos usuários no mesmo banco de dados do joomla, assim criando um novo usuário a cada registro de player novo no server.

 

 

 

1b. Conectando com Mysql sem Joomla:

$dbhost = ''; //Ip ou endereço onde o Mysql está.
$dbuser = ''; //Usuário do Mysql.
$dbpass = ''; //Senha do Usuário do Mysql.
$dbdb = ''; //Nome da tabela á ser usada.
$dbconn = mysql_connect($dbhost, $dbuser, $dbpass) or die(mysql_error()); //Criando a conexão que iremos usar.

mysql_select_db($dbdb); //Definindo o banco de dados que iremos usar.
$svusername = ''; //Aqui precisa por o nome do player que será exibido as informações. Voce pode pegar do usuário logado no seu site, ou usar um TextBox com form para pesquisar(No Google tem exemplos).

 

 

2. Pegando os Dados do McMMo Skills e Total do Mysql:

//Mcmmo Skills
//Pegando o ID do McMMo do Player pelo nome informado em $svusername.
$idmcmmo = mysql_query("SELECT `id` FROM `mcmmo_users` WHERE user = '$svusername'",$dbconn)
or die(mysql_error());

while($skid = mysql_fetch_array($idmcmmo, MYSQL_ASSOC)) {
$mcid = $skid['id']; //Temos o ID!
}
//Pegando as Skills
$skmcmmo = mysql_query("SELECT `taming`,`mining`,`woodcutting`,`repair`,`unarmed`,`herbalism`,`excavation`,`archery`,`swords`,`axes`,`acrobatics`,`fishing`,`alchemy`
FROM `mcmmo_skills` WHERE user_id = '$mcid'",$dbconn)
or die(mysql_error());
//Associando as skills nas variaveis para usarmos depois.
while($skills = mysql_fetch_array($skmcmmo, MYSQL_ASSOC)) {
$taming = $skills['taming'];
$mining = $skills['mining'];
$woodcutting = $skills['woodcutting'];
$repair = $skills['repair'];
$unarmed = $skills['unarmed'];
$herbalism = $skills['herbalism'];
$excavation = $skills['excavation'];
$archery = $skills['archery'];
$swords = $skills['swords'];
$axes = $skills['axes'];
$acrobatics = $skills['acrobatics'];
$fishing = $skills['fishing'];
$alchemy = $skills['alchemy'];
$mcmmototal = $taming+$mining+$woodcutting+$repair+$unarmed+$herbalism+$excavation+$archery+$swords+$axes+$acrobatics+$fishing+$alchemy; //Somando as skills para exibirmos o Poder total também. } 

3. Pegando as Informações do Clan do Player no Mysql:

//Simple Clans
//Pegando as informações do Player pelo nome informado em $svusername.

$sciplayer = mysql_query("SELECT `leader`,`tag`,`neutral_kills`,`rival_kills`,`civilian_kills`,`deaths` FROM `sc_players` WHERE name = '$svusername'",$dbconn)
or die(mysql_error());

while($scinfo = mysql_fetch_array($sciplayer, MYSQL_ASSOC)) {
$sclider = $scinfo['leader']; //Temos se ele é lider do Clan ou Não
$sctag = $scinfo['tag']; //Tag do clan que o player participa.
$scdeaths = $scinfo['deaths']; //Quantidade de mortes do Player.
}

//Ja temos o Clan que o player participa, vamos pegar as informações do Clan.
$scinclan = mysql_query("SELECT `name`,`color_tag`,`packed_rivals`,`packed_allies`,`flags` FROM `sc_clans` WHERE tag = '$sctag'",$dbconn) or die(mysql_error());

while($scclan = mysql_fetch_array($scinclan, MYSQL_ASSOC)) {

$scname = $scclan['name']; //Temos o Nome do Clan
$sccolor = $scclan['color_tag']; //A Tag com as cores.
$scriv = $scclan['packed_rivals']; //Tags dos rivais do Clan
$scalli = $scclan['packed_allies']; //Tags dos Aliados do Clan
$schome = json_decode($scclan['flags']);

$homex = $schome->{'homeX'}; //Home do Clan.
$homez = $schome->{'homeZ'};
$homey = $schome->{'homeY'};
$homew = $schome->{'homeWorld'};
$homewar = $schome->{'warring'};//Tag do clan que esta em guerra com seu clan.
}

 

 

 

4. Mostrando os dados em PHP:

Como ja temos as variáveis, podemos mostrar de qualquer jeito e aplicá-los onde quisermos.

Vamos mostrar o McMMo com barras bem legais, Azuis e Degradê, então tai o estilo que os divs vão usar (style.css):

<style type="text/css">

.alinhapwr {
height:14px;
float:left;
width:28%;
border:solid 1px #000;
text-align:center;
color:yellow;
background:#000;
font-weight:bold;
}

.alinha {
height:14px;
float:left;
width:28%;
border:solid 1px #000;
text-align:center;
color:#00a4cc;
background:#000;
font-weight:bold;
}

.externo {
height:14px;
width:70%;
border:solid 1px #000;
float:right;
}

.interno {
height:14px;

background: #b7deed; /* Old browsers */background: -moz-linear-gradient(top, #b7deed 0%, #71ceef 50%, #21b4e2 51%, #b7deed 100%); /* FF3.6+ */background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#b7deed), color-stop(50%,#71ceef), color-stop(51%,#21b4e2), color-stop(100%,#b7deed)); /* Chrome,Safari4+ */background: -webkit-linear-gradient(top, #b7deed 0%,#71ceef 50%,#21b4e2 51%,#b7deed 100%); /* Chrome10+,Safari5.1+ */background: -o-linear-gradient(top, #b7deed 0%,#71ceef 50%,#21b4e2 51%,#b7deed 100%); /* Opera 11.10+ */background: -ms-linear-gradient(top, #b7deed 0%,#71ceef 50%,#21b4e2 51%,#b7deed 100%); /* IE10+ */background: linear-gradient(to bottom, #b7deed 0%,#71ceef 50%,#21b4e2 51%,#b7deed 100%); /* W3C */filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#b7deed', endColorstr='#b7deed',GradientType=0 ); /* IE6-9 */
}

</style>  

Mostrando as Informações em uma página php:

<span style="color:#00a4cc;font-weight:bold">Skills RPG McMMo:</span></center><br>
<?php

//Verificamos se este player ja tem pelomenos alguma informação para mostrar em espadas, senão nao mostramos nada.
if($swords ==null){ //Se ja tiver informações em espadas, mostramos o restante.
echo '<strong>Sem informações até o momento!</strong><br>';} else {?>

<strong>Poder Total:</strong><br>
<div class="alinhapwr"><?php echo $mcmmototal ?>/13k</div>
<div class="externo">
<?php $perc = round(($mcmmototal/13000)*100,1); ?>
<div class="interno" style="width:<?php echo $perc ?>%;"></div>
</div><br>

<strong>Espada:</strong><br>
<div class="alinha" ><?php echo $swords ?>/1000</div>
<div class="externo">
<?php $perc = round(($swords/1000)*100,1); ?>
<div class="interno" style="width:<?php echo $perc ?>%;"></div>
</div><br>

<strong>Machado:</strong><br>
<div class="alinha" ><?php echo $axes ?>/750</div>
<div class="externo">
<?php $perc = round(($axes/750)*100,1); ?>
<div class="interno" style="width:<?php echo $perc ?>%;"></div>
</div><br>

<strong>Arqueiro:</strong><br>
<div class="alinha" ><?php echo $archery ?>/1000</div>
<div class="externo">
<?php $perc = round(($archery/1000)*100,1); ?>
<div class="interno" style="width:<?php echo $perc ?>%;"></div>
</div><br>

<strong>Minerar:</strong><br>
<div class="alinha" ><?php echo $mining ?>/1000</div>
<div class="externo">
<?php $perc = round(($mining/1000)*100,1); ?>
<div class="interno" style="width:<?php echo $perc ?>%;"></div>
</div><br>

<strong>Reparar:</strong><br>
<div class="alinha" ><?php echo $repair ?>/750</div>
<div class="externo">
<?php $perc = round(($repair/750)*100,1); ?>
<div class="interno" style="width:<?php echo $perc ?>%;"></div>
</div><br>

<strong>Desarmado:</strong><br>
<div class="alinha" ><?php echo $unarmed ?>/1000</div>
<div class="externo">
<?php $perc = round(($unarmed/1000)*100,1); ?>
<div class="interno" style="width:<?php echo $perc ?>%;"></div>
</div><br>

<strong>Escavação:</strong><br>
<div class="alinha" ><?php echo $excavation ?>/1000</div>
<div class="externo">
<?php $perc = round(($excavation/1000)*100,1); ?>
<div class="interno" style="width:<?php echo $perc ?>%;"></div>
</div><br>

<strong>Lenhador:</strong><br>
<div class="alinha" ><?php echo $woodcutting ?>/1000</div>
<div class="externo">
<?php $perc = round(($woodcutting/1000)*100,1); ?>
<div class="interno" style="width:<?php echo $perc ?>%;"></div>
</div><br>

<strong>Herbalismo:</strong><br>
<div class="alinha" ><?php echo $herbalism ?>/1500</div>
<div class="externo">
<?php $perc = round(($herbalism/1500)*100,1); ?>
<div class="interno" style="width:<?php echo $perc ?>%;"></div>
</div><br>

<strong>Químico(Alchemy):</strong><br>
<div class="alinha" ><?php echo $alchemy ?>/1000</div>
<div class="externo">
<?php $perc = round(($alchemy/1000)*100,1); ?>
<div class="interno" style="width:<?php echo $perc ?>%;"></div>
</div><br>

<strong>Acrobacia:</strong><br>
<div class="alinha" ><?php echo $acrobatics ?>/1000</div>
<div class="externo">
<?php $perc = round(($acrobatics/1000)*100,1); ?>
<div class="interno" style="width:<?php echo $perc ?>%;"></div>
</div><br>

<strong>Percaria:</strong><br>
<div class="alinha" ><?php echo $fishing ?>/1000</div>
<div class="externo">
<?php $perc = round(($fishing/1000)*100,1); ?>
<div class="interno" style="width:<?php echo $perc ?>%;"></div>
</div><br>

<strong>Domar:</strong><br>
<div class="alinha" ><?php echo $taming ?>/1000</div>
<div class="externo">
<?php $perc = round(($taming/1000)*100,1); ?>
<div class="interno" style="width:<?php echo $perc ?>%;"></div>
</div>
<?php } ?>

 

 

 

Pronto! Se der tudo certo, vcs vão ter algo parecido com isso, exceto com as informações de Kills e VIPs, mas que usei os mesmos métodos para pegar do MySql e exibir:

 

McMMO do Player:

e062906da0de8db659a24d11c760715d.png

 

 

 

O Clan do player:

60ce229c3d20bd64dd0bc1fae36557d7.png

(Tem uma pequena personalização, e um tema tambem!)

 

 

 

Parece tudo bem grande e complicado mas são dicas pra quem ja entende um pouco de PHP e quer implementar seus próprios recursos em seus sites! Em breve vou tentar fazer Modulos pro Joomla pra só instalar, colocar as informações e usar, mas são planos!

 

Espero ajudar, e estarei disposto a tirar dúvidas!

 

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

Poderia passar seu site para eu ver como que fico pf ?

 

No caso, teria que ter uma conta no server pra ver a area de status e etc.

Se quiser, se cadastra no server com IP: mc.areaz12server.net.br - E usa seu login e senha do server lá no site!

 

Site: http://areaz12server.net.br/

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

No caso, teria que ter uma conta no server pra ver a area de status e etc.

Se quiser, se cadastra no server com IP: mc.areaz12server.net.br - E usa seu login e senha do server lá no site!

 

Site: http://areaz12server.net.br/

Obrigado irei verificar. :D

Link para o comentário
Compartilhar em outros sites

Tipo 1 pasta com os arquivos. ;-;

É que eu não tenho muita experiencia mas eu queria isso pro meu site

Então, eu expliquei módulo por módulo. Vc pode usar de acordo com as configuraçõs do seu site, e especificamente com Joomla, então fica dificil bolar um padrão!

Este tutorial te ensina a pegar os dados do banco de dados tendo em mente que vc ja saiba o básico pra manipular eles, por isso eles estão explícitos aqui.

Se desse eu faria, mas não tem "um padrão" pra o uso deles.

 

Poderia até bolar, mas msm assim talvez não funcionasse devido algumas informações serem espicificas como a build do seu joomla e etc..

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

Então, eu expliquei módulo por módulo. Vc pode usar de acordo com as configuraçõs do seu site, e especificamente com Joomla, então fica dificil bolar um padrão!

Este tutorial te ensina a pegar os dados do banco de dados tendo em mente que vc ja saiba o básico pra manipular eles, por isso eles estão explícitos aqui.

Se desse eu faria, mas não tem "um padrão" pra o uso deles.

 

Poderia até bolar, mas msm assim talvez não funcionasse devido algumas informações serem espicificas como a build do seu java e etc..

Certo ...

Mesmo assim obrigado :D

Link para o comentário
Compartilhar em outros sites

Participe da Conversa

Você pode postar agora e se cadastrar mais tarde. Se você tiver uma conta, a class='ipsType_brandedLink' href='https://gamersboard.com.br/login/' data-ipsDialog data-ipsDialog-size='medium' data-ipsDialog-title='Sign In Now'>acesse agora para postar com sua conta.
Observação: sua postagem exigirá aprovação do moderador antes de ficar visível.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.

Processando...
×
×
  • Criar Novo...