Jump to content

Nexii Malthus

Resident
  • Posts

    66
  • Joined

  • Last visited

Posts posted by Nexii Malthus

  1. The only way would be to tweak the encoding settings, I once coded in some sliders in the texture uploader of the viewer that would re-encode and measure the filesize -- inspired by photoshop save to web. There's a bit of wiggle room to optimise better than the linden defaults if exposed to the content creator.

     

    Something that does matter a lot is that the source format you upload with should ideally be at the highest quality / lossless as possible so that the best/most ideal jpeg2000 texture can be generated in the first place.  Otherwise if you, say, upload a jpeg as a texture, you would get jpeg artifacts transcoded into it.

    • Like 1
  2. On 5/23/2020 at 5:24 AM, Wulfie Reanimator said:

    If you want absolutely smooth motion, you have to rely on the viewer to generate that motion for you. That means using llTargetOmega since llSetKeyFramedMotion was already ruled out.

    With llSetKeyFramedMotion you can still take advantage of client-side motion, as with normal physics objects the client uses interpolation. The sim will try to avoid sending updates unless velocity has changed. A phantom KFM with little to no velocity changes would be very optimal.

  3. You made the assumption that re-arranging the attachments would be a pain.

    However you could automate re-attaching the attacks to stagger an attack to the next slot ready for use.

     

    See RLVa for methods on automating attaching and detaching inventory items.

     

  4. Wow, didn't know the avatar could be moved so far away.

    Could make some really great aircraft with that!

    https://gyazo.com/365ec98c7c35a3b0cfb0e95ad93caf07

    ^ and yes, that's a off-sim terrain sculpt I made for example in there. It's a few megaprims sized 1024x1024x256 with a sculpt applied. I call them voidscapes, as in putting a landscape in the void. I'd made some pretty awesome voidscapes in the past, such as one which was a giant underground cavern! Was working on a whole city even, but alas lost the work in progress of that.

     

    Might be fun to go back to making voidscapes with this technique and coupling it with the fast heightmap collision algorithms I had, hm.

  5. Armor damage with vehicles in linden damage sims involves the use of two vehicles technically.

     

    - One is a seat vehicle that provides invulnerability to the user and follows the second. (Seated avatar and seat vehicle both are phantom through volume detection -- this was a bug at first to be fixed but linden damage users collaborated to convince LL to keep it as an unintentional feature so that we could create vehicular combat that works in symbiosis with linden damage, by establishing policies and a good will)

    - The second is the real vehicle and actually absorbs the physical projectiles and emulates damage, not to mention is the physical shell to provide movement through the sim.

     

    Usually you use a very basic damage emulation to keep in line with policies in most combat sims, which tends to be 100 hit points where each projectile deducts one point; Until hitting 0 whereby you must eject any seated avatar(s) and kill that avatar intentionally yourself with linden damage to complete death.

     

    There are no tutorials unfortunately, it is much complicated than developing attachment weaponry, you will have to learn best practices in scripting and content creation first.

     

    You could maybe ask Roudy Raccoon, last I know he was handing out help to people trying to understand armor damage systems, but it will still take a lot of your own initiative.

     

    (Source: member of Merczateers who were the first to push the use of combat vehicles in the linden damage scene)

  6. The best way I found for achieving click-and-drag in HUDs was to define a 'draggable' area using a prim (e.g. like the top bar of a window) and then when the user starts dragging to resize that prim to fill the screen, so I can figure out where the user is dragging constantly until they let go.

     

    This is demonstrated here: 

    When the screen goes darker is where you can see the prim filling the screen.

     

    As mentioned before, you can use LlDetectedTouchST

    I'll give you an example.


  7. joniveehernandez wrote:

    Because those data must be display on a board. but I was thinking the only way we can display those data with style "Typography" thing is to display them as media viewing the php web page itself.


    joniveehernandez wrote:

    Sorry Ron I supposed to be specific on that part, So it's only possible to do it with 
     what I see on the land boards from other people.

    You can actually do some typography using some nifty scripting without using any media params (especially as media is very expensive on the client and will affect your FPS). The idea being to manually create a font renderer, by mixing some maths using textures with specially designed meshes, so that letters can be shifted around to form words. Which means that kerning can be obeyed.

    As each letter is an individual face, they can be coloured as well, as they are textures their textures can be switched to create different fonts, with variants of weights, italics and bold.

     

    If you want, I can give you a copy of this library, it's an opensource project of mine.

    NexText-with-RSS-Reader-and-HUD.pngNexText3.png

     

  8. The touchee is likely in the same sim to be able to click on the prim.

    llInstantMessage has a forced delay of 2 seconds ( http://wiki.secondlife.com/wiki/LlInstantMessage )

    llRegionSayTo performs similar function (for messages sent to a user in the same sim) but has no delay. ( http://wiki.secondlife.com/wiki/LlRegionSayTo )

     

    Replace the function calls with llRegionSayTo(Who, PUBLIC_CHANNEL, "Text");

    "Text" being your original message.

  9. (Übersetzung von deutsch zu english für andere englische scripter dein problem zu verstehen)

    Lemme translate:

    I am not sure if I am dumb or wether SL especially hates me. Every time I put a script into a boat / submarine, it just starts flying upwards, without me being able to change anything about it. It isn't anything like a physical collision, but just does so. Could anyone tell me what it could be, i.e., what I do wrong?

     

    --

    Ist da schon ein vehicle script in den objekt oder ist es leer? (Is there a vehicle script in the object already or is it empty?)

    Was feur ein script willst du in den objekt setzen? (What kind of script are you trying to put into the object?)

     

     

    Habe deutsch in vielen jahren night gesprochen, so entschulding von jeder grammatik oder andere fehler.

  10. Use the pathfinding tools in the viewer to check if the sim has a good navmesh mapped out.

     

    Otherwise an estate owner can come in and bake a quick (albeit unoptimised) navmesh, by setting everything as walkable. Or if your an estate owner yourself try to change the pathfinding linksets and slowly build up an optimised navmesh based only on where characters are absolutely necessary to go to.

  11. You could create a HUD that covers your screen to capture a click and then translate that into a raycast starting from your camera position/rotation.

     

    The raycast would then be able to give you enough information that you seek.

     

    Kind of how this HUD was done: 

     

    You can project screen coordinates into region coordinates. For more hints on the maths behind this I can give a script, that would tell you how to do this kind of projection, if you contact me in-world.

     

    If your careful with precisely when and where you cover the hud, you can make it unobtrusive enough so that you can alt-cam as you would normally.

  12. I published a few functions to make it easier refer to prims by their names.

    https://wiki.secondlife.com/wiki/LinksetIndexing

     

    You still have to deal with linkset numbers in the end, but it should make the script more robust to linkset changes and make it more easier to know which prims your dealing with.

    You'll also want to cache the linkset numbers.

     

    // Takes in a prim name and searches linkset for it and returns its' linkset number, otherwise 0integer Linked(string Needle) {    integer Prims = llGetNumberOfPrims()+1;    while(--Prims) if(llGetLinkName(Prims) == Needle) return Prims;    return 0;}// Some global variables where we will store link numbersinteger MyFancyButton;integer SomePrim;integer MoveThis;integer Another;default {	state_entry() {		// I could use the more advanced list-based linkset indexing functions,		// but this keeps it tidy and is only done once				// Gets linkset numbers by prim name and stores them in global variables		MyFancyButton = Linked("Fancy Button");		SomePrim = Linked("Some Prim");		MoveThis = Linked("Move This");		Another = Linked("Another Prim");	}		touch_end(integer d) {		llSetLinkPrimitiveParamsFast(SomePrim, [			PRIM_POSITION, <0,0,1>,			PRIM_LINK_TARGET, MoveThis,			PRIM_POSITION, <1,0,0>,			PRIM_LINK_TARGET, Another,			PRIM_ROT_LOCAL, llEuler2Rot(<0,0,45>*DEG_TO_RAD),		]);	}		changed(integer c) {		if(c & CHANGED_LINK) {			// The linkset has changed! This could mean our stored variables are wrong now			// We could copy the linkset search code above in state entry or simply reset the script			llResetScript();		}	}}

     

    Hope this helps teach about some of the important concepts.

  13. Yeah, these are most likely a version of my script.

     

    The mesh is 8 layered faces squished very thinly together. They are all elongated, so it does look like one face at first.

     

    But actually it is designed that way so that it can move letters left and right dynamically, to allow for kerning, which is the special feature of my text renderer.

     

    I have never seen any other non-media method for rendering dynamic text with kerning as far as I am aware. (I won't even give a bot-uploaded texture as an answer, that sounds like the most wasteful way of doing things)

     

    ---

     

    On second look. After checking the pictures with closer scrutiny. I think a bot might actually be uploading those, ugh!

     

    Lets see..

    NexText 1024x1024 for font texture (+ a few more if you want to use italics/bold, etc) + some LI.

    Versus.

    Bot uploaded textures (those look high res, so 512 x 128), say +1000 av keys and your talking about +62.5MB of texture mem gone, +10,000L$ down the drain.

     

    Quite a laggy way to save about "10 - 20 prims"

  14. I'm not sure how it is these days, but a long time ago, when I created a warpPos-based teleporter for a respawn area in a combat sim, where we needed to use the teleport on a high frequency, I attempted to solve the 0,0,0 location issue and some rendering issues.

    The way I solved it on my setup as to slow down the teleporting into 30m chunk steps, just slowed down enough so that the server would have enough server frames to send the new location and then have the teleporter move onto the next chunk. This all happened really fast in 100 - 400ms across a vast distance, but gave some breathing room for clients to catch up so that it didn't impede with the fast action combat that we rely on.

  15. I find that from ton of LSL UI experience that llDetectedTouchST is the best to use as it directly correlates to the surfaces more easily, all the others are NOT intuitive and can get extremely confusing fast as they are dependant on other factors.

    It might be nitpicking, but it makes a difference when you need to simplify things, ie KISS principle (keep it simple stupid), especially when debugging and doing more complex things like rotations driven by mouse guidance.

  16. Speaking as a builder creating an urban build at the moment.

     

    Highest resolutions as possible, so 512x512 or 1024x1024.

    Type of file being PNG or TGA as they are lossless formats.

    Seamlessness is always nice, often it's okay if it's seamless in only on direction (horizontal), but seamlessness in two directions allows it to be repeated for higher density or over a larger surface.

    Not sure what you mean by uniqueness?

×
×
  • Create New...