• 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.

Fragen zu Dropp´s

  • Ersteller Ersteller Sadeer
  • Erstellt am Erstellt am

Sadeer

Guest
hi,
erstmal möchte ich sagen, falls dies das falsche forum für diesen thread ist, bitte verschieben...

nun, kurz auf den punkt: wie funktioniert das dropp system vom d2?

ich bin am programmiertechnischen daran interessiert; aber nich irgendwelchen code;

sondern eher etwas wie ein ablaufdiagramm

z.B.: gegner fällt, es wird entschieden wie viel fällt, zahl wird generiert ...
oder einfach wie man sich das vorstellen kann, hatt zb jeder gegenstand eine eigene nummer oder gar mehrere nummern, so das er öfters gefunden wird als anderedie dadurch seltener sinf?

oder geht das ganz anderst?

besonderes augenmerk auf die prozentualen chance nvon 0,00000...vielen dank im vorraus

ps.: ich möchte das wissen da ich mir selbst programmieren beibringen möchte, kann mir aber nich vorstellen wie das gehen soll ohnemassen an rechenleistung zu verbrauchen, wenn zb mehrere gegner auf einmal sterben, vorkenntnisse habe ich aus der schule
 
also in d2 basieren zumindest die auswahlen auf softcode (den *.txt datein)
lauter tabellen und vergleichsweite

wenn ein monster stirbt wird zuerst abgefragt welche trasureclass das monster überhaupt hat (monstats.txt oder montats2.txt - auf grund von mehr als 256 spalten sind es 2)
dann schaut d2 entsprechend in die treasureclassex.txt nach der treasureclass
dort wird bestimmt wie viele items droppen können/sollen (variabel oder feststehend), dann stehen da vergleichswerte drin (sowas wie nodrop 5 ring10 amu10 - bei 25 verrechnungen dropt 5x nix 10x ringe 10x amus - theoretisch^^)
da wird dann erst verrechnet welches item dropt, oder keines
ist ein drop errechnet schaut d2 ob in der treasureclass feste werte für die farben stehen - 1024=100% (also in 1/1024 schritten gliederbar für uni/set/rare/magic)
sollte dies nicht dort stehen (wird nur bei bossen und dergleichen verwendet) wird die itemqualität über die itemratio.txt errechnet - auch wieder vergleichweise wie uni 1000 set 20000 rare 50000 magisch 150000 - der rest wird unmagisch
zuerst wird die chance auf unique abgefragt, danach auf set, danach auf rare, danach auf magic
sollte ein item unmagisch werden wird abgefragt ob es gut, normal, schlecht sein soll - zu guter letzt dann noch ob es sockel bekommt und wieviel

sollte nun z.b. uni mit ja errechnet werden (also erfolgreich) wird in die uniqueitems.txt geschaut ob ein unique mit diesem basis item existiert
sollten der grundtyp sogar 2mal oder öfter vorkommen kommt die entsprechende ratio spalte zum einsatz - wieder vergleichswerte die die chance auf das jeweilige unique angeben

bei sets genau das selbe in der setitems.txt

sollte das item kein unique aufweisen wird es ein rare mit 3facher haltbarkeit
sollte das item kein set aufweisen wird es ein rare mit 2facher haltbarkeit

sollte rare aufgewählt werden (und das items auch rare werden können laut armor/weapon/misc.txt - gleicha uch bei magisch) wird in der rareprefix/raresuffix.txt geschaut welche affixe auftauchen können
danach wird in die magicprefix/magicsuffix.txt und die affixe erreichnet (gruppe, ratio)
dabei kann aus einer gruppe nur ein affix bei rauskommen und jedes davon auch nur einmal
sollte dennoch ein 2tes mal die gleiche gruppe oder gar affix errechnet werden wird neu gewürfelt
wenn mehr als 3mal das gleiche ergebnis kommt wird das affix dennoch genommen (super mega selten, fast unmöglich) - so können ringe mit 20%fc in lod entstehen z.b. (2mal 10%fc)

sollte magic errechnet werden wird die prozedur mit rareprefix/suffix.txt ausgelassen ansonsten is der prozess der selbe (nur das alle affixe möglich sind)

zudem wird bei affix, set, uni verrechnung das itemlvl abgefragt - is dies zu niedrig wird nochmal gewürfelt, sofehrn ein ergebnis möglich ist (also es varianten mit einen ilvl gibt die niedrig genug sind)
sollte keines möglich sein kommt bei uni/set oben beschriebenes ergebnis, bei magic/rare hab ich keineerfahrung ^^, evtl. kommen weiße items raus


durch das tausendmal vergleichen hier und da (bei treasureclass kann auch eine niedrigere treasure errechnet werden in der erneut berechnet wird ect... so kann das game xmal rechnen bis es zu einen tc kommt in der auch items stehen ^^ ) entstehen dann diese unmöglich erscheinenden chancen von 0.000000000..% oder 1:3247836542..

im großen und ganzen also einen datenbanksystem oder sowas (hab von programmirung keinen blassen schimmer ;) )

sollte ich was vergessen haben oder etwas nicht klar genug formuliert einfach fragen^^
sofehrn ich es weiß werd ichs beantworten *g

sollte jemand genauere informationen haben oder sehen das ich etwas falsch beschrieben haben - bitte korrigieren *g (bin ja auch nur nen mensch :P)



Gruß SamusAran
 
das leuchtet ein, wenn auch etwas kompliziert bis man alles verstandenhat.

aber das war genau das was ich wissen wollte; vergleichswerte... vielen thx

mal gucken was ich daraus machen kann^^
 
Da habe ich vor kurzer Zeit das hier gefunden.
--> Abhandlung über den Drop-Vorgang.
Ist zwar ne Menge Text aber am Ende dürfte keine Frage offenbleiben :D .

€/ Wobei SamusAran das im Groben schon fast gut erklärt hat.
Wenn du's präzise magst (wie ich :D), dann kannst du mit dem Link viel anfangen.
 
Zuletzt bearbeitet:
Zurück
Oben