Oblivion:Inventar komplett ablegen: Unterschied zwischen den Versionen
Zeile 1: | Zeile 1: | ||
+ | == Allgemeine Bemerkung == | ||
+ | Sowohl bei dem Inventar des Players, als auch dem von NPCs, gefallenen Gegnern und Truhen (etc.) spricht man von "<u>Containern</u>". <br> | ||
+ | Sie funktionieren folglich alle nach dem gleichen Prinzip und können daher auch gleich behandelt und durch Skripte angesprochen werden. | ||
+ | |||
+ | |||
+ | |||
+ | == komplettes Inventar ablegen == | ||
+ | |||
+ | |||
+ | === Anwendung === | ||
+ | |||
+ | ==== Aufgabenstellung ==== | ||
+ | Mit diesem Script sollen dem Spieler alle Items aus dem Inventar entfernt werden. | ||
+ | |||
+ | ==== Theorie ==== | ||
+ | Es muss die Anzahl der Goldnuggets im Inventar überprüft werden. Solange diese größer als 0 ist, können weiterhin Münzen geprägt werden. <br> | ||
+ | Der Befehl: <br> | ||
+ | [ActorID].getItemCount [ObjectID] <br> | ||
+ | "ActorID" ist wieder der Player, die "ObjectID" ist natürlich das Goldnugget (Gem0GoldNugget). | ||
+ | |||
+ | |||
+ | === Realisierung === | ||
+ | |||
+ | ==== Umgebung ==== | ||
+ | Das Script liegt auf einem Activator. | ||
+ | |||
+ | ==== Script ==== | ||
+ | Hier gibt es nun zwei Möglichkeiten: <br> | ||
+ | |||
+ | 1.) entweder man vergleicht die Anzahl der Nuggets direkt mit einem Wert: <br> | ||
+ | <tesscript> | ||
+ | scn CoinScript | ||
+ | ;written by Leila Ithil | ||
+ | ;24.10.2008 | ||
+ | |||
+ | begin OnActivate player | ||
+ | |||
+ | if player.getItemCount Gem0GoldNugget > 0 | ||
+ | player.removeItem Gem0GoldNugget 1 | ||
+ | player.addItem Gold001 100 | ||
+ | endif | ||
+ | |||
+ | End | ||
+ | </tesscript> | ||
+ | |||
+ | 2.) oder man belegt eine Variable mit der Anzahl der Nuggets und vergleicht diese dann mit einem Wert: | ||
+ | <tesscript> | ||
+ | scn CoinScript | ||
+ | ;written by Leila Ithil | ||
+ | ;24.10.2008 | ||
+ | |||
+ | short NuggetCount | ||
+ | |||
+ | begin OnActivate player | ||
+ | |||
+ | set NuggetCount to player.getItemCount Gem0GoldNugget | ||
+ | |||
+ | if NuggetCount > 0 | ||
+ | player.removeItem Gem0GoldNugget 1 | ||
+ | player.addItem Gold001 100 | ||
+ | endif | ||
+ | |||
+ | End | ||
+ | </tesscript> | ||
+ | |||
+ | ==== Bemerkung ==== | ||
+ | Die Funktion beider Scripts ist, wie erwähnt die Gleiche. Allerdings bietet das zweite Script - neben etwas mehr Schreibarbeit - den Vorteil, dass man die Anzahl der Nuggets, gespeichert in der Variable 'NuggetCount' weiter verwenden könnte ... mit welchem Ziel auch immer. | ||
+ | |||
+ | ==== Handhabung ==== | ||
+ | Das Script sollte als Objekt-Script genutzt werden. | ||
+ | |||
+ | |||
[[Kategorie:Inventar|Inventar komplett ablegen]] | [[Kategorie:Inventar|Inventar komplett ablegen]] |
Version vom 2. April 2009, 11:17 Uhr
Inhaltsverzeichnis
Allgemeine Bemerkung
Sowohl bei dem Inventar des Players, als auch dem von NPCs, gefallenen Gegnern und Truhen (etc.) spricht man von "Containern".
Sie funktionieren folglich alle nach dem gleichen Prinzip und können daher auch gleich behandelt und durch Skripte angesprochen werden.
komplettes Inventar ablegen
Anwendung
Aufgabenstellung
Mit diesem Script sollen dem Spieler alle Items aus dem Inventar entfernt werden.
Theorie
Es muss die Anzahl der Goldnuggets im Inventar überprüft werden. Solange diese größer als 0 ist, können weiterhin Münzen geprägt werden.
Der Befehl:
[ActorID].getItemCount [ObjectID]
"ActorID" ist wieder der Player, die "ObjectID" ist natürlich das Goldnugget (Gem0GoldNugget).
Realisierung
Umgebung
Das Script liegt auf einem Activator.
Script
Hier gibt es nun zwei Möglichkeiten:
1.) entweder man vergleicht die Anzahl der Nuggets direkt mit einem Wert:
<tesscript>
scn CoinScript
- written by Leila Ithil
- 24.10.2008
begin OnActivate player
if player.getItemCount Gem0GoldNugget > 0 player.removeItem Gem0GoldNugget 1 player.addItem Gold001 100 endif
End </tesscript>
2.) oder man belegt eine Variable mit der Anzahl der Nuggets und vergleicht diese dann mit einem Wert: <tesscript> scn CoinScript
- written by Leila Ithil
- 24.10.2008
short NuggetCount
begin OnActivate player
set NuggetCount to player.getItemCount Gem0GoldNugget
if NuggetCount > 0 player.removeItem Gem0GoldNugget 1 player.addItem Gold001 100 endif
End </tesscript>
Bemerkung
Die Funktion beider Scripts ist, wie erwähnt die Gleiche. Allerdings bietet das zweite Script - neben etwas mehr Schreibarbeit - den Vorteil, dass man die Anzahl der Nuggets, gespeichert in der Variable 'NuggetCount' weiter verwenden könnte ... mit welchem Ziel auch immer.
Handhabung
Das Script sollte als Objekt-Script genutzt werden.