-
Ehrengarde
Hmm. Mit OBSE könnte das so klappen:
1. Checken, was an normalen "Bezahl-Items" in der Kiste ist mittels dem normalen "GetItemCount". Also jedesmal, wenn "GetItemCount" > 0 ist (für Perle, Nugget, ...), eine Variable eins rauf zählen.
2. Checken, ob außer dem Bezahlstuff noch mehr in der Kiste liegt. Ist der Fall, wenn "GetNumItems" größer ist als der eben ermittelte Wert an unterschiedlichen Bezahlsachen.
3. Kiste verschließen, ein Bezahl-Item abziehen, Flags löschen, nach 24 Stunden wieder öffnen lassen.
Wie kann man Flags löschen? Evtl. mit der "RemoveAllItems"-Funktion. Laut Beschreibung löscht sie das Ownership-Flag. Du müßtest dann noch eine Dummy-Kiste an einen unzugänglichen Ort stellen und per RemoveAllItems die Items einmal dorthin verschieben und wieder zurück. Habe aber noch nie probiert, ob das gestohlene Items wirklich "sauber" macht.
*edit*
Das Hauptproblem ist wohl, der Kiste mitzuteilen, wasnn sie loslegen soll. Mit der GetNumItems-Funktion kann man das automatisieren. Allerdings könntest du das z.B. auch per Message-Box machen. Dazu müßtest du den OnActivate-Block überschreiben, und zwar folgendermaßen:
1. Wenn wir gerade nicht in der 24-Stunden-Löschperiode sind, Frage stellen: Kiste öffnen oder "Reinigung" starten?
1.1 Kiste öffnen -> "Activate" feuern.
1.2 Reinigen: Bezahlsachen checken. Wenn nix da, meckern. Wenn doch, loslegen.
2. Wenn wir schon in der 24-Stunden-Löschperiode sind, Message schicken ("Bitte warten
").
Das wäre vermutlich der komfortabelste Weg. Ganz ohne OBSE.
Geändert von Gorkon (03.11.2006 um 11:06 Uhr)
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln