Jump to content

Blob Megadon

Resident
  • Posts

    5
  • Joined

  • Last visited

Reputation

1 Neutral

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Gravity is a hardcoded constant acceleration of 9.8m/s downwards. There is no air resistance / friction in SL (atleast.. not for physics objects, avatars is a whole different story). For llRezObject, there is a cap on the velocity magnitude at around 250m/s. I think this doesn't apply to objects gaining speed by falling from great height (or by llSetForce for that matter), but I am not entirely sure. If you want to adjust gravity, you could always change the gravitational force on the object with llSetBuoyancy(float buoyancy). This function is equivalent to an additional force which counter-acts gravity: llSetForce(<0,0,9.8 * buoyancy * llGetMass()>, FALSE). Setting buoyancy to 0 will not affect it, setting it to 1 will negate gravity completely. Note that this function still counts towards prim energy. Any projectile in SL should describe a more-or-less perfect parabolic arc. This will be roughly equivalent to the arc a cannonball for example might make in a vacuum. In RL, objects with a low density (say, a soccer ball), will tend to describe a different trajectory, mostly due to air resistance. It won't be much different from a parabolic arc though, maybe a bit shorter. I think the resulting trajectory can be approximated by just having a smaller launch velocity. If you want to simulate the launch of a projectile which has complex areodynamic properties (wings), you might want to script the projectile itself to constantly update a llSetForce correction or something similar. This can get really difficult to get right though.
  2. That is not true, llGetBoundingBox works on all kinds of objects: physical, static or even phantom. Only attachments will not return their bounding box, instead, the bounding box of their wearer is returned. It will return a list with two opposite corners [vector min, vector max] of the bounding box which contains the entire linkset. This bounding box is relative to the root prim. If you are just dealing with one single, simple (thus not twisted, sliced, sheared etc.) prim, you can use it to get a result equivalent to llGetScale(): // id is the key of the objectlist bb = llGetBoundingBox(id);vector min = llList2Vector(bb, 0);vector max = llList2Vector(bb, 1);vector scale = max - min; You could combine this with llRezObject and the object_rez event to find out the scale of inventory items.
  3. I don't think there is a way of disabeling unlink (or any other object modification), when the owner has mod rights. I think you need to search an alternative mechanism, such as an external rezzed "dropbox" object using llGiveInventory or something. You might also want to look into the function llAllowInventoryDrop: http://wiki.secondlife.com/wiki/LlAllowInventoryDrop It allows dropping items into the object, even if that person does not have modifiy permission on it. Note that this allows anyone to drop items in, which may not be exactly what you wanted... It is also limited to items which are not scripts. Also, the person who placed the item can not delete it afterwards, that must be done using a script.
×
×
  • Create New...