OpenArena: cron script to announce gaming event
This commit is contained in:
Submodule project/jni/application/commandergenius/commandergenius updated: 6f28771d57...d1b8a7ae03
63
project/jni/application/openarena/GamingEventCountdown.sh
Executable file
63
project/jni/application/openarena/GamingEventCountdown.sh
Executable file
@@ -0,0 +1,63 @@
|
||||
#!/bin/sh
|
||||
|
||||
# Date format is free-form
|
||||
DATE="This Friday 9PM +EST"
|
||||
# Event message
|
||||
MESSAGE="^2Friday ^1Frag ^2Evening ^7on ^3CyberXZT server\n^6"
|
||||
# Message when no event is happening
|
||||
NO_EVENT_MESSAGE="To change map, press ^3Back ^7-> ^3Vote"
|
||||
# How long event will happen, in hours
|
||||
DURATION=2
|
||||
# When to start announcing event, in days
|
||||
ANNOUNCE_START=3
|
||||
|
||||
OUT="$1"
|
||||
if [ -z "$OUT" ]; then
|
||||
OUT=motd.cfg
|
||||
fi
|
||||
|
||||
S1=`date +%s -d "$DATE"`
|
||||
S2=`date +%s -d now`
|
||||
SECONDS=`expr $S1 - $S2`
|
||||
MINUTES=`expr $SECONDS / 60`
|
||||
HOURS=`expr $MINUTES / 60`
|
||||
DAYS=`expr $HOURS / 24`
|
||||
MINUTES=`expr $MINUTES % 60`
|
||||
HOURS=`expr $HOURS % 24`
|
||||
|
||||
TXT=""
|
||||
if [ $SECONDS -lt 0 ]; then
|
||||
if [ $SECONDS -gt `expr -$DURATION '*' 3600` ]; then
|
||||
TXT="come join right now!"
|
||||
fi
|
||||
else
|
||||
if [ "$MINUTES" '!=' 0 ]; then
|
||||
TXT="$MINUTES minutes"
|
||||
fi
|
||||
if [ "$HOURS" '!=' 0 ]; then
|
||||
if [ "$HOURS" '=' 1 ]; then
|
||||
TXT="$HOURS hour $TXT"
|
||||
else
|
||||
TXT="$HOURS hours $TXT"
|
||||
fi
|
||||
fi
|
||||
if [ "$DAYS" '!=' 0 ]; then
|
||||
if [ "$DAYS" '=' 1 ]; then
|
||||
TXT="tomorrow $TXT"
|
||||
else
|
||||
TXT="in $DAYS days $TXT"
|
||||
fi
|
||||
else
|
||||
TXT="in $TXT"
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ $SECONDS -gt `expr $ANNOUNCE_START '*' 3600 '*' 24` ]; then
|
||||
TXT="" # Do not announce event if it's too far in the future
|
||||
fi
|
||||
|
||||
if [ -n "$TXT" ]; then
|
||||
echo "$MESSAGE$TXT" > "$OUT"
|
||||
else
|
||||
echo "$NO_EVENT_MESSAGE" > "$OUT"
|
||||
fi
|
||||
Reference in New Issue
Block a user