Oblivion:RemoveMe

Aus Skript-Wiki
Version vom 17. Juni 2009, 20:20 Uhr von Tapferes Schneiderlein (Diskussion | Beiträge)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Wechseln zu: Navigation, Suche

Syntax:

RemoveMe [TargetContainerID]


Beispiel:

<tesscript>RemoveMe RemoveMe player </tesscript>


Entfernt das entsprechende Objekt aus dem Inventar des Container, der es enthält (wenn zutreffend). Wenn TargetContainerID spezifiziert ist, wird das Objekt in den Ziel-Container bewegt.


Hinweise:

  • Die Funktion funktioniert wie return, wenn sie ausgeführt wird -- die Zeilen des Scripts, die folgen, werden NICHT ausgeführt (weil es sich selbst in dem Prozess, sich selbst aus dem Inventar zu entfernen, zerstört hat) .
  • Die Funktion zeigt nicht die "xxx wurde entfernt" - Nachricht an.
  • Wenn man RemoveMe benutzt, sofort nachdem das Objekt hinzugefügt wurde, kann man Zufalls-Abstürze erhalten. Um das zu vermeiden, sollte man mehr als einen Frame warten, bis man das Item entfernt. Ein Timer im MenuMode oder GameMode von 10, der die RemoveMe-Funktion aufschiebt, sollte helfen.
  • Wenn RemoveMe innerhalb des Kaufmenüs ausgeführt werden kann, (z.B. innerhalb eines OnAdd-Blocks) , wird das Spiel abstürzen, wenn das Item mit dem Script stapelbar ist, man mehr als eins verkauft und dann vom "Verkaufen" auf "Kaufen" wechselt. Um das zu vermeiden, entweder vor dem Entfernen des Items warten, bis das Kaufmenü schließt (MenuMode = 1009) , oder kein solches Script auf stapelbaren nicht einzigartigen Objekten verwenden.
  • Die Funktion bewahrt Script-Variablen, Gesundheit, Aufladung und Zustand des Items.
  • Wenn es mehrere Objekte des gleichen Typs im Container gibt, kann dasjenige, welches zuerst entfernt wird, ein anderes sein als das, welches den Script ausgelöst hat.
  • Ein Ausführen der Funktion innerhalb von Blöcken wie OnEquip oder OnUnequip kann eine wiederholte Schleife dieser Blöcke bewirken. Wie auch immer, die Schleife kann verhindert werden, indem man sicherstellt, dass OnEquip oder OnUnEquip sich im zweiten Arbeitsgang befinden. Siehe Generic Unequip.


Siehe auch: