[Release] Team Online php

08/06/2012 18:52 .Nexus'#1
Hallo leute,
da ich bei elitepvpers nirgendswo einen Team Online php script gefunden habe in dieser Art, habe ich mir gedacht das ich mich mal mit php befasse um ein eigenden schreiben. Ist zwar nichts besonderes aber vielleicht hilft es ja jemanden ;) Hier der php code , ihr müsst nur die Namen ändern ( [SA]Nexus/[SL]Fly/[GA]Speedy) in die , die ihr haben wollt.
PHP Code:
<table>
<tr>
  <td width=75 align=center>Name</td>
  <td width=75 align=center>Status</td>
</tr>
</Table>
<div id=splatz></div>
<table>
<?php

$GMLIST 
= array('[SA]Nexus','[SL]Fly','[GA]Speedy'); // Add GM Name there

for($i=0;$i<count($GMLIST);$i++)
        {
        
$sqlCmd mysql_fetch_array(mysql_query("SELECT *,count(*) as total_line FROM player.player WHERE name = '".$GMLIST[$i]."' AND DATE_SUB(NOW(), INTERVAL 5 MINUTE) < last_play LIMIT 1"));
        
?>
        <tr><td><FONT SIZE=3><?=$GMLIST[$i];?></FONT></td>
        <?php
        
if ($sqlCmd['total_line'] > 0){
            echo 
"<td><font color=#639c4e> <FONT SIZE=3>(Online)</FONT></font></p></td>";
        }else{
            echo 
"<td><font color=#8b0000> <FONT SIZE=3>(Offline)</FONT></font></p></td>";
        }
        }
        
?>
</tr>
</table>
<div id=splatz></div>
So sieht es dann aus (Auf 2 seiten getestet)
[Only registered and activated users can see links. Click Here To Register...]
Mit freundlichen Grüßen
PS : Danke an clad3815 für die Korrektur / Thanks to clad3815 for the correction ;)
08/06/2012 19:06 .United#2
meine HP auf dem rechten Bild :D
Danke könnten wahrscheinlich viele gebrauchen, so wie ich. (Kein guter Scripter :D)
08/06/2012 19:15 clad3815#3
I have correct your script for better mysql usage

PHP Code:
<table>
<tr>
  <td width=75 align=center>Name</td>
  <td width=75 align=center>Status</td>
</tr>
</Table>
<div id=splatz></div>
<table>
<?php

$GMLIST 
= array('[SA]Nexus','[SL]Fly','[GA]Speedy'); // Add GM Name there

for($i=0;$i<count($GMLIST);$i++)
        {
        
$sqlCmd mysql_fetch_array(mysql_query("SELECT *,count(*) as total_line FROM player.player WHERE name = '".$GMLIST[$i]."' AND DATE_SUB(NOW(), INTERVAL 5 MINUTE) < last_play LIMIT 1"));
        
?>
        <tr><td><FONT SIZE=3><?=$GMLIST[$i];?></FONT></td>
        <?php
        
if ($sqlCmd['total_line'] > 0){
            echo 
"<td><font color=#639c4e> <FONT SIZE=3>(Online)</FONT></font></p></td>";
        }else{
            echo 
"<td><font color=#8b0000> <FONT SIZE=3>(Offline)</FONT></font></p></td>";
        }
        }
        
?>
</tr>
</table>
<div id=splatz></div>
08/06/2012 20:04 IgorGlock#4
Quote:
Originally Posted by B0XeR #1 View Post
Danke, da freuen sich unsere Scripter sicherlich (=
Das zu kopieren&einzufügen muss man kein Skripter sein.
08/06/2012 21:42 __BuRn3R#5
Quote:
Originally Posted by B0XeR #1 View Post
Danke, da freuen sich unsere Scripter sicherlich (=
Warum sollten sich Scripter/Coder über ein Script freuen, das sie in 5 Minuten genauso gut schreiben könnten? Eher den unerfahrenen Leuten.
__

Ich bin mir nicht sicher, aber ich denke das gabs schon vermehrt,
08/06/2012 21:56 lautlosertot#6
schön das ich als GA im script bin :D aber das gibt es schon häufiger...
08/06/2012 22:53 .Nexus'#7
Wo gibts das denn? Ich kann mir das zwar gut vorstellen das es das schon gibt (is ja nicht wirklich viel Arbeit für einen scripter) aber ich hab nichts gefunden.
08/06/2012 22:58 theo1990#8
Quote:
<?PHP
$mysql_host = 'localhost';
$mysql_user = 'mt2';
$mysql_pw = 'dein pw';
$mysql_db = 'player';
$mysql_db_1 = 'common',


$select_db = mysql_select_db

$link = mysql_connect($mysql_host, $mysql_user, $mysql_pw) or die ("Es konnte keine verbindung hergestellt werden)";
print mysql_error();

$mysql_db_select = mysql_select_db($mysql_db_1, $link);
$select_GMLIST = "SELECT mName FROM gm_list WHERE 1 Limit 10";


$abfr_gm = mysql_query($select_GMLIST);

$i=0;
while ($row = mysql_fetch_array($abfr_gm))
{
$gm = $row["$i"];
$datum = date"(EUER DATUMSFORMAT) wie das geht steht auf php.net)"
$mysql_db_select = mysql_select_db($mysql_db, $link);
$select_zeit = "SELECT name,last_play FROM player WHERE name='$gm' AND last_play LIKE '$datum%' ORDER BY name LIMIT 0, 30";
$abfr_lastplay = mysql_query($select_zeit);
$row_gesamt = mysql_fetch_assoc($abfr_lastplay);

echo "<tr>";
echo "<td>$row_gesamt['name']</td>";
echo "</tr>";

$i++;
$mysql_db_select = mysql_select_db($mysql_db_1, $link);
}
?>
das hab ich mal schnell gemacht. Klar es ist noch lange nicht fertig aber die formatierung mach ich morgen dann schreib ich den fertigen code hier rein. Testen könnt ihr es ja mal aus spaß.

Beim datum unter der while schleife müsst ihr erst mal schauen wie das format in der db ist also wie das feld dort definiert ist. Ich konnte nicht nachschauen weil ich gerade keine db zurhand habe. wenn ihr das habt sollte es gehen.
08/07/2012 01:01 clad3815#9
Quote:
Originally Posted by theo1990 View Post
das hab ich mal schnell gemacht. Klar es ist noch lange nicht fertig aber die formatierung mach ich morgen dann schreib ich den fertigen code hier rein. Testen könnt ihr es ja mal aus spaß.

Beim datum unter der while schleife müsst ihr erst mal schauen wie das format in der db ist also wie das feld dort definiert ist. Ich konnte nicht nachschauen weil ich gerade keine db zurhand habe. wenn ihr das habt sollte es gehen.
Mysql query inside mysql query isn't the best solution. If you want import GM list directly by database common use this

PHP Code:
<?php
// Uncomment for use Mysql Connection or just include your connection file (Exemple : include('conf.php');)
//define('MYSQL_IP','');
//define('MYSQL_USER','');
//define('MYSQL_PASS','');
//mysql_connect(MYSQL_IP,MYSQL_USER,MYSQL_PASS); 
$GMLIST = array();
$SELECT_ALL_GAME_MASTER mysql_query("SELECT mName as gm_name FROM common.gmlist");
while(
$row mysql_fetch_array($SELECT_ALL_GAME_MASTER)){
    
$GMLIST[] = $row['gm_name'];
}
?>
<table>
<tr>
  <td width=75 align=center>Name</td>
  <td width=75 align=center>Status</td>
</tr>
</Table>
<div id=splatz></div>
<table>
<?php

for($i=0;$i<count($GMLIST);$i++)
        {
        
$sqlCmd mysql_fetch_array(mysql_query("SELECT *,count(*) as total_line FROM player.player WHERE name = '".$GMLIST[$i]."' AND DATE_SUB(NOW(), INTERVAL 5 MINUTE) < last_play LIMIT 1"));
        
?>
        <tr><td><FONT SIZE=3><?=$GMLIST[$i];?></FONT></td>
        <?php
        
if ($sqlCmd['total_line'] > 0){
            echo 
"<td><font color=#639c4e> <FONT SIZE=3>(Online)</FONT></font></p></td>";
        }else{
            echo 
"<td><font color=#8b0000> <FONT SIZE=3>(Offline)</FONT></font></p></td>";
        }
        }
        
?>
</tr>
</table>
<div id=splatz></div>
08/07/2012 06:42 _Jimbo#10
Schafft es jemand so zu schreiben das es sehr schnell ist und vllt per sockets oder so dann ist die anzeige viel genauer.
08/07/2012 06:53 theo1990#11
Quote:
Mysql query inside mysql query isn't the best solution. If you want import GM list directly by database common use this
yes i know! But your way show only the gm'S. He wants a script wiche shows the gms online right now.

@ Shyn3X

hehe mit sicherheit DU. Ich wollte denen nur bisschen helfen, weil sie es wenigstens versucht haben, bzw. das irgendwo abgekupfert habe ;-) . Außerdem läuft mein script nur durch wenn auch die seite aktualisiert wird. besser wäre es wenn ein cron das script ausführen würde.
08/07/2012 13:43 clad3815#12
Quote:
Originally Posted by theo1990 View Post
yes i know! But your way show only the gm'S. He wants a script wiche shows the gms online right now.

@ Shyn3X

hehe mit sicherheit DU. Ich wollte denen nur bisschen helfen, weil sie es wenigstens versucht haben, bzw. das irgendwo abgekupfert habe ;-) . Außerdem läuft mein script nur durch wenn auch die seite aktualisiert wird. besser wäre es wenn ein cron das script ausführen würde.
My script show the online GMs

PHP Code:
$sqlCmd mysql_fetch_array(mysql_query("SELECT *,count(*) as total_line FROM player.player WHERE name = '".$GMLIST[$i]."' AND DATE_SUB(NOW(), INTERVAL 5 MINUTE) < last_play LIMIT 1"
08/07/2012 15:34 _Jimbo#13
ja aber ich meine das so mit den sockets dass wenn z.b. ich online gehe das es sofort auf der homepage steht ??
08/07/2012 16:38 Al.Pacino#14
Quote:
Originally Posted by Shyn3X View Post
Schafft es jemand so zu schreiben das es sehr schnell ist und vllt per sockets oder so dann ist die anzeige viel genauer.
Spieler-Online/Offline Abfrage wird es vermutlich nicht geben via Sockets, kann mich aber täuschen. Bin mit IDA und der Core nicht vertraut, wird aber denke Ich nicht möglich sein, behaupte Ich mal ganz dreist.
08/10/2012 22:44 .Nexus'#15
Ich stimme Al.Pacino zu