Jump to content

Eliwood407

Resident
  • Content Count

    21
  • Joined

  • Last visited

Community Reputation

0 Neutral

About Eliwood407

  • Rank
    Member
  1. Edit: I've figured out a way for the linkset to be forced to update! I edited the main post with the solution! Thanx those who tried to help me out, I hope this forum post will help out others with this issue.
  2. To specify the problem further: Here two different tests, both failed to be reliable. https://gyazo.com/b7854eba4b2d3e3ece931013bba31999 Gif showing the two tests. Green: Linkset of 101 prims. 1 script in the root prim: integer beep;default{ state_entry() { llSetTimerEvent(5); } timer() { if(beep) { llSetLinkPrimitiveParams(LINK_SET,[ PRIM_COLOR, ALL_SIDES, <1,1,1>, 1]); beep = !beep; } else { llSetLinkPrimitiveParams(LINK_SET,[ PRIM_COLOR, ALL_SIDES, <0,1,0>, 1]); beep = !beep; } }} Also tested with llSetLinkPrimitiveParamsFast(LINK_SET,...); same results. Shows to be about 7% inaccurate. Red: Linkset of 101 prims. 1 script in all prims: integer beep;default{ link_message(integer link, integer i, string msg, key id) { if(msg == "change") { if(beep) { llSetPrimitiveParams([ PRIM_COLOR, ALL_SIDES, <1,1,1>, 1]); beep = !beep; } else { llSetPrimitiveParams([ PRIM_COLOR, ALL_SIDES, <1,0,0>, 1]); beep = !beep; } } }} 1 script in root prim: default{ state_entry() { llSetTimerEvent(5); } timer() { llMessageLinked(LINK_SET, 0, "change", NULL_KEY); }} Proves to be about 3-4% unreliable. I can conclude from this that using a script in each prim seems to be more reliable, at the cost of memory. My project does not have 100 prims, but this is just a test showing the issue. Of course I want to prevent using 1 script in each object, hence why I am hoping anyone has a workaround for this. EDIT: Will test PRIM_LINK_TARGET on my project.
  3. Good day! EDIT: A workaround for the issue has been found, changed the post to explain the problem and a workaround. Problem: When having a linkset of multiple objects, and wanting to change all those object's textures/alpha/color using llSetLinkPrimitiveParams(Fast), can cause the clientsided-viewer to not show all texture/alpha/color updates. Example:  The above GIF image showing two tests, of 100 prims changing color through two different ways. You can see some prims refuse to update their color, this is a client-sided problem as server-sided they actually DID change color. A possible workaround: While experimenting with this problem, I have noticed that inventory changes causes the server to force update the linkset on your client. I stumbled upon this when I clicked "New Script" while the textures of my linkset were not properly updated. This fixed it. So to fix this issue, make the script (or an other script) reset itself after the changes have been made. Example of the script:  This will ensure that any faces/prims that fail to update on your client, will be forced to update the moment the/a script resets in that linkset.
  4. Good day! I require assistance of some one who has experience with rigging (possibly also with rigging using the Kemono avatar). The job in question is a set of sleeves. The Sleeves only cover the upper arms, lower arms and part of the hand. If interested, please IM. EDIT: It's a simple rig, I myself just am not experienced enoug as I end up with bugs like this: (Any tips or explanations why this is happening would also be greatly appreciated :3)
  5. Hey there, A year ago I had sent roughly 1,300$ from SL to my paypal. The money took a long time to arrive because I forgot about it, and did not realise there was a contract I had to sign. Now I am trying to take out roughly 1,300$ too, but instead I split it into four smaller payouts. Does anyone have experience with this? Will these four smaller payouts just arrive without a contract? The reason I don't want a contract involved is because it would just delay the payment, and I am in desperate need of it at the moment.
  6. Good day! I have just followed a tutorial on how to rig. I started with a simple poncho wrapped around the shoulders. I followed every step, and managed to do everything exactly the same, however when I want to upload the model, it looks completely distorted. (picture: http://gyazo.com/3321c9d9933b606ac28484877e9e5da2) I am at a loss, and have no idea what could have caused this. Some information that might make things clear: -Model consists only out of triangles. -Blender 2.49 used (just so it looks the same as the tutorial). -Exported as COLLADA 1.4(.dae). -The rigging itself works perfectly. -The "fabric" of the model is flat, and has double sided triangles. -A screenshot of the model in Blender, in edit mode. Maybe I have a setting somewhere wrong? http://gyazo.com/d0d551dec4e95bed78272d7c07c2eac5 -I never use Blender, So I am not aware of the obvious noob problems that everyone might already know :X I hope some one can help me!
  7. ___________________________________________________________ EDIT: Thanks to those who replied to this topic and contacted me in-game! Sady it turns out it is not do-able the way I intended it to be. For those who found this page on google and try to find the answer I was looking for: -Sadly since animations are client-sided, and llRezObject is server sided, there is no way to have ATTACHED objects determine the local position of the object you are rezzing. It will work when the object is not attached, but the moment you have it attached the positions and rotations move into your avatar center. The solution I use, although not as pretty: -I have the sword make the Avatar perform an animation during the time the object needs to be rezzed. I manually edited the llRezObject position and rotation (which is at <0,0,0> in the avatar center) to somewhat the correct location on the sword. ___________________________________________________________ Hello there! My apologies if this thread seems a bit confusing, I try to explain it as best as I can. (screenshot added at the bottom for reference) Project: A sword that is based on an exactoknife. When segments get dull, those dull segments break off and the sword regenerates itself. An object that looks like the dull segments get rezzed on the sword, and while that section of the sword turns invisible, the rezzed segment drops to the ground. (1 on screenshot) Problem at hand: -The dull segments that break off gets rezzed in the Avatar's chest, as if position/rotation is reset- (2 on screenshot) Everything seemed to work just fine when the sword is rezzed on the ground. But the problem started when I attached the sword on my avatar. Thread's question: Is it possible to -When sword is attached- make the broken sword blade (2) rez on the correct location (1)? I have tried many things from using llGetLocalPos etc, but nothing seemed to work. If it's possible, could some one steer me in the right direction? Some one pointed out it depends on the way you retrieve the sword's info, again no luck. Other info: -Making the root prim rez the object. -Tried many different things, from llRezAtRoot, to llRezObject. From llGetPos, to llGetLocalPost, to llGetObjectDetails. -Piece of code I tried, for those who like to see. Keep in mind it's messy, I just needed to make it work before I clean it up. rezbroken(){ vector relativePosOffset = <-1.579, -0.008, 0.0>; // "Forward" and a little "above" this prim vector rezVel = <0.0, 0.0, 0.0>; // Traveling in this prim's "forward" direction at 1m/s rotation relativeRot = <0.707107, 0.0, 0.0, 0.707107>; // Rotated 90 degrees on the x-axis compared to this prim key id = llGetLinkKey(1); list details = llGetObjectDetails(id, ([ OBJECT_POS, OBJECT_ROT])); vector myPos = llList2Vector(details, 0)+relativePosOffset; rotation myRot = llList2Rot(details, 1)+relativeRot; llRezObject("DamagedAvaliBlade", myPos, rezVel, myRot, 10); } -Another piece of code I tried when I tried doing it differently. rezbroken(){ vector relativePosOffset = <-1.579, -0.008, 0.0>; // "Forward" and a little "above" this prim vector relativeVel = <0.0, 0.0, 0.0>; // Traveling in this prim's "forward" direction at 1m/s rotation relativeRot = <0.707107, 0.0, 0.0, 0.707107>; // Rotated 90 degrees on the x-axis compared to this prim vector myPos = llGetPos(); rotation myRot = llGetRot(); vector rezPos = myPos+relativePosOffset*myRot; vector rezVel = relativeVel*myRot; rotation rezRot = relativeRot*myRot; llRezObject("DamagedAvaliBlade", rezPos, rezVel, rezRot, 10); } Reference picture of what it looks like, where the segment is supposed to Rez (1), and where it goes wrong (2).
  8. Hello there, I am looking for a animator who is able to create an animation for me. The animations don't have to be superb, as long as it is reasonably smooth and don't cause disjoints. The animations I am looking for is a replica of something. It uses the default human skeleton and I am looking for: -Walk -Run (faster walk if it works) -Pre-Jump -Land (I think that's it) Please IM me if you want to know more, and to discus a price. -Eliwood407
  9. Hey thank both of you ^^ My apologies if the script caused a problem It never happened to me I will apply the suggestions immediately ^^ I love the secondlife scripting forum and all it's helpers. WIthout you I would not be as far in scripting as I am now. I learn new things every time^^
  10. Hello there! I have tried many ways I could emagine to make a simple vehicle script say something (text or string) when it starts walking, and when it starts stopping. I am making a robot with 4 legs, the legs move like a bug or spider, which I will puppeteer. To make the puppeteered legs walk and stop walking, I would have to make the vehicle script say a command. However, when I try to tinker with Velocity and whatnot, it will spam the command very fast, I don't know how to make it say the command once. Does anyone have an idea what would be the best for this? I add the vehicle script to this post for the sake of showing what I have. I do not expect anyone to do the work for me ^^ /////////////////////////////////// //Simple RC Chopper Script// /////By Mrc Homewood/////// /////if used include credit///// ////////////////////////////////// float speed = 0; float turn = 0; float lift = 0; integer move = FALSE; integer turningR = FALSE; integer turningL = FALSE; integer TURNING; integer RUNNING; integer Fire; integer Mine; integer Talk; vector left_vel = <0,0,-2>; key avatar; integer on; default { state_entry() { llSetObjectName("Default Immortal"); llSetVehicleType(VEHICLE_TYPE_CAR); llRemoveVehicleFlags(VEHICLE_FLAG_LIMIT_MOTOR_UP | VEHICLE_FLAG_LIMIT_ROLL_ONLY); llSetVehicleVectorParam( VEHICLE_LINEAR_FRICTION_TIMESCALE, <1, 2, 1> ); llSetVehicleVectorParam( VEHICLE_ANGULAR_FRICTION_TIMESCALE, <1.5,1.5,1.5> ); llSetVehicleVectorParam( VEHICLE_LINEAR_MOTOR_DIRECTION, <0, 0, 0> ); llSetVehicleFloatParam( VEHICLE_LINEAR_MOTOR_TIMESCALE, 0.2 ); llSetVehicleFloatParam( VEHICLE_LINEAR_MOTOR_DECAY_TIMESCALE, 0.75 ); llSetVehicleVectorParam( VEHICLE_ANGULAR_MOTOR_DIRECTION, <0, 0, 0> ); llSetVehicleFloatParam( VEHICLE_ANGULAR_MOTOR_TIMESCALE, 0.2 ); llSetVehicleFloatParam( VEHICLE_ANGULAR_MOTOR_DECAY_TIMESCALE, 0.3 ); llSetVehicleFloatParam( VEHICLE_HOVER_HEIGHT, 0 ); llSetVehicleFloatParam( VEHICLE_HOVER_EFFICIENCY, 0 ); llSetVehicleFloatParam( VEHICLE_HOVER_TIMESCALE, 0.0 ); llSetVehicleFloatParam( VEHICLE_BUOYANCY, 0.0 ); llSetVehicleFloatParam( VEHICLE_LINEAR_DEFLECTION_EFFICIENCY, 0 ); llSetVehicleFloatParam( VEHICLE_LINEAR_DEFLECTION_TIMESCALE, 2 ); llSetVehicleFloatParam( VEHICLE_ANGULAR_DEFLECTION_EFFICIENCY, 0.8 ); llSetVehicleFloatParam( VEHICLE_ANGULAR_DEFLECTION_TIMESCALE, 2 ); llSetVehicleFloatParam( VEHICLE_VERTICAL_ATTRACTION_EFFICIENCY, 0.5 ); llSetVehicleFloatParam( VEHICLE_VERTICAL_ATTRACTION_TIMESCALE, 2 ); llSetVehicleFloatParam( VEHICLE_BANKING_EFFICIENCY, 0.7 ); llSetVehicleFloatParam( VEHICLE_BANKING_MIX, 0.5 ); llSetVehicleFloatParam( VEHICLE_BANKING_TIMESCALE, 0.2 ); llSetVehicleRotationParam( VEHICLE_REFERENCE_FRAME, <0, 0, 0, 1> ); llStopSound(); llCollisionSound("", 0.0); llSetStatus(STATUS_PHYSICS, FALSE); llOwnerSay("Tank is ready! Click to start!"); } touch_start(integer t) { avatar = llDetectedKey(0); string name=llKey2Name(avatar); if((on == TRUE)) { llSetStatus(STATUS_PHYSICS, FALSE); llStopSound(); llSetStatus(STATUS_ROTATE_X | STATUS_ROTATE_Y | STATUS_ROTATE_Z, FALSE); llReleaseControls(); on = FALSE; } else if((on == FALSE)) { llSetStatus(STATUS_ROTATE_X | STATUS_ROTATE_Y | STATUS_ROTATE_Z, TRUE); llRequestPermissions(avatar,PERMISSION_TAKE_CONTROLS); on = TRUE; llSay(0, llGetDisplayName(llDetectedKey(0)) +" entered a tank!"); } } run_time_permissions(integer perms) { if(perms & (PERMISSION_TAKE_CONTROLS)) { llTakeControls(CONTROL_UP | CONTROL_DOWN | CONTROL_FWD | CONTROL_BACK | CONTROL_RIGHT | CONTROL_LEFT | CONTROL_ROT_RIGHT | CONTROL_ROT_LEFT, TRUE, FALSE); llSetStatus(STATUS_PHYSICS, TRUE); Talk = !Talk; llWhisper(-2031, (string) Talk); } else { llReleaseControls(); llSetStatus(STATUS_PHYSICS,FALSE); } } control(key id, integer level, integer edge) { if (level & CONTROL_UP) { Fire = !Fire; llWhisper(-2002, (string) Fire); llSay(117, "Fire"); } if (level & CONTROL_DOWN) { Mine = !Mine; llWhisper(-2003, (string) Mine); llSay(117, "Mine"); } if (level & CONTROL_FWD) { speed = 1; // fwd power move = TRUE; } if (level & CONTROL_BACK) { speed = -0.5; // reverse power move = TRUE; } if (level & (CONTROL_RIGHT|CONTROL_ROT_RIGHT)) { TURNING = -1; if (RUNNING > 0) { llSetVehicleVectorParam(VEHICLE_ANGULAR_MOTOR_DIRECTION, 0.6 * left_vel); } else { llSetVehicleVectorParam(VEHICLE_ANGULAR_MOTOR_DIRECTION, left_vel); } } else if(level & (CONTROL_LEFT|CONTROL_ROT_LEFT)) { TURNING = 1; if (RUNNING > 0) { llSetVehicleVectorParam(VEHICLE_ANGULAR_MOTOR_DIRECTION, -0.6 * left_vel); } else { llSetVehicleVectorParam(VEHICLE_ANGULAR_MOTOR_DIRECTION, -1.0 * left_vel); } } else { TURNING = 0; llSetVehicleVectorParam(VEHICLE_ANGULAR_MOTOR_DIRECTION, ZERO_VECTOR); } if(move) { llSetVehicleVectorParam(VEHICLE_LINEAR_MOTOR_DIRECTION, <speed,0,lift>); lift = 0; speed = 0; move = FALSE; } if(turningR) { llSetVehicleVectorParam(VEHICLE_ANGULAR_MOTOR_DIRECTION, <turn,-0,1>); turn = 0; turningR = FALSE; } if(turningL) { llSetVehicleVectorParam(VEHICLE_ANGULAR_MOTOR_DIRECTION, <turn,0,1>); turn = 0; turningL = FALSE; } } on_rez(integer start_param) { llResetScript(); } } PS: I don't know how to change the title to [Resolved] when I get an answer ._.
  11. Thank both of you ^^ This really helps me
  12. Hello there, I am slowly getting more efficient and better at SLS. I do have a question about certain "if" and "else" possibilities. Is there a list that shows all options like the ones I listed below? I know a few, but I would like to know if there is a "or" possibility. if(llDetectedName(i) == "Bullet") //means that if the object is called Bullet it will:... if(llDetectedName(i) != "Bullet") //means that if the object is not called Bullet it will not:... if(llDetectedName(i) == "Bullet" && "Cody") //Despite it not being possible; means that if the object is called Bullet AND Cody it will:... //---------------What I would like to know: if(llDetectedName(i) == "Bullet" OR "Cody") if(llDetectedName(i) == "Bullet" AND NOT "Cody") I hopy my question is clear enough.
  13. Hello there, I am slowly getting more efficient and better at SLS. I do have a question about certain "if" and "else" possibilities. Is there a list that shows all options like the ones I listed below? I know a few, but I would like to know if there is a "or" possibility. if(llDetectedName(i) == "Bullet") //means that if the object is called Bullet it will:... if(llDetectedName(i) != "Bullet") //means that if the object is not called Bullet it will not:... if(llDetectedName(i) == "Bullet" && "Cody") //Despite it not being possible; means that if the object is called Bullet AND Cody it will:... //---------------What I would like to know: if(llDetectedName(i) == "Bullet" OR "Cody") if(llDetectedName(i) == "Bullet" AND NOT "Cody") I hopy my question is clear enough.
  14. Hello there! I could not find any topic related to this problem, as this is not an Object spamming me. Every time I log in, I receive a automatic IM message from my friend. (Message placed in spoiler below, Name censored for.. y'know) [21:03] Message from Second Life: Your object 'Object' has been returned to your inventory Lost and Found folder by ######### Resident from parcel 'Flying City of Lilith- Iron Hearts Group Land' at Antigua Island 126, 107 due to parcel owner return. [21:03] Message from Second Life: Your object 'Object' has been returned to your inventory Lost and Found folder by ######### Resident from parcel 'Flying City of Lilith- Iron Hearts Group Land' at Antigua Island 232, 0 due to parcel owner return. [21:03] Message from Second Life: Your object 'Object' has been returned to your inventory Lost and Found folder by ######### Resident from parcel 'Flying City of Lilith- Iron Hearts Group Land' at Antigua Island 160, 49 due to parcel owner return. [21:03] Saera (#########) paid you L$2000. [21:03] Message from Second Life: Your object 'Object' has been returned to your inventory Lost and Found folder by ######### Resident from parcel 'Flying City of Lilith- Iron Hearts Group Land' at Antigua Island 126, 107 due to parcel owner return. -The times that are displayed in the message are always the time I receive the message. -Seeing my friend once paid me L$2000 shows that it has been quite a long time ago, however I am not certain how long ago as I have tried to ignore it for a long time already. -She also receives these messages every time she logs in. -We do not know which objects have been returned at that time. -She returned my objects, we both manage the same homestead sim. I hope some one knows the cure to this problem ^^
  15. I added an edit to the first post, but to give it more attention I add a new reply. So the animations that are bugging me are actually internal animations. aim_r_rifle and hold_r_rifle They seem to have replaced my default avatar animations. Any way to undo this?
×
×
  • Create New...