![]() |
|
|
|
#1
|
||||||
|
||||||
|
I agree. This problem makes no sense to me. Why does it affect only one specific function of one specific weapon beginning with one specific chapter? It’s like this weapon has data that is stored outside of its definition file. Or its zoom data conflicts with the Chapter 3 data. Or something. I assume that the rendering engine doesn’t change from chapter to chapter. I don’t know the programming language(s); so, the error message is mysterious to me. Just guessing, but it looks like a lot of variable assignments (“set”) or counters (“tick”). Except for the “[C]…” line, which looks like a looping statement (“foreachi”).
I assume that the code is executed sequentially. So, why are there seven lines in the error message? Were they all on the same stack? Which line is causing the crash? In what order is this code executing (top-to-bottom or bottom-to-top)? Note: After each test below, I reversed the changes that I made to my installation so that I’d start each test with the same files and settings. Note: Instead of Left Mouse button, Right Mouse button, and Middle Mouse button, I’m going to start calling them Mouse1, Mouse2, and Mouse3, respectively. It’s faster. Note: When I say that a weapon worked successfully, I mean that the test did not crash the game. Not all weapons have Mouse2 functionality, for example, the GEW98 with Grenade. Note: Have modified my testing here. Unless stated otherwise, I am testing the Mouse2 functionality on only the GEW 98 with Bayonet to save time because the other weapons have tested successfully in all the other tests. Done. No change. The GEW 98 zooms correctly in Chapters 1 and 2, but using Mouse2 in Chapter 3 crashes the game. Same error message as before. Boy, this game sure looks scruffy with these video settings. Quote:
Quote:
Quote:
Done. In Chapters 1 and 2, the GEW98 with Grenade and the GEW98 with Sight both worked successfully with Mouse1, Mouse2, and Mouse3. In Chapter 3, the GEW98 with Bayonet worked successfully with Mouse1 and Mouse3. In Chapter 3, the GEW98 with Bayonet crashed the game with Mouse2. Same error code as before. Quote:
Done. No change. The GEW 98 zooms correctly in Chapters 1 and 2, but using Mouse2 in Chapter 3 crashes the game. Same error message as before. Quote:
The game did not launch. Instead, I received the following Script Error: [string “Game:OnSwitchToState(2)”]: attempt to index global ‘Game’ (a nil value) BTW: The \Data folder in my user profiles directory contains only one subfolder: \Maps—which branches down two levels to four folders, all of which are empty. Meaning: There are no data files in my user \Data folder; there are only folders. All data files are in the program installation folder. Quote:
The only good thing I can say about this bug is that it’s consistent: GEW98 with Bayonet, Mouse2, beginning with Chapter 3. I suppose I could use the “nvnweapons” cheat code for Chapter 3 and pray that the bug goes away in Chapter 4. But I’m not a Cheat Coder. I wouldn’t experience the game “the way it’s meant to be played.” With or without NVIDIA. Last edited by Chancellor23; 01-09-2010 at 05:50 PM. Reason: Word corrections. |
|
#2
|
||||||
|
||||||
|
I don't have time to think about the issue right now, I'll make another post later today.
Quote:
Lua Quote:
Tick is called at periodic short intervals to simulate continuous behavior of all things (weapons, ennemies, bullets, effects...) in the game. foreachi = for each i (I guess i is for item in a array or integer representing a identifier of a instance of a class (a bit like a pointer)). Correct It's the call stack, deepest on the first line. The problem is that this call stack dump is INCOMPLETE !! I mean, the game says: ./Data/LScripts/Classes/Types/Vector.lua:53:Set ./Data/LScripts/Classes/CPlayer.lua:1880:Tick but at CPlayer:1880 there is a call to Current Weapon's Tick function. And ofc Tick happens to be the n°1 longest and most subfunction calling function. Yippee! Quote:
Boy, the devs used 1024. Boy, don't say "scruffy" until you have tried putting Cfg.GraphicsQuality=0 in config.ini. xD Quote:
Quote:
Quote:
2-Or you could simply avoid the gew98 and find&use the other rifle (smle). But that would be admitting defeat. Apparently you seem to have some coding experience, so you can try downloading a tool named "Painfull" by xentax to extract the .pak files. Extract lscripts.pak in data\lscripts and you can strat editting the code with notepad. No need to compile or repack the data. (ie: you can delete lscript.pak once its content is extracted, the game directly reads the extracted content) |
|
#3
|
|||
|
|||
|
Put the following CWeapon.lua in NecroVisioN\Data\lscripts\Classes. It will not solve your problem, but it'll log all calls from a CWeapon to CVector:Set into a GniarfLog.txt, which should be in the same directory than script_error.log.
Report the latest (bottom) number. |
![]() |
| Thread Tools | |
| Display Modes | |
|
|