LlGetCameraRot
De DigiWiki.
Version du 25 juin 2012 à 23:56 par Djphil (discuter | contributions)
//Camera Follower Script //llGetCameraPos & llGetCameraRot Example //By Nika Rugani integer perm_track = 0x400; float second_check = 0.1; vector object_offset = <2,0,0>; //Offset of the cameras position where the object will set itself integer die_channel = 0; string die_command = "/die"; quickPosRot(vector pos, rotation rot) {//This way you don't have the 0.2 second sleeps from llSetPos and llSetRot llSetLinkPrimitiveParamsFast(LINK_THIS, [PRIM_POSITION, pos, PRIM_ROTATION, rot]); } default { on_rez(integer a) { llResetScript(); } state_entry() { llRequestPermissions(llGetOwner(), perm_track); } run_time_permissions(integer permission) { if(permission == perm_track) { llSetTimerEvent(second_check); llListen(die_channel, "", llGetOwner(), ""); } else { //llResetScript(); //Remove comment to loop the process of requesting permissions if user deny's permission //llDie(); //Remove comment to kill the object if user deny's it } } listen(integer channel, string name, key id, string str) { str = llToLower(str); if(str == die_command) { llDie(); } } timer() { vector c_pos = llGetCameraPos(); //Get Users Camera Position rotation c_rot = llGetCameraRot(); //Get Users Camera Rotation c_pos = (c_pos+object_offset*c_rot); //Apply the offset to the position quickPosRot(c_pos, c_rot); //EXECUTE ORDER! } }


