Známé chyby a limity hry


Verze 2.7 - 3.7+

Známé chyby
Nikdo není dokonalý

V adresáři Diabla 2 je soubor s logem chyb D2RRMMDD, kde rr značí rok, mm měsíc dd den, kdy byl soubor vytvořen. Kdykoli hra spadne, soubor je vytvořen/updatován. Poslední zápis se týká posledního spuštění programu.

Obsah souboru je pro ne-moddera dosti záhadný, ale pečlivým prozkoumáním několika klíčových řádků lze zjistit povahu chyby. Bylo zjištěno, že řada bugů v Zy-El modu generuje specifická chybová hlášení:

Chyba: THIS MOD DOES NOT WORK WITH m@ph@ck or any of its derivatives
Příčina: Používáte pragram, který není schopen spolupráce s modem. ve skutečnosti vadí maphack od verze vyšší než 4.5
Řešení: Přestaňte používat hacky.

Chyba:Assertion Failure
Location : Fog\Src\BitManip\BitManip.cpp, line #357
Expression : ptBuffer->nCurByte * 8 + ptBuffer->nCurBit + nBits <= ptBuffer->nLength
Příčina: Každý předmět uložený v souboru a postavou vyžaduje datový prostor. Při velkém množství předmětů je množství dat větší, než se vejde do paměťového prostoru, určeného pro soubory postav. Horní limit je asi 230-256 předmětů. Předměty s *hodně* atributy (jako osvitkované crafted věci) zjevně zabíraj víc místa v paměti.
Řešení: Nelze řešit na bázi modu. Tento limit je zahrnut v samotné hře. Jediný způsob, jak se chybě vyhnout, je snížit počet předmětů, zejména s s poskládanými atributy. Pokud vaše hra padá s touto chybou, zkuste vyhodit nějaké věci nebo je přehodit k nosiči.
Částečně opraveno ve verzi 3.0

Chyba: Summoned minions (pets) die after taking one hit
Příčina: bylo pozorováno, že na NM a HELL obtížnosti vyvolaní pomocníci (zejména Druidští) umírají po jednom zásahu. Předpokládá se, že toto je způsobeno "hp rollover" bugem, kdy mají pomocníci příliš mnoho životů.
Řešení: Předpokládá se, že znovuvyvoláním pomocníka znovu a znovu lze dosáhnout stavu, kdy pomocník vydrží stanovený čas (duration). To je pochopitelní, protože vyvolaní pochopové mají náhodný počet životů z určitého intervalu. Hráč pravděpodobně časem vyvolá pomocníka, který bude mít správný počet životů a nepřesáhne hranici rolloveru. POkusím se zmírnit tento bug redukcí maximálního počtu životů pro vyvolané pomocníky pod maximum ve verzi 2.5
Prý opraveno ve verzi 3.1 ale mám pocit, že je to u druidových vlků pořád.

Realm bug: musíte zabít baala na norm před levelem 100, jinak se nedostanete na NM.Tohle v single playeru nevadí.

Uvodní obrazovky JSOU divné, mají rozhozené barvy, ničemu se nedivte, dělá to všem :-)

Chyba: na oživení hirelinga se zobrazuje cena 34,000 ale nejde to
Příčina: : zobrazené množství je chybné. Největší číslo, které lze u této hodnoty zobrazit je 65,536; To je omezaní v Diablo2. V Zy-el byly max cena posunuta na 100000, takže to zobrazené množství je rollover 100,000 - 65536.
Řešení: skutečná cena za oživení hirelinga je 100000. , v NM to může být 200000 a v Hell až 400000

Chyba: Za rudé falleny, kteří vylézají z Hellhole nejsou expy.
Příčina: tohle je bug vytvořený programováním helljoles. Cokoliv z nich vyleze, nedává expy.
Řešení: zničte Hellhole a dostanete experience.

Chyba: hra občas padá když je to graficky náročné.
Příčina: stává se, když je na obrazovce moc grafických efektů najednou. Stává se to hlavně v aktu 5 , když sukuby hodí kletbu Amplify damage. Může se to stát i u superunik bossů a jejich aur.
Řešení: snižte grafické efekty ve hře. Přepněte z Direct3D na DirectDraw.

Chyba: Damage je nad 80000 ale postava dělá velmi málo damage.
Příčina: maximální damage pro jakýkoli typ damage je okolo 83,5 K. To se může trošku lišit pro elementální damage, takže bezpečné je držet vaši damage okolo 80000 anebo je rolovat nahoru k další hranici což by bylo okolo 160K V obtížnosti Hell je universální redukce na 50% pro potvory a rollover je okolo 120K
Řešení : buď snižte max damage pod 83500 nebo ji zvyšte k 160000.

Chyba: Life a mana se nezobrazuje správně při hodnotách nad 32767
Příčina: při hodnotě 32767 je u many i života display roll (přetočení)- zobrazí se jen to, co je nad tuto hodnotu. Číslo na pravo u té koule stále stoupá. Tohle vás vůbec neovlivní. Život se používá v "dávkách" 32767, když se použije jedna dávka, přeroluje se k další a začne zde. Rolování many může být nekdy problematické, protože pro kouzla používá hra čísla NALEVO, takže když jste přetočili manu a ulazuje se, že máte 147 z 32914, mát skutečně 32914 many ale hra si myslí, že máte jen 147 myna a nenechá vás použít skily, které potřebují více než 147 many.
Řešení: jestliže nemůžete volat kouzla, zvyšte maximální množství many. Jinak není vaše postava ovlivněna tím co se zobrazuje nebo nezobrazuje. (anglický text tu nechávám, protže si nejsem zcela jistá správností překladu, jestli je tu chybka, dejte mi vědět)

Chyba:
11:54:36.590 ***** UNHANDLED EXCEPTION: ACCESS_VIOLATION (c0000005)
11:54:36.590 Fault address: 6FDA23B5 01:000613B5 C:\PROGRAM FILES\DIABLO II\D2COMMON.DLL
11:54:36.590 eax:00f63578 ebx:00000079 ecx:00000000 edx:05137fc0 esi:00921e00
11:54:36.590 edi:05137ffc ebp:05130480 esp:0069c27c eip:6fda23b5 flg:00010246
11:54:36.590 cs:0167 ds:016f es:016f ss:016f fs:5287 gs:0000
Příčina: chyba je způsobena pokaženou věcí, která má příliš mnoho atributů, víc než může být ve hře uloženo nebo zobrazeno. To se může stát, když na tu věc naplácáte mnoho duet nebo trio tokenů se spoustou atributů. Když je ta věc pokažená, hra spadne, když přes ni přejedete myší nebo vůbec nejde naloadovat postava
Řešení: vyhoďte tu věc. Jestli ji nemůžete odstranit ve hře, potom musíte použít editor postav např shadowmaster na její odstranění.

Jestliže nemůžete otevřít svoji postavu, zkuste toto:
budete potřebovat editor postav ( nemáte-li, stáhněte si). Zálohujte si save vaší postavy.
Otevřete postavu v editoru. Některé editory jako shadowmaster se vás budou ptát, zda chcete aby program automaticky opravil soubor. Vždy odpovězte NO
Potom přidejte vaší postavě 1 gold a dejte save. (někde ve foru je diskuse o tom, že shadowmaster ořeže stats na 540 i když to zakážete, takže pozor u postav na vyšších levlech)
Tímhle můžete opravit porušené soubory postav.

Chyba: Postava nemůže přidělit body do žádného skilu - celá tabulka je šedá
Příčina:Jestliže má postava na sobě nějakou Demonickou věc, její penalizace snížily základní stats postavy pod nulu.
Řešení: Sundejte jakékoli věci, které způsobí, že vaše stts spadnou pod nulu. Potom přiřaďte skily a vemte si věc zpátky

Chyba: Assertion Failure
Location : D2CMP\SRC\FastCmp.cpp, line #1515
Expression : nLinesToSkip + nLinesToDraw <= (int)pCel->dwHeight
Příčina: Tohle se stane, když má postava extrémně moc života (někde okolo 108000) kombinované se záporným life drain (ubýváním života např z Demonické věci) a zkoušíte mluvit s uzdravovacím NPC ve městě. Uzdravovač se vás snaží léčit ale hra neumí zpracovat ta velká čísla slife drain.
Řešení: Než začnete s uzdravovačem mluvit, sundejte ze sebe věci, které přidávají život a vitalitu tak, aby počet životů klesl. Tenhle bug vyžaduje konverzi souboru postavy a to bude až někdy ve verzi 4.0

Další chyby, hlavně ve verzi 3.7b, c a d řešte prosím ve foru JackaNippera

Limity damage - Cap a rollover
Co je cap - limit, po jeho dosažení to dělá jen ten zbytek
Př :Je-li cap 500 a máte 501, udělá to 1
Až je dosažen určitý bod, začnete zas zpátky na nule a poračujete až k dalšímu cap.
Např: cap je 350, máte 753, damage začíná znovu po 700, takže máte 53
Když máte cap a bojujete proti někomu s negativními resisty, tak ho překročíte a neděláte mu nic.

Rollover- Zobrazí 0 po tom množství ale stále zahrnuje to množství předtím. (např rollover je 210, máte 380, zobrazí se 170

Známé Damage Caps (omezení):

POZOR: ačkoli toto je překlad z fora, Kato uvedl (viz výše), že limit damage je 83,5K. Jako bezpečnou hranici damage berte raději 80000.
.
Stručně a jasně to řekl na foru Bonuswebu Kundihrabka:
Dmg cap
87040 pro lightning, fire, cold, physical dmg. Kazde se pocita zvlast a pro kazdy zasah zvlast. Pokud nekdo prekroci dmg cap, tak jeho realna dmg je prave tolik, kolik pretahl pres cap. Pokud ma dmg cap prekroceny nekolikanasobne, tak se to taky tolikrat odecte. U physical dmg pozor, protoze se zapocitava i kriticky zasah a amplify dmg. U elementalni dmg zase pozor na skilly, ktere snizuji resisty.
Pokud ma nekdo takove starosti, tak staci nasbirat 100% crushing blow a specializovat se na co nejvic poison dmg.

překlad z phrozen keep:
Elementální damage je omezena na 87k.
Ale to je jen damage na úder

Elementální damage za sekundu(firewall, blaze, poison) pokud je známo, nemá cap

Elementalní Damage:

--Lighting: (2^10+2^12+2^14+2^16) nebo 1024*85 nebo 87040
Damage roluje zpátky k 0 okolo 140k-170k

--Fire: (2^10+2^12+2^14+2^16) nebo 1024*85 nebo 87040
Damage roluje zpátky k 0 okolo 140k-170k

--Cold: (2^10+2^12+2^14+2^16) nebo 1024*85 nebo 87040
Damage roluje zpátky k 0 okolo 140k-170k

--Poison: No Cap Known(damage je dělána za sekundu)

Physical Damage
(není zahrnute elementální damage):
Stejně jako ostatní známé limity: 87K
Damage roluje zpátky k 0 okolo 140k-170k

Známé rollovery:

Life: 2^15 nebo 32768
Mana: 2^15 nebo 32768
Stamina: 2^15 nebo 32768