Scripting 10 - Listening on explosions
Posted: Sat Jul 27, 2019 2:06 pm
Scripting 10 - Listening on explosions
Scripting in SFD assumes you have a fair knowledge of C#.
The following code demonstrates how to listen on triggered explosions in v.1.3.0.
Note: If you only want to listen on player damage you could use the PlayerDamageCallback event instead. See viewtopic.php?f=22&t=3771
ScriptAPI Implementation
Scripting in SFD assumes you have a fair knowledge of C#.
The following code demonstrates how to listen on triggered explosions in v.1.3.0.
Code: Select all
Events.ExplosionHitCallback m_explosionHitEvent = null;
public void OnStartup() {
m_explosionHitEvent = Events.ExplosionHitCallback.Start(OnExplosionHit);
}
public void OnExplosionHit(ExplosionData explosion, ExplosionHitArg[] args) {
// explosion triggered
for(int i = 0; i < args.Length; i ++) {
switch (args[i].HitType) {
case ExplosionHitType.Damage:
Game.WriteToConsole(string.Format("Explosion {0} hit {1} {2} for {3} damage", explosion.InstanceID, (args[i].IsPlayer ? "player" : "object"), args[i].ObjectID, args[i].Damage));
break;
case ExplosionHitType.Shockwave:
Game.WriteToConsole(string.Format("Explosion {0} pushed {1} {2}", explosion.InstanceID, (args[i].IsPlayer ? "player" : "object"), args[i].ObjectID));
break;
case ExplosionHitType.None:
Game.WriteToConsole(string.Format("Explosion {0} overlapped {1} {2}", explosion.InstanceID, (args[i].IsPlayer ? "player" : "object"), args[i].ObjectID));
break;
}
}
}
Note: If you only want to listen on player damage you could use the PlayerDamageCallback event instead. See viewtopic.php?f=22&t=3771
ScriptAPI Implementation
► Show Spoiler