Jump to content
Sign in to follow this  
malakas

DMX...problemy techniczne i ich rozwiązania

Recommended Posts

Kolekcja częstych błędów DMX i rozwiązania...

1) Wypady przy braku pamięci:

Objaw: dowolny wypad z komentarzem "out of memory" lub "insufficient resources available" lub "no more data is available". Oprócz tego niektóre wypady z "Can't open section" mogą także być związane z niewystarczającą ilością pamięci.

Przyczyna: STALKER - to gra wyjątkowo wymagająca jeśli chodzi o zasoby, jest przeciążona nawet w czystej postaci, a w szczególności na niektórych mapach - Kordon, Dolina Mroku, Magazyny Wojskowe, Prypeć. Przy tym absolutnie NIE MA ZNACZENIA ile masz pamięci RAM w komputerze! Dla każdego procesu 32-bitowej wersji Windows dostępne jest wyłącznie 2 GB i nie więcej.

Leczenie: obniżenie jakości tekstur, albo w szczególnie ciężkich przypadkach przejście na oświetlenie statyczne. Oprócz tego można próbować dodać do adresu uruchamiającego grę polecenie " -noprefetch". Tę opcję (bez nawiasów) można dodać na stałe do skrótu stalkera. Wchodzimy w e właściwości skrótu i w polu 'Element docelowy' na samym końcu polecenia uruchamiającego grę po spacji dodajemy powyższe polecenie. Jeśli masz Windows Vista, możesz spróbować grać uruchamiając najpierw z prawami administratora polecenie "bcdedit /SetIncreaseUserVA 2700".

//Przypis tłumacza: Istnieje narzędzie '3GB enabler' pozwalające na ominięcie tego ograniczenia i przydzielenie każdemu procesowi 3GB pamięci, co powinno rozwiązać problem. Narzędzie do znalezienia na forum.

U użytkowników systemów 64-bitowych ten problem nie występuje.

2) Wypady renderowania:

Objaw:

stack trace:
001B:0188B3B6 xrRender_R1.dll
or
001B:02C09EE6 xrRender_R2.dll
Przyczyna: to problem sterowników video związany z tym, że gra przekazuje funkcji drivera nieprawidłowe dane albo lub zawisa potok obróbki danych obrazu...

Leczenie: dobre w tym wypadzie jest to, że jest to zazwyczaj problem chwilowy i daje się wyleczyć zwykłym ponownym wczytaniem ostatniego zapisu. Główne miejsce występowania takich wypadów - Jantar, zdarzają się najczęściej na północny-wschód od bunkra uczonych.

3) Wypady związane z utraconą przez grę lub zniszczona bronią

Objawy są przykładowo takie:

FATAL ERROR
[error]Expression : e_entity
[error]Function : xrServer::Process_event_reject
[error]File : E:stalkerpatch_1_0004xr_3daxrGamexrServer_process_event_reject.cpp
[error]Line : 12
[error]Description : entity not found. id_parent=1350 id_entity=1312 frame=11471
stack trace:
Scheduler tried to update object lvl_community_respawn_xxxxx (e.g., esc_soldier_respawn_11350)
Przyczyna: ten wypad zazwyczaj występuje wtedy, kiedy broń świeżo zabitego NPC-a zostaje zniszczona lub zniknie z poziomu (zapadnie się pod ziemię czyli wpadnie pod tekstury) w tym momencie, kiedy chce ja podnieść inny NPC lub GG.

Leczenie: zazwyczaj wystarczy ponownie wczytać ostatni zapis gry i wypad znika.

4) Wypady z uszkadzaniem sejwów - w większości poprawione w patchu 1.0004, ale mogą też występować w 1.0005

Objawy są przykładowo takie:

stack trace:
xrGame.dll
xrGame.dll
albo błąd "Can't open section"

Przyczyna: Uszkodzony sejw gry. To może nastąpić na przykład wtedy, kiedy gra usunie trupa, ale nie oczyści przywiązanego do niego miejsca na mapie. Taki problem występuje także wtedy, kiedy w logu znajduje się następujący tekst:

"- Critical: SMapLocation binded to non-existent object id=xxxxx"
Ten wpis łatwo jest przegapić, ponieważ pojawia się w logu dużo, dużo wcześniej, niż nastąpi próba wczytania uszkodzonego sejwa. Ten rodzaj przepadania trupów często występuje w modach lub na Arenie, ale nie mniej często wystepuje wtedy, kiedy anomalia rozrywa trupa.

Leczenie: w tym przypadku trzeba będzie szukać wczesniejszego sejwa, gdzie ten problem jeszcze nie wystapił.

5) Niewłaściwe miejsce spawnu:

Objawy są przykładowo takie:

! Cannot build GAME path! (object m_tushkano_normal21511)
! CURRENT LEVEL : l10_radar
! CURRENT game point position : [376.978180][-51.199860][29.992897]
FATAL ERROR
[error]Expression : I != levels().end()
[error]Function : GameGraph::CHeader::level
[error]File : e:stalkerpatch_1_0004xr_3daxrgamegame_graph_inline.h
[error]Line : 171
[error]Description : there is no specified level in the game graph : 96
stack trace:
Scheduler tried to update object m_tushkano_normal21511
... albo coś w tym rodzaju ...

FATAL ERROR
[error]Expression : false
[error]Function : CGameGraph::distance
[error]File : e:stalkerpatch_1_0004xr_3daxrgamegame_graph_inline.h
[error]Line : 96
[error]Description : There is no proper graph point neighbour!
stack trace:
Przyczyna: jakiś mutant lub NPC zaspawnował się w nieprawidłowym miejscu. Przyczyną tego jest fakt, że A-life spawnuje w pewnym promieniu od założonego punktu spawnu, co pozwala na to, że za każdym razem spawn jest nieco inny. Niestety, czasem udaje mu się umieścić obiekt w punkcie poza płaszczyzną tekstur - pod ziemia albo w ścianie, albo też zaspawnowany obiekt wpada pod tekstury

Leczenie: zazwyczaj wystarczy po prostu wczytać ostatni zapis gry. W szczególnie ciężkich przypadkach, kiedy udało się ci zrobić zapis z już w ten sposób utkniętym NPC-em lub potworem, trzeba będzie przejść na inna lokację, żeby zwierzę lub postać mogła w off-line uwolnić się i odejść na swoje normalne miejsce.

6) Nieprawidłowe miejsce spawnu - drugi wariant:

Objawy są przykładowo takie:

! DetailPathManager has failed : from [142.099976,-4.614447,445.899963] to [142.099976,-5.792273,443.799988]
! DetailPathManager has failed : from [142.099976,-4.614447,445.899963] to [142.099976,-5.792273,443.799988]
! DetailPathManager has failed : from [142.099976,-4.614447,445.899963] to [142.099976,-5.792273,443.799988]
stack trace:
001B:01E59454 xrGame.dll
001B:01E5E8A4 xrGame.dll
001B:01E5E584 xrGame.dll
Przyczyna: NPC lub mutant przeszedł w off-line w niedobrym miejscu i nie możę znaleźć wyjścia żeby dojść do punktu przeznaczenia. Dla nawigacji stworzeń gra stosuje sieć połaczonych ze sobą kwadratów, jednakże niektóre z nich sa od siebie odizolowane. Na przykład głazy na krawędzi mapy albo miejsca na innej wysokości niż punkt przeznaczenia.

Leczenie: zazwyczaj wystarczy wczytać ostatni zapis. W szczególnie ciężkich przypadkach, kiedy udało się ci zrobić zapis z już w ten sposób utkniętym NPC-em lub potworem, trzeba będzie przejść na inna lokację, żeby zwierzę lub postać mogła w offlinie uwolnić się i odejść na swoje normalne miejsce

7) Wypady w rodzaju "Bad argument #2 to 'format' " lub podobne

Objawy są przykładowo takie:

FATAL ERROR
[error]Expression : fatal error
[error]Function : CScriptEngine::lua_error
[error]File : D:xray-svnxr_3daxrGamescript_engine.cpp
[error]Line : 74
[error]Description : <no>
[error]Arguments : LUA error: e:stalkergamedatascripts_g.script:20: bad argument #2 to 'format' (string expected, got no value)
stack trace:
Przyczyna: najczęstsza przyczyna tych wypadów - przekazywanie nieprawidłowych wartości własnym funkcjom gry. Takie błędy występują zazwyczaj wtedy, kiedy następuje jakiś poważny problem i o takich błędach należy informować twórców moda. Jeśli zdarzy się taki wypad, należy skopiować z logu także tekst powyżej linijki FATAL ERROR.

Leczenie: zazwyczaj wystarczy wczytać ostatni zapis. Jeśli ten wypad występuje podczas wczytywania sejwa - prześlijcie go twórcom moda z logiem wypadu.

8) Rzadki wypad wewnętrzny 1: CTheoraSurface

Objaw:

stack trace:
001B:004BCFBC XR_3DA.exe, CTheoraSurface::`vftable'()
001B:0298C084 xrGame.dll
001B:02994577 xrGame.dll
Przyczyna: zdarza się przy przeglądaniu w PDA kontaktu w momencie, kiedy przełącza się w off-line.

Leczenie: zazwyczaj wystarczy wczytać ostatni zapis gry.

9) Rzadki wypad wewnętrzny 2: CKinematicsAnimated

Objaw:

stack trace:
001B:00451CE8 XR_3DA.exe, CKinematicsAnimated::ID_Cycle_Safe()
Przyczyna: zazwyczaj związany z obróbką fizyki i animacji. Jeśli występuje stale dla jakiejś konkretnej postaci - dajcie znać twórcom moda.

Leczenie: zazwyczaj wystarczy wczytać ostatni zapis gry.

10) Rzadki wypad wewnętrzny 3: ParticleManager

Objaw:Dowolny wypad ze wskazaniem na ParticleManager.

Przyczyna: zazwyczaj występuje przy wyobrażaniu cząsteczek - dymu z ognisk, ognia, strzałów i t.d.

Leczenie: w większości przypadków pomaga uaktualnienie sterowników karty grafiki

11) Dwa lub więcej błędów raz za razem

Objaw:

[error][183] : Cannot create a file when that file already exists.

Przyczyna: zazwyczaj są to dwa jednakowe błędy, które wystąpiły jednocześnie.

Leczenie: w logu zazwyczaj jest umieszczony pierwszy błąd z serii. Postepuj z nim tak, jak opisano powyżej dla błędów tego typu.

12) Błędy drogi lub marszruty

Objawy są przykładowo takie:

Expression : ai().level_graph().valid_vertex_id(vertex->data().level_vertex_id())
Function : CPatrolPathManager::select_point
File : E:/stalker/patch_1_0004/xr_3da/xrGame/patrol_path_manager.cpp
Line : 164
Description : patrol path[mil_mercs_walker_3_walk], point on path [name07],object [ros_killer_respawn_230016]
Przyczyna: nawet jeśli gra jest spatchowana do wersji 1.0005 ciągle jeszcze wystepują problemy z marszrutami.

Leczenie: zazwyczaj wystarczy wczytać ostatni zapis gry i nie robic zapisów w miejscach, gdzie wystepuja takie wypady.

13) Wypady typu:

Expression : error handler is invoked!
Function : invalid_parameter_handler
File : E:stalkersourcestrunkxrCorexrDebugNew.cpp
Line : 800
Description :
Expression : error handler is invoked!
Function : invalid_parameter_handler
File : E:stalkersourcestrunkxrCorexrDebugNew.cpp
Line : 804
Description :
Przyczyna: podobny wypad mówi o tym, że w grze został zanicjowany jakiś obiekt posiadający w swoich parametrach niewłaściwe wartości (na przykład zerowe).

Leczenie: szukaj w konfigach niewłaściwie zapisanej linijki. Błąd bardzo rzadki i bez roboczego sejwa, na którym wystepuje taki błąd, nie ma możliwości jego usunięcia.

14) Błędy typu:

Line : 12 Description : e_parent && e_entity
Line : 804 Expression : error handler is invoked!
Te błędy są znane, ale ich przyczyna znajduje się w configach, silniku, teksturach...

Takie błędy spotyka się w każdym modzie i w zasadzie są nie do wytropienia.

15) Błędy typu "_g.script:22":

- to tylko fakt wywołania wymuszonego przerwania z powodu zaistnienia błędu/problemu w którymś ze skryptów i wywoływany jest celowo!

- jeśli pojawi się ta flaga-błąd (t.zn. wypad gry z powodu _g.script) to nie należy próbować łatać ale trzeba leczyć! To znaczy przejrzeć linijki ponad sekcją [FATAL ERROR], w których powinno być pokazane źródło i przyczyna błędu, a potem szukać/poprawić/...

16) Błąd:

xr_logic:pstor_load_all:not_registered_type_N=[ХХХ]_encountered
- następstwo tego, że przy uruchamianiu gry/sejwa jakiś obiekt nie był do końca zainicjalizowany i przy kolejnym sejwowaniu nie zostały zapisane jego dane. Przy wczytywaniu tego sejwa ten niezapisany do końca przedmiot zaczyna się wczytywać i ... wczytywane są dane nie należące do niego. To prowadzi do nieprawidłowych znaczeń i w konsekwencji do przerwania gry.

Jeśli są takie sejwy i pochodzą z gry na nowych fiksach - dobrze jest przekazać je twórcom moda. Takie obiekty należy wyszukać i odnaleźć przyczyny ich niedoinicjalizowania.

17) Tuż nad linijką w logu: "ВНИМАНИЕ!_Игра_принудительно_прерывается!"

Przy danym typie błędów zawsze występuje linia w rodzaju:

"info~>xr_logic:pstor_load_all:obj=[prapor_mafon],id=[5818],var[)=[<nil>],type=[244]< -?:(23/3286163456):<Error!>"
W której wskazany jest konkretny 'winowajca' (w danym przypadku: obj=[prapor_mafon]) i bezdyskusyjnie dziwna 'kurożaba': var[)=[] i dziwny zapis: type=[244] do których odnosi się podana w niższych linijkach przyczyna przerwania gry. Wszystko to mówi o nieprawidłowej informacji, którą gra usiłuje wczystać.

18) Wypad typu:

FATAL ERROR
[error]Expression : false
[error]Function : CGameObject::ef_detector_type
[error]File : E:stalkersourcestrunkxr_3daxrGameGameObject.cpp
[error]Line : 857
[error]Description : Invalid detector type request, virtual function is not properly overridden!
[error]Arguments : C_HLCP_S
stack trace:
Wyjaśnienie: 'C_HLCP_S' - to z jakiegoś powodu helikopter zgubił się w Dolinie Mroku... Spotykane, ale baaardzo rzadko, dlatego do tej pory nie wytropione.

19) Wypad typu:

Expression : e_entity
Function : xrServer::Process_event_reject
File : E:stalkerpatch_1_0004xr_3daxrGamexrServer_process_event_reject.cpp
Line : 12
Description : entity not found.
Wyjaśnienie: błąd patcha 1.0004 . Naprawia się przez instalacje nowszej wersji patcha dla Cienia Czarnobyla.

20) Wypad typu:

FATAL ERROR
[error]Expression : fatal error
[error]Function : CInifile::r_string
[error]File:stalkersourcestrunkxrCoreXr_ini.cpp
[error]Line : 352
[error]Description : <no expression>
[error]Arguments : Can't find variable ammo_mag_size in [wpn_addon_grenade_launcher]
Leczenie: nie sejwuj z niestandardowymi granatami w granatnikach podlufowych automatów i w Bulldogu + nie zostawiaj w schowkach/plecakach/skrzynkach broni z załadowanymi granatami do grantników podlufowych.

21) Wypad z powodu werteksów:

FATAL ERROR
[error]Expression : vertex || show_restrictions(m_object)
[error]Function : CPatrolPathManager::select_point
[error]File : E:stalkersourcestrunkxr_3daxrGamepatrol_path_manager.cpp
[error]Line : 155
[error]Description : any vertex in patrol path [rostok_sniper_3_walk] in inaccessible for object [rostok_stalker_0002]
Problemy samej gry. Mod nie ma tu wpływu. Końcowy punkt drogi jakiegoś NPC-a albo potwora pokrywa się z punktem powstania anomalii (jedna logika nakłada sie na drugą i z tego powodu następuje wypad). Takie błędy będą pojawiać się coraz częściej wraz z wprowadzeniem dynamicznych anomalii.

Rozwiązanie jest banalne - albo ponownie wejść na lokację (wczytać automatyczny zapis przy wejściuy na lokację) albo zapisać grę i ponownie wczytać, być może anomalie przemieszczą się i nie nastąpi nakładanie logik.

22) Wypad typu:

FATAL ERROR
[error]Expression : fatal error
[error]Function : CScriptEngine::lua_error
[error]File : E:stalkerpatch_1_0004xr_3daxrGamescript_engine.cpp
[error]Line : 73
[error]Description : <no expression>
[error]Arguments : LUA error: ...обыляs.t.a.l.k.e.rgamedatascriptsxr_gulag.script:1190: attempt to index field 'gulag' (a nil value)
Rzadki, ale paskudny wypad. Najczęściej pojawia się na Dziczy.

Leczenie: wczytać zapis z przed problematycznego wejścia na lokację.

--------------------------------------------

Niegroźne błędy:

~ ERROR: can't detach independant object. entity[wpn_ak7414270:14270], parent[pri_monolith_respawn_114248:14248], section[wpn_ak74]
~ ERROR: can't detach independant object. entity[wpn_mp52539:2539], parent[agr_factory_defence_stalker6:2532], section[wpn_mp5]
~ ERROR: can't detach independant object. entity[wpn_ak742662:2662], parent[agr_factory_assault_soldier1:2656], section[wpn_ak74]
albo

~ ERROR: can't detach independant object. entity[wpn_ak7414270:14270], parent[single_player:0], section[wpn_ak74]
albo

DEBUG: NPC ---

Właściwie to nie błędy, a ostrzeżenia od silnika gry albo powiadomienia kontrolne. Nie powodują żadnych problemów

//tłumaczenie - trurl3

Share this post


Link to post
Share on other sites

Małe uzupełnienie księgi wylotów... kilka gotowych rozwiązań technicznych.

Usuwanie przedmiotów powodujących błędy (broni, szkieletów, restryktorów)

Ważne! Róbcie kopie oryginalnych plików.

Bardzo ważne! Macie wątpliwości - lepiej zapytać.

Przykładowy log błędu......

[error]Description : Invalid vertex for object

[error]Arguments : wpn_lr30033589

Błąd u każdego jest indywidualny i może wyglądać inaczej .

Przy wypadach typu... invalid vertex, brakujących przejściach, przy narzekaniu funkcji restrictor... na nieistniejące obiekty, oraz w innych sytuacjach w grze, powstaje konieczność usunięcia "przeszkadzającego" obiektu. Proponuję wykorzystać już istniejący blok kodu w skrypcie... bind_stalker.script.

Uwaga. Usuwajcie tylko te obiekty, co do których jesteście pewni, że nie będą potrzebne w dalszej grze.

1... W pliku gamedatascriptsbind_stalker.script odszukaj zakomentowany blok kodu:

--[[local bad_object_names = {"wpn_lr30053522", "wpn_lr30058409" } --"wpn_lr30025601", "wpn_lr30028817","wpn_lr30033589"
local i, se_name, se_obj

for i, se_name in ipairs(bad_object_names) do
se_obj = alife():object(se_name)
if se_obj then
news_manager.send_tip(db.actor,"Удалили глючный ствол:"..se_name,nil,nil,1000)
alife():release(se_obj, true)
end
end]]

2... Usuń komentarz, czyli znaki --[[ na początku przed local oraz ]] na końcu po end

3... W bad_object_names zamiast wpisanych przykładowo nazw broni wpisz nazwy obiektów, które trzeba usunąć. Każda nazwa zamknięta jest w "", a jeśli jest ich więcej niż jedna, trzeba je oddzielać przecinkiem.

Przykład A... Usunięcie restryktora usunięcia Szarego (ATP, mobilny handlarz)

local bad_object_names = {"atp_sedoy_delete_restrictor"}
local i, se_name, se_obj

for i, se_name in ipairs(bad_object_names) do
se_obj = alife():object(se_name)
if se_obj then
news_manager.send_tip(db.actor,"Удалили глючный ствол:"..se_name,nil,nil,1000)
alife():release(se_obj, true)
end
end

Przykład B... Usunięcie wiecznie powodujących błędy zombie (Sarkofag, na przykład jest ich 2)


local bad_object_names = {"sarc_arhara_zombied_respawn_154797", "sarc_arhara_zombied_respawn_149048"}
local i, se_name, se_obj

for i, se_name in ipairs(bad_object_names) do
se_obj = alife():object(se_name)
if se_obj then
news_manager.send_tip(db.actor,"Удалили глючный ствол:"..se_name,nil,nil,1000)
alife():release(se_obj, true)
end
end

4... Zapisać skrypt i wgrać odpowiedni sejw. Usunięcie zostanie wykonane w trakcie wczytywania, GG otrzyma wiadomość:

"Удалили глючный ствол:&lt;nazwa&gt;" dla każdego obiektu, wymienionego w bad_object_names i istniejącego w grze. Raz usuniętych obiektów nie trzeba już więcej usuwać.

Po udanym usunięciu lepiej (chociaż to nie krytyczne) przywrócić komentarze w kodzie, tzn. znaki --[[ na początku przed local и ]] i na końcu po end , a w razie konieczności powtórzyć operacje z p.1 dla kolejnego obiektu (obiektów).

Błędy typu...attempt to index local respawner

Leczenie: wystarczy dopisać jedna linijkę kodu do pliku gamedatascriptsse_respawn.script

get_console():execute("load ~ Spawn now ["..tostring(self:name()).."] -&gt; ["..obj:name().."]")

przed linijką:

 amk.on_REspawn(obj,self)

Uwaga: teksty w konsoli pokazujące się na czerwono w rodzaju:

! Cannot find saved game ~ spawn now [amk_embankment_soldat_respawn] -&gt; [esc_soldier_respawn_specnaz21604] - to nie błąd, to po prostu informacja.

Autor: WhatAbout

Wyloty bez logu...

Czasem moga się zdarzyć spontaniczne wypady bez wpisu do logu. Na przykład w laboratorium Х-10 albo na Dziczy.

W niektórych przypadkach pomaga czasowe zmniejszenie strefy on-line GG do bardzo małej wartości. Pozwala to przynajmniej przejść problematyczny odcinek.

Żeby zmniejszyćzwiększyć switch_distance trzeba:

1. Wyjść z gry.

2. Znaleźć plik... gamedata config alife.ltx

3. W nim znaleźć wiersz

switch_distance = 140

4. I zmienić liczbę na inną, w tym przypadku mniejszą. Wstawmy zero. Będziemy mieli tak:

switch_distance = 0

5. Zapisujemy plik.

6. Po przejściu problematycznego miejsca, wychodzimy z gry i przywracamy poprzednia wartość. Potem gramy dalej.

Autor: Shadows

Tłumacz: trurl3

Kilka gotowych rozwiązań problemów w temacie...http://www.stalkerteam.pl/topic/223-czeste-bledy-soljanki-i-ich-rozwiazania/

Share this post


Link to post
Share on other sites

Malakas mam błąd typu - invalid vertex

FATAL ERROR
 
[error]Expression    : !object->used_ai_locations() || ai().level_graph().valid_vertex_id(object->m_tNodeID)
[error]Function      : CALifeSwitchManager::add_online
[error]File          : E:\priquel\sources\engine\xrGame\alife_switch_manager.cpp
[error]Line          : 64
[error]Description   : Invalid vertex for object 
[error]Arguments     : zombie_future_d3868

ale nie ma w skrypcie bind_stalker.script miejsca - local bad_object_name.

Możesz pomóc.

Share this post


Link to post
Share on other sites

Spróbuj tak.

Otwórz plik bind_stalker.script w notatniku

znajdź linijkę function actor_binder:update(delta)

Zaraz pod nią dodaj taki wpis

 local se_obj = alife():object("zombie_future_d3868")

if se_obj then

alife():release(se_obj, true)

end

Zapisz i graj. 

Share this post


Link to post
Share on other sites

Zrobię tak, ale zmiana switch_distance do 140 (miałem 148 ) już pomogła. Dostałem się tam gdzie chciałem, choć po paru metrach znowu wylot.

Nurtuje mnie jedno pytanie - co będzie gdy zmniejszę switch_distance na stałe ? 

Share this post


Link to post
Share on other sites

Pod poprzednim wpisem dodaj

local se_obj = alife():object("zombie_future_a4350")

if se_obj then

alife():release(se_obj, true)

end

Zapisz i próbuj dalej.

Switch_distance oznacza odległość z jakiej widzą cię inni mieszkańcy zony. Im ta wartość będzie mniejsza, tym bliżej będziesz mógł podejść do wroga lub mutanta. Czy to pomoże na bugi rodzaju "Invalid vertex for object" nie wiem, może. Generalnie tego typu błąd oznacza że jeden obiekt w świecie Zony koliduje z drugim. Spawnuje się w tym samym miejscu albo coś w tym rodzaju. By manipulowanie switch distance pomogło dany obiekt musiałby kolidować z postacią gracza a nie zawsze tak jest. To może być zombie spawnujący się w dynamicznej anomalii albo jakiś karabin który wpadł w teksturę kupy kamieni, albo jeszcze coś innego. Prostszym rozwiązaniem jest usunięcie wadliwego obiektu ze świata gry za pomocą wyżej pokazanej funkcji. Albo po prostu wczytanie gry od autosejwu z wejścia na lokację i ponowne podejście do tematu. Świat Zony będzie już wtedy wyglądał ciutke inaczej i może nie będzie wylotów. 

Share this post


Link to post
Share on other sites

Dzięki za pomoc. Pomyślałem, że wpis trzeba powtórzyć. Nie myliłem się. Zobacz.

function actor_binder:update(delta)
local se_obj=alife():object("zombie_future_d3868")
if se_obj then
alife():release(se_obj,true)
end
local se_obj=alife():object("zombie_future_a4350")
if se_obj then
alife():release(se_obj,true)
end
local se_obj=alife():object("zombie_future_d9757")
if se_obj then
alife():release(se_obj,true)
end
local se_obj=alife():object("zombie_future_d9763")
if se_obj then
alife():release(se_obj,true)
end
local se_obj=alife():object("zombie_future_a9966")
if se_obj then
alife():release(se_obj,true)
end
local se_obj=alife():object("zombie_future_a10012")
if se_obj then
alife():release(se_obj,true)
end
local se_obj=alife():object("zombie_future_d10013")
if se_obj then
alife():release(se_obj,true)
end
local se_obj=alife():object("zombie_future_a10014")
if se_obj then
alife():release(se_obj,true)
end
local se_obj=alife():object("fracture_weak18554")
if se_obj then
alife():release(se_obj,true)
end
local se_obj=alife():object("sim_default_monolith_418561") 
if se_obj then
alife():release(se_obj,true)
end
local se_obj=alife():object("zombie_future_b18598")
if se_obj then
alife():release(se_obj,true)
end

miałem dosyć. A bugi dalej. Chyba lokacja jest całkowicie schrzaniona. Użyłem switch_distance i przeszedłem lokację. Tak jak myślałem, nic w niej ciekawego nie było oprócz tego na początku. W tym wypadku switch całkowicie wystarczył. A jeszcze jedno. Przy "modowym switchu" (148), na detektorze wyświetlało się miejsce z artem, natomiast przy > 50 art nie wyświetlał się i fizycznie nie było go.

Na początku chciałem zrobić to o czym piszesz i co jest bardziej skuteczne czyli  usunąć wadliwe obiekty, ale zrezygnowałem. Wczytywanie różnych czasowo save-ów nic nie dawało.     

Edited by DaarMoo

Share this post


Link to post
Share on other sites

Zauważyłem jeszcze jedną rzecz. Przy obniżeniu switcha do 130 obraz zaczął się lekko klatkować (fabryczny 148). Podniosłem do 140 i przestał. Spotkałeś się z czymś takim ? A jakbym podniósł ?

 

Edited by DaarMoo

Share this post


Link to post
Share on other sites

W Fotografie złapałem taki log. Czyżby coś z grafiką ?

Destroying Direct3D...
* RM_Dump: textures  : 0
* RM_Dump: rtargets  : 0
* RM_Dump: rtargetsc : 0
* RM_Dump: vs        : 0
* RM_Dump: ps        : 0
* RM_Dump: dcl       : 0
* RM_Dump: states    : 0
* RM_Dump: tex_list  : 0
* RM_Dump: matrices  : 0
* RM_Dump: lst_constants: 0
* RM_Dump: v_passes  : 0
* RM_Dump: v_elements: 0
* RM_Dump: v_shaders : 0
refCount:pBaseZB 1
refCount:pBaseRT 1
DeviceREF: 1
 

Edited by DaarMoo

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.