• Herzlich Willkommen!

    Nach der Schließung von inDiablo.de wurden die Inhalte und eure Accounts in dieses Forum konvertiert. Ihr könnt euch hier mit eurem alten Account weiterhin einloggen, müsst euch dafür allerdings über die "Passwort vergessen" Funktion ein neues Passwort setzen lassen.

    Solltet ihr keinen Zugriff mehr auf die mit eurem Account verknüpfte Emailadresse haben, so könnt ihr euch unter Angabe eures Accountnamens, eurer alten Emailadresse sowie eurer gewünschten neuen Emailadresse an einen Administrator wenden.

[1.09] Fragen an die Experten zu TreasureClasses und mf

Status
Für weitere Antworten geschlossen.
:hy:
Eigentlich ist's mir egal, ob Code oder Pseudocode, solange es lesbar bleibt. Hab' ATM selbst das Problem, dass ich ich vor ca. 600 Zeilen Code sitze den ich nicht selbst verbrochen habe und der ziemlich mies dokumentiert ist - zum Gkück hat Eclipse einen Autoformater, sonst wäre ich verloren.


Nun aber zu deinem Code. Der erste Schnipsel scheint mir so richtig zu sein.

Bei zweiten hab' auf den ersten (recht kurzen) Blick kleine Zweifel, z.B. hier:
Code:
var newchance = (drops[i].prob / sumprob);
[b]if (picks > 1)[/b] newchance = 1 - (1-newchance) ^ (picks * parentpicks);
newchance *= chance;
Das stimmt IMHO nicht, denn selbt wenn in der TC nur ein Pick stattfindet, wird dieser eine Pick parentpicks-mal ausgeführt. Also müsste das if-Satement weg.
Als Beispiel sei folgendes genannt:
TC 1 - Picks -2 - Pick1 TC 2 - Prob1 2
TC 2 - Picks 1 - Pick1 a - Prob1 1 - Pick2 b - Prob2 1
In diesem Fall ist die Chance auf mind. 1 a = 1 - (1 - 1/2)^2 = 3/4. Bei dir wäre sie aber nur 1/2.

Mit dem else-Zweig des if-Satements komme ich irgendwie nicht zu recht: in der for-Schleife steht als Guard-Condition (picks > 0), allerdings liefert diese Bedingungn aufgrund der Vorbedingung immer false, denn man gelangt nur dann in den else-Zweig wenn Picks < 0 gilt. Aber sonst scheint die Schleife i.O.

Allerdings ist das alles erstmal unter Vorbehalt, da ATM meine Gedanken sich um die oben erwähnten 600 Zeilen Code drehen, da das dazu gehörende Programm bis Freitag 10 Uhr stehen muss :(


>neuer Calc (mit picks)
>Chance: 0.0008763% (1:114113)

9.799174146229994E-6

Das liegt wohl an dem erwähnten if-Statement


Gruss
 
>> Das stimmt IMHO nicht, denn selbt wenn in der TC nur ein Pick stattfindet, wird dieser eine Pick parentpicks-mal ausgeführt. Also müsste das if-Satement weg.

natürlich. Hatte das picks *= parentpicks vorher ganz oben, dann musste ich feststellen dass die auswahl bei picks < 0 dann nicht mehr klappt. Habs schnell "korrigiert", und dabei das übersehen. Das if ist jetzt weg.


>> Mit dem else-Zweig des if-Satements komme ich irgendwie nicht zu recht: in der for-Schleife steht als Guard-Condition (picks > 0),

ah.. da hab ich beim umschreiben geschlampt. picks ist in meinem calc immer positiv, und für das if (picks < 0) hab ich ne zweite variable. Der Bug existiert im calc nicht.


>>> neuer Calc (mit picks)
>>> Chance: 0.0008763% (1:114113)
>> 9.799174146229994E-6
>> Das liegt wohl an dem erwähnten if-Statement

s.o. eher nicht. Die IST-rune ist etwas ungünstig gewählt, auf dem Weg zu ihr gibts afaik keine TCs mit negativen picks (habs aber nicht genau nachgeguckt). Die Chance wird auch jetzt noch als 1:114113 angegeben.

Rechnet deiner mit 8 picks, mit 6 picks oder mit 6 von 8 picks ?


Mfg
Tub
 
Meppel hat 7 Picks ;)

Ich hab jetzt mal meinen TR bemüht. Ich berechne den Wert etwas anders als du.

Du rechnest so:
1 - (77/80)^7 * 14/132 * ... * 2/5765

Ich so:
1 - (1 - 3/80 * 14/132 * ... * 2/5765)^7



So kann man auch die Chance auf Sets gut reinbringen: einfach einen Weiteren Faktor in das Produkt innerhalb der Klammer einfügen.
 
hmm..

deine Formel funktioniert nur wenn mehrere picks in der ersten TC sind.

Was machst du denn z.B. bei sowas:

tc1: picks = 6
prob 1 = 1, pick = tc2, prob 2 = 1, pick = itemA
tc2: picks = 2
prob 1 = 1, pick = itemA, prob 2 = 1, pick = itemB

?

Mfg
Tub
 
Mein Calc ignoriert so etwas ATM total, da ich eigentlich eine ganz andere Datenstruktur aufbauen wollte. Allerdings hatte ich dieses auf diese Semesterferien verschoben und dann kam mir mein blödes Softwarertechnikpraktikum dazwischen :(

Ich hatte vor Entscheidungsbäume zu erstellen und diese dann durchzulaufen. Um das zu illustrieren hab' ich das mal ansatzweise auf einem Blatt Papier verewigt:

Picks in TC 1 sind hier 2 und die Pünktchen deuten an, dass dort nochmal diese Bäume auftauchen sollten.
tcs1.jpg

Hier wäre die Chance auf mind. 1 a 0.984375

Es sollte also nicht nur die Anzahl der Picks der parenttc, sondern auch diese selbst übergeben werden.
 
Em also ich dachte ja mal ich hätte eine leise ahnung von sowas aber MAN VERSTEHT VOM ERST POST AN NIX! Ich hab echt keine ahnung von was ihr da redet?

Was das alles heisen soll usw. :irre: :irre: :irre:

Aber ich finde soetwas echt interesannt. Gibt's im Netzt vieleicht irgendeine seite wo man lernen kann?? Naja lernen ist falsch ausgedrück halt wo man sehen kann worüber ihr redet ich versteht da echt gar nix. Will ich aber :)
 
Was genau willlst du lernen?
Die Theorien die hier verwendet werden?
Oder die Techniken die von D2 verwendet werden?

Zum ersteren gibt's sicher viele Skripte auf den HPs von Unis; oder Einsteigerbücher zu Wahrscheinlichkeitsrechnung bzw. Datenstrukturen und Algorithmen.

Zu der Technik hinter den Drops gibt's AFAIK nichts was dem Umfang hier in diesem Thread entsprechen würde. Das meiste beruht zwar auf dem eingangs erwähnten Artikel von Jarulf, aber selbst diese Daten sind ja nicht 100% richtig und der Rest ist durch Diskussionen und Tests hinzugekommen, so dass sich der Inhalt über viele Foren in kleinen Teilen verteilt, oder sogar ganz verschwunden ist. Ich schreibe zwar ATM einen Beitrag hierzu für d2w, aber bis der fertig ist dauerts noch ein wenig.
 
Ja das interesiert mich Die Theorien die hier verwendet werden.

Weiss nicht das finde ich echt mal interesannt.

Aber echt mal ein mega respekt an euch das ihr da nochn durchblick habt.
:D
 
erm... is in tubs sig. nich eh ein drop-calc oder isses eh der über den ihr hier redet?
 
Robbisch schrieb:
erm... is in tubs sig. nich eh ein drop-calc oder isses eh der über den ihr hier redet?
Ja. Aber der ist nicht vollständig.

Ausserdem wollen wir hier auch einen funktionierenden haben ;)
 
*staubwisch*

*hust*

ich muss mich nochmal melden. Ich möcht den Calc auch auf d2c erweitern. Filtern von Items und Monstern nach der Version-Spalte klappt ganz gut.

Aber wie sieht's mit den TreasureClasses aus ?

ich hab einfach mal alle TCs aus "TreasureClass.txt" statt "TreasureClassEx.txt" genommen, aber irgendwie verwirren mich da ein paar Sachen..

a) die Runen-TCs stehen da auch drin :confused: und werden scheinbar sogar benutzt :confused: :confused:
b) bei einer Drop-berechnung durchläuft der calc wesentlich mehr TCs als in LoD, obwohl es weniger gibt :confused:
c) bei Meppl kann keine Ornate droppen, Amber behauptet allerdings er könnte

also irgendwas scheint da nicht zu stimmen mit der TreasureClass.txt .. weisst du da genaueres ?


ach ja, um sicher zu gehen: bei generierten tc's (z.B. weap12) gilt immer picks = 1 und die boni für uni/set/.. = 0, richtig ?


link zum neuen Calc gibt's per PM, die alte URL gibt's nicht mehr, und der neue sollte im derzeitigen Zustand auf keinen Fall in falsche Hände geraden ;) :D


Mfg
Tub
 
Auch in Classic wird dir TreasureClassEx.txt Datei verwendet :)

Die Berechnungen sind eigentlich analog. LoD Gegenstände werden aber nicht in die Berechnungen einbezogen. Wenn du also z.B. die TC

a 25, b 25, c 24, d 1

mit a, b, c LoD Gegenstände hast, dann ist die Chance auf d = 1/1



>bei generierten tc's (z.B. weap12) gilt immer picks = 1 und die boni für uni/set/.. = 0, richtig ?

Jup.
 
ok, kleine sache noch:

wenn ich jetzt einfach alle picks die nicht aufgelöst werden können (weil das item unbekannt ist) lösche habe ich schonmal ein recht nettes Ergebnis.

Das bringt mich jetzt zurück zu den Einträgen wo zwar ein "prob"-wert, aber kein Item/TC-Wert eingetragen war. Du sagtest damals das sind gültige Einträge, und es wird in dem Fall halt nichts gedroppt.

ist "nichts" denn ein classic-item oder ein LoD-item? :D

oder anders gefragt: muss ich diese Einträge in classic beibehalten oder löschen ?


Mfg
Tub
 
Das "Nichts" ist eine glorreiche Eigenschaft von LoD :D

Bleibt nur noch die Frage welches der beiden Verhalten gewollt ist, oder warum man überhaupt TC anlegt, die keine Gegenstände enthalten.
 
>> Das "Nichts" ist eine glorreiche Eigenschaft von LoD :D

Ich bin sicher amber könnte daraus jetzt wieder nen dummen Spruch ableiten um über LoD zu lästern :D ;)

ok, in Classic hab ich nichts entfernt :rolleyes:

>> Bleibt nur noch die Frage welches der beiden Verhalten gewollt ist, oder warum man überhaupt TC anlegt, die keine Gegenstände enthalten.

Die Intention ist doch eindeutig: Code fertigkriegen, bis zur Mittagspause überleben, Deadline einhalten. ;) Gerade wenn 50 Programmierer da dran werkeln geht sowas gerne unter.
Reicht halt schon wenn 3 Deppen dabei sind um die vorhandenen bugs zu erklären - sowas wie CodeReviews oder funktionierende QA halt ich fürn Gerücht, ausgedacht von Managern die nichtmal VB können ;)


so, danke erstmal, ist soweit eingebaut, aktuelle Version up.

To do-list:

- Monsterlisten fixen
- formeln für mehrere picks nochmal überprüfen
- alvl-berechnung, später links zu affixtabellen
- Dokumentation (*würg*)
- verbleibende Berechnungen einbauen

ich weiss nicht, wie siehst du das ? Geplant sind derzeit ja folgende Möglichkeiten:

Chance für dieses Item bei diesem Monster anzeigen
Komplette Drops des Monsters anzeigen
Zufälligen Drop des Monsters generieren
Alle Dropchancen des Items anzeigen

braucht man den dritten ? Fehlt evtl. was ? Sag mal ne Meinung bitte :)


Mfg
Tub
 
Tub schrieb:
>> Bleibt nur noch die Frage welches der beiden Verhalten gewollt ist, oder warum man überhaupt TC anlegt, die keine Gegenstände enthalten.

Die Intention ist doch eindeutig: Code fertigkriegen, bis zur Mittagspause überleben, Deadline einhalten. ;) Gerade wenn 50 Programmierer da dran werkeln geht sowas gerne unter.
Reicht halt schon wenn 3 Deppen dabei sind um die vorhandenen bugs zu erklären - sowas wie CodeReviews oder funktionierende QA halt ich fürn Gerücht, ausgedacht von Managern die nichtmal VB können ;)
Jo. Da könnte ich dir auch nette Anekdoten erzählen :D


>- formeln für mehrere picks nochmal überprüfen

Meinst du für geschachtelte Picks?


>- alvl-berechnung, später links zu affixtabellen

Das sollte wohl nicht das Problem werden, wenn man die Affixtabellen hat. Allerdings fehlen die uns komplett :/


>- Dokumentation (*würg*)

Dafür haben wir bei uns an der Uni immer ein Mädel in der Gruppe ;)


>Chance für dieses Item bei diesem Monster anzeigen
>Komplette Drops des Monsters anzeigen

Das ist immer wieder gut ;)
Da das erste ja nur ein Filter für das zweite ist, kann man darauf IMHO verzichten; das hängt aber von deiner Implementierung ab.


>Zufälligen Drop des Monsters generieren

Braucht man nicht. Zudem müsstest du dafür den PRNG nachbauen, um wirklich "realistische" Drops zu simulieren. Ausserdem wäre es mehr ein Feature für einen Offline-Calc mit dem man dann mehrere Drops von einem Monster simulieren kann, für irgendwelche Statistikfreaks oder so.
Selbst dann ist mir aber der Nutzen immer noch zu gering, um sowas zu implementieren ;)


>Alle Dropchancen des Items anzeigen

Sowas gehört in jeden Calc.


Ob was fehlt? Das einzige was mir spontan einfällt wären Sortierfilter für die Ausgabe :)
-Name
-Chance
-Akt :D
 
>> - formeln für mehrere picks nochmal überprüfen
>> Meinst du für geschachtelte Picks?

jupp. Wenn du wüsstest in welchem Zustand ich war als ich den Teil programmiert hab würdest du dem code auch nicht trauen ;)

>> - alvl-berechnung, später links zu affixtabellen
>> Das sollte wohl nicht das Problem werden, wenn man die Affixtabellen hat. Allerdings fehlen die uns komplett :/

alvl-berechnung ist jetzt drin (formel von d2w abgeschrieben, wird schon stimmen ;)), tabellen.. naja, warten wir auf 1.10 ..

>> - Dokumentation (*würg*)
> Dafür haben wir bei uns an der Uni immer ein Mädel in der Gruppe ;)

uh.. wir hatten in der schule einen tollen info-kurs.. ich (ahnung), lehrer (keine ahnung), 2 mädchen (bisschen ahnung). Das war der ganze Kurs. Letztere haben sich immer drum gestritten dokumentieren zu dürfen, und dann die tollsten Sachen aufgeschrieben, schön Farbig gemacht (lila war ne beliebte Farbe, am besten kombiniert mit blau) und gute noten einkassiert.
Sicher, es war mit viel Mühe gemacht, aber lesen konnte man das nicht mehr ohne das einem übel wurde. War aber auch nicht wichtig, stand eh nix nützliches drin :rolleyes:

ich hoffe eure mädels sind da besser ;)

>> Chance für dieses Item bei diesem Monster anzeigen
>> Komplette Drops des Monsters anzeigen
> Das ist immer wieder gut ;)
> Da das erste ja nur ein Filter für das zweite ist, kann man darauf IMHO verzichten; das hängt aber von deiner Implementierung ab.

nein, verzichten kann man nicht. Beim ersten wird noch sowas lustiges wie ilvl/alvl/sockelzahl etc angegeben, das passt beim zweiten aus platzgründen nicht rein. Chance auf magic/rare fehlt beim zweiten auch.

Das zweite ist ausserdem zu unübersichtlich wenn man nur ein einzelnes Item wissen will, und dauert zumindest hier 4-5 sekunden...

>> Zufälligen Drop des Monsters generieren
> Braucht man nicht.

k. Wenn jemand fragt warum das feature fehlt verweise ich auf deine PM-box :D ;)

ich dachte es wär mal n nettes feature. Richtig nützlich nicht, aber nett. so wie's aussieht aber zu viel coding-aufwand (ich kann praktisch keine vorhandenen funktionen verwenden).
Naja, vielleicht später.. viel viel später.. nach den goldenen Truhen *g*

>> Alle Dropchancen des Items anzeigen
> Sowas gehört in jeden Calc.

jupp, definitiv. Allerdings macht mir gerade das von der Geschwindigkeit her sorgen. Ich vermute ich beschränke die Liste da auf die jeweils ausgewählte Monstergruppe, also z.B. Champions auf Nightmare oder so.. vielleicht etwas undurchsichtig, aber muss wohl sein.

>> Ob was fehlt? Das einzige was mir spontan einfällt wären Sortierfilter für die Ausgabe :)

gerne, allerdings weiss ich nicht wie einfach das zu realisieren ist. Klappt Array.sort() wenn ich ein array aus arrays hab? :D


Mfg
Tub
 
>jupp. Wenn du wüsstest in welchem Zustand ich war als ich den
>Teil programmiert hab würdest du dem code auch nicht trauen ;)

Das mache ich auch so nicht :p ;)


>alvl-berechnung ist jetzt drin (formel von d2w abgeschrieben,
>wird schon stimmen ;)), tabellen.. naja, warten wir auf 1.10 ..

Die Affixe aus den Dateien "extrahieren" ist auch nicht schwer ... nur das anschließende Formatieren :D


>ich hoffe eure mädels sind da besser ;)

Wenn man nur LyX oder Tex verwenden darf, dann gibt's zwangsläufig nichts in bunt.


>nein, verzichten kann man nicht. Beim ersten wird noch sowas lustiges wie ilvl/alvl/sockelzahl etc angegeben,
>das passt beim zweiten aus platzgründen nicht rein. Chance auf magic/rare fehlt beim zweiten auch.
>Das zweite ist ausserdem zu unübersichtlich wenn man nur ein einzelnes Item wissen will,
>und dauert zumindest hier 4-5 sekunden...

Ok, ich sag's doch hängt von der Implementierung ab.


>k. Wenn jemand fragt warum das feature fehlt verweise ich auf deine PM-box :D ;)

Dann deaktiver ich halt PMs :p


>gerne, allerdings weiss ich nicht wie einfach das zu realisieren ist. >Klappt Array.sort() wenn ich ein array aus arrays hab? :D

Effiziente Sortieralgorithmen sind doch nicht so schwierig :p ;)
 
>> ich hoffe eure mädels sind da besser ;)
> Wenn man nur LyX oder Tex verwenden darf, dann gibt's zwangsläufig nichts in bunt.

ja, und dann fallen meine beiden Klassenkameradinnen auch weg, das ist zu komplex ;)


>> gerne, allerdings weiss ich nicht wie einfach das zu realisieren ist.
>> Klappt Array.sort() wenn ich ein array aus arrays hab? :D
> Effiziente Sortieralgorithmen sind doch nicht so schwierig :p ;)

"Effizient" und "JavaScript" in einem Satz, da läuft's mir kalt den Rücken runter ..

wie auch immer, das hier sollt jetzt kein Spam/Laber-post werden, ich wollt dich eigentlich nur bitten dir nochmal den Calc anzugucken. ;)
Aufgabe: Finde 5 Unterschiede zur letzten Beta und bewerte sie.
erster Preis: n Keks ^^


Mfg
Tub
 
Tub schrieb:
"Effizient" und "JavaScript" in einem Satz, da läuft's mir kalt den Rücken runter ..

Tub schrieb:
wie auch immer, das hier sollt jetzt kein Spam/Laber-post werden, ich wollt dich eigentlich nur bitten dir nochmal den Calc anzugucken. ;)
Aufgabe: Finde 5 Unterschiede zur letzten Beta und bewerte sie.
erster Preis: n Keks ^^
  • Die Links sind ganz nett. IMO wäre es aber besser bei Sets und Uniques zum Basisitem zu gehen; das würde die Übersichtlichkeit erhöhen, wenn es mehrere Sets/ Uniques mit gleichem Basisitem gibt ;)
  • Alle Chancen des Items geht bei mir nicht :confused:
    Es kommt auch kein Hinweis.
  • Warum sind die Bedienfunktionen jetzt linksbündig? IMHO wäre es angenehmer, wenn die Bedienelemente Bottuns wären.
  • Set und Unique Filter :top:
  • Kein Hinweis auf meine PM Box? :top:

Andariel hat aber ein seltsames Verhältnis zu Gold:
Gold 71.5034312% 1:1


/edit: zu blöd die Tasten hier zu bedienen ^^
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben