summaryrefslogtreecommitdiff
path: root/world/map/npc/botcheck
diff options
context:
space:
mode:
Diffstat (limited to 'world/map/npc/botcheck')
-rw-r--r--world/map/npc/botcheck/_import.txt1
-rw-r--r--world/map/npc/botcheck/announcements.txt175
-rw-r--r--world/map/npc/botcheck/mapflags.txt1
3 files changed, 1 insertions, 176 deletions
diff --git a/world/map/npc/botcheck/_import.txt b/world/map/npc/botcheck/_import.txt
index affc86ce..d2a6a9e1 100644
--- a/world/map/npc/botcheck/_import.txt
+++ b/world/map/npc/botcheck/_import.txt
@@ -3,5 +3,4 @@
map: botcheck.gat
npc: npc/botcheck/_mobs.txt
npc: npc/botcheck/_warps.txt
-npc: npc/botcheck/announcements.txt
npc: npc/botcheck/mapflags.txt
diff --git a/world/map/npc/botcheck/announcements.txt b/world/map/npc/botcheck/announcements.txt
deleted file mode 100644
index cb7a5f8f..00000000
--- a/world/map/npc/botcheck/announcements.txt
+++ /dev/null
@@ -1,175 +0,0 @@
-//############################################################################
-//# #
-//# GM scheduled broadcasts #
-//# #
-//############################################################################
-
-// $@GMSA_STATUS values:
-// 0: Broadcasts not running
-// 1: Broadcasts running
-// $@GMSA_NAME$: the GM/Admin who created the broadcast, if any
-// $@GMSA_MSG$: the message to be broadcasted
-// $@GMSA_MAX: the number of times the broadcast will be performed, if > 0
-// $@GMSA_TICK: broadcast the message every $@GMSA_TICK hours
-// $@GMSA_CURRENT_TICK: internal counter incremented every hour
-
-botcheck.gat,49,29,0|script|Stone Board|348,
-{
- if (getgmlevel() < 60)
- goto L_Close;
-
- if ($@GMSA_STATUS)
- goto L_InfoBroadcast;
- goto L_PrepareBroadcast;
-
-L_InfoBroadcast:
- set @next_broadcast_ts, (3600000*($@GMSA_TICK - $@GMSA_CURRENT_TICK) - getnpctimer(0))/1000;
- set @next_broadcast_h, @next_broadcast_ts/3600;
- set @next_broadcast_m, (@next_broadcast_ts - @next_broadcast_h*3600)/60;
-
- mes "[GM Scheduled Broadcasts Board]";
- mes $@GMSA_NAME$ + " scheduled the current message, every " + $@GMSA_TICK + " hour(s):";
- mes $@GMSA_MSG$;
- next;
- if (@next_broadcast_h > 0)
- mes "The next broadcast will happen in " + @next_broadcast_h + " hour(s) and " + @next_broadcast_m + " minute(s).";
- if (@next_broadcast_h == 0)
- mes "The next broadcast will happen in " + @next_broadcast_m + " minute(s).";
- next;
-
- set @next_broadcast_ts, 0;
- set @next_broadcast_h, 0;
- set @next_broadcast_m, 0;
-
- mes "What do you want to do?";
- menu
- "Nothing.", L_Close,
- "Nothing but... what is this?", L_Help,
- "Stop broadcasting.", L_StopBroadcast,
- "Trigger manually the current broadcast.", L_ManualBroadcast;
-
-L_PrepareBroadcast:
- callsub S_Help;
- next;
- mes "There is no broadcast scheduled.";
- mes "Do you want to create one?";
- menu
- "No.", L_Close,
- "Yes.", L_CreateBroadcast;
-
-L_CreateBroadcast:
- mes "[GM Scheduled Broadcasts Board]";
- mes "Enter the message to broadcast:";
- input $@GMSA_MSG$;
- if ($@GMSA_MSG$ == "")
- goto L_InvalidBroadcastMessage;
-
- next;
- mes "[GM Scheduled Broadcasts Board]";
- mes "The message will be broadcasted every X hour(s). Enter X:";
- input $@GMSA_TICK;
- if ($@GMSA_TICK < 1)
- goto L_InvalidBroadcastTick;
-
- next;
- mes "[GM Scheduled Broadcasts Board]";
- mes "If you want the message to be broadcasted a limited number of times, enter its value. Keep 0 otherwise:";
- input $@GMSA_MAX;
-
- next;
- mes "[GM Scheduled Broadcasts Board]";
- if ($@GMSA_MAX == 0)
- mes "The current message will be broadcasted every " + $@GMSA_TICK + " hour(s):";
- if ($@GMSA_MAX > 0)
- mes "The current message will be broadcasted every " + $@GMSA_TICK + " hour(s), up to " + $@GMSA_MAX + " times:";
- mes $@GMSA_MSG$;
- next;
- mes "Is this correct?";
- menu
- "No. I'll retry.", L_CreateBroadcast,
- "No", L_Close,
- "Yes. Broadcast this. (the first broadcast will happen in " + $@GMSA_TICK + " hour(s).)", L_StartBroadcast,
- "Yes. Broadcast this, and make an extra broadcast right now.", L_StartBroadcast2;
-
-L_InvalidBroadcastMessage:
- mes "[GM Scheduled Broadcasts Board]";
- mes "The message can't be empty. Please retry.";
- goto L_CreateBroadcast;
-
-L_InvalidBroadcastTick:
- mes "[GM Scheduled Broadcasts Board]";
- mes "You obviously can't repeat a message every 0 hours. Please retry.";
- goto L_CreateBroadcast;
-
-L_Help:
- callsub S_Help;
- goto L_Close;
-
-S_Help:
- mes "[GM Scheduled Broadcasts Board]";
- mes "This board allows a GM to schedule a message to be broadcast every X hours.";
- mes "Only one broadcast can be scheduled at a time.";
- return;
-
-S_PerformBroadcast:
- announce $@GMSA_MSG$, 0;
- return;
-
-L_ManualBroadcast:
- callsub S_PerformBroadcast;
- mes "Done.";
- goto L_Close;
-
-L_StopBroadcast:
- callsub S_StopBroadcast;
- mes "Done.";
- goto L_Close;
-
-S_StopBroadcast:
- stopnpctimer;
- setnpctimer 0;
- set $@GMSA_STATUS, 0;
- set $@GMSA_NAME$, "";
- set $@GMSA_MSG$, "";
- set $@GMSA_TICK, 0;
- set $@GMSA_MAX, 0;
- set $@GMSA_CURRENT_TICK, 0;
- return;
-
-L_StartBroadcast2:
- if ($@GMSA_STATUS == 1)
- goto L_Abort;
- callsub S_PerformBroadcast;
- goto L_StartBroadcast;
-
-L_StartBroadcast:
- if ($@GMSA_STATUS == 1)
- goto L_Abort;
- set $@GMSA_STATUS, 1;
- set $@GMSA_NAME$, strcharinfo(0);
- set $@GMSA_CURRENT_TICK, 0;
- initnpctimer;
- mes "Done.";
- goto L_Close;
-
-L_Abort:
- mes "[GM Scheduled Broadcasts Board]";
- mes $@GMSA_NAME$ + " has created a scheduled broadcast just before you, hence yours will abort.";
- goto L_Close;
-
-L_Close:
- close;
-
-OnTimer3600000:
- set $@GMSA_CURRENT_TICK, $@GMSA_CURRENT_TICK + 1;
- setnpctimer 0;
- if ($@GMSA_CURRENT_TICK != $@GMSA_TICK)
- end;
- callsub S_PerformBroadcast;
- set $@GMSA_CURRENT_TICK, 0;
- set $@GMSA_MAX, $@GMSA_MAX - 1;
- if ($@GMSA_MAX != 0)
- end;
- callsub S_StopBroadcast;
- end;
-}
diff --git a/world/map/npc/botcheck/mapflags.txt b/world/map/npc/botcheck/mapflags.txt
index b4dbac8a..cce971d6 100644
--- a/world/map/npc/botcheck/mapflags.txt
+++ b/world/map/npc/botcheck/mapflags.txt
@@ -1 +1,2 @@
botcheck.gat|mapflag|resave|botcheck.gat,37,37
+botcheck.gat|mapflag|nosave|botcheck.gat,37,37