Construction Set Item-Abfragen

Neurosis404

Angehöriger
Hallo,
ich habe mal eine Frage zu Items; Wenn ich mir z.B. Geld ercheate, mache ich ja ein player.additem 0000000f X. In einigen Scripten sehe ich aber auch eine solche Abfrage:
GetItemCount Gold001
Ich wollte mal wissen wie das ist; Wenn ich Abfragen erstelle oder peoplez etwas ins Inventar gebe, ist es da egal, was ich nehme? Wo sind die Unterschiede?
Andere Frage noch: Wenn ich in einem meiner Mods eine Abfrage eines Items erstelle, das von Vanilla kommt; Reicht es dann, wenn ich z.B. sage
GetItemCount hourglass01
Oder muss ich mir Form ID und den ganzen Krampelabasch raussuchen? :roll:
 
Nun, der Unterschied zwischen AddItem und GetItemCount ist der gleiche wie bei geben und schauen was derjenige davon hat.

wenn du den Leuten etwas hinzufügen willst nimmst du AddItem.
GetItemCount verwendest du wenn du überprüfen willst, wie viele (bzw. ob überhaupt eines) von dem Item im Inventar sind/ist. (Spuckt einen Zahlenwert aus).

Andere Frage noch: Wenn ich in einem meiner Mods eine Abfrage eines Items erstelle, das von Vanilla kommt; Reicht es dann, wenn ich z.B. sage
GetItemCount hourglass01
Oder muss ich mir Form ID und den ganzen Krampelabasch raussuchen? :roll:

in Skripts musst du afaik sogar die Object-ID (also z.B. hourglass01) verwenden.
 
  • Like
Reaktionen: Neurosis404
Ne ich meine nicht den Unterschied zwischen Get und Add, sondern zwischen den Nummern und der ausgeschriebenen ID *g*
Bei meinen Script klappt es nämlich öminöserweise nicht, wenn ich nach hourglass01 abfrage. Dann sagt er mir, dass er mit der Variable nix anfangen kann.
Aber wenn ich additem hourglass01 1 mache, dann geht das nicht? Da würde mich halt mal interessieren, wieso und weshalb und warum und so weiter ^^
 
Also ich erkläre das mal kurz:
player.additem 0000000f [Anzahl] ist nur im Spiel sinnvoll, da es die (ich sag mal) Spiel-ID ist.
player.additem gold001 [Anzahl] musst du dann in Scripts im Editor verwenden, denn Gold001 ist die Object/Editor-ID.
player.getitemcount gold001 == 1 fragt ab, ob der Spieler genau 1 Gold bei sich trägt. die 1 kannst du durch jede erwünschte Zahl ersetzen und diese beiden == Zeichen auch, und zwar durch folgende:

>= bedeutet größer oder genau so groß wie die angegebene Summe
> bedeutet größer als die angegebene Summe
<= bedeutet kleiner oder genau so groß wie die angegebene Summe
< bedeutet kleiner als die angegebene Summe
!= bedeutet alles, außer die angegebene Summe - sprich ungleich
== bedeutet, wie erwähnt, genau die angegebene Summe

und die Editor/Object-ID kannst du durch alle anderen ID's von Objekten ersetzen, also das oben genannte gold001 auch durch hourglass1

nochmal zu:
player.AddItem gold001 1 Hierbei wird die eine bestimmte Menge des angegebenen Items hinzugefügt. In diesem Fall 1 Goldstück. Du kannst di ID und die Anzahl wie immer gewohnt ersetzen.

Ich hoffe, ich konnte helfen.

MfG Gildur
 
  • Like
Reaktionen: Neurosis404
Ja so mehr oder weniger.
Ich mein ich will keine Syntax erklärt bekommen (Nicht böse gemeint), ich möchte einfach nur wissen: Wo ist der Unterschied zwischen 0000000f und gold001?
 
Ich dachte, das hätte ich so einigermaßen herüber gebracht :?

Naja, etwas verständlicher:
Ein Objekt besitzt so zu sagen 2 ID's. Die eine ist dir Editor-ID, jene wird in Scripts benutzt und allgemein im Editor. Bei Gold ist es "gold001". Diese kann man selbst bestimmen.

Dann hat gold001 selber noch eine zweite ID, und zwar die Form-ID. Nur diese kann man im Spiel benutzen, wenn man in die konsole geht. Mit der Editor-ID geht es nicht. Die Form-ID ist vom Benutzer unveränderbar.

DAS ist der Unterschied.

MfG Gildur
 
  • Like
Reaktionen: Neurosis404