anpera.net
http://anpera.homeip.net/phpbb3/

Itemeditor
http://anpera.homeip.net/phpbb3/viewtopic.php?f=25&t=4887
Seite 1 von 1

Autor:  Shawn [ Mi 13 Mai, 2009 09:35 ]
Betreff des Beitrags:  Itemeditor

Habe die SuFu benutzt und nichts gefunden..

Ich benutze die version 0.9.7+jt ext (GER) . Das Häusersystem von Chaosmaker.

Es geht um die eingelagerten Items im Haus. Wenn ein Spieler gelöscht wird, sind die eingelagerten Items immer noch im Haus sichtbar. Ich kann sie im Itemeditor ja unter Möbel sehen und auch löschen, das aber eine langwierige Sache, da tausende Items da sind, und man nur immer eine Seite Vorwärts kommt und zusätzlich, wenn man eines löscht, wieder auf die Startseite, also ganz am Anfang gelangt und sich wieder mühsam durchklicken muss. Nun meine Fragen...

1. Gibt es da vielleicht schon eine Itemeditorerweiterung das es einfacher geht?? Oder ein Hack, das man zumindestens nach dem löschen auf der Seite landet, woman zuletzt gelöscht hat, und nicht wieder am Anfang landet?

2. Ich habe versucht es in der DB zu machen, was aber das Problem aufwirft, das ich von gelöschten Usern nicht die ID mehr kenne. Und Items mit ID (Owner) "Null" sind das ja leider nicht. Gibt es da ne andere Möglichkeit?

3. Wenn das Spiel einen inaktiven User automatisch löscht, löscht es dann auch die Items aus seinen Haus automatisch? Oder bleiben die nur drin, wenn per Hand ein User gelöscht wird??

4. Gibt es einen SQL Befehl, wo ich zB. aus der Itemtabelle, alle Items die den User mit (Owner) ID 1122 gehören löscht?

Danke für die Aufmerksamkeit..

Autor:  Eliwood [ Mi 13 Mai, 2009 10:13 ]
Betreff des Beitrags:  Re: Itemeditor

Löschen aller Items von Besitzer mit der Account-ID $acctid:
$this->bbcode_second_pass_code('', 'DELETE FROM items WHERE owner = $acctid')
Löschen aller Items von Besitzer mit dem Loginnamen $login:
$this->bbcode_second_pass_code('', 'DELETE FROM items WHERE owner = (SELECT acctid FROM accounts WHERE login = "$login")')
Das löschen aller Items von Besitzer-ID's, die nicht mehr in den Accounts stecken, sollte auch möglich sein:
$this->bbcode_second_pass_code('', 'DELETE FROM items WHERE owner NOT IN (SELECT acctid FROM accounts) AND owner != 0')

Ungetestet und keine Garantie wie üblich.

Zu den restlichen Fragen:
Der Itemeditor wurde noch nie überarbeitet, meines Wissens gibt es also davon keine neue Version. Die Items sollten gelöscht werden, zumindest ein Teil davon - in der setnewday.php steht die Löschroutine. Da anpassen, wenn neues dazukommt. Vergessen ziemlich viele.

Autor:  Auric [ Mi 13 Mai, 2009 10:19 ]
Betreff des Beitrags:  Re: Itemeditor

Hallo Shawn,

Ich fürchte, hier wirst du mal wieder mit der Uneinheitlichkeit des LotgD-Codes zu kämpfen haben. Wenn User gelöscht werden, findet das nicht über eine gemeinsame Funktion sondern über separat geschriebenen Code statt.

Bei der Selbstlöschung und beim Löschen durch den Admin werden alle Items auf Owner = 0 gesetzt, das ändert sich auch durch Chaosmaker's WV nicht.

Bei der regelmäßigen Löschung nach X Tagen werden zunächst (wenn die warn-Mail gesendet wird) die Items auf Owner = 0 gesetzt. Ist Chaosmakers WV installiert, werden beim eigentlichen Löshen des Chars alle Items, die dann noch den gelöschten Usern gehören gelöscht (bis auf die Schlüssel).


Nun aber zu deinen Fragen:
1.) Mir ist kein solcher Mod bekannt, das muss aber nicht heißen, dass es ihn nicht gibt.
2.) Hier kann man mit ein bisschen Kenntnis von SQL Abhilfe schaffen - quick&dirty geht zum Beispiel folgendes: $this->bbcode_second_pass_code('', 'SELECT * FROM items WHERE owner NOT IN (SELECT acctid FROM accounts);')
Besser, aber etwas komplizierter:
$this->bbcode_second_pass_code('', 'SELECT i.* FROM items i LEFT OUTER JOIN accounts a ON i.owner = a.acctid WHERE ISNULL(a.acctid);')
Das ganze aber nicht gleich in DELETE umstellen, da auch die Item-Prototypen und Schlüssel noch mit diesen Querys gefunden werden. Die sollten sich aber recht leicht filtern lassen (speziell mit der Funktion RIGHT()).
3.) Sollte oben geklärt sein
4.) Den solltest du doch wohl selbst hin bekommen... DELETE FROM items....

Auric

Autor:  Shawn [ Mi 13 Mai, 2009 10:38 ]
Betreff des Beitrags:  Re: Itemeditor

Danke für die schnellen und Gut erklärten Antworten. Das hat mir doch schon sehr geholfen.

Autor:  Rikkarda [ Mi 13 Mai, 2009 17:42 ]
Betreff des Beitrags:  Re: Itemeditor

das zeigt aber auch, dass du den Changeslog von anpera nicht bearbeitet hast, denn unabhängig vom Wohnviertel ist das Item Problem in jedem WV gewesen, und der fix steht im zugehörigen Changeslog

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