Now let's explain this junk :object oPc=GetFirstPC() means to find your character in the module.
object oRand=GetNearestObject(OBJECT_TYPE_ALL,oPc,1) means to see what objects are near your character that are of any type(sound,placeable,character,door,waypoint, and trigger)location lRand=GetLocation(oRand) This will generate a location for oRand so the explosions can be made.ApplyEffectAtLocation(0,EffectVisualEffect(3003),l
Rand,0.0f) This will create an explosion at the randoms objects. 3003 means fragmentation grenade effect.PlayRumblePattern(1) This will create a rumble effect around the explosion.

Compile the script and your not finished quite yet. We need the script to loop so it wont work only once. Open the *.are file of your module and add the script name without extension to the OnHeartBeat entry. CONGRATULATIONS!