Client Crash [message #484515] |
Wed, 20 November 2013 16:18 |
Neijwiert
Messages: 124 Registered: October 2009
Karma:
|
Recruit |
|
|
Crash type:
Internal error, nothing else specified.
Set-Up:
I have the latest version of scripts on both my client and server, I am running a single custom plugin. This plugin does something that makes the client crash under these conditions:
- The player is already in the game
- The server loads the next map
- On the OnLoadLevel SSGM event there is a chain of events and it eventually leeds to this code:
GameObject *TimerObj = Commands->Create_Object("Invisible_Object", Vector3(0,0,0));
this->_TimerObject = TimerObj->Get_ID();
TimerObj->Add_Observer(this);
- There no longer is any crash when the Add_Observer line is removed.
Layout of the class 'this' points to:
Toggle Spoiler
class NTCPowerupSpawner : public ScriptImpClass
{
friend class NTCPowerupControl;
friend class NTC_Powerup;
public:
NTCPowerupSpawner(int SpawnerID, bool Enabled, const char *Preset, Vector3 &Position, int MaxSpawnCount, float SpawnDelay);
virtual void Timer_Expired(GameObject *obj, int number);
int Get_Spawner_ID();
void Toggle_Spawner(bool Enable);
void Spawn_Powerup(bool Decrease);
protected:
void OnThink();
void Remove_Powerup();
bool Can_Spawn();
void Force_Spawn_Powerup(bool Decrease);
GameObject *Create_Timer_Object();
void Start_Timer(float Delay = 0);
GameObject *Get_Object(int &ID);
void Remote_Spawn_Powerup(bool Decrease);
private:
int _SpawnerID;
bool _Enabled;
StringClass _Preset;
Vector3 _Position;
int _SpawnsRemaining;
int _Item;
bool _SpawnPending;
float _SpawnDelay;
int _TimerObject;
};
I was unable to reproduce it with an empty class that called the same pieces of code on the constructor of the class at the same time.
CrashDump attached.
|
|
|