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,' ' AS data3, IF(dragonage,dragonage,'Unknown') AS data4, ' ' 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", " ", "Tage", " ", "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/ |