Jump to content

Ralph Honi

Resident
  • Posts

    39
  • Joined

  • Last visited

Everything posted by Ralph Honi

  1. Thanks to all for responding ... I logged in this morning at home and it was the worse I have ever seen ... so much of the house missing ... hope we get resolution in a server update. (loved the "failure to communicate")
  2. I have noticed a problem getting worse ... when I log into my sim or TP to other sims ... there are missing graphics, parts of buildings etc until I click them then they appear. Anyone know a resolution to this? I have a fairly strong computer with the graphics memory set to 512meg. I have tried clearing cache and also restarting the computer ... nothing helps.
  3. Great! thanks! Now I see how the logic works.
  4. I want an operator to be able to set out a prim and record a "home" rotation. It will be rotated thru a contol panel, and then thru a routine return it to that "home" position. I'm having difficulty getting "llGetPrimitiveParams llSetPrimitiveParams" to work. Home() { llGetPrimitiveParams([ PRIM_ROTATION ]); llWhisper(0,"Home Rotation Set"); } This routine when called simply set the prim rotations to 0,0,0 instead of the "home" position I am loking for. Center() { llSetPrimitiveParams([PRIM_ROTATION, rot]); } I've been thru the Wiki pages and am not getting anywhere, I figure I am not using "rot" correctly or something on that order. Thanks
  5. "Yur da Man"! set up the permissions on the attach event and it works great on other avatars ... thanks!
  6. I have a HUD with several buttons on it to start some animations. The buttons communicate to a main animation "handler" script living the root prim of the HUD. The following script for that "handler" works fine for my avatar. What the problem is ... it does not work for other Avatars. I figure it has to do with Run_Time_Permission so I am attempting to come up with a script to incorporate the Run Time and that is where I am stumbling. Any help would be appreciated! I have shortened the scripts for demonstration purposes. This Script works fine on my Avatar only; key avatar; string anim; default { state_entry() { avatar = llGetOwner(); llRequestPermissions(avatar, PERMISSION_TRIGGER_ANIMATION); } link_message(integer sender_num, integer num, string str, key id) { if(str == "forward") { llStartAnimation("forward"); anim = "forward"; } else if(str == "right") { llStartAnimation("right turn"); anim = "right turn"; } if(str == "stop_anim" || str == "clear") { llStopAnimation((string) anim); } } } Here is what I am trying with no success; key avatar; string anim; default { state_entry() { avatar = llGetOwner(); llRequestPermissions(avatar, PERMISSION_TRIGGER_ANIMATION); } link_message(integer sender_num, integer num, string str, key id) { if(str == "forward") { anim = "forward"; } else if(str == "right") { anim = "right turn"; } } run_time_permissions(integer perm) { if (perm & PERMISSION_TRIGGER_ANIMATION) llStartAnimation((string) anim); } }
  7. Great! that is the part where I was stumbling ... the compiler offers no help other than to tell you you did it wrong. Thanks again Dote!
  8. Thank you for the reply ... I think I understand your approach and I will give that a try ... but let me clarify what I have. I have a scripted object, attached to my avatar that takes commands from a hud also attached to me. I would like to keep the pilots seat the name of the vehicle (it is the root prim). I would like the copilot HUD to be able to send commands also. So ... when the copilot sits ... can't I whisper a message from the copilot seat, recieve it at the scripted attachement, if the message is a certain word like "copilot_id" , then the script id's the copilot sender with (key id) or ... pass the UUID via a (string). I don't know how to id using the (key id). I think I know how to pass via copilot = llAvatarOnSitTarget(). Then extract the UUID via (string)copilot hen can't the filter use (string)copilot to hear only myself or the copilot? The second part of my filter is where I am stumbling with this ... SL compiler isn't very helpful. What would be the structure in the filter? I think that is what I need help with if my thought process will work. listen(integer channel, string name, key id, string message) { if(llGetOwnerKey(id) == llGetOwner() || * once I have the UUID*)
  9. Hi all, I have an scripted object, attached to my Avatar, that is currently taking commands from me, thru a HUD on a chat channel with a "llListen" routine. I would like it to also accept commands from an Avatar seated next to me, through a HUD attached to them. I need to be careful with permissions because others with the same equipment could be in the area on the same channel. I've read thru all the Keys and ways to id the avatar ... but am still confused. The 2nd Avatar avatar2 is identified when he sits on the sit target; else if(avatar2 == llAvatarOnSitTarget()) I have this working and can get the UUID to "say" thru a (string) avatar2 I thought about trying to pass this information somehow passing avatar2 as a string? I also thought about id'ing the Avatar thru a simple message then id the sender; when he sits on the "Sit Target" I say ... llSay(CHANNEL1, "copilot_id"); I thought I would identify the Avatars id thru him saying this an getting the id who sent it and filter future messages. Then I could filter the "listen" to either myself or the other Avatar only; listen(integer channel, string name, key id, string message) { if(llGetOwnerKey(id) == llGetOwner() || *here is where I would filter for Avatar2*) Like I said ... I read all the avatar id info but am really confused how to accomplish this in the easiest way. Any help would be great! Thank you
  10. Works Great! thanks a million. I understand now ... the way I had it .. TRUE was never seen. I am using only one channel now (was thinking it was hearing itself) now will revise the code to listen to "owner" only Thanks again everyone
  11. I have secondary objects (peripherals) that are rezed by a main build but unlinked to the main build. I am trying to write scripts to have the peripherals delete themselves when the main build is deleted or moved away. The scripts I have written here do talk with each other … however the one that lives in the peripherals always sees the “Die” option. Looks like this; [08:58] Peripheral whispers: initial check [08:58] Main Build whispers: stay_rezzed [08:58] Peripheral whispers: I will stay rezzed [08:58] Peripheral whispers: I'm going to die [08:58] Main Build whispers: stay_rezzed [08:58] Peripheral whispers: I will stay rezzed [08:58] Peripheral whispers: I'm going to die I can’t have the Main Build tell the Peripherals that it isn’t there anymore … I’m having difficulty with the logic. I have also read that “llSleep” is better than a Timer for LAg Purposes ... so that is why I am using that. Since the Peripherals are not linked or attached to the Avatar … I am having difficulty filtering so that only the owners objects will communicate in case there is another Main Build in the nearby area performing the same queries. I am testing by having my AV near 2 Boxes with the scripts so I can "hear" the functions. Here are the Scripts; // This Script Lives in the Main Object // Answers when queried integer CHNL26 = 216; integer CHNL27 = 217; default { state_entry() { // llListen(CHNL27, "", llGetOwner(), "" ); I need to look into this ... I think I have a solution llListen(CHNL27, "", NULL_KEY, "" ); } listen(integer channel, string name, key id, string message) { if(message == "checking?") { llWhisper(CHNL26, "stay_rezzed"); llWhisper(0,"stay_rezzed"); } } } // This Script Lives in the Peripheral Objects // Checks if the Main Build is still there // If not, then the periferals are deleted integer CHNL26 = 216; integer CHNL27 = 217; integer rezzed = FALSE; check_rez() { llWhisper(CHNL27, "checking?"); } default { state_entry() { // llListen(CHNL26, "", llGetOwner(), "" ); (was trying this) llListen(CHNL26, "", NULL_KEY, "" ); } on_rez(integer start_parameter) { check_rez(); // Will trigger the first Listen? llWhisper(0,"initial check"); } listen(integer channel, string name, key id, string message) { if(message == "stay_rezzed") { rezzed = TRUE; llWhisper(0,"I will stay rezzed"); llSleep(3.0); rezzed = FALSE; check_rez(); } if(rezzed == FALSE) // else if(rezzed == FALSE) tried this too { llWhisper(0,"I'm going to die"); // llDie(); } } }
  12. Sorry about thall this not having a good day ... Hopefully this works I have secondary objects (peripherals) that are rezzed by a main build but unlinked to the main build. I am trying to write scripts to have the peripherals delete themselves when the main build is deleted or moved away. The scripts I have written here do talk with each other … however the one that lives in the peripherals always sees the “Die” option. Looks like this; [08:58] Peripheral whispers: initial check [08:58] Main Build whispers: stay_rezzed [08:58] Peripheral whispers: I will stay rezzed [08:58] Peripheral whispers: I'm going to die [08:58] Main Build whispers: stay_rezzed [08:58] Peripheral whispers: I will stay rezzed [08:58] Peripheral whispers: I'm going to die I can’t have the Main Build tell the Peripherals that it isn’t there anymore … I’m having difficulty with the logic. I have also read that “llSleep” is better than a Timer so that is why I am using that. Since the Peripherals are not linked or attached to the Avatar … I am having difficulty filtering so that only the owners objects will communicate in case there is another Main Build in the nearby area performing the same queries. I am testing by having my AV near 2 Boxes with the scripts so I can "hear" the functions. Here are the Scripts; // Lives in the Main Object // Answers when queried integer CHNL26 = 216; // DeRez objects integer CHNL27 = 217; // DeRez objects default { state_entry() { // llListen(CHNL27, "", llGetOwner(), "" ); I need to look into this ... I think I have a solution llListen(CHNL27, "", NULL_KEY, "" ); } listen(integer channel, string name, key id, string message) { if(message == "checking?") { llWhisper(CHNL26, "stay_rezzed"); llWhisper(0,"stay_rezzed"); } } } // Lives in the Peripheral Objects // Checks if the Main Build is still there // If not, then the periferals are deleted integer CHNL26 = 216; integer CHNL27 = 217; integer rezzed = FALSE; check_rez() { llWhisper(CHNL27, "checking?"); } default { state_entry() { // llListen(CHNL26, "", llGetOwner(), "" ); llListen(CHNL26, "", NULL_KEY, "" ); } on_rez(integer start_parameter) { check_rez(); // Will trigger the first Listen? llWhisper(0,"initial check"); } listen(integer channel, string name, key id, string message) { if(message == "stay_rezzed") { rezzed = TRUE; llWhisper(0,"I will stay rezzed"); llSleep(3.0); rezzed = FALSE; check_rez(); } if(rezzed == FALSE) // else if(rezzed == FALSE) { llWhisper(0,"I'm going to die"); // llDie(); } } }
  13. I have secondary objects (peripherals) that are rezed by a main build but unlinked to the main build. I am trying to write scripts to have the peripherals delete themselves when the main build is deleted or moved away. The scripts I have written here do talk with each other … however the one that lives in the peripherals always sees the “Die” option. Looks like this; [08:58] Peripheral whispers: initial check [08:58] Main Build whispers: stay_rezzed [08:58] Peripheral whispers: I will stay rezzed [08:58] Peripheral whispers: I'm going to die [08:58] Main Build whispers: stay_rezzed [08:58] Peripheral whispers: I will stay rezzed [08:58] Peripheral whispers: I'm going to die I can’t have the Main Build tell the Peripherals that it isn’t there anymore … I’m having difficulty with the logic. I have also read that “llSleep” is better than a Timer so that is why I am using that. Since the Peripherals are not linked or attached to the Avatar … I am having difficulty filtering so that only the owners objects will communicate in case there is another Main Build in the nearby area performing the same queries. I am testing by having my AV near 2 Boxes with the scripts so I can "hear" the functions. Here are the Scripts; // Lives in the Main Object // Answers when queried integer CHNL26 = 216; // DeRez objects integer CHNL27 = 217; // DeRez objects default { state_entry() { // llListen(CHNL27, "", llGetOwner(), "" ); I need to look into this ... I think I have a solution llListen(CHNL27, "", NULL_KEY, "" ); } listen(integer channel, string name, key id, string message) { if(message == "checking?"); { llWhisper(CHNL26, "stay_rezzed"); llWhisper(0,"stay_rezzed"); } } } // Lives in the Peripheral Objects // Checks if the Main Build is still there // If not, then the periferals are deleted integer CHNL26 = 216; integer CHNL27 = 217; integer rezzed = FALSE; check_rez() { llWhisper(CHNL27, "checking?"); } default { state_entry() { // llListen(CHNL26, "", llGetOwner(), "" ); llListen(CHNL26, "", NULL_KEY, "" ); } on_rez(integer start_parameter) { check_rez(); // Will trigger the first Listen? llWhisper(0,"initial check"); } listen(integer channel, string name, key id, string message) { if(message == "stay_rezzed") { rezzed = TRUE; llWhisper(0,"I will stay rezzed"); llSleep(3.0); rezzed = FALSE; check_rez(); } if(rezzed == FALSE) // else if(rezzed == FALSE) { llWhisper(0,"I'm going to die"); // llDie(); } } }
  14. I would appreciate it very much Kayaker
  15. I have a spot light consisting of 3 prims that I wish to rotate via a HUD. The Spot light will be worn as an attachment to the seated avatar in a vehicle. Via the HUD, the object rotates around the root prim just fine in testing on the ground ... however as soon as I attach to the avatar I get only one pulse in a particular direction until I change direction then it pulses that way but only once ... and a radical initial rotation upon first rotation command. I have done some reading trying to figure this out ... Do I need to convert to a local x,y,z ? I read on it but am not sure how to accomplish this. And if so ... is it at each rotation command event? Obviously the vehicle will be moving and turning. Hopefully I described this adequately ... I'm not the greatest scripter but here is my attempt. //Spot Rotations Script rotation rot_xyzq; Left() { vector xyz_angles = <0.0, 0.0, 3.0>; // This is to define a 3 degree change vector angles_in_radians = xyz_angles*DEG_TO_RAD; // Change to Radians rot_xyzq = llEuler2Rot(angles_in_radians); // Change to a Rotation llSetRot(llGetRot()*rot_xyzq); //Do the Rotation... } Right() { vector xyz_angles = <0.0, 0.0, -3.0>; // This is to define a 3 degree change vector angles_in_radians = xyz_angles*DEG_TO_RAD; // Change to Radians rot_xyzq = llEuler2Rot(angles_in_radians); // Change to a Rotation llSetRot(llGetRot()*rot_xyzq); //Do the Rotation... } default { state_entry() { llListen(2525,"", NULL_KEY, ""); } listen(integer channel, string name, key id, string message) { if (message == "left") Left(); if (message == "right") Right(); } }
  16. Sorry for my over reaction ... after a guy digs and digs for info ... it gets a little frustrating. If I cant find what I need, I use these rescources as a last resort. I simply took the comment the wrong way ... was late last eve ;-), Thanks again for all your help!!
  17. wow ... excuse us illiterates for taking up your precious time ... answering here is entirely voluntary
  18. Thanks for all the help!!
  19. ok ... that explaines it ... thanks. Also .. If I add textures in the Sketchup program to surfaces ... each surface that has a texture comes out as an individual prim. Is that normal also? Or a function of sketchup.
  20. I'm just getting into mesh ... I made some parts in Sketchup ... not real complicated parts ... one with some cylinders, curved, and another with a some boxes modified with radius corners. I import fine ... says 2 or 3 prim equivalent when queried ... when I attach to my in-world created 25 prim model .. the sim object count raises by 356. Any ideas? Is Sketchup the problem?
×
×
  • Create New...