ROOM ID 280 NAME "Client Type Signon Pager" PICT "pal43.gif" PICTURE ID 732 NAME "chesshlp.gif" ENDPICTURE PICTURE ID 733 NAME "arrowll.gif" TRANSCOLOR 0 ENDPICTURE PICTURE ID 734 NAME "arrowrr.gif" TRANSCOLOR 0 ENDPICTURE SPOT ID 4 DONTMOVEHERE OUTLINE 6,343 40,343 40,377 6,377 LOC 24,361 PICTS 732,0,0 ENDPICTS SCRIPT ON ENTER { "@25,351 Script donated by Andy/Glide. Click for Instructions" LOCALMSG } ON SELECT { "" LOGMSG "Instructions are in your log." LOCALMSG "" LOGMSG "This script is an ON SIGNON pager that should be placed at your gate." LOGMSG "The script determines and pages Client Types including PC, Mac, TPV, and InstantPalace, and also notes if unregistered, and if it is an old version." LOGMSG "It uses the spotstate of the spot it is in for numbering, and has a \"restore\" function for restoring the number after a server reboot." LOGMSG "For example, if you want to restore the count to 1577, you would type \"restore 1577\"." LOGMSG " You must be an operator or above to use the restore feature." LOGMSG "If you'd like to see a simulation of this script's operation, type \"test script\"." LOGMSG "In this room, you can also test the restore feature without being an operator." LOGMSG } ENDSCRIPT ENDSPOT SPOT ID 3 NAME "signon pager" OUTLINE 67,3 96,3 96,32 67,32 LOC 195,99 SCRIPT ;this is the actual script that would be placed at your gate ;client type detection by Glide ON SIGNON { ICameFrom GLOBAL Instpal GLOBAL MOUSEPOS + 0 == Instpal = Mac GLOBAL PC GLOBAL { 1 Mac = } { 1 PC = } DATETIME 0 < IFELSE { { " PC" ctype = } CLIENTTYPE "WINDOWS32" == IF { " Mac" ctype = } CLIENTTYPE "MACPPC" == IF { " TPV" ctype = } CLIENTTYPE "TPV" == IF } { { "n InstantPalace" ctype = } { { " PC (old version)" ctype = } 1 PC == IF { " Mac (old version)" ctype = } 1 Mac == IF } Instpal IFELSE } IPTVERSION IFELSE ME GETSPOTSTATE 1 + ME SETSPOTSTATE ME GETSPOTSTATE ITOA counter = { { "nowhere" ICameFrom = } ICameFrom VARTYPE SWAP POP 4 <> IF CLIENTTYPE } { { "nowhere" ICameFrom = } 0 ICameFrom == IF } IPTVERSION IFELSE "`page I'm a" { { "n unregistered" & } ISGUEST IF } Instpal NOT IF ctype & " user from " & ICameFrom & ", #" & counter & "." & SAY SERVERNAME ICameFrom = } ON OUTCHAT { { "$1" GREPSUB ATOI num = { "Number exceeds the limit." LOCALMSG "" CHATSTR = EXIT } num 32767 > IF { "Restored to number " ME GETSPOTSTATE ITOA & LOCALMSG } 60 ALARMEXEC num ME SETSPOTSTATE "" CHATSTR = } CHATSTR "^restore (.*)$" GREPSTR ISWIZARD AND IF } ENDSCRIPT ENDSPOT SPOT ID 5 NAME "simulation" OUTLINE 411,5 444,5 444,33 411,33 LOC 316,101 SCRIPT ;this is NOT the actual script ;this script is a simulation, and should NOT be placed at your gate ON OUTCHAT { { ICameFrom GLOBAL Instpal GLOBAL MOUSEPOS + 0 == Instpal = Mac GLOBAL PC GLOBAL { 1 Mac = } { 1 PC = } DATETIME 0 < IFELSE { { " PC" ctype = } CLIENTTYPE "WINDOWS32" == IF { " Mac" ctype = } CLIENTTYPE "MACPPC" == IF { " TPV" ctype = } CLIENTTYPE "TPV" == IF } { { "n InstantPalace" ctype = } { { " PC (old version)" ctype = } 1 PC == IF { " Mac (old version)" ctype = } 1 Mac == IF } Instpal IFELSE } IPTVERSION IFELSE ME GETSPOTSTATE 1 + ME SETSPOTSTATE ME GETSPOTSTATE ITOA counter = { { "nowhere" ICameFrom = } ICameFrom VARTYPE SWAP POP 4 <> IF CLIENTTYPE } { { "nowhere" ICameFrom = } 0 ICameFrom == IF } IPTVERSION IFELSE "Page from " USERNAME & " in Palace Gate: I'm a" { { "n unregistered" & } ISGUEST IF } Instpal NOT IF & ctype & " user from " & ICameFrom & ", #" & counter & "." & LOCALMSG SERVERNAME ICameFrom = "" CHATSTR = } CHATSTR "test script" == CHATSTR "testscript" == OR IF { "$1" GREPSUB ATOI num = { "Number exceeds the limit." LOCALMSG "" CHATSTR = EXIT } num 32767 > IF { "Restored to number " ME GETSPOTSTATE ITOA & LOCALMSG } 60 ALARMEXEC num ME SETSPOTSTATE "" CHATSTR = } CHATSTR "^restore (.*)$" GREPSTR IF } ENDSCRIPT ENDSPOT DOOR ID 6 DONTMOVEHERE DEST 706 OUTLINE 4,4 59,4 59,25 4,25 LOC 31,13 PICTS 733,0,0 ENDPICTS ENDDOOR DOOR ID 7 DONTMOVEHERE DEST 195 OUTLINE 455,4 508,4 508,28 455,28 LOC 484,17 PICTS 734,0,0 ENDPICTS SCRIPT ON INCHAT { nDoIt GLOBAL nDoIt EXEC } ON ENTER { { CLEARLOOSEPROPS PAINTCLEAR } NBRROOMUSERS 2 < IF } ENDSCRIPT ENDDOOR ENDROOM