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