PoA_PRC8/_module/nss/server_reset3.nss

104 lines
3.6 KiB
Plaintext
Raw Permalink Normal View History

2022-10-07 14:20:31 -04:00
void main()
{
int timekeeper = GetLocalInt(GetModule(), "loadtimer");
object PoA = (GetModule());
//This script works off a timekeeper which more or less advanced
//every 6 seconds by the module heartbeat, so....
//3.38 hours after server has been started...
if (timekeeper == 2300){
object oWarn = GetFirstPC();
while ((oWarn != OBJECT_INVALID))
{
SendMessageToPC(oWarn, "Auto Restart Sequence Will Begin In Thirty Minutes!!!");
oWarn = GetNextPC();
}
}
if (timekeeper == 2450){
object oWarn = GetFirstPC();
while ((oWarn != OBJECT_INVALID))
{
SendMessageToPC(oWarn, "Auto Restart Sequence Will Begin In FIFTEEN Minutes!!!");
oWarn = GetNextPC();
}
}
if (timekeeper == 2550){
object oWarn = GetFirstPC();
while ((oWarn != OBJECT_INVALID))
{
SendMessageToPC(oWarn, "Auto Restart Sequence Will Begin In FIVE Minutes!!!");
oWarn = GetNextPC();
}
}
if (timekeeper == 2598){
object oWarn = GetFirstPC();
while ((oWarn != OBJECT_INVALID))
{
location lVis = GetLocation(oWarn);
SendMessageToPC(oWarn, "Auto Reload Sequence Active: Server will restart in one minute.");
SendMessageToPC(oWarn, "You WILL have to reconnect.");
SendMessageToPC(oWarn, "Saving all characters.");
ExportAllCharacters();
ApplyEffectAtLocation(DURATION_TYPE_TEMPORARY, EffectVisualEffect(VFX_FNF_TIME_STOP), lVis, 5.0);
ApplyEffectAtLocation(DURATION_TYPE_TEMPORARY, EffectVisualEffect(VFX_FNF_SCREEN_SHAKE), lVis, 200.0);
oWarn = GetNextPC();
}
}
if (timekeeper == 2599){
object oWarn = GetFirstPC();
while ((oWarn != OBJECT_INVALID))
{
location lVis = GetLocation(oWarn);
SendMessageToPC(oWarn, "Auto Restart Sequence Active, you will have to reconnect.");
ApplyEffectAtLocation(DURATION_TYPE_TEMPORARY, EffectVisualEffect(VFX_FNF_METEOR_SWARM), lVis, 5.0);
oWarn = GetNextPC();
}
}
if (timekeeper == 2600){
object oWarn = GetFirstPC();
while ((oWarn != OBJECT_INVALID))
{
location lVis = GetLocation(oWarn);
SendMessageToPC(oWarn, "Auto Restart Sequence Active, you will have to reconnect.");
SendMessageToPC(oWarn, "YOU WILL BE DISCONNECTED BUT YOU MAY RECONNECT SHORTLY.");
ApplyEffectAtLocation(DURATION_TYPE_TEMPORARY, EffectVisualEffect(VFX_FNF_METEOR_SWARM), lVis, 5.0);
oWarn = GetNextPC();
}
}
if (timekeeper == 2601){
object oWarn = GetFirstPC();
while ((oWarn != OBJECT_INVALID))
{
location lVis = GetLocation(oWarn);
SendMessageToPC(oWarn, "Auto Restart Sequence Active, you will have to reconnect.");
SendMessageToPC(oWarn, "YOU WILL BE DISCONNECTED BUT YOU MAY RECONNECT SHORTLY.");
ApplyEffectAtLocation(DURATION_TYPE_TEMPORARY, EffectVisualEffect(VFX_FNF_METEOR_SWARM), lVis, 5.0);
oWarn = GetNextPC();
}
}
//4.33 hours after server has been up...crash server
//This is not a great idea, but I left it in regaurdless..
//2602
if (timekeeper >= 2602){
WriteTimestampedLogEntry("Attempting to Crash Server ");
SetListening(PoA, TRUE);
SetListenPattern(PoA,"**", 2500);
WriteTimestampedLogEntry("Crash Server attempted");
}
}