<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Fermi Sandbox</title>
	<atom:link href="http://fsb.fermiworlds.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://fsb.fermiworlds.com</link>
	<description>Build, Learn, Shop, Hangout</description>
	<lastBuildDate>Wed, 05 May 2010 03:44:12 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Site Redesign</title>
		<link>http://fsb.fermiworlds.com/2010/04/site-redesign/</link>
		<comments>http://fsb.fermiworlds.com/2010/04/site-redesign/#comments</comments>
		<pubDate>Fri, 23 Apr 2010 01:36:29 +0000</pubDate>
		<dc:creator>Arthur Fermi</dc:creator>
				<category><![CDATA[Arthur Fermi]]></category>
		<category><![CDATA[Notices]]></category>

		<guid isPermaLink="false">http://fsb.fermiworlds.com/?p=237</guid>
		<description><![CDATA[We have had some site issues which I have resolved, but I figured while I was here I would make some changes.  I have updated the template and am going through some of the other things to make it a little better.  Please let me know if you have any problems.
]]></description>
			<content:encoded><![CDATA[<p>We have had some site issues which I have resolved, but I figured while I was here I would make some changes.  I have updated the template and am going through some of the other things to make it a little better.  Please let me know if you have any problems.</p>
]]></content:encoded>
			<wfw:commentRss>http://fsb.fermiworlds.com/2010/04/site-redesign/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Site Issues</title>
		<link>http://fsb.fermiworlds.com/2010/04/site-issues/</link>
		<comments>http://fsb.fermiworlds.com/2010/04/site-issues/#comments</comments>
		<pubDate>Wed, 21 Apr 2010 21:42:23 +0000</pubDate>
		<dc:creator>Arthur Fermi</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://fsb.fermiworlds.com/?p=229</guid>
		<description><![CDATA[As is probably obvious our web site is having some issues.  I will be working on this and hope to have it resolved in the next few days. &#8212; Arthur
]]></description>
			<content:encoded><![CDATA[<p>As is probably obvious our web site is having some issues.  I will be working on this and hope to have it resolved in the next few days. &#8212; Arthur</p>
]]></content:encoded>
			<wfw:commentRss>http://fsb.fermiworlds.com/2010/04/site-issues/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Back off man.  I&#8217;m a scientist</title>
		<link>http://fsb.fermiworlds.com/2010/04/back-off-man-im-a-scientis/</link>
		<comments>http://fsb.fermiworlds.com/2010/04/back-off-man-im-a-scientis/#comments</comments>
		<pubDate>Mon, 19 Apr 2010 04:30:15 +0000</pubDate>
		<dc:creator>Arthur Fermi</dc:creator>
				<category><![CDATA[Arthur Fermi]]></category>
		<category><![CDATA[Sandbox]]></category>

		<guid isPermaLink="false">http://fsb.fermiworlds.com/?p=218</guid>
		<description><![CDATA[This is old but I ran across it today and it made me laugh.  It takes all kinds, and we get them  
Let me preface this with a quote &#8230;
Dr. Peter Venkman: Alice, I&#8217;m going to ask you a couple of standard questions, okay? Have you or any of your family been diagnosed schizophrenic? <a href="http://fsb.fermiworlds.com/2010/04/back-off-man-im-a-scientis/" class="more-link">More &#62;</a>]]></description>
			<content:encoded><![CDATA[<p>This is old but I ran across it today and it made me laugh.  It takes all kinds, and we get them <img src='http://fsb.fermiworlds.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Let me preface this with a quote &#8230;<br />
Dr. Peter Venkman: Alice, I&#8217;m going to ask you a couple of standard questions, okay? Have you or any of your family been diagnosed schizophrenic? Mentally incompetant?<br />
Librarian Alice: My uncle thought he was Saint Jerome.<br />
Dr. Peter Venkman: I&#8217;d call that a big yes. Uh, are you habitually using drugs? Stimulants? Alcohol?<br />
Librarian Alice: No.<br />
Dr. Peter Venkman: No, no. Just asking. Are you, Alice, menstruating right now?<br />
Library Administrator: What&#8217;s has that got to do with it?<br />
Dr. Peter Venkman: Back off, man. I&#8217;m a scientist.</p>
<p>And here was my funny convo tonight</p>
<p><span id="more-218"></span></p>
<p>[19:42]  Arthur Fermi: No weapons<br />
[19:43]  Arthur Fermi: do that again and your banned<br />
[19:43]  Ernest Finkler: they your are<br />
[19:43]  Ernest Finkler: is  this not a sandbox<br />
[19:43]  Ernest Finkler: I was told this is a nice place to work<br />
[19:43]  Arthur Fermi: yes, its a weapons free sandbox<br />
[19:43]  Arthur Fermi: it is, not with nukes<br />
[19:43]  Ernest Finkler: oh dear sir that not a weapon<br />
[19:43]  Arthur Fermi: you rezed nukes<br />
[19:43]  Arthur Fermi: they are weapons<br />
[19:44]  Ernest Finkler: Nukes?<br />
[19:44]  Ernest Finkler: I am a scientist in real life<br />
[19:44]  Arthur Fermi: rockets, call em what you want, they don&#8217;t  belong here<br />
[19:44]  Ernest Finkler: and take offence to the idea of rockets being nukes<br />
[19:44]  Ernest Finkler: I am sorry then for breaking the rules<br />
[19:44]  Ernest Finkler: I did not realize that science was not welcome here<br />
[19:44]  Arthur Fermi: Its ok, if it wasn&#8217;t I would ban you<br />
[19:45]  Arthur Fermi: lol, a rack of rockets is science<br />
[19:45]  Ernest Finkler: Any reccomendations as to a scientifically orientates sandbox/<br />
[19:45]  Arthur Fermi: btw, make sure your rockets don&#8217;t have an object name of nuke<br />
[19:45]  Arthur Fermi: yes, the linden sandboxes<br />
[19:45]  Ernest Finkler: they do not have the name nuke<br />
[19:46]  Ernest Finkler: wll this science experiment is server related<br />
[19:46]  Ernest Finkler: the linden sandboxes are incompatible<br />
[19:46]  Arthur Fermi: lol, so you are goign to see what, if my sandbox crashes? I would prefer we don&#8217;t preform tests on my sim either<br />
[19:47]  Ernest Finkler: well the havok 4s are coming out now<br />
[19:47]  Ernest Finkler: I am running stress tests on the top sandboxes to assertain the rea&#8221;real improvement&#8221;<br />
[19:47]  Ernest Finkler: of the havok 4a<br />
[19:47]  Arthur Fermi: first, you should not screw up someones sim for your test<br />
[19:47]  Arthur Fermi: this isn&#8217;t havok 4 enables<br />
[19:48]  Ernest Finkler: exactly<br />
[19:48]  Arthur Fermi: and tests like that should be done on the beta grid<br />
[19:48]  Ernest Finkler: i am comparing a  existing server to a havok four<br />
[19:48]  Arthur Fermi: so you want to see if you can crash my sim for your test, your a piece of work<br />
[19:48]  Ernest Finkler: to assertain weather it is useful for owners like yourself to switch over<br />
[19:48]  Ernest Finkler: no<br />
[19:48]  Ernest Finkler: my rockets have a kill switch<br />
[19:48]  Ernest Finkler: I stress it for a few seconds<br />
[19:48]  Arthur Fermi: they aren&#8217;t going off here<br />
[19:49]  Ernest Finkler: then kill the test<br />
[19:49]  Arthur Fermi: what gives you the right?<br />
[19:49]  Ernest Finkler: Roght?<br />
[19:49]  Ernest Finkler: Right?<br />
[19:49]  Arthur Fermi: to go screw up peoples sims<br />
[19:49]  Arthur Fermi: for your test<br />
[19:49]  Ernest Finkler: I apologize  you seem to misunderstand<br />
[19:49]  Arthur Fermi: not at all you want to stress test my sim<br />
[19:49]  Ernest Finkler: You are obviously not  as educated as you need to be to discuss this with me.<br />
[19:49]  Arthur Fermi: roflmao<br />
[19:50]  Ernest Finkler: No offense many are not able enough<br />
[19:50]  Arthur Fermi: I&#8217;m sure you are way smarter than I am, go blow up someone elses sandbox<br />
[19:50]  Ernest Finkler: Well i will go<br />
[19:50]  Ernest Finkler: but i would appreciate it if you would not refer to my experiments in terms like<br />
[19:50]  Ernest Finkler: blow up nuke<br />
[19:50]  Ernest Finkler: crash<br />
[19:50]  Ernest Finkler: destroy<br />
[19:51]  Arthur Fermi: yes, well, it sucks for you that I feel that way<br />
[19:51]  Ernest Finkler: they are highl;y slanderous and offensive words in the scientific community<br />
[19:51]  Arthur Fermi: if you can show me a white paper of what you are doing how you are testing, provide a copy of yoru scripts, the method you are using for testing and measuring, and the results of the previous tests I might be more inclined to help you.  But since I&#8217;m not very smart, I wouldn&#8217;t know how to do testing formally<br />
[19:52]  Ernest Finkler: Ok i understand<br />
[19:52]  Ernest Finkler: I would be happy to provide you with documentation<br />
[19:52]  Ernest Finkler: As before i am in no way opffending you<br />
[19:53]  Arthur Fermi: well I&#8217;m not smart enough, surprisingly that is offensive<br />
[19:53]  Ernest Finkler: I am kind of a lab guy and am not too good with word choices at times<br />
[19:53]  Ernest Finkler: I dont deal with non scientists often<br />
[19:53]  Arthur Fermi: lol, yeah, right<br />
[19:53]  Ernest Finkler: Makes me a hit at thanksgiving<br />
[19:53]  Ernest Finkler: <img src='http://fsb.fermiworlds.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
[19:54]  Arthur Fermi: being in SL for 1 day I&#8217;m sure your an expert, btw, why are you using someone elses &#8220;rockets&#8221; for your experiment?<br />
[19:54]  Ernest Finkler: I found this particular rocket<br />
[19:54]  Ernest Finkler: Its open source and i needed an object<br />
[19:54]  Ernest Finkler: also i am an alt<br />
[19:55]  Arthur Fermi: an object is easy to create<br />
[19:55]  Ernest Finkler: i assumed that individuals like yourselves would automatically consider me a greefer<br />
[19:55]  Arthur Fermi: and I do<br />
[19:55]  Ernest Finkler: I did not want to was time with the physics script<br />
[19:55]  Ernest Finkler: As iss your right<br />
[19:55]  Arthur Fermi: who is your normal AV?<br />
[19:55]  Arthur Fermi: and why not use him?<br />
[19:55]  Ernest Finkler: Intelligence comes from not ruling anything out without firm facts<br />
[19:55]  Arthur Fermi: if it were a real experiment, why not contacting owners first<br />
[19:56]  Ernest Finkler: Arthur Fermi: and I do<br />
[19:56]  Ernest Finkler: that statement says it all<br />
[19:56]  Arthur Fermi: you didn&#8217;t contact me first, you jsut rezed your &#8220;rockets&#8221; and on your way<br />
[19:56]  Ernest Finkler: I need the data and there are so amny griefers that i thought that i could  get in do it and leave without anyone knowing the better<br />
[19:57]  Ernest Finkler: Apparently i was wroung<br />
[19:57]  Arthur Fermi: doesn&#8217;t sound very scientific?  are you taking in to account the other objects on teh sim?<br />
[19:57]  Arthur Fermi: the script and prim load?<br />
[19:57]  Arthur Fermi: prim per meter?<br />
[19:57]  Ernest Finkler: well understand that to accurately do this i need to test a few hundred sims<br />
[19:57]  Ernest Finkler: i dont have anough time to play politician<br />
[19:57]  Arthur Fermi: how about the number of active colissions in the sim at the tiem of the test?<br />
[19:57]  Arthur Fermi: lol, why is the world ending soon?<br />
[19:58]  Ernest Finkler: ending<br />
[19:58]  Ernest Finkler: I am quite a busy person<br />
[19:58]  Arthur Fermi: do you know if your script produces physical interactions or is just particles?<br />
[19:58]  Arthur Fermi: oh I&#8217;m sure you are<br />
[19:58]  Ernest Finkler: sl is simply a unit in the googleplex i call my life<br />
[19:59]  Ernest Finkler: It usics physics and particles<br />
[19:59]  Arthur Fermi: but lets get back to the science, if you don&#8217;t kow the prim load, script load, and active colissions, how can you compare from server to server?<br />
[19:59]  Ernest Finkler: to give a good stress test<br />
[19:59]  Arthur Fermi: and havok 4 has no relevnace in particles<br />
[19:59]  Ernest Finkler: thats why i selected the objecvt i did<br />
[19:59]  Arthur Fermi: a nuke<br />
[19:59]  Arthur Fermi: dude your full of shit, I&#8217;m glad my feet are off the ground<br />
[19:59]  Ernest Finkler: It has a full physics script /particles / a physical being<br />
[20:00]  Ernest Finkler: and 100 of them really give a sim a run for its ,money<br />
[20:00]  Ernest Finkler: I do not appreciate profanity sir<br />
[20:00]  Arthur Fermi: yeah, they are nukes<br />
[20:00]  Arthur Fermi: I don&#8217;t give a rats ass what you aprreciate<br />
[20:00]  Ernest Finkler: I have shown nothing but cooperation with you tonight<br />
[20:00]  Arthur Fermi: your no scientist<br />
[20:00]  Arthur Fermi: and I have humored you<br />
[20:00]  Ernest Finkler: well i no longer have time to explain myself<br />
[20:01]  Ernest Finkler: but let me say that  i will no longer be visiting this sim<br />
[20:01]  Arthur Fermi: let me see if I can find a tear &#8230; nope<br />
[20:01]  Ernest Finkler: ok<br />
[20:01]  Ernest Finkler: its people like you the hinder great efforts<br />
[20:02]  Arthur Fermi: lol, great efforts, setting off nukes to &#8220;stress test sims&#8221; when you can&#8217;t compare one sim you set things off to another<br />
[20:02]  Arthur Fermi: you don&#8217;t have any of the relevant sim info<br />
[20:03]  Ernest Finkler: you mean that you did not give it to me<br />
[20:03]  Ernest Finkler: I do have grid data<br />
[20:03]  Ernest Finkler: the public release portion at least the linden gives to university researchers<br />
[20:03]  Ernest Finkler: Thats how i selected thesims that i would visit<br />
[20:04]  Ernest Finkler: I have offered you a write up<br />
[20:04]  Ernest Finkler: but apparently you do not want it<br />
[20:05]  Arthur Fermi: I&#8217;ve seen teh public release and it won&#8217;t tell you anything about the status of the sim at this moment &#8230; so kinda sucks &#8230; any rate, yoru gone, take your nukes elsewhere, I&#8217;m warning my sandbox friends of you<br />
[20:05]  Ernest Finkler: POk i appreciate you destroying my research<br />
[20:05]  Ernest Finkler: I stopped the experiment when you said to<br />
[20:05]  Arthur Fermi: lol, your research<br />
[20:06]  Ernest Finkler: I have been not hostile one bit<br />
[20:06]  Ernest Finkler: I have tried to explain what i am doin<br />
[20:06]  Arthur Fermi: no you didn&#8217;t I sent 2 no wepaons out and you rezed another set<br />
[20:06]  Ernest Finkler: you dont seem to comprehend<br />
[20:06]  Arthur Fermi: why don&#8217;t you just look at the havok engine and it will obvious the difference<br />
[20:06]  Ernest Finkler: some green lettering popped up and said no weapons<br />
[20:06]  Arthur Fermi: I comprehend well, you are clueless<br />
[20:06]  Ernest Finkler: the guy next to me had 3 guns out<br />
[20:06]  Arthur Fermi: and you figured it didn&#8217;t mean anything<br />
[20:06]  Ernest Finkler: green lettering is public<br />
[20:06]  Arthur Fermi: they were on not out<br />
[20:07]  Ernest Finkler: so i assumed him as i did not have a single weapon resed<br />
[20:07]  Arthur Fermi: so are stop signs<br />
[20:07]  Arthur Fermi: you had nukes, they are named nukes<br />
[20:07]  Ernest Finkler: are they really<br />
[20:07]  Ernest Finkler: ?<br />
[20:07]  Arthur Fermi: yes<br />
[20:07]  Ernest Finkler: Hmmmm<br />
[20:07]  Ernest Finkler: I wonder why<br />
[20:07]  Ernest Finkler: ohhhhh<br />
[20:07]  Arthur Fermi: because tehya re nukes<br />
[20:07]  Ernest Finkler: i added the wroung rocket<br />
[20:08]  Ernest Finkler: thank you sir<br />
[20:08]  Ernest Finkler: you actually saved me some time believe it or not<br />
[20:08]  Arthur Fermi: ya ya<br />
[20:08]  Ernest Finkler: I would have hated to get my data with the wroung version<br />
[20:08]  Arthur Fermi: I don&#8217;t even care<br />
[20:08]  Ernest Finkler: ok<br />
[20:08]  Ernest Finkler: well you are to be commended you run a very nice sim here<br />
[20:09]  Ernest Finkler: a bit racy in the content categorey but overall a very nice place to work<br />
[20:09]  Ernest Finkler: I used to come here often<br />
[20:09]  Ernest Finkler: But again i hope that i have not caused and problems<br />
[20:09]  Ernest Finkler: i assure you that it was not my intent<br />
[20:09]  Ernest Finkler: and i wish you a very pleasent evening<br />
[20:09]  Arthur Fermi: thank you, you too<br />
[20:10]  Arthur Fermi: you are welcome here any time, no weapons, no testing</p>
]]></content:encoded>
			<wfw:commentRss>http://fsb.fermiworlds.com/2010/04/back-off-man-im-a-scientis/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How To: Presentation viewer/slide show</title>
		<link>http://fsb.fermiworlds.com/2010/04/how-to-presentation-viewerslide-show/</link>
		<comments>http://fsb.fermiworlds.com/2010/04/how-to-presentation-viewerslide-show/#comments</comments>
		<pubDate>Sat, 10 Apr 2010 02:25:14 +0000</pubDate>
		<dc:creator>Arthur Fermi</dc:creator>
				<category><![CDATA[Arthur Fermi]]></category>
		<category><![CDATA[How To]]></category>
		<category><![CDATA[building]]></category>

		<guid isPermaLink="false">http://fsb.fermiworlds.com/?p=215</guid>
		<description><![CDATA[The /presentation viewer/slide show. Has two modes, Auto and Manual. All settings are controlled through a simple dialog box. All you have to do is delete out the demo images in the viewer, put in your own images, then reset the system.
The slide show will run in alphabetical order, if you want a specific order, <a href="http://fsb.fermiworlds.com/2010/04/how-to-presentation-viewerslide-show/" class="more-link">More &#62;</a>]]></description>
			<content:encoded><![CDATA[<p>The /presentation viewer/slide show. Has two modes, Auto and Manual. All settings are controlled through a simple dialog box. All you have to do is delete out the demo images in the viewer, put in your own images, then reset the system.</p>
<p>The slide show will run in alphabetical order, if you want a specific order, you will name accordingly. I recommend using something like a_PicName to get a sort that you want.</p>
<p>Auto Mode:<br />
Automatically rotates through all images in the viewer. The default for Auto Mode is 5 seconds per slide. You can however, set the time to the following intervals.<br />
2, 3, 5, 10, 15, 20, 30, 45, 60 (in Seconds</p>
<p>You can start, pause and stop the presentation.</p>
<p>Manual Mode:<br />
You control the presentation, you can move forward and backwards through your presentation.</p>
<p>Switching modes:<br />
Auto to Manual: Pause the presentation, then use the back and next normally.</p>
<p>Manual to Auto: Click Auto Start, it will wait the specified time, and then start rotating through the slides.</p>
<p><span id="more-215"></span></p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1">integer intCurTexture; &nbsp; &nbsp; &nbsp;//Current Texture
</div>
</li>
<li class="li1">
<div class="de1">integer intInvNum; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;//Inventory Number
</div>
</li>
<li class="li1">
<div class="de1">integer intRunning; &nbsp; &nbsp; &nbsp; &nbsp; //Script Status (1. Running, 0. Stopped)
</div>
</li>
<li class="li1">
<div class="de1">integer intSlideDur; &nbsp; &nbsp; &nbsp; &nbsp;//Slide Duration
</div>
</li>
<li class="li2">
<div class="de2">integer intDialog; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;//Dialog Channel
</div>
</li>
<li class="li1">
<div class="de1">list &nbsp; &nbsp;lstMenu; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;//Dialog Menu
</div>
</li>
<li class="li1">
<div class="de1">list &nbsp; &nbsp;lstMenuTime; &nbsp; &nbsp; &nbsp; &nbsp;//Dialog Time Menu
</div>
</li>
<li class="li1">
<div class="de1">integer intAutoMan; &nbsp; &nbsp; &nbsp; &nbsp; //Type of Show (1. Auto, 2. Manual)
</div>
</li>
<li class="li1">
<div class="de1">key &nbsp; &nbsp; keyMenuTouch; &nbsp; &nbsp; &nbsp; //Who Touched the menu
</div>
</li>
<li class="li2">
<div class="de2">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">MainMenu()
</div>
</li>
<li class="li1">
<div class="de1">{
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; llDialog(keyMenuTouch, &quot;Auto Start/Pause/Stop: Automatic Slide Show Controls. &nbsp;Use Set Timer to change slide duration.\n Back/Next: Manutal Slidesow controls.\nTo go from Auto to Manual Pause the presentation.&quot;, lstMenu, intDialog);
</div>
</li>
<li class="li1">
<div class="de1">}
</div>
</li>
<li class="li2">
<div class="de2">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">default
</div>
</li>
<li class="li1">
<div class="de1">{
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; state_entry()
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; {
</div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; //Default Slide Duration 5 Seconds
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; intSlideDur=5;
</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; //Dialog Communcations change
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; //Can be set to any whole number
</div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; intDialog=96224;
</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; //Set Main Menu
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; lstMenu =[&quot;Back&quot;,&quot; &quot;,&quot;Next&quot;,&quot;Auto Start&quot;,&quot;Pause&quot;,&quot;Auto Stop&quot;,&quot;Reset&quot;,&quot;Set Timer&quot;,&quot;Help&quot;];
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; //Set Timer Menu
</div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; lstMenuTime=[&quot;30&quot;,&quot;45&quot;,&quot;60&quot;,&quot;10&quot;,&quot;15&quot;,&quot;20&quot;,&quot;2&quot;,&quot;3&quot;,&quot;5&quot;];
</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; llListen(intDialog, &quot;&quot;, llGetOwner(), &quot;&quot;);
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; intInvNum = llGetInventoryNumber(INVENTORY_TEXTURE); &nbsp; &nbsp;//Get # of Textures
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; intInvNum=&#8211;intInvNum; &nbsp;//Lower # of textures by 1
</div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; intCurTexture=0; &nbsp; &nbsp;//Set Current Texture to 0
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; llSetTimerEvent(0); &nbsp; //Stop Show
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; llSay(0,&quot;Presentation Viewer Ready&quot;);
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; llSetText(&quot;~ Offline ~\nTouch to Start&quot;, &lt;1,1,1&gt;, 1);
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; }
</div>
</li>
<li class="li2">
<div class="de2">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; touch_start(integer total_number)
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; {
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; keyMenuTouch = llDetectedKey(0);
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; MainMenu();
</div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; }
</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; listen(integer channel, string name, key id, string message)
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; {
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; if (message==&quot;Reset&quot;)
</div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; {
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; llSay(0, &quot;Reseting Script&quot;);
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; llResetScript();
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; }
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; else if(message==&quot;Help&quot;)
</div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; {
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; llGiveInventory(keyMenuTouch, &quot;_Presentation Viewer Help&quot;);
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; }
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; else if(message==&quot;Auto Start&quot;)
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; {
</div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; llSetTimerEvent(intSlideDur); // Set Slide Duration
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; llSay(0,&quot;Auto slide show started&quot;);
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; }
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; else if (message==&quot;Pause&quot;)
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; {
</div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; llSetTimerEvent(0); //0 means that the timer is off
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; llSay(0,&quot;Auto slide show paused&quot;);
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; MainMenu();
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; }
</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; else if (message==&quot;Auto Stop&quot;)
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; {
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; intCurTexture = 0;
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; llSetTimerEvent(0); //0 means that the timer is off
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; llSetTexture(&quot;20e9a242-9df2-fa6b-8b9d-d5b728fdf922&quot;,3);
</div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; llSetText(&quot;Fermi Designs Presentation Viewer&quot;, &lt;1,1,1&gt;, 1);
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; llSay(0,&quot;Auto slide show stopped&quot;);
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; }
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; else if (message==&quot;Back&quot;)
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; {
</div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if (intCurTexture == 0)
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; {
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //Do Nothing
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; else
</div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; {
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &#8211;intCurTexture;
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if (intCurTexture &lt; 0);
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; {
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; intCurTexture = 0;
</div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; llSetTexture(llGetInventoryName(INVENTORY_TEXTURE, intCurTexture),3);
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; llSetText(llGetInventoryName(INVENTORY_TEXTURE, intCurTexture), &lt;1,1,1&gt;, 1);
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; MainMenu();
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }
</div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; }
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; else if (message==&quot;Next&quot;)
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; {
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if (intCurTexture == intInvNum)
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; {
</div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; // Do Nothing
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; MainMenu();
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; else
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; {
</div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; llSetTexture(llGetInventoryName(INVENTORY_TEXTURE, intCurTexture),3);
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; llSetText(llGetInventoryName(INVENTORY_TEXTURE, intCurTexture), &lt;1,1,1&gt;, 1);
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ++intCurTexture;
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; MainMenu();
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }
</div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; }
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; else if (message==&quot;Auto&quot;)
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; {
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; llSay(0, &quot;Reseting Script&quot;);
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; llResetScript();
</div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; }
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; else if (message==&quot;Manual&quot;)
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; {
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; llSay(0, &quot;Reseting Script&quot;);
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; llResetScript();
</div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; }
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; else if (message==&quot;Set Timer&quot;)
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; {
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; llDialog(id, &quot;Please select the amount of time you would like between slides.\n\nAll times are in seconds&quot;, lstMenuTime, intDialog);
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; }
</div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; // Timer Settings
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; else if (message==&quot;2&quot;)
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; {
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; intSlideDur=2;
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; llWhisper(0, &quot;Slide Duration is now &quot; + (string)intSlideDur + &quot; seconds.&quot;);
</div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; }
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; else if (message==&quot;3&quot;)
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; {
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; intSlideDur=3;
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; llWhisper(0, &quot;Slide Duration is now &quot; + (string)intSlideDur + &quot; seconds.&quot;);
</div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; }
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; else if (message==&quot;5&quot;)
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; {
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; intSlideDur=5;
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; llWhisper(0, &quot;Slide Duration is now &quot; + (string)intSlideDur + &quot; seconds.&quot;);
</div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; }
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; else if (message==&quot;10&quot;)
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; {
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; intSlideDur=10;
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; llWhisper(0, &quot;Slide Duration is now &quot; + (string)intSlideDur + &quot; seconds.&quot;);
</div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; }
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; else if (message==&quot;15&quot;)
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; {
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; intSlideDur=15;
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; llWhisper(0, &quot;Slide Duration is now &quot; + (string)intSlideDur + &quot; seconds.&quot;);
</div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; }
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; else if (message==&quot;20&quot;)
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; {
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; intSlideDur=20;
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; llWhisper(0, &quot;Slide Duration is now &quot; + (string)intSlideDur + &quot; seconds.&quot;);
</div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; }
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; else if (message==&quot;30&quot;)
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; {
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; intSlideDur=30;
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; llWhisper(0, &quot;Slide Duration is now &quot; + (string)intSlideDur + &quot; seconds.&quot;);
</div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; }
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; else if (message==&quot;45&quot;)
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; {
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; intSlideDur=45;
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; llWhisper(0, &quot;Slide Duration is now &quot; + (string)intSlideDur + &quot; seconds.&quot;);
</div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; }
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; else if (message==&quot;60&quot;)
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; {
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; intSlideDur=60;
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; llWhisper(0, &quot;Slide Duration is now &quot; + (string)intSlideDur + &quot; seconds.&quot;);
</div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; }
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; }
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; timer()
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; {
</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; llSetTexture(llGetInventoryName(INVENTORY_TEXTURE, intCurTexture),3);
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; llSetText(llGetInventoryName(INVENTORY_TEXTURE, intCurTexture), &lt;1,1,1&gt;, 1);
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ++intCurTexture;
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if (intCurTexture==intInvNum)
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; intCurTexture=0;
</div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; }
</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">}</div>
</li>
</ol>
</div>
]]></content:encoded>
			<wfw:commentRss>http://fsb.fermiworlds.com/2010/04/how-to-presentation-viewerslide-show/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to: Make an Online/Offline Indicator</title>
		<link>http://fsb.fermiworlds.com/2010/03/how-to-make-an-onlineoffline-indicator/</link>
		<comments>http://fsb.fermiworlds.com/2010/03/how-to-make-an-onlineoffline-indicator/#comments</comments>
		<pubDate>Sat, 06 Mar 2010 01:13:25 +0000</pubDate>
		<dc:creator>Arthur Fermi</dc:creator>
				<category><![CDATA[Arthur Fermi]]></category>
		<category><![CDATA[How To]]></category>
		<category><![CDATA[script]]></category>

		<guid isPermaLink="false">http://fsb.fermiworlds.com/?p=205</guid>
		<description><![CDATA[Learn how to script an online/offline indicator that accepts inventory from people.  The information about the different commands is embedded directly in the code.
This begining level scrip will cover some basics of the following commands

llSetTimerEvent
llAllowInventoryDrop
llListen
llOwnerSay
llResetScript
llRequestAgentData
llGetOwner
llKey2Name
llSetText
llSetColor

and the following event handlers

listen
timer
on_rez
dataserver

Information will primarly pertain to the specifics needed for this event.




default



{



&#160;


&#160; &#160; // State Entry is what happens when <a href="http://fsb.fermiworlds.com/2010/03/how-to-make-an-onlineoffline-indicator/" class="more-link">More &#62;</a>]]></description>
			<content:encoded><![CDATA[<p>Learn how to script an online/offline indicator that accepts inventory from people.  The information about the different commands is embedded directly in the code.</p>
<p>This begining level scrip will cover some basics of the following commands</p>
<ul>
<li>llSetTimerEvent</li>
<li>llAllowInventoryDrop</li>
<li>llListen</li>
<li>llOwnerSay</li>
<li>llResetScript</li>
<li>llRequestAgentData</li>
<li>llGetOwner</li>
<li>llKey2Name</li>
<li>llSetText</li>
<li>llSetColor</li>
</ul>
<p>and the following event handlers</p>
<ul>
<li>listen</li>
<li>timer</li>
<li>on_rez</li>
<li>dataserver</li>
</ul>
<p>Information will primarly pertain to the specifics needed for this event.</p>
<p><span id="more-205"></span></p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1">default
</div>
</li>
<li class="li1">
<div class="de1">{
</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; // State Entry is what happens when a script starts up
</div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; state_entry()
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; {
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; // llSetTimerEvent(float sec)
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; // Sets the timer event to be triggered every sec seconds. Passing 0.0 (or just 0) stops further timer events.
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; // Set a timed event to see if you are online every 5 seconds
</div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; llSetTimerEvent(5);
</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; //llAllowInventoryDrop(integer add)
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; // If add is true, all users, even those who do not have modify permissions, can drop inventory items onto the object. If add is false the system forbids all users except those with modify permissions from dropping items onto the object.
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; // Let people drop inventory in. &nbsp;This will not allow scripts to be dropped in
</div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; llAllowInventoryDrop(TRUE);
</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; //llListen(integer channel, string name, key id, string msg)
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; // Sets a filter for listening to the specified chat channel while the current state persists. If a message is heard that meets the specified criteria, the object&#8217;s listen() event handler is invoked.
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; // Setup a listen so you can force a reset. &nbsp;Listen to channel 91, and only for the owner saying Reset
</div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; llListen(91, &quot;&quot;, llGetOwner(), &quot;Reset&quot;);
</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; // llOwnerSay(string message)
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; // Says message to only the owner of the object running the script if the owner has been within the object&#8217;s simulator since logging into Second Life, regardless of where they may be in-world
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; // Let the owner know it is ready and working
</div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; llOwnerSay(&quot;Ready!&quot;);
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; }
</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; // listen(integer channel, string name, key id, string message)
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; // The listen() event handler is invoked whenever a chat message matching the constraints passed in the llListen function is heard. The channel the chat was picked up on, the name and id of the speaker and the message are passed.
</div>
</li>
<li class="li2">
<div class="de2">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; listen( integer channel, string name, key id, string message )
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; {
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; // Tell the owner know its reseting
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; llOwnerSay(&quot;Reseting &#8230; &#8230; &#8230;&quot;);
</div>
</li>
<li class="li2">
<div class="de2">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; // llResetScript()
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; // All variables are reset to their default values. All pending events are cleared. The default state &nbsp; becomes active and its state_entry is triggered. This is the same function as clicking &quot;reset&quot; in the script editor.
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; // Reset the script
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; llResetScript();
</div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; }
</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; // timer()
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; // The timer event is raised at regular time intervals set by the llSetTimerEvent function (you only need to call this function once).
</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; timer()
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; {
</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; // llRequestAgentData(key id, integer data)
</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; // This function requests information of type data (see constants below) about agent id. The information is returned via the dataserver event. The key returned by this function is the query id for the dataserver event.
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; // Get the owners Key
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; // and find out their online status
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; llRequestAgentData(llGetOwner(), DATA_ONLINE);
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; }
</div>
</li>
<li class="li2">
<div class="de2">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; // Triggered in an object whenever it is rezzed from inventory or by another object, or in an attachment when its owner logs in while wearing it, or attaches it from inventory. on_rez is not triggered when an object is rezzed after a teleport.
</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; on_rez(integer start_param)
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; {
</div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; // Reset the script
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; llResetScript();
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; }
</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; //This event handler is triggered when the requested data is returned to the script. Data may be requested using the llGetNotecardLine, llGetNumberOfNotecardLines, llRequestAgentData, llRequestInventoryData, and llRequestSimulatorData functions
</div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; dataserver(key queryid, string data)
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; {
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; // If the result is 1, then you are online, 0 is offline
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; if ((integer)data == 1)
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; {
</div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; // llSetText(string text, vector color, float alpha)
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; // The Text displayed over the object. (Length Limit: 254 characters)
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; // Set the hover text
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; llSetText(llKey2Name(llGetOwner()) + &quot; is online\n \nYou can drop notecards or other inventory for me to get later&quot;,&lt;0,1,0&gt;, 1);
</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; // llSetColor(vector color, integer face)
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; // Sets the color of face. If face is ALL_SIDES, sets the color on all faces.
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; // Set the Prim Color
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; llSetColor(&lt;0,1,0&gt;, ALL_SIDES);
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; }
</div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; else if ((integer)data == 0)
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; {
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; // Set the hover text
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; llSetText(llKey2Name(llGetOwner()) + &quot; is offline\n \nYou can drop notecards or other inventory for me to get later&quot;, &lt;1,0,0&gt;, 1);
</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; // Set Prim Color
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; llSetColor(&lt;1,0,0&gt;, ALL_SIDES);
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; }
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; }
</div>
</li>
<li class="li1">
<div class="de1">}</div>
</li>
</ol>
</div>
]]></content:encoded>
			<wfw:commentRss>http://fsb.fermiworlds.com/2010/03/how-to-make-an-onlineoffline-indicator/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How To: Build a 3 prim couch</title>
		<link>http://fsb.fermiworlds.com/2010/01/how-to-build-a-3-prim-couch/</link>
		<comments>http://fsb.fermiworlds.com/2010/01/how-to-build-a-3-prim-couch/#comments</comments>
		<pubDate>Sun, 03 Jan 2010 00:50:24 +0000</pubDate>
		<dc:creator>Arthur Fermi</dc:creator>
				<category><![CDATA[How To]]></category>
		<category><![CDATA[building]]></category>

		<guid isPermaLink="false">http://fsb.fermiworlds.com/?p=197</guid>
		<description><![CDATA[We will be making a couch like the one in the photo.  It uses only 2 different shapes, the Cylinder and the Torus.  If you have any problems please contact Arthur Fermi.
Lets get started!
1. Click on your build button
2. Select Cylinder (5th on Top Row)
3. Click on the ground
4. Click on the objet tab (You <a href="http://fsb.fermiworlds.com/2010/01/how-to-build-a-3-prim-couch/" class="more-link">More &#62;</a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://fsb.fermiworlds.com/wp-content/uploads/2010/01/Build3PrimCouchWeb.png"><img class="alignright size-medium wp-image-198" title="Build3PrimCouchWeb" src="http://fsb.fermiworlds.com/wp-content/uploads/2010/01/Build3PrimCouchWeb-534x300.png" alt="" width="534" height="300" /></a>We will be making a couch like the one in the photo.  It uses only 2 different shapes, the Cylinder and the Torus.  If you have any problems please contact Arthur Fermi.</p>
<p>Lets get started!</p>
<p>1. Click on your build button</p>
<p>2. Select Cylinder (5th on Top Row)</p>
<p>3. Click on the ground</p>
<p>4. Click on the objet tab (You may need to click the More&gt;&gt; button to show the object information.</p>
<p>5. Under Position Set<br />
x = Nearest Whole Number (example 140.000)<br />
y = Nearest Whole NUmber<br />
z = 23.000</p>
<p>6. Set Size to<br />
X = 5.000<br />
Y = 5.000<br />
Z = 0.250</p>
<p><span id="more-197"></span></p>
<p>Next we are going to cut our prim in 1/2 to make a 1/2 circle<br />
7. We need to set our Path Cut Begining and End<br />
B = 0.26<br />
E = 0.74</p>
<p>Now to hollow out our base<br />
8.  Set Hollow = 75.0</p>
<p>9. We will shift duplicate this prim up to set our seating.  To shift copy make sure you prim is selected and position is selected in your build menu.<br />
Click on the blue arrow, and press the Shift key on your keyboard, while holding the key, drag your arrow up, and you will see another prim pop up</p>
<p>First we are going to set the size and hollow for our seat<br />
10.  Set size to<br />
X = 5.250<br />
Y = 5.250<br />
Z = 0.500<br />
Hollow = 65.0</p>
<p>11. Set Path Cut Begining and End<br />
B = 0.252<br />
E = 0.748</p>
<p>Now lets move it down on top of the base<br />
12. Set Position to<br />
Z = 23.375</p>
<p>13. Shift Copy your seat up above your build</p>
<p>14, With your new prim selected under Building Block Type<br />
Click the pull down<br />
Select Torus</p>
<p>Yeah, its going to look real odd, thats ok, we will fix it quikly <img src='http://fsb.fermiworlds.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>We have a number of steps to get the back correctly in place, but don&#8217;t worry if it looks wrong, it will get there</p>
<p>15. Set size to<br />
X = 1.000<br />
Y = 5.500<br />
Z = 5.500</p>
<p>16. Now to the rotation<br />
X = 0.00<br />
Y = 90.00<br />
Z = 180.00</p>
<p>17. Path Cut Begining and End are set to<br />
B = 0.50<br />
E = 1.00</p>
<p>18. Set the Hollow = 0.0</p>
<p>19. Down a bit father you wil see hole size<br />
X = 1.00<br />
Y = 0.05</p>
<p>20. Almost there!  One last step for Positioning, set the Position to<br />
Z = 23.625</p>
<p>One last step and then we texture!</p>
<p>21. Link up your couch<br />
Click on the back of your couch<br />
While pressing Shift, click on the seat, and then the base<br />
All 3 items will now be selected<br />
Press Ctrl &#8211; L</p>
]]></content:encoded>
			<wfw:commentRss>http://fsb.fermiworlds.com/2010/01/how-to-build-a-3-prim-couch/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Give items in world from a web page!</title>
		<link>http://fsb.fermiworlds.com/2009/12/give-items-in-world-from-a-web-page/</link>
		<comments>http://fsb.fermiworlds.com/2009/12/give-items-in-world-from-a-web-page/#comments</comments>
		<pubDate>Tue, 08 Dec 2009 01:45:53 +0000</pubDate>
		<dc:creator>Arthur Fermi</dc:creator>
				<category><![CDATA[Arthur Fermi]]></category>
		<category><![CDATA[freebie]]></category>
		<category><![CDATA[script]]></category>

		<guid isPermaLink="false">http://fsb.fermiworlds.com/?p=110</guid>
		<description><![CDATA[With SLX now charging for freebies (d-bags) I was thinking it would be nice to give items right from the web.  The first problem was many web pages limit the code you can put in to a page.  Next issue was keeping it simple so anyone can use it, and this is what I came <a href="http://fsb.fermiworlds.com/2009/12/give-items-in-world-from-a-web-page/" class="more-link">More &#62;</a>]]></description>
			<content:encoded><![CDATA[<p>With SLX now charging for freebies (d-bags) I was thinking it would be nice to give items right from the web.  The first problem was many web pages limit the code you can put in to a page.  Next issue was keeping it simple so anyone can use it, and this is what I came up with the Web Freebie Giver.  This is licensed under <a title="GPLv3" href="http://www.gnu.org/licenses/gpl-3.0.html" target="_blank">GPLv3</a>, please click the link for the details, but basically you are free to use it as you wish, any changes need to be given back to the project.  The code is available at <a title="Google Code" href="http://code.google.com/p/slwebfreebiegiver/" target="_blank">google code</a>, or in world at <a href="http://slurl.com/secondlife/Fermi/128/76/23/">Fermi Sandbox</a>.  If you wish to contribute to this project please contact Arthur Fermi.<span id="more-110"></span></p>
<p><strong>WebFreebie Server (In-world)</strong></p>
<p>Now on to how it works. First up is the in-world component as this is needed with the form or email methods.  I&#8217;m assuming you are have the packed set and have unpacked it.   Rez the server and open up the zFD_SLWF script, and it will say to the owner only the email address.  You can edit the script and put in your email address and it will email that same information it told you to the email address touching the prim will give the information again.  The server in world checks its email every 5 seconds based on my observations its about 0.002ms of script time, so it is as close to lag free as you can get.  After that you just need to drop in the objects you want to give.  It <span style="text-decoration: underline;">will not</span> give scripts directly, you should package those up, and honestly your best bet is to package everything.  You will then need to make note of the exact name of each object in the server that you are giving out, you will need this for the form and the email link.<br />
<strong>PHP Script used for the form (on the web server)</strong></p>
<p>Now for the almost complicated part <img src='http://fsb.fermiworlds.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />   We will discuss the form giver first as there are a few steps.   The form calls the calls a PHP script which is on your web site.  I would recommend putting the full URL to the script in the form since you might not know where your form is going to be on the web site.  The neat part of this is there is very little to configure in the PHP script and once it is configured it will work for any item you have in the server.</p>
<p>Enter the email address your server gives you on the recipient line, you can touch the server to get the email address.<br />
$recipient = &#8220;7e8a8456-c866-8c83-7dc8-f236785f18c2@lsl.secondlife.com&#8221;;</p>
<p>You don&#8217;t have to set headers but I recommend it, I included it as some web hosts don&#8217;t allow email to be sent with out header information.  The information is not used for anything on the SL side.<br />
$headers = &#8216;From: myemail@mydomain.com&#8217; . &#8220;\r\n&#8221; .<br />
&#8216;Reply-To: myemail@mydomain.com&#8217; . &#8220;\r\n&#8221; .<br />
&#8216;X-Mailer: PHP/&#8217; . phpversion();</p>
<p>The PHP file will display a simple page, the HTML code is just below the PHP script.  It will display a screen saying the item was sent to the avatar name.</p>
<p><strong>Form based deliver</strong></p>
<p>This is an example of the form you would put on a web page, or in a post.  It will work pretty much anywhere so long as the page allows aHTML and forms.  Works fine in word press, and should work in most web software.</p>
<table border="0">
<tbody>
<tr valign="top">
<td width="100%">
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1">&lt;table border=&quot;0&quot; style=&quot;width: 250px;&quot;&gt;
</div>
</li>
<li class="li1">
<div class="de1">&lt;tr valign=&quot;top&quot;&gt;
</div>
</li>
<li class="li1">
<div class="de1">&lt;td&gt;&lt;strong&gt;Fermi Vendor &#8211; 1 Item&lt;/strong&gt;&lt;/td&gt;
</div>
</li>
<li class="li1">
<div class="de1">&lt;/tr&gt;
</div>
</li>
<li class="li2">
<div class="de2">&lt;tr valign=&quot;top&quot;&gt;
</div>
</li>
<li class="li1">
<div class="de1">&lt;td&gt;
</div>
</li>
<li class="li1">
<div class="de1">&lt;form action=&quot;webfreebie.php&quot; method=&quot;post&quot;&gt;Avatar Name: &lt;input maxlength=&quot;50&quot; name=&quot;avatar&quot; size=&quot;20&quot; /&gt;
</div>
</li>
<li class="li1">
<div class="de1">&lt;input name=&quot;objname&quot; type=&quot;hidden&quot; value=&quot;Fermi Vendor &#8211; 1 Item&quot; /&gt;
</div>
</li>
<li class="li1">
<div class="de1">&lt;input name=&quot;deliver&quot; type=&quot;submit&quot; value=&quot;Deliver&quot; /&gt; &lt;/form&gt;&lt;/td&gt;
</div>
</li>
<li class="li2">
<div class="de2">&lt;/tr&gt;
</div>
</li>
<li class="li1">
<div class="de1">&lt;/table&gt;</div>
</li>
</ol>
</div>
</td>
<td valign="top">
<div style="width: 250px;">
<table border="0">
<tbody>
<tr valign="top">
<td><strong>Fermi Vendor &#8211; 1 Item</strong></td>
</tr>
<tr valign="top">
<td>
<form action="http://fsb.fermiworlds.com/webfreebie.php" method="post">Avatar Name:</p>
<input maxlength="50" name="avatar" size="20" />
<input name="objname" type="hidden" value="Fermi Vendor - 1 Item" />
<input name="deliver" type="submit" value="Deliver" /> </form>
</td>
</tr>
</tbody>
</table>
</div>
<ul>
<li>Line 5 is where you give a descriptive name, it doesn&#8217;t do anything its just the title</li>
<li>Line 9 is the path to your webfreebie.php file, I recommend the full path to it for reliability</li>
<li>Line 11 is the name of the object to be delivers, it must be an exact match, including case.</li>
</ul>
<p>That is all of the configuration of the form box that is required.  I did not do any formating other than having the table to set things up, and bolding the title.  You can easily make changes to this to match your web site.  In the case of this site, it just used the styles already configured.</td>
</tr>
</tbody>
</table>
<p><strong>Give Via Email</strong></p>
<p>This is the easiest way to do it, but I suspect it will prove more problematic from a support point of view.  All it does is pop up a new email using the mailto: command that is part of HTML. When the new message email pops up it will fill in the email address and subject line and the person will type their name in the body and click send.  I know sounds so easy, what is the catch?  Well there are two different problems with this.</p>
<ol>
<li>The person uses web mail (yahoo, msn, gmail) and it opens outlook express, outlook or some other mail client which isn&#8217;t setup for email.  Now yahoo and msn (now live mail)  have apps that run and make this work ok, not sure about google.  They would then have to copy the email address and subject to their web mail, then put their name in the body and away it goes.</li>
<li>If they have any additional information in the body of the email, signature, some background formating, it will fail to parse the name.  This could probably be fixed in the LSL code, but I&#8217;ll leave that for others.</li>
</ol>
<p>Click for a <a href="mailto:7e8a8456-c866-8c83-7dc8-f236785f18c2@lsl.secondlife.com?subject=Fermi Vendor - 1 Item">Fermi Vendor &#8211; 1 Item</a>.  In the email body type in your avatars name. If you have web based email (yahoo, gmail, hotmail, etc.) this might open outlook express or outlook.</p>
<p>The code for the link looks like this &lt;a href=&#8221;mailto:7e8a8456-c866-8c83-7dc8-f236785f18c2@lsl.secondlife.com?subject=Fermi Vendor &#8211; 1 Item&#8221;&gt;Fermi Vendor &#8211; 1 Item&lt;/a&gt;</p>
<p>To make this work all you have to do is change the mailto: to the email address of you server, then the subject to the name of the item you are giving, like before it has to match the object name in the box.  Thats all there is to it, the rest is up to the person making the request.</p>
<p><strong>Final Comments</strong><br />
I am sure there is ton&#8217;s more that could be done to make this better, but the goal was very simple, to provide a free and simple way to give an item in world from a web page.  If you have any questions please address them in the forums where I have created a topic just for this, the google code page, or contact me in world!</p>
]]></content:encoded>
			<wfw:commentRss>http://fsb.fermiworlds.com/2009/12/give-items-in-world-from-a-web-page/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fermi Single Item Vendor Code</title>
		<link>http://fsb.fermiworlds.com/2009/12/fermi-single-item-vendor-code/</link>
		<comments>http://fsb.fermiworlds.com/2009/12/fermi-single-item-vendor-code/#comments</comments>
		<pubDate>Mon, 07 Dec 2009 21:51:02 +0000</pubDate>
		<dc:creator>Arthur Fermi</dc:creator>
				<category><![CDATA[Arthur Fermi]]></category>
		<category><![CDATA[Fermi Designs]]></category>
		<category><![CDATA[freebie]]></category>
		<category><![CDATA[script]]></category>

		<guid isPermaLink="false">http://fsb.fermiworlds.com/?p=98</guid>
		<description><![CDATA[This is the code for the single item vendor its very old, probably could use some help but I&#8217;m sure someone can use it.  All that is needed to make this functional is to copy the script, rez a prim, create a new script in the prim, delete everything out of the script and <a href="http://fsb.fermiworlds.com/2009/12/fermi-single-item-vendor-code/" class="more-link">More &#62;</a>]]></description>
			<content:encoded><![CDATA[<p>This is the code for the single item vendor its very old, probably could use some help but I&#8217;m sure someone can use it.  All that is needed to make this functional is to copy the script, rez a prim, create a new script in the prim, delete everything out of the script and paste this in.</p>
<pre class="">// Global Variables
string  gstrDisplay;        // Name of the Item to be Sold
string  gstrNotecard;       // Notecard to give out
integer gintPrice;          // Price of Item
list    glstSplitWith;      // Key of the person who you are spliting the sale with
list    glstPictures;       // Texture you want on the box
string  gstrFloatYes;
vector  vecFloatColor;      // Color for floating text
string  gstrThankYou;       // Thank you message
key     gstrQueryID;        // DataServer Query Info
integer gstrLine;           // DataServer Line Number to get
integer intNumPics;         // Number of pictures
integer gintNoteLine;       // Notecard Line #
integer gintCurPic;         // Current Picture
integer gintDCC;                // Dialog Comm Channel
//Get Inventory
funGetImages()
{
    intNumPics=llGetInventoryNumber(0);
    //Setup a loop
    integer x = 0;
    // Get Inventory and add it to the list
    for (x; x < intNumPics; ++x)
    {
        glstPictures += [llGetInventoryName(0, x)];
    }
}
funStartup()
{
    // Get Images
    funGetImages();
    //Get Configuration Info
    gstrNotecard = "_Item Config";
    gstrQueryID = llGetNotecardLine(gstrNotecard, gintNoteLine);
    // Set Pay Amounts
    llSetPayPrice(PAY_HIDE, [gintPrice, PAY_HIDE, PAY_HIDE, PAY_HIDE]);
    // Set Offline Text
    llSetText("~ Offline ~", <1,0,0>, 1);
}
funOnOff(integer status)
{
    if (status == 0)
    {
        // Off
        llResetScript();
    }
    else if (status == 1)
    {
        // Get Permissions
        llRequestPermissions(llGetOwner(),PERMISSION_DEBIT);
        // Set Pay Amounts
        llSetPayPrice(PAY_HIDE, [gintPrice, PAY_HIDE, PAY_HIDE, PAY_HIDE]);
        // Set First Picture
        llSetTexture(llList2String(glstPictures,0), 1);
        gintCurPic = 0;
        // Set Description
        llSetObjectDesc("Fermi Designs - " + gstrDisplay + " - Price: " + (string)gintPrice + "L - Right Click to Pay");
        if (gstrFloatYes == "Yes")
        {
           llSetText("Fermi Designs\n" + gstrDisplay + "\nPrice: " + (string)gintPrice + "L\n Right Click to Pay", vecFloatColor,1);
        }
        else
        {
            llSetText("", <1,1,1>, 1);
        }
    }
}
funPaySplits(integer amount)
{
    integer intNumSplits = llGetListLength(glstSplitWith);
    string  strTempData;
    key     keyPay;
    integer intPayAmount;
    float   fltPayPercent;
    integer x = 0;
    llOwnerSay((string)glstSplitWith);
    if (intNumSplits == 0)
    {
        // do nothing, no splits
        llOwnerSay("No Splits");
    }
    else
    {
        for (x; x < intNumSplits; ++x)
        {
            // Clear values
            keyPay = "";
            strTempData = "";
            intPayAmount = 0;
            //Get Split person pay
            strTempData = llList2String(glstSplitWith, x);
            //Parse Data
            //Get Key
            keyPay = llGetSubString(strTempData, 0, 35);
            // Get Percentage
            fltPayPercent = (float)llGetSubString(strTempData, llSubStringIndex(strTempData, "(") + 1,llSubStringIndex(strTempData, "%") - 1) / 100;
            // Set Amount
            intPayAmount = llCeil(amount * fltPayPercent);
            // Pay the split
            llGiveMoney(keyPay, intPayAmount);
            //llOwnerSay("\nKey: " + (string)keyPay + "\nPrecent: " + (string)fltPayPercent + "\nPayAmount: " + (string)intPayAmount);
        }
    }
}
default
{
    state_entry()
    {
        // Set Random dialog channel
        gintDCC = llCeil(llFrand(10000.0));
        llListen(gintDCC, "", llGetOwner(), "");
        funStartup();
        llSay(0, "Hello, Avatar!");
    }
    touch_start(integer total_number)
    {
        list lstMenu = ["LastPic", "Info", "NextPic","On","Off","Reset"];
            if(llDetectedKey(0) == llGetOwner())
            {
                llDialog(llDetectedKey(0), "Please select your option", lstMenu, gintDCC);
            }
            else
            {
                llDialog(llDetectedKey(0), "Please select your option", ["LastPic", "Info", "NextPic"], gintDCC);
            }
    }
    listen( integer channel, string name, key id, string message )
    {
        if (message == "NextPic")
        {
            if (gintCurPic + 1 > intNumPics)
            {
                gintCurPic = 0;
            }
            else
            {
                gintCurPic ++;
            }
                llSetTexture(llList2String(glstPictures, gintCurPic), 1);
                llDialog(id, "Please select your option", ["LastPic", "Info", "NextPic"], gintDCC);
        }
        else if(message == "LastPic")
        {
            if (gintCurPic == 0)
            {
                gintCurPic = intNumPics;
            }
            else
            {
                gintCurPic --;
            }
                llSetTexture(llList2String(glstPictures, gintCurPic), 1);
                llDialog(id, "Please select your option", ["LastPic", "Info", "NextPic"], gintDCC);
        }
        else if(message == "Info")
        {
            llGiveInventory(id, llGetInventoryName(INVENTORY_NOTECARD, 1));
            llDialog(id, "Please select your option", ["LastPic", "Info", "NextPic"], gintDCC);
        }
        else if (message == "On")
        {
            funOnOff(1);
        }
        else if (message == "Off")
        {
            funOnOff(0);
        }
        else if (message == "Reset")
        {
            llResetScript();
        }
    }
    dataserver(key query_id, string data)
    {
        if (query_id == gstrQueryID)
        {
            if (data != EOF)
            {
                if (gintNoteLine == 11)
                {
                    gstrDisplay = data;
                }
                if (gintNoteLine == 14)
                {
                    gintPrice = (integer)data;
                }
                if (gintNoteLine == 17)
                {
                    gstrFloatYes = data;
                }
                if (gintNoteLine == 20)
                {
                    vecFloatColor = (vector)data;
                }
                if (gintNoteLine == 23)
                {
                    gstrThankYou = data;
                }
                if (gintNoteLine > 38)
                {  
                        glstSplitWith += [data];
                }
            }
            ++gintNoteLine;
            gstrQueryID = llGetNotecardLine(gstrNotecard, gintNoteLine);
        }
    }
    money(key giver, integer amount)
    {
        if (amount == gintPrice)
        {
            llGiveInventory(giver,llGetInventoryName(INVENTORY_OBJECT, 0));
            funPaySplits(amount);
        }
        else
        {
            llGiveMoney(giver,amount);
            llWhisper(0, "I'm sorry, that was in the incorrect amount.  This item sells for " + (string)gintPrice + "L.");
        }
    }
    on_rez(integer start_param)
    {
        llResetScript();
    }
}</pre>
]]></content:encoded>
			<wfw:commentRss>http://fsb.fermiworlds.com/2009/12/fermi-single-item-vendor-code/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google Wave Invite!</title>
		<link>http://fsb.fermiworlds.com/2009/12/google-wave-invite/</link>
		<comments>http://fsb.fermiworlds.com/2009/12/google-wave-invite/#comments</comments>
		<pubDate>Fri, 04 Dec 2009 03:24:52 +0000</pubDate>
		<dc:creator>Arthur Fermi</dc:creator>
				<category><![CDATA[Arthur Fermi]]></category>
		<category><![CDATA[Notices]]></category>
		<category><![CDATA[Website]]></category>

		<guid isPermaLink="false">http://fsb.fermiworlds.com/?p=87</guid>
		<description><![CDATA[We have 8 google wave invites that we will give out on the 24th of December to 8 lucky people who register on the web site! 
About Google Wave
Google Wave is an online tool for real-time communication and collaboration. A wave can be both a conversation
and a document where people can discuss and work together using <a href="http://fsb.fermiworlds.com/2009/12/google-wave-invite/" class="more-link">More &#62;</a>]]></description>
			<content:encoded><![CDATA[<p>We have 8 google wave invites that we will give out on the 24th of December to 8 lucky people who register on the web site! </p>
<h2 style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; BORDER-TOP: medium none; BORDER-RIGHT: medium none">About Google Wave</h2>
<p>Google Wave is an online tool for real-time communication and collaboration. A wave can be both a conversation<br />
and a document where people can discuss and work together using richly formatted text, photos, videos, maps, and more.</p>
<h2 style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; BORDER-TOP: medium none; BORDER-RIGHT: medium none">What is a wave?</h2>
<p><strong>A wave is equal parts conversation and document. </strong>People can communicate and work together with richly formatted text, photos, videos, maps, and more.</p>
<p><strong>A wave is shared.</strong> Any participant can reply anywhere in the message, edit the content and add participants at any point in the process. Then playback lets anyone rewind the wave to see who said what and when.</p>
<p><strong>A wave is live.</strong> With live transmission as you type, participants on a wave can have faster conversations, see edits and interact with extensions in real-time.</p>
]]></content:encoded>
			<wfw:commentRss>http://fsb.fermiworlds.com/2009/12/google-wave-invite/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Welcome to the new webiste</title>
		<link>http://fsb.fermiworlds.com/2009/12/welcome-to-the-new-website/</link>
		<comments>http://fsb.fermiworlds.com/2009/12/welcome-to-the-new-website/#comments</comments>
		<pubDate>Thu, 03 Dec 2009 21:00:54 +0000</pubDate>
		<dc:creator>Arthur Fermi</dc:creator>
				<category><![CDATA[Arthur Fermi]]></category>
		<category><![CDATA[Notices]]></category>
		<category><![CDATA[fermi sandbox]]></category>
		<category><![CDATA[Sandbox]]></category>
		<category><![CDATA[Website]]></category>

		<guid isPermaLink="false">http://fsb.fermiworlds.com/?p=6</guid>
		<description><![CDATA[We are mostly finished with the new web site, mostly just some content and categories.  All the features are fully functional, if we are missing something or you see a mistake please let me know.  So outside of the new layout, and domain name we have some cool things.

Rules and Rental Info online
Store Directory, not <a href="http://fsb.fermiworlds.com/2009/12/welcome-to-the-new-website/" class="more-link">More &#62;</a>]]></description>
			<content:encoded><![CDATA[<p>We are mostly finished with the new web site, mostly just some content and categories.  All the features are fully functional, if we are missing something or you see a mistake please let me know.  So outside of the new layout, and domain name we have some cool things.</p>
<ul>
<li>Rules and Rental Info online</li>
<li>Store Directory, not limited to Fermi, all additions will be approved, make sure to add your store!</li>
<li>Forums &#8211; We now have message forums, only a few categories at the moment, but there will be more over time</li>
<li>Mingle &#8211; Is a profile/social network area, create a profile, add activites, great a friends list, kind of a simple facebook</li>
</ul>
<p>We are looking forward to expanding this, and making it a place to go for all our friends at fermi and in SL</p>
]]></content:encoded>
			<wfw:commentRss>http://fsb.fermiworlds.com/2009/12/welcome-to-the-new-website/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
