Jump to content

Jenwen Walpole

Resident
  • Posts

    52
  • Joined

  • Last visited

Everything posted by Jenwen Walpole

  1. I have some code I wrote that might help some understand how to use llGetNotecardLineSync Please feel free to comment. ///// // Generic llGetNotecardLineSync Notecard reader by Jenwen Walpole // Given freely // // This will read a notecard and insure notecard line read happens succesfuly // no matter if the notecard is cached or not. // The code will make use of cache reads for as long as the notecard is cached and use llGetNotecardLine when not. ///// integer iNoteCardLine; string sNotecardName = "mynotecard"; key kCurrentDataRequest; default { state_entry() { } touch_start(integer total_number) { iNoteCardLine = 0; // reset back to zero in case there was a prior read // first line read is conventional llGetNotecardLine read to make the server cache the notoecard. kCurrentDataRequest = llGetNotecardLine( sNotecardName, iNoteCardLine ); } dataserver( key kQuery, string sData ) { if (kCurrentDataRequest == kQuery) { if( sData != EOF ) { llOwnerSay(sData); } else { llOwnerSay("EOF"); return; } iNoteCardLine++; while (TRUE) { sData=llGetNotecardLineSync(sNotecardName, iNoteCardLine); if (sData == NAK) { // on a NAK reread using llGetNoteardLine // this will both re-cache and succsesully read the line llOwnerSay("NAK"); kCurrentDataRequest = llGetNotecardLine( sNotecardName, iNoteCardLine ); return; } if (sData == EOF) { llOwnerSay("EOF"); return; } else { llOwnerSay(sData); iNoteCardLine++; } } } } }
  2. this is what development is all aobut - onward and upward! interesting how the scripts errors out when you have to re save..good that it does that when the fuction changes, it makes you think aobut it.
  3. I vote 1 and 2 - see details in my earlier message on linkset_data action codes.
  4. additional note / thoguht: you could also be a bitmaped response for linkset_data event action - but i suppose(and just by accedent) 1 and 3 responses above allow it to be ANDed with a 0x01 to determining any write occured. ... if thats an intentional thing then it sould be called in the docs with an example or just make the responses bitmaped 0x01 0x02 0x04 0x08, bitmap might make more sense then you could have the following LINKSETDATA_RESET 0x01 The linkset's datastore has been cleared by a call to llLinksetDataReset. LINKSETDATA_WRITE 0x02 A key in the linkset's datastore has been wiritten to llLinksetDataWrite LINKSETDATA_DELETE 0x04 A key in the linkset's datastore has been deleted. Either through a call to llLinksetDataDelete or llLinksetDataWrite with an empty value LINKSETDATA_CHANGE 0x08 A key in the linkset's datastore has been assigned a new value with llLinksetDataWrite where on a change both LINKSETDATA_WRITE and LINKSETDATA_CHANGE bits would be set. and if it was written to but not changed only the LINKSETDATA_WRITE would be set. this way a simple 'AND' in your event logic can filter for whatever you want. seeing as your most likely filtering your event anyway... (edits for typoo's)
  5. I suppose you could give just as much creedence updating a KVP with the same value just to force an event.don't get me wrong, its nice to know of a KVP changed vs just was written to and there is no change. if you were going to do this at all, then why not have the event state if it was a new value or not. linkset_data action constants example: LINKSETDATA_RESET 0 The linkset's datastore has been cleared by a call to llLinksetDataReset. LINKSETDATA_WRITE 1 A key in the linkset's datastore has been assigned the same value with llLinksetDataWrite LINKSETDATA_DELETE 2 A key in the linkset's datastore has been deleted. Either through a call to llLinksetDataDelete or llLinksetDataWrite with an empty value LINKSETDATA_CHANGE 3 A key in the linkset's datastore has been assigned a new value with llLinksetDataWrite (typo edits)
  6. I am for whatever will give the better performance. If there has to be an internal read before write to acomplish not generating the event and if that read will slow down the wirte / delete performance then id rather generate the extra events if event handling is enabled. Though i think that the scipter should have the option for not generating events in the first place for given write/delete operation (asumeng there is an event handler).
  7. added it as an aternate proposal to the jara
  8. i had a re-think on this, see the proposed llLinksetDataWriteNE, llLinksetDataWriteProtectedNE, llLinksetDataDeleteNE, llLinksetDataDeleteProtectedNE fuctions. the reson i am thinking this is better is that it likely saves a read of the flag which is likely stored with the key and would ahve overhead. alternatly it could be a flag on the fuction to indicte generating and event or not. like Function: integer llLinksetDataWrite( string name, string value, integer flag ); but that would be hard to implement later, and would need to be done before release otherwise people ahve to re-write code. the NE fuctions i proposed above could be added now or later without much fuss.
  9. @Rider Linden @Tapple Gao and anyone who is interested i've had a think on the whole linkset_data event overflow situation on mass updates.. what i think would be an easier to implement and more flexable soltuon is to have write and delete fuctions that do not generate events. so you can simply use those fuction when nessisary and still have events when you want / need them. SUMMARY. Becasue linkset_data event is for any keys updated or deleted. unwanted or events not needed can be generated. in example, if updating a large nubmer of keys at once you could over run the event queue. or if you only need events for specific keys, So there are times when you want to update or delete keys but do not want to generate events. the llLinksetDataWriteNE, llLinksetDataWriteProtectedNE, llLinksetDataDeleteNE, llLinksetDataDeleteProtectedNE functions work the same as llLinksetDataWrite, llLinksetDataWriteProtected, llLinksetDataDelete, llLinksetDataDeleteProtected except they would NOT generate events. Function: integer llLinksetDataWriteNE( string name, string value ); Function: integer llLinksetDataWriteProtectedNE( string name, string value, string pass ); Function: llLinksetDataDeleteNE( string name ); Function: llLinksetDataDeleteProtectedNE( string name, string pass ); Thoughts? (edits were typo fixes)
  10. My view is that having an all or noting event structure for keys would be a bit to broad if have 1000's of keys. Your scipt could spend a lot of time ignoring events it dosnt need and pootentaly shortening your event queue un nessiarly. i would invision having both the first and second methods, but there use would be for diffrent reasons. you may need an event handler for just one key or a small number of keys, Also being able to diable all linkd date events for situations like mass updates to prevent event queue overrun. i would agree you would not want to use tirning off single key events in a methodilogy to disable all the key events by disabling them one at a time.
  11. Because you can have so many keys, it be nice if you could just enable/disable events on specific keys. Also along those lines perhaps the abilty to enable / disable all linkset_data events so that when your doing mass updates to many keys your can disable generating events. Thoughts?
  12. i've tested this and I can confirm that the data does survive a shift + drag copy
  13. great work kahda, one of the things i am curious about is if the amount of space effects performance at all, though i suspect it will have no impact. I mgiht check that anyway. i also noticed perormance variations run over run. when doing them conscutivly .. i just asumed that it was the luck of the draw on the slicing and other thigns takign up scipt time. I see the iops go down as expected as the data size goes up..but the bps goes up. it be interesting to graph for the bytes per sec or kbps. I .just did a rough calcualtion for and if my calulations are right you were about 10x higher data thoughput at 1024 over 8 bits, even though the number of operations/itterations droped to 1/10th
  14. wow ... it is a LOT faster then i expected. back of the matchbook testing ot me 1,000,000 copies of a 10 char linkset data to a local var in 0.085416 milliseconds and just for fun, becase it was so fast i did the same copy but from global to local var in 0.000156 milliseconds just to see the comparison. ymmv This is going to repalce a lotta link message stuff i am doing and config file handling. PLUS the extra fuctionality of persistant data and more var space. .. my head is spinning wiht ideas
  15. i am trying to test the LinksetData fuctions in the beta grid, but it seems thee fuctions are unrecognised and will not save. do i need a beta viewer or soming to test this?
  16. I am trying to test the new LinksetData fucttions on the beta grid however all the fuctions seem unrecognised and will not save/compile. I am using the latest offical sl viewer. To test this, do i need a beta version of the viewer?
  17. On the new requirements for collecting US taxes on recurring billings, such as premium subscriptions and land fees starting March 31,2022, Wouln't this be avoidalbe by alowing us to pay for these thigns using linden dollars insted of USD?
  18. What is the cause of the recent spiral of the exchange rate for lindens. It had been flat for eons, and now its creeping upwards. not to mention the transaction fees and exchange fees will this all cause sl inflation because people depend in exchange rates to pay tier fees?
  19. yes you can tell if somone is using bots to game traffic against TOS when you have scripted agents aorund, and the nubmer of visitors thoughout the say is a consistant nubmer... its eeasy to estmate what ther traffic should be. sol ets say visitors fluctuate between oh 10--25 people.. visiting, and theres 30 scritped agents in the sky... (obious there standing aorudn 24/7 in a small area.. typical bot farm).... each avi counts as 1440 for traffic nubmers a day... so.. if they ahve 25 avis max.. the mas there traffic sould be is 1440 x 25 = 36000 max traffic if that same place has traffic of 70,000 its qutie obvious that extra traffic is those bots in the sky...to game traffic so yes... you can tell...
  20. This is a older post but, since this seems to have current significance as I seem have those around me asking the same thing, I mentor many businesses, and run my own, and in touch with a very large number of residents in SL. So i thought id give my view and In my opinion the short answer is: SL wants traffic bots. I know that’s contradictory to what the bot policy says... but hear me out... I have good reason to to say this. Here are some of my observances: 1. Linden Labs / Second Life seem to only address usage of BOTs that are interfering with other residents. In Example, if bots are usign to much resources on a mainland sim, and is causing problems with others on the mainland sim, or bots spamming messages. 2. it used to be that traffic played a part in the default search returns. Now this is no longer true as others have pointed out. However, I have had a Linden tell me that since it is not part of the default search order, traffic is no longer important. 3. I've Rarely if ever in recent history seen Linden Labs / Second Life take actions against those running bots private sims for using them solely increasing traffic numbers. What i think is sl belives that the owner of the sim is the only one impacted by the resource usage usage and that since traffic is now unimportant metric, it is not considered a problem. 4. What i have expereinced in SL is that for buisnesses, visitors do search by traffic to find places to socialize or to shop etc and not the defualt search. 5. What I have observed is that the lack of enforcement has FORCED the use of bots by many who would wish not to, just to keep a business running in SL. If you want to be competitive, in many business types, you MUST run bots to boost your traffic to even compete. This has GREATLY increased the need and the use of bots and an escalation of there usage from perhaps 1-2 bots on a parcel to 10-40 bots on a given parcel. 6. I've observed the number of people logged into second life (concurrent logins) declining since roughly 2009. During this same time period it appears to me the number of traffic bots increasing significantly. This would be to Linden LABs / Second Life's advantage in reporting concurrent logins, as all those traffic bots count as real people. Id think this could be a deterant to SL wanting to remove any significant nubmer of bots from SL 7. Second Life, in their bot policy states, "Linden Lab routinely looks at search results, and will treat use of bots to gain an unfair search advantage as an abuse issue. You do not need to file an abuse report for violations" However, I've not heard of once instance since search was changed where this has been enforced, Certainly not within recent history, and I am literately in touch with 10's of Thousands of residents in sl! Perhaps they don't consider it an unfair advantage since it is not part of the default search order. 8. Second Life provides no facility for you to report bots. There is no category for it under abuse reports. People who contact Second Life support about this are given inconsistent answers on reporting ranging from, you do not need to report, to file a report, to filing it under various categories, even being told that a report for each bot found needs to be reported separately, which frankly no one has time to do. So there is enough there that one can easily belvie sl actualy wants traffic bots. Some final thoughts: I am sure you all have seen the results of this. You look for a popular place, yu find one with good traffic, you show up and either its empty or, its full of avatars that do not respond to anyone, or worse respond with some kind of AI replies. This is not only frustrating, but frankly it turns people off to SL and just makes it harder to keep people in SL, and less likely to have a in world business. Do I blame bots on the decline of SL? I think it is part of the mix, I do belive there are multiple reasons SL user-ship is declining including economic reasons, and policy changes, etc... SL was about Community, Socializing, A sense of adventure, and creativity, and even a chance at virtual business opportunity. This is what make SL great, and attracted many. I don't see the current status of traffic bots in SL to be supportive of that and in fact, does the opposite. Not to mention going aganst every fiber of what one mgiht consider fiar play. Where did the soul of sl go one might ask. Bots are like a drug that makes you feel and look good while it slowly ruins your health or a cancer slowly eating sl from the inside. ….
  21. perhaps this is a move by linden labs to get out of the virtual currency business. they have 'terms of serviced' there way out of any liability/risk for losses and tax liability for virtual currency. SL has already made it so they are not responsible for any resident to resident transactions. I think that makes SL ripe for a 3rd party currency. Like bit-coin or any other viable virtual currency. For anyone already doing transactions outside marketplace. (ie renting land, selling or buying things directly, paying for or being paid for services etc) there would be no change in risk since sl doesn't get involved in resident to resident transactions. so what do we do, start gearing up for a bitcoin underground currency in sl?
  22. I can confirm the same, traffic nubmers ahve been off for a while, and as of today, they are very off. dosnt seem to be even across the board, but most nubmers seem lower. Id say my traffic has been fairly cosnsitant. but my numbers are about 1/2 the expected values today. i happened to check the traffic numbers for a region that is gaming traffic with bots, and i would say ther nubmers are higher then a comperable sim having real people. not sure what that really means... perhas some bug in recognising when new people enter your sim?? no sure.
  23. Thanks for all the helpful inworld replies I now have a homestead sim. Thanks everyone
×
×
  • Create New...