summaryrefslogtreecommitdiff
path: root/npc/functions/announcements.txt
diff options
context:
space:
mode:
Diffstat (limited to 'npc/functions/announcements.txt')
-rw-r--r--npc/functions/announcements.txt177
1 files changed, 0 insertions, 177 deletions
diff --git a/npc/functions/announcements.txt b/npc/functions/announcements.txt
deleted file mode 100644
index d346a431..00000000
--- a/npc/functions/announcements.txt
+++ /dev/null
@@ -1,177 +0,0 @@
-
-
-function script SBConfig {
- if ($@GMSA_STATUS)
- goto L_InfoBroadcast;
- goto L_PrepareBroadcast;
-
-L_InfoBroadcast:
- @ms = (3600000*($@GMSA_TICK - $@GMSA_CURRENT_TICK) - getnpctimer(0, "Stone Board"));
- if (@ms < 0) set @ms, 0; // FIXME: find out WHY this can happen
- callfunc "HumanTime";
-
- mes "[GM Scheduled Broadcasts Board]";
- mes $@GMSA_NAME$ + " scheduled the current message, every " + $@GMSA_TICK + " hour(s):";
- mes $@GMSA_MSG$;
- next;
- mes "The next broadcast will happen in " + @time$ + ".";
- next;
-
- @next_broadcast_ts = 0;
- @next_broadcast_h = 0;
- @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_InvalidBMsg;
-
- 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 || $@GMSA_TICK > 24)
- 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_InvalidBMsg:
- 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;
-
-L_ManualBroadcast:
- announce $@GMSA_MSG$, 0;
- mes "Done.";
- goto L_close;
-
-L_StopBroadcast:
- donpcevent "Stone Board::OnStopBroadcast";
- mes "Done.";
- goto L_close;
-
-L_StartBroadcast2:
- if ($@GMSA_STATUS == 1)
- goto L_Abort;
- announce $@GMSA_MSG$, 0;
- goto L_StartBroadcast;
-
-L_StartBroadcast:
- if ($@GMSA_STATUS == 1)
- goto L_Abort;
- $@GMSA_STATUS = 1;
- $@GMSA_NAME$ = strcharinfo(0);
- $@GMSA_CURRENT_TICK = 0;
- initnpctimer "Stone Board";
- mes "Done.";
- gmlog strcharinfo(0) + " modified the scheduled broadcast.";
- 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:
- return;
-}
-
-
-017-9,26,28,0 script Stone Board NPC32767,{
- end;
-
-OnStopBroadcast:
- goto L_Stop;
-
-L_Stop:
- stopnpctimer "Stone Board";
- setnpctimer 0, "Stone Board";
- $@GMSA_STATUS = 0;
- $@GMSA_NAME$ = "";
- $@GMSA_MSG$ = "";
- $@GMSA_TICK = 0;
- $@GMSA_MAX = 0;
- $@GMSA_CURRENT_TICK = 0;
- end;
-
-OnTimer3600000:
- $@GMSA_CURRENT_TICK = $@GMSA_CURRENT_TICK + 1;
- setnpctimer 0, "Stone Board";
- if ($@GMSA_CURRENT_TICK != $@GMSA_TICK)
- end;
- announce $@GMSA_MSG$, 0;
- $@GMSA_CURRENT_TICK = 0;
- $@GMSA_MAX = $@GMSA_MAX - 1;
- if ($@GMSA_MAX != 0)
- end;
- goto L_Stop;
-}
-
-function script getBroadcast {
- if (getmapname() == "029-2" && getx() == 22 && gety() == 24) goto L_NewPlayer;
- goto L_ReturningPlayer;
-
-L_NewPlayer:
- // todo: show game rules on login
- // FIXME: needs to spawn a 32767 puppet
- goto L_Return;
-
-L_ReturningPlayer:
- if ($@GMSA_STATUS < 1) goto L_Return;
- announce $@GMSA_MSG$, 3;
- goto L_Return;
-
-L_Return:
- return;
-}