Hallo Überlebende,
auch an dieser Stelle eine ausführliche Erklärung, wie man die Inhalte der Spawnkiste manipulieren kann.
Das Beispiel aus den Patchnotes war das folgende:
ConfigOverrideSupplyCrateItems=(SupplyCrateClassString="SupplyCrate_Level03_C",MinItemSets=1,MaxItemSets=1,NumItemSetsPower=1.0,bSetsRandomWithoutReplacement=true,ItemSets=((MinNumItems=2,MaxNumItems=2,NumItemsPower=1.0,SetWeight=1.0,bItemsRandomWithoutReplacement=true,ItemEntries=((EntryWeight=1.0,ItemClassStrings=("PrimalItemResource_Stone_C"),ItemsWeights=(1.0),MinQuantity=10.0,MaxQuantity=10.0,MinQuality=1.0,MaxQuality=1.0,bForceBlueprint=false,ChanceToBeBlueprintOverride=0.0),(EntryWeight=1.0,ItemClassStrings=("PrimalItemResource_Thatch_C"),ItemsWeights=(1.0),MinQuantity=10.0,MaxQuantity=10.0,MinQuality=1.0,MaxQuality=1.0,bForceBlueprint=false,ChanceToBeBlueprintOverride=0.0)))))
Hinweis: "ConfigOverrideSupplyCrateItems=" muss immer noch vorne dran geschrieben werden, wie ich es oben im Beispiel schon ergänzt habe - die Screenshots aktualisiere ich bei Gelegenheit.
Zunächst einmal benötigt ihr folgende Übersichtsliste, um die richtigen Namen für die Gegenstände zu finden, die in euren Supplykisten enthalten sein sollen:
Was ihr dort rauskopieren müsst, ist der letzte Teil des Textes, OHNE einen vorstehenden Punkt oder die nachfolgenden Hochkommas - und zwar von dem Gegenstand, den ihr anpassen wollt:
Im obigen Beispiel wurde die Ressource "Thatch" und "Stone" gewählt, also wäre der zu kopierende Wert:
PrimalItemResource_Stone
und
PrimalItemResource_Thatch
Wichtig: Fügt jetzt noch ein "_C" (ohne " ") hinten dran, sodass es beispielsweise so aussieht PrimalItemResource_Stone_C
Okay... jetzt habt ihr erstmal alles wichtige ... gehen wir nun mal den Code-Teil von oben durch.
SupplyCrateClassString="SupplyCrate_Level03_C" Gibt an, dass die ab Level 3 verfügbare Supplykiste überschrieben werden soll. Die Zahl "03" könnt ihr durch folgende Zahlen austauschen:
03 - für die weiße Supplykiste
15 - für die grüne Supplykiste
25 - für die blaue Supplykiste
35 - für die lila Supplykiste
45 - für die gelbe Supplykiste
60 - für die rote Supplykiste
MinItemSets=1 gibt an, wieviele unterschiedliche Sets mindestens in der Supplykiste drin sein sollen.
MaxItemSets=1 gibt an, wieviele unterschiedliche Sets höchstens in der Supplykiste drin sein sollen.
Ein "Set" kann wiederum immer aus einem oder mehreren Gegenständen bestehen. Ihr habt also die Möglichkeit, über die beiden Set-Größen festzulegen, wieviele unterschiedliche Sets die Supplykiste grundsätzlich erstmal enthalten soll.
Gemäß der obigen Einstellung von MinItemSets=1 und MaxItemSets=1 wäre also maximal nur ein Set samt seinen Gegenständen in der Supplykiste drin. Die Gegenstände dieses Sets werden gleich noch spezifiziert.
NumItemsPower=1.0 ist ein Multiplikator zur Steuerung der Qualität.
Starke Empfehlung von Wildcard:
Also: Einstellung genau bei 1.0 belassen! ansonsten könnte es sein, dass ihr eure Lootkisten entweder mit absolut primitiven Gegenständen oder überguten Gegenständen befüllt. Der Wert 1.0 sorgt für eine ausgewogene Balance von beidem.
bSetsRandomWithoutReplacement=true stellt sicher, dass ein Gegenstand nicht mehrfach innerhalb eines Drops auftaucht, in Abhängigkeit davon, wieviel unterschiedliche Gegenstände denn erlaubt sind. Um hier vielleicht noch etwas ausführlicher zu werden (die passenden Einträge dazu kommen gleich noch): Man legt für jeden Gegenstand eine Spawn-Wahrscheinlichkeit fest, um zu definieren aus was eine Supplykiste höchstwahrscheinlich bestehen könnte. So kann man z.B. festlegen, dass mit einer 80% Chance eine Metal Pick drin ist. Wenn man jetzt noch mehrere unterschiedliche Gegenstände erlauben würde (z.B. 5 Stück), dann könnte es mit einem bSetsRandomWithoutReplacement=false dazu kommen, dass 4 mal eine Metal Pick drin wäre, weil diese ja mit 80% Wahrscheinlichkeit gewählt werden würde. Um das zu vermeiden, stellt ihr stattdessen bSetsRandomWithoutReplacement=true ein.
MinNumItems=2 = Legt fest, wieviele Gegenstände mindestens aus diesem Set gewählt werden sollen, um in der Supplykiste zu landen.
MaxNumItems=2 = Legt fest, wieviele Gegenstände maximal aus diesem Set gewählt werden sollen, um in der Supplykiste zu landen.
Ihr könnt also mit diesen beiden Werten und den Set-Werten von oben festlegen, wie groß und umfassend eure Lootkiste ausgestattet sein wird. Dabei könnt ihr die Gegenstände der Sets völlig frei kombinieren und dann z.B. sagen, dass es immer nur am Ende 1 Set geben soll und aus diesem Set z.B. mindestens 5 aber höchstens 7 Gegenstände davon.
NumItemSetsPower=1.0 gibt die Itemqualität an, die die Gegenstände haben sollen. Auch hier gilt die Empfehlung von Wildcard, den Wert auf 1.0 zu belassen!
SetWeight=1.0 legt fest, wie wahrscheinlich es ist, dass dieses Set für die Supplykiste herangezogen wird
ItemEntries=.... definiert, dass jetzt nachfolgend die möglichen Inhalte der Supplykiste definiert werden
EntryWeight=1.0 legt die Wahrscheinlichkeit fest mit der dieses Item-Set ausgewählt wird, was wiederum aus mehreren Gegenständen bestehen kann. Wenn man verschieden kombinierte Sets (z.B. ein möglicher Drop von "Holz und Stein" oder alternativ "Metal und Thatch") spezifiert, wird also zuerst mal geschaut, welches Set es wird, bevor dann im nächsten Schritt die Wahrscheinlichkeit der definierten Gegenstände kommt (siehe Beispiel ganz unten)
MinQuantity=10.0 - Legt die minimale Anzahl an Gegenständen des zuvor definierten Gegenstandes fest
MaxQuantity=10.0 - Legt die maximale Anzahl an Gegenständen des zuvor definierten Gegenstandes fest
MinQuality=1.0 - Legt die minimale Qualität des zuvor definierten Gegenstandes fest (Empfehlung von Wildcard beachten!)
MaxQuality=1.0 - Legt die maximale Qualität des zuvor definierten Gegenstandes fest (Empfehlung von Wildcard beachten!)
bForceBlueprint=false - Definiert ob statt des eigentlichen Gegenstandes der Bauplan Teil der Supplykiste wird (bei "true" gibt es nur noch Baupläne)
ChanceToBeBlueprintOverride=0.0 Habt ihr beim Punkt oben drüber "false" definiert, dann könnt ihr mit dieser Einstellung eine Wahrscheinlichkeit festlegen, mit der zufällig trotzdem ein Bauplan statt des Gegenstandes genommen wird. 0.0 = deaktiviert, 0.2 = 20%, 0.5 = 50% , 0.8 = 80%, 1.0 = 100% (bzw. wäre das gleiche wie "true" beim Punkt oben drüber)
Wenn ihr mehrere Gegenstände in der Supplykiste haben wollt, dann werden die einzelnen Einträge wieder per Komma separiert.
Beispiel wäre also wie folgt für einen Gegenstand:
(EntryWeight=1.0,ItemClassStrings=("PrimalItemResource_Stone_C"),ItemsWeights=(1.0),MinQuantity=10.0,MaxQuantity=10.0,MinQuality=1.0,MaxQuality=1.0,bForceBlueprint=false,ChanceToBeBlueprintOverride=0.0)
Für zwei Gegenstände:
(EntryWeight=1.0,ItemClassStrings=("PrimalItemResource_Stone_C"),ItemsWeights=(1.0),MinQuantity=10.0,MaxQuantity=10.0,MinQuality=1.0,MaxQuality=1.0,bForceBlueprint=false,ChanceToBeBlueprintOverride=0.0),
(EntryWeight=1.0,ItemClassStrings=("PrimalItemResource_Thatch_C"),ItemsWeights=(1.0),MinQuantity=10.0,MaxQuantity=10.0,MinQuality=1.0,MaxQuality=1.0,bForceBlueprint=false,ChanceToBeBlueprintOverride=0.0)
Für drei Gegenstände:
(EntryWeight=1.0,ItemClassStrings=("PrimalItemResource_Stone_C"),ItemsWeights=(1.0),MinQuantity=10.0,MaxQuantity=10.0,MinQuality=1.0,MaxQuality=1.0,bForceBlueprint=false,ChanceToBeBlueprintOverride=0.0),
(EntryWeight=1.0,ItemClassStrings=("PrimalItemResource_Thatch_C"),ItemsWeights=(1.0),MinQuantity=10.0,MaxQuantity=10.0,MinQuality=1.0,MaxQuality=1.0,bForceBlueprint=false,ChanceToBeBlueprintOverride=0.0),
(EntryWeight=1.0,ItemClassStrings=("PrimalItemResource_Metal_C"),ItemsWeights=(1.0),MinQuantity=10.0,MaxQuantity=10.0,MinQuality=1.0,MaxQuality=1.0,bForceBlueprint=false,ChanceToBeBlueprintOverride=0.0)
Damit hätten wir alle Werte erklärt.
Achtet auch hier bitte wieder penibel auf die Klammersetzung, und dass ihr keine Klammern vergesst:
Das Beispiel direkt oben drüber würde die Supplykiste überschreiben, die ab Level 3 zur Verfügung steht und in ihr wäre jeweils 10 Stein und 10 Thatch, da die Kiste aus max. 2 Gegenständen bestehen darf und die Mindest- und Höchstanzahl des jeweiligen Gegenstandes 10 beträgt.
Beispiel 2 (siehe farbliche Markierungen für die richtige Zuordnung):
- In diesem Beispiel kann es per Zufall mindestens 1 Set und höchstens 2 Sets geben.
- Die Wahrscheinlichkeit für Set 1 beträgt 80%, dass es dabei sein wird. Die Wahrscheinlichkeit, dass Set 2 gewählt wird, beträgt 40%
- Wenn Set 1 gewählt wird, werden mindestens 1 und max. 2 Gegenstände aus dem Set gewählt werden. Da es 3 unterschiedliche Gegenstände gibt, wird es also einer nicht in die Lootkiste schaffen.
- PrimalItemResource_Stone_C hat eine Wahrscheinlichkeit von 90% dabei zu sein und dann werden es zwischen 5 und 10 Einheiten sein
- PrimalItemResource_Thatch_C hat eine Wahrscheinlichkeit von 100% dabei zu sein und dann sind es genau 10 Einheiten, die dabei sein werden
- PrimalItemResource_Tintoberry_C hat eine Wahrscheinlichkeit von 20% dabei zu sein und dann werden zwischen 10 und 90 Einheiten dabei sein
Jetzt fragt ihr euch sicherlich, wie sich diese Wahrscheinlichkeiten auswirken.
Wie ihr sehen könnt, ist Stone in 90% der Fälle dabei, d.h. wenn die Supplykiste 10 mal gedropped wird, ist in 9 Fällen Stone mit dabei. Wenn Stone also dabei ist, geht es weiter zu Thatch. Thatch ist mit 100% immer dabei, damit wäre die Supplykiste voll und würde droppen, da ja nur max. 2 Gegenstände erlaubt sind.
Wäre Stone jetzt nicht dabei (weil ja die 10% Chance besteht, dass es nicht dabei ist), dann geht es weiter zu Thatch, was ja immer dabei ist. Nun hat mit 20% Wahrscheinlichkeit noch der Tintoberry-Drop die Chance mit dabei zu sein. Das wird aber durchschnittlich halt nur alle 5 Fälle passieren und in Kombination mit den oberen 90% in Summe nur alle 45 Drops passieren. In 10% der besagten Fälle, in der die Tintoberry also überhaupt die Möglichkeit hätte, mit dazu gewählt zu werden, wird sie es zu 80% der Fälle dann aber nicht sein und somit würde die Supplykiste nur aus dem 100% wahrscheinlichen Thatch bestehen.
Das war jetzt die Berechnung des ersten Sets. Kommen wir nun zur Berechnung des zweiten Sets.
- Wie oben beschrieben besteht die Chance zu 40%, dass das zweite Set überhaupt erst benutzt wird. In 60 von 100 Fällen wäre das Set also gar nicht erst dabei und die Supplykiste wäre an dieser Stelle fertig befüllt.
- In den anderen 40% würde als nächstes wieder entschieden werden, wieviele Gegenstände dabei sein dürfen. Auch hier dürfen es min. 1 Gegenstand und max. 2 Gegenstände sein
- PrimalItem_WeaponRocketLauncher_C hat eine Wahrscheinlichkeit von 50% dabei zu sein und dann wird es genau 1 Einheit sein, die dabei ist.
- PrimalItem_WeaponSlingshot_C hat eine Wahrscheinlichkeit von 100% dabei zu sein und dann wird es entweder 1 oder 2 Einheiten sein, die dabei sind.
- Wenn der Rocket Launcher dabei ist, besteht außerdem die 30% Chance, dass man einen Blueprint erhält
- Wenn die Steinschleuder gewählt wird, ist es immer ein Blueprint
Auch wenn es etwas kompliziert zu erklären ist, wie alles auf einander einwirkt, habt ihr hoffentlich alles irgendwie verstanden. Wenn nicht, dann fragt nochmal nach und ich versuche euch dann ggf. zu helfen.
Das zweite Beispiel gibt es hier als Text:
ConfigOverrideSupplyCrateItems=(
SupplyCrateClassString="SupplyCrate_Level03_C",MinItemSets=1,MaxItemSets=2,NumItemSetsPower=1.0,bSetsRandomWithoutReplacement=true,
ItemSets=(
(
MinNumItems=1,MaxNumItems=2,NumItemsPower=1.0,SetWeight=0.8,bItemsRandomWithoutReplacement=true,
ItemEntries=(
(EntryWeight=0.9,ItemClassStrings=("PrimalItemResource_Stone_C"),ItemsWeights=(1.0),MinQuantity=5.0,MaxQuantity=20.0,MinQuality=1.0,
MaxQuality=1.0,bForceBlueprint=false,ChanceToBeBlueprintOverride=0.0),
(EntryWeight=1.0,ItemClassStrings=("PrimalItemResource_Thatch_C"),ItemsWeights=(1.0),MinQuantity=10.0,MaxQuantity=10.0,MinQuality=1.0,
MaxQuality=1.0,bForceBlueprint=false,ChanceToBeBlueprintOverride=0.0),
(EntryWeight=0.2,ItemClassStrings=("PrimalItemResource_Tintoberry_C"),ItemsWeights=(1.0),MinQuantity=10.0,MaxQuantity=90.0,MinQuality=1.0,
MaxQuality=1.0,bForceBlueprint=false,ChanceToBeBlueprintOverride=0.0)
)
),
(
MinNumItems=1,MaxNumItems=2,NumItemsPower=1.0,SetWeight=0.4,bItemsRandomWithoutReplacement=true,
ItemEntries=(
(EntryWeight=0.5,ItemClassStrings=("PrimalItem_WeaponRocketLauncher_C"),ItemsWeights=(1.0),MinQuantity=1.0,MaxQuantity=1.0,MinQuality=1.0,
MaxQuality=1.0,bForceBlueprint=false,ChanceToBeBlueprintOverride=0.3),
(EntryWeight=1.0,ItemClassStrings=("PrimalItem_WeaponSlingshot _C"),ItemsWeights=(1.0),MinQuantity=1.0,MaxQuantity=2.0,MinQuality=1.0,
MaxQuality=1.0,bForceBlueprint=true,ChanceToBeBlueprintOverride=0.0)
)
)
)
)
Wenn ihr mehrere Kisten überschreiben wollt (z.B. alle Typen), dann muss im Prinzip das gleiche wie eben in dem Beispiel mehrfach hintereinandergeschrieben werden:
[/script/shootergame.shootergamemode]
ConfigOverrideSupplyCrateItems=(SupplyCrateClassString="SupplyCrate_Level03_C",MinItemSets=1,MaxItemSets=1,NumItemSetsPower=1.0,bSetsRandomWithoutReplacement=true,ItemSets=((MinNumItems=1,MaxNumItems=1,NumItemsPower=1.0,SetWeight=1.0,bItemsRandomWithoutReplacement=true,ItemEntries=((EntryWeight=1.0,ItemClassStrings=("PrimalItemResource_Stone_C", "PrimalItemResource_Thatch_C"),ItemsWeights=(0.5,0.5),MinQuantity=10.0,MaxQuantity=10.0,MinQuality=1.0,MaxQuality=1.0,bForceBlueprint=false,ChanceToBeBlueprintOverride=0.0)))))
ConfigOverrideSupplyCrateItems=(SupplyCrateClassString="SupplyCrate_Level15_C",MinItemSets=1,MaxItemSets=1,NumItemSetsPower=1.0,bSetsRandomWithoutReplacement=true,ItemSets=((MinNumItems=1,MaxNumItems=1,NumItemsPower=1.0,SetWeight=1.0,bItemsRandomWithoutReplacement=true,ItemEntries=((EntryWeight=1.0,ItemClassStrings=("PrimalItemResource_Stone_C", "PrimalItemResource_Thatch_C"),ItemsWeights=(0.5,0.5),MinQuantity=10.0,MaxQuantity=10.0,MinQuality=1.0,MaxQuality=1.0,bForceBlueprint=false,ChanceToBeBlueprintOverride=0.0)))))
ConfigOverrideSupplyCrateItems=(SupplyCrateClassString="SupplyCrate_Level25_C",MinItemSets=1,MaxItemSets=1,NumItemSetsPower=1.0,bSetsRandomWithoutReplacement=true,ItemSets=((MinNumItems=1,MaxNumItems=1,NumItemsPower=1.0,SetWeight=1.0,bItemsRandomWithoutReplacement=true,ItemEntries=((EntryWeight=1.0,ItemClassStrings=("PrimalItemResource_Stone_C", "PrimalItemResource_Thatch_C"),ItemsWeights=(0.5,0.5),MinQuantity=10.0,MaxQuantity=10.0,MinQuality=1.0,MaxQuality=1.0,bForceBlueprint=false,ChanceToBeBlueprintOverride=0.0)))))
ConfigOverrideSupplyCrateItems=(SupplyCrateClassString="SupplyCrate_Level35_C",MinItemSets=1,MaxItemSets=1,NumItemSetsPower=1.0,bSetsRandomWithoutReplacement=true,ItemSets=((MinNumItems=1,MaxNumItems=1,NumItemsPower=1.0,SetWeight=1.0,bItemsRandomWithoutReplacement=true,ItemEntries=((EntryWeight=1.0,ItemClassStrings=("PrimalItemResource_Stone_C", "PrimalItemResource_Thatch_C"),ItemsWeights=(0.5,0.5),MinQuantity=10.0,MaxQuantity=10.0,MinQuality=1.0,MaxQuality=1.0,bForceBlueprint=false,ChanceToBeBlueprintOverride=0.0)))))
ConfigOverrideSupplyCrateItems=(SupplyCrateClassString="SupplyCrate_Level45_C",MinItemSets=1,MaxItemSets=1,NumItemSetsPower=1.0,bSetsRandomWithoutReplacement=true,ItemSets=((MinNumItems=1,MaxNumItems=1,NumItemsPower=1.0,SetWeight=1.0,bItemsRandomWithoutReplacement=true,ItemEntries=((EntryWeight=1.0,ItemClassStrings=("PrimalItemResource_Stone_C", "PrimalItemResource_Thatch_C"),ItemsWeights=(0.5,0.5),MinQuantity=10.0,MaxQuantity=10.0,MinQuality=1.0,MaxQuality=1.0,bForceBlueprint=false,ChanceToBeBlueprintOverride=0.0)))))
ConfigOverrideSupplyCrateItems=(SupplyCrateClassString="SupplyCrate_Level60_C",MinItemSets=1,MaxItemSets=1,NumItemSetsPower=1.0,bSetsRandomWithoutReplacement=true,ItemSets=((MinNumItems=1,MaxNumItems=1,NumItemsPower=1.0,SetWeight=1.0,bItemsRandomWithoutReplacement=true,ItemEntries=((EntryWeight=1.0,ItemClassStrings=("PrimalItemResource_Stone_C", "PrimalItemResource_Thatch_C"),ItemsWeights=(0.5,0.5),MinQuantity=10.0,MaxQuantity=10.0,MinQuality=1.0,MaxQuality=1.0,bForceBlueprint=false,ChanceToBeBlueprintOverride=0.0)))))
Alles anzeigen
Alle Supplykisten-Einstellungen müssen in der game.ini Datei unter [/script/shootergame.shootergamemode] angelegt werden. Bitte beachtet, dass ihr nicht mehrere Konfigurationen für ein und die gleiche Supplykiste macht.
Viele Grüße
Tom