Talk:Chatbot
Revision as of 17:22, 6 September 2007 by Ppaatt Lynagh (talk | contribs) (list like a dozen visually powerful LSL statements to copy one at a time into the empty OK script (as yet another form of tutorial))
Example One-liner's That We Could/ Should Soon Add
We could/ should soon add yet a few more concise demoes, such as:
- name the sitting avatar
- move to owner and stop moving
- rotate to face the sun and stop rotating
- show World > Force Sun > Region Default on the face of a cube
Chatbot vs. the SL GUI
The SL GUI does let you rapidly compile and run one command at a time.
To run one command once, you can edit and save a short script like:
// http://wiki.secondlife.com/wiki/Talk:Chatbot default { state_entry() { llSetText("look at me blue", <0.0, 0.0, 1.0>, 1.0); llOwnerSay("OK"); } }
Into that script you can paste, and save to run, one at a time, commands to run exactly the same demo as the Chatbox script, with very nearly the same syntax:
- Twiddle the red, green, and blue intensity, also the "alpha" opacity/ transparency:
llSetColor(<0.3, 0.3, 0.3>, ALL_SIDES); // darken llSetColor(<1, 1, 1>, ALL_SIDES); // lighten llSetAlpha(0.7, ALL_SIDES); // make translucent
- Twiddle the label of the object running the script:
llSetText("look at me green", <0.0, 1.0, 0.0>, 1.0); // label llSetText("look at me black", <0.0, 0.0, 0.0>, 1.0); // label differently llSetText("", <0.0, 0.0, 0.0>, 1.0); // do not label
- Move and rotate while not physical, then kick and spin while physical and bouncy.
llSetStatus(STATUS_PHYSICS, FALSE); llSleep(0.1); llSetPos(llGetPos() + <0.0, 0.0, 2.1>); // teleport up the Z axis llSetPos(llGetPos() - <0.0, 0.0, 2.1>); // teleport back down the Z axis llSetLocalRot(llEuler2Rot(<0.0, 0.0, PI_BY_TWO>)); // face one way llSetLocalRot(llEuler2Rot(ZERO_VECTOR)); // face another way llSetStatus(STATUS_PHYSICS, TRUE); llSleep(0.1); llSetBuoyancy(0.9); // bounce well, without floating llApplyImpulse(<0.0, 0.0, 1.0>, TRUE); // advance along the Z axis llApplyRotationalImpulse(<0.0, 0.0, 3.0>, TRUE); // yaw about the Z axis llSetStatus(STATUS_PHYSICS, FALSE); llSetStatus(STATUS_PHYSICS, TRUE); // zero rot inertia
- Poke around inside the object running the script:
llOwnerSay(llList2CSV([ZERO_VECTOR, FALSE, TRUE, STATUS_PHYSICS, PI])); // reveal some named code values llOwnerSay((string) llGetAgentSize(llGetLinkKey(llGetNumberOfPrims()))); // often not ZERO_VECTOR while avatar sits
Chat a question for you the object's owner to answer (and then chat the answer that you chose):
llDialog(llGetOwner(), "A clarifying demo?", ["No", "Yes"], 7); // chat some Q & A