Tárgy számolás (K)

Indította Para, 2013-05-22, 12:27:57

2013-05-22, 12:27:57 Utolsó szerkesztés: 2013-06-17, 22:04:03 Szerző: [MOD]Aegist
Sziasztok.

Abban kérnék segítséget,hogy miféle módon tudom azt megoldani:

Mutassa hány tárgy van összesen a szerveren
Mutassa hány karakter van összesen a szerveren
Mutassa hány Account van összesen a szerveren
és hogy Mutassa 50017(PvP-pont) kinek van a legtöbb?

Remélem jó helyre nyitottam a témát.

Előre is köszönöm.

Szia. Jó helyre nyitottad. Ezt hogy érted? Hogy hol mutassa? Weboldaladon?

Igen, a weboldalon :D

Láttam régebben 1-2 szerver honlapján is..


Ahhoz, hogy mutassa, hogy kinél van a legtöbb, tárolnod kéne SQL-ben is, hogy kinek mennyi van. Ezt questel megoldhatod.

C++ programmer at Gameloft

Hát, és ehez questet tudsz mutatni?:D

2013-05-24, 20:28:23 #5 Utolsó szerkesztés: 2013-05-24, 20:46:12 Szerző: Virus
Helló!

Nekem így néz ki:


"index.php"
<!---Státusz--->
<div id="sidebar_top">
Szerver Adatok
</div>
<div id="sidebar_middle">
<?php	include "php/statusbar.php";	?>

</div>
<div id="sidebar_footer">
</div>


"statusbar.php"
<table>
<?PHP
$serverip = '[i]Ide a szervered IP címe[/i]';
        $ip = gethostbyname($serverip);
        $portlist=array(13000,13001,13002,13004,3306); // Nyitott portok
        $status=array('<tr><td width="57%" height="18">CH1</td>',
   '<tr><td width="57%" height="18">CH2</td>',
   '<tr><td width="57%" height="18">CH3</td>',
   '<tr><td width="57%" height="18">CH4</td>',
   '<tr><td width="57%" height="18">Adatb&aacute;zis</td>'); 
        $i=0;

    foreach  ($portlist as $port){
    echo "".$status[$i]."";
        $online = @fsockopen($ip, $port, $errno, $errstr, 1);
    if (!$online)
    {
        echo '<td width="6%">&raquo;</td><td width="37%"><font color="#990000">&nbsp; Karbantartás</font></td></tr>';

    }
    else
    {
        echo '<td>&raquo;</td><td><font color="#669900">&nbsp;El&eacute;rhet&ocirc;</font></td></tr>';
    }
        @fclose($online);
        $i++;
    }
?>

<?php## Fiókokmysql_select_db("account");$query = mysql_query("SELECT id FROM account");$num = mysql_num_rows($query);## Karakterekmysql_select_db("player");$query = mysql_query ("SELECT id FROM player WHERE player.name NOT LIKE '[%]%'");$num2 = mysql_num_rows($query);## Céhekmysql_select_db("player");$query = mysql_query ("SELECT id FROM guild");$num3 = mysql_num_rows($query);## Tárgyakmysql_select_db("player");$query = mysql_query ("SELECT id FROM item");$num4 = mysql_num_rows($query);## Játékosok (24h)mysql_select_db("player");$exe = mysql_query("SELECT COUNT(*) as count FROM player WHERE DATE_SUB(NOW(), INTERVAL 1440 MINUTE) < last_play;");$player_online24 = mysql_fetch_object($exe)->count+0;## Játékosokmysql_select_db("player");$exe = mysql_query("SELECT COUNT(*) as count FROM player WHERE DATE_SUB(NOW(), INTERVAL 15 MINUTE) < last_play;");$player_online = mysql_fetch_object($exe)->count+0;?>

<table>
<br>
   <tr>
    <td>Aktiv játékos</td>
    <td>&raquo;</td>
    <td><font color="#336699">
<?php echo $player_online ?>
</font></td>
  </tr>
  <tr>
    <td>Aktiv játékos</td>
    <td>&raquo;</td>
    <td><font color="#336699">
<?php echo $player_online24 ?>
</font> (24h)</td>
  </tr>
  <tr>
    <td width="57%" height="18">Összes fiók</td>
    <td width="6%">&raquo;</td>
    <td width="37%"><font color="#336699">
<?php echo $num;?>
</font></td>
  </tr>
  <tr>
    <td>Összes karakter</td>
    <td>&raquo;</td>
    <td><font color="#336699">
<?php echo $num2;?>
</font></td>
  </tr>
  <tr>
    <td>Öszes céh</td>
    <td>&raquo;</td>
    <td><font color="#336699">
<?php echo $num3;?>
</font></td>
  </tr>
  <tr>
    <td>Öszes tárgy</td>
    <td>&raquo;</td>
    <td><font color="#336699">
<?php echo $num4;?>
</font></td>
  </tr>
</td></tr>
</table>
</table>


Tartalmaz:

- Aktív játékos
- Aktív játékos az elmúlt 24 órában (24h)
- Összes fiók
- Összes karakter
- Összes céh
- Összes tárgy


A legtöbb PvP pont lekérésére még nem jöttem rá. :DDDD
Természetesen a diveket és a formázásokat kiveheted.

Csinálsz player táblázatban egy új oszlopot és questel pl. mp-nként ellenőrizteted, hogy hány db pontja van, majd egy queryvel beviszed az adott ember sorába.
Majd az alábbi queryvel le tudod kérdezni:
select top 1 name, pont from player where pont = max(pont) order by level desc;

C++ programmer at Gameloft