//************************************************** //* //* Title: Fakefur Script Sample //* Make : 2006/09/06 //* 2007/12/17(Up Date) //* Note : Sit -> Linked //* MoveKey -> Click KeyView(Text) //* //************************************************** //**************** //* Main Program * //**************** default { //****************** //* Initialization * //****************** state_entry() { //Title llSetText("Control Event Sample", <1,1,1>, 1); llSetSitText("Control"); //Sit Position llSitTarget(<0.3, -0.1, 0.3>, ZERO_ROTATION); //Camera Position llSetCameraEyeOffset(<-5.0, 0.0, 2.0>); llSetCameraAtOffset(<3.0, 0.0, 2.0>); } //************************* //* Sit Start And Standup * //************************* changed(integer change) { if (change & CHANGED_LINK) { key agent = llAvatarOnSitTarget(); if (agent) { //* Sit Start llRequestPermissions(agent,PERMISSION_TRIGGER_ANIMATION | PERMISSION_TAKE_CONTROLS); }else{ //* Standup llResetScript(); //Standup -> Reset } } } //**************************************** //* Sit Event -> CtrolKey Initialization * //**************************************** run_time_permissions(integer perm) { if (perm) { llStartAnimation("sit"); integer CList = CONTROL_FWD | CONTROL_BACK | CONTROL_ROT_RIGHT | CONTROL_ROT_LEFT | CONTROL_UP | CONTROL_DOWN | CONTROL_LEFT | CONTROL_RIGHT | CONTROL_LBUTTON | CONTROL_ML_LBUTTON; //use Key Set llTakeControls(CList, TRUE, FALSE); } } //****************** //* KeyClick Event * //****************** control(key id, integer held, integer change) { string agentName = llKey2Name(id) + "\n"; //Get Avator Name string Status = ""; string KeyName = ""; //************** //* Key Status * //************** if ((held == 0) && (change == 0)) { Status = "Key Nop\n"; } else if ((held == 0) && (change != 0)) { Status = "Key Release\n"; } else if ((held != 0) && (change == 0)) { Status = "Key pushing\n"; } else if ((held != 0) && (change != 0)) { Status = "Key Push\n"; } //*********** //* Control * //*********** if(held & CONTROL_FWD) { KeyName = "FWD Key"; } if(held & CONTROL_BACK) { KeyName = "BACK Key"; } if(held & CONTROL_ROT_RIGHT) { KeyName = "RIGHT Key"; } if(held & CONTROL_ROT_LEFT) { KeyName = "LEFT Key"; } if(held & CONTROL_UP) { KeyName = "CONTROL_UP Key"; } if(held & CONTROL_DOWN) { KeyName = "CONTROL_DOWN Key"; } if(held & CONTROL_LEFT) { KeyName = "CONTROL_LEFT Key"; } if(held & CONTROL_RIGHT) { KeyName = "CONTROL_RIGHT Key"; } if(held & CONTROL_LBUTTON) { KeyName = "CONTROL_LBUTTON Key"; //Mouse Key } if(held & CONTROL_ML_LBUTTON) { KeyName = "CONTROL_ML_LBUTTON Key"; //Mouse Look and Mouse Key } //***************** //* Status-> Text * //***************** llSetText(agentName + Status + KeyName,<0,1,0>, 1.0); } }