In diesem Tutorial wird erklärt, wie man über das Nitrado Webinterface den Loot von Beacon und Monstern ändert. Natürlich kann man die Änderungen auch direkt in der game.ini anwenden.
Wichtig: Der Code muss nach Abschluss eurer Änderungen in einer Syntax-Kette (ohne Absätze dazwischen) in die Game.ini gesetzt werden, sonst wird dieser nicht korrekt gelesen.
So sieht die fertige Konfiguration in der game.ini Datei aus bei welcher der Loot eines Bosses geändert wird:
ConfigOverrideSupplyCrateItems=(SupplyCrateClassString="DinoDropInventoryComponent_BossSpider_Easy_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_Element_C"),ItemsWeights=(1.0),MinQuantity=100.0,MaxQuantity=100.0,MinQuality=1.0,MaxQuality=1.0,bForceBlueprint=false,ChanceToBeBlueprintOverride=0.0)))))
DinoDropInventoryComponent_BossDragon_Easy_C
DinoDropInventoryComponent_BossDragon_Hard_C
DinoDropInventoryComponent_BossDragon_Medium_C
DinoDropInventoryComponent_BossGorilla_Easy_C
DinoDropInventoryComponent_BossGorilla_Hard_C
DinoDropInventoryComponent_BossGorilla_Medium_C
DinoDropInventoryComponent_BossGorilla_TheCenter_C
DinoDropInventoryComponent_BossManticore_Easy_C
DinoDropInventoryComponent_BossManticore_Hard_C
DinoDropInventoryComponent_BossManticore_Medium_C
DinoDropInventoryComponent_BossSpider_Easy_C
DinoDropInventoryComponent_BossSpider_TheCenter_C
DinoDropInventoryComponent_BossSpider_Hard_C
DinoDropInventoryComponent_BossSpider_Medium_C
SupplyCrateClassString="DinoDropInventoryComponent_BossSpider_Easy_C"
Hier wird die zu bearbeitende Supply Kiste bzw. der zu bearbeitende Boss Gegner ausgewählt.
MinItemSets=1
Gibt an, wieviele unterschiedliche Sets mindestens in der Lootkiste vorhanden sein sollen. Der gewünschte Wert muss in unserem Webinterface nur in das Textfeld eingetragen werden.
MaxItemSets=1
Gibt an, wieviele unterschiedliche Sets maximal in der Lootkiste vorhanden sein sollen.Der gewünschte Wert muss in unserem Webinterface nur in das Textfeld eingetragen werden.
NumItemSetsPower=1.0
Ist ein Multiplikator zur Steuerung der Qualität. Wildcard empfiehlt die Einstellung bei 1.0 zu belassen, da sonst entweder nur primitive Gegenstände erhält oder “übergute” Gegenstände. 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, wie viel unterschiedliche Gegenstände denn erlaubt sind.
MinNumItems=1
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.
NumItemsPower=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. 1.0 Steht für 100% 0.8 für 80% 0.4 für 40% usw.
bItemsRandomWithoutReplacement=true
Siehe obige Erläuterung
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. 1.0 Steht für 100% 0.8 für 80% 0.4 für 40% usw.
ItemClassStrings=("PrimalItemResource_Element_C")
Hier tragen wir die Items ein welche wir in dem “set” haben möchten. Jedes einzelne Item muss zwischen Anführungszeichen stehen und durch ein Komma getrennt werden. das letzte Item hat jedoch kein Komma.
ItemsWeights=(1.0)
Legt fest, wie wahrscheinlich es ist, dass dieses Item für die Supplykiste herangezogen wird.
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).
Sollte der Experten Modus aktiviert sein so muss man einfach den Eintrag in die Game.ini hinzufügen.
Der erste Abschnitt ist relativ einfach. Die wichtigsten Angaben sind hier nur die Menge an Itemsets welche enthalten sein sollen sowie welcher Monster oder Beacon Loot verändert werden soll.
In dem zweiten Abschnitt (gelbes Rechteck) geben wir mit “Min/MaxNumItems” an wie wie viele Gegenstände aus diesem Item Set mindestens bzw. maximal dran kommen sollen. In unserem Beispiel werden also mindestens 2 der eingetragenen Gegenstände spawnen aber auch nicht mehr als 2. Da wir allerdings auch nur 2 Gegenstände eingetragen haben werden auf jeden Fall beide auftauchen. Es wäre zum Beispiel möglich noch einen weiteren Gegenstand einzutragen, so würde jetzt in diesem Beispiel ein zufälliger der drei eingetragenen Gegenstände nicht auftauchen, da wir ja nur maximal 2 Gegenstände eingestellt haben (MaxNumItems=2).
In dem letzten Abschnitt (rotes Rechteck) tragen wir die Gegenstände ein welche in dem jeweiligen drop vorkommen soll. Unser erstes Item wäre in diesem Beispiel die Ressource “Element C” und hat mit “ItemsWeights=(1.0)” eine Wahrscheinlichkeit von 100% in dem drop vorzukommen. Mit “MinQuanity=100” legen wir fest das mindestens 100 Einheiten dieser Ressource auftaucht. Wildcard empfiehlt den “Quality” wert auf 1.0 zu belassen, also wird es hier auch so dabei bleiben. Zeile 14 & 15 ist das selbe nur mit einem anderen Item. Achtet bitte beim hinzufügen von weiteren Gegenständen auf die Kommasetzung. In diesem Beispiel müsste an ende von Zeile 15 ein Komma hinzugefügt werden, falls noch ein Gegenstand hinzugefügt werden soll.
Hier drei unterschiedliche Beispiele, bei welchen dargestellt wird, wie die Konfiguration mit einem, zwei oder drei Items aussieht (jeweils unterschiedliche Items sowie unterschiedliche Wahrscheinlichkeiten). Beachtet das man nach einem Item ein Komma setzt und das darauffolgende Item wieder mit einer Klammer öffnet. Nach dem letzten Item Set wird kein Komma gesetzt.
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"),ItemsWeights=(1.0),MinQuantity=10.0,MaxQuantity=10.0,MinQuality=1.0,MaxQuality=1.0,bForceBlueprint=false,ChanceToBeBlueprintOverride=0.0)))))
ConfigOverrideSupplyCrateItems=(SupplyCrateClassString="SupplyCrate_Level30_ScorchedEarth_C",MinItemSets=1,MaxItemSets=1,NumItemSetsPower=1.0,bSetsRandomWithoutReplacement=true,ItemSets=((MinNumItems=1,MaxNumItems=2,NumItemsPower=1.0,SetWeight=1.0,bItemsRandomWithoutReplacement=true,ItemEntries=((EntryWeight=1.0,ItemClassStrings=("PrimalItemArmor_TekHelmet_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=("PrimalItemArmor_TekPants_C"),ItemsWeights=(0.8),MinQuantity=10.0,MaxQuantity=10.0,MinQuality=1.0,MaxQuality=1.0,bForceBlueprint=false,ChanceToBeBlueprintOverride=0.0)))))
ConfigOverrideSupplyCrateItems=(SupplyCrateClassString="DinoDropInventoryComponent_BossGorilla_Hard_C",MinItemSets=1,MaxItemSets=1,NumItemSetsPower=1.0,bSetsRandomWithoutReplacement=true,ItemSets=((MinNumItems=2,MaxNumItems=3,NumItemsPower=1.0,SetWeight=1.0,bItemsRandomWithoutReplacement=true,ItemEntries=((EntryWeight=1.0,ItemClassStrings=("PrimalItem_WeapFlamethrower_C"),ItemsWeights=(0.6),MinQuantity=1.0,MaxQuantity=1.0,MinQuality=1.0,MaxQuality=1.0,bForceBlueprint=false,ChanceToBeBlueprintOverride=0.0), (EntryWeight=1.0,ItemClassStrings=("PrimalItem_WeaponProd_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=("PrimalItem_WeaponMachinedShotgun_C"),ItemsWeights=(0.8),MinQuantity=5.0,MaxQuantity=10.0,MinQuality=1.0,MaxQuality=1.0,bForceBlueprint=false,ChanceToBeBlueprintOverride=0.0)))))
Nachfolgend sehen wir ein Beispiel mit verschiedenen Item Sets. In dem ersten Item Set sind zwei Items in dem zweiten Item Set sind drei Items.
ConfigOverrideSupplyCrateItems=( SupplyCrateClassString="SupplyCrate_Level03_C",MinItemSets=1,MaxItemSets=2,NumItemSetsPower=1.0,bSetsRandomWithoutReplacement=true, ItemSets=( ( MinNumItems=1,MaxNumItems=2,NumItemsPower=1.0,SetWeight=0.6,bItemsRandomWithoutReplacement=true, ItemEntries=( (EntryWeight=0.7,ItemClassStrings=("PrimalItemArmor_TekHelmet_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=("PrimalItemArmor_TekPants_C"),ItemsWeights=(0.8),MinQuantity=10.0,MaxQuantity=10.0,MinQuality=1.0,MaxQuality=1.0,bForceBlueprint=false,ChanceToBeBlueprintOverride=0.0) ) ), ( MinNumItems=1,MaxNumItems=2,NumItemsPower=1.0,SetWeight=0.5,bItemsRandomWithoutReplacement=true, ItemEntries=( (EntryWeight=1.0,ItemClassStrings=("PrimalItem_WeapFlamethrower_C"),ItemsWeights=(0.6),MinQuantity=1.0,MaxQuantity=1.0,MinQuality=1.0,MaxQuality=1.0,bForceBlueprint=false,ChanceToBeBlueprintOverride=0.0), (EntryWeight=0.3,ItemClassStrings=("PrimalItem_WeaponProd_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=("PrimalItem_WeaponMachinedShotgun_C"),ItemsWeights=(0.8),MinQuantity=5.0,MaxQuantity=10.0,MinQuality=1.0,MaxQuality=1.0,bForceBlueprint=false,ChanceToBeBlueprintOverride=0.0)))))
Zum besseren Verständnis hier nochmal in einem Editor aufgeteilt: