AN INTRODUCTION TO HUMAN MOVEACT CODE COMMAND & CONTROL
I’m told that script programming is now a part of the fundamental education system, beginning in First or Second Grade. That ought to make it easy for the youngsters to follow this highly technical dissertation. Use of these commands and scripts is not limited to virtuals — they work on organics, too. All human interaction and initiative is strictly governed by these scripts. It’s best to use this on oneself, not on others. Flatties would find the code a very useful weapon. Roundies don’t run others, just themselves. All human actions can be reduced to code which responds predictably to control command.
SCRIPTS:
How To Run HBM (Human Biological Machine) Scripts:
MoveAct Code is arranged in ordered sequential form, called “SCRIPTS”.
A Script may be attached to any object or class of objects to control movements, actions and verbal exchanges between BOTS.
The MoveAct Code contains Conditions — real-time modifiers — that can be introduced to change or trigger new actions, movements and verbal exchanges during a running Action Cycle governed by a specific Script.
You can use an existing Script to command an object or GANGED group of objects to perform scripts in the following manner:
Type in the letter “i”, which brings up an entry box prompt that says “BOT”. Type in the name “Daniel” to indicate that Daniel is the BOT object you want to activate and control. Once you have entered the name “Daniel” as the designated BOT, Daniel will respond whenever you press the “i” key.
Now type in the command for Daniel to carry out. If Daniel recognizes the command, he will perform it.
If you wish to change the target of your command, merely backspace over the name and enter another name in its place, then enter a KNOWN command. Entering commands that are not known by the BOT will result in a zero action.
IMPORTANT DEFAULT SETTINGS IN ALL HUMANS:
; please note that only CAPS are recognized in the CODE. All lower case and commented-out lines such as this one are not seen by the machine.
1. Mover Object or Objects will be confined to their originating regions, meaning that most humans will never venture further than a 10 mile radius from their birthplace, and will remain well within the cultural and family group “box”, or region.
2. Mover Objects tend to run in Loops and Cycles until a Player enters their domain.
3. ON Player Enter domain, Mover Action Codes are automatically set to Active, which means that the Humans will go about their business unless Bumped by Player.
4. ON Player Leave domain, Mover Action Codes in that region reset to Not Active, meaning that the Flatties go about their business as usual, but don’t react to Player when Player is outside their Domain, ie; in another Domain however close it may be to theirs.
=============================================================
General Action Codes Format:
codesname=Initializion code
ON conditions codes
main code
Important Note: Initialization and Conditions codes may be absent.
==============================================================
IN { initialize code } = code to execute on startup or clone, should be first in sequence.
* = repeat main or local code sequence from the beginning.
{ = beginning of a code sequence.
} = end of a code sequence.
( = beginning of a condition or count.
) = end of a condition or count.
===============================================================
Forms of Script Codes:
codes
codes(n)
{ code sequence } (n)
{ code sequence } (ON conditiontocontinue)
; number parameters (n) will fall within a range of (n1-n2) which automatically selects a time-keyed “as if random” number between those two extremes to use as (n), the number of times to repeat the action, such as taking forward steps, either before doing something else or while doing something else, ie; multi-tasking, such as talking while walking.
; for example, F(10-30) will cause the object to move forward somewhere between 10 and 30 units, defined by the oriented grid of the space in which the object persists.
; using XT(2001-2013) will issue a single tag, landing on a semi-randomized number somewhere between the items 2001 and 2013.
================================================================
Basic MoveCodes: codes(n), codes(Condition)
U(n) = Up
D(n) = Down
DF = Down to Floor (if above a box, drop to top of nearest box below object)
F(n) = Forward
B(n) = Backward
R(n) = Right (strafe)
L(n) = Left (strafe)
A(n) = Angleincrement (uses angle set by AI(n) )
H = Halt (speeds (X,Y,Z,T) set to zero)
===========================================================
Turn And Angle Codes
TR(n) = TurnRight (turn right the indicated number of increments of turn)
TL(n) = TurnLeft (turn left the indicated number of increments of turn)
TU(n) (look upward the indicated number of upward increments)
TD(n) (look downward the indicated number of downward increments)
TP = TurntowardPlayer (turns the object toward local player)
T~P = TurnawayfromPlayer (turns the object away from local player)
TN = TurntowardNearestplayer (turns the object toward nearest player)
T~N = TurnawayfromNearestplayer (turns object away from nearest player)
TC = TurntowardCenterofregion (turns object toward center of region or space)
T~C = TurnawayfromCenterofregion (turns object away from center of region or space)
TA(n) = Turnangle (turn angle, increments determined by “n”)
TS(name) = TurntowardSpot (name of object toward which the HBM will turn)
Spot or Object must be numbered or ID’d to be recognized by the machine.
T~S(name) = TurnawayfromSpot (name of the object away from which the HBM will turn.
TO = TurntowardOtherteammember (turn toward other team member)
T~O = TurnawayfromOtherteammember (turn away from other team member)
HBMs travel in social teams, which translate into family groups, business groups, sports groups, special interest groups and other forms of cliques.
AS(n) = AngleSet (determined by this number of degrees to set the angle)
AI(n) = AngleIncrement (does and sets default angle increment unless modified in-game)
AR(n) = AngleRange (increment angle by a random value from -n to +n degrees)
Attach Code
AL(Lightobjectname) = AttachLight (name of object) to object
AL = AttachLight clear (removes light from object)
Wait Codes
W(n) = Wait for “n” seconds
W(-1) = Wait forever ( use condition code to take script out of “wait” mode)
WT(tag) = WaitTag (wait until you see this tag)
WK(key) = WaitKey (this is the key for which to wait)
WC(“command”) = WaitCommand (“commandstring”)
WE = WaitEnd texture(code 99 in texture) (auto in projectiles)
WS = WaitSynchronize (wait until all in class are in sync)
WN(distance) = WaitforNearplayer (wait for a local or net player) to come within specified distance, then continue. This wait will also end waiting if a player sends a projectile to bump the object.
WU = Wait for User command
WV = Wait until the object is in View
==============================================================
Projectiles/Play/Player
; a projectile is anything that represents the extension of player’s “touch” : it can be a tool, weapon, force or particles emanating from player’s point, other than Player Bump Object. It can be the hand, operating as a tool, and can be invisible or made visible with a texture, such as an extending hand, finger or radiation. Projectiles can be represented visibly, as in a magic wand sending out crystalline particles; or invisibly, such as telenosis, the action of telepathic hypnosis, using direct control commands. The best use of this function is within the Orbs, but it can of course be applied to organics
P(n) = shoot Projectile, use tool (or weapon) number “n” — if object has a “shoot” sequence, auto-wait for texture end before continuing the code sequence (WE code above)
P(n,tag) = shoot Projectile with tool number n, if projectile hits player, issue indicated tag
PS(s,n) = PlaySound (sound name, number of loops of this soundbyte to play)
PS is a very important class of commands, enabling one to have conversations and to hear environmental sounds, giving clues to oncoming events and to hear music tracks if they are running in-game. Without PS, there would be utter silence, and we’ve already had plenty of that, eh? See command list for COACHES for specifics on creating convincing conversations with seemingly live persons.
PTL(amt,n) = PlayerTurnLeft: specified amount of turn for n times
PTR(amt,n) = PlayerTurnRight: specified amount of turn for n times
PTU(amt,n) = PlayerTurnUp: specified amount of turn for n times
PTD(amt,n) = PlayerTurnDown: specified amount of turn for n times
PRL(deg,n) = PlayerRollLeft specified degree of roll for n times
PRR(deg,n) = PlayerRollRight specified degree of roll for n times
PPF(deg,n) = PlayerPitchForward specified degree of pitch for n times
PPB(deg,n) = PlayerPitchBack specified degree of pitch for n times
PJH(amt,n) = PlayerJitterHorizontal: amount of jitter for n times
PJV(amt,n) = PlayerJitterVertical: amount of jitter for n times
PMF(amt,n) = PlayerMoveForward: amount of movement for n times
PMB(amt,n) = PlayerMoveBack: amount of movement for n times
PMU(amt,n) = PlayerMoveUp: amount of movement for n times
PMD(amt,n) = PlayerMoveDown: amount of movement for n times
PML(amt,n) = PlayerMoveLeft: amount of movement for n times
PMR(amt,n) = PlayerMoveRight: amount of movement for n times
PMS(amt,n) = PlayerMoveSpeed: amount for n times
PWK(key) = Player WaitKey: player waits for named key or keys. There may be more than one unlocking key involved in a single lock-passing action.
EXAMPLE:
PWK(CTRL LMB) = Player Waits for Key “Control” or “LeftMouseButton”
PGS(name) = PlayerGotoSpot (name of object or spot or point)
PGN(name) = PlayergotoNamedregion (name of region or domain)
PGJ = PlayerGotoJail (implemented during CTF only as a spawn delay)
PXT(code) = PlayereXecuteTransitcode: code to execute
Capture/Grab/Pickup/Operate/Open/Close/Take
CP = CapturePlayer (captured player moves with script owner)
CO = CaptureObject (last contact object, eg ON PB player bump)
RP = ReleasePlayer (removes all trace of quantum entanglement)
RO = Release Object (removes all trace of quantum entanglement)
MOVE CODES
This is the core of control commands, determining most activities and reactions of the Human Biological Machine, or “Flattie” which can be “capped” and operated by a non-phenomenal Being such as yourself.
M = Move codes
MD = Move Default (such as resume OWALK)
MO = Move to Opponent; Original point
MOS = Move to Original Spot including original angle of inclination
MP = Move to Player point; marks current point & moves to it or near PO.
MC = Move to Center of current region, domain or room
MS(name) = Move to Spot (name of spot to move toward)
MF(who) = MoveFollow (follow the indicated ID named object or player)
MR = MoveRunAway (fight or flight syndrome)
MA = MoveAbove
MM(pmap,code,n) = MoveMap (pmap is id name of OPMAP object)
code:
0 = no move, just setup
1 = select first
2 = select nearest
3 = select random // selection always favors least recent choice
n: 0 = no move, just wait; n = repeat for n nodes
MN(mapnode) = MovepmapNode
The above code produces results such as the Rosenkrantz & Guildenstern Syndrome, that of always being in the right place at the right time, disregarding circumstances that might prevent it.
EXecute Codes
X = Execute codes:
XK(key) = eXecuteKey (execute action when you see the designated key, such as KEYTONAME, KEYTOACTION or KEYTOSCRIPT. Engine will check key assignments in name, action, script order.
XT(tag) = issue the named tag from script object
XTP(tag) = issue tag from player
XF(flycode) player can fly, 0=flyoff, not 0=flyon
XC(codes) = eXecuteCodes with named codes, when finsiehd return to next code after XC
XG(codes) = eXecuteCodes with named codes, ontinue with this code as if original code
XS(“show/say string”) = show a string as if chat (see coaching and chat modes for details; this includes speaking the player’s and/or speaker’s name or names)
XM(“message”) = show message, no sayer’s name
XN(“classid”) = eXecuteNew class changes the class of an object, if doclass = 1 then change for all objects in that class of objects
XAP = eXecuteAttack on Nearplayer (attack on the nearest player may merely mean social interaction, a kiss on the cheek, or serving pie & ice cream to a restaurant customer.
XAO = eXecuteAttack Object (move toward and aggress upon an object)
XA(who) = eXecuteAttack who (interact with the designated player, object or thing)
XD = eXecuteDie (sets off a string of “death” animations, conditions, tags & effects)
XE = eXecuteEffect (for example, an OTHROW will issue tag on object or wall collision
XR = eXecute Return/Restart (will return to main code after a command, eg, to skip out of a failed command)
XRA = eXecuteResetAll movers, puts back to original starting point and original script
XL = eXecuteLeave (leave an object where the mover happens to be at the moment)
XU = eXecuteUnleave (will unleave or take away the netplayer’s object or objects)
XH = eXecuteHide (object will not be seen by player, no interaction possible atm)
XHN = eXecuteHideNoupdate (hides object and allows no-collision status)
XS = eXecuteShow object (object appears in normal “show” mode)
===============================================================
ON Condition codes:
Sets aside a code sequence for various in-game real-time conditions. When that condition occurs for an object, the codes are executed. when codes are finished, execution continues in the main code sequence as before from where it left off before the conditional interruption, or at the beginning of the main sequence if the * code occures within the condition code sequence.
So far, most of what you’ve already seen accounts for 90% of human behavior, not considering mental and emotional overlays of the actions, such as “I’m hungry” or “I want to see a movie”. We will now consider a number of behavioral entities…
Double Condition Codes:
ON Bump: (bumping means running into the sphere of manifestation of another, what in video gaming is called the “agro circle”, the point at which the “bump” effect is “felt” or noticed. //important note// the word “codes” below seems simple enough, but the codes can be so utterly complex that it takes 12 pages of text to write one string of code)
ON BP { codes } = On BumpPlayer(local/net), execute named codes
ON BL { codes } = On BumpLocalplayer, execute named codes
ON BN { codes } = On BumpNetplayer, execute the named codes
ON BO { codes } = On BumpOther class object, execute codes as given
ON BA { codes } = On BumpAny object, execute the codes specified
ON BW = On bumpWall, execute codes, for instance, back up and turn away, which would look like ON BA = PTR(45,1), PMF(32,1) or PMB(32,1), meaning Player Turns 45 degrees to the right one time, then walks forward 32 units, or Player backs away from wall 32 units. Additional commands may be issued along with this, including soundbytes, (“Damn, ran right into the wall!!!”) random-generated thoughts (“What’s that wall doing there???”, emotional reactions (“You stupid idiot!”), stumble (“Oopsie!!!”) etc. amounting to hundreds or thousands of reaction syndrome to the general mayhem.
ON BC { codes } = ON BumpCeiling execute codes as given
ON BF { codes } = ON BumpFloor execute codes as given, for instance, “Ouch!!!”
and a sudden drop to the floor, showing the animation “I’m hurt”.
ON BM { codes } ON BumpMap node, execute codes as given
===========================================================
ON Close — This refers to a specified distance between object and player:
ON CP { codes } = On ClosePlayer(local/net) execute codes as given
ON CL { codes } = On CloseLocalplayer, execute codes as given
ON CN { codes } = On CloseNetplayer, execute codes as given
ON CO { codes } = On CloseOther class object, execute codes as given
ON CA { codes } = On CloseAny object, execute codes as given
ON CM { codes } = On CloseMap node, execute codes as given
ON Hitbyprojectile:
ON HP { codes } On HitbyPlayer’s(local/net) projectile, execute codes
ON HL { codes } On HitbyLocalplayer’s projectile, execute codes
ON HN { codes } On HitbyNetplayer’s projectile, execute codes
ON HO { codes } On HitbyOther class object’s projectile, execute codes
ON HA { codes } On HitbyAny object’s projectile, execute codes
ON HK { codes } On HitstoKill reached, execute appropriate codes
ON View:
ON VP { codes } ON ViewbyPlayer(local/net), execute codes
ON VL { codes } ON ViewbyLocalplayer, execute codes
ON VN { codes } ON ViewbyNetplayer, execute codes
ON VO { codes } ON ViewbyOther class object, execute codes
ON VA { codes } ON ViewbyAny object, execute codes
ON XF { codes } ON eXecute Failure, execute specified codes
===========================================================
Well, that’s the end of chapter 1 of the Human MoveAct Code. You now have enough programming to be able to create a frighteningly convincing cocktail party or social bridge game or a sickeningly familiar political argument between several dozen folks, or a rumpus between dress designers preparing their garments for a shredding competition on the runway. You could easily construct an afternoon with the Kardashians. There’s a lot of window-dressing that can go on top, but the fundamentals are as simple as what you see here. A sound is a sound is a sound, and an amination is an animation is an animation, and a … well, you get the idea. It’s all gingerbread that you see and hear and touch and feel, but the fundamentals are…well, BOTTish, eh? Much more awaits you as you delve deeper into the Universal Science of Universes.
==============================================================
See You At The Top!!!
gorby