anpera.net
https://anpera.homeip.net/phpbb3/

Ruhmeshalle
https://anpera.homeip.net/phpbb3/viewtopic.php?f=34&t=3143
Seite 1 von 1

Autor:  Setto [ So 26 Nov, 2006 12:04 ]
Betreff des Beitrags:  Ruhmeshalle

hi ich habe ien problem..naja also ich bin ziemlich neu in sachen php und mysql aber ich habe jetzt mein eigenes lotgd..da ich früher leidenschaftlich gespielt habe (danke @ deZent und DraKarr mit eurem plueschdrache..es ist echt spitze) wollte ich natürlich gleich die god-mode und alles ausprobieren...
jetzt zum problem..wir sind 2 admins und besetzen jetzt die ruhmeshalle mit powerschläger von ein paar millionen...das ist sinnlos, weil wir damit den anderen den spass nehmen, sich auf den 1. platz der ruhmeshalle vorzukämpfen. deswegen meine frage:
ist es möglich die admins oder bestimmte accounts von der ruhmeshalle auszuschließen ? und wenn ja, wie ?
vielen dank schonmal für die antworten.

Autor:  Harthas [ So 26 Nov, 2006 12:45 ]
Betreff des Beitrags: 

Du musst einfach immer die Where-Bedinungen in der hof.php erweitern.

Beispiel:

Aus:
[php]WHERE locked=0[/php]
Wird:
[php]WHERE locked=0 AND superuser<3[/php]


;-)
So werden nur diejenigen angegeben, bei welchen Superuser<3 ist

Autor:  Setto [ So 26 Nov, 2006 12:53 ]
Betreff des Beitrags: 

also bei allen WHERE locked=0 oder nur bei einem bestimmten ?

Autor:  Harthas [ So 26 Nov, 2006 12:58 ]
Betreff des Beitrags: 

Immer bei denen, in welchen ihr herausgefiltert werden solltet ;-)

Autor:  Setto [ So 26 Nov, 2006 13:00 ]
Betreff des Beitrags: 

ok..ich habs jetzt überall gemacht, aber hab immernoch ein problem...

[php]$op = "kills";
if ($_GET['op']) $op = $_GET['op'];
$subop = "most";
if ($_GET['subop']) $subop = $_GET['subop'];

$sql = "SELECT count(acctid) AS c FROM accounts WHERE locked=0 AND superuser<3";
if ($op == "kills") {
$sql = "SELECT count(acctid) AS c FROM accounts WHERE locked=0 AND superuser<3 AND dragonkills>0";
} elseif ($op == "days") {
$sql = "SELECT count(acctid) AS c FROM accounts WHERE locked=0 AND superuser<3 AND dragonkills>0 AND bestdragonage>0";
}[/php]

also die drachenkills und die geschwindigkeit werden immernoch die admins angezeigt..obwohl ich doch da das mit dem superuser eingefügt habe...

Autor:  Harthas [ So 26 Nov, 2006 13:45 ]
Betreff des Beitrags: 

Ich glaube, dass dazu noch eine weitere Stelle gebraucht wird. Denn bei diesen SQL wird nur die Anzahl der Einträge ermittelt... Nicht die Einträge an sich.

Autor:  Setto [ So 26 Nov, 2006 15:29 ]
Betreff des Beitrags: 

und das heißt ? wo muss ich noch das hinschreiben ?

Autor:  Harthas [ So 26 Nov, 2006 15:45 ]
Betreff des Beitrags: 

Hier für die Geschwindigkeit
[php]} elseif ($_GET['op']=="days") {
$order = "ASC";
if ($_GET[subop] == "least") $order = "DESC";
$sql = "SELECT name, IF(bestdragonage,bestdragonage,'Unknown') AS data1 FROM accounts WHERE dragonkills>0 AND locked=0 AND bestdragonage>0 ORDER BY bestdragonage $order, level $order, experience $order, acctid $order LIMIT $limit";
$adverb = "schnellsten";
if ($_GET[subop] == "least") $adverb = "langsamsten";
$title = "Helden mit den $adverb Drachenkills";
$headers = array("Bestzeit Tage");
$none = "Es gibt noch keine Helden in diesem Land";
display_table($title, $sql, $none, false, $headers, false);[/php]



Und hierfür die Dragonkills:
[php]} else {
$sql = "SELECT name,dragonkills AS data1,level AS data2,'&nbsp;' AS data3, IF(dragonage,dragonage,'Unknown') AS data4, '&nbsp;' AS data5, IF(bestdragonage,bestdragonage,'Unknown') AS data6 FROM accounts WHERE dragonkills>0 AND locked=0 ORDER BY dragonkills $order,level $order,experience $order, acctid $order LIMIT $limit";
$adverb = "meisten";
if ($_GET[subop] == "least") $adverb = "wenigsten";
$title = "Helden mit den $adverb Drachenkills";
$headers = array("Kills", "Level", "&nbsp;", "Tage", "&nbsp;", "Bestzeit");
$none = "Es gibt noch keine Helden in diesem Land";
display_table($title, $sql, $none, false, $headers, false);
}[/php]

Autor:  Drazaar [ Do 30 Nov, 2006 23:26 ]
Betreff des Beitrags: 

Elegantere Lösung btw:

Das in SQL ausführen:

[php]ALTER TABLE `accounts` ADD `invisible` TINYINT( 4 ) DEFAULT '0' NOT NULL ;[/php]

[php]//öffne user.php
//suche:
"superuser"=>"Superuser,enum,0,Standard Spieltage pro Kalendertag,1,Unbegrenzt Spieltage pro Kalendertag,2,Kreaturen und Spott administrieren,3,User administrieren",

//füge darunter ein:
"invisible"=>"Nicht in Ruhmeshalle auflisten?,bool",
//SAVE, CLOSE & UPLOAD[/php]

Dann verfährst du wie bei der Beschreibung von Harthas und setzt in die Querys in denen du die Unsichtbarkeitsfunktion aktivieren können willst überall
[php]AND invisible<1[/php] in die WHERE clause ein.
€: Ich krieg das ?> nicht raus...kein Plan warum...aber es gehört NICHT rein natürlich ;)
MfG Draz :)

Autor:  Freya [ Mo 11 Jun, 2007 09:17 ]
Betreff des Beitrags: 

Hallo ihr
also bei mir klappt das super, mit den admins aus der ruhmeshalle
Doch wollte ich etwas fragen... kann man auch nur speziel, eine person aus der ruhmeshalle nehmen.

Wie bei mir zum Beispiel, ich habe einen Testchar... der steht aber auch in der ruhmeshalle.. ihc möcht das aber nicht, möchte aber das mein Adminaccount drin stehen bleibt...

Weis mir da einer eine lösung

Liebe grüße
Freya

Autor:  Rikkarda [ Mo 11 Jun, 2007 09:28 ]
Betreff des Beitrags: 

$this->bbcode_second_pass_code('', 'FROM accounts WHERE dragonkills>0 AND locked=0')


in


$this->bbcode_second_pass_code('', 'FROM accounts WHERE dragonkills>0 AND locked=0 AND acctid <> Die acctid des users den du raushaben möchtest...')

Seite 1 von 1 Alle Zeiten sind UTC + 1 Stunde
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/