Oblivion:Anzahl bestimmter Items: Unterschied zwischen den Versionen

Aus Skript-Wiki
Wechseln zu: Navigation, Suche
(Die Seite wurde neu angelegt: Kategorie:Modifikationen == Anzahl/ Menge bestimmter Items == === Anwendung === ==== Aufgabenstellung ==== Der Austausch von Goldnuggets gegen Geld im vorherig...)
 
K
 
(11 dazwischenliegende Versionen von einem anderen Benutzer werden nicht angezeigt)
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.
 +
  
[[Kategorie:Modifikationen]]
 
  
 
== Anzahl/ Menge bestimmter Items ==
 
== Anzahl/ Menge bestimmter Items ==
Zeile 8: Zeile 11:
  
 
==== Aufgabenstellung ====
 
==== Aufgabenstellung ====
Der Austausch von Goldnuggets gegen Geld im vorherigen Script soll nun so lange möglich sein, wie der Player noch Goldnuggets im Inventar hat.
+
Der Austausch von Goldnuggets gegen Geld, wie in diesem [[ob:Items hinzufügen/ entfernen|Script]] soll nun so lange möglich sein, wie der Player noch Goldnuggets im Inventar hat.
  
 
==== Theorie ====
 
==== 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>
 
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>
 
Der Befehl: <br>
[ActorID].getItemCount [ObjectID] <br>
+
[ActorRef].getItemCount [ObjectID] <br>
"ActorID" ist wieder der Player, die "ObjectID" ist natürlich das Goldnugget (Gem0GoldNugget).
+
"ActorRef" ist die Referenz des Containers, in dem die Anzahl der Items ermittelt werden soll (hier: Player).<br>
 
+
"ObjectID" ist die ID des Items, dessen Anzahl ermittelt werden soll (hier: Goldnugget (Gem0GoldNugget)).
  
 
=== Realisierung ===
 
=== Realisierung ===
  
 
==== Umgebung ====
 
==== Umgebung ====
Das Script liegt wieder auf einem Activator.
+
Das Script liegt auf einem Activator.
  
 
==== Script ====
 
==== Script ====
Zeile 68: Zeile 71:
  
 
[[Kategorie:Inventar|Anzahl bestimmter Items]]
 
[[Kategorie:Inventar|Anzahl bestimmter Items]]
 +
 +
{{ Scriptkategorie |Inventar|Level_1_Scripts}}

Aktuelle Version vom 15. April 2009, 13:34 Uhr

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.


Anzahl/ Menge bestimmter Items

Anwendung

Aufgabenstellung

Der Austausch von Goldnuggets gegen Geld, wie in diesem Script soll nun so lange möglich sein, wie der Player noch Goldnuggets im Inventar hat.

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:
[ActorRef].getItemCount [ObjectID]
"ActorRef" ist die Referenz des Containers, in dem die Anzahl der Items ermittelt werden soll (hier: Player).
"ObjectID" ist die ID des Items, dessen Anzahl ermittelt werden soll (hier: 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.


Weitere Scripts aus dieser Kategorie

Level 1

 

Level 3

   



{{#if: Inventar | }} {{#if: Level_1_Scripts | }}