Loot-System

Aus 7 Days to Die Wiki
Wechseln zu: Navigation, Suche

Im Folgenden wird erklärt, wie das Loot-System in 7 Days to Die funtioniert. (Stand: 7DtD Alpha 9.3X)
Dieser Artikel wird keine Beispiele aus dem eigentlich Code benutzen, jedoch ist es möglich mit dem Wissen sein eigenes Loot-System zu erstellen oder das vorhandene zu modifizieren. Sprich sich eine eigene 7DtD-Mod zu erstellen.
Beispiel: Jedes Vogelnest hat eine 100%ige Chance ein Scharfschützengewehr zu spawnen.

Random Loot Generation[Bearbeiten | Quelltext bearbeiten]

Zunächst sollte man wissen, dass das Spiel beim öffnen eines Loot-Container (siehe: Behälter), diesem Items und LootGruppen, die widerrum aus Items bestehen, zur Laufzeit zufällig zuweist, d.h der Loot wird erst beim öffnen eines Loot-Containers (bspw. Mülleimer) erstellt. Die mehr oder weniger "zufällige" Zuweisung wird in einer XML-Datei (models_6) in der "resources.assets" Datei modelliert.

XML-Style[Bearbeiten | Quelltext bearbeiten]

  • Item:
<item name="" count="" prob=""/>
Tag:
  item: es wird ein Item gespawnt
Attribute:
  name: welches Item soll gespawnt werden
  count: wie oft soll das Item gespawnt werden. Bsp: 1-10
  prob: mit welche Wahrscheinlichkeit sollen "count" Items gespant werden. Bsp: .25 -> 25%
  • LootGruppe:
<lootgroup name="" count=""/>
  <item name="" count=""/>
  <item name="" prob=""/>
  <item name="" count="" prob""/>
  <item group="" count="" prob=""/>
  beliebig weiterführbar
</lootgroup>
Tag:
  lootgroup: es werden alle Items in der Gruppe gespawnt
Attribute:
  s.o.
  • LootContainer:
<lootcontainer id="" count="" size="" sound_open="" sound_close=""/>
  <item name="" count=""/>
  <item name="" prob=""/>
  <item name="" count="" prob""/>
  <item group="" count="" prob=""/>
  beliebig weiterführbar
</lootcontainer>
Tag:
  lootcontainer: in welchem Lootcontainer (s. Behälter) wird was gespawnt
Attribute:
  id: ID des LootContainers, z. Z. sind 49 verschiedene LootContainer bekannt
  count: wie oft wird gespawnt
  size: wie groß ist der Lootcontainer. Bsp: "3,3", 3 Felder hoch * 3 Felder breit = 9 gesamt
  sound_open/close: Welcher Sound wird bei öffnen und/oder schließen des Containers gespielt


Beispiel[Bearbeiten | Quelltext bearbeiten]

Frei erfunden, es wird so im Spiel nicht vorkommen, es sei denn man schreibt es sich selber.

<lootcontainer id="42" count="0-2" size="1,3" sound_open="UseAction/open_cooler" sound_close="UseAction/close_animal">
  <item name="paper" count="10"/>
  <item group="guns" count="1-2"/>
</lootcontainer>
<lootgroup name="guns" count="2">
  <item name="pistol" count="1" prob=".05">
  <item name="pistolAmmo" count"5-20">
</lootgroup>
  • Analyse:

Annahme: Wir befinden uns im Spiel und öffnen ein Vogelnest (in unserem Fall ist id=42 ein Vogelnest). Nun wird der Loot generiert.

Der LootContainer besitzt 3 Felder, size="1,3", ein hoch und 3 breit.
Der Counter des LootContainers kann 0,1 oder 2 sein, in unserem Fall rollt er mit ein 33% Chance die 2, also count = 2, also 
wird 2 mal der Loot innerhalb des Container gespawnt. 1. Packe 10x Paper in den Container 2. Gehe "count mal" in die LootGruppe "guns", bei uns ist count = 1 mit einer 50% Chance gerollt 3. Spawne mit einer 5% Chance eine Pistole, hat hier nicht geklappt 4. Packe 5-20 Patronen in den Container, hier: 12 5. Da die LootGroup "guns" einen Counter von 2 hat sind wir wieder bei der Pistole angekommen, also 5% Chance eine Pistole
zu spawnen, klappt. 6. Packe 5-20 Patronen in den Container, hier: 5 - Nun sind wir wieder in der äußeren Schleife, sprich der 2te Durchlauf des LootContainers 7. Packe 10x Paper in den Container 8. Gehe "count mal" in die LootGruppe "guns", bei uns ist count = 1 mit einer 50% Chance gerollt 9. 5% Pistole zu spwanen, klappt nicht. 10. 5-20 Patronen hinzufügen, jetzt: 20 11. 5% Chance Pistole zu spawnen, klappt. - Wer aufgepasst hat, hat jetzt ein Problem erkannt, wir haben 3 Felder im Container, wollen aber gerade das 4. Item
hineinpacken, dies wird ignoriert und es wird fortgefahren. 12. 5-20 Patronen hinzufügen, hier 14 13. Fertig, ein Glück.

Das Vogelnest besitzt also in unserem Beispiel 20x Paper, 51x Patronen und eine Pistole. Es könnte allerdings auch gar nichts besitzen, falls der Counter des Lootcontainers 0 rollt, oder theoretisch 20x Paper, 8 Pistolen und 160 Patronen, aber merke, geht ja nicht, wir haben ja nur 3 Plätze. Wer mathematisch bewandert ist kann jetzt auch ausrechnen mit welcher Wahrscheinlichkeit der Loot spawnt. Die Pistole hat hier z.B. eine Wahrscheinlichkeit von 3,3% (hoffe ich hab da jetzt kein Rechenfehler gemacht xD)