Gość Diegtiariow Opublikowano 18 Grudnia 2013 Zgłoś Udostępnij Opublikowano 18 Grudnia 2013 (edytowane) Występuje mi problem z wczytywaniem, wywala mnie do pulpitu. Pomoże mi ktoś? SGM 2.0 Geonezis AddonPs.Nie potrzebnie wcisnąłem spację i teraz jest pod tym postem. FATAL ERROR [error]Expression : 0 [error]Function : ErrorLog [error]File : D:prog_repositorysourcestrunkxrServerEntitiesscript_engine_script.cpp [error]Line : 49 [error]Description : INCORRECT LOAD [_CTreasureManager].[0][37941] stack trace: Edytowane 19 Grudnia 2013 przez kamil190 Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
The Emperor Opublikowano 19 Grudnia 2013 Zgłoś Udostępnij Opublikowano 19 Grudnia 2013 Niestety nie posiadam na dysku tego moda, więc mogę jedynie udzielić Ci info. na podstawie zasobów www. Nie napisałeś jaką masz wersję moda oraz czy były instalowane wszystkie patche, ale przejdę do sedna. W tym temacie jeden z forumowiczów spotkał się z podobnym problemem - link, temat odsyła do innego wątku, w którym możemy przeczytać (link), że problem spowodowany jest nadmiarem znalezionych przedmiotów:[error]Description : INCORRECT LOADw linku znajdziemy plik do pobrania : Fix.Inna z porad udzielona przez usera - John'a (post nr. 8805) proponuje dwa sposoby rozwiązania:Sposób 1: znaleźć plik skryptu xr_statistic.script a w nim następującą funkcję:function inc_founded_artefacts_counter(art_id) znajduje się tam wpis: actor_statistic.artefacts_founded + 1 zmieniamy końcową wartość z 1 na 0 - zapisując zmiany i wczytując poprzedni save.Sposób 2: odszukajmy plik xr_statistic.script a w nim funkcję :function inc_founded_artefacts_counter(art_id) zapisać funkcję do postaci - dopisujemy pod w/w funkcją: if(taken_artefacts[art_id]==nil) thenif actor_statistic.artefacts_founded<255 thenactor_statistic.artefacts_founded = actor_statistic.artefacts_founded + 1endtaken_artefacts[art_id] = art_idlocal s_art = alife():object(art_id)if(s_art and s_art:section_name()) thenartefacts_table[s_art:section_name()] = trueendend i zapisujemy zmiany. Z opinii forumowiczów widzę, że sposób działa. Inny z kolei temat podaje szereg alternatywnych sposobów - post nr. 7908 (autor: Клепаныч )Pisze on następujące wprowadzenie w temat:Każdy z artefaktów w grze posiada unikatowy numer stanowiący jego identyfikator. Podczas podnoszenia, skrypt sprawdza czy identyfikator znajduje się w tabeli (wykazie), jeśli jednak dojdzie do błędu - uruchamia się licznik artefaktów (+1) i identyfikator jest umieszczany w tabeli. Jeśli licznik nie działa, wówczas przedmioty o błędnym identyfikatorze są określane poprzez taken_artefacts = {}Faktem jest, że długość tabeli przy zapisywaniu i ładowaniu jest zdefiniowana jako 8-bitowa, zatem unikatowy numer który może być poprawnie zapisany i wczytany to 256. Artefakt o ID = 257 zostanie umieszczony w wykazie, jednakże nie zostanie poprawnie załadowany i pojawi się błąd:FATAL ERROR[error]Expression : 0[error]Function : ErrorLog[error]File : D:prog_repositorysourcestrunkxrServerEntitiesscript_engine_script.cpp[error]Line : 49[error]Description : INCORRECT LOAD [_CTreasureManager].[0][314437] Aby rozwiązać ten problem należy zapisać długość wczytywania i zapisywania tabeli na 16-bitową.Jeśli nie rozpocząłeś nowej gry...☑ otwórz plik xr_statistic.script [gamedatascripts] ☑ znajdź funkcję: function save(package) zmieniamy z postaci: package:w_u8(i)for k,v in pairs(taken_artefacts) dopackage:w_u32(k)end na postać następującą: package:w_u16(i)for k,v in pairs(taken_artefacts) dopackage:w_u32(k)end ☑ znajdź kolejną funkcję: function load(package) - zmieniając taken_artefacts = {}n = package:r_u8()for i = 1,n dolocal k = package:r_u32()taken_artefacts[k] = kend na postać następującą: taken_artefacts = {}n = package:r_u16()for i = 1,n dolocal k = package:r_u32()taken_artefacts[k] = kend Zapisując wprowadzone zmiany. Jeśli jesteś w trakcie rozgrywki... ☑ otwórz plik xr_statistic.script [gamedatascripts] ☑ znajdź funkcję: function save(package) zmieniamy z postaci: package:w_u8(i)for k,v in pairs(taken_artefacts) dopackage:w_u32(k)end na postać poniższą: package:w_u16(i)for k,v in pairs(taken_artefacts) dopackage:w_u32(k)end ☑ zapisz plik. ☑ uruchom grę i wczytaj save - jednak nie toczymy rozgrywki. Załaduje się wersja 16-bit tabeli. ☑ otwieramy ponownie plik xr_statistic.script ☑ przechodzimy do funkcji function load(package) - zmieniając funkcję: taken_artefacts = {}n = package:r_u8()for i = 1,n dolocal k = package:r_u32()taken_artefacts[k] = kend na postać następującą: taken_artefacts = {}n = package:r_u16()for i = 1,n dolocal k = package:r_u32()taken_artefacts[k] = kend ☑ zapisujemy zmiany Teraz możemy zbierać kolejne artefakty! - koniec cytatuOsobiście nie testowałem w/w porad - dlatego sugeruję każdemu kto będzie zmieniał jakiekolwiek pliki - zrobienie kopii zapasowej plików modyfikowanych. Logi różnią się nieco wpisami, posiadają jednak tę samą sygnaturę błędu: INCORRECT LOAD [_CTreasureManager, dlatego decyzję o doborze sposobu na ominięcie CTD pozostawiam czytającym ów post. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Gość Diegtiariow Opublikowano 19 Grudnia 2013 Zgłoś Udostępnij Opublikowano 19 Grudnia 2013 Teraz jeszcze lepiej: FATAL ERROR [error]Expression : 0[error]Function : ErrorLog[error]File : D:prog_repositorysourcestrunkxrServerEntitiesscript_engine_script.cpp[error]Line : 49[error]Description : INCORRECT LOAD [_CTreasureManager].[0][2405] stack trace: Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
The Emperor Opublikowano 19 Grudnia 2013 Zgłoś Udostępnij Opublikowano 19 Grudnia 2013 Z której porady skorzystałeś? - jeśli pobrałeś fix'a wcześniej robiąc kopię plików - przywróć oryginalne pliki i spróbuj zastosować inne wskazówki - trochę ich zamieściłem. Sprawa następna - wciąż nie wiem jaką masz wersję moda. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Gość Diegtiariow Opublikowano 19 Grudnia 2013 Zgłoś Udostępnij Opublikowano 19 Grudnia 2013 SGM 2.0 Geonezis Addon + Fix Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
kfiat Opublikowano 19 Grudnia 2013 Zgłoś Udostępnij Opublikowano 19 Grudnia 2013 (edytowane) SGM chodzi o wiele stabilniej jeśli wyłączysz miny i dynamiczne anomalie w opcjach SGM. Możliwe że masz uszkodzony save, wczytaj wcześniejszy i powyłączaj to co napisałem. Edytowane 19 Grudnia 2013 przez kfiat Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Gość Diegtiariow Opublikowano 19 Grudnia 2013 Zgłoś Udostępnij Opublikowano 19 Grudnia 2013 (edytowane) Wszystkich porad użyłem i nic. Wciąż to samo. @kfiat Wyrzuciłem tylko miny. Edytowane 19 Grudnia 2013 przez kamil190 Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
The Emperor Opublikowano 19 Grudnia 2013 Zgłoś Udostępnij Opublikowano 19 Grudnia 2013 Innych rad bez moda na dysku nie jestem w stanie wymyślić, pozostaje próbować wczytać poprzedni save lub zrobić restart ostatniego questu - wczytując zapis przed pobraniem ostatniego z zadań. W ostateczności - reinstalowałbym grę.Edit:Ten sam sposób opisany na GSC - link (napisany przez playdough). Na końcu wpisu znajdziesz Fix'a. Jeśli będziesz coś podmieniał - zrób kopię plików. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi