Talk:Under Age Boot
With the best of intention the road to hell is paved
I think this is a bad script to have on the wiki, it encourages and facilitates avatar age discrimination. Griefers are a bad thing but if SL is to grow it needs new users (despite all the cyber sex, no new users are being born as a result). Considering that a bad new-user experience will drive users away and the mortality of users, widespread use of this script will only lead to the death of SL. It throws the newbie out with the bath water. -- Strife Onizuka 02:20, 31 October 2007 (PDT)
Agreed. I think it may be best facilitated under a different purpose. Possibly giving constructive freebies/helpful notecards/a starter pack/welcome message to secondlife/location of useful places for starters (Second Life is massive, might as well help give a pick of good locations). I will make one like that right now for my land based on my contributed ideas, it would be fantastic I would think for helping out new users instead of creating a negative feedback like limiting features/access by replacing it with something that provides a positive user experience. --Nexii Malthus 14:59, 30 November 2007 (PST)
Comments on the script
I would agree it's very unfriendly to immediately ban an avatar based on age.
However avatar age calculation can have useful valid applications.
Unfortunately, this script does a faulty leap-year calculation:-
if (year/4 == llRound(year/4)) result += 1;
as year was declared as an integer, (year/4) results in an integer, with the remainder (the bit you need to test) chopped off and lost. Putting that into llRound causes it to be cast to a float (just adds .0) and llRound has nothing to do but return the same value as an integer.
if ( !(year % 4) ) result += 1;
would be correct.
Further, the script tests that the sensor object is over owner's land at state_entry, and the script is reset on rezzing. So the test
if (llOverMyLand(llGetKey()) == FALSE)
within sensor() is not needed. It would be better to test if the avatar is over my land within sensor(), and not issue a not-needed data request, and have to wait until the dataserver event to test over-my-land.
if ( llOverMyLand(llDetectedKey(i) ) ) // <<<=== do this within the sensor loop
Additionally, I'd suggest inserting a 'return' in state_entry if not over my land, so the sensor never kicks off.
Omei Qunhua 03:39, 31 December 2012 (PST)