![]() |
No Need to Sew Their Lips ShutMaking Witless Slaves of Your Friends with Zombie ModeNow with BotBot Support!(see the "Zombie Group") |
Attentive and attendant to your whim, nothing but shambling
robots driven by a preprogrammed sense of unerring obedience...
say the word, and they will obey. Just the sort of friend
you need, right? All you'll need to do is make a few simple
alterations to your script.
And your friends' scripts.
Sorry, but yes, they will first
have to agree to be your mindless pawns. Once that's out of
the way, however, have at it!
As an alternative, "Zombie Mode" also makes for fun as a room script, with both master and hapless valet de chambre sharing a single password. This is a little bit like the wizard-mediated "allscray" function at the Communities.com Mansion PalaceIn my years of professional practice, I've found it's best if both you and your friends share all the parts this code. Give them a chance to drive, too. You'll need to change both Cyborgs, and adjust the operating passwords appropriately (very easy to do with the BotBot). Just so you can continue to enjoy those maniacal impulses toward complete and absolute domineering power, I've labeled theto try it out yourself, take your friend(s) to the UnPalace, go to Nrutas or any bedroom, and set both your passwords to ";ao"
INCHAT
portion the
"slave," and the OUTCHAT
portion the
"master" (Then again, perhaps you harbor a wild an impulsive
desire to obey obey and obey some more. That's okay. Here at the
House o Bots we're not judgemental, as long as you keep your code
clean).SIGNON
block.
twinPW GLOBAL iptPW GLOBAL iptOn GLOBAL 1 iptOn = "\x3bzoik" iptPW = "\x3bswel" twinPW = |
(Note the use of hex escapes to
replace ";" with "\x3b")
If you are playing slave, the
iptPW
should be set to your own secret password (Masmune
Shirow fans might want to call it a "Ghost Access Key"). The
additional flag iptOn
gives the slave a backdoor to
freedom if
zero, the password is disabled.
If you're playing master, put your
favorite servant's password in
twinPW
it's used by
some commands in the master portion.
Now here's the
"slave" portion, to be included in the
slave's
INCHAT
handler. This is really the core of Zombie
Mode the
rest is just window-dressing to simplify things for the master.
{ "$1" GREPSUB xStr = xStr LOWERCASE chkStr = 1 safeStr = { 0 safeStr = "XBot: Not that easy to get rid of" SAY } chkStr "gotourl" SUBSTR chkStr "netgoto" SUBSTR OR IF { 0 safeStr = "XBot: No embarassing wizard msg" SAY } chkStr "susrmsg" GREPSTR IF ;; Not always used... ; { ; 0 safeStr = ; "XBot: No DEF please" SAY ; } chkStr " def *$" GREPSTR IF { xStr STRTOATOM EXEC } safeStr IF "" CHATSTR = } CHATSTR "^ *" iptPW & " (.*)" & GREPSTR WHOCHAT WHOME == NOT AND iptOn AND IF |
In English, here's what this little bit of wonderfulness does: looks for
incoming text that starts with your iptPW
password if it
finds any, it quickly checks to make sure it's not going to do anything
obviously onerous (like send you off to Quazululand Palace), and if
everything's jake, it executes the rest of the line as iptscrae commands.
That means: anyone who knows your password can make you do just about
anything as long as you leave the
iptOn
flag turned
on.
And for the
OUTCHAT
handler, here is the megalomanical "master"
portion, which (of course) is much larger...
; ; Cooperative commands ; ; come here - make twin jump to my mouse position when I say "come here" { twinPW " " & MOUSEPOS ITOA SWAP ITOA " " & SWAP & & " SETPOS" & SAY } CHATSTR "come here" == IF ; Send a message to my twin's status line: "cw blah blah blah" { "$1" GREPSUB "\" STATUSMSG" & twinPW " \"" & SWAP & SAY "" CHATSTR = } CHATSTR "^cw (.*)" GREPSTR IF ; Twin says whatever I want them to: "cs blah blah blah" { "$1" GREPSUB "\" SAY" & twinPW " \"" & SWAP & SAY "" CHATSTR = } CHATSTR "^cs (.*)" GREPSTR IF ; general-purpose - "pw some_bunch_of_commands" { "$1" GREPSUB twinPW " " & SWAP & SAY "" CHATSTR = } CHATSTR "^pw (.*)" GREPSTR IF ; general-purpose, but BOTH do it: e.g. "pb 200 gotoroom" { "$1" DUP GREPSUB twinPW " " & SWAP & SAY "" CHATSTR = STRTOATOM EXEC } CHATSTR "^pb (.*)" GREPSTR IF ; make myself jump to my twin's mouse position { twinPW " " & "\"" & iptPW & "\"" & " MOUSEPOS ITOA SWAP ITOA " & "\"" & " " & "\"" & " \& SWAP \& \& " & "\"SETPOS\"" & " \& SAY" & SAY "" CHATSTR = } CHATSTR "cm" == IF ; turn my own ipt slavery on or off { iptPW GLOBAL iptOn GLOBAL { 1 iptOn = "IPT On - Password " iptPW & STATUSMSG } { 0 iptOn = "IPT Expansion Off" STATUSMSG } "$1" GREPSUB "n" == IFELSE "" CHATSTR = } CHATSTR "ipt o([nf])" GREPSTR IF ; set my own ipt password "on the fly" { iptPW GLOBAL iptOn GLOBAL "$1" GREPSUB iptPW = 1 iptOn = "Password Set to " iptPW & STATUSMSG "" CHATSTR = 1 selfMute = } CHATSTR "^passwd (.*)" GREPSTR IF ; set string I will use as my slave's ipt password { twinPW GLOBAL "$1" GREPSUB twinPW = "Twin Password Set to " twinPW & STATUSMSG "" CHATSTR = 1 selfMute = } CHATSTR "^twinpw (.*)" GREPSTR IF |
(as a refinement, consider the careful use of
select_say
which
is also used in the BotBot version)
I leave it up to you own sense of
cleverness and adventure to come up with new and novel uses for this
ability. Keep me
posted.
In case you are wondering, it's
already far too late to perpetrate the first Palace kidnapping. Also,
be very careful about running your braindead friends into Cyborg-Free
zones, which will stop them stone cold unless you can quickly find a
sympathetic local wizard. I'd also recommend that before you give
anyone else your password, make sure you're comfortable with them
finding all your "special" macro pics while you're BRB'd...