Jump to content

Innula Zenovka

Advisor
  • Posts

    10,136
  • Joined

  • Last visited

Everything posted by Innula Zenovka

  1. and I can't understand why. The animesh NPC calls llWanderWithin. While it's wandering, something happens to attract its attention, and I want it to stop and look at whatever that might be. This should do the trick, I would have thought, and it does stop it, start the stand animation and gives the expected debug message with the correct rotation, but it refuses to turn. faceTarget(key id){ kTarget = id; llExecCharacterCmd(CHARACTER_CMD_SMOOTH_STOP, []); lTemp = llGetObjectDetails(kTarget, [OBJECT_POS,OBJECT_ROT]); playObjectAnim(strStandAnim);//simple userfunction to start new anim and stop old one vTargetPos = llList2Vector(lTemp, 0); rTargetRot = llList2Rot(lTemp,1); vPos= llGetPos(); rRot = llGetRot(); rotation r = llRotBetween(<1,0,0>,llVecNorm(<vTargetPos.x - vPos.x,vTargetPos.y - vPos.y,0.0>)); debugSay("turning to face "+(string)r); //llSetRot(r); llRotLookAt(r, fStrength, fDamping); } Either llSetRot or llRotLookAt should turn it, I'd have thought, but neither do, and I've tried a whole range of values for strength and damping. What am I doing wrong, or is there something else I should try? Is there something clever I can do with llNavigateTo or llPursue or something?
  2. I would take it out of setAnimation completely, as indicated above. I was trying to think of where permissions errors could come from, and that seemed an obvious place where, under particular circumstances, the script could try to start an animation without holding the necessary permissions from the right avatar.
  3. I don't know if this is relevant but I'm a bit puzzled by setAnimation(integer num) { //llOwnerSay("Start Animation - " + (string)num); if(llGetPermissions() & PERMISSION_TRIGGER_ANIMATION) { llStopAnimation(current_animation); } current_animation = llList2String(list_animations,num); llRequestPermissions(claimed_key,PERMISSION_TRIGGER_ANIMATION); llStartAnimation(current_animation); } I would set the value of the variable current_animation and then request animations permissions, and then, in the run_time_permissions event, call llStartAnimation(current_animation) there, at a point when there's no question whether the script has animation perms or not. I guess you could also make assurance doubly sure by checking who llGetPermissionsKey is, but I really would try moving llStartAnimation and see it that improves anything.
  4. So you don't mix up two instances of the same object, belonging to different owners, you may want to keep an eye on llGetOwnerKey(id) when tracking messages. Checking the parcel details for the parcel on which an object is located will often tell you what you need to know, too. You might also want to look at the various land ownership functions.
  5. I would recommend always explicitly stopping the sit animation when someone first sits on anything, in the run_time_permissions event at the same time you start the first animation. It's one of those things that you can often get away with not bothering about but sooner or later you regret it, and then it's sometimes very puzzling. ETA: While I think of it, it's also good practice not only explicitly to stop the existing animation when the avatar stands but also to start the default stand animation. That's because llStopAnimation sends a message to your viewer to stop playing the animation, but if it's a looping animation, it'll continue until the end of the loop unless over-written by another animation. If you're wearing an AO, then that'll take over, but people whose AOs are turned off can find themselves stuck in the sit animation until they start to walk unless you explicitly tell the viewer to play a stand animation when they cease to be seated (I don't say "stand up" because they won't unless told to!)..
  6. You can identify particular object meshes (rather than instances of them) with llList2String(llGetObjectDetails(id,[OBJECT_CREATION_TIME]),0). So something like this might be helpful string strMcGuffinCreationTime; integer iMcGuffinChannel; default { state_entry() { } listen(integer channel, string name, key id, string message){ string strTimestamp = llList2String(llGetObjectDetails(id,[OBJECT_CREATION_TIME]),0); if(llList2String(llGetObjectDetails(id,[OBJECT_CREATION_TIME]),0)==strMcGuffinCreationTime){ //then the message is from a McGuffin of some sort if(llGetOwnerKey(id) == llGetOwner()){ //then it's from a McGuffin belonging to my owner. } } } } Also, since any object you're wearing (or sitting on), and only those objects, will receive messages sent via llRegionSayTo, you can be pretty sure that llRegionSayTo(id, McGuffinChannel, message) will reach only the McGuffin that id is wearing, and no one else's.
  7. Try default { state_entry() { llSetPrimMediaParams(3,[ PRIM_MEDIA_AUTO_PLAY,TRUE, PRIM_MEDIA_PERMS_CONTROL,PRIM_MEDIA_PERM_NONE,//hides control bar completely //PRIM_MEDIA_CONTROLS,1, PRIM_MEDIA_CURRENT_URL,"http://google.com", PRIM_MEDIA_HOME_URL,"http://google.com", PRIM_MEDIA_HEIGHT_PIXELS,512, PRIM_MEDIA_WIDTH_PIXELS,512]); } }
  8. As a scripter, I've come to realise that, when I work directly with animators, it's often so helpful to be able to ask them how many frames each animation contains, and its frame rate, so I know exactly how long it lasts and can thus more readily synchronise things. I don't buy animations myself, but my impression is that people who sell animations don't routinely include this kind of information, and it occurs to me that at least some people would use it if it were available. It would certainly make it easier to explore AvSitter's and nPose's "scenes" features, which I think could be more widely used, and I certainly find it invaluable when working with animesh. Certainly in the Scripting forum people regularly ask they can know when an animation ends, and at the moment, the answer may well involve the stopwatch feature on your phone, which isn't really optimal. Is there a reason not to provide this data? Probably few people would use it, but those who do would be very grateful for it, I suspect.
  9. I don't think you can actually delete a HUD while you're wearing it, can you? Permission to animate an avatar is granted to a particular instance of a script, so if I have two copies of a HUD in my inventory, one which I'm wearing (HUD A) and one which I'm not (HUD B), and you grant HUD A permission to animate you, then I can remove HUD A and replace it and, if I've scripted it in a certain way, it will retain permission to animate you the next time I wear it. However, if I wear HUD B, although the script it contains is apparently identical to that in HUD A, it won't have the same animation permissions, so I can use it to animate you only if you've separately granted animation permissions to HUD B too. I may be missing something but I can't immediately see a way to copy or transfer animation permissions between different instances of the same script, so that I can obtain permission for one instance of the HUD to animate you, remove and delete it, and then use a separate copy of the HUD (as opposed to the one I've just deleted and then retrieved from Trash) to animate you without first obtaining animation permissions for that script too. These exploits work only if the two avatars are on the same region, so my advice to people against whom they are used is always to avoid the person griefing you, and the regions they hang out on, and to AR them for harassment every time they try to use their gadget. They'll soon get bored.
  10. I used OpenSUSE years ago for a while, and liked it, but eventually it was too much hassle keeping track of what was compatible and what wasn't, and what worked well and what didn't, that I gave up. If Linux can't now be used to run either the Official viewer or Catznip, it's not going to be much use to me, I think, though obviously my SL isn't much like most people's.
  11. First question: how well do the Official Viewer, Firestorm, Marine's RLV viewer and Catznip work in Linux (including stuff like sound and shared media)? I often need all four to test scripts.
  12. I was underwhelmed by the names too, but then I thought that, since there are no circumstances in which I can imagine spending US$39.99 to change my (or any of my alts') last names to anything, this must mean I'm probably not the target market LL can have in mind when they devise them.
  13. As it is in the UK, and many other places too.
  14. Yes, and I think that's the problem. I mean, I regard the foetal heartbeat test as not terribly useful, since if a heart transplant donor isn't dead before their still-beating and perfectly healthy heart is removed for transplant, they certainly are afterwards, which must mean a murder has been committed at some point. For myself, I'd rather use similar criteria to determine when life begins to those we use to determine when it ends (and patients are certified as being dead and their vital organs therefore available for transplant, if that was what they wanted), and ask when the organised electrical activity in the foetus' developing brain becomes recognisably that of a living human being, as it begins to regulate its own automatic bodily processes and chemistry (that's some time in the seventh month, I believe). I'm not saying that's the best test, but at least I can justify my reasoning with reference to something other than theology and the question of at what point the body becomes ensouled. That's why I'm so uncomfortable arguing about abortion -- so often, it comes down to an argument about religion, and I don't think that courts, legislatures or this forum are particularly good places to conduct such debates.
  15. I'm sorry, but I don't quite see why the fact a particular woman might later come to regret her decision to have an abortion is any sort of argument for restricting that right. After all, plenty of people certainly also come to regret having children for whatever reason, and certainly plenty of people later come to regret all sorts of decisions, whether it's getting married, joining the army, voting for a particular political candidate or buying a particular house or other major purchase. The fact someone may later come to regret a particular decision is no reason for their government to try to stop her taking it.
  16. It's the fact that it's politically contentious at all, though, and that it's still contentious after 30 years, that's surprising. In the UK, it's always been treated as an "issue of conscience" (meaning that the parliamentary parties don't whip their MPs to vote one or way or another, and there's a free vote on it) and attempts seriously to restrict women's reproductive rights have never gained traction here. Some individual politicians, often quite senior ones, have expressed their opposition to abortion, but every parliamentary vote on restricting the time limits always goes the same way, and that's not likely to change. That's what I meant -- the fact people are still arguing about abortion in the US seems strange to many outsiders, as does the fact it's become so political an issue.
  17. Someone using the Official Viewer wouldn't find that advice particularly helpful (though if they could return it, they could probably find it with Region Objects or Top Scripts).
  18. Just to be clear, who's on the heroin here? You or the tigers?
  19. Abortion is obviously a highly contentious subject about which many people have completely irreconcilable views and which raises potentially extremely personal, and sometimes painful, memories for many people. It's also a subject that, for whatever reasons, preoccupies people in the US far more than it does in many other countries, who look on with bafflement at the obsession in some parts of the US with a subject that's hardly on the political radar anywhere else. So I'm really not sure it's a wise topic for these forums -- there are plenty of other places, more appropriate in my view, to discuss topics like this, and I don't see the benefit in discussing it here, too, since it's inevitably going to turn into a fight, and that's not what most of us are here for. I'm out, anyway.
  20. Maybe it's just me, but I'm finding it so inconvenient not to have my smartphone with me that I won't now leave home without it, any more than I'll leave without my keys, cards and a wallet or purse. It's not that I might want to communicate with someone when I'm out, but there are so many things I may want to use it for, and so many things it's a lot easier to do using it than by alternative means, that I don't want to be without it if I'm going further than the local convenience store.
  21. It's also quite true. For a society to exist, there has to be some sort of functioning state with a body of rules about how the society works and a means of enforcing them. The law is that body of rules. They may be horrible, unjust, unfair laws, and the courts may be biased and corrupt, but if you're going to have a state, you need some rules. That's the law and that's its function. To be a vital component of a state.
  22. I wondered about this when first I saw that, but then I thought about it for a while. I want to write some regulations about food labelling, with the intention of providing people who are allergic to nuts with a clear and easily understandable indication of whether they can safely consume this product. Because inadvertently consuming even small amounts of some nuts and nut-based products can easily be fatal, I need to be able to warn people not only when a product contains nuts but also when it may inadvertently have been contaminated with nuts during the production process. Meanwhile, if I'm allergic to nuts, I'm not so much concerned to know whether or not nuts are part of the recipe but whether I can safely eat whatever it is, so I want to be sure it was produced in a safe environment, too. So "May contain traces of nuts" seems to me the correct warning to give. "If the product is safe for someone who is allergic to nuts to eat, put this on the label. If it's not, then use this wording, instead." Since the product is either safe or it isn't, why bother going into any more detail, if you're writing a product labelling regulation? This is serious stuff -- get it wrong and people may die, and if they do, then quite apart from any civil actions for damages, other people may be at risk of prosecution (and probable imprisonment if convicted) for manslaughter, at least in my country.
  23. We're used to a just-in-time delivery system. Supermarkets are designed and stocked on that principle, and the shelves are supposed to be full all the time. They're having problems with deliveries at the moment, so that's leading to temporarily empty shelves when deliveries don't turn up as expected. At present, it's no more than an inconvenience, which I'm remedying by using home delivery rather than risk having a wasted ten minute walk to the supermarket, only to find they're out of half of what I want. If I have to put up with some substitutions so I don't get exactly what I wanted, that's hardly the end of the world and I can always send stuff back. It's exacerbated by Brexit, certainly, and also Covid has disrupted both tests and training for new HGV drivers to replace people leaving the the industry and also, because of particular Covid-related problems at the national Driver and Vehicle Licencing Agency, the re-issue of licences after they've been temporarily suspended for medical reasons. However, the problem is world-wide:
  24. It's an interesting exploration, though, of why otherwise apparently intelligent and rational people are prepared to believe such nonsense.
×
×
  • Create New...