edit/
W folderze pojawił się też plik z logiem, który trochę się różni od tego na obrazku:
Creating console and logfile: 0
Loading settings: 0
VCMI 0.73 (client)
Initializing screen: 16
Initializing video: 0
Initializing minors: 0
Initializing fonts: 0
Loading default system settings: 0
Initializing sound: 78
Initializing screen, fonts and sound handling: 78
Loading .lod files: 47
Reading OBJNAMES
Reading ADVEVENT
Reading XTRAINFO
Reading MINENAME
Reading MINEEVNT
invalid string position
Reading config/cr_sounds.txt
Disaster happened.
Reason: 0xc0000005 - EXCEPTION_ACCESS_VIOLATION at 001b:0043A803
Attempt to read from 0x00000070
Thread ID: c4e8 [50408]
Crash info will be put in 000002EC
Coś w przetwarzaniu plików tekstowych…
Jaką masz wersję językową H3?
Jeśli polską, to sprawdź proszę, czy wypakowanie tych plików do podfolderu /Data naprawia problem. Jeśli naprawia - po uruchomieniu VCMI wpisz do konsoli komendę “get txt”. Zaczekaj, aż się wykona, następnie spakuj powstały podfolder “Extracted_txts” i mi go gdzieś zuploaduj.
Jeżeli angielskie pliki nie naprawiają twojego problemu, to wgraj mi gdzieś plik “VCMI_client.exe_crashinfo.dmp” powstały, gdy VCMI się wysypuje.
Mam taki sam problem jak smd co mam zrobić?
wersje mam polską proszę aby ktoś z VCMI teamu udzielił mi pomocy bo Pomocy Tow’a nie kapuje chciałbym tak krok po kroku
@ "w logach jest to"
to są zwykłe zapisy w logu, dzięki którym można powiedzieć kiedy był błąd ale nie mówią co się stało (mówią że została podjęta akcja i została zatwierdzona - normalny “oddech” aplikacji)
myślę że Towa i resztę bardziej interesują pozostałe wpisy, a także bugdump
lepiej wyślij tu pliki logów i te dwa pliki z dump w nazwie to może coś powiedzą/zauważą
Co to znaczy “trochę pomogło”?
Napisz proszę dokładnie, CO się zmieniło. Jakie jest zachowanie przed zmianą i po zmianie. Ten problem jest u mnie niereprodukowalny.
Jeśli faktycznie pakiet o końcu akcji się powtarza, to normalne to nie jest. Faktycznie jednak zawsze lepiej jest móc spojrzeć na cały log.
W ostatnim release jednak wciąż są crashbugi przy atakowaniu dwuheksowców, przypuszczam, że to to dało o sobie znać. Ponoć już załątane.
Obrażenia jednostek są źle liczone, co jest szczególnie widoczne dla jednostek niskopoziomowych. Rozrzut jest zdecydowanie za duży. Po sprawdzeniu w kodzie źródłowym widać, że obrażenia to losowy numer między minimalnymi a maksymalnymi obrażeniami liczonymi dla całego oddziału, a powinny być losowe dla pojedyńczej jednostki. Np. dla dwóch jednostek zadających 1-3, szansa na zadanie 4 powinna być trzy razy większa niż na zadanie 2.
niedokładnie: w oryginalnym herosie jest liczone płaskie losowanie dla pojedyńczej jednostki a potem mnożone (chyba nie ma wielokrotnych losowań?), tu jest chyba na odwrót: najpierw mnożone potem losowane
“Testując” obrażenia w Heroesach Complete jestem pewien, że nie ma płaskiego losowania. Im większy stack, tym wyniki są względnie coraz bliżej średniej z min i max. Może dałoby się to jakoś ułatwić stosując np. rozkład normalny dla dużych oddziałów, choć nie wiem jak wykonać to w praktyce.
przepraszam że się wtrącam, nic nie wiedząc, ale istnieje możliwość że dla każdej jednostki obrażenia mogłyby być liczone oddzielnie, wtedy obserwacja zjarka byłaby zbieżna z rozkładem wynikającym z wielu losowań płaskich i sumowaniu
jednak myślę że bardziej prawdopodobne jest losowanie z ziarnem - nie wszystkie wartości dozwolone (tzn. na każdą jednostkę przypada całkowita liczba obrażeń tzn na 100 jednostek bijących 3-5 prawidłowe wyniki to tylko 300,400 i 500), które może powodować złudzenie na które zjarek dał się nabrać
szczerze mówiąc sam się dokładnie nie zastanawiałem nad algorytmem obrażeń gdy grałem, jedyne co zrobiłem na ten temat to przeczytałem w helpie że atak i obrona mają wpływ na obrażenia i że ten wpływ jest limitowany
EDIT: nie zdążyłem przeczytać postu u góry ale jednak jest losowanie z ziarnem tzn. najpierw losowane dla jednostki a dopiero potem mnożone, co daje w przypadku 100 jednostek 3-5 33% szansy na obrażenia 500
Z tego co widać, nie mogli się zdecydować ani na rozkład jednostajny, ani na efekt zbieżności do rozkładu normalnego dla dużych ilosci jednostek, więc wybrali metodę pośrednią. Postaram się to poprawić (oraz inne niedociągnięcia w zakesie liczenia obrażeń), ale nie wiem do której wersji.