[Modding] Ist es möglich, eine zufällige Menge an Gold zu erschaffen?

Acifer

Senior Member
Registriert
27.04.2019
Beiträge
2.303
Feedback einiger Betatester von CotLG war, dass die Belohnung des Amuletts der „Befreiten“ zu knauserig sei. Gut, 5 Goldmünzen täglich ist nicht wirklich viel.
Ich würde das item gerne so verändern, dass täglich 1w100 Goldmünzen erschaffen werden.
Nur: Wie mache ich das? Bis auf ein aufwändiges Script, das von einer durch den Gegenstand beschworenen Kreatur ausgeführt wird, fällt mir dazu kein guter Workaround ein.
Habt Ihr dazu Ideen?
 

Maus

Senior Member
Registriert
07.08.2002
Beiträge
9.620
Also im Spiel gibt es random-Funktionen und ich meine, ich hätte die auch schon in Items gesehen. Bei Projektilen ja in jedem Fall. Vielleicht nicht mit W100, aber da könnte man ja 10W10 nehmen. Und dann das Projektil mit Ziel Caster definieren, so dass dieser das Gold bekommt? Könnte das ein Weg sein?
 

Argent

Senior Member
Registriert
13.07.2010
Beiträge
274
Das wäre kein Problem für ein Skript. Aber für einen Effekt ist es etwas aufwändiger. Wenn der Betrag aber wirklich nur zwischen 1 und 100 liegen soll, dann kann man das bequem über die Probability-Werte lösen. Per TP2-Skript sollte das etwa so funktionieren:
Code:
COPY ~%MOD_FOLDER%/items/myitem.itm~ ~override~
  FOR (i = 0; i < 100; ++i) BEGIN
    LPF ADD_ITEM_EFFECT
      INT_VAR
        opcode = 122    // Create item
        target = 1      // Self
        timing = 1      // Permanent
        parameter1 = i + 1  // # to create
        probability1 = i
        probability2 = i
        // optional:
        header = 1  // Ability 0
        type = 3    // Ability type: Magical
      STR_VAR
        resource = ~MISC07~ // Gold
    END
  END
 

Maus

Senior Member
Registriert
07.08.2002
Beiträge
9.620
Blöde Frage zu dem Skript:
- die Schleife wird 100mal durchlaufen
- in jedem Durchlauf wird ein Effekt hinzugeführt?
- der Effekt generiert Gold
- dadurch hat man 100 Effekte mit, die jeweils 1-100 erzeugen?
- die Wahrscheinlichkeit der Effekt nimmt mit der Summe zu??? "i" ; müsste da nicht eher 0.01 als Probability stehen? Und sicher, dass dann zumindest einer der Effekte ausgeführt wird? - in den bcs-Skripten wird ja immer die relative Wahrscheinlichkeit der Skriptblöcke definiert; da wird immer einer, aber nur einer ausgeführt. Läuft das bei der Wahrscheinlichkeit von Effekten genau so? Da hatte ich bisher nicht den Eindruck.

Oder halt ein Denkfehler bei mir?
 

Argent

Senior Member
Registriert
13.07.2010
Beiträge
274
Die Wahrscheinlichkeiten in Effekten werden durch Unter- und Obergrenzen definiert, die im Bereich 0 bis 100 liegen (genauer gesagt: bis 99, aber 100 sieht "schöner" aus und ändert nichts an der effektiven Wahrscheinlichkeit). Diese Grenzen sind inklusive, d.h. die Grenzwerte werden mit berücksichtigt. Die Schleife oben setzt für jeden Effekt Ober- und Untergrenze auf den gleichen Wert (z.B. 1-1, 2-2, 3-3, ...). Dadurch wird für jeden Effekt eine Wahrscheinlichkeit von genau 1% definiert und simuliert damit 1w100 Goldmünzen.
 
Zuletzt bearbeitet:

Maus

Senior Member
Registriert
07.08.2002
Beiträge
9.620
Hm, vllt habe ich es verstanden:
Der Effektauslöser würfelt immer mit einem W100 (von 0 bis 99). Wenn ich z.B. definiere Prob1=0 Prob2=49, dann ist das eine 50% Wahrscheinlichkeit, weil alle Werte von 0-50 diesen Effekt auslösen. Und das würde genau gleich sein, wenn ich Prob1=5 und Prob2=54 nehme (sieht dann nur nicht so gut aus)?

Bei dem Skript hat jeder Goldwert (i+1) eben halt nur einen Wert, der dann eben 1% Wahrscheinlichkeit ist.
 

Acifer

Senior Member
Registriert
27.04.2019
Beiträge
2.303
Läuft wie geschmiert:
Holycoin.jpg

Wie immer vielen Dank! Auf diese geniale Lösung wäre ich nie gekommen.

Für all jene, denen es genau so geht wie Maus und mir: Hier, ich gebe eine Runde aus: ;)
991BE7F6-96A0-46F7-A35B-CE26A7D895F1.png991BE7F6-96A0-46F7-A35B-CE26A7D895F1.png991BE7F6-96A0-46F7-A35B-CE26A7D895F1.png991BE7F6-96A0-46F7-A35B-CE26A7D895F1.png991BE7F6-96A0-46F7-A35B-CE26A7D895F1.png991BE7F6-96A0-46F7-A35B-CE26A7D895F1.png991BE7F6-96A0-46F7-A35B-CE26A7D895F1.png991BE7F6-96A0-46F7-A35B-CE26A7D895F1.png
 

Argent

Senior Member
Registriert
13.07.2010
Beiträge
274
Der Effektauslöser würfelt immer mit einem W100 (von 0 bis 99). Wenn ich z.B. definiere Prob1=0 Prob2=49, dann ist das eine 50% Wahrscheinlichkeit, weil alle Werte von 0-50 diesen Effekt auslösen. Und das würde genau gleich sein, wenn ich Prob1=5 und Prob2=54 nehme (sieht dann nur nicht so gut aus)?
Ganz genau. Die Engine würfelt pro Zauber einen zufälligen Wert zwischen 0 und 99 (inklusive), und alle Effekte, die diesen Wert beinhalten werden dann ausgeführt. Da im obigen Zauber jeder Effekt nur einen einzigen Wahrscheinlichkeitswert umfasst, wird pro ausgelösten Zauber immer nur ein einziger Effekt ausgeführt.
 
Oben