Oblivion:Vernichten von Referenzen: Unterschied zwischen den Versionen
Keris (Diskussion | Beiträge) K (→Handhabung) |
Keris (Diskussion | Beiträge) K |
||
Zeile 48: | Zeile 48: | ||
− | {{ Scriptkategorie |Referenzen erhalten| | + | {{ Scriptkategorie |Referenzen erhalten|Level_2_Scripts|Vernichten von Referenzen }} |
Aktuelle Version vom 15. April 2009, 13:29 Uhr
Inhaltsverzeichnis
Anwendung
Aufgabenstellung
Es sollen mit PlaceAtMe kontinuierlich erzeugte Kürbisse nach einem Frame (bzw. einem Scriptaufruf) wieder vernichtet werden.
Theorie
Im Gegensatz zu MoveTo werden mit PlaceAtMe nicht vorhandene Referenzen bewegt sondern neue erzeugt. Damit werden auch die Savegames größer.
Referenzen auf Actors verschwinden drei Tage nach ihrem Tod zusammen mit dem Körper (sofern sie nicht respawnen).
Sollte es sich bei der erzeugten Referenz um eine aufnehmbare Referenz handeln, lässt sie sich relativ einfach vernichten. Dazu muss die Referenz in einer Ref-Variablen zwischengespeichert werden (die Referenz wird von PlaceAtMe beim Erzeugen geliefert). Nach Aufnahme in einem Container (dies darf kein „richtiger“ Container sein, man muss statt dessen einen Actor nehmen) werden sie dort mit RemoveAllItems entfernt.
Realisierung
Umgebung
Es gibt einen essentiellen Actor (am einfachsten in einer Dummy Cell) mit einer persistenten Referenz TrashContainerRef.
Script
<tesscript>Scn CreateAndDestroyReference
- Written by LowPost
- 02.11.08
ref MyObject Ref MyContainer short CreateOrDestroy
Begin OnLoad
Set MyContainer to TrashContainerRef
end
Begin GameMode
if CreateOrDestroy == 0 Set CreateOrDestroy to 1 Set MyObject to Player.PlaceAtMe Pumpkin 1 0 0 ; Return else
MyObject.Activate MyContainer MyContainer.RemoveAllItems
Set CreateOrDestroy to 0 endif
End </tesscript>
Handhabung
Das Script kann als Objectscript genutzt werden.
Weiterführende Hinweise
Weitere Scripts aus dieser Kategorie
Level 3
{{#if: Referenzen erhalten | }}
{{#if: Level_2_Scripts | }}