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

Das goldene Ei
https://anpera.homeip.net/phpbb3/viewtopic.php?f=34&t=2339
Seite 1 von 1

Autor:  Lestat [ Di 07 Mär, 2006 20:58 ]
Betreff des Beitrags:  Das goldene Ei

Hi!

Wir hatten auf unserem Server mal wieder Probleme damit, dass der eine oder andere Spieler, wenn er denn erstmal das Ei hat, es nicht mehr hergeben mag, und mit den üblichen Tricks auch verhindert, dass man es ihm abnimmt.

Für diesen Fall habe ich eine kleine komfortable Funktion in die Admingrotte eingebaut, um ihm das Ei wieder wegzunehmen, doch seht selbst ;)

in superuser.php

suche:
$this->bbcode_second_pass_code('', 'addnav("Mechanik");')

füge danach ein:
$this->bbcode_second_pass_code('', 'addnav("Goldenes Ei abnehmen","superuser.php?op=eggback");')
kann natürlich auch an anderer Stelle verlinkt werden

suche:
$this->bbcode_second_pass_code('', 'if ($_GET[op]=="checkcommentary"){
addnav("G?Zurück zur Grotte","superuser.php");
viewcommentary("' or '1'='1","X",100);')

füge danach ein:
$this->bbcode_second_pass_code('', '}else if ($_GET[op]=="eggback"){ //by Lestat @ http://www.logdwelt.de
$sql = "SELECT * FROM accounts WHERE acctid = ".getsetting("hasegg",0);
$result = db_query($sql) or die(db_error(LINK));
$eggowner = db_fetch_assoc($result);
if($eggowner)
{
output("`nIm Moment hat ".$eggowner['name']." das goldene Ei bei sich.");
addnav("Ei abnehmen","superuser.php?op=eggbackconfirm");
}
else
{
output("`nDas Ei liegt im Wald. Du kannst es niemandem abnehmen.");
}
addnav("G?Zurück zur Grotte","superuser.php");

}else if ($_GET[op]=="eggbackconfirm"){ //by Lestat @ http://www.logdwelt.de
$sql = "SELECT * FROM accounts WHERE acctid = ".getsetting("hasegg",0);
$result = db_query($sql) or die(db_error(LINK));
$eggowner = db_fetch_assoc($result);
savesetting('hasegg','0');
output("`nDas Ei liegt nun wieder im Wald.");
addnews("".$eggowner['name']." hat das goldene Ei verloren.");
systemmail($eggowner['acctid'],"`2Du hast das goldene Ei verloren","Du weisst auch nicht wie das passieren konnte. Wahrscheinlich hast du das Ei einfach schon zu lange, und wusstest es nicht mehr zu schätzen. Das soll schon vorkommen, dass man dann einfach unaufmerksam wird.");
addnav("G?Zurück zur Grotte","superuser.php");')

Hoffe es kann jemand brauchen. :)

Autor:  Kakerlake [ Mi 08 Mär, 2006 10:52 ]
Betreff des Beitrags: 

Warum sollte jemand das EI nicht wieder hergeben?

für den Fall gibt es den Waldspecialeditor, goldenegg.php einfach auf ganz häufig stellen und wenn man mit dem goldenen Ei auf dieses Special kommt stirbt man und verliert das Ei. Ansonsten kannst du auch in denSpieleinstellungen das Ei wegnehmen

Autor:  Meteora [ Mi 08 Mär, 2006 11:06 ]
Betreff des Beitrags: 

... oder man stellt ein, dass das Ei nach 3 RL-Tagen automatisch abgenommen wird ;)

Autor:  anpera [ Mi 08 Mär, 2006 14:38 ]
Betreff des Beitrags: 

..oder du gehst in die Admin-Grotte -> Spieleinstellungen und trägst unter "PvP" eine 0 in das Feld "Aktueller Besitzer des goldene Eis (Account-ID - 0=Niemand)" ein. ;)

Autor:  Lestat [ Mi 08 Mär, 2006 18:50 ]
Betreff des Beitrags: 

Doh! Also das in den Spieleinstellungen hatte ich schlicht übersehen. :pein:
Naja, war ja nicht viel Arbeit. :roll:

zumindest hat diese Funktion den Vorteil, dass die User, denen das Ei abgenommen wird 'ne Systemmail bekommen.

Achja.. kann es sein, dass der Waldspecial-Editor nicht im Standardrelease drin ist? Hab den nämlich nicht drin.

Gruß

Autor:  Meteora [ Mi 08 Mär, 2006 19:41 ]
Betreff des Beitrags: 

[quote="Lestat"
Achja.. kann es sein, dass der Waldspecial-Editor nicht im Standardrelease drin ist? Hab den nämlich nicht drin.

Gruß[/quote]

Noe, der WSEditor ist ein Standalone Mod und nicht im paket enthalten.

Autor:  TruckerB [ So 12 Mär, 2006 09:14 ]
Betreff des Beitrags: 

Also ich finde diese funktion echt praktisch. Fürs manuelle abnehmen des Eies, soll ja auch vorkommen, das man das machen muss^^

Ne kleine Verbesserung habe ich mir eingebaut, damit man sieht, ob evl. der Eiinhaber inaktiv ist:

Suche:
$this->bbcode_second_pass_code('', 'output("`nIm Moment hat ".$eggowner['name']." das goldene Ei bei sich.')

Füge dahinter ein:
$this->bbcode_second_pass_code('', 'Das letzte mal war er/sie am ".$eggowner['lasthit']." online')


Dann sieht man, wann der letzte Login war und kann das Ei evl zurück holen...

Autor:  Eliwood [ So 12 Mär, 2006 12:02 ]
Betreff des Beitrags:  Re: Das goldene Ei

Du brauchst in KEINEM Fall ALLE Spalten des betroffenen Accounts!

[php]$sql = "SELECT * FROM accounts WHERE acctid = ".getsetting("hasegg",0); [/php]

Für gewöhnlich listet man das benötigte auf, also z.B.

[php]$sql = "SELECT `name`,`acctid`,`login` FROM `accounts` WHERE `acctid` = ".getsetting("hasegg",0); [/php]

Nochwas: Für gewöhnlich macht man am Ende des Namens in einem Text wieder ein Farbcode hin - je nach Name kann es lustig aussehen ;)

Autor:  Lestat [ So 12 Mär, 2006 15:08 ]
Betreff des Beitrags: 

Danke für die Hinweise :)
Dachte schon der Thread sei damit erledigt, dass man das auch in den Spieleinstellungen machen kann.

Edit: Das mit den DB-Feldern des Accounts war mir auch bewusst, allerdings wird dieses Query im Normalfall vielleicht 2-3 mal im Jahr ausgeführt, von daher. Aber natürlich hast du recht: Richtiger wäre es. Ich war eben faul und wollte mir an dieser Stelle keine Gedanken machen :P

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