<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/">
	<channel>
		<title><![CDATA[GridTalk.de - Scripting]]></title>
		<link>https://www.gridtalk.de/</link>
		<description><![CDATA[GridTalk.de - https://www.gridtalk.de]]></description>
		<pubDate>Fri, 01 May 2026 21:22:21 +0000</pubDate>
		<generator>MyBB</generator>
		<item>
			<title><![CDATA[Bento-Avatar-Gelenk-Tester]]></title>
			<link>https://www.gridtalk.de/showthread.php?tid=5365</link>
			<pubDate>Mon, 16 Feb 2026 09:02:55 +0100</pubDate>
			<dc:creator><![CDATA[<a href="https://www.gridtalk.de/member.php?action=profile&uid=998">Manfred Aabye</a>]]></dc:creator>
			<guid isPermaLink="false">https://www.gridtalk.de/showthread.php?tid=5365</guid>
			<description><![CDATA[<span style="font-size: xx-large;" class="mycode_size">Ein LSL-Skript, mit dem du jedes Bento-Gelenk eines Avatars einzeln bewegen und testen kannst</span><br />
<br />
<div class="codeblock phpcodeblock"><div class="title">PHP-Code:</div><div class="body"><div dir="ltr"><code><span style="color: #FF8000">//&nbsp;Bento&nbsp;Avatar&nbsp;Gelenk-Tester<br />//&nbsp;Steuerung&nbsp;über&nbsp;Chat-Befehle<br /><br />//&nbsp;Liste&nbsp;der&nbsp;wichtigsten&nbsp;Bento-Gelenke<br /></span><span style="color: #007700">list&nbsp;</span><span style="color: #0000BB">BENTO_JOINTS&nbsp;</span><span style="color: #007700">=&nbsp;[<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #DD0000">"mPelvis"</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"mTorso"</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"mChest"</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"mNeck"</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"mHead"</span><span style="color: #007700">,<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #DD0000">"mHipLeft"</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"mHipRight"</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"mKneeLeft"</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"mKneeRight"</span><span style="color: #007700">,&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #DD0000">"mAnkleLeft"</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"mAnkleRight"</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"mFootLeft"</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"mFootRight"</span><span style="color: #007700">,<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #DD0000">"mToeLeft"</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"mToeRight"</span><span style="color: #007700">,<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #DD0000">"mCollarLeft"</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"mCollarRight"</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"mShoulderLeft"</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"mShoulderRight"</span><span style="color: #007700">,<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #DD0000">"mElbowLeft"</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"mElbowRight"</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"mWristLeft"</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"mWristRight"</span><span style="color: #007700">,<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #DD0000">"mHandLeft"</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"mHandRight"</span><span style="color: #007700">,<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;Finger&nbsp;links<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #DD0000">"mThumbLeft"</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"mThumbLeft01"</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"mThumbLeft02"</span><span style="color: #007700">,<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #DD0000">"mIndexLeft"</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"mIndexLeft01"</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"mIndexLeft02"</span><span style="color: #007700">,<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #DD0000">"mMiddleLeft"</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"mMiddleLeft01"</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"mMiddleLeft02"</span><span style="color: #007700">,<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #DD0000">"mRingLeft"</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"mRingLeft01"</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"mRingLeft02"</span><span style="color: #007700">,<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #DD0000">"mPinkyLeft"</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"mPinkyLeft01"</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"mPinkyLeft02"</span><span style="color: #007700">,<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;Finger&nbsp;rechts&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #DD0000">"mThumbRight"</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"mThumbRight01"</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"mThumbRight02"</span><span style="color: #007700">,<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #DD0000">"mIndexRight"</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"mIndexRight01"</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"mIndexRight02"</span><span style="color: #007700">,<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #DD0000">"mMiddleRight"</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"mMiddleRight01"</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"mMiddleRight02"</span><span style="color: #007700">,<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #DD0000">"mRingRight"</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"mRingRight01"</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"mRingRight02"</span><span style="color: #007700">,<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #DD0000">"mPinkyRight"</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"mPinkyRight01"</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"mPinkyRight02"</span><span style="color: #007700">,<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;Zusätzliche&nbsp;Bento-Gelenke<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #DD0000">"mEyeLeft"</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"mEyeRight"</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"mJaw"</span><span style="color: #007700">,<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #DD0000">"mTail01"</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"mTail02"</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"mTail03"</span><span style="color: #007700">,<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #DD0000">"mEarLeft"</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"mEarRight"</span><span style="color: #007700">,<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #DD0000">"mWingLeft"</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"mWingRight"<br /></span><span style="color: #007700">];<br /><br /></span><span style="color: #FF8000">//&nbsp;Aktuelle&nbsp;Einstellungen<br /></span><span style="color: #0000BB">integer&nbsp;current_joint_index&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">rotation&nbsp;current_rotation&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">ZERO_ROTATION</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">vector&nbsp;current_position&nbsp;</span><span style="color: #007700">=&nbsp;&lt;</span><span style="color: #0000BB">0</span><span style="color: #007700">,</span><span style="color: #0000BB">0</span><span style="color: #007700">,</span><span style="color: #0000BB">0</span><span style="color: #007700">&gt;;<br /></span><span style="color: #0000BB">key&nbsp;avatar_id&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">NULL_KEY</span><span style="color: #007700">;<br /><br /></span><span style="color: #FF8000">//&nbsp;Hilfsfunktion&nbsp;zum&nbsp;Anwenden&nbsp;der&nbsp;Animation<br /></span><span style="color: #0000BB">update_animation</span><span style="color: #007700">()<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;if(</span><span style="color: #0000BB">avatar_id&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #0000BB">NULL_KEY</span><span style="color: #007700">)&nbsp;return;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">string&nbsp;joint&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">llList2String</span><span style="color: #007700">(</span><span style="color: #0000BB">BENTO_JOINTS</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">current_joint_index</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;Setze&nbsp;Rotation&nbsp;und&nbsp;Position&nbsp;für&nbsp;das&nbsp;aktuelle&nbsp;Prim&nbsp;(Root&nbsp;oder&nbsp;Link)<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llSetLinkPrimitiveParamsFast</span><span style="color: #007700">(</span><span style="color: #0000BB">LINK_THIS</span><span style="color: #007700">,&nbsp;[</span><span style="color: #0000BB">PRIM_ROT_LOCAL</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">current_rotation</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">PRIM_POSITION</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">current_position</span><span style="color: #007700">]);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llSetText</span><span style="color: #007700">(</span><span style="color: #DD0000">"Joint:&nbsp;"&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">joint&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #DD0000">"&#092;nRot:&nbsp;"&nbsp;</span><span style="color: #007700">+&nbsp;(string)</span><span style="color: #0000BB">llRound</span><span style="color: #007700">(</span><span style="color: #0000BB">llRot2Angle</span><span style="color: #007700">(</span><span style="color: #0000BB">current_rotation</span><span style="color: #007700">)&nbsp;*&nbsp;</span><span style="color: #0000BB">RAD_TO_DEG</span><span style="color: #007700">)&nbsp;+&nbsp;</span><span style="color: #DD0000">"°&#092;nPos:&nbsp;"&nbsp;</span><span style="color: #007700">+&nbsp;(string)</span><span style="color: #0000BB">current_position</span><span style="color: #007700">,&nbsp;&lt;</span><span style="color: #0000BB">1</span><span style="color: #007700">,</span><span style="color: #0000BB">1</span><span style="color: #007700">,</span><span style="color: #0000BB">1</span><span style="color: #007700">&gt;,&nbsp;</span><span style="color: #0000BB">1.0</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llSetText</span><span style="color: #007700">(</span><span style="color: #DD0000">"Joint:&nbsp;"&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">joint&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #DD0000">"&#092;nRot:&nbsp;"&nbsp;</span><span style="color: #007700">+&nbsp;(string)</span><span style="color: #0000BB">llRound</span><span style="color: #007700">(</span><span style="color: #0000BB">llRot2Angle</span><span style="color: #007700">(</span><span style="color: #0000BB">current_rotation</span><span style="color: #007700">)&nbsp;*&nbsp;</span><span style="color: #0000BB">RAD_TO_DEG</span><span style="color: #007700">)&nbsp;+&nbsp;</span><span style="color: #DD0000">"°&#092;nPos:&nbsp;"&nbsp;</span><span style="color: #007700">+&nbsp;(string)</span><span style="color: #0000BB">current_position</span><span style="color: #007700">,&nbsp;&lt;</span><span style="color: #0000BB">1</span><span style="color: #007700">,</span><span style="color: #0000BB">1</span><span style="color: #007700">,</span><span style="color: #0000BB">1</span><span style="color: #007700">&gt;,&nbsp;</span><span style="color: #0000BB">1.0</span><span style="color: #007700">);<br />}<br /><br />default<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">state_entry</span><span style="color: #007700">()<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llOwnerSay</span><span style="color: #007700">(</span><span style="color: #DD0000">"Bento&nbsp;Avatar&nbsp;Tester&nbsp;gestartet"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llOwnerSay</span><span style="color: #007700">(</span><span style="color: #DD0000">"Befehle:"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llOwnerSay</span><span style="color: #007700">(</span><span style="color: #DD0000">"/1&nbsp;[jointname]&nbsp;-&nbsp;Wähle&nbsp;Gelenk&nbsp;(z.B.&nbsp;'/1&nbsp;mHead')"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llOwnerSay</span><span style="color: #007700">(</span><span style="color: #DD0000">"/1&nbsp;next&nbsp;-&nbsp;Nächstes&nbsp;Gelenk"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llOwnerSay</span><span style="color: #007700">(</span><span style="color: #DD0000">"/1&nbsp;prev&nbsp;-&nbsp;Vorheriges&nbsp;Gelenk"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llOwnerSay</span><span style="color: #007700">(</span><span style="color: #DD0000">"/1&nbsp;list&nbsp;-&nbsp;Zeige&nbsp;alle&nbsp;Gelenke"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llOwnerSay</span><span style="color: #007700">(</span><span style="color: #DD0000">"/1&nbsp;rot&nbsp;X&nbsp;Y&nbsp;Z&nbsp;-&nbsp;Rotation&nbsp;in&nbsp;Grad&nbsp;(z.B.&nbsp;'/1&nbsp;rot&nbsp;0&nbsp;90&nbsp;0')"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llOwnerSay</span><span style="color: #007700">(</span><span style="color: #DD0000">"/1&nbsp;pos&nbsp;X&nbsp;Y&nbsp;Z&nbsp;-&nbsp;Position&nbsp;in&nbsp;Metern"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llOwnerSay</span><span style="color: #007700">(</span><span style="color: #DD0000">"/1&nbsp;reset&nbsp;-&nbsp;Setze&nbsp;Gelenk&nbsp;zurück"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llOwnerSay</span><span style="color: #007700">(</span><span style="color: #DD0000">"/1&nbsp;clear&nbsp;-&nbsp;Lösche&nbsp;alle&nbsp;Overrides"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llListen</span><span style="color: #007700">(</span><span style="color: #0000BB">1</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">""</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">llGetOwner</span><span style="color: #007700">(),&nbsp;</span><span style="color: #DD0000">""</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;Setze&nbsp;Text<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llSetText</span><span style="color: #007700">(</span><span style="color: #DD0000">"Bento&nbsp;Tester&#092;nWarte&nbsp;auf&nbsp;Avatar..."</span><span style="color: #007700">,&nbsp;&lt;</span><span style="color: #0000BB">1</span><span style="color: #007700">,</span><span style="color: #0000BB">1</span><span style="color: #007700">,</span><span style="color: #0000BB">0</span><span style="color: #007700">&gt;,&nbsp;</span><span style="color: #0000BB">1.0</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">on_rez</span><span style="color: #007700">(</span><span style="color: #0000BB">integer&nbsp;param</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llResetScript</span><span style="color: #007700">();<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">touch_start</span><span style="color: #007700">(</span><span style="color: #0000BB">integer&nbsp;total_number</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">avatar_id&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">llDetectedKey</span><span style="color: #007700">(</span><span style="color: #0000BB">0</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llOwnerSay</span><span style="color: #007700">(</span><span style="color: #DD0000">"Avatar&nbsp;erkannt:&nbsp;"&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">llKey2Name</span><span style="color: #007700">(</span><span style="color: #0000BB">avatar_id</span><span style="color: #007700">));<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">update_animation</span><span style="color: #007700">();<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">listen</span><span style="color: #007700">(</span><span style="color: #0000BB">integer&nbsp;channel</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">string&nbsp;name</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">key&nbsp;id</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">string&nbsp;message</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;list&nbsp;</span><span style="color: #0000BB">parts&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">llParseString2List</span><span style="color: #007700">(</span><span style="color: #0000BB">message</span><span style="color: #007700">,&nbsp;[</span><span style="color: #DD0000">"&nbsp;"</span><span style="color: #007700">],&nbsp;[]);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">string&nbsp;cmd&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">llList2String</span><span style="color: #007700">(</span><span style="color: #0000BB">parts</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(</span><span style="color: #0000BB">cmd&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #DD0000">"next"</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">current_joint_index&nbsp;</span><span style="color: #007700">=&nbsp;(</span><span style="color: #0000BB">current_joint_index&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">1</span><span style="color: #007700">)&nbsp;%&nbsp;</span><span style="color: #0000BB">llGetListLength</span><span style="color: #007700">(</span><span style="color: #0000BB">BENTO_JOINTS</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">current_rotation&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">ZERO_ROTATION</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">current_position&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">ZERO_VECTOR</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">update_animation</span><span style="color: #007700">();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llOwnerSay</span><span style="color: #007700">(</span><span style="color: #DD0000">"Aktuelles&nbsp;Gelenk:&nbsp;"&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">llList2String</span><span style="color: #007700">(</span><span style="color: #0000BB">BENTO_JOINTS</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">current_joint_index</span><span style="color: #007700">));<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else&nbsp;if(</span><span style="color: #0000BB">cmd&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #DD0000">"prev"</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">current_joint_index&nbsp;</span><span style="color: #007700">=&nbsp;(</span><span style="color: #0000BB">current_joint_index&nbsp;</span><span style="color: #007700">-&nbsp;</span><span style="color: #0000BB">1&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">llGetListLength</span><span style="color: #007700">(</span><span style="color: #0000BB">BENTO_JOINTS</span><span style="color: #007700">))&nbsp;%&nbsp;</span><span style="color: #0000BB">llGetListLength</span><span style="color: #007700">(</span><span style="color: #0000BB">BENTO_JOINTS</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">current_rotation&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">ZERO_ROTATION</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">current_position&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">ZERO_VECTOR</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">update_animation</span><span style="color: #007700">();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llOwnerSay</span><span style="color: #007700">(</span><span style="color: #DD0000">"Aktuelles&nbsp;Gelenk:&nbsp;"&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">llList2String</span><span style="color: #007700">(</span><span style="color: #0000BB">BENTO_JOINTS</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">current_joint_index</span><span style="color: #007700">));<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else&nbsp;if(</span><span style="color: #0000BB">cmd&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #DD0000">"list"</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llOwnerSay</span><span style="color: #007700">(</span><span style="color: #DD0000">"Verfügbare&nbsp;Gelenke:"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">integer&nbsp;i</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for(</span><span style="color: #0000BB">i&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">;&nbsp;</span><span style="color: #0000BB">i&nbsp;</span><span style="color: #007700">&lt;&nbsp;</span><span style="color: #0000BB">llGetListLength</span><span style="color: #007700">(</span><span style="color: #0000BB">BENTO_JOINTS</span><span style="color: #007700">);&nbsp;</span><span style="color: #0000BB">i</span><span style="color: #007700">++)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llOwnerSay</span><span style="color: #007700">(</span><span style="color: #DD0000">"&nbsp;&nbsp;"&nbsp;</span><span style="color: #007700">+&nbsp;(string)</span><span style="color: #0000BB">i&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #DD0000">":&nbsp;"&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">llList2String</span><span style="color: #007700">(</span><span style="color: #0000BB">BENTO_JOINTS</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">i</span><span style="color: #007700">));<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else&nbsp;if(</span><span style="color: #0000BB">cmd&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #DD0000">"rot"</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(</span><span style="color: #0000BB">llGetListLength</span><span style="color: #007700">(</span><span style="color: #0000BB">parts</span><span style="color: #007700">)&nbsp;&gt;=&nbsp;</span><span style="color: #0000BB">4</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">float&nbsp;x&nbsp;</span><span style="color: #007700">=&nbsp;(float)</span><span style="color: #0000BB">llList2String</span><span style="color: #007700">(</span><span style="color: #0000BB">parts</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">1</span><span style="color: #007700">)&nbsp;*&nbsp;</span><span style="color: #0000BB">DEG_TO_RAD</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">float&nbsp;y&nbsp;</span><span style="color: #007700">=&nbsp;(float)</span><span style="color: #0000BB">llList2String</span><span style="color: #007700">(</span><span style="color: #0000BB">parts</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">2</span><span style="color: #007700">)&nbsp;*&nbsp;</span><span style="color: #0000BB">DEG_TO_RAD</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">float&nbsp;z&nbsp;</span><span style="color: #007700">=&nbsp;(float)</span><span style="color: #0000BB">llList2String</span><span style="color: #007700">(</span><span style="color: #0000BB">parts</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">3</span><span style="color: #007700">)&nbsp;*&nbsp;</span><span style="color: #0000BB">DEG_TO_RAD</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;Konvertiere&nbsp;zu&nbsp;Quaternion&nbsp;(Reihenfolge:&nbsp;Z,&nbsp;Y,&nbsp;X&nbsp;für&nbsp;Euler)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">current_rotation&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">llEuler2Rot</span><span style="color: #007700">(&lt;</span><span style="color: #0000BB">x</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">y</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">z</span><span style="color: #007700">&gt;);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">update_animation</span><span style="color: #007700">();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llOwnerSay</span><span style="color: #007700">(</span><span style="color: #DD0000">"Rotation&nbsp;gesetzt&nbsp;auf:&nbsp;"&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">llList2String</span><span style="color: #007700">(</span><span style="color: #0000BB">parts</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">1</span><span style="color: #007700">)&nbsp;+&nbsp;</span><span style="color: #DD0000">"°&nbsp;"&nbsp;</span><span style="color: #007700">+&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llList2String</span><span style="color: #007700">(</span><span style="color: #0000BB">parts</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">2</span><span style="color: #007700">)&nbsp;+&nbsp;</span><span style="color: #DD0000">"°&nbsp;"&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">llList2String</span><span style="color: #007700">(</span><span style="color: #0000BB">parts</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">3</span><span style="color: #007700">)&nbsp;+&nbsp;</span><span style="color: #DD0000">"°"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else&nbsp;if(</span><span style="color: #0000BB">cmd&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #DD0000">"pos"</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(</span><span style="color: #0000BB">llGetListLength</span><span style="color: #007700">(</span><span style="color: #0000BB">parts</span><span style="color: #007700">)&nbsp;&gt;=&nbsp;</span><span style="color: #0000BB">4</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">float&nbsp;x&nbsp;</span><span style="color: #007700">=&nbsp;(float)</span><span style="color: #0000BB">llList2String</span><span style="color: #007700">(</span><span style="color: #0000BB">parts</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">1</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">float&nbsp;y&nbsp;</span><span style="color: #007700">=&nbsp;(float)</span><span style="color: #0000BB">llList2String</span><span style="color: #007700">(</span><span style="color: #0000BB">parts</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">2</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">float&nbsp;z&nbsp;</span><span style="color: #007700">=&nbsp;(float)</span><span style="color: #0000BB">llList2String</span><span style="color: #007700">(</span><span style="color: #0000BB">parts</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">3</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">current_position&nbsp;</span><span style="color: #007700">=&nbsp;&lt;</span><span style="color: #0000BB">x</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">y</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">z</span><span style="color: #007700">&gt;;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">update_animation</span><span style="color: #007700">();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llOwnerSay</span><span style="color: #007700">(</span><span style="color: #DD0000">"Position&nbsp;gesetzt&nbsp;auf:&nbsp;"&nbsp;</span><span style="color: #007700">+&nbsp;(string)</span><span style="color: #0000BB">current_position</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else&nbsp;if(</span><span style="color: #0000BB">cmd&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #DD0000">"reset"</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">current_rotation&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">ZERO_ROTATION</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">current_position&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">ZERO_VECTOR</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">update_animation</span><span style="color: #007700">();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llOwnerSay</span><span style="color: #007700">(</span><span style="color: #DD0000">"Gelenk&nbsp;zurückgesetzt"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else&nbsp;if(</span><span style="color: #0000BB">cmd&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #DD0000">"clear"</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;Setze&nbsp;Rotation&nbsp;und&nbsp;Position&nbsp;zurück<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">current_rotation&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">ZERO_ROTATION</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">current_position&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">ZERO_VECTOR</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">update_animation</span><span style="color: #007700">();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llOwnerSay</span><span style="color: #007700">(</span><span style="color: #DD0000">"Alle&nbsp;Gelenk-Positionen&nbsp;zurückgesetzt"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else&nbsp;if(</span><span style="color: #0000BB">cmd&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #DD0000">"help"</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llOwnerSay</span><span style="color: #007700">(</span><span style="color: #DD0000">"Befehle:"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llOwnerSay</span><span style="color: #007700">(</span><span style="color: #DD0000">"/1&nbsp;[jointname]&nbsp;-&nbsp;Wähle&nbsp;Gelenk&nbsp;(z.B.&nbsp;'/1&nbsp;mHead')"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llOwnerSay</span><span style="color: #007700">(</span><span style="color: #DD0000">"/1&nbsp;next&nbsp;-&nbsp;Nächstes&nbsp;Gelenk"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llOwnerSay</span><span style="color: #007700">(</span><span style="color: #DD0000">"/1&nbsp;prev&nbsp;-&nbsp;Vorheriges&nbsp;Gelenk"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llOwnerSay</span><span style="color: #007700">(</span><span style="color: #DD0000">"/1&nbsp;list&nbsp;-&nbsp;Zeige&nbsp;alle&nbsp;Gelenke"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llOwnerSay</span><span style="color: #007700">(</span><span style="color: #DD0000">"/1&nbsp;rot&nbsp;X&nbsp;Y&nbsp;Z&nbsp;-&nbsp;Rotation&nbsp;in&nbsp;Grad"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llOwnerSay</span><span style="color: #007700">(</span><span style="color: #DD0000">"/1&nbsp;pos&nbsp;X&nbsp;Y&nbsp;Z&nbsp;-&nbsp;Position&nbsp;in&nbsp;Metern"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llOwnerSay</span><span style="color: #007700">(</span><span style="color: #DD0000">"/1&nbsp;reset&nbsp;-&nbsp;Setze&nbsp;Gelenk&nbsp;zurück"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llOwnerSay</span><span style="color: #007700">(</span><span style="color: #DD0000">"/1&nbsp;clear&nbsp;-&nbsp;Lösche&nbsp;alle&nbsp;Overrides"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;Versuche&nbsp;Gelenkname&nbsp;direkt&nbsp;zu&nbsp;setzen<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">integer&nbsp;index&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">llListFindList</span><span style="color: #007700">(</span><span style="color: #0000BB">BENTO_JOINTS</span><span style="color: #007700">,&nbsp;[</span><span style="color: #0000BB">cmd</span><span style="color: #007700">]);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(</span><span style="color: #0000BB">index&nbsp;</span><span style="color: #007700">!=&nbsp;-</span><span style="color: #0000BB">1</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">current_joint_index&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">index</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">current_rotation&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">ZERO_ROTATION</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">current_position&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">ZERO_VECTOR</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">update_animation</span><span style="color: #007700">();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llOwnerSay</span><span style="color: #007700">(</span><span style="color: #DD0000">"Gelenk&nbsp;ausgewählt:&nbsp;"&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">cmd</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llOwnerSay</span><span style="color: #007700">(</span><span style="color: #DD0000">"Unbekannter&nbsp;Befehl.&nbsp;Tippe&nbsp;'/1&nbsp;help'&nbsp;für&nbsp;Hilfe."</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />}&nbsp;<br /></span></code></div></div></div><br />
<br />
<span style="font-size: large;" class="mycode_size">Verwendung</span><br />
<br />
1. Skript in ein beliebiges Prim legen (z.B. ein HUD oder ein Objekt in der Hand)<br />
<br />
2. Avatar auswählen: Klicke das Objekt an, während du den zu testenden Avatar trägst<br />
<br />
3. Steuerung über Chat-Befehle (Channel 1):<br />
   - `/1 next` - Nächstes Gelenk<br />
   - `/1 prev` - Vorheriges Gelenk<br />
   - `/1 list` - Alle verfügbaren Gelenke anzeigen<br />
   - `/1 [Gelenkname]` - Bestimmtes Gelenk auswählen (z.B. `/1 mHead`)<br />
   - `/1 rot X Y Z` - Rotation in Grad setzen (z.B. `/1 rot 0 45 0`)<br />
   - `/1 pos X Y Z` - Position in Metern setzen (Offset)<br />
   - `/1 reset` - Aktuelles Gelenk zurücksetzen<br />
   - `/1 clear` - Alle Overrides löschen<br />
<br />
<span style="font-size: large;" class="mycode_size">Wichtige Hinweise</span><br />
<br />
- Das Skript verwendet **Prim Property Overrides**, um die Gelenke zu bewegen<br />
- Der Avatar muss **Bento-kompatibel** sein<br />
- Einige Gelenke funktionieren nur, wenn der Avatar sie tatsächlich besitzt<br />
- Die Rotation wird in **Grad** angegeben (nicht Radianten)<br />
- Das Skript zeigt immer das aktuell ausgewählte Gelenk und dessen Werte als HUD-Text an<br />
<br />
<span style="font-style: italic;" class="mycode_i">Das Skript ist ideal zum Testen von Bento-Rigging und Animationen!</span>]]></description>
			<content:encoded><![CDATA[<span style="font-size: xx-large;" class="mycode_size">Ein LSL-Skript, mit dem du jedes Bento-Gelenk eines Avatars einzeln bewegen und testen kannst</span><br />
<br />
<div class="codeblock phpcodeblock"><div class="title">PHP-Code:</div><div class="body"><div dir="ltr"><code><span style="color: #FF8000">//&nbsp;Bento&nbsp;Avatar&nbsp;Gelenk-Tester<br />//&nbsp;Steuerung&nbsp;über&nbsp;Chat-Befehle<br /><br />//&nbsp;Liste&nbsp;der&nbsp;wichtigsten&nbsp;Bento-Gelenke<br /></span><span style="color: #007700">list&nbsp;</span><span style="color: #0000BB">BENTO_JOINTS&nbsp;</span><span style="color: #007700">=&nbsp;[<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #DD0000">"mPelvis"</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"mTorso"</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"mChest"</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"mNeck"</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"mHead"</span><span style="color: #007700">,<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #DD0000">"mHipLeft"</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"mHipRight"</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"mKneeLeft"</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"mKneeRight"</span><span style="color: #007700">,&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #DD0000">"mAnkleLeft"</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"mAnkleRight"</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"mFootLeft"</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"mFootRight"</span><span style="color: #007700">,<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #DD0000">"mToeLeft"</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"mToeRight"</span><span style="color: #007700">,<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #DD0000">"mCollarLeft"</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"mCollarRight"</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"mShoulderLeft"</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"mShoulderRight"</span><span style="color: #007700">,<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #DD0000">"mElbowLeft"</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"mElbowRight"</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"mWristLeft"</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"mWristRight"</span><span style="color: #007700">,<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #DD0000">"mHandLeft"</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"mHandRight"</span><span style="color: #007700">,<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;Finger&nbsp;links<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #DD0000">"mThumbLeft"</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"mThumbLeft01"</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"mThumbLeft02"</span><span style="color: #007700">,<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #DD0000">"mIndexLeft"</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"mIndexLeft01"</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"mIndexLeft02"</span><span style="color: #007700">,<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #DD0000">"mMiddleLeft"</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"mMiddleLeft01"</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"mMiddleLeft02"</span><span style="color: #007700">,<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #DD0000">"mRingLeft"</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"mRingLeft01"</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"mRingLeft02"</span><span style="color: #007700">,<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #DD0000">"mPinkyLeft"</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"mPinkyLeft01"</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"mPinkyLeft02"</span><span style="color: #007700">,<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;Finger&nbsp;rechts&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #DD0000">"mThumbRight"</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"mThumbRight01"</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"mThumbRight02"</span><span style="color: #007700">,<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #DD0000">"mIndexRight"</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"mIndexRight01"</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"mIndexRight02"</span><span style="color: #007700">,<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #DD0000">"mMiddleRight"</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"mMiddleRight01"</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"mMiddleRight02"</span><span style="color: #007700">,<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #DD0000">"mRingRight"</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"mRingRight01"</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"mRingRight02"</span><span style="color: #007700">,<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #DD0000">"mPinkyRight"</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"mPinkyRight01"</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"mPinkyRight02"</span><span style="color: #007700">,<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;Zusätzliche&nbsp;Bento-Gelenke<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #DD0000">"mEyeLeft"</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"mEyeRight"</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"mJaw"</span><span style="color: #007700">,<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #DD0000">"mTail01"</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"mTail02"</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"mTail03"</span><span style="color: #007700">,<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #DD0000">"mEarLeft"</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"mEarRight"</span><span style="color: #007700">,<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #DD0000">"mWingLeft"</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"mWingRight"<br /></span><span style="color: #007700">];<br /><br /></span><span style="color: #FF8000">//&nbsp;Aktuelle&nbsp;Einstellungen<br /></span><span style="color: #0000BB">integer&nbsp;current_joint_index&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">rotation&nbsp;current_rotation&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">ZERO_ROTATION</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">vector&nbsp;current_position&nbsp;</span><span style="color: #007700">=&nbsp;&lt;</span><span style="color: #0000BB">0</span><span style="color: #007700">,</span><span style="color: #0000BB">0</span><span style="color: #007700">,</span><span style="color: #0000BB">0</span><span style="color: #007700">&gt;;<br /></span><span style="color: #0000BB">key&nbsp;avatar_id&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">NULL_KEY</span><span style="color: #007700">;<br /><br /></span><span style="color: #FF8000">//&nbsp;Hilfsfunktion&nbsp;zum&nbsp;Anwenden&nbsp;der&nbsp;Animation<br /></span><span style="color: #0000BB">update_animation</span><span style="color: #007700">()<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;if(</span><span style="color: #0000BB">avatar_id&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #0000BB">NULL_KEY</span><span style="color: #007700">)&nbsp;return;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">string&nbsp;joint&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">llList2String</span><span style="color: #007700">(</span><span style="color: #0000BB">BENTO_JOINTS</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">current_joint_index</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;Setze&nbsp;Rotation&nbsp;und&nbsp;Position&nbsp;für&nbsp;das&nbsp;aktuelle&nbsp;Prim&nbsp;(Root&nbsp;oder&nbsp;Link)<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llSetLinkPrimitiveParamsFast</span><span style="color: #007700">(</span><span style="color: #0000BB">LINK_THIS</span><span style="color: #007700">,&nbsp;[</span><span style="color: #0000BB">PRIM_ROT_LOCAL</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">current_rotation</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">PRIM_POSITION</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">current_position</span><span style="color: #007700">]);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llSetText</span><span style="color: #007700">(</span><span style="color: #DD0000">"Joint:&nbsp;"&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">joint&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #DD0000">"&#092;nRot:&nbsp;"&nbsp;</span><span style="color: #007700">+&nbsp;(string)</span><span style="color: #0000BB">llRound</span><span style="color: #007700">(</span><span style="color: #0000BB">llRot2Angle</span><span style="color: #007700">(</span><span style="color: #0000BB">current_rotation</span><span style="color: #007700">)&nbsp;*&nbsp;</span><span style="color: #0000BB">RAD_TO_DEG</span><span style="color: #007700">)&nbsp;+&nbsp;</span><span style="color: #DD0000">"°&#092;nPos:&nbsp;"&nbsp;</span><span style="color: #007700">+&nbsp;(string)</span><span style="color: #0000BB">current_position</span><span style="color: #007700">,&nbsp;&lt;</span><span style="color: #0000BB">1</span><span style="color: #007700">,</span><span style="color: #0000BB">1</span><span style="color: #007700">,</span><span style="color: #0000BB">1</span><span style="color: #007700">&gt;,&nbsp;</span><span style="color: #0000BB">1.0</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llSetText</span><span style="color: #007700">(</span><span style="color: #DD0000">"Joint:&nbsp;"&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">joint&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #DD0000">"&#092;nRot:&nbsp;"&nbsp;</span><span style="color: #007700">+&nbsp;(string)</span><span style="color: #0000BB">llRound</span><span style="color: #007700">(</span><span style="color: #0000BB">llRot2Angle</span><span style="color: #007700">(</span><span style="color: #0000BB">current_rotation</span><span style="color: #007700">)&nbsp;*&nbsp;</span><span style="color: #0000BB">RAD_TO_DEG</span><span style="color: #007700">)&nbsp;+&nbsp;</span><span style="color: #DD0000">"°&#092;nPos:&nbsp;"&nbsp;</span><span style="color: #007700">+&nbsp;(string)</span><span style="color: #0000BB">current_position</span><span style="color: #007700">,&nbsp;&lt;</span><span style="color: #0000BB">1</span><span style="color: #007700">,</span><span style="color: #0000BB">1</span><span style="color: #007700">,</span><span style="color: #0000BB">1</span><span style="color: #007700">&gt;,&nbsp;</span><span style="color: #0000BB">1.0</span><span style="color: #007700">);<br />}<br /><br />default<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">state_entry</span><span style="color: #007700">()<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llOwnerSay</span><span style="color: #007700">(</span><span style="color: #DD0000">"Bento&nbsp;Avatar&nbsp;Tester&nbsp;gestartet"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llOwnerSay</span><span style="color: #007700">(</span><span style="color: #DD0000">"Befehle:"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llOwnerSay</span><span style="color: #007700">(</span><span style="color: #DD0000">"/1&nbsp;[jointname]&nbsp;-&nbsp;Wähle&nbsp;Gelenk&nbsp;(z.B.&nbsp;'/1&nbsp;mHead')"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llOwnerSay</span><span style="color: #007700">(</span><span style="color: #DD0000">"/1&nbsp;next&nbsp;-&nbsp;Nächstes&nbsp;Gelenk"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llOwnerSay</span><span style="color: #007700">(</span><span style="color: #DD0000">"/1&nbsp;prev&nbsp;-&nbsp;Vorheriges&nbsp;Gelenk"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llOwnerSay</span><span style="color: #007700">(</span><span style="color: #DD0000">"/1&nbsp;list&nbsp;-&nbsp;Zeige&nbsp;alle&nbsp;Gelenke"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llOwnerSay</span><span style="color: #007700">(</span><span style="color: #DD0000">"/1&nbsp;rot&nbsp;X&nbsp;Y&nbsp;Z&nbsp;-&nbsp;Rotation&nbsp;in&nbsp;Grad&nbsp;(z.B.&nbsp;'/1&nbsp;rot&nbsp;0&nbsp;90&nbsp;0')"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llOwnerSay</span><span style="color: #007700">(</span><span style="color: #DD0000">"/1&nbsp;pos&nbsp;X&nbsp;Y&nbsp;Z&nbsp;-&nbsp;Position&nbsp;in&nbsp;Metern"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llOwnerSay</span><span style="color: #007700">(</span><span style="color: #DD0000">"/1&nbsp;reset&nbsp;-&nbsp;Setze&nbsp;Gelenk&nbsp;zurück"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llOwnerSay</span><span style="color: #007700">(</span><span style="color: #DD0000">"/1&nbsp;clear&nbsp;-&nbsp;Lösche&nbsp;alle&nbsp;Overrides"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llListen</span><span style="color: #007700">(</span><span style="color: #0000BB">1</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">""</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">llGetOwner</span><span style="color: #007700">(),&nbsp;</span><span style="color: #DD0000">""</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;Setze&nbsp;Text<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llSetText</span><span style="color: #007700">(</span><span style="color: #DD0000">"Bento&nbsp;Tester&#092;nWarte&nbsp;auf&nbsp;Avatar..."</span><span style="color: #007700">,&nbsp;&lt;</span><span style="color: #0000BB">1</span><span style="color: #007700">,</span><span style="color: #0000BB">1</span><span style="color: #007700">,</span><span style="color: #0000BB">0</span><span style="color: #007700">&gt;,&nbsp;</span><span style="color: #0000BB">1.0</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">on_rez</span><span style="color: #007700">(</span><span style="color: #0000BB">integer&nbsp;param</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llResetScript</span><span style="color: #007700">();<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">touch_start</span><span style="color: #007700">(</span><span style="color: #0000BB">integer&nbsp;total_number</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">avatar_id&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">llDetectedKey</span><span style="color: #007700">(</span><span style="color: #0000BB">0</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llOwnerSay</span><span style="color: #007700">(</span><span style="color: #DD0000">"Avatar&nbsp;erkannt:&nbsp;"&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">llKey2Name</span><span style="color: #007700">(</span><span style="color: #0000BB">avatar_id</span><span style="color: #007700">));<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">update_animation</span><span style="color: #007700">();<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">listen</span><span style="color: #007700">(</span><span style="color: #0000BB">integer&nbsp;channel</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">string&nbsp;name</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">key&nbsp;id</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">string&nbsp;message</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;list&nbsp;</span><span style="color: #0000BB">parts&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">llParseString2List</span><span style="color: #007700">(</span><span style="color: #0000BB">message</span><span style="color: #007700">,&nbsp;[</span><span style="color: #DD0000">"&nbsp;"</span><span style="color: #007700">],&nbsp;[]);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">string&nbsp;cmd&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">llList2String</span><span style="color: #007700">(</span><span style="color: #0000BB">parts</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(</span><span style="color: #0000BB">cmd&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #DD0000">"next"</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">current_joint_index&nbsp;</span><span style="color: #007700">=&nbsp;(</span><span style="color: #0000BB">current_joint_index&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">1</span><span style="color: #007700">)&nbsp;%&nbsp;</span><span style="color: #0000BB">llGetListLength</span><span style="color: #007700">(</span><span style="color: #0000BB">BENTO_JOINTS</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">current_rotation&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">ZERO_ROTATION</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">current_position&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">ZERO_VECTOR</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">update_animation</span><span style="color: #007700">();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llOwnerSay</span><span style="color: #007700">(</span><span style="color: #DD0000">"Aktuelles&nbsp;Gelenk:&nbsp;"&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">llList2String</span><span style="color: #007700">(</span><span style="color: #0000BB">BENTO_JOINTS</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">current_joint_index</span><span style="color: #007700">));<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else&nbsp;if(</span><span style="color: #0000BB">cmd&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #DD0000">"prev"</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">current_joint_index&nbsp;</span><span style="color: #007700">=&nbsp;(</span><span style="color: #0000BB">current_joint_index&nbsp;</span><span style="color: #007700">-&nbsp;</span><span style="color: #0000BB">1&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">llGetListLength</span><span style="color: #007700">(</span><span style="color: #0000BB">BENTO_JOINTS</span><span style="color: #007700">))&nbsp;%&nbsp;</span><span style="color: #0000BB">llGetListLength</span><span style="color: #007700">(</span><span style="color: #0000BB">BENTO_JOINTS</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">current_rotation&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">ZERO_ROTATION</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">current_position&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">ZERO_VECTOR</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">update_animation</span><span style="color: #007700">();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llOwnerSay</span><span style="color: #007700">(</span><span style="color: #DD0000">"Aktuelles&nbsp;Gelenk:&nbsp;"&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">llList2String</span><span style="color: #007700">(</span><span style="color: #0000BB">BENTO_JOINTS</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">current_joint_index</span><span style="color: #007700">));<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else&nbsp;if(</span><span style="color: #0000BB">cmd&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #DD0000">"list"</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llOwnerSay</span><span style="color: #007700">(</span><span style="color: #DD0000">"Verfügbare&nbsp;Gelenke:"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">integer&nbsp;i</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for(</span><span style="color: #0000BB">i&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">;&nbsp;</span><span style="color: #0000BB">i&nbsp;</span><span style="color: #007700">&lt;&nbsp;</span><span style="color: #0000BB">llGetListLength</span><span style="color: #007700">(</span><span style="color: #0000BB">BENTO_JOINTS</span><span style="color: #007700">);&nbsp;</span><span style="color: #0000BB">i</span><span style="color: #007700">++)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llOwnerSay</span><span style="color: #007700">(</span><span style="color: #DD0000">"&nbsp;&nbsp;"&nbsp;</span><span style="color: #007700">+&nbsp;(string)</span><span style="color: #0000BB">i&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #DD0000">":&nbsp;"&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">llList2String</span><span style="color: #007700">(</span><span style="color: #0000BB">BENTO_JOINTS</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">i</span><span style="color: #007700">));<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else&nbsp;if(</span><span style="color: #0000BB">cmd&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #DD0000">"rot"</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(</span><span style="color: #0000BB">llGetListLength</span><span style="color: #007700">(</span><span style="color: #0000BB">parts</span><span style="color: #007700">)&nbsp;&gt;=&nbsp;</span><span style="color: #0000BB">4</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">float&nbsp;x&nbsp;</span><span style="color: #007700">=&nbsp;(float)</span><span style="color: #0000BB">llList2String</span><span style="color: #007700">(</span><span style="color: #0000BB">parts</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">1</span><span style="color: #007700">)&nbsp;*&nbsp;</span><span style="color: #0000BB">DEG_TO_RAD</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">float&nbsp;y&nbsp;</span><span style="color: #007700">=&nbsp;(float)</span><span style="color: #0000BB">llList2String</span><span style="color: #007700">(</span><span style="color: #0000BB">parts</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">2</span><span style="color: #007700">)&nbsp;*&nbsp;</span><span style="color: #0000BB">DEG_TO_RAD</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">float&nbsp;z&nbsp;</span><span style="color: #007700">=&nbsp;(float)</span><span style="color: #0000BB">llList2String</span><span style="color: #007700">(</span><span style="color: #0000BB">parts</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">3</span><span style="color: #007700">)&nbsp;*&nbsp;</span><span style="color: #0000BB">DEG_TO_RAD</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;Konvertiere&nbsp;zu&nbsp;Quaternion&nbsp;(Reihenfolge:&nbsp;Z,&nbsp;Y,&nbsp;X&nbsp;für&nbsp;Euler)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">current_rotation&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">llEuler2Rot</span><span style="color: #007700">(&lt;</span><span style="color: #0000BB">x</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">y</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">z</span><span style="color: #007700">&gt;);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">update_animation</span><span style="color: #007700">();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llOwnerSay</span><span style="color: #007700">(</span><span style="color: #DD0000">"Rotation&nbsp;gesetzt&nbsp;auf:&nbsp;"&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">llList2String</span><span style="color: #007700">(</span><span style="color: #0000BB">parts</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">1</span><span style="color: #007700">)&nbsp;+&nbsp;</span><span style="color: #DD0000">"°&nbsp;"&nbsp;</span><span style="color: #007700">+&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llList2String</span><span style="color: #007700">(</span><span style="color: #0000BB">parts</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">2</span><span style="color: #007700">)&nbsp;+&nbsp;</span><span style="color: #DD0000">"°&nbsp;"&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">llList2String</span><span style="color: #007700">(</span><span style="color: #0000BB">parts</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">3</span><span style="color: #007700">)&nbsp;+&nbsp;</span><span style="color: #DD0000">"°"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else&nbsp;if(</span><span style="color: #0000BB">cmd&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #DD0000">"pos"</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(</span><span style="color: #0000BB">llGetListLength</span><span style="color: #007700">(</span><span style="color: #0000BB">parts</span><span style="color: #007700">)&nbsp;&gt;=&nbsp;</span><span style="color: #0000BB">4</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">float&nbsp;x&nbsp;</span><span style="color: #007700">=&nbsp;(float)</span><span style="color: #0000BB">llList2String</span><span style="color: #007700">(</span><span style="color: #0000BB">parts</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">1</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">float&nbsp;y&nbsp;</span><span style="color: #007700">=&nbsp;(float)</span><span style="color: #0000BB">llList2String</span><span style="color: #007700">(</span><span style="color: #0000BB">parts</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">2</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">float&nbsp;z&nbsp;</span><span style="color: #007700">=&nbsp;(float)</span><span style="color: #0000BB">llList2String</span><span style="color: #007700">(</span><span style="color: #0000BB">parts</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">3</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">current_position&nbsp;</span><span style="color: #007700">=&nbsp;&lt;</span><span style="color: #0000BB">x</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">y</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">z</span><span style="color: #007700">&gt;;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">update_animation</span><span style="color: #007700">();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llOwnerSay</span><span style="color: #007700">(</span><span style="color: #DD0000">"Position&nbsp;gesetzt&nbsp;auf:&nbsp;"&nbsp;</span><span style="color: #007700">+&nbsp;(string)</span><span style="color: #0000BB">current_position</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else&nbsp;if(</span><span style="color: #0000BB">cmd&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #DD0000">"reset"</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">current_rotation&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">ZERO_ROTATION</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">current_position&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">ZERO_VECTOR</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">update_animation</span><span style="color: #007700">();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llOwnerSay</span><span style="color: #007700">(</span><span style="color: #DD0000">"Gelenk&nbsp;zurückgesetzt"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else&nbsp;if(</span><span style="color: #0000BB">cmd&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #DD0000">"clear"</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;Setze&nbsp;Rotation&nbsp;und&nbsp;Position&nbsp;zurück<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">current_rotation&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">ZERO_ROTATION</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">current_position&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">ZERO_VECTOR</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">update_animation</span><span style="color: #007700">();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llOwnerSay</span><span style="color: #007700">(</span><span style="color: #DD0000">"Alle&nbsp;Gelenk-Positionen&nbsp;zurückgesetzt"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else&nbsp;if(</span><span style="color: #0000BB">cmd&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #DD0000">"help"</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llOwnerSay</span><span style="color: #007700">(</span><span style="color: #DD0000">"Befehle:"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llOwnerSay</span><span style="color: #007700">(</span><span style="color: #DD0000">"/1&nbsp;[jointname]&nbsp;-&nbsp;Wähle&nbsp;Gelenk&nbsp;(z.B.&nbsp;'/1&nbsp;mHead')"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llOwnerSay</span><span style="color: #007700">(</span><span style="color: #DD0000">"/1&nbsp;next&nbsp;-&nbsp;Nächstes&nbsp;Gelenk"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llOwnerSay</span><span style="color: #007700">(</span><span style="color: #DD0000">"/1&nbsp;prev&nbsp;-&nbsp;Vorheriges&nbsp;Gelenk"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llOwnerSay</span><span style="color: #007700">(</span><span style="color: #DD0000">"/1&nbsp;list&nbsp;-&nbsp;Zeige&nbsp;alle&nbsp;Gelenke"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llOwnerSay</span><span style="color: #007700">(</span><span style="color: #DD0000">"/1&nbsp;rot&nbsp;X&nbsp;Y&nbsp;Z&nbsp;-&nbsp;Rotation&nbsp;in&nbsp;Grad"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llOwnerSay</span><span style="color: #007700">(</span><span style="color: #DD0000">"/1&nbsp;pos&nbsp;X&nbsp;Y&nbsp;Z&nbsp;-&nbsp;Position&nbsp;in&nbsp;Metern"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llOwnerSay</span><span style="color: #007700">(</span><span style="color: #DD0000">"/1&nbsp;reset&nbsp;-&nbsp;Setze&nbsp;Gelenk&nbsp;zurück"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llOwnerSay</span><span style="color: #007700">(</span><span style="color: #DD0000">"/1&nbsp;clear&nbsp;-&nbsp;Lösche&nbsp;alle&nbsp;Overrides"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;Versuche&nbsp;Gelenkname&nbsp;direkt&nbsp;zu&nbsp;setzen<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">integer&nbsp;index&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">llListFindList</span><span style="color: #007700">(</span><span style="color: #0000BB">BENTO_JOINTS</span><span style="color: #007700">,&nbsp;[</span><span style="color: #0000BB">cmd</span><span style="color: #007700">]);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(</span><span style="color: #0000BB">index&nbsp;</span><span style="color: #007700">!=&nbsp;-</span><span style="color: #0000BB">1</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">current_joint_index&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">index</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">current_rotation&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">ZERO_ROTATION</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">current_position&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">ZERO_VECTOR</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">update_animation</span><span style="color: #007700">();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llOwnerSay</span><span style="color: #007700">(</span><span style="color: #DD0000">"Gelenk&nbsp;ausgewählt:&nbsp;"&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">cmd</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llOwnerSay</span><span style="color: #007700">(</span><span style="color: #DD0000">"Unbekannter&nbsp;Befehl.&nbsp;Tippe&nbsp;'/1&nbsp;help'&nbsp;für&nbsp;Hilfe."</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />}&nbsp;<br /></span></code></div></div></div><br />
<br />
<span style="font-size: large;" class="mycode_size">Verwendung</span><br />
<br />
1. Skript in ein beliebiges Prim legen (z.B. ein HUD oder ein Objekt in der Hand)<br />
<br />
2. Avatar auswählen: Klicke das Objekt an, während du den zu testenden Avatar trägst<br />
<br />
3. Steuerung über Chat-Befehle (Channel 1):<br />
   - `/1 next` - Nächstes Gelenk<br />
   - `/1 prev` - Vorheriges Gelenk<br />
   - `/1 list` - Alle verfügbaren Gelenke anzeigen<br />
   - `/1 [Gelenkname]` - Bestimmtes Gelenk auswählen (z.B. `/1 mHead`)<br />
   - `/1 rot X Y Z` - Rotation in Grad setzen (z.B. `/1 rot 0 45 0`)<br />
   - `/1 pos X Y Z` - Position in Metern setzen (Offset)<br />
   - `/1 reset` - Aktuelles Gelenk zurücksetzen<br />
   - `/1 clear` - Alle Overrides löschen<br />
<br />
<span style="font-size: large;" class="mycode_size">Wichtige Hinweise</span><br />
<br />
- Das Skript verwendet **Prim Property Overrides**, um die Gelenke zu bewegen<br />
- Der Avatar muss **Bento-kompatibel** sein<br />
- Einige Gelenke funktionieren nur, wenn der Avatar sie tatsächlich besitzt<br />
- Die Rotation wird in **Grad** angegeben (nicht Radianten)<br />
- Das Skript zeigt immer das aktuell ausgewählte Gelenk und dessen Werte als HUD-Text an<br />
<br />
<span style="font-style: italic;" class="mycode_i">Das Skript ist ideal zum Testen von Bento-Rigging und Animationen!</span>]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[skript für opensim gesucht]]></title>
			<link>https://www.gridtalk.de/showthread.php?tid=5274</link>
			<pubDate>Tue, 16 Dec 2025 10:54:25 +0100</pubDate>
			<dc:creator><![CDATA[<a href="https://www.gridtalk.de/member.php?action=profile&uid=945">hajo drechsler</a>]]></dc:creator>
			<guid isPermaLink="false">https://www.gridtalk.de/showthread.php?tid=5274</guid>
			<description><![CDATA[hallo zusammen<br />
ich bin dabei einen hud zu machen für opensim, speziell für einen mesh body.<br />
dafür brauche ich ein skript das die 8 unterschiedlichen meshflächen im hud erkennt und entsprechend im mesh body alpha ein oder ausschaltet.<br />
sender und empfänger<br />
vielleicht hat ja jemand so etwas und kann mir helfen<br />
<br />
lg hajo]]></description>
			<content:encoded><![CDATA[hallo zusammen<br />
ich bin dabei einen hud zu machen für opensim, speziell für einen mesh body.<br />
dafür brauche ich ein skript das die 8 unterschiedlichen meshflächen im hud erkennt und entsprechend im mesh body alpha ein oder ausschaltet.<br />
sender und empfänger<br />
vielleicht hat ja jemand so etwas und kann mir helfen<br />
<br />
lg hajo]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Skript stoppt bei Neustart und Daten weg]]></title>
			<link>https://www.gridtalk.de/showthread.php?tid=5227</link>
			<pubDate>Sun, 16 Nov 2025 12:43:11 +0100</pubDate>
			<dc:creator><![CDATA[<a href="https://www.gridtalk.de/member.php?action=profile&uid=998">Manfred Aabye</a>]]></dc:creator>
			<guid isPermaLink="false">https://www.gridtalk.de/showthread.php?tid=5227</guid>
			<description><![CDATA[<span style="font-size: x-large;" class="mycode_size">Skript stoppt bei Neustart und Daten weg</span><br />
Hier ist ein selbsterklärendes Skript, <br />
welches euch zeigt, wie man seine Werte <br />
aus einem Skript in eine Notecard speichert <br />
und diese beim Neustart wieder einlädt.<br />
<br />
<br />
<div class="codeblock phpcodeblock"><div class="title">PHP-Code:</div><div class="body"><div dir="ltr"><code><span style="color: #FF8000">/*<br />**Funktionen&nbsp;des&nbsp;Skripts:**<br /><br />1.&nbsp;**Automatischer&nbsp;Start&nbsp;bei&nbsp;Regionsneustart**:&nbsp;Das&nbsp;Skript&nbsp;wird&nbsp;automatisch&nbsp;neu&nbsp;gestartet&nbsp;und&nbsp;lädt&nbsp;die&nbsp;gespeicherten&nbsp;Werte.<br /><br />2.&nbsp;**Notecard-Operationen**:<br />&nbsp;&nbsp;&nbsp;-&nbsp;`readNotecard()`:&nbsp;Liest&nbsp;alle&nbsp;Werte&nbsp;aus&nbsp;der&nbsp;Notecard<br />&nbsp;&nbsp;&nbsp;-&nbsp;`writeNotecard()`:&nbsp;Schreibt&nbsp;alle&nbsp;Werte&nbsp;in&nbsp;die&nbsp;Notecard<br />&nbsp;&nbsp;&nbsp;-&nbsp;`createDefaultNotecard()`:&nbsp;Erstellt&nbsp;eine&nbsp;Notecard&nbsp;mit&nbsp;Standardwerten<br /><br />3.&nbsp;**Chat-Kommandos**:<br />-&nbsp;/12345&nbsp;show&nbsp;-&nbsp;Zeige&nbsp;aktuelle&nbsp;Werte<br />-&nbsp;/12345&nbsp;set&nbsp;VarWert1&nbsp;NeuerWert&nbsp;-&nbsp;Setze&nbsp;einen&nbsp;Wert<br />-&nbsp;/12345&nbsp;save&nbsp;-&nbsp;Speichere&nbsp;Werte&nbsp;manuell<br />-&nbsp;/12345&nbsp;load&nbsp;-&nbsp;Lade&nbsp;Werte&nbsp;neu<br />-&nbsp;/12345&nbsp;reset&nbsp;-&nbsp;Setze&nbsp;alle&nbsp;Werte&nbsp;zurück<br />-&nbsp;/12345&nbsp;test&nbsp;-&nbsp;Simuliere&nbsp;Regionsneustart<br />-&nbsp;/12345&nbsp;verify&nbsp;-&nbsp;Prüfe&nbsp;Notecard-Existenz<br />-&nbsp;/12345&nbsp;delete&nbsp;-&nbsp;Lösche&nbsp;die&nbsp;Notecard<br /><br />4.&nbsp;**Automatisches&nbsp;Speichern**:&nbsp;Bei&nbsp;jeder&nbsp;Änderung&nbsp;werden&nbsp;die&nbsp;Werte&nbsp;automatisch&nbsp;gespeichert.<br /><br />**Verwendung:**<br />1.&nbsp;Das&nbsp;Skript&nbsp;in&nbsp;ein&nbsp;Objekt&nbsp;legen<br />2.&nbsp;Das&nbsp;Objekt&nbsp;rezzen<br />3.&nbsp;Mit&nbsp;den&nbsp;Chat-Kommandos&nbsp;Werte&nbsp;setzen&nbsp;und&nbsp;verwalten<br />&nbsp;<br />Die&nbsp;Daten&nbsp;werden&nbsp;in&nbsp;der&nbsp;Notecard&nbsp;"DatenNotecard"&nbsp;im&nbsp;Format&nbsp;`Variablenname=Wert`&nbsp;gespeichert.<br />*/<br /><br />//&nbsp;Konfiguration<br /></span><span style="color: #0000BB">string&nbsp;NOTECARD_NAME&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #DD0000">"DatenNotecard"</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">integer&nbsp;SCRIPT_HANDLE&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">12345</span><span style="color: #007700">;&nbsp;</span><span style="color: #FF8000">//&nbsp;Eindeutige&nbsp;ID&nbsp;für&nbsp;diesen&nbsp;Script<br /><br />//&nbsp;Variablen<br /></span><span style="color: #0000BB">string&nbsp;VarWert1</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">string&nbsp;VarWert2</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">string&nbsp;VarWert3</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">string&nbsp;VarWert4</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">string&nbsp;VarWert5</span><span style="color: #007700">;<br /><br /></span><span style="color: #0000BB">integer&nbsp;writingNotecard&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">FALSE</span><span style="color: #007700">;&nbsp;</span><span style="color: #FF8000">//&nbsp;Flag&nbsp;um&nbsp;Endlosschleifen&nbsp;zu&nbsp;vermeiden<br /><br />//&nbsp;Prüft&nbsp;ob&nbsp;Notecard&nbsp;existiert<br /></span><span style="color: #0000BB">integer&nbsp;notecardExists</span><span style="color: #007700">()&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">integer&nbsp;i</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(</span><span style="color: #0000BB">i&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">;&nbsp;</span><span style="color: #0000BB">i&nbsp;</span><span style="color: #007700">&lt;&nbsp;</span><span style="color: #0000BB">llGetInventoryNumber</span><span style="color: #007700">(</span><span style="color: #0000BB">INVENTORY_ALL</span><span style="color: #007700">);&nbsp;</span><span style="color: #0000BB">i</span><span style="color: #007700">++)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">llGetInventoryName</span><span style="color: #007700">(</span><span style="color: #0000BB">INVENTORY_ALL</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">i</span><span style="color: #007700">)&nbsp;==&nbsp;</span><span style="color: #0000BB">NOTECARD_NAME</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">TRUE</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">FALSE</span><span style="color: #007700">;<br />}<br /><br /></span><span style="color: #FF8000">//&nbsp;Löscht&nbsp;die&nbsp;Notecard&nbsp;falls&nbsp;sie&nbsp;existiert<br /></span><span style="color: #0000BB">deleteNotecard</span><span style="color: #007700">()&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">notecardExists</span><span style="color: #007700">())&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llRemoveInventory</span><span style="color: #007700">(</span><span style="color: #0000BB">NOTECARD_NAME</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llSleep</span><span style="color: #007700">(</span><span style="color: #0000BB">1.0</span><span style="color: #007700">);&nbsp;</span><span style="color: #FF8000">//&nbsp;Kurz&nbsp;warten&nbsp;bis&nbsp;das&nbsp;Löschen&nbsp;abgeschlossen&nbsp;ist<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">}<br />}<br /><br /></span><span style="color: #FF8000">//&nbsp;Notecard&nbsp;Lesen<br /></span><span style="color: #0000BB">readNotecard</span><span style="color: #007700">()&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(!</span><span style="color: #0000BB">notecardExists</span><span style="color: #007700">())&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llOwnerSay</span><span style="color: #007700">(</span><span style="color: #DD0000">"Notecard&nbsp;'"&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">NOTECARD_NAME&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #DD0000">"'&nbsp;nicht&nbsp;gefunden.&nbsp;Erstelle&nbsp;neue..."</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">createDefaultNotecard</span><span style="color: #007700">();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">integer&nbsp;lines&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">osGetNumberOfNotecardLines</span><span style="color: #007700">(</span><span style="color: #0000BB">NOTECARD_NAME</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">lines&nbsp;</span><span style="color: #007700">&lt;=&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llOwnerSay</span><span style="color: #007700">(</span><span style="color: #DD0000">"Notecard&nbsp;ist&nbsp;leer&nbsp;oder&nbsp;konnte&nbsp;nicht&nbsp;gelesen&nbsp;werden."</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;Werte&nbsp;zurücksetzen&nbsp;vor&nbsp;dem&nbsp;Laden<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">VarWert1&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #DD0000">""</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">VarWert2&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #DD0000">""</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">VarWert3&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #DD0000">""</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">VarWert4&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #DD0000">""</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">VarWert5&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #DD0000">""</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">integer&nbsp;loadedValues&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(</span><span style="color: #0000BB">integer&nbsp;i&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">;&nbsp;</span><span style="color: #0000BB">i&nbsp;</span><span style="color: #007700">&lt;&nbsp;</span><span style="color: #0000BB">lines</span><span style="color: #007700">;&nbsp;</span><span style="color: #0000BB">i</span><span style="color: #007700">++)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">string&nbsp;line&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">osGetNotecardLine</span><span style="color: #007700">(</span><span style="color: #0000BB">NOTECARD_NAME</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">i</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">llGetSubString</span><span style="color: #007700">(</span><span style="color: #0000BB">line</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">)&nbsp;!=&nbsp;</span><span style="color: #DD0000">"#"&nbsp;</span><span style="color: #007700">&amp;&amp;&nbsp;</span><span style="color: #0000BB">line&nbsp;</span><span style="color: #007700">!=&nbsp;</span><span style="color: #DD0000">""</span><span style="color: #007700">)&nbsp;{&nbsp;</span><span style="color: #FF8000">//&nbsp;Ignoriere&nbsp;Kommentarzeilen<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">list&nbsp;</span><span style="color: #0000BB">parts&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">llParseString2List</span><span style="color: #007700">(</span><span style="color: #0000BB">line</span><span style="color: #007700">,&nbsp;[</span><span style="color: #DD0000">"="</span><span style="color: #007700">],&nbsp;[]);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">llGetListLength</span><span style="color: #007700">(</span><span style="color: #0000BB">parts</span><span style="color: #007700">)&nbsp;==&nbsp;</span><span style="color: #0000BB">2</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">string&nbsp;varName&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">llStringTrim</span><span style="color: #007700">(</span><span style="color: #0000BB">llList2String</span><span style="color: #007700">(</span><span style="color: #0000BB">parts</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">),&nbsp;</span><span style="color: #0000BB">STRING_TRIM</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">string&nbsp;varValue&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">llStringTrim</span><span style="color: #007700">(</span><span style="color: #0000BB">llList2String</span><span style="color: #007700">(</span><span style="color: #0000BB">parts</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">1</span><span style="color: #007700">),&nbsp;</span><span style="color: #0000BB">STRING_TRIM</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">varName&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #DD0000">"VarWert1"</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">VarWert1&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">varValue</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">loadedValues</span><span style="color: #007700">++;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else&nbsp;if&nbsp;(</span><span style="color: #0000BB">varName&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #DD0000">"VarWert2"</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">VarWert2&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">varValue</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">loadedValues</span><span style="color: #007700">++;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else&nbsp;if&nbsp;(</span><span style="color: #0000BB">varName&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #DD0000">"VarWert3"</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">VarWert3&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">varValue</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">loadedValues</span><span style="color: #007700">++;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else&nbsp;if&nbsp;(</span><span style="color: #0000BB">varName&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #DD0000">"VarWert4"</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">VarWert4&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">varValue</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">loadedValues</span><span style="color: #007700">++;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else&nbsp;if&nbsp;(</span><span style="color: #0000BB">varName&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #DD0000">"VarWert5"</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">VarWert5&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">varValue</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">loadedValues</span><span style="color: #007700">++;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llOwnerSay</span><span style="color: #007700">(</span><span style="color: #DD0000">"Notecard&nbsp;erfolgreich&nbsp;gelesen!&nbsp;"&nbsp;</span><span style="color: #007700">+&nbsp;(string)</span><span style="color: #0000BB">loadedValues&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #DD0000">"&nbsp;Werte&nbsp;geladen."</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">displayValues</span><span style="color: #007700">();<br />}<br /><br /></span><span style="color: #FF8000">//&nbsp;Notecard&nbsp;Schreiben<br /></span><span style="color: #0000BB">writeNotecard</span><span style="color: #007700">()&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">writingNotecard&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">TRUE</span><span style="color: #007700">;&nbsp;</span><span style="color: #FF8000">//&nbsp;Flag&nbsp;setzen&nbsp;um&nbsp;Endlosschleife&nbsp;zu&nbsp;vermeiden<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">string&nbsp;notecardContent&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #DD0000">"#&nbsp;Automatisch&nbsp;generierte&nbsp;Notecard&#092;n"</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">notecardContent&nbsp;</span><span style="color: #007700">+=&nbsp;</span><span style="color: #DD0000">"#&nbsp;Wird&nbsp;bei&nbsp;Regionsneustart&nbsp;automatisch&nbsp;geladen&#092;n&#092;n"</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">notecardContent&nbsp;</span><span style="color: #007700">+=&nbsp;</span><span style="color: #DD0000">"VarWert1="&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">VarWert1&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #DD0000">"&#092;n"</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">notecardContent&nbsp;</span><span style="color: #007700">+=&nbsp;</span><span style="color: #DD0000">"VarWert2="&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">VarWert2&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #DD0000">"&#092;n"</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">notecardContent&nbsp;</span><span style="color: #007700">+=&nbsp;</span><span style="color: #DD0000">"VarWert3="&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">VarWert3&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #DD0000">"&#092;n"</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">notecardContent&nbsp;</span><span style="color: #007700">+=&nbsp;</span><span style="color: #DD0000">"VarWert4="&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">VarWert4&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #DD0000">"&#092;n"</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">notecardContent&nbsp;</span><span style="color: #007700">+=&nbsp;</span><span style="color: #DD0000">"VarWert5="&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">VarWert5&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #DD0000">"&#092;n"</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;Alte&nbsp;Notecard&nbsp;löschen&nbsp;falls&nbsp;sie&nbsp;existiert<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">deleteNotecard</span><span style="color: #007700">();<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;Kurz&nbsp;warten&nbsp;bevor&nbsp;neue&nbsp;Notecard&nbsp;erstellt&nbsp;wird<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llSleep</span><span style="color: #007700">(</span><span style="color: #0000BB">0.5</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;Neue&nbsp;Notecard&nbsp;erstellen<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">osMakeNotecard</span><span style="color: #007700">(</span><span style="color: #0000BB">NOTECARD_NAME</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">notecardContent</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llOwnerSay</span><span style="color: #007700">(</span><span style="color: #DD0000">"Notecard&nbsp;geschrieben!"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;Kurz&nbsp;warten&nbsp;und&nbsp;Flag&nbsp;zurücksetzen<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llSleep</span><span style="color: #007700">(</span><span style="color: #0000BB">1.0</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">writingNotecard&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">FALSE</span><span style="color: #007700">;<br />}<br /><br /></span><span style="color: #FF8000">//&nbsp;Standard-Notecard&nbsp;erstellen<br /></span><span style="color: #0000BB">createDefaultNotecard</span><span style="color: #007700">()&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">VarWert1&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #DD0000">"Standardwert1"</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">VarWert2&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #DD0000">"Standardwert2"</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">VarWert3&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #DD0000">"Standardwert3"</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">VarWert4&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #DD0000">"Standardwert4"</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">VarWert5&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #DD0000">"Standardwert5"</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">writeNotecard</span><span style="color: #007700">();<br />}<br /><br /></span><span style="color: #FF8000">//&nbsp;Werte&nbsp;anzeigen<br /></span><span style="color: #0000BB">displayValues</span><span style="color: #007700">()&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llOwnerSay</span><span style="color: #007700">(</span><span style="color: #DD0000">"Aktuelle&nbsp;Werte:"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llOwnerSay</span><span style="color: #007700">(</span><span style="color: #DD0000">"VarWert1:&nbsp;"&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">VarWert1</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llOwnerSay</span><span style="color: #007700">(</span><span style="color: #DD0000">"VarWert2:&nbsp;"&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">VarWert2</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llOwnerSay</span><span style="color: #007700">(</span><span style="color: #DD0000">"VarWert3:&nbsp;"&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">VarWert3</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llOwnerSay</span><span style="color: #007700">(</span><span style="color: #DD0000">"VarWert4:&nbsp;"&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">VarWert4</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llOwnerSay</span><span style="color: #007700">(</span><span style="color: #DD0000">"VarWert5:&nbsp;"&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">VarWert5</span><span style="color: #007700">);<br />}<br /><br /></span><span style="color: #FF8000">//&nbsp;Werte&nbsp;setzen<br /></span><span style="color: #0000BB">setValue</span><span style="color: #007700">(</span><span style="color: #0000BB">string&nbsp;varName</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">string&nbsp;value</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">varName&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #DD0000">"VarWert1"</span><span style="color: #007700">)&nbsp;</span><span style="color: #0000BB">VarWert1&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">value</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;else&nbsp;if&nbsp;(</span><span style="color: #0000BB">varName&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #DD0000">"VarWert2"</span><span style="color: #007700">)&nbsp;</span><span style="color: #0000BB">VarWert2&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">value</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;else&nbsp;if&nbsp;(</span><span style="color: #0000BB">varName&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #DD0000">"VarWert3"</span><span style="color: #007700">)&nbsp;</span><span style="color: #0000BB">VarWert3&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">value</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;else&nbsp;if&nbsp;(</span><span style="color: #0000BB">varName&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #DD0000">"VarWert4"</span><span style="color: #007700">)&nbsp;</span><span style="color: #0000BB">VarWert4&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">value</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;else&nbsp;if&nbsp;(</span><span style="color: #0000BB">varName&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #DD0000">"VarWert5"</span><span style="color: #007700">)&nbsp;</span><span style="color: #0000BB">VarWert5&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">value</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;else&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llOwnerSay</span><span style="color: #007700">(</span><span style="color: #DD0000">"Unbekannte&nbsp;Variable:&nbsp;"&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">varName</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llOwnerSay</span><span style="color: #007700">(</span><span style="color: #0000BB">varName&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #DD0000">"&nbsp;auf&nbsp;'"&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">value&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #DD0000">"'&nbsp;gesetzt"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">writeNotecard</span><span style="color: #007700">();&nbsp;</span><span style="color: #FF8000">//&nbsp;Automatisch&nbsp;speichern&nbsp;bei&nbsp;Änderung<br /></span><span style="color: #007700">}<br /><br /></span><span style="color: #FF8000">//&nbsp;Regionsneustart&nbsp;simulieren&nbsp;(für&nbsp;Testzwecke)<br /></span><span style="color: #0000BB">testRegionRestart</span><span style="color: #007700">()&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llOwnerSay</span><span style="color: #007700">(</span><span style="color: #DD0000">"===&nbsp;Simuliere&nbsp;Regionsneustart&nbsp;==="</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llSleep</span><span style="color: #007700">(</span><span style="color: #0000BB">2.0</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">readNotecard</span><span style="color: #007700">();<br />}<br /><br />default&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">state_entry</span><span style="color: #007700">()&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llOwnerSay</span><span style="color: #007700">(</span><span style="color: #DD0000">"Script&nbsp;gestartet&nbsp;-&nbsp;Lade&nbsp;Daten&nbsp;von&nbsp;Notecard..."</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;Warte&nbsp;kurz&nbsp;bis&nbsp;alles&nbsp;geladen&nbsp;ist<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llSleep</span><span style="color: #007700">(</span><span style="color: #0000BB">2.0</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">readNotecard</span><span style="color: #007700">();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;Listen&nbsp;auf&nbsp;Chat-Kommandos<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llListen</span><span style="color: #007700">(</span><span style="color: #0000BB">SCRIPT_HANDLE</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">""</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">llGetOwner</span><span style="color: #007700">(),&nbsp;</span><span style="color: #DD0000">""</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llOwnerSay</span><span style="color: #007700">(</span><span style="color: #DD0000">"Verfügbare&nbsp;Kommandos:"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llOwnerSay</span><span style="color: #007700">(</span><span style="color: #DD0000">"/"&nbsp;</span><span style="color: #007700">+&nbsp;(string)</span><span style="color: #0000BB">SCRIPT_HANDLE&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #DD0000">"&nbsp;show&nbsp;-&nbsp;Zeige&nbsp;aktuelle&nbsp;Werte"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llOwnerSay</span><span style="color: #007700">(</span><span style="color: #DD0000">"/"&nbsp;</span><span style="color: #007700">+&nbsp;(string)</span><span style="color: #0000BB">SCRIPT_HANDLE&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #DD0000">"&nbsp;set&nbsp;VarWert1&nbsp;NeuerWert&nbsp;-&nbsp;Setze&nbsp;einen&nbsp;Wert"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llOwnerSay</span><span style="color: #007700">(</span><span style="color: #DD0000">"/"&nbsp;</span><span style="color: #007700">+&nbsp;(string)</span><span style="color: #0000BB">SCRIPT_HANDLE&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #DD0000">"&nbsp;save&nbsp;-&nbsp;Speichere&nbsp;Werte&nbsp;manuell"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llOwnerSay</span><span style="color: #007700">(</span><span style="color: #DD0000">"/"&nbsp;</span><span style="color: #007700">+&nbsp;(string)</span><span style="color: #0000BB">SCRIPT_HANDLE&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #DD0000">"&nbsp;load&nbsp;-&nbsp;Lade&nbsp;Werte&nbsp;neu"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llOwnerSay</span><span style="color: #007700">(</span><span style="color: #DD0000">"/"&nbsp;</span><span style="color: #007700">+&nbsp;(string)</span><span style="color: #0000BB">SCRIPT_HANDLE&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #DD0000">"&nbsp;reset&nbsp;-&nbsp;Setze&nbsp;alle&nbsp;Werte&nbsp;zurück"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llOwnerSay</span><span style="color: #007700">(</span><span style="color: #DD0000">"/"&nbsp;</span><span style="color: #007700">+&nbsp;(string)</span><span style="color: #0000BB">SCRIPT_HANDLE&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #DD0000">"&nbsp;test&nbsp;-&nbsp;Simuliere&nbsp;Regionsneustart"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llOwnerSay</span><span style="color: #007700">(</span><span style="color: #DD0000">"/"&nbsp;</span><span style="color: #007700">+&nbsp;(string)</span><span style="color: #0000BB">SCRIPT_HANDLE&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #DD0000">"&nbsp;verify&nbsp;-&nbsp;Prüfe&nbsp;Notecard-Existenz"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llOwnerSay</span><span style="color: #007700">(</span><span style="color: #DD0000">"/"&nbsp;</span><span style="color: #007700">+&nbsp;(string)</span><span style="color: #0000BB">SCRIPT_HANDLE&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #DD0000">"&nbsp;delete&nbsp;-&nbsp;Lösche&nbsp;die&nbsp;Notecard"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">on_rez</span><span style="color: #007700">(</span><span style="color: #0000BB">integer&nbsp;start_param</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llResetScript</span><span style="color: #007700">();<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">changed</span><span style="color: #007700">(</span><span style="color: #0000BB">integer&nbsp;change</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">change&nbsp;</span><span style="color: #007700">&amp;&nbsp;</span><span style="color: #0000BB">CHANGED_REGION_START</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llOwnerSay</span><span style="color: #007700">(</span><span style="color: #DD0000">"Region&nbsp;neu&nbsp;gestartet&nbsp;-&nbsp;Lade&nbsp;Daten..."</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llSleep</span><span style="color: #007700">(</span><span style="color: #0000BB">5.0</span><span style="color: #007700">);&nbsp;</span><span style="color: #FF8000">//&nbsp;Warte&nbsp;bis&nbsp;die&nbsp;Region&nbsp;vollständig&nbsp;geladen&nbsp;ist<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">readNotecard</span><span style="color: #007700">();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">change&nbsp;</span><span style="color: #007700">&amp;&nbsp;</span><span style="color: #0000BB">CHANGED_INVENTORY</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;Ignoriere&nbsp;CHANGED_INVENTORY&nbsp;wenn&nbsp;wir&nbsp;selbst&nbsp;die&nbsp;Notecard&nbsp;schreiben<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">if&nbsp;(!</span><span style="color: #0000BB">writingNotecard</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llSleep</span><span style="color: #007700">(</span><span style="color: #0000BB">2.0</span><span style="color: #007700">);&nbsp;</span><span style="color: #FF8000">//&nbsp;Warte&nbsp;bis&nbsp;die&nbsp;Notecard&nbsp;geladen&nbsp;ist<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llOwnerSay</span><span style="color: #007700">(</span><span style="color: #DD0000">"Inventory&nbsp;geändert&nbsp;-&nbsp;Lade&nbsp;Notecard&nbsp;neu..."</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">readNotecard</span><span style="color: #007700">();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">listen</span><span style="color: #007700">(</span><span style="color: #0000BB">integer&nbsp;channel</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">string&nbsp;name</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">key&nbsp;id</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">string&nbsp;message</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">channel&nbsp;</span><span style="color: #007700">!=&nbsp;</span><span style="color: #0000BB">SCRIPT_HANDLE</span><span style="color: #007700">)&nbsp;return;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;list&nbsp;</span><span style="color: #0000BB">args&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">llParseString2List</span><span style="color: #007700">(</span><span style="color: #0000BB">message</span><span style="color: #007700">,&nbsp;[</span><span style="color: #DD0000">"&nbsp;"</span><span style="color: #007700">],&nbsp;[]);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">string&nbsp;command&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">llList2String</span><span style="color: #007700">(</span><span style="color: #0000BB">args</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">command&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #DD0000">"show"</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">displayValues</span><span style="color: #007700">();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else&nbsp;if&nbsp;(</span><span style="color: #0000BB">command&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #DD0000">"set"</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">llGetListLength</span><span style="color: #007700">(</span><span style="color: #0000BB">args</span><span style="color: #007700">)&nbsp;&gt;=&nbsp;</span><span style="color: #0000BB">3</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">string&nbsp;varName&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">llList2String</span><span style="color: #007700">(</span><span style="color: #0000BB">args</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">1</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">string&nbsp;value&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">llDumpList2String</span><span style="color: #007700">(</span><span style="color: #0000BB">llList2List</span><span style="color: #007700">(</span><span style="color: #0000BB">args</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">2</span><span style="color: #007700">,&nbsp;-</span><span style="color: #0000BB">1</span><span style="color: #007700">),&nbsp;</span><span style="color: #DD0000">"&nbsp;"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">setValue</span><span style="color: #007700">(</span><span style="color: #0000BB">varName</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">value</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;else&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llOwnerSay</span><span style="color: #007700">(</span><span style="color: #DD0000">"Syntax:&nbsp;set&nbsp;VarName&nbsp;Wert"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else&nbsp;if&nbsp;(</span><span style="color: #0000BB">command&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #DD0000">"save"</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">writeNotecard</span><span style="color: #007700">();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else&nbsp;if&nbsp;(</span><span style="color: #0000BB">command&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #DD0000">"load"</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">readNotecard</span><span style="color: #007700">();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else&nbsp;if&nbsp;(</span><span style="color: #0000BB">command&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #DD0000">"reset"</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llOwnerSay</span><span style="color: #007700">(</span><span style="color: #DD0000">"Setze&nbsp;alle&nbsp;Werte&nbsp;zurück..."</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">createDefaultNotecard</span><span style="color: #007700">();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else&nbsp;if&nbsp;(</span><span style="color: #0000BB">command&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #DD0000">"test"</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">testRegionRestart</span><span style="color: #007700">();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else&nbsp;if&nbsp;(</span><span style="color: #0000BB">command&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #DD0000">"verify"</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">notecardExists</span><span style="color: #007700">())&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llOwnerSay</span><span style="color: #007700">(</span><span style="color: #DD0000">"Notecard&nbsp;'"&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">NOTECARD_NAME&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #DD0000">"'&nbsp;existiert."</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">integer&nbsp;lines&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">osGetNumberOfNotecardLines</span><span style="color: #007700">(</span><span style="color: #0000BB">NOTECARD_NAME</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llOwnerSay</span><span style="color: #007700">(</span><span style="color: #DD0000">"Notecard&nbsp;hat&nbsp;"&nbsp;</span><span style="color: #007700">+&nbsp;(string)</span><span style="color: #0000BB">lines&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #DD0000">"&nbsp;Zeilen."</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;else&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llOwnerSay</span><span style="color: #007700">(</span><span style="color: #DD0000">"Notecard&nbsp;'"&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">NOTECARD_NAME&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #DD0000">"'&nbsp;existiert&nbsp;NICHT."</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else&nbsp;if&nbsp;(</span><span style="color: #0000BB">command&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #DD0000">"delete"</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">notecardExists</span><span style="color: #007700">())&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">deleteNotecard</span><span style="color: #007700">();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llOwnerSay</span><span style="color: #007700">(</span><span style="color: #DD0000">"Notecard&nbsp;'"&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">NOTECARD_NAME&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #DD0000">"'&nbsp;gelöscht."</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;else&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llOwnerSay</span><span style="color: #007700">(</span><span style="color: #DD0000">"Notecard&nbsp;'"&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">NOTECARD_NAME&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #DD0000">"'&nbsp;existiert&nbsp;nicht."</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llOwnerSay</span><span style="color: #007700">(</span><span style="color: #DD0000">"Unbekanntes&nbsp;Kommando:&nbsp;"&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">command</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llOwnerSay</span><span style="color: #007700">(</span><span style="color: #DD0000">"Verfügbare&nbsp;Kommandos:&nbsp;show,&nbsp;set,&nbsp;save,&nbsp;load,&nbsp;reset,&nbsp;test,&nbsp;verify,&nbsp;delete"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />}&nbsp;<br /></span></code></div></div></div><br />
<img src="https://i.pinimg.com/1200x/cc/4c/0c/cc4c0c7c48e3324d3e989df89aca13f7.jpg" loading="lazy"  alt="[Bild: cc4c0c7c48e3324d3e989df89aca13f7.jpg]" class="mycode_img" /><br />
<span style="font-weight: bold;" class="mycode_b">Error Bild</span>]]></description>
			<content:encoded><![CDATA[<span style="font-size: x-large;" class="mycode_size">Skript stoppt bei Neustart und Daten weg</span><br />
Hier ist ein selbsterklärendes Skript, <br />
welches euch zeigt, wie man seine Werte <br />
aus einem Skript in eine Notecard speichert <br />
und diese beim Neustart wieder einlädt.<br />
<br />
<br />
<div class="codeblock phpcodeblock"><div class="title">PHP-Code:</div><div class="body"><div dir="ltr"><code><span style="color: #FF8000">/*<br />**Funktionen&nbsp;des&nbsp;Skripts:**<br /><br />1.&nbsp;**Automatischer&nbsp;Start&nbsp;bei&nbsp;Regionsneustart**:&nbsp;Das&nbsp;Skript&nbsp;wird&nbsp;automatisch&nbsp;neu&nbsp;gestartet&nbsp;und&nbsp;lädt&nbsp;die&nbsp;gespeicherten&nbsp;Werte.<br /><br />2.&nbsp;**Notecard-Operationen**:<br />&nbsp;&nbsp;&nbsp;-&nbsp;`readNotecard()`:&nbsp;Liest&nbsp;alle&nbsp;Werte&nbsp;aus&nbsp;der&nbsp;Notecard<br />&nbsp;&nbsp;&nbsp;-&nbsp;`writeNotecard()`:&nbsp;Schreibt&nbsp;alle&nbsp;Werte&nbsp;in&nbsp;die&nbsp;Notecard<br />&nbsp;&nbsp;&nbsp;-&nbsp;`createDefaultNotecard()`:&nbsp;Erstellt&nbsp;eine&nbsp;Notecard&nbsp;mit&nbsp;Standardwerten<br /><br />3.&nbsp;**Chat-Kommandos**:<br />-&nbsp;/12345&nbsp;show&nbsp;-&nbsp;Zeige&nbsp;aktuelle&nbsp;Werte<br />-&nbsp;/12345&nbsp;set&nbsp;VarWert1&nbsp;NeuerWert&nbsp;-&nbsp;Setze&nbsp;einen&nbsp;Wert<br />-&nbsp;/12345&nbsp;save&nbsp;-&nbsp;Speichere&nbsp;Werte&nbsp;manuell<br />-&nbsp;/12345&nbsp;load&nbsp;-&nbsp;Lade&nbsp;Werte&nbsp;neu<br />-&nbsp;/12345&nbsp;reset&nbsp;-&nbsp;Setze&nbsp;alle&nbsp;Werte&nbsp;zurück<br />-&nbsp;/12345&nbsp;test&nbsp;-&nbsp;Simuliere&nbsp;Regionsneustart<br />-&nbsp;/12345&nbsp;verify&nbsp;-&nbsp;Prüfe&nbsp;Notecard-Existenz<br />-&nbsp;/12345&nbsp;delete&nbsp;-&nbsp;Lösche&nbsp;die&nbsp;Notecard<br /><br />4.&nbsp;**Automatisches&nbsp;Speichern**:&nbsp;Bei&nbsp;jeder&nbsp;Änderung&nbsp;werden&nbsp;die&nbsp;Werte&nbsp;automatisch&nbsp;gespeichert.<br /><br />**Verwendung:**<br />1.&nbsp;Das&nbsp;Skript&nbsp;in&nbsp;ein&nbsp;Objekt&nbsp;legen<br />2.&nbsp;Das&nbsp;Objekt&nbsp;rezzen<br />3.&nbsp;Mit&nbsp;den&nbsp;Chat-Kommandos&nbsp;Werte&nbsp;setzen&nbsp;und&nbsp;verwalten<br />&nbsp;<br />Die&nbsp;Daten&nbsp;werden&nbsp;in&nbsp;der&nbsp;Notecard&nbsp;"DatenNotecard"&nbsp;im&nbsp;Format&nbsp;`Variablenname=Wert`&nbsp;gespeichert.<br />*/<br /><br />//&nbsp;Konfiguration<br /></span><span style="color: #0000BB">string&nbsp;NOTECARD_NAME&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #DD0000">"DatenNotecard"</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">integer&nbsp;SCRIPT_HANDLE&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">12345</span><span style="color: #007700">;&nbsp;</span><span style="color: #FF8000">//&nbsp;Eindeutige&nbsp;ID&nbsp;für&nbsp;diesen&nbsp;Script<br /><br />//&nbsp;Variablen<br /></span><span style="color: #0000BB">string&nbsp;VarWert1</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">string&nbsp;VarWert2</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">string&nbsp;VarWert3</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">string&nbsp;VarWert4</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">string&nbsp;VarWert5</span><span style="color: #007700">;<br /><br /></span><span style="color: #0000BB">integer&nbsp;writingNotecard&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">FALSE</span><span style="color: #007700">;&nbsp;</span><span style="color: #FF8000">//&nbsp;Flag&nbsp;um&nbsp;Endlosschleifen&nbsp;zu&nbsp;vermeiden<br /><br />//&nbsp;Prüft&nbsp;ob&nbsp;Notecard&nbsp;existiert<br /></span><span style="color: #0000BB">integer&nbsp;notecardExists</span><span style="color: #007700">()&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">integer&nbsp;i</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(</span><span style="color: #0000BB">i&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">;&nbsp;</span><span style="color: #0000BB">i&nbsp;</span><span style="color: #007700">&lt;&nbsp;</span><span style="color: #0000BB">llGetInventoryNumber</span><span style="color: #007700">(</span><span style="color: #0000BB">INVENTORY_ALL</span><span style="color: #007700">);&nbsp;</span><span style="color: #0000BB">i</span><span style="color: #007700">++)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">llGetInventoryName</span><span style="color: #007700">(</span><span style="color: #0000BB">INVENTORY_ALL</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">i</span><span style="color: #007700">)&nbsp;==&nbsp;</span><span style="color: #0000BB">NOTECARD_NAME</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">TRUE</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">FALSE</span><span style="color: #007700">;<br />}<br /><br /></span><span style="color: #FF8000">//&nbsp;Löscht&nbsp;die&nbsp;Notecard&nbsp;falls&nbsp;sie&nbsp;existiert<br /></span><span style="color: #0000BB">deleteNotecard</span><span style="color: #007700">()&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">notecardExists</span><span style="color: #007700">())&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llRemoveInventory</span><span style="color: #007700">(</span><span style="color: #0000BB">NOTECARD_NAME</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llSleep</span><span style="color: #007700">(</span><span style="color: #0000BB">1.0</span><span style="color: #007700">);&nbsp;</span><span style="color: #FF8000">//&nbsp;Kurz&nbsp;warten&nbsp;bis&nbsp;das&nbsp;Löschen&nbsp;abgeschlossen&nbsp;ist<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">}<br />}<br /><br /></span><span style="color: #FF8000">//&nbsp;Notecard&nbsp;Lesen<br /></span><span style="color: #0000BB">readNotecard</span><span style="color: #007700">()&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(!</span><span style="color: #0000BB">notecardExists</span><span style="color: #007700">())&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llOwnerSay</span><span style="color: #007700">(</span><span style="color: #DD0000">"Notecard&nbsp;'"&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">NOTECARD_NAME&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #DD0000">"'&nbsp;nicht&nbsp;gefunden.&nbsp;Erstelle&nbsp;neue..."</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">createDefaultNotecard</span><span style="color: #007700">();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">integer&nbsp;lines&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">osGetNumberOfNotecardLines</span><span style="color: #007700">(</span><span style="color: #0000BB">NOTECARD_NAME</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">lines&nbsp;</span><span style="color: #007700">&lt;=&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llOwnerSay</span><span style="color: #007700">(</span><span style="color: #DD0000">"Notecard&nbsp;ist&nbsp;leer&nbsp;oder&nbsp;konnte&nbsp;nicht&nbsp;gelesen&nbsp;werden."</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;Werte&nbsp;zurücksetzen&nbsp;vor&nbsp;dem&nbsp;Laden<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">VarWert1&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #DD0000">""</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">VarWert2&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #DD0000">""</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">VarWert3&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #DD0000">""</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">VarWert4&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #DD0000">""</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">VarWert5&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #DD0000">""</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">integer&nbsp;loadedValues&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(</span><span style="color: #0000BB">integer&nbsp;i&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">;&nbsp;</span><span style="color: #0000BB">i&nbsp;</span><span style="color: #007700">&lt;&nbsp;</span><span style="color: #0000BB">lines</span><span style="color: #007700">;&nbsp;</span><span style="color: #0000BB">i</span><span style="color: #007700">++)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">string&nbsp;line&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">osGetNotecardLine</span><span style="color: #007700">(</span><span style="color: #0000BB">NOTECARD_NAME</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">i</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">llGetSubString</span><span style="color: #007700">(</span><span style="color: #0000BB">line</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">)&nbsp;!=&nbsp;</span><span style="color: #DD0000">"#"&nbsp;</span><span style="color: #007700">&amp;&amp;&nbsp;</span><span style="color: #0000BB">line&nbsp;</span><span style="color: #007700">!=&nbsp;</span><span style="color: #DD0000">""</span><span style="color: #007700">)&nbsp;{&nbsp;</span><span style="color: #FF8000">//&nbsp;Ignoriere&nbsp;Kommentarzeilen<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">list&nbsp;</span><span style="color: #0000BB">parts&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">llParseString2List</span><span style="color: #007700">(</span><span style="color: #0000BB">line</span><span style="color: #007700">,&nbsp;[</span><span style="color: #DD0000">"="</span><span style="color: #007700">],&nbsp;[]);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">llGetListLength</span><span style="color: #007700">(</span><span style="color: #0000BB">parts</span><span style="color: #007700">)&nbsp;==&nbsp;</span><span style="color: #0000BB">2</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">string&nbsp;varName&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">llStringTrim</span><span style="color: #007700">(</span><span style="color: #0000BB">llList2String</span><span style="color: #007700">(</span><span style="color: #0000BB">parts</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">),&nbsp;</span><span style="color: #0000BB">STRING_TRIM</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">string&nbsp;varValue&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">llStringTrim</span><span style="color: #007700">(</span><span style="color: #0000BB">llList2String</span><span style="color: #007700">(</span><span style="color: #0000BB">parts</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">1</span><span style="color: #007700">),&nbsp;</span><span style="color: #0000BB">STRING_TRIM</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">varName&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #DD0000">"VarWert1"</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">VarWert1&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">varValue</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">loadedValues</span><span style="color: #007700">++;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else&nbsp;if&nbsp;(</span><span style="color: #0000BB">varName&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #DD0000">"VarWert2"</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">VarWert2&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">varValue</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">loadedValues</span><span style="color: #007700">++;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else&nbsp;if&nbsp;(</span><span style="color: #0000BB">varName&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #DD0000">"VarWert3"</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">VarWert3&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">varValue</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">loadedValues</span><span style="color: #007700">++;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else&nbsp;if&nbsp;(</span><span style="color: #0000BB">varName&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #DD0000">"VarWert4"</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">VarWert4&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">varValue</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">loadedValues</span><span style="color: #007700">++;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else&nbsp;if&nbsp;(</span><span style="color: #0000BB">varName&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #DD0000">"VarWert5"</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">VarWert5&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">varValue</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">loadedValues</span><span style="color: #007700">++;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llOwnerSay</span><span style="color: #007700">(</span><span style="color: #DD0000">"Notecard&nbsp;erfolgreich&nbsp;gelesen!&nbsp;"&nbsp;</span><span style="color: #007700">+&nbsp;(string)</span><span style="color: #0000BB">loadedValues&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #DD0000">"&nbsp;Werte&nbsp;geladen."</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">displayValues</span><span style="color: #007700">();<br />}<br /><br /></span><span style="color: #FF8000">//&nbsp;Notecard&nbsp;Schreiben<br /></span><span style="color: #0000BB">writeNotecard</span><span style="color: #007700">()&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">writingNotecard&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">TRUE</span><span style="color: #007700">;&nbsp;</span><span style="color: #FF8000">//&nbsp;Flag&nbsp;setzen&nbsp;um&nbsp;Endlosschleife&nbsp;zu&nbsp;vermeiden<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">string&nbsp;notecardContent&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #DD0000">"#&nbsp;Automatisch&nbsp;generierte&nbsp;Notecard&#092;n"</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">notecardContent&nbsp;</span><span style="color: #007700">+=&nbsp;</span><span style="color: #DD0000">"#&nbsp;Wird&nbsp;bei&nbsp;Regionsneustart&nbsp;automatisch&nbsp;geladen&#092;n&#092;n"</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">notecardContent&nbsp;</span><span style="color: #007700">+=&nbsp;</span><span style="color: #DD0000">"VarWert1="&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">VarWert1&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #DD0000">"&#092;n"</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">notecardContent&nbsp;</span><span style="color: #007700">+=&nbsp;</span><span style="color: #DD0000">"VarWert2="&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">VarWert2&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #DD0000">"&#092;n"</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">notecardContent&nbsp;</span><span style="color: #007700">+=&nbsp;</span><span style="color: #DD0000">"VarWert3="&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">VarWert3&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #DD0000">"&#092;n"</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">notecardContent&nbsp;</span><span style="color: #007700">+=&nbsp;</span><span style="color: #DD0000">"VarWert4="&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">VarWert4&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #DD0000">"&#092;n"</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">notecardContent&nbsp;</span><span style="color: #007700">+=&nbsp;</span><span style="color: #DD0000">"VarWert5="&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">VarWert5&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #DD0000">"&#092;n"</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;Alte&nbsp;Notecard&nbsp;löschen&nbsp;falls&nbsp;sie&nbsp;existiert<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">deleteNotecard</span><span style="color: #007700">();<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;Kurz&nbsp;warten&nbsp;bevor&nbsp;neue&nbsp;Notecard&nbsp;erstellt&nbsp;wird<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llSleep</span><span style="color: #007700">(</span><span style="color: #0000BB">0.5</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;Neue&nbsp;Notecard&nbsp;erstellen<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">osMakeNotecard</span><span style="color: #007700">(</span><span style="color: #0000BB">NOTECARD_NAME</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">notecardContent</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llOwnerSay</span><span style="color: #007700">(</span><span style="color: #DD0000">"Notecard&nbsp;geschrieben!"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;Kurz&nbsp;warten&nbsp;und&nbsp;Flag&nbsp;zurücksetzen<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llSleep</span><span style="color: #007700">(</span><span style="color: #0000BB">1.0</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">writingNotecard&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">FALSE</span><span style="color: #007700">;<br />}<br /><br /></span><span style="color: #FF8000">//&nbsp;Standard-Notecard&nbsp;erstellen<br /></span><span style="color: #0000BB">createDefaultNotecard</span><span style="color: #007700">()&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">VarWert1&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #DD0000">"Standardwert1"</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">VarWert2&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #DD0000">"Standardwert2"</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">VarWert3&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #DD0000">"Standardwert3"</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">VarWert4&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #DD0000">"Standardwert4"</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">VarWert5&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #DD0000">"Standardwert5"</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">writeNotecard</span><span style="color: #007700">();<br />}<br /><br /></span><span style="color: #FF8000">//&nbsp;Werte&nbsp;anzeigen<br /></span><span style="color: #0000BB">displayValues</span><span style="color: #007700">()&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llOwnerSay</span><span style="color: #007700">(</span><span style="color: #DD0000">"Aktuelle&nbsp;Werte:"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llOwnerSay</span><span style="color: #007700">(</span><span style="color: #DD0000">"VarWert1:&nbsp;"&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">VarWert1</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llOwnerSay</span><span style="color: #007700">(</span><span style="color: #DD0000">"VarWert2:&nbsp;"&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">VarWert2</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llOwnerSay</span><span style="color: #007700">(</span><span style="color: #DD0000">"VarWert3:&nbsp;"&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">VarWert3</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llOwnerSay</span><span style="color: #007700">(</span><span style="color: #DD0000">"VarWert4:&nbsp;"&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">VarWert4</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llOwnerSay</span><span style="color: #007700">(</span><span style="color: #DD0000">"VarWert5:&nbsp;"&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">VarWert5</span><span style="color: #007700">);<br />}<br /><br /></span><span style="color: #FF8000">//&nbsp;Werte&nbsp;setzen<br /></span><span style="color: #0000BB">setValue</span><span style="color: #007700">(</span><span style="color: #0000BB">string&nbsp;varName</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">string&nbsp;value</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">varName&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #DD0000">"VarWert1"</span><span style="color: #007700">)&nbsp;</span><span style="color: #0000BB">VarWert1&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">value</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;else&nbsp;if&nbsp;(</span><span style="color: #0000BB">varName&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #DD0000">"VarWert2"</span><span style="color: #007700">)&nbsp;</span><span style="color: #0000BB">VarWert2&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">value</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;else&nbsp;if&nbsp;(</span><span style="color: #0000BB">varName&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #DD0000">"VarWert3"</span><span style="color: #007700">)&nbsp;</span><span style="color: #0000BB">VarWert3&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">value</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;else&nbsp;if&nbsp;(</span><span style="color: #0000BB">varName&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #DD0000">"VarWert4"</span><span style="color: #007700">)&nbsp;</span><span style="color: #0000BB">VarWert4&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">value</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;else&nbsp;if&nbsp;(</span><span style="color: #0000BB">varName&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #DD0000">"VarWert5"</span><span style="color: #007700">)&nbsp;</span><span style="color: #0000BB">VarWert5&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">value</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;else&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llOwnerSay</span><span style="color: #007700">(</span><span style="color: #DD0000">"Unbekannte&nbsp;Variable:&nbsp;"&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">varName</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llOwnerSay</span><span style="color: #007700">(</span><span style="color: #0000BB">varName&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #DD0000">"&nbsp;auf&nbsp;'"&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">value&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #DD0000">"'&nbsp;gesetzt"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">writeNotecard</span><span style="color: #007700">();&nbsp;</span><span style="color: #FF8000">//&nbsp;Automatisch&nbsp;speichern&nbsp;bei&nbsp;Änderung<br /></span><span style="color: #007700">}<br /><br /></span><span style="color: #FF8000">//&nbsp;Regionsneustart&nbsp;simulieren&nbsp;(für&nbsp;Testzwecke)<br /></span><span style="color: #0000BB">testRegionRestart</span><span style="color: #007700">()&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llOwnerSay</span><span style="color: #007700">(</span><span style="color: #DD0000">"===&nbsp;Simuliere&nbsp;Regionsneustart&nbsp;==="</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llSleep</span><span style="color: #007700">(</span><span style="color: #0000BB">2.0</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">readNotecard</span><span style="color: #007700">();<br />}<br /><br />default&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">state_entry</span><span style="color: #007700">()&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llOwnerSay</span><span style="color: #007700">(</span><span style="color: #DD0000">"Script&nbsp;gestartet&nbsp;-&nbsp;Lade&nbsp;Daten&nbsp;von&nbsp;Notecard..."</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;Warte&nbsp;kurz&nbsp;bis&nbsp;alles&nbsp;geladen&nbsp;ist<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llSleep</span><span style="color: #007700">(</span><span style="color: #0000BB">2.0</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">readNotecard</span><span style="color: #007700">();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;Listen&nbsp;auf&nbsp;Chat-Kommandos<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llListen</span><span style="color: #007700">(</span><span style="color: #0000BB">SCRIPT_HANDLE</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">""</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">llGetOwner</span><span style="color: #007700">(),&nbsp;</span><span style="color: #DD0000">""</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llOwnerSay</span><span style="color: #007700">(</span><span style="color: #DD0000">"Verfügbare&nbsp;Kommandos:"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llOwnerSay</span><span style="color: #007700">(</span><span style="color: #DD0000">"/"&nbsp;</span><span style="color: #007700">+&nbsp;(string)</span><span style="color: #0000BB">SCRIPT_HANDLE&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #DD0000">"&nbsp;show&nbsp;-&nbsp;Zeige&nbsp;aktuelle&nbsp;Werte"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llOwnerSay</span><span style="color: #007700">(</span><span style="color: #DD0000">"/"&nbsp;</span><span style="color: #007700">+&nbsp;(string)</span><span style="color: #0000BB">SCRIPT_HANDLE&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #DD0000">"&nbsp;set&nbsp;VarWert1&nbsp;NeuerWert&nbsp;-&nbsp;Setze&nbsp;einen&nbsp;Wert"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llOwnerSay</span><span style="color: #007700">(</span><span style="color: #DD0000">"/"&nbsp;</span><span style="color: #007700">+&nbsp;(string)</span><span style="color: #0000BB">SCRIPT_HANDLE&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #DD0000">"&nbsp;save&nbsp;-&nbsp;Speichere&nbsp;Werte&nbsp;manuell"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llOwnerSay</span><span style="color: #007700">(</span><span style="color: #DD0000">"/"&nbsp;</span><span style="color: #007700">+&nbsp;(string)</span><span style="color: #0000BB">SCRIPT_HANDLE&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #DD0000">"&nbsp;load&nbsp;-&nbsp;Lade&nbsp;Werte&nbsp;neu"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llOwnerSay</span><span style="color: #007700">(</span><span style="color: #DD0000">"/"&nbsp;</span><span style="color: #007700">+&nbsp;(string)</span><span style="color: #0000BB">SCRIPT_HANDLE&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #DD0000">"&nbsp;reset&nbsp;-&nbsp;Setze&nbsp;alle&nbsp;Werte&nbsp;zurück"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llOwnerSay</span><span style="color: #007700">(</span><span style="color: #DD0000">"/"&nbsp;</span><span style="color: #007700">+&nbsp;(string)</span><span style="color: #0000BB">SCRIPT_HANDLE&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #DD0000">"&nbsp;test&nbsp;-&nbsp;Simuliere&nbsp;Regionsneustart"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llOwnerSay</span><span style="color: #007700">(</span><span style="color: #DD0000">"/"&nbsp;</span><span style="color: #007700">+&nbsp;(string)</span><span style="color: #0000BB">SCRIPT_HANDLE&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #DD0000">"&nbsp;verify&nbsp;-&nbsp;Prüfe&nbsp;Notecard-Existenz"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llOwnerSay</span><span style="color: #007700">(</span><span style="color: #DD0000">"/"&nbsp;</span><span style="color: #007700">+&nbsp;(string)</span><span style="color: #0000BB">SCRIPT_HANDLE&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #DD0000">"&nbsp;delete&nbsp;-&nbsp;Lösche&nbsp;die&nbsp;Notecard"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">on_rez</span><span style="color: #007700">(</span><span style="color: #0000BB">integer&nbsp;start_param</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llResetScript</span><span style="color: #007700">();<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">changed</span><span style="color: #007700">(</span><span style="color: #0000BB">integer&nbsp;change</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">change&nbsp;</span><span style="color: #007700">&amp;&nbsp;</span><span style="color: #0000BB">CHANGED_REGION_START</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llOwnerSay</span><span style="color: #007700">(</span><span style="color: #DD0000">"Region&nbsp;neu&nbsp;gestartet&nbsp;-&nbsp;Lade&nbsp;Daten..."</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llSleep</span><span style="color: #007700">(</span><span style="color: #0000BB">5.0</span><span style="color: #007700">);&nbsp;</span><span style="color: #FF8000">//&nbsp;Warte&nbsp;bis&nbsp;die&nbsp;Region&nbsp;vollständig&nbsp;geladen&nbsp;ist<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">readNotecard</span><span style="color: #007700">();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">change&nbsp;</span><span style="color: #007700">&amp;&nbsp;</span><span style="color: #0000BB">CHANGED_INVENTORY</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;Ignoriere&nbsp;CHANGED_INVENTORY&nbsp;wenn&nbsp;wir&nbsp;selbst&nbsp;die&nbsp;Notecard&nbsp;schreiben<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">if&nbsp;(!</span><span style="color: #0000BB">writingNotecard</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llSleep</span><span style="color: #007700">(</span><span style="color: #0000BB">2.0</span><span style="color: #007700">);&nbsp;</span><span style="color: #FF8000">//&nbsp;Warte&nbsp;bis&nbsp;die&nbsp;Notecard&nbsp;geladen&nbsp;ist<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llOwnerSay</span><span style="color: #007700">(</span><span style="color: #DD0000">"Inventory&nbsp;geändert&nbsp;-&nbsp;Lade&nbsp;Notecard&nbsp;neu..."</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">readNotecard</span><span style="color: #007700">();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">listen</span><span style="color: #007700">(</span><span style="color: #0000BB">integer&nbsp;channel</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">string&nbsp;name</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">key&nbsp;id</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">string&nbsp;message</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">channel&nbsp;</span><span style="color: #007700">!=&nbsp;</span><span style="color: #0000BB">SCRIPT_HANDLE</span><span style="color: #007700">)&nbsp;return;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;list&nbsp;</span><span style="color: #0000BB">args&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">llParseString2List</span><span style="color: #007700">(</span><span style="color: #0000BB">message</span><span style="color: #007700">,&nbsp;[</span><span style="color: #DD0000">"&nbsp;"</span><span style="color: #007700">],&nbsp;[]);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">string&nbsp;command&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">llList2String</span><span style="color: #007700">(</span><span style="color: #0000BB">args</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">command&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #DD0000">"show"</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">displayValues</span><span style="color: #007700">();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else&nbsp;if&nbsp;(</span><span style="color: #0000BB">command&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #DD0000">"set"</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">llGetListLength</span><span style="color: #007700">(</span><span style="color: #0000BB">args</span><span style="color: #007700">)&nbsp;&gt;=&nbsp;</span><span style="color: #0000BB">3</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">string&nbsp;varName&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">llList2String</span><span style="color: #007700">(</span><span style="color: #0000BB">args</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">1</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">string&nbsp;value&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">llDumpList2String</span><span style="color: #007700">(</span><span style="color: #0000BB">llList2List</span><span style="color: #007700">(</span><span style="color: #0000BB">args</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">2</span><span style="color: #007700">,&nbsp;-</span><span style="color: #0000BB">1</span><span style="color: #007700">),&nbsp;</span><span style="color: #DD0000">"&nbsp;"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">setValue</span><span style="color: #007700">(</span><span style="color: #0000BB">varName</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">value</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;else&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llOwnerSay</span><span style="color: #007700">(</span><span style="color: #DD0000">"Syntax:&nbsp;set&nbsp;VarName&nbsp;Wert"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else&nbsp;if&nbsp;(</span><span style="color: #0000BB">command&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #DD0000">"save"</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">writeNotecard</span><span style="color: #007700">();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else&nbsp;if&nbsp;(</span><span style="color: #0000BB">command&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #DD0000">"load"</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">readNotecard</span><span style="color: #007700">();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else&nbsp;if&nbsp;(</span><span style="color: #0000BB">command&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #DD0000">"reset"</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llOwnerSay</span><span style="color: #007700">(</span><span style="color: #DD0000">"Setze&nbsp;alle&nbsp;Werte&nbsp;zurück..."</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">createDefaultNotecard</span><span style="color: #007700">();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else&nbsp;if&nbsp;(</span><span style="color: #0000BB">command&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #DD0000">"test"</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">testRegionRestart</span><span style="color: #007700">();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else&nbsp;if&nbsp;(</span><span style="color: #0000BB">command&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #DD0000">"verify"</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">notecardExists</span><span style="color: #007700">())&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llOwnerSay</span><span style="color: #007700">(</span><span style="color: #DD0000">"Notecard&nbsp;'"&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">NOTECARD_NAME&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #DD0000">"'&nbsp;existiert."</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">integer&nbsp;lines&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">osGetNumberOfNotecardLines</span><span style="color: #007700">(</span><span style="color: #0000BB">NOTECARD_NAME</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llOwnerSay</span><span style="color: #007700">(</span><span style="color: #DD0000">"Notecard&nbsp;hat&nbsp;"&nbsp;</span><span style="color: #007700">+&nbsp;(string)</span><span style="color: #0000BB">lines&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #DD0000">"&nbsp;Zeilen."</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;else&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llOwnerSay</span><span style="color: #007700">(</span><span style="color: #DD0000">"Notecard&nbsp;'"&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">NOTECARD_NAME&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #DD0000">"'&nbsp;existiert&nbsp;NICHT."</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else&nbsp;if&nbsp;(</span><span style="color: #0000BB">command&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #DD0000">"delete"</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">notecardExists</span><span style="color: #007700">())&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">deleteNotecard</span><span style="color: #007700">();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llOwnerSay</span><span style="color: #007700">(</span><span style="color: #DD0000">"Notecard&nbsp;'"&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">NOTECARD_NAME&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #DD0000">"'&nbsp;gelöscht."</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;else&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llOwnerSay</span><span style="color: #007700">(</span><span style="color: #DD0000">"Notecard&nbsp;'"&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">NOTECARD_NAME&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #DD0000">"'&nbsp;existiert&nbsp;nicht."</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llOwnerSay</span><span style="color: #007700">(</span><span style="color: #DD0000">"Unbekanntes&nbsp;Kommando:&nbsp;"&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">command</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llOwnerSay</span><span style="color: #007700">(</span><span style="color: #DD0000">"Verfügbare&nbsp;Kommandos:&nbsp;show,&nbsp;set,&nbsp;save,&nbsp;load,&nbsp;reset,&nbsp;test,&nbsp;verify,&nbsp;delete"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />}&nbsp;<br /></span></code></div></div></div><br />
<img src="https://i.pinimg.com/1200x/cc/4c/0c/cc4c0c7c48e3324d3e989df89aca13f7.jpg" loading="lazy"  alt="[Bild: cc4c0c7c48e3324d3e989df89aca13f7.jpg]" class="mycode_img" /><br />
<span style="font-weight: bold;" class="mycode_b">Error Bild</span>]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Ampel.lsl]]></title>
			<link>https://www.gridtalk.de/showthread.php?tid=4931</link>
			<pubDate>Thu, 14 Nov 2024 16:27:58 +0100</pubDate>
			<dc:creator><![CDATA[<a href="https://www.gridtalk.de/member.php?action=profile&uid=998">Manfred Aabye</a>]]></dc:creator>
			<guid isPermaLink="false">https://www.gridtalk.de/showthread.php?tid=4931</guid>
			<description><![CDATA[Ampel A und Ampel B werden gesteuert.<br />
Für eine normale Kreuzung benötigt man von beiden 2 Stück.<br />
Erstellt für jede Ampel 5 Prims und nennt sie:<br />
Für Ampel A:<br />
CarRotA <br />
CarGelbA<br />
CarGruenA<br />
<br />
FussRotA<br />
FussGruenA<br />
<br />
Das Gleiche halt für Ampel B.<br />
Dazu ein Prim für das Ampel.lsl Skript.<br />
<br />
Ihr könnt auf den Prims eine Ampellicht Textur drauf machen und diese in eure bestehenden Ampeln einbauen.<br />
Die Ampel schaltet realistisch aber ohne Blinken der Fussgängerlichtes.<br />
<br />
Die Ampel kann mit einem Klick in den Außer-Betrieb-Modus versetzt werden, <br />
wobei dann alle gelben Lampen blinken.<br />
<br />
<!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="https://www.gridtalk.de/images/attachtypes/image.gif" title="JPG Image" border="0" alt=".jpg" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=7739" target="_blank" title="">Ampel.jpg</a> (Größe: 51,98 KB / Downloads: 226)
<!-- end: postbit_attachments_attachment --><br />
<br />
<div class="codeblock phpcodeblock"><div class="title">PHP-Code:</div><div class="body"><div dir="ltr"><code><span style="color: #0000BB">integer&nbsp;rotDauer&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">10</span><span style="color: #007700">;&nbsp;</span><span style="color: #FF8000">//&nbsp;Dauer&nbsp;der&nbsp;roten&nbsp;Phase<br /></span><span style="color: #0000BB">integer&nbsp;gruenDauer&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">10</span><span style="color: #007700">;&nbsp;</span><span style="color: #FF8000">//&nbsp;Dauer&nbsp;der&nbsp;grünen&nbsp;Phase<br /></span><span style="color: #0000BB">integer&nbsp;gelbDauer&nbsp;&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">3</span><span style="color: #007700">;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;Dauer&nbsp;der&nbsp;gelben&nbsp;Phase<br /><br /></span><span style="color: #0000BB">vector&nbsp;COLOR_RED&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">=&nbsp;&lt;</span><span style="color: #0000BB">1.000</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">0.000</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">0.000</span><span style="color: #007700">&gt;;<br /></span><span style="color: #0000BB">vector&nbsp;COLOR_YELLOW&nbsp;</span><span style="color: #007700">=&nbsp;&lt;</span><span style="color: #0000BB">1.000</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">0.863</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">0.000</span><span style="color: #007700">&gt;;<br /></span><span style="color: #0000BB">vector&nbsp;COLOR_GREEN&nbsp;&nbsp;</span><span style="color: #007700">=&nbsp;&lt;</span><span style="color: #0000BB">0.000</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">1.000</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">0.0</span><span style="color: #007700">&gt;;<br /><br /></span><span style="color: #FF8000">//&nbsp;Linknummern&nbsp;für&nbsp;die&nbsp;Objekte<br /></span><span style="color: #0000BB">integer&nbsp;CarRotA&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">6</span><span style="color: #007700">;&nbsp;</span><span style="color: #0000BB">integer&nbsp;CarGelbA&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">5</span><span style="color: #007700">;&nbsp;</span><span style="color: #0000BB">integer&nbsp;CarGruenA&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">4</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">integer&nbsp;FussRotA&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">3</span><span style="color: #007700">;&nbsp;</span><span style="color: #0000BB">integer&nbsp;FussGruenA&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">2</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">integer&nbsp;CarRotB&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">7</span><span style="color: #007700">;&nbsp;</span><span style="color: #0000BB">integer&nbsp;CarGelbB&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">8</span><span style="color: #007700">;&nbsp;</span><span style="color: #0000BB">integer&nbsp;CarGruenB&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">9</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">integer&nbsp;FussRotB&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">10</span><span style="color: #007700">;&nbsp;</span><span style="color: #0000BB">integer&nbsp;FussGruenB&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">11</span><span style="color: #007700">;<br /><br /></span><span style="color: #FF8000">//&nbsp;Variablen&nbsp;für&nbsp;die&nbsp;Phasen&nbsp;und&nbsp;den&nbsp;Modus<br /></span><span style="color: #0000BB">integer&nbsp;currentPhase&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">integer&nbsp;isOutOfService&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">FALSE</span><span style="color: #007700">;&nbsp;</span><span style="color: #FF8000">//&nbsp;Flag&nbsp;für&nbsp;Außer-Betrieb-Modus<br /></span><span style="color: #0000BB">integer&nbsp;isYellowBlinking&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">FALSE</span><span style="color: #007700">;&nbsp;</span><span style="color: #FF8000">//&nbsp;Flag&nbsp;für&nbsp;den&nbsp;Blinkzustand<br /><br />//&nbsp;Funktionen&nbsp;für&nbsp;Lichtsteuerung<br /></span><span style="color: #0000BB">hell</span><span style="color: #007700">(</span><span style="color: #0000BB">integer&nbsp;linkNum</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llSetLinkPrimitiveParams</span><span style="color: #007700">(</span><span style="color: #0000BB">linkNum</span><span style="color: #007700">,&nbsp;[</span><span style="color: #0000BB">PRIM_FULLBRIGHT</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">ALL_SIDES</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">TRUE</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">PRIM_POINT_LIGHT</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">TRUE</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">ZERO_VECTOR</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">1.0</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">10.0</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">0.6</span><span style="color: #007700">]);<br />}<br /></span><span style="color: #0000BB">dunkel</span><span style="color: #007700">(</span><span style="color: #0000BB">integer&nbsp;linkNum</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llSetLinkPrimitiveParams</span><span style="color: #007700">(</span><span style="color: #0000BB">linkNum</span><span style="color: #007700">,&nbsp;[</span><span style="color: #0000BB">PRIM_FULLBRIGHT</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">ALL_SIDES</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">FALSE</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">PRIM_POINT_LIGHT</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">FALSE</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">ZERO_VECTOR</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">0.0</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">10.0</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">0.0</span><span style="color: #007700">]);<br />}<br /><br /></span><span style="color: #FF8000">//&nbsp;Setzt&nbsp;die&nbsp;Ampel&nbsp;für&nbsp;Fahrzeuge&nbsp;A<br /></span><span style="color: #0000BB">setAutoAmpelA</span><span style="color: #007700">(</span><span style="color: #0000BB">integer&nbsp;my_state</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">my_state&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">)&nbsp;{&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llSetLinkPrimitiveParams</span><span style="color: #007700">(</span><span style="color: #0000BB">CarRotA</span><span style="color: #007700">,&nbsp;[</span><span style="color: #0000BB">PRIM_COLOR</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">ALL_SIDES</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">COLOR_RED</span><span style="color: #007700">]);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">hell</span><span style="color: #007700">(</span><span style="color: #0000BB">CarRotA</span><span style="color: #007700">);&nbsp;</span><span style="color: #0000BB">dunkel</span><span style="color: #007700">(</span><span style="color: #0000BB">CarGelbA</span><span style="color: #007700">);&nbsp;</span><span style="color: #0000BB">dunkel</span><span style="color: #007700">(</span><span style="color: #0000BB">CarGruenA</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;else&nbsp;if&nbsp;(</span><span style="color: #0000BB">my_state&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #0000BB">1</span><span style="color: #007700">)&nbsp;{&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llSetLinkPrimitiveParams</span><span style="color: #007700">(</span><span style="color: #0000BB">CarGelbA</span><span style="color: #007700">,&nbsp;[</span><span style="color: #0000BB">PRIM_COLOR</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">ALL_SIDES</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">COLOR_YELLOW</span><span style="color: #007700">]);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">hell</span><span style="color: #007700">(</span><span style="color: #0000BB">CarGelbA</span><span style="color: #007700">);&nbsp;</span><span style="color: #0000BB">dunkel</span><span style="color: #007700">(</span><span style="color: #0000BB">CarRotA</span><span style="color: #007700">);&nbsp;</span><span style="color: #0000BB">dunkel</span><span style="color: #007700">(</span><span style="color: #0000BB">CarGruenA</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;else&nbsp;if&nbsp;(</span><span style="color: #0000BB">my_state&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #0000BB">2</span><span style="color: #007700">)&nbsp;{&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llSetLinkPrimitiveParams</span><span style="color: #007700">(</span><span style="color: #0000BB">CarGruenA</span><span style="color: #007700">,&nbsp;[</span><span style="color: #0000BB">PRIM_COLOR</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">ALL_SIDES</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">COLOR_GREEN</span><span style="color: #007700">]);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">hell</span><span style="color: #007700">(</span><span style="color: #0000BB">CarGruenA</span><span style="color: #007700">);&nbsp;</span><span style="color: #0000BB">dunkel</span><span style="color: #007700">(</span><span style="color: #0000BB">CarRotA</span><span style="color: #007700">);&nbsp;</span><span style="color: #0000BB">dunkel</span><span style="color: #007700">(</span><span style="color: #0000BB">CarGelbA</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />}<br /><br /></span><span style="color: #FF8000">//&nbsp;Setzt&nbsp;die&nbsp;Ampel&nbsp;für&nbsp;Fahrzeuge&nbsp;B<br /></span><span style="color: #0000BB">setAutoAmpelB</span><span style="color: #007700">(</span><span style="color: #0000BB">integer&nbsp;my_state</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">my_state&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">)&nbsp;{&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llSetLinkPrimitiveParams</span><span style="color: #007700">(</span><span style="color: #0000BB">CarRotB</span><span style="color: #007700">,&nbsp;[</span><span style="color: #0000BB">PRIM_COLOR</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">ALL_SIDES</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">COLOR_RED</span><span style="color: #007700">]);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">hell</span><span style="color: #007700">(</span><span style="color: #0000BB">CarRotB</span><span style="color: #007700">);&nbsp;</span><span style="color: #0000BB">dunkel</span><span style="color: #007700">(</span><span style="color: #0000BB">CarGelbB</span><span style="color: #007700">);&nbsp;</span><span style="color: #0000BB">dunkel</span><span style="color: #007700">(</span><span style="color: #0000BB">CarGruenB</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;else&nbsp;if&nbsp;(</span><span style="color: #0000BB">my_state&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #0000BB">1</span><span style="color: #007700">)&nbsp;{&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llSetLinkPrimitiveParams</span><span style="color: #007700">(</span><span style="color: #0000BB">CarGelbB</span><span style="color: #007700">,&nbsp;[</span><span style="color: #0000BB">PRIM_COLOR</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">ALL_SIDES</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">COLOR_YELLOW</span><span style="color: #007700">]);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">hell</span><span style="color: #007700">(</span><span style="color: #0000BB">CarGelbB</span><span style="color: #007700">);&nbsp;</span><span style="color: #0000BB">dunkel</span><span style="color: #007700">(</span><span style="color: #0000BB">CarRotB</span><span style="color: #007700">);&nbsp;</span><span style="color: #0000BB">dunkel</span><span style="color: #007700">(</span><span style="color: #0000BB">CarGruenB</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;else&nbsp;if&nbsp;(</span><span style="color: #0000BB">my_state&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #0000BB">2</span><span style="color: #007700">)&nbsp;{&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llSetLinkPrimitiveParams</span><span style="color: #007700">(</span><span style="color: #0000BB">CarGruenB</span><span style="color: #007700">,&nbsp;[</span><span style="color: #0000BB">PRIM_COLOR</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">ALL_SIDES</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">COLOR_GREEN</span><span style="color: #007700">]);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">hell</span><span style="color: #007700">(</span><span style="color: #0000BB">CarGruenB</span><span style="color: #007700">);&nbsp;</span><span style="color: #0000BB">dunkel</span><span style="color: #007700">(</span><span style="color: #0000BB">CarRotB</span><span style="color: #007700">);&nbsp;</span><span style="color: #0000BB">dunkel</span><span style="color: #007700">(</span><span style="color: #0000BB">CarGelbB</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />}<br /><br /></span><span style="color: #FF8000">//&nbsp;Setzt&nbsp;Fußgängerampeln&nbsp;A&nbsp;und&nbsp;B<br /></span><span style="color: #0000BB">setFussgaengerAmpelA</span><span style="color: #007700">(</span><span style="color: #0000BB">integer&nbsp;my_state</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">my_state&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">)&nbsp;{&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llSetLinkPrimitiveParams</span><span style="color: #007700">(</span><span style="color: #0000BB">FussRotA</span><span style="color: #007700">,&nbsp;[</span><span style="color: #0000BB">PRIM_COLOR</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">ALL_SIDES</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">COLOR_RED</span><span style="color: #007700">]);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">hell</span><span style="color: #007700">(</span><span style="color: #0000BB">FussRotA</span><span style="color: #007700">);&nbsp;</span><span style="color: #0000BB">dunkel</span><span style="color: #007700">(</span><span style="color: #0000BB">FussGruenA</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;else&nbsp;if&nbsp;(</span><span style="color: #0000BB">my_state&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #0000BB">1</span><span style="color: #007700">)&nbsp;{&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llSetLinkPrimitiveParams</span><span style="color: #007700">(</span><span style="color: #0000BB">FussGruenA</span><span style="color: #007700">,&nbsp;[</span><span style="color: #0000BB">PRIM_COLOR</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">ALL_SIDES</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">COLOR_GREEN</span><span style="color: #007700">]);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">hell</span><span style="color: #007700">(</span><span style="color: #0000BB">FussGruenA</span><span style="color: #007700">);&nbsp;</span><span style="color: #0000BB">dunkel</span><span style="color: #007700">(</span><span style="color: #0000BB">FussRotA</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />}<br /></span><span style="color: #0000BB">setFussgaengerAmpelB</span><span style="color: #007700">(</span><span style="color: #0000BB">integer&nbsp;my_state</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">my_state&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">)&nbsp;{&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llSetLinkPrimitiveParams</span><span style="color: #007700">(</span><span style="color: #0000BB">FussRotB</span><span style="color: #007700">,&nbsp;[</span><span style="color: #0000BB">PRIM_COLOR</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">ALL_SIDES</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">COLOR_RED</span><span style="color: #007700">]);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">hell</span><span style="color: #007700">(</span><span style="color: #0000BB">FussRotB</span><span style="color: #007700">);&nbsp;</span><span style="color: #0000BB">dunkel</span><span style="color: #007700">(</span><span style="color: #0000BB">FussGruenB</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;else&nbsp;if&nbsp;(</span><span style="color: #0000BB">my_state&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #0000BB">1</span><span style="color: #007700">)&nbsp;{&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llSetLinkPrimitiveParams</span><span style="color: #007700">(</span><span style="color: #0000BB">FussGruenB</span><span style="color: #007700">,&nbsp;[</span><span style="color: #0000BB">PRIM_COLOR</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">ALL_SIDES</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">COLOR_GREEN</span><span style="color: #007700">]);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">hell</span><span style="color: #007700">(</span><span style="color: #0000BB">FussGruenB</span><span style="color: #007700">);&nbsp;</span><span style="color: #0000BB">dunkel</span><span style="color: #007700">(</span><span style="color: #0000BB">FussRotB</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />}<br /><br /></span><span style="color: #FF8000">//&nbsp;Funktion&nbsp;für&nbsp;das&nbsp;Blinken&nbsp;der&nbsp;gelben&nbsp;Lichter<br /></span><span style="color: #0000BB">blinkGelb</span><span style="color: #007700">()&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">isYellowBlinking</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">dunkel</span><span style="color: #007700">(</span><span style="color: #0000BB">CarGelbA</span><span style="color: #007700">);&nbsp;</span><span style="color: #0000BB">dunkel</span><span style="color: #007700">(</span><span style="color: #0000BB">CarGelbB</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;else&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llSetLinkPrimitiveParams</span><span style="color: #007700">(</span><span style="color: #0000BB">CarGelbA</span><span style="color: #007700">,&nbsp;[</span><span style="color: #0000BB">PRIM_COLOR</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">ALL_SIDES</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">COLOR_YELLOW</span><span style="color: #007700">]);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llSetLinkPrimitiveParams</span><span style="color: #007700">(</span><span style="color: #0000BB">CarGelbB</span><span style="color: #007700">,&nbsp;[</span><span style="color: #0000BB">PRIM_COLOR</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">ALL_SIDES</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">COLOR_YELLOW</span><span style="color: #007700">]);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">hell</span><span style="color: #007700">(</span><span style="color: #0000BB">CarGelbA</span><span style="color: #007700">);&nbsp;</span><span style="color: #0000BB">hell</span><span style="color: #007700">(</span><span style="color: #0000BB">CarGelbB</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">isYellowBlinking&nbsp;</span><span style="color: #007700">=&nbsp;!</span><span style="color: #0000BB">isYellowBlinking</span><span style="color: #007700">;<br />}<br /><br /></span><span style="color: #FF8000">//&nbsp;Ausschalten&nbsp;aller&nbsp;Lichter<br /></span><span style="color: #0000BB">turnOffAll</span><span style="color: #007700">()&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">dunkel</span><span style="color: #007700">(</span><span style="color: #0000BB">CarRotA</span><span style="color: #007700">);&nbsp;</span><span style="color: #0000BB">dunkel</span><span style="color: #007700">(</span><span style="color: #0000BB">CarGelbA</span><span style="color: #007700">);&nbsp;</span><span style="color: #0000BB">dunkel</span><span style="color: #007700">(</span><span style="color: #0000BB">CarGruenA</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">dunkel</span><span style="color: #007700">(</span><span style="color: #0000BB">FussRotA</span><span style="color: #007700">);&nbsp;</span><span style="color: #0000BB">dunkel</span><span style="color: #007700">(</span><span style="color: #0000BB">FussGruenA</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">dunkel</span><span style="color: #007700">(</span><span style="color: #0000BB">CarRotB</span><span style="color: #007700">);&nbsp;</span><span style="color: #0000BB">dunkel</span><span style="color: #007700">(</span><span style="color: #0000BB">CarGelbB</span><span style="color: #007700">);&nbsp;</span><span style="color: #0000BB">dunkel</span><span style="color: #007700">(</span><span style="color: #0000BB">CarGruenB</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">dunkel</span><span style="color: #007700">(</span><span style="color: #0000BB">FussRotB</span><span style="color: #007700">);&nbsp;</span><span style="color: #0000BB">dunkel</span><span style="color: #007700">(</span><span style="color: #0000BB">FussGruenB</span><span style="color: #007700">);<br />}<br /><br /></span><span style="color: #FF8000">//&nbsp;Umschalten&nbsp;zwischen&nbsp;Normal-&nbsp;und&nbsp;Außer-Betrieb-Modus<br /></span><span style="color: #0000BB">toggleOutOfService</span><span style="color: #007700">()&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">isOutOfService</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">isOutOfService&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">FALSE</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llSetTimerEvent</span><span style="color: #007700">(</span><span style="color: #0000BB">gruenDauer</span><span style="color: #007700">);&nbsp;</span><span style="color: #FF8000">//&nbsp;Timer&nbsp;für&nbsp;Normalbetrieb<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">currentPhase&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">;&nbsp;</span><span style="color: #FF8000">//&nbsp;Startphase<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">}&nbsp;else&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">isOutOfService&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">TRUE</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">isYellowBlinking&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">FALSE</span><span style="color: #007700">;&nbsp;</span><span style="color: #FF8000">//&nbsp;Blinken&nbsp;zurücksetzen<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">turnOffAll</span><span style="color: #007700">();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llSetTimerEvent</span><span style="color: #007700">(</span><span style="color: #0000BB">1</span><span style="color: #007700">);&nbsp;</span><span style="color: #FF8000">//&nbsp;Blinktakt&nbsp;für&nbsp;Gelb&nbsp;im&nbsp;Außer-Betrieb-Modus<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">}<br />}<br /><br /></span><span style="color: #FF8000">//&nbsp;Phasenlogik&nbsp;mit&nbsp;erweiterten&nbsp;Bedingungen<br /></span><span style="color: #007700">default<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">state_entry</span><span style="color: #007700">()&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;Initialisiere&nbsp;die&nbsp;Ampeln&nbsp;im&nbsp;Normalbetrieb<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">setAutoAmpelA</span><span style="color: #007700">(</span><span style="color: #0000BB">0</span><span style="color: #007700">);&nbsp;</span><span style="color: #0000BB">setFussgaengerAmpelA</span><span style="color: #007700">(</span><span style="color: #0000BB">1</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">setAutoAmpelB</span><span style="color: #007700">(</span><span style="color: #0000BB">2</span><span style="color: #007700">);&nbsp;</span><span style="color: #0000BB">setFussgaengerAmpelB</span><span style="color: #007700">(</span><span style="color: #0000BB">0</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llSetTimerEvent</span><span style="color: #007700">(</span><span style="color: #0000BB">gruenDauer</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">touch_start</span><span style="color: #007700">(</span><span style="color: #0000BB">integer&nbsp;total_number</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">toggleOutOfService</span><span style="color: #007700">();&nbsp;</span><span style="color: #FF8000">//&nbsp;Wechsel&nbsp;zwischen&nbsp;Normal-&nbsp;und&nbsp;Außer-Betrieb-Modus<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">timer</span><span style="color: #007700">()&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">isOutOfService</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">blinkGelb</span><span style="color: #007700">();&nbsp;</span><span style="color: #FF8000">//&nbsp;Gelbe&nbsp;Lichter&nbsp;blinken&nbsp;lassen<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">}&nbsp;else&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;Normalbetrieb&nbsp;Phasenwechsel<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">if&nbsp;(</span><span style="color: #0000BB">currentPhase&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">setAutoAmpelA</span><span style="color: #007700">(</span><span style="color: #0000BB">0</span><span style="color: #007700">);&nbsp;</span><span style="color: #0000BB">setFussgaengerAmpelA</span><span style="color: #007700">(</span><span style="color: #0000BB">1</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">setAutoAmpelB</span><span style="color: #007700">(</span><span style="color: #0000BB">2</span><span style="color: #007700">);&nbsp;</span><span style="color: #0000BB">setFussgaengerAmpelB</span><span style="color: #007700">(</span><span style="color: #0000BB">0</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llSetTimerEvent</span><span style="color: #007700">(</span><span style="color: #0000BB">gruenDauer</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">currentPhase&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">1</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;else&nbsp;if&nbsp;(</span><span style="color: #0000BB">currentPhase&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #0000BB">1</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">setAutoAmpelA</span><span style="color: #007700">(</span><span style="color: #0000BB">1</span><span style="color: #007700">);&nbsp;</span><span style="color: #0000BB">setFussgaengerAmpelA</span><span style="color: #007700">(</span><span style="color: #0000BB">0</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">setAutoAmpelB</span><span style="color: #007700">(</span><span style="color: #0000BB">0</span><span style="color: #007700">);&nbsp;</span><span style="color: #0000BB">setFussgaengerAmpelB</span><span style="color: #007700">(</span><span style="color: #0000BB">0</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llSetTimerEvent</span><span style="color: #007700">(</span><span style="color: #0000BB">gelbDauer</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">currentPhase&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">2</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;else&nbsp;if&nbsp;(</span><span style="color: #0000BB">currentPhase&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #0000BB">2</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">setAutoAmpelA</span><span style="color: #007700">(</span><span style="color: #0000BB">2</span><span style="color: #007700">);&nbsp;</span><span style="color: #0000BB">setFussgaengerAmpelA</span><span style="color: #007700">(</span><span style="color: #0000BB">0</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">setAutoAmpelB</span><span style="color: #007700">(</span><span style="color: #0000BB">0</span><span style="color: #007700">);&nbsp;</span><span style="color: #0000BB">setFussgaengerAmpelB</span><span style="color: #007700">(</span><span style="color: #0000BB">1</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llSetTimerEvent</span><span style="color: #007700">(</span><span style="color: #0000BB">gruenDauer</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">currentPhase&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">3</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;else&nbsp;if&nbsp;(</span><span style="color: #0000BB">currentPhase&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #0000BB">3</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">setAutoAmpelA</span><span style="color: #007700">(</span><span style="color: #0000BB">0</span><span style="color: #007700">);&nbsp;</span><span style="color: #0000BB">setAutoAmpelB</span><span style="color: #007700">(</span><span style="color: #0000BB">1</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">setFussgaengerAmpelA</span><span style="color: #007700">(</span><span style="color: #0000BB">0</span><span style="color: #007700">);&nbsp;</span><span style="color: #0000BB">setFussgaengerAmpelB</span><span style="color: #007700">(</span><span style="color: #0000BB">0</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llSetTimerEvent</span><span style="color: #007700">(</span><span style="color: #0000BB">gelbDauer</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">currentPhase&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />}&nbsp;<br /></span></code></div></div></div><br />
<!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="https://www.gridtalk.de/images/attachtypes/image.gif" title="PNG Image" border="0" alt=".png" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=7740" target="_blank" title="">Ampellicht.png</a> (Größe: 46,32 KB / Downloads: 198)
<!-- end: postbit_attachments_attachment --><br />
Für die Fußgängerampel könnt ihr noch ein schwarzes Männchen darauf machen.<br />
Alles geschrieben ohne zu gendern <img src="https://www.gridtalk.de/images/smilies/smile.gif" alt="Smile" title="Smile" class="smilie smilie_1" onclick="&#36;.markItUp({target:markitup_instance,replaceWith:''});&#36;.modal.close()" /> Ich steige auf eine Leiter:in <img src="https://www.gridtalk.de/images/smilies/wink.gif" alt="Wink" title="Wink" class="smilie smilie_2" onclick="&#36;.markItUp({target:markitup_instance,replaceWith:''});&#36;.modal.close()" />]]></description>
			<content:encoded><![CDATA[Ampel A und Ampel B werden gesteuert.<br />
Für eine normale Kreuzung benötigt man von beiden 2 Stück.<br />
Erstellt für jede Ampel 5 Prims und nennt sie:<br />
Für Ampel A:<br />
CarRotA <br />
CarGelbA<br />
CarGruenA<br />
<br />
FussRotA<br />
FussGruenA<br />
<br />
Das Gleiche halt für Ampel B.<br />
Dazu ein Prim für das Ampel.lsl Skript.<br />
<br />
Ihr könnt auf den Prims eine Ampellicht Textur drauf machen und diese in eure bestehenden Ampeln einbauen.<br />
Die Ampel schaltet realistisch aber ohne Blinken der Fussgängerlichtes.<br />
<br />
Die Ampel kann mit einem Klick in den Außer-Betrieb-Modus versetzt werden, <br />
wobei dann alle gelben Lampen blinken.<br />
<br />
<!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="https://www.gridtalk.de/images/attachtypes/image.gif" title="JPG Image" border="0" alt=".jpg" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=7739" target="_blank" title="">Ampel.jpg</a> (Größe: 51,98 KB / Downloads: 226)
<!-- end: postbit_attachments_attachment --><br />
<br />
<div class="codeblock phpcodeblock"><div class="title">PHP-Code:</div><div class="body"><div dir="ltr"><code><span style="color: #0000BB">integer&nbsp;rotDauer&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">10</span><span style="color: #007700">;&nbsp;</span><span style="color: #FF8000">//&nbsp;Dauer&nbsp;der&nbsp;roten&nbsp;Phase<br /></span><span style="color: #0000BB">integer&nbsp;gruenDauer&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">10</span><span style="color: #007700">;&nbsp;</span><span style="color: #FF8000">//&nbsp;Dauer&nbsp;der&nbsp;grünen&nbsp;Phase<br /></span><span style="color: #0000BB">integer&nbsp;gelbDauer&nbsp;&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">3</span><span style="color: #007700">;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;Dauer&nbsp;der&nbsp;gelben&nbsp;Phase<br /><br /></span><span style="color: #0000BB">vector&nbsp;COLOR_RED&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">=&nbsp;&lt;</span><span style="color: #0000BB">1.000</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">0.000</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">0.000</span><span style="color: #007700">&gt;;<br /></span><span style="color: #0000BB">vector&nbsp;COLOR_YELLOW&nbsp;</span><span style="color: #007700">=&nbsp;&lt;</span><span style="color: #0000BB">1.000</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">0.863</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">0.000</span><span style="color: #007700">&gt;;<br /></span><span style="color: #0000BB">vector&nbsp;COLOR_GREEN&nbsp;&nbsp;</span><span style="color: #007700">=&nbsp;&lt;</span><span style="color: #0000BB">0.000</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">1.000</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">0.0</span><span style="color: #007700">&gt;;<br /><br /></span><span style="color: #FF8000">//&nbsp;Linknummern&nbsp;für&nbsp;die&nbsp;Objekte<br /></span><span style="color: #0000BB">integer&nbsp;CarRotA&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">6</span><span style="color: #007700">;&nbsp;</span><span style="color: #0000BB">integer&nbsp;CarGelbA&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">5</span><span style="color: #007700">;&nbsp;</span><span style="color: #0000BB">integer&nbsp;CarGruenA&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">4</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">integer&nbsp;FussRotA&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">3</span><span style="color: #007700">;&nbsp;</span><span style="color: #0000BB">integer&nbsp;FussGruenA&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">2</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">integer&nbsp;CarRotB&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">7</span><span style="color: #007700">;&nbsp;</span><span style="color: #0000BB">integer&nbsp;CarGelbB&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">8</span><span style="color: #007700">;&nbsp;</span><span style="color: #0000BB">integer&nbsp;CarGruenB&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">9</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">integer&nbsp;FussRotB&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">10</span><span style="color: #007700">;&nbsp;</span><span style="color: #0000BB">integer&nbsp;FussGruenB&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">11</span><span style="color: #007700">;<br /><br /></span><span style="color: #FF8000">//&nbsp;Variablen&nbsp;für&nbsp;die&nbsp;Phasen&nbsp;und&nbsp;den&nbsp;Modus<br /></span><span style="color: #0000BB">integer&nbsp;currentPhase&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">integer&nbsp;isOutOfService&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">FALSE</span><span style="color: #007700">;&nbsp;</span><span style="color: #FF8000">//&nbsp;Flag&nbsp;für&nbsp;Außer-Betrieb-Modus<br /></span><span style="color: #0000BB">integer&nbsp;isYellowBlinking&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">FALSE</span><span style="color: #007700">;&nbsp;</span><span style="color: #FF8000">//&nbsp;Flag&nbsp;für&nbsp;den&nbsp;Blinkzustand<br /><br />//&nbsp;Funktionen&nbsp;für&nbsp;Lichtsteuerung<br /></span><span style="color: #0000BB">hell</span><span style="color: #007700">(</span><span style="color: #0000BB">integer&nbsp;linkNum</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llSetLinkPrimitiveParams</span><span style="color: #007700">(</span><span style="color: #0000BB">linkNum</span><span style="color: #007700">,&nbsp;[</span><span style="color: #0000BB">PRIM_FULLBRIGHT</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">ALL_SIDES</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">TRUE</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">PRIM_POINT_LIGHT</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">TRUE</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">ZERO_VECTOR</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">1.0</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">10.0</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">0.6</span><span style="color: #007700">]);<br />}<br /></span><span style="color: #0000BB">dunkel</span><span style="color: #007700">(</span><span style="color: #0000BB">integer&nbsp;linkNum</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llSetLinkPrimitiveParams</span><span style="color: #007700">(</span><span style="color: #0000BB">linkNum</span><span style="color: #007700">,&nbsp;[</span><span style="color: #0000BB">PRIM_FULLBRIGHT</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">ALL_SIDES</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">FALSE</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">PRIM_POINT_LIGHT</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">FALSE</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">ZERO_VECTOR</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">0.0</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">10.0</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">0.0</span><span style="color: #007700">]);<br />}<br /><br /></span><span style="color: #FF8000">//&nbsp;Setzt&nbsp;die&nbsp;Ampel&nbsp;für&nbsp;Fahrzeuge&nbsp;A<br /></span><span style="color: #0000BB">setAutoAmpelA</span><span style="color: #007700">(</span><span style="color: #0000BB">integer&nbsp;my_state</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">my_state&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">)&nbsp;{&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llSetLinkPrimitiveParams</span><span style="color: #007700">(</span><span style="color: #0000BB">CarRotA</span><span style="color: #007700">,&nbsp;[</span><span style="color: #0000BB">PRIM_COLOR</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">ALL_SIDES</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">COLOR_RED</span><span style="color: #007700">]);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">hell</span><span style="color: #007700">(</span><span style="color: #0000BB">CarRotA</span><span style="color: #007700">);&nbsp;</span><span style="color: #0000BB">dunkel</span><span style="color: #007700">(</span><span style="color: #0000BB">CarGelbA</span><span style="color: #007700">);&nbsp;</span><span style="color: #0000BB">dunkel</span><span style="color: #007700">(</span><span style="color: #0000BB">CarGruenA</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;else&nbsp;if&nbsp;(</span><span style="color: #0000BB">my_state&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #0000BB">1</span><span style="color: #007700">)&nbsp;{&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llSetLinkPrimitiveParams</span><span style="color: #007700">(</span><span style="color: #0000BB">CarGelbA</span><span style="color: #007700">,&nbsp;[</span><span style="color: #0000BB">PRIM_COLOR</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">ALL_SIDES</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">COLOR_YELLOW</span><span style="color: #007700">]);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">hell</span><span style="color: #007700">(</span><span style="color: #0000BB">CarGelbA</span><span style="color: #007700">);&nbsp;</span><span style="color: #0000BB">dunkel</span><span style="color: #007700">(</span><span style="color: #0000BB">CarRotA</span><span style="color: #007700">);&nbsp;</span><span style="color: #0000BB">dunkel</span><span style="color: #007700">(</span><span style="color: #0000BB">CarGruenA</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;else&nbsp;if&nbsp;(</span><span style="color: #0000BB">my_state&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #0000BB">2</span><span style="color: #007700">)&nbsp;{&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llSetLinkPrimitiveParams</span><span style="color: #007700">(</span><span style="color: #0000BB">CarGruenA</span><span style="color: #007700">,&nbsp;[</span><span style="color: #0000BB">PRIM_COLOR</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">ALL_SIDES</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">COLOR_GREEN</span><span style="color: #007700">]);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">hell</span><span style="color: #007700">(</span><span style="color: #0000BB">CarGruenA</span><span style="color: #007700">);&nbsp;</span><span style="color: #0000BB">dunkel</span><span style="color: #007700">(</span><span style="color: #0000BB">CarRotA</span><span style="color: #007700">);&nbsp;</span><span style="color: #0000BB">dunkel</span><span style="color: #007700">(</span><span style="color: #0000BB">CarGelbA</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />}<br /><br /></span><span style="color: #FF8000">//&nbsp;Setzt&nbsp;die&nbsp;Ampel&nbsp;für&nbsp;Fahrzeuge&nbsp;B<br /></span><span style="color: #0000BB">setAutoAmpelB</span><span style="color: #007700">(</span><span style="color: #0000BB">integer&nbsp;my_state</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">my_state&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">)&nbsp;{&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llSetLinkPrimitiveParams</span><span style="color: #007700">(</span><span style="color: #0000BB">CarRotB</span><span style="color: #007700">,&nbsp;[</span><span style="color: #0000BB">PRIM_COLOR</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">ALL_SIDES</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">COLOR_RED</span><span style="color: #007700">]);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">hell</span><span style="color: #007700">(</span><span style="color: #0000BB">CarRotB</span><span style="color: #007700">);&nbsp;</span><span style="color: #0000BB">dunkel</span><span style="color: #007700">(</span><span style="color: #0000BB">CarGelbB</span><span style="color: #007700">);&nbsp;</span><span style="color: #0000BB">dunkel</span><span style="color: #007700">(</span><span style="color: #0000BB">CarGruenB</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;else&nbsp;if&nbsp;(</span><span style="color: #0000BB">my_state&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #0000BB">1</span><span style="color: #007700">)&nbsp;{&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llSetLinkPrimitiveParams</span><span style="color: #007700">(</span><span style="color: #0000BB">CarGelbB</span><span style="color: #007700">,&nbsp;[</span><span style="color: #0000BB">PRIM_COLOR</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">ALL_SIDES</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">COLOR_YELLOW</span><span style="color: #007700">]);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">hell</span><span style="color: #007700">(</span><span style="color: #0000BB">CarGelbB</span><span style="color: #007700">);&nbsp;</span><span style="color: #0000BB">dunkel</span><span style="color: #007700">(</span><span style="color: #0000BB">CarRotB</span><span style="color: #007700">);&nbsp;</span><span style="color: #0000BB">dunkel</span><span style="color: #007700">(</span><span style="color: #0000BB">CarGruenB</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;else&nbsp;if&nbsp;(</span><span style="color: #0000BB">my_state&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #0000BB">2</span><span style="color: #007700">)&nbsp;{&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llSetLinkPrimitiveParams</span><span style="color: #007700">(</span><span style="color: #0000BB">CarGruenB</span><span style="color: #007700">,&nbsp;[</span><span style="color: #0000BB">PRIM_COLOR</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">ALL_SIDES</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">COLOR_GREEN</span><span style="color: #007700">]);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">hell</span><span style="color: #007700">(</span><span style="color: #0000BB">CarGruenB</span><span style="color: #007700">);&nbsp;</span><span style="color: #0000BB">dunkel</span><span style="color: #007700">(</span><span style="color: #0000BB">CarRotB</span><span style="color: #007700">);&nbsp;</span><span style="color: #0000BB">dunkel</span><span style="color: #007700">(</span><span style="color: #0000BB">CarGelbB</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />}<br /><br /></span><span style="color: #FF8000">//&nbsp;Setzt&nbsp;Fußgängerampeln&nbsp;A&nbsp;und&nbsp;B<br /></span><span style="color: #0000BB">setFussgaengerAmpelA</span><span style="color: #007700">(</span><span style="color: #0000BB">integer&nbsp;my_state</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">my_state&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">)&nbsp;{&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llSetLinkPrimitiveParams</span><span style="color: #007700">(</span><span style="color: #0000BB">FussRotA</span><span style="color: #007700">,&nbsp;[</span><span style="color: #0000BB">PRIM_COLOR</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">ALL_SIDES</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">COLOR_RED</span><span style="color: #007700">]);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">hell</span><span style="color: #007700">(</span><span style="color: #0000BB">FussRotA</span><span style="color: #007700">);&nbsp;</span><span style="color: #0000BB">dunkel</span><span style="color: #007700">(</span><span style="color: #0000BB">FussGruenA</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;else&nbsp;if&nbsp;(</span><span style="color: #0000BB">my_state&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #0000BB">1</span><span style="color: #007700">)&nbsp;{&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llSetLinkPrimitiveParams</span><span style="color: #007700">(</span><span style="color: #0000BB">FussGruenA</span><span style="color: #007700">,&nbsp;[</span><span style="color: #0000BB">PRIM_COLOR</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">ALL_SIDES</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">COLOR_GREEN</span><span style="color: #007700">]);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">hell</span><span style="color: #007700">(</span><span style="color: #0000BB">FussGruenA</span><span style="color: #007700">);&nbsp;</span><span style="color: #0000BB">dunkel</span><span style="color: #007700">(</span><span style="color: #0000BB">FussRotA</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />}<br /></span><span style="color: #0000BB">setFussgaengerAmpelB</span><span style="color: #007700">(</span><span style="color: #0000BB">integer&nbsp;my_state</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">my_state&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">)&nbsp;{&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llSetLinkPrimitiveParams</span><span style="color: #007700">(</span><span style="color: #0000BB">FussRotB</span><span style="color: #007700">,&nbsp;[</span><span style="color: #0000BB">PRIM_COLOR</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">ALL_SIDES</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">COLOR_RED</span><span style="color: #007700">]);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">hell</span><span style="color: #007700">(</span><span style="color: #0000BB">FussRotB</span><span style="color: #007700">);&nbsp;</span><span style="color: #0000BB">dunkel</span><span style="color: #007700">(</span><span style="color: #0000BB">FussGruenB</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;else&nbsp;if&nbsp;(</span><span style="color: #0000BB">my_state&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #0000BB">1</span><span style="color: #007700">)&nbsp;{&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llSetLinkPrimitiveParams</span><span style="color: #007700">(</span><span style="color: #0000BB">FussGruenB</span><span style="color: #007700">,&nbsp;[</span><span style="color: #0000BB">PRIM_COLOR</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">ALL_SIDES</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">COLOR_GREEN</span><span style="color: #007700">]);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">hell</span><span style="color: #007700">(</span><span style="color: #0000BB">FussGruenB</span><span style="color: #007700">);&nbsp;</span><span style="color: #0000BB">dunkel</span><span style="color: #007700">(</span><span style="color: #0000BB">FussRotB</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />}<br /><br /></span><span style="color: #FF8000">//&nbsp;Funktion&nbsp;für&nbsp;das&nbsp;Blinken&nbsp;der&nbsp;gelben&nbsp;Lichter<br /></span><span style="color: #0000BB">blinkGelb</span><span style="color: #007700">()&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">isYellowBlinking</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">dunkel</span><span style="color: #007700">(</span><span style="color: #0000BB">CarGelbA</span><span style="color: #007700">);&nbsp;</span><span style="color: #0000BB">dunkel</span><span style="color: #007700">(</span><span style="color: #0000BB">CarGelbB</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;else&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llSetLinkPrimitiveParams</span><span style="color: #007700">(</span><span style="color: #0000BB">CarGelbA</span><span style="color: #007700">,&nbsp;[</span><span style="color: #0000BB">PRIM_COLOR</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">ALL_SIDES</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">COLOR_YELLOW</span><span style="color: #007700">]);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llSetLinkPrimitiveParams</span><span style="color: #007700">(</span><span style="color: #0000BB">CarGelbB</span><span style="color: #007700">,&nbsp;[</span><span style="color: #0000BB">PRIM_COLOR</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">ALL_SIDES</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">COLOR_YELLOW</span><span style="color: #007700">]);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">hell</span><span style="color: #007700">(</span><span style="color: #0000BB">CarGelbA</span><span style="color: #007700">);&nbsp;</span><span style="color: #0000BB">hell</span><span style="color: #007700">(</span><span style="color: #0000BB">CarGelbB</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">isYellowBlinking&nbsp;</span><span style="color: #007700">=&nbsp;!</span><span style="color: #0000BB">isYellowBlinking</span><span style="color: #007700">;<br />}<br /><br /></span><span style="color: #FF8000">//&nbsp;Ausschalten&nbsp;aller&nbsp;Lichter<br /></span><span style="color: #0000BB">turnOffAll</span><span style="color: #007700">()&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">dunkel</span><span style="color: #007700">(</span><span style="color: #0000BB">CarRotA</span><span style="color: #007700">);&nbsp;</span><span style="color: #0000BB">dunkel</span><span style="color: #007700">(</span><span style="color: #0000BB">CarGelbA</span><span style="color: #007700">);&nbsp;</span><span style="color: #0000BB">dunkel</span><span style="color: #007700">(</span><span style="color: #0000BB">CarGruenA</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">dunkel</span><span style="color: #007700">(</span><span style="color: #0000BB">FussRotA</span><span style="color: #007700">);&nbsp;</span><span style="color: #0000BB">dunkel</span><span style="color: #007700">(</span><span style="color: #0000BB">FussGruenA</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">dunkel</span><span style="color: #007700">(</span><span style="color: #0000BB">CarRotB</span><span style="color: #007700">);&nbsp;</span><span style="color: #0000BB">dunkel</span><span style="color: #007700">(</span><span style="color: #0000BB">CarGelbB</span><span style="color: #007700">);&nbsp;</span><span style="color: #0000BB">dunkel</span><span style="color: #007700">(</span><span style="color: #0000BB">CarGruenB</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">dunkel</span><span style="color: #007700">(</span><span style="color: #0000BB">FussRotB</span><span style="color: #007700">);&nbsp;</span><span style="color: #0000BB">dunkel</span><span style="color: #007700">(</span><span style="color: #0000BB">FussGruenB</span><span style="color: #007700">);<br />}<br /><br /></span><span style="color: #FF8000">//&nbsp;Umschalten&nbsp;zwischen&nbsp;Normal-&nbsp;und&nbsp;Außer-Betrieb-Modus<br /></span><span style="color: #0000BB">toggleOutOfService</span><span style="color: #007700">()&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">isOutOfService</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">isOutOfService&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">FALSE</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llSetTimerEvent</span><span style="color: #007700">(</span><span style="color: #0000BB">gruenDauer</span><span style="color: #007700">);&nbsp;</span><span style="color: #FF8000">//&nbsp;Timer&nbsp;für&nbsp;Normalbetrieb<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">currentPhase&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">;&nbsp;</span><span style="color: #FF8000">//&nbsp;Startphase<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">}&nbsp;else&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">isOutOfService&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">TRUE</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">isYellowBlinking&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">FALSE</span><span style="color: #007700">;&nbsp;</span><span style="color: #FF8000">//&nbsp;Blinken&nbsp;zurücksetzen<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">turnOffAll</span><span style="color: #007700">();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llSetTimerEvent</span><span style="color: #007700">(</span><span style="color: #0000BB">1</span><span style="color: #007700">);&nbsp;</span><span style="color: #FF8000">//&nbsp;Blinktakt&nbsp;für&nbsp;Gelb&nbsp;im&nbsp;Außer-Betrieb-Modus<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">}<br />}<br /><br /></span><span style="color: #FF8000">//&nbsp;Phasenlogik&nbsp;mit&nbsp;erweiterten&nbsp;Bedingungen<br /></span><span style="color: #007700">default<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">state_entry</span><span style="color: #007700">()&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;Initialisiere&nbsp;die&nbsp;Ampeln&nbsp;im&nbsp;Normalbetrieb<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">setAutoAmpelA</span><span style="color: #007700">(</span><span style="color: #0000BB">0</span><span style="color: #007700">);&nbsp;</span><span style="color: #0000BB">setFussgaengerAmpelA</span><span style="color: #007700">(</span><span style="color: #0000BB">1</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">setAutoAmpelB</span><span style="color: #007700">(</span><span style="color: #0000BB">2</span><span style="color: #007700">);&nbsp;</span><span style="color: #0000BB">setFussgaengerAmpelB</span><span style="color: #007700">(</span><span style="color: #0000BB">0</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llSetTimerEvent</span><span style="color: #007700">(</span><span style="color: #0000BB">gruenDauer</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">touch_start</span><span style="color: #007700">(</span><span style="color: #0000BB">integer&nbsp;total_number</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">toggleOutOfService</span><span style="color: #007700">();&nbsp;</span><span style="color: #FF8000">//&nbsp;Wechsel&nbsp;zwischen&nbsp;Normal-&nbsp;und&nbsp;Außer-Betrieb-Modus<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">timer</span><span style="color: #007700">()&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">isOutOfService</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">blinkGelb</span><span style="color: #007700">();&nbsp;</span><span style="color: #FF8000">//&nbsp;Gelbe&nbsp;Lichter&nbsp;blinken&nbsp;lassen<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">}&nbsp;else&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;Normalbetrieb&nbsp;Phasenwechsel<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">if&nbsp;(</span><span style="color: #0000BB">currentPhase&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">setAutoAmpelA</span><span style="color: #007700">(</span><span style="color: #0000BB">0</span><span style="color: #007700">);&nbsp;</span><span style="color: #0000BB">setFussgaengerAmpelA</span><span style="color: #007700">(</span><span style="color: #0000BB">1</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">setAutoAmpelB</span><span style="color: #007700">(</span><span style="color: #0000BB">2</span><span style="color: #007700">);&nbsp;</span><span style="color: #0000BB">setFussgaengerAmpelB</span><span style="color: #007700">(</span><span style="color: #0000BB">0</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llSetTimerEvent</span><span style="color: #007700">(</span><span style="color: #0000BB">gruenDauer</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">currentPhase&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">1</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;else&nbsp;if&nbsp;(</span><span style="color: #0000BB">currentPhase&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #0000BB">1</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">setAutoAmpelA</span><span style="color: #007700">(</span><span style="color: #0000BB">1</span><span style="color: #007700">);&nbsp;</span><span style="color: #0000BB">setFussgaengerAmpelA</span><span style="color: #007700">(</span><span style="color: #0000BB">0</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">setAutoAmpelB</span><span style="color: #007700">(</span><span style="color: #0000BB">0</span><span style="color: #007700">);&nbsp;</span><span style="color: #0000BB">setFussgaengerAmpelB</span><span style="color: #007700">(</span><span style="color: #0000BB">0</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llSetTimerEvent</span><span style="color: #007700">(</span><span style="color: #0000BB">gelbDauer</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">currentPhase&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">2</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;else&nbsp;if&nbsp;(</span><span style="color: #0000BB">currentPhase&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #0000BB">2</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">setAutoAmpelA</span><span style="color: #007700">(</span><span style="color: #0000BB">2</span><span style="color: #007700">);&nbsp;</span><span style="color: #0000BB">setFussgaengerAmpelA</span><span style="color: #007700">(</span><span style="color: #0000BB">0</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">setAutoAmpelB</span><span style="color: #007700">(</span><span style="color: #0000BB">0</span><span style="color: #007700">);&nbsp;</span><span style="color: #0000BB">setFussgaengerAmpelB</span><span style="color: #007700">(</span><span style="color: #0000BB">1</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llSetTimerEvent</span><span style="color: #007700">(</span><span style="color: #0000BB">gruenDauer</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">currentPhase&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">3</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;else&nbsp;if&nbsp;(</span><span style="color: #0000BB">currentPhase&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #0000BB">3</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">setAutoAmpelA</span><span style="color: #007700">(</span><span style="color: #0000BB">0</span><span style="color: #007700">);&nbsp;</span><span style="color: #0000BB">setAutoAmpelB</span><span style="color: #007700">(</span><span style="color: #0000BB">1</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">setFussgaengerAmpelA</span><span style="color: #007700">(</span><span style="color: #0000BB">0</span><span style="color: #007700">);&nbsp;</span><span style="color: #0000BB">setFussgaengerAmpelB</span><span style="color: #007700">(</span><span style="color: #0000BB">0</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llSetTimerEvent</span><span style="color: #007700">(</span><span style="color: #0000BB">gelbDauer</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">currentPhase&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />}&nbsp;<br /></span></code></div></div></div><br />
<!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="https://www.gridtalk.de/images/attachtypes/image.gif" title="PNG Image" border="0" alt=".png" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=7740" target="_blank" title="">Ampellicht.png</a> (Größe: 46,32 KB / Downloads: 198)
<!-- end: postbit_attachments_attachment --><br />
Für die Fußgängerampel könnt ihr noch ein schwarzes Männchen darauf machen.<br />
Alles geschrieben ohne zu gendern <img src="https://www.gridtalk.de/images/smilies/smile.gif" alt="Smile" title="Smile" class="smilie smilie_1" onclick="&#36;.markItUp({target:markitup_instance,replaceWith:''});&#36;.modal.close()" /> Ich steige auf eine Leiter:in <img src="https://www.gridtalk.de/images/smilies/wink.gif" alt="Wink" title="Wink" class="smilie smilie_2" onclick="&#36;.markItUp({target:markitup_instance,replaceWith:''});&#36;.modal.close()" />]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[ATM Money Skript LSL]]></title>
			<link>https://www.gridtalk.de/showthread.php?tid=4924</link>
			<pubDate>Sun, 03 Nov 2024 13:29:06 +0100</pubDate>
			<dc:creator><![CDATA[<a href="https://www.gridtalk.de/member.php?action=profile&uid=998">Manfred Aabye</a>]]></dc:creator>
			<guid isPermaLink="false">https://www.gridtalk.de/showthread.php?tid=4924</guid>
			<description><![CDATA[Dieses Skript erlaubt es einem Objekt in OpenSim, Geld an Benutzer zu überweisen. Dabei wird jedoch eine tägliche Grenze von 250 festgelegt. Jeder Benutzer kann innerhalb von 24 Stunden nur bis zu diesem Limit Geld anfordern. Wenn der Benutzer das Limit erreicht, erhält er eine Nachricht und kann erst am nächsten Tag erneut Geld anfordern.<br />
<br />
ACHTUNG! Wem das Script gehört, ist der Banker. Der Banker kann sich natürlich nicht selber abheben.<br />
<br />
Die Installation ist ganz einfach Script in ein Objekt einfügen und Resetten.<br />
<br />
Das Script kann man auch so erweitern, dass nur bestimmte Personen Zugang zum Geld haben.<br />
<br />
---<br />
<br />
### Funktionsweise<br />
<br />
Das Skript arbeitet in drei Hauptphasen:<br />
<br />
1. **Tägliches Limit verfolgen**: Es speichert die tägliche Gesamtsumme des Geldbetrags, den jeder Benutzer erhalten hat.<br />
2. **Limit erzwingen**: Wenn die vom Benutzer angeforderte Menge das tägliche Limit überschreitet, zeigt das Skript eine Nachricht an, anstatt das Geld zu geben.<br />
3. **Zurücksetzen des Limits nach 24 Stunden**: Wenn seit der letzten Interaktion eines Benutzers 24 Stunden vergangen sind, wird sein Tageslimit zurückgesetzt.<br />
<br />
---<br />
<br />
### Code-Abschnitte<br />
<br />
#### 1. Globale Variablen<br />
<br />
- **`buttons`**: Eine Liste mit den Geldbeträgen, die der Benutzer auswählen kann (z.B. "150", "200", "250").<br />
- **`dialogInfo`**: Nachricht, die im Dialogfenster angezeigt wird.<br />
- **`ToucherID`**: Speichert die ID des Benutzers, der mit dem Objekt interagiert.<br />
- **`dialogChannel`** und **`listenHandle`**: Steuerung des Kommunikationskanals und Handhabung der Dialogantworten.<br />
- **`userTimes`**: Eine Liste, die für jeden Benutzer die letzte Interaktionszeit und die bereits erhaltene Gesamtsumme des Tages speichert.<br />
- **`ONE_DAY`** und **`DAILY_LIMIT`**: Definition der Tageslänge (in Sekunden, hier 24 Stunden) und des Tageslimits (hier 250).<br />
<br />
#### 2. Initialisierung: `state_entry`<br />
<br />
Beim Start des Skripts:<br />
<br />
- **Berechtigung anfordern**: Das Skript fordert eine Debit-Berechtigung an, damit das Objekt Geld senden kann.<br />
- **Dialog-Kanal setzen**: Der Kommunikationskanal wird auf eine eindeutige ID gesetzt, die auf dem Objektschlüssel basiert.<br />
<br />
#### 3. Benutzerinteraktion: `touch_start`<br />
<br />
Wenn ein Benutzer das Objekt berührt:<br />
<br />
1. **Benutzer-Details überprüfen**: Das Skript sucht die ID des Benutzers in der Liste `userTimes`, um die letzte Interaktionszeit und den aktuellen Betrag zu finden.<br />
2. **Tageslimit zurücksetzen**: Falls seit der letzten Interaktion 24 Stunden vergangen sind, wird der kumulierte Betrag des Benutzers auf 0 zurückgesetzt.<br />
3. **Limit prüfen**: Wenn der Benutzer das tägliche Limit bereits erreicht hat, zeigt das Skript eine Nachricht an und beendet den Vorgang.<br />
4. **Dialog anzeigen**: Wenn das Limit nicht überschritten ist, wird ein Dialog mit den auswählbaren Beträgen angezeigt.<br />
<br />
#### 4. Dialogantwort: `listen`<br />
<br />
Sobald der Benutzer einen Betrag auswählt:<br />
<br />
1. **Auswahl verarbeiten**: Der ausgewählte Betrag wird in einen Integer-Wert umgewandelt.<br />
2. **Validierung**: Das Skript überprüft, ob der Betrag in der Liste `buttons` enthalten ist.<br />
3. **Limit überprüfen**: Wenn die neue Auswahl das Tageslimit überschreiten würde, zeigt das Skript eine Warnung an und fordert den Benutzer auf, einen kleineren Betrag zu wählen.<br />
4. **Betrag aktualisieren**: Der Betrag und die Zeit werden in der `userTimes`-Liste aktualisiert, und das Skript sendet den angegebenen Betrag an den Benutzer.<br />
5. **Ungültige Auswahl behandeln**: Wenn der Benutzer eine ungültige Option auswählt, wird eine Fehlermeldung angezeigt.<br />
6. **Listener entfernen**: Am Ende wird der Listener entfernt, um unnötige Listener zu vermeiden.<br />
<br />
---<br />
<br />
### Zusammenfassung der Hauptfunktionen<br />
<br />
1. **Benutzerdaten speichern**: Speichert ID, Interaktionszeit und erhaltenen Betrag jedes Benutzers.<br />
2. **Tageslimit prüfen und zurücksetzen**: Wenn 24 Stunden vergangen sind, wird der erhaltene Betrag auf null gesetzt. Bei Erreichen des Limits wird dem Benutzer eine Nachricht angezeigt.<br />
3. **Geld überweisen**: Überweist den gewünschten Betrag an den Benutzer, wenn das Limit nicht überschritten wird.<br />
<br />
---<br />
<br />
### Hinweise<br />
<br />
- Achten Sie darauf, dass das Objekt die notwendigen Berechtigungen besitzt, um Geld zu überweisen.<br />
- Die Liste `userTimes` speichert alle Benutzerinformationen, und sie wird täglich für jeden Benutzer zurückgesetzt.<br />
<br />
--- <br />
<br />
Das Skript gewährleistet eine kontrollierte Ausgabe von Geld und verhindert, dass Benutzer über das festgelegte Limit hinaus an einem Tag Geld erhalten.<br />
<br />
<div class="codeblock phpcodeblock"><div class="title">PHP-Code:</div><div class="body"><div dir="ltr"><code><span style="color: #FF8000">/*&nbsp;Money&nbsp;Giver&nbsp;Script&nbsp;with&nbsp;Daily&nbsp;Limit&nbsp;by&nbsp;Manfred&nbsp;Aabye.<br />Track&nbsp;the&nbsp;User’s&nbsp;Total&nbsp;Daily&nbsp;Amount:&nbsp;Keep&nbsp;track&nbsp;of&nbsp;the&nbsp;cumulative&nbsp;amount&nbsp;received&nbsp;by&nbsp;each&nbsp;user&nbsp;within&nbsp;a&nbsp;24-hour&nbsp;period.<br />Enforce&nbsp;the&nbsp;Limit:&nbsp;If&nbsp;the&nbsp;user’s&nbsp;total&nbsp;for&nbsp;the&nbsp;day&nbsp;would&nbsp;exceed&nbsp;250&nbsp;with&nbsp;the&nbsp;requested&nbsp;amount,&nbsp;display&nbsp;a&nbsp;message&nbsp;instead&nbsp;of&nbsp;giving&nbsp;them&nbsp;more&nbsp;money.<br />Reset&nbsp;the&nbsp;Daily&nbsp;Total&nbsp;After&nbsp;24&nbsp;Hours:&nbsp;If&nbsp;24&nbsp;hours&nbsp;have&nbsp;passed&nbsp;since&nbsp;their&nbsp;last&nbsp;interaction,&nbsp;reset&nbsp;their&nbsp;total.<br />*/<br /></span><span style="color: #007700">list&nbsp;</span><span style="color: #0000BB">buttons&nbsp;</span><span style="color: #007700">=&nbsp;[</span><span style="color: #DD0000">"150"</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"200"</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"250"</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"50"</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"75"</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"100"</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"1"</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"5"</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"10"</span><span style="color: #007700">];<br /></span><span style="color: #0000BB">string&nbsp;dialogInfo&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #DD0000">"&#092;nPlease&nbsp;choose&nbsp;an&nbsp;amount:"</span><span style="color: #007700">;<br /><br /></span><span style="color: #0000BB">key&nbsp;ToucherID</span><span style="color: #007700">;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;Stores&nbsp;the&nbsp;key&nbsp;of&nbsp;the&nbsp;user&nbsp;interacting&nbsp;with&nbsp;the&nbsp;object<br /></span><span style="color: #0000BB">integer&nbsp;dialogChannel</span><span style="color: #007700">;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;Channel&nbsp;for&nbsp;dialog&nbsp;communication<br /></span><span style="color: #0000BB">integer&nbsp;listenHandle</span><span style="color: #007700">;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;Handle&nbsp;for&nbsp;the&nbsp;llListen&nbsp;function&nbsp;to&nbsp;capture&nbsp;dialog&nbsp;choices<br /><br />//&nbsp;List&nbsp;to&nbsp;store&nbsp;user&nbsp;keys,&nbsp;last&nbsp;interaction&nbsp;times,&nbsp;and&nbsp;cumulative&nbsp;amounts&nbsp;received<br /></span><span style="color: #007700">list&nbsp;</span><span style="color: #0000BB">userTimes</span><span style="color: #007700">;<br /><br /></span><span style="color: #FF8000">//&nbsp;Define&nbsp;the&nbsp;number&nbsp;of&nbsp;seconds&nbsp;in&nbsp;a&nbsp;day&nbsp;(24&nbsp;hours)&nbsp;and&nbsp;daily&nbsp;limit<br /></span><span style="color: #0000BB">integer&nbsp;ONE_DAY&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">86400</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">integer&nbsp;DAILY_LIMIT&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">250</span><span style="color: #007700">;<br /><br />default<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">state_entry</span><span style="color: #007700">()<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;Request&nbsp;debit&nbsp;permissions&nbsp;from&nbsp;the&nbsp;object&nbsp;owner&nbsp;to&nbsp;allow&nbsp;giving&nbsp;money<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llRequestPermissions</span><span style="color: #007700">(</span><span style="color: #0000BB">llGetOwner</span><span style="color: #007700">(),&nbsp;</span><span style="color: #0000BB">PERMISSION_DEBIT</span><span style="color: #007700">);<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;Set&nbsp;a&nbsp;unique&nbsp;dialog&nbsp;channel&nbsp;based&nbsp;on&nbsp;the&nbsp;object's&nbsp;key<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">dialogChannel&nbsp;</span><span style="color: #007700">=&nbsp;-</span><span style="color: #0000BB">1&nbsp;</span><span style="color: #007700">-&nbsp;(integer)(</span><span style="color: #DD0000">"0x"&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">llGetSubString</span><span style="color: #007700">((string)</span><span style="color: #0000BB">llGetKey</span><span style="color: #007700">(),&nbsp;-</span><span style="color: #0000BB">7</span><span style="color: #007700">,&nbsp;-</span><span style="color: #0000BB">1</span><span style="color: #007700">));<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">touch_start</span><span style="color: #007700">(</span><span style="color: #0000BB">integer&nbsp;num_detected</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">ToucherID&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">llDetectedKey</span><span style="color: #007700">(</span><span style="color: #0000BB">0</span><span style="color: #007700">);&nbsp;</span><span style="color: #FF8000">//&nbsp;Get&nbsp;the&nbsp;key&nbsp;of&nbsp;the&nbsp;person&nbsp;who&nbsp;touched&nbsp;the&nbsp;object<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">integer&nbsp;idx&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">llListFindList</span><span style="color: #007700">(</span><span style="color: #0000BB">userTimes</span><span style="color: #007700">,&nbsp;[</span><span style="color: #0000BB">ToucherID</span><span style="color: #007700">]);&nbsp;</span><span style="color: #FF8000">//&nbsp;Find&nbsp;user's&nbsp;index&nbsp;in&nbsp;userTimes&nbsp;list<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">integer&nbsp;currentTime&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">llGetUnixTime</span><span style="color: #007700">();&nbsp;</span><span style="color: #FF8000">//&nbsp;Get&nbsp;the&nbsp;current&nbsp;Unix&nbsp;timestamp<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">if&nbsp;(</span><span style="color: #0000BB">idx&nbsp;</span><span style="color: #007700">!=&nbsp;-</span><span style="color: #0000BB">1</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;User&nbsp;has&nbsp;interacted&nbsp;before;&nbsp;get&nbsp;their&nbsp;last&nbsp;time&nbsp;and&nbsp;cumulative&nbsp;amount<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">integer&nbsp;lastTime&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">llList2Integer</span><span style="color: #007700">(</span><span style="color: #0000BB">userTimes</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">idx&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">1</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">integer&nbsp;cumulativeAmount&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">llList2Integer</span><span style="color: #007700">(</span><span style="color: #0000BB">userTimes</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">idx&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">2</span><span style="color: #007700">);<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;Check&nbsp;if&nbsp;24&nbsp;hours&nbsp;have&nbsp;passed&nbsp;since&nbsp;the&nbsp;last&nbsp;interaction<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">if&nbsp;(</span><span style="color: #0000BB">currentTime&nbsp;</span><span style="color: #007700">-&nbsp;</span><span style="color: #0000BB">lastTime&nbsp;</span><span style="color: #007700">&gt;=&nbsp;</span><span style="color: #0000BB">ONE_DAY</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;Reset&nbsp;daily&nbsp;count&nbsp;if&nbsp;24&nbsp;hours&nbsp;have&nbsp;passed<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">cumulativeAmount&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">userTimes&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">llListReplaceList</span><span style="color: #007700">(</span><span style="color: #0000BB">userTimes</span><span style="color: #007700">,&nbsp;[</span><span style="color: #0000BB">ToucherID</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">currentTime</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">cumulativeAmount</span><span style="color: #007700">],&nbsp;</span><span style="color: #0000BB">idx</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">idx&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">2</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else&nbsp;if&nbsp;(</span><span style="color: #0000BB">cumulativeAmount&nbsp;</span><span style="color: #007700">&gt;=&nbsp;</span><span style="color: #0000BB">DAILY_LIMIT</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;If&nbsp;user&nbsp;has&nbsp;already&nbsp;reached&nbsp;the&nbsp;daily&nbsp;limit<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llSay</span><span style="color: #007700">(</span><span style="color: #0000BB">0</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"You&nbsp;have&nbsp;reached&nbsp;your&nbsp;daily&nbsp;limit&nbsp;of&nbsp;250.&nbsp;Please&nbsp;try&nbsp;again&nbsp;tomorrow."</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;If&nbsp;the&nbsp;user&nbsp;is&nbsp;new,&nbsp;add&nbsp;them&nbsp;to&nbsp;the&nbsp;list&nbsp;with&nbsp;a&nbsp;zero&nbsp;cumulative&nbsp;amount<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">userTimes&nbsp;</span><span style="color: #007700">+=&nbsp;[</span><span style="color: #0000BB">ToucherID</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">currentTime</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">];<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;Display&nbsp;dialog&nbsp;for&nbsp;amount&nbsp;selection<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llDialog</span><span style="color: #007700">(</span><span style="color: #0000BB">ToucherID</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">dialogInfo</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">buttons</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">dialogChannel</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;Start&nbsp;listening&nbsp;on&nbsp;the&nbsp;dialog&nbsp;channel&nbsp;for&nbsp;this&nbsp;user’s&nbsp;response<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">listenHandle&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">llListen</span><span style="color: #007700">(</span><span style="color: #0000BB">dialogChannel</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">""</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">ToucherID</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">""</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">listen</span><span style="color: #007700">(</span><span style="color: #0000BB">integer&nbsp;channel</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">string&nbsp;name</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">key&nbsp;id</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">string&nbsp;message</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">integer&nbsp;amount&nbsp;</span><span style="color: #007700">=&nbsp;(integer)</span><span style="color: #0000BB">message</span><span style="color: #007700">;&nbsp;</span><span style="color: #FF8000">//&nbsp;Convert&nbsp;the&nbsp;dialog&nbsp;choice&nbsp;to&nbsp;an&nbsp;integer&nbsp;for&nbsp;amount<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Validate&nbsp;that&nbsp;the&nbsp;selected&nbsp;amount&nbsp;is&nbsp;in&nbsp;the&nbsp;buttons&nbsp;list<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">if&nbsp;(</span><span style="color: #0000BB">llListFindList</span><span style="color: #007700">(</span><span style="color: #0000BB">buttons</span><span style="color: #007700">,&nbsp;[</span><span style="color: #0000BB">message</span><span style="color: #007700">])&nbsp;!=&nbsp;-</span><span style="color: #0000BB">1</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">integer&nbsp;idx&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">llListFindList</span><span style="color: #007700">(</span><span style="color: #0000BB">userTimes</span><span style="color: #007700">,&nbsp;[</span><span style="color: #0000BB">ToucherID</span><span style="color: #007700">]);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">integer&nbsp;currentTime&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">llGetUnixTime</span><span style="color: #007700">();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">integer&nbsp;cumulativeAmount&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">llList2Integer</span><span style="color: #007700">(</span><span style="color: #0000BB">userTimes</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">idx&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">2</span><span style="color: #007700">);&nbsp;</span><span style="color: #FF8000">//&nbsp;Retrieve&nbsp;user's&nbsp;current&nbsp;cumulative&nbsp;amount<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Check&nbsp;if&nbsp;the&nbsp;new&nbsp;request&nbsp;would&nbsp;exceed&nbsp;the&nbsp;daily&nbsp;limit<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">if&nbsp;(</span><span style="color: #0000BB">cumulativeAmount&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">amount&nbsp;</span><span style="color: #007700">&gt;&nbsp;</span><span style="color: #0000BB">DAILY_LIMIT</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llSay</span><span style="color: #007700">(</span><span style="color: #0000BB">0</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"This&nbsp;amount&nbsp;would&nbsp;exceed&nbsp;your&nbsp;daily&nbsp;limit&nbsp;of&nbsp;250.&nbsp;Please&nbsp;choose&nbsp;a&nbsp;smaller&nbsp;amount."</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llListenRemove</span><span style="color: #007700">(</span><span style="color: #0000BB">listenHandle</span><span style="color: #007700">);&nbsp;</span><span style="color: #FF8000">//&nbsp;Remove&nbsp;listener&nbsp;to&nbsp;avoid&nbsp;unused&nbsp;listeners<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">return;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;Update&nbsp;cumulative&nbsp;amount&nbsp;and&nbsp;timestamp&nbsp;in&nbsp;the&nbsp;list<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">cumulativeAmount&nbsp;</span><span style="color: #007700">+=&nbsp;</span><span style="color: #0000BB">amount</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">userTimes&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">llListReplaceList</span><span style="color: #007700">(</span><span style="color: #0000BB">userTimes</span><span style="color: #007700">,&nbsp;[</span><span style="color: #0000BB">ToucherID</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">currentTime</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">cumulativeAmount</span><span style="color: #007700">],&nbsp;</span><span style="color: #0000BB">idx</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">idx&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">2</span><span style="color: #007700">);<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;Inform&nbsp;in&nbsp;chat&nbsp;about&nbsp;the&nbsp;money&nbsp;given&nbsp;and&nbsp;transfer&nbsp;the&nbsp;specified&nbsp;amount<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llSay</span><span style="color: #007700">(</span><span style="color: #0000BB">0</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"Give&nbsp;"&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">message&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #DD0000">"&nbsp;Money"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llGiveMoney</span><span style="color: #007700">(</span><span style="color: #0000BB">ToucherID</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">amount</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else&nbsp;if&nbsp;(</span><span style="color: #0000BB">message&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #DD0000">"-"</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;Redisplay&nbsp;the&nbsp;dialog&nbsp;if&nbsp;the&nbsp;user&nbsp;selects&nbsp;the&nbsp;"-"&nbsp;option<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llDialog</span><span style="color: #007700">(</span><span style="color: #0000BB">ToucherID</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">dialogInfo</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">buttons</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">dialogChannel</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;Handle&nbsp;any&nbsp;invalid&nbsp;selection<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llSay</span><span style="color: #007700">(</span><span style="color: #0000BB">0</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"Invalid&nbsp;selection."</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;Remove&nbsp;the&nbsp;listen&nbsp;handle&nbsp;to&nbsp;avoid&nbsp;accumulating&nbsp;unnecessary&nbsp;listeners<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llListenRemove</span><span style="color: #007700">(</span><span style="color: #0000BB">listenHandle</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />}&nbsp;<br /></span></code></div></div></div>]]></description>
			<content:encoded><![CDATA[Dieses Skript erlaubt es einem Objekt in OpenSim, Geld an Benutzer zu überweisen. Dabei wird jedoch eine tägliche Grenze von 250 festgelegt. Jeder Benutzer kann innerhalb von 24 Stunden nur bis zu diesem Limit Geld anfordern. Wenn der Benutzer das Limit erreicht, erhält er eine Nachricht und kann erst am nächsten Tag erneut Geld anfordern.<br />
<br />
ACHTUNG! Wem das Script gehört, ist der Banker. Der Banker kann sich natürlich nicht selber abheben.<br />
<br />
Die Installation ist ganz einfach Script in ein Objekt einfügen und Resetten.<br />
<br />
Das Script kann man auch so erweitern, dass nur bestimmte Personen Zugang zum Geld haben.<br />
<br />
---<br />
<br />
### Funktionsweise<br />
<br />
Das Skript arbeitet in drei Hauptphasen:<br />
<br />
1. **Tägliches Limit verfolgen**: Es speichert die tägliche Gesamtsumme des Geldbetrags, den jeder Benutzer erhalten hat.<br />
2. **Limit erzwingen**: Wenn die vom Benutzer angeforderte Menge das tägliche Limit überschreitet, zeigt das Skript eine Nachricht an, anstatt das Geld zu geben.<br />
3. **Zurücksetzen des Limits nach 24 Stunden**: Wenn seit der letzten Interaktion eines Benutzers 24 Stunden vergangen sind, wird sein Tageslimit zurückgesetzt.<br />
<br />
---<br />
<br />
### Code-Abschnitte<br />
<br />
#### 1. Globale Variablen<br />
<br />
- **`buttons`**: Eine Liste mit den Geldbeträgen, die der Benutzer auswählen kann (z.B. "150", "200", "250").<br />
- **`dialogInfo`**: Nachricht, die im Dialogfenster angezeigt wird.<br />
- **`ToucherID`**: Speichert die ID des Benutzers, der mit dem Objekt interagiert.<br />
- **`dialogChannel`** und **`listenHandle`**: Steuerung des Kommunikationskanals und Handhabung der Dialogantworten.<br />
- **`userTimes`**: Eine Liste, die für jeden Benutzer die letzte Interaktionszeit und die bereits erhaltene Gesamtsumme des Tages speichert.<br />
- **`ONE_DAY`** und **`DAILY_LIMIT`**: Definition der Tageslänge (in Sekunden, hier 24 Stunden) und des Tageslimits (hier 250).<br />
<br />
#### 2. Initialisierung: `state_entry`<br />
<br />
Beim Start des Skripts:<br />
<br />
- **Berechtigung anfordern**: Das Skript fordert eine Debit-Berechtigung an, damit das Objekt Geld senden kann.<br />
- **Dialog-Kanal setzen**: Der Kommunikationskanal wird auf eine eindeutige ID gesetzt, die auf dem Objektschlüssel basiert.<br />
<br />
#### 3. Benutzerinteraktion: `touch_start`<br />
<br />
Wenn ein Benutzer das Objekt berührt:<br />
<br />
1. **Benutzer-Details überprüfen**: Das Skript sucht die ID des Benutzers in der Liste `userTimes`, um die letzte Interaktionszeit und den aktuellen Betrag zu finden.<br />
2. **Tageslimit zurücksetzen**: Falls seit der letzten Interaktion 24 Stunden vergangen sind, wird der kumulierte Betrag des Benutzers auf 0 zurückgesetzt.<br />
3. **Limit prüfen**: Wenn der Benutzer das tägliche Limit bereits erreicht hat, zeigt das Skript eine Nachricht an und beendet den Vorgang.<br />
4. **Dialog anzeigen**: Wenn das Limit nicht überschritten ist, wird ein Dialog mit den auswählbaren Beträgen angezeigt.<br />
<br />
#### 4. Dialogantwort: `listen`<br />
<br />
Sobald der Benutzer einen Betrag auswählt:<br />
<br />
1. **Auswahl verarbeiten**: Der ausgewählte Betrag wird in einen Integer-Wert umgewandelt.<br />
2. **Validierung**: Das Skript überprüft, ob der Betrag in der Liste `buttons` enthalten ist.<br />
3. **Limit überprüfen**: Wenn die neue Auswahl das Tageslimit überschreiten würde, zeigt das Skript eine Warnung an und fordert den Benutzer auf, einen kleineren Betrag zu wählen.<br />
4. **Betrag aktualisieren**: Der Betrag und die Zeit werden in der `userTimes`-Liste aktualisiert, und das Skript sendet den angegebenen Betrag an den Benutzer.<br />
5. **Ungültige Auswahl behandeln**: Wenn der Benutzer eine ungültige Option auswählt, wird eine Fehlermeldung angezeigt.<br />
6. **Listener entfernen**: Am Ende wird der Listener entfernt, um unnötige Listener zu vermeiden.<br />
<br />
---<br />
<br />
### Zusammenfassung der Hauptfunktionen<br />
<br />
1. **Benutzerdaten speichern**: Speichert ID, Interaktionszeit und erhaltenen Betrag jedes Benutzers.<br />
2. **Tageslimit prüfen und zurücksetzen**: Wenn 24 Stunden vergangen sind, wird der erhaltene Betrag auf null gesetzt. Bei Erreichen des Limits wird dem Benutzer eine Nachricht angezeigt.<br />
3. **Geld überweisen**: Überweist den gewünschten Betrag an den Benutzer, wenn das Limit nicht überschritten wird.<br />
<br />
---<br />
<br />
### Hinweise<br />
<br />
- Achten Sie darauf, dass das Objekt die notwendigen Berechtigungen besitzt, um Geld zu überweisen.<br />
- Die Liste `userTimes` speichert alle Benutzerinformationen, und sie wird täglich für jeden Benutzer zurückgesetzt.<br />
<br />
--- <br />
<br />
Das Skript gewährleistet eine kontrollierte Ausgabe von Geld und verhindert, dass Benutzer über das festgelegte Limit hinaus an einem Tag Geld erhalten.<br />
<br />
<div class="codeblock phpcodeblock"><div class="title">PHP-Code:</div><div class="body"><div dir="ltr"><code><span style="color: #FF8000">/*&nbsp;Money&nbsp;Giver&nbsp;Script&nbsp;with&nbsp;Daily&nbsp;Limit&nbsp;by&nbsp;Manfred&nbsp;Aabye.<br />Track&nbsp;the&nbsp;User’s&nbsp;Total&nbsp;Daily&nbsp;Amount:&nbsp;Keep&nbsp;track&nbsp;of&nbsp;the&nbsp;cumulative&nbsp;amount&nbsp;received&nbsp;by&nbsp;each&nbsp;user&nbsp;within&nbsp;a&nbsp;24-hour&nbsp;period.<br />Enforce&nbsp;the&nbsp;Limit:&nbsp;If&nbsp;the&nbsp;user’s&nbsp;total&nbsp;for&nbsp;the&nbsp;day&nbsp;would&nbsp;exceed&nbsp;250&nbsp;with&nbsp;the&nbsp;requested&nbsp;amount,&nbsp;display&nbsp;a&nbsp;message&nbsp;instead&nbsp;of&nbsp;giving&nbsp;them&nbsp;more&nbsp;money.<br />Reset&nbsp;the&nbsp;Daily&nbsp;Total&nbsp;After&nbsp;24&nbsp;Hours:&nbsp;If&nbsp;24&nbsp;hours&nbsp;have&nbsp;passed&nbsp;since&nbsp;their&nbsp;last&nbsp;interaction,&nbsp;reset&nbsp;their&nbsp;total.<br />*/<br /></span><span style="color: #007700">list&nbsp;</span><span style="color: #0000BB">buttons&nbsp;</span><span style="color: #007700">=&nbsp;[</span><span style="color: #DD0000">"150"</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"200"</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"250"</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"50"</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"75"</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"100"</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"1"</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"5"</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"10"</span><span style="color: #007700">];<br /></span><span style="color: #0000BB">string&nbsp;dialogInfo&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #DD0000">"&#092;nPlease&nbsp;choose&nbsp;an&nbsp;amount:"</span><span style="color: #007700">;<br /><br /></span><span style="color: #0000BB">key&nbsp;ToucherID</span><span style="color: #007700">;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;Stores&nbsp;the&nbsp;key&nbsp;of&nbsp;the&nbsp;user&nbsp;interacting&nbsp;with&nbsp;the&nbsp;object<br /></span><span style="color: #0000BB">integer&nbsp;dialogChannel</span><span style="color: #007700">;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;Channel&nbsp;for&nbsp;dialog&nbsp;communication<br /></span><span style="color: #0000BB">integer&nbsp;listenHandle</span><span style="color: #007700">;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;Handle&nbsp;for&nbsp;the&nbsp;llListen&nbsp;function&nbsp;to&nbsp;capture&nbsp;dialog&nbsp;choices<br /><br />//&nbsp;List&nbsp;to&nbsp;store&nbsp;user&nbsp;keys,&nbsp;last&nbsp;interaction&nbsp;times,&nbsp;and&nbsp;cumulative&nbsp;amounts&nbsp;received<br /></span><span style="color: #007700">list&nbsp;</span><span style="color: #0000BB">userTimes</span><span style="color: #007700">;<br /><br /></span><span style="color: #FF8000">//&nbsp;Define&nbsp;the&nbsp;number&nbsp;of&nbsp;seconds&nbsp;in&nbsp;a&nbsp;day&nbsp;(24&nbsp;hours)&nbsp;and&nbsp;daily&nbsp;limit<br /></span><span style="color: #0000BB">integer&nbsp;ONE_DAY&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">86400</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">integer&nbsp;DAILY_LIMIT&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">250</span><span style="color: #007700">;<br /><br />default<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">state_entry</span><span style="color: #007700">()<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;Request&nbsp;debit&nbsp;permissions&nbsp;from&nbsp;the&nbsp;object&nbsp;owner&nbsp;to&nbsp;allow&nbsp;giving&nbsp;money<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llRequestPermissions</span><span style="color: #007700">(</span><span style="color: #0000BB">llGetOwner</span><span style="color: #007700">(),&nbsp;</span><span style="color: #0000BB">PERMISSION_DEBIT</span><span style="color: #007700">);<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;Set&nbsp;a&nbsp;unique&nbsp;dialog&nbsp;channel&nbsp;based&nbsp;on&nbsp;the&nbsp;object's&nbsp;key<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">dialogChannel&nbsp;</span><span style="color: #007700">=&nbsp;-</span><span style="color: #0000BB">1&nbsp;</span><span style="color: #007700">-&nbsp;(integer)(</span><span style="color: #DD0000">"0x"&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">llGetSubString</span><span style="color: #007700">((string)</span><span style="color: #0000BB">llGetKey</span><span style="color: #007700">(),&nbsp;-</span><span style="color: #0000BB">7</span><span style="color: #007700">,&nbsp;-</span><span style="color: #0000BB">1</span><span style="color: #007700">));<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">touch_start</span><span style="color: #007700">(</span><span style="color: #0000BB">integer&nbsp;num_detected</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">ToucherID&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">llDetectedKey</span><span style="color: #007700">(</span><span style="color: #0000BB">0</span><span style="color: #007700">);&nbsp;</span><span style="color: #FF8000">//&nbsp;Get&nbsp;the&nbsp;key&nbsp;of&nbsp;the&nbsp;person&nbsp;who&nbsp;touched&nbsp;the&nbsp;object<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">integer&nbsp;idx&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">llListFindList</span><span style="color: #007700">(</span><span style="color: #0000BB">userTimes</span><span style="color: #007700">,&nbsp;[</span><span style="color: #0000BB">ToucherID</span><span style="color: #007700">]);&nbsp;</span><span style="color: #FF8000">//&nbsp;Find&nbsp;user's&nbsp;index&nbsp;in&nbsp;userTimes&nbsp;list<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">integer&nbsp;currentTime&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">llGetUnixTime</span><span style="color: #007700">();&nbsp;</span><span style="color: #FF8000">//&nbsp;Get&nbsp;the&nbsp;current&nbsp;Unix&nbsp;timestamp<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">if&nbsp;(</span><span style="color: #0000BB">idx&nbsp;</span><span style="color: #007700">!=&nbsp;-</span><span style="color: #0000BB">1</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;User&nbsp;has&nbsp;interacted&nbsp;before;&nbsp;get&nbsp;their&nbsp;last&nbsp;time&nbsp;and&nbsp;cumulative&nbsp;amount<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">integer&nbsp;lastTime&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">llList2Integer</span><span style="color: #007700">(</span><span style="color: #0000BB">userTimes</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">idx&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">1</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">integer&nbsp;cumulativeAmount&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">llList2Integer</span><span style="color: #007700">(</span><span style="color: #0000BB">userTimes</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">idx&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">2</span><span style="color: #007700">);<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;Check&nbsp;if&nbsp;24&nbsp;hours&nbsp;have&nbsp;passed&nbsp;since&nbsp;the&nbsp;last&nbsp;interaction<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">if&nbsp;(</span><span style="color: #0000BB">currentTime&nbsp;</span><span style="color: #007700">-&nbsp;</span><span style="color: #0000BB">lastTime&nbsp;</span><span style="color: #007700">&gt;=&nbsp;</span><span style="color: #0000BB">ONE_DAY</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;Reset&nbsp;daily&nbsp;count&nbsp;if&nbsp;24&nbsp;hours&nbsp;have&nbsp;passed<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">cumulativeAmount&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">userTimes&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">llListReplaceList</span><span style="color: #007700">(</span><span style="color: #0000BB">userTimes</span><span style="color: #007700">,&nbsp;[</span><span style="color: #0000BB">ToucherID</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">currentTime</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">cumulativeAmount</span><span style="color: #007700">],&nbsp;</span><span style="color: #0000BB">idx</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">idx&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">2</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else&nbsp;if&nbsp;(</span><span style="color: #0000BB">cumulativeAmount&nbsp;</span><span style="color: #007700">&gt;=&nbsp;</span><span style="color: #0000BB">DAILY_LIMIT</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;If&nbsp;user&nbsp;has&nbsp;already&nbsp;reached&nbsp;the&nbsp;daily&nbsp;limit<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llSay</span><span style="color: #007700">(</span><span style="color: #0000BB">0</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"You&nbsp;have&nbsp;reached&nbsp;your&nbsp;daily&nbsp;limit&nbsp;of&nbsp;250.&nbsp;Please&nbsp;try&nbsp;again&nbsp;tomorrow."</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;If&nbsp;the&nbsp;user&nbsp;is&nbsp;new,&nbsp;add&nbsp;them&nbsp;to&nbsp;the&nbsp;list&nbsp;with&nbsp;a&nbsp;zero&nbsp;cumulative&nbsp;amount<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">userTimes&nbsp;</span><span style="color: #007700">+=&nbsp;[</span><span style="color: #0000BB">ToucherID</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">currentTime</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">];<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;Display&nbsp;dialog&nbsp;for&nbsp;amount&nbsp;selection<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llDialog</span><span style="color: #007700">(</span><span style="color: #0000BB">ToucherID</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">dialogInfo</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">buttons</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">dialogChannel</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;Start&nbsp;listening&nbsp;on&nbsp;the&nbsp;dialog&nbsp;channel&nbsp;for&nbsp;this&nbsp;user’s&nbsp;response<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">listenHandle&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">llListen</span><span style="color: #007700">(</span><span style="color: #0000BB">dialogChannel</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">""</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">ToucherID</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">""</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">listen</span><span style="color: #007700">(</span><span style="color: #0000BB">integer&nbsp;channel</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">string&nbsp;name</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">key&nbsp;id</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">string&nbsp;message</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">integer&nbsp;amount&nbsp;</span><span style="color: #007700">=&nbsp;(integer)</span><span style="color: #0000BB">message</span><span style="color: #007700">;&nbsp;</span><span style="color: #FF8000">//&nbsp;Convert&nbsp;the&nbsp;dialog&nbsp;choice&nbsp;to&nbsp;an&nbsp;integer&nbsp;for&nbsp;amount<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Validate&nbsp;that&nbsp;the&nbsp;selected&nbsp;amount&nbsp;is&nbsp;in&nbsp;the&nbsp;buttons&nbsp;list<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">if&nbsp;(</span><span style="color: #0000BB">llListFindList</span><span style="color: #007700">(</span><span style="color: #0000BB">buttons</span><span style="color: #007700">,&nbsp;[</span><span style="color: #0000BB">message</span><span style="color: #007700">])&nbsp;!=&nbsp;-</span><span style="color: #0000BB">1</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">integer&nbsp;idx&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">llListFindList</span><span style="color: #007700">(</span><span style="color: #0000BB">userTimes</span><span style="color: #007700">,&nbsp;[</span><span style="color: #0000BB">ToucherID</span><span style="color: #007700">]);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">integer&nbsp;currentTime&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">llGetUnixTime</span><span style="color: #007700">();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">integer&nbsp;cumulativeAmount&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">llList2Integer</span><span style="color: #007700">(</span><span style="color: #0000BB">userTimes</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">idx&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">2</span><span style="color: #007700">);&nbsp;</span><span style="color: #FF8000">//&nbsp;Retrieve&nbsp;user's&nbsp;current&nbsp;cumulative&nbsp;amount<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Check&nbsp;if&nbsp;the&nbsp;new&nbsp;request&nbsp;would&nbsp;exceed&nbsp;the&nbsp;daily&nbsp;limit<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">if&nbsp;(</span><span style="color: #0000BB">cumulativeAmount&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">amount&nbsp;</span><span style="color: #007700">&gt;&nbsp;</span><span style="color: #0000BB">DAILY_LIMIT</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llSay</span><span style="color: #007700">(</span><span style="color: #0000BB">0</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"This&nbsp;amount&nbsp;would&nbsp;exceed&nbsp;your&nbsp;daily&nbsp;limit&nbsp;of&nbsp;250.&nbsp;Please&nbsp;choose&nbsp;a&nbsp;smaller&nbsp;amount."</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llListenRemove</span><span style="color: #007700">(</span><span style="color: #0000BB">listenHandle</span><span style="color: #007700">);&nbsp;</span><span style="color: #FF8000">//&nbsp;Remove&nbsp;listener&nbsp;to&nbsp;avoid&nbsp;unused&nbsp;listeners<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">return;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;Update&nbsp;cumulative&nbsp;amount&nbsp;and&nbsp;timestamp&nbsp;in&nbsp;the&nbsp;list<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">cumulativeAmount&nbsp;</span><span style="color: #007700">+=&nbsp;</span><span style="color: #0000BB">amount</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">userTimes&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">llListReplaceList</span><span style="color: #007700">(</span><span style="color: #0000BB">userTimes</span><span style="color: #007700">,&nbsp;[</span><span style="color: #0000BB">ToucherID</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">currentTime</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">cumulativeAmount</span><span style="color: #007700">],&nbsp;</span><span style="color: #0000BB">idx</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">idx&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">2</span><span style="color: #007700">);<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;Inform&nbsp;in&nbsp;chat&nbsp;about&nbsp;the&nbsp;money&nbsp;given&nbsp;and&nbsp;transfer&nbsp;the&nbsp;specified&nbsp;amount<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llSay</span><span style="color: #007700">(</span><span style="color: #0000BB">0</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"Give&nbsp;"&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">message&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #DD0000">"&nbsp;Money"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llGiveMoney</span><span style="color: #007700">(</span><span style="color: #0000BB">ToucherID</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">amount</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else&nbsp;if&nbsp;(</span><span style="color: #0000BB">message&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #DD0000">"-"</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;Redisplay&nbsp;the&nbsp;dialog&nbsp;if&nbsp;the&nbsp;user&nbsp;selects&nbsp;the&nbsp;"-"&nbsp;option<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llDialog</span><span style="color: #007700">(</span><span style="color: #0000BB">ToucherID</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">dialogInfo</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">buttons</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">dialogChannel</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;Handle&nbsp;any&nbsp;invalid&nbsp;selection<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llSay</span><span style="color: #007700">(</span><span style="color: #0000BB">0</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"Invalid&nbsp;selection."</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;Remove&nbsp;the&nbsp;listen&nbsp;handle&nbsp;to&nbsp;avoid&nbsp;accumulating&nbsp;unnecessary&nbsp;listeners<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llListenRemove</span><span style="color: #007700">(</span><span style="color: #0000BB">listenHandle</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />}&nbsp;<br /></span></code></div></div></div>]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Suche Garagentor script]]></title>
			<link>https://www.gridtalk.de/showthread.php?tid=4888</link>
			<pubDate>Fri, 19 Jul 2024 17:01:36 +0200</pubDate>
			<dc:creator><![CDATA[<a href="https://www.gridtalk.de/member.php?action=profile&uid=1341">Kalkofe</a>]]></dc:creator>
			<guid isPermaLink="false">https://www.gridtalk.de/showthread.php?tid=4888</guid>
			<description><![CDATA[Guten Tag zusammen ich suche ein Schwingtür oder Garagentor Skript.<br />
Ich habe zwar diverse Türscripte allerdings schließen die Türen nach einer<br />
gewissen Zeit wieder automatisch, das möchte ich nicht. Das Script welches ich benötige soll die Schwingtür/tor aber erst nach einem nochmaligen Klick schließen. Es wäre schön wenn jemand sowas hat.<br />
<br />
LG<br />
Kalk]]></description>
			<content:encoded><![CDATA[Guten Tag zusammen ich suche ein Schwingtür oder Garagentor Skript.<br />
Ich habe zwar diverse Türscripte allerdings schließen die Türen nach einer<br />
gewissen Zeit wieder automatisch, das möchte ich nicht. Das Script welches ich benötige soll die Schwingtür/tor aber erst nach einem nochmaligen Klick schließen. Es wäre schön wenn jemand sowas hat.<br />
<br />
LG<br />
Kalk]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Sourcecode mit KI erstellen]]></title>
			<link>https://www.gridtalk.de/showthread.php?tid=4826</link>
			<pubDate>Sun, 17 Mar 2024 14:27:23 +0100</pubDate>
			<dc:creator><![CDATA[<a href="https://www.gridtalk.de/member.php?action=profile&uid=998">Manfred Aabye</a>]]></dc:creator>
			<guid isPermaLink="false">https://www.gridtalk.de/showthread.php?tid=4826</guid>
			<description><![CDATA[<span style="font-size: x-large;" class="mycode_size">Zusammenfassung der Informationen zu verschiedenen Code-Modellen</span><br />
<br />
    1. <span style="font-weight: bold;" class="mycode_b">DeepSeek-Coder:</span><br />
<br />
        ◦ Zusammensetzung: DeepSeek-Coder besteht aus einer Reihe von Code-Sprachmodellen, die jeweils von Grund auf auf 2 Billionen Tokens trainiert wurden. Sie bestehen zu 87 % aus Code und zu 13 % aus natürlicher Sprache in Englisch und Chinesisch. <br />
<br />
        ◦ Modellgrößen: DeepSeek-Coder bietet verschiedene Modellgrößen von 1B bis 33B an. <br />
<br />
        ◦ Leistung: Es erzielt erstklassige Ergebnisse auf verschiedenen Benchmarks für Open-Source-Code-Modelle in mehreren Programmiersprachen. <br />
<br />
        ◦ DeepSeek-Coder erzeugt in der Regel qualitativ hochwertigen Code. <br />
Es wurde speziell für die Verarbeitung von Programmiersprachen entwickelt und bietet gute Ergebnisse in Python, Java, C++ und anderen Sprachen. <br />
<br />
        ◦ Qualität hängt jedoch von der spezifischen Aufgabe und dem Kontext ab. Manchmal kann der generierte Code unerwartete Fehler enthalten oder nicht den besten Stil aufweisen. <br />
<br />
    2. <span style="font-weight: bold;" class="mycode_b">WizardCoder:</span><br />
<br />
        ◦ Modellgröße: Das WizardCoder-Modell mit 15B Tokens hat beeindruckende Leistungen gezeigt. Die 33B-Version übertrifft sogar ChatGPT 3.5 und Gemini Pro auf HumanEval und MBPP. <br />
<br />
        ◦ WizardCoder hat sich als leistungsstarkes Modell erwiesen. Es kann komplexe Aufgaben bewältigen und bietet oft korrekten und gut strukturierten Code. <br />
<br />
        ◦ Dennoch sollte man den generierten Code immer überprüfen und gegebenenfalls anpassen, um sicherzustellen, dass er den Anforderungen entspricht. <br />
<br />
    3. <span style="font-weight: bold;" class="mycode_b">CodeLlama:</span><br />
<br />
        ◦ Modellgröße: CodeLlama-34B ist ein leistungsstarkes Modell. <br />
<br />
        ◦ Vergleich: Im Vergleich zu CodeLlama-34B übertrifft DeepSeek-Coder-Base-33B auf HumanEval Python, HumanEval Multilingual, MBPP und DS-1000. <br />
<br />
        ◦ CodeLlama-Modelle liefern ebenfalls qualitativ hochwertigen Code. Sie sind auf verschiedene Programmiersprachen spezialisiert und können bei der Lösung von Entwicklungsproblemen hilfreich sein. <br />
<br />
        ◦ Wie bei anderen Modellen ist es ratsam, den generierten Code zu überprüfen und gegebenenfalls zu optimieren. <br />
          <br />
    4. <span style="font-weight: bold;" class="mycode_b">GitHub Copilot:</span><br />
<br />
        ◦ Beschreibung: GitHub Copilot ist ein KI-Tool, das in Visual Studio Code integriert ist. Es hilft beim Schreiben von Code, indem es kontextbezogene Vorschläge und automatische Vervollständigungen bietet. <br />
<br />
        ◦ Leistung: Es ist ein leistungsstarkes Werkzeug, das auf maschinellem Lernen basiert und von OpenAI entwickelt wurde. <br />
<br />
        ◦ GitHub Copilot ist ein nützliches Tool für Entwickler. Es kann schnelle Vorschläge und automatische Vervollständigungen bieten. <br />
<br />
        ◦ Qualität hängt jedoch von der spezifischen Aufgabe und dem Kontext ab. Es ist immer ratsam, den generierten Code zu überprüfen und zu testen. <br />
<br />
<span style="font-size: x-large;" class="mycode_size">Die Top 10 AI-Code-Generatoren, die derzeit den Markt dominieren</span><br />
<br />
    1. <span style="font-weight: bold;" class="mycode_b">GitHub Copilot:</span><br />
<br />
        ◦ GitHub Copilot ist eine bahnbrechende KI-gestützte Codierungsunterstützung, die bei Entwicklern für Aufsehen gesorgt hat. Es ist eher ein Paarprogrammierer als ein einfacher Code-Generator und unterstützt Sie beim Schreiben von besserem Code. <br />
<br />
    2. <span style="font-weight: bold;" class="mycode_b">DeepSeek-Coder:</span><br />
<br />
        ◦ DeepSeek-Coder besteht aus einer Reihe von Code-Sprachmodellen, die jeweils von Grund auf auf 2 Billionen Tokens trainiert wurden. Es bietet verschiedene Modellgrößen von 1B bis 33B an und erzielt erstklassige Ergebnisse in mehreren Programmiersprachen. <br />
<br />
    3. <span style="font-weight: bold;" class="mycode_b">WizardCoder:</span><br />
<br />
        ◦ WizardCoder mit 15B Tokens hat beeindruckende Leistungen gezeigt. Die 33B-Version übertrifft sogar ChatGPT 3.5 und Gemini Pro auf HumanEval und MBPP. <br />
<br />
    4. <span style="font-weight: bold;" class="mycode_b">CodeLlama:</span><br />
<br />
        ◦ CodeLlama-34B ist ein leistungsstarkes Modell, das qualitativ hochwertigen Code erzeugt. Im Vergleich zu CodeLlama-34B übertrifft DeepSeek-Coder-Base-33B auf HumanEval Python, HumanEval Multilingual, MBPP und DS-1000. <br />
<br />
    5. <span style="font-weight: bold;" class="mycode_b">TabNine:</span><br />
<br />
        ◦ TabNine ist ein KI-Code-Generator, der auf maschinellem Lernen basiert und kontextbezogene Vorschläge bietet. Es ist besonders nützlich für schnelle Codevervollständigungen. <br />
<br />
    6. <span style="font-weight: bold;" class="mycode_b">Kite:</span><br />
        ◦ Kite ist ein KI-gestütztes Tool, das kontextbezogene Code-Vorschläge in Echtzeit bietet. Es ist in verschiedenen IDEs und Texteditoren verfügbar. <br />
<br />
    7. <span style="font-weight: bold;" class="mycode_b">OpenAI Codex:</span><br />
        ◦ Codex ist ein leistungsstarkes Modell, das auf GPT-3 basiert und speziell für das Generieren von Code entwickelt wurde. Es kann in verschiedenen Programmiersprachen verwendet werden. <br />
<br />
    8. <span style="font-weight: bold;" class="mycode_b">Sourcery:</span><br />
<br />
        ◦ Sourcery analysiert Ihren Code und bietet automatische Verbesserungsvorschläge. Es hilft, den Code zu optimieren und Best Practices einzuhalten. <br />
<br />
    9. <span style="font-weight: bold;" class="mycode_b">CodeAI:</span><br />
<br />
        ◦ CodeAI ist ein KI-Tool, das auf maschinellem Lernen basiert und Codevervollständigungen, Refaktorisierungsvorschläge und Fehlererkennung bietet. <br />
<br />
    10. <span style="font-weight: bold;" class="mycode_b">CodeGPT:</span><br />
<br />
        ◦ CodeGPT ist ein Modell, das auf GPT-3 basiert und speziell für das Generieren von Code entwickelt wurde. Es kann in verschiedenen Programmiersprachen eingesetzt werden. <br />
<br />
Diese Tools bieten eine enorme Produktivitätssteigerung und helfen Entwicklern, <br />
qualitativ hochwertigen Code zu erstellen.]]></description>
			<content:encoded><![CDATA[<span style="font-size: x-large;" class="mycode_size">Zusammenfassung der Informationen zu verschiedenen Code-Modellen</span><br />
<br />
    1. <span style="font-weight: bold;" class="mycode_b">DeepSeek-Coder:</span><br />
<br />
        ◦ Zusammensetzung: DeepSeek-Coder besteht aus einer Reihe von Code-Sprachmodellen, die jeweils von Grund auf auf 2 Billionen Tokens trainiert wurden. Sie bestehen zu 87 % aus Code und zu 13 % aus natürlicher Sprache in Englisch und Chinesisch. <br />
<br />
        ◦ Modellgrößen: DeepSeek-Coder bietet verschiedene Modellgrößen von 1B bis 33B an. <br />
<br />
        ◦ Leistung: Es erzielt erstklassige Ergebnisse auf verschiedenen Benchmarks für Open-Source-Code-Modelle in mehreren Programmiersprachen. <br />
<br />
        ◦ DeepSeek-Coder erzeugt in der Regel qualitativ hochwertigen Code. <br />
Es wurde speziell für die Verarbeitung von Programmiersprachen entwickelt und bietet gute Ergebnisse in Python, Java, C++ und anderen Sprachen. <br />
<br />
        ◦ Qualität hängt jedoch von der spezifischen Aufgabe und dem Kontext ab. Manchmal kann der generierte Code unerwartete Fehler enthalten oder nicht den besten Stil aufweisen. <br />
<br />
    2. <span style="font-weight: bold;" class="mycode_b">WizardCoder:</span><br />
<br />
        ◦ Modellgröße: Das WizardCoder-Modell mit 15B Tokens hat beeindruckende Leistungen gezeigt. Die 33B-Version übertrifft sogar ChatGPT 3.5 und Gemini Pro auf HumanEval und MBPP. <br />
<br />
        ◦ WizardCoder hat sich als leistungsstarkes Modell erwiesen. Es kann komplexe Aufgaben bewältigen und bietet oft korrekten und gut strukturierten Code. <br />
<br />
        ◦ Dennoch sollte man den generierten Code immer überprüfen und gegebenenfalls anpassen, um sicherzustellen, dass er den Anforderungen entspricht. <br />
<br />
    3. <span style="font-weight: bold;" class="mycode_b">CodeLlama:</span><br />
<br />
        ◦ Modellgröße: CodeLlama-34B ist ein leistungsstarkes Modell. <br />
<br />
        ◦ Vergleich: Im Vergleich zu CodeLlama-34B übertrifft DeepSeek-Coder-Base-33B auf HumanEval Python, HumanEval Multilingual, MBPP und DS-1000. <br />
<br />
        ◦ CodeLlama-Modelle liefern ebenfalls qualitativ hochwertigen Code. Sie sind auf verschiedene Programmiersprachen spezialisiert und können bei der Lösung von Entwicklungsproblemen hilfreich sein. <br />
<br />
        ◦ Wie bei anderen Modellen ist es ratsam, den generierten Code zu überprüfen und gegebenenfalls zu optimieren. <br />
          <br />
    4. <span style="font-weight: bold;" class="mycode_b">GitHub Copilot:</span><br />
<br />
        ◦ Beschreibung: GitHub Copilot ist ein KI-Tool, das in Visual Studio Code integriert ist. Es hilft beim Schreiben von Code, indem es kontextbezogene Vorschläge und automatische Vervollständigungen bietet. <br />
<br />
        ◦ Leistung: Es ist ein leistungsstarkes Werkzeug, das auf maschinellem Lernen basiert und von OpenAI entwickelt wurde. <br />
<br />
        ◦ GitHub Copilot ist ein nützliches Tool für Entwickler. Es kann schnelle Vorschläge und automatische Vervollständigungen bieten. <br />
<br />
        ◦ Qualität hängt jedoch von der spezifischen Aufgabe und dem Kontext ab. Es ist immer ratsam, den generierten Code zu überprüfen und zu testen. <br />
<br />
<span style="font-size: x-large;" class="mycode_size">Die Top 10 AI-Code-Generatoren, die derzeit den Markt dominieren</span><br />
<br />
    1. <span style="font-weight: bold;" class="mycode_b">GitHub Copilot:</span><br />
<br />
        ◦ GitHub Copilot ist eine bahnbrechende KI-gestützte Codierungsunterstützung, die bei Entwicklern für Aufsehen gesorgt hat. Es ist eher ein Paarprogrammierer als ein einfacher Code-Generator und unterstützt Sie beim Schreiben von besserem Code. <br />
<br />
    2. <span style="font-weight: bold;" class="mycode_b">DeepSeek-Coder:</span><br />
<br />
        ◦ DeepSeek-Coder besteht aus einer Reihe von Code-Sprachmodellen, die jeweils von Grund auf auf 2 Billionen Tokens trainiert wurden. Es bietet verschiedene Modellgrößen von 1B bis 33B an und erzielt erstklassige Ergebnisse in mehreren Programmiersprachen. <br />
<br />
    3. <span style="font-weight: bold;" class="mycode_b">WizardCoder:</span><br />
<br />
        ◦ WizardCoder mit 15B Tokens hat beeindruckende Leistungen gezeigt. Die 33B-Version übertrifft sogar ChatGPT 3.5 und Gemini Pro auf HumanEval und MBPP. <br />
<br />
    4. <span style="font-weight: bold;" class="mycode_b">CodeLlama:</span><br />
<br />
        ◦ CodeLlama-34B ist ein leistungsstarkes Modell, das qualitativ hochwertigen Code erzeugt. Im Vergleich zu CodeLlama-34B übertrifft DeepSeek-Coder-Base-33B auf HumanEval Python, HumanEval Multilingual, MBPP und DS-1000. <br />
<br />
    5. <span style="font-weight: bold;" class="mycode_b">TabNine:</span><br />
<br />
        ◦ TabNine ist ein KI-Code-Generator, der auf maschinellem Lernen basiert und kontextbezogene Vorschläge bietet. Es ist besonders nützlich für schnelle Codevervollständigungen. <br />
<br />
    6. <span style="font-weight: bold;" class="mycode_b">Kite:</span><br />
        ◦ Kite ist ein KI-gestütztes Tool, das kontextbezogene Code-Vorschläge in Echtzeit bietet. Es ist in verschiedenen IDEs und Texteditoren verfügbar. <br />
<br />
    7. <span style="font-weight: bold;" class="mycode_b">OpenAI Codex:</span><br />
        ◦ Codex ist ein leistungsstarkes Modell, das auf GPT-3 basiert und speziell für das Generieren von Code entwickelt wurde. Es kann in verschiedenen Programmiersprachen verwendet werden. <br />
<br />
    8. <span style="font-weight: bold;" class="mycode_b">Sourcery:</span><br />
<br />
        ◦ Sourcery analysiert Ihren Code und bietet automatische Verbesserungsvorschläge. Es hilft, den Code zu optimieren und Best Practices einzuhalten. <br />
<br />
    9. <span style="font-weight: bold;" class="mycode_b">CodeAI:</span><br />
<br />
        ◦ CodeAI ist ein KI-Tool, das auf maschinellem Lernen basiert und Codevervollständigungen, Refaktorisierungsvorschläge und Fehlererkennung bietet. <br />
<br />
    10. <span style="font-weight: bold;" class="mycode_b">CodeGPT:</span><br />
<br />
        ◦ CodeGPT ist ein Modell, das auf GPT-3 basiert und speziell für das Generieren von Code entwickelt wurde. Es kann in verschiedenen Programmiersprachen eingesetzt werden. <br />
<br />
Diese Tools bieten eine enorme Produktivitätssteigerung und helfen Entwicklern, <br />
qualitativ hochwertigen Code zu erstellen.]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Gender Poseball]]></title>
			<link>https://www.gridtalk.de/showthread.php?tid=4818</link>
			<pubDate>Sun, 03 Mar 2024 23:06:19 +0100</pubDate>
			<dc:creator><![CDATA[<a href="https://www.gridtalk.de/member.php?action=profile&uid=998">Manfred Aabye</a>]]></dc:creator>
			<guid isPermaLink="false">https://www.gridtalk.de/showthread.php?tid=4818</guid>
			<description><![CDATA[<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Gender Poseball</span></span><br />
Ein Poseball das 3 Geschlechter kennt:<br />
male_animationsname<br />
female_animationsname<br />
unknown_animationsname<br />
der Anfang ist die Geschlechterkennung/Zuweisung.<br />
Es werden einfach eure Animationen in das Prim kopiert und das Geschlecht vorgesetzt.<br />
Es ist eigentlich ganz einfach zu handhaben.<br />
Die Animation umbenennen zum Beispiel von „sit1 female“ in „female_sit1“ <br />
genauso bei den male_ und unknown_ Animationen vorgehen <br />
und diese in den Poseball kopieren (Bitte keine Leerzeichen).<br />
Anschließend die Animationsposition einstellen „vector target = &lt;0.0, 0.0, 1.0&gt;;“ Breite, Tiefe und Höhe. <br />
Ich habe mal 3 Beispiele und ein paar Animationen zum Testen in meinem Grid zum Mitnehmen hingestellt.<br />
<a href="http://openmanniland.de:8002/" target="_blank" rel="noopener" class="mycode_url">http://openmanniland.de:8002/</a> Welcome<br />
<br />
Ein Anwendungsbeispiel wäre eine Couch mit 6 male Animationen, 6 female Animationen, 1 unknown Animation. <br />
Beim Setzen wird dann geschaut, welches Geschlecht der/die/das sich setzende hat <br />
und eine entsprechende Zufallsanimation wird abgespielt.<br />
<br />
gender_poseball.lsl<br />
<div class="codeblock phpcodeblock"><div class="title">PHP-Code:</div><div class="body"><div dir="ltr"><code><span style="color: #0000BB">vector&nbsp;target&nbsp;</span><span style="color: #007700">=&nbsp;&lt;</span><span style="color: #0000BB">0.0</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">0.0</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">1.0</span><span style="color: #007700">&gt;;&nbsp;</span><span style="color: #FF8000">//&nbsp;Ändere&nbsp;diese&nbsp;Werte,&nbsp;um&nbsp;die&nbsp;Position&nbsp;deines&nbsp;Avatars&nbsp;anzupassen.<br />//&nbsp;rotation&nbsp;localrot&nbsp;=&nbsp;ZERO_ROTATION;&nbsp;//&nbsp;Rotationsposition&nbsp;des&nbsp;Avatars&nbsp;abschalten.<br /></span><span style="color: #0000BB">rotation&nbsp;localrot&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">llEuler2Rot</span><span style="color: #007700">(&lt;</span><span style="color: #0000BB">90</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">,&nbsp;-</span><span style="color: #0000BB">90</span><span style="color: #007700">&gt;*</span><span style="color: #0000BB">DEG_TO_RAD</span><span style="color: #007700">);&nbsp;</span><span style="color: #FF8000">//&nbsp;Rotationsposition&nbsp;des&nbsp;Avatars&nbsp;setzen.<br /></span><span style="color: #007700">list&nbsp;</span><span style="color: #0000BB">male_animations</span><span style="color: #007700">;&nbsp;</span><span style="color: #FF8000">//&nbsp;Liste&nbsp;für&nbsp;männliche&nbsp;Animationen<br /></span><span style="color: #007700">list&nbsp;</span><span style="color: #0000BB">female_animations</span><span style="color: #007700">;&nbsp;</span><span style="color: #FF8000">//&nbsp;Liste&nbsp;für&nbsp;weibliche&nbsp;Animationen<br /></span><span style="color: #007700">list&nbsp;</span><span style="color: #0000BB">unknown_animations</span><span style="color: #007700">;&nbsp;</span><span style="color: #FF8000">//&nbsp;Liste&nbsp;für&nbsp;das&nbsp;dritte&nbsp;Geschlecht&nbsp;Animationen<br /></span><span style="color: #0000BB">integer&nbsp;used</span><span style="color: #007700">;&nbsp;</span><span style="color: #FF8000">//&nbsp;Als&nbsp;Flagge&nbsp;verwendet,&nbsp;um&nbsp;zu&nbsp;bestimmen,&nbsp;was&nbsp;das&nbsp;Skript&nbsp;tun&nbsp;soll.<br /></span><span style="color: #0000BB">key&nbsp;user</span><span style="color: #007700">;&nbsp;</span><span style="color: #FF8000">//&nbsp;Hier&nbsp;wird&nbsp;der&nbsp;Schlüssel&nbsp;des&nbsp;Benutzers&nbsp;gespeichert,&nbsp;der&nbsp;den&nbsp;Poseball&nbsp;benutzt<br /></span><span style="color: #0000BB">string&nbsp;chosen_anim</span><span style="color: #007700">;&nbsp;</span><span style="color: #FF8000">//&nbsp;Hier&nbsp;wird&nbsp;die&nbsp;ausgewählte&nbsp;Animation&nbsp;gespeichert<br /><br /></span><span style="color: #007700">default<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">state_entry</span><span style="color: #007700">()<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llSitTarget</span><span style="color: #007700">(</span><span style="color: #0000BB">target</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">localrot</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;Animationen&nbsp;im&nbsp;Inventar&nbsp;sammeln<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">integer&nbsp;num_anims&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">llGetInventoryNumber</span><span style="color: #007700">(</span><span style="color: #0000BB">INVENTORY_ANIMATION</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">integer&nbsp;i</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(</span><span style="color: #0000BB">i&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">;&nbsp;</span><span style="color: #0000BB">i&nbsp;</span><span style="color: #007700">&lt;&nbsp;</span><span style="color: #0000BB">num_anims</span><span style="color: #007700">;&nbsp;++</span><span style="color: #0000BB">i</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">string&nbsp;anim_name&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">llGetInventoryName</span><span style="color: #007700">(</span><span style="color: #0000BB">INVENTORY_ANIMATION</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">i</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">llSubStringIndex</span><span style="color: #007700">(</span><span style="color: #0000BB">anim_name</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"male_"</span><span style="color: #007700">)&nbsp;==&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">male_animations&nbsp;</span><span style="color: #007700">+=&nbsp;</span><span style="color: #0000BB">anim_name</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;else&nbsp;if&nbsp;(</span><span style="color: #0000BB">llSubStringIndex</span><span style="color: #007700">(</span><span style="color: #0000BB">anim_name</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"female_"</span><span style="color: #007700">)&nbsp;==&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">female_animations&nbsp;</span><span style="color: #007700">+=&nbsp;</span><span style="color: #0000BB">anim_name</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;else&nbsp;if&nbsp;(</span><span style="color: #0000BB">llSubStringIndex</span><span style="color: #007700">(</span><span style="color: #0000BB">anim_name</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"unknown_"</span><span style="color: #007700">)&nbsp;==&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">unknown_animations&nbsp;</span><span style="color: #007700">+=&nbsp;</span><span style="color: #0000BB">anim_name</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">male_animations&nbsp;</span><span style="color: #007700">==&nbsp;[]&nbsp;&amp;&amp;&nbsp;</span><span style="color: #0000BB">female_animations&nbsp;</span><span style="color: #007700">==&nbsp;[]&nbsp;&amp;&amp;&nbsp;</span><span style="color: #0000BB">unknown_animations&nbsp;</span><span style="color: #007700">==&nbsp;[])&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">state&nbsp;error</span><span style="color: #007700">;&nbsp;</span><span style="color: #FF8000">//&nbsp;Gehe&nbsp;und&nbsp;warte,&nbsp;bis&nbsp;sich&nbsp;das&nbsp;Inventar&nbsp;geändert&nbsp;hat.<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">}&nbsp;else&nbsp;{&nbsp;</span><span style="color: #FF8000">//&nbsp;Ansonsten...<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llOwnerSay</span><span style="color: #007700">(</span><span style="color: #DD0000">"Gefundene&nbsp;Animationen:&nbsp;Männlich:&nbsp;"&nbsp;</span><span style="color: #007700">+&nbsp;(string)</span><span style="color: #0000BB">llGetListLength</span><span style="color: #007700">(</span><span style="color: #0000BB">male_animations</span><span style="color: #007700">)&nbsp;+&nbsp;</span><span style="color: #DD0000">",&nbsp;Weiblich:&nbsp;"&nbsp;</span><span style="color: #007700">+&nbsp;(string)</span><span style="color: #0000BB">llGetListLength</span><span style="color: #007700">(</span><span style="color: #0000BB">female_animations</span><span style="color: #007700">)&nbsp;+&nbsp;</span><span style="color: #DD0000">",&nbsp;Unbekannt:&nbsp;"&nbsp;</span><span style="color: #007700">+&nbsp;(string)</span><span style="color: #0000BB">llGetListLength</span><span style="color: #007700">(</span><span style="color: #0000BB">unknown_animations</span><span style="color: #007700">));&nbsp;</span><span style="color: #FF8000">//&nbsp;Bestätige,&nbsp;dass&nbsp;sich&nbsp;Animationen&nbsp;im&nbsp;Inventar&nbsp;befinden<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">}<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">changed</span><span style="color: #007700">(</span><span style="color: #0000BB">integer&nbsp;change</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">change&nbsp;</span><span style="color: #007700">&amp;&nbsp;</span><span style="color: #0000BB">CHANGED_LINK</span><span style="color: #007700">)&nbsp;</span><span style="color: #FF8000">//&nbsp;Wird&nbsp;ausgelöst,&nbsp;wenn&nbsp;jemand&nbsp;auf&nbsp;den&nbsp;Poseball&nbsp;sitzt.&nbsp;Wenn&nbsp;du&nbsp;dich&nbsp;hinsetzt,&nbsp;wirst&nbsp;du&nbsp;tatsächlich&nbsp;mit&nbsp;dem&nbsp;Ball&nbsp;verlinkt.<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(!</span><span style="color: #0000BB">used</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">used&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">TRUE</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">user&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">llAvatarOnSitTarget</span><span style="color: #007700">();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(</span><span style="color: #0000BB">user&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #0000BB">NULL_KEY</span><span style="color: #007700">)&nbsp;</span><span style="color: #0000BB">used&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">FALSE</span><span style="color: #007700">;&nbsp;</span><span style="color: #FF8000">//&nbsp;Stelle&nbsp;sicher,&nbsp;dass&nbsp;wirklich&nbsp;jemand&nbsp;auf&nbsp;dem&nbsp;Poseball&nbsp;sitzt<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llSetAlpha</span><span style="color: #007700">(</span><span style="color: #0000BB">0.0</span><span style="color: #007700">,</span><span style="color: #0000BB">ALL_SIDES</span><span style="color: #007700">);&nbsp;</span><span style="color: #FF8000">//&nbsp;Verstecke&nbsp;den&nbsp;Poseball,&nbsp;wenn&nbsp;darauf&nbsp;gesessen&nbsp;wird<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">osAvatarStopAnimation</span><span style="color: #007700">(</span><span style="color: #0000BB">user</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"sit"</span><span style="color: #007700">);&nbsp;</span><span style="color: #FF8000">//&nbsp;Stoppe&nbsp;die&nbsp;Standard-Sitzanimation&nbsp;(WICHTIG!)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Geschlecht&nbsp;des&nbsp;Benutzers&nbsp;abrufen<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">string&nbsp;gender&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">osGetGender</span><span style="color: #007700">(</span><span style="color: #0000BB">user</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;Zufällige&nbsp;Animation&nbsp;auswählen&nbsp;und&nbsp;abspielen<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">if&nbsp;(</span><span style="color: #0000BB">gender&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #DD0000">"male"</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">chosen_anim&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">llList2String</span><span style="color: #007700">(</span><span style="color: #0000BB">male_animations</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">llFloor</span><span style="color: #007700">(</span><span style="color: #0000BB">llFrand</span><span style="color: #007700">(</span><span style="color: #0000BB">llGetListLength</span><span style="color: #007700">(</span><span style="color: #0000BB">male_animations</span><span style="color: #007700">))));<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;else&nbsp;if&nbsp;(</span><span style="color: #0000BB">gender&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #DD0000">"female"</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">chosen_anim&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">llList2String</span><span style="color: #007700">(</span><span style="color: #0000BB">female_animations</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">llFloor</span><span style="color: #007700">(</span><span style="color: #0000BB">llFrand</span><span style="color: #007700">(</span><span style="color: #0000BB">llGetListLength</span><span style="color: #007700">(</span><span style="color: #0000BB">female_animations</span><span style="color: #007700">))));<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;else&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">chosen_anim&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">llList2String</span><span style="color: #007700">(</span><span style="color: #0000BB">unknown_animations</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">llFloor</span><span style="color: #007700">(</span><span style="color: #0000BB">llFrand</span><span style="color: #007700">(</span><span style="color: #0000BB">llGetListLength</span><span style="color: #007700">(</span><span style="color: #0000BB">unknown_animations</span><span style="color: #007700">))));<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">osAvatarPlayAnimation</span><span style="color: #007700">(</span><span style="color: #0000BB">user</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">chosen_anim</span><span style="color: #007700">);&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;Und&nbsp;starte&nbsp;die&nbsp;gewählte&nbsp;Animation.<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">state&nbsp;running</span><span style="color: #007700">;&nbsp;</span><span style="color: #FF8000">//&nbsp;Wechseln&nbsp;in&nbsp;den&nbsp;Zustand&nbsp;"running",&nbsp;um&nbsp;das&nbsp;Abspielen&nbsp;der&nbsp;Animation&nbsp;zu&nbsp;verfolgen<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">}&nbsp;else&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">used&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">FALSE</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llSetAlpha</span><span style="color: #007700">(</span><span style="color: #0000BB">1.0</span><span style="color: #007700">,</span><span style="color: #0000BB">ALL_SIDES</span><span style="color: #007700">);&nbsp;</span><span style="color: #FF8000">//&nbsp;Mache&nbsp;den&nbsp;Poseball&nbsp;wieder&nbsp;sichtbar,&nbsp;wenn&nbsp;der&nbsp;Benutzer&nbsp;aufsteht<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">osAvatarStopAnimation</span><span style="color: #007700">(</span><span style="color: #0000BB">user</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">chosen_anim</span><span style="color: #007700">);&nbsp;</span><span style="color: #FF8000">//&nbsp;Stoppe&nbsp;die&nbsp;Animation,&nbsp;wenn&nbsp;der&nbsp;Benutzer&nbsp;aufsteht.<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">user&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">NULL_KEY</span><span style="color: #007700">;&nbsp;</span><span style="color: #FF8000">//&nbsp;Wahrscheinlich&nbsp;überflüssig,&nbsp;aber&nbsp;wir&nbsp;möchten&nbsp;sicherstellen,&nbsp;dass&nbsp;der&nbsp;Wert&nbsp;für&nbsp;''user''&nbsp;leer&nbsp;ist.<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(</span><span style="color: #0000BB">change&nbsp;</span><span style="color: #007700">&amp;&nbsp;</span><span style="color: #0000BB">CHANGED_INVENTORY</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llResetScript</span><span style="color: #007700">();&nbsp;</span><span style="color: #FF8000">//&nbsp;Setze&nbsp;das&nbsp;Skript&nbsp;zurück,&nbsp;wenn&nbsp;sich&nbsp;das&nbsp;Inventar&nbsp;geändert&nbsp;hat.<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">}<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />}<br /><br /></span><span style="color: #0000BB">state&nbsp;running<br /></span><span style="color: #007700">{<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">state_entry</span><span style="color: #007700">()<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;Hier&nbsp;kannst&nbsp;du&nbsp;weitere&nbsp;Aktionen&nbsp;durchführen,&nbsp;wenn&nbsp;das&nbsp;Animation&nbsp;abgespielt&nbsp;wird<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">on_rez</span><span style="color: #007700">(</span><span style="color: #0000BB">integer&nbsp;start_param</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llResetScript</span><span style="color: #007700">();<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">changed</span><span style="color: #007700">(</span><span style="color: #0000BB">integer&nbsp;change</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(</span><span style="color: #0000BB">change&nbsp;</span><span style="color: #007700">&amp;&nbsp;</span><span style="color: #0000BB">CHANGED_LINK</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">used&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">FALSE</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llSetAlpha</span><span style="color: #007700">(</span><span style="color: #0000BB">1.0</span><span style="color: #007700">,</span><span style="color: #0000BB">ALL_SIDES</span><span style="color: #007700">);&nbsp;</span><span style="color: #FF8000">//&nbsp;Mache&nbsp;den&nbsp;Poseball&nbsp;wieder&nbsp;sichtbar,&nbsp;wenn&nbsp;der&nbsp;Benutzer&nbsp;aufsteht<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">osAvatarStopAnimation</span><span style="color: #007700">(</span><span style="color: #0000BB">user</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">chosen_anim</span><span style="color: #007700">);&nbsp;</span><span style="color: #FF8000">//&nbsp;Stoppe&nbsp;die&nbsp;Animation,&nbsp;wenn&nbsp;der&nbsp;Benutzer&nbsp;aufsteht.<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">user&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">NULL_KEY</span><span style="color: #007700">;&nbsp;</span><span style="color: #FF8000">//&nbsp;Wahrscheinlich&nbsp;überflüssig,&nbsp;aber&nbsp;wir&nbsp;möchten&nbsp;sicherstellen,&nbsp;dass&nbsp;der&nbsp;Wert&nbsp;für&nbsp;''user''&nbsp;leer&nbsp;ist.<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llSleep</span><span style="color: #007700">(</span><span style="color: #0000BB">0.1</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">state&nbsp;</span><span style="color: #007700">default;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />}<br /><br /></span><span style="color: #0000BB">state&nbsp;error<br /></span><span style="color: #007700">{<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">state_entry</span><span style="color: #007700">()<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llOwnerSay</span><span style="color: #007700">(</span><span style="color: #DD0000">"Dieser&nbsp;Poseball&nbsp;enthält&nbsp;keine&nbsp;Animationen.&nbsp;Bitte&nbsp;füge&nbsp;eine&nbsp;hinzu."</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">changed</span><span style="color: #007700">(</span><span style="color: #0000BB">integer&nbsp;change</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(</span><span style="color: #0000BB">change&nbsp;</span><span style="color: #007700">&amp;&nbsp;</span><span style="color: #0000BB">CHANGED_INVENTORY</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llOwnerSay</span><span style="color: #007700">(</span><span style="color: #DD0000">"Änderung&nbsp;erkannt.&nbsp;Initialisiere."</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llResetScript</span><span style="color: #007700">();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />}&nbsp;<br /></span></code></div></div></div><br />
Ich habe die fehlende Rotation hinzugefügt.]]></description>
			<content:encoded><![CDATA[<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Gender Poseball</span></span><br />
Ein Poseball das 3 Geschlechter kennt:<br />
male_animationsname<br />
female_animationsname<br />
unknown_animationsname<br />
der Anfang ist die Geschlechterkennung/Zuweisung.<br />
Es werden einfach eure Animationen in das Prim kopiert und das Geschlecht vorgesetzt.<br />
Es ist eigentlich ganz einfach zu handhaben.<br />
Die Animation umbenennen zum Beispiel von „sit1 female“ in „female_sit1“ <br />
genauso bei den male_ und unknown_ Animationen vorgehen <br />
und diese in den Poseball kopieren (Bitte keine Leerzeichen).<br />
Anschließend die Animationsposition einstellen „vector target = &lt;0.0, 0.0, 1.0&gt;;“ Breite, Tiefe und Höhe. <br />
Ich habe mal 3 Beispiele und ein paar Animationen zum Testen in meinem Grid zum Mitnehmen hingestellt.<br />
<a href="http://openmanniland.de:8002/" target="_blank" rel="noopener" class="mycode_url">http://openmanniland.de:8002/</a> Welcome<br />
<br />
Ein Anwendungsbeispiel wäre eine Couch mit 6 male Animationen, 6 female Animationen, 1 unknown Animation. <br />
Beim Setzen wird dann geschaut, welches Geschlecht der/die/das sich setzende hat <br />
und eine entsprechende Zufallsanimation wird abgespielt.<br />
<br />
gender_poseball.lsl<br />
<div class="codeblock phpcodeblock"><div class="title">PHP-Code:</div><div class="body"><div dir="ltr"><code><span style="color: #0000BB">vector&nbsp;target&nbsp;</span><span style="color: #007700">=&nbsp;&lt;</span><span style="color: #0000BB">0.0</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">0.0</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">1.0</span><span style="color: #007700">&gt;;&nbsp;</span><span style="color: #FF8000">//&nbsp;Ändere&nbsp;diese&nbsp;Werte,&nbsp;um&nbsp;die&nbsp;Position&nbsp;deines&nbsp;Avatars&nbsp;anzupassen.<br />//&nbsp;rotation&nbsp;localrot&nbsp;=&nbsp;ZERO_ROTATION;&nbsp;//&nbsp;Rotationsposition&nbsp;des&nbsp;Avatars&nbsp;abschalten.<br /></span><span style="color: #0000BB">rotation&nbsp;localrot&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">llEuler2Rot</span><span style="color: #007700">(&lt;</span><span style="color: #0000BB">90</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">,&nbsp;-</span><span style="color: #0000BB">90</span><span style="color: #007700">&gt;*</span><span style="color: #0000BB">DEG_TO_RAD</span><span style="color: #007700">);&nbsp;</span><span style="color: #FF8000">//&nbsp;Rotationsposition&nbsp;des&nbsp;Avatars&nbsp;setzen.<br /></span><span style="color: #007700">list&nbsp;</span><span style="color: #0000BB">male_animations</span><span style="color: #007700">;&nbsp;</span><span style="color: #FF8000">//&nbsp;Liste&nbsp;für&nbsp;männliche&nbsp;Animationen<br /></span><span style="color: #007700">list&nbsp;</span><span style="color: #0000BB">female_animations</span><span style="color: #007700">;&nbsp;</span><span style="color: #FF8000">//&nbsp;Liste&nbsp;für&nbsp;weibliche&nbsp;Animationen<br /></span><span style="color: #007700">list&nbsp;</span><span style="color: #0000BB">unknown_animations</span><span style="color: #007700">;&nbsp;</span><span style="color: #FF8000">//&nbsp;Liste&nbsp;für&nbsp;das&nbsp;dritte&nbsp;Geschlecht&nbsp;Animationen<br /></span><span style="color: #0000BB">integer&nbsp;used</span><span style="color: #007700">;&nbsp;</span><span style="color: #FF8000">//&nbsp;Als&nbsp;Flagge&nbsp;verwendet,&nbsp;um&nbsp;zu&nbsp;bestimmen,&nbsp;was&nbsp;das&nbsp;Skript&nbsp;tun&nbsp;soll.<br /></span><span style="color: #0000BB">key&nbsp;user</span><span style="color: #007700">;&nbsp;</span><span style="color: #FF8000">//&nbsp;Hier&nbsp;wird&nbsp;der&nbsp;Schlüssel&nbsp;des&nbsp;Benutzers&nbsp;gespeichert,&nbsp;der&nbsp;den&nbsp;Poseball&nbsp;benutzt<br /></span><span style="color: #0000BB">string&nbsp;chosen_anim</span><span style="color: #007700">;&nbsp;</span><span style="color: #FF8000">//&nbsp;Hier&nbsp;wird&nbsp;die&nbsp;ausgewählte&nbsp;Animation&nbsp;gespeichert<br /><br /></span><span style="color: #007700">default<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">state_entry</span><span style="color: #007700">()<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llSitTarget</span><span style="color: #007700">(</span><span style="color: #0000BB">target</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">localrot</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;Animationen&nbsp;im&nbsp;Inventar&nbsp;sammeln<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">integer&nbsp;num_anims&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">llGetInventoryNumber</span><span style="color: #007700">(</span><span style="color: #0000BB">INVENTORY_ANIMATION</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">integer&nbsp;i</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(</span><span style="color: #0000BB">i&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">;&nbsp;</span><span style="color: #0000BB">i&nbsp;</span><span style="color: #007700">&lt;&nbsp;</span><span style="color: #0000BB">num_anims</span><span style="color: #007700">;&nbsp;++</span><span style="color: #0000BB">i</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">string&nbsp;anim_name&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">llGetInventoryName</span><span style="color: #007700">(</span><span style="color: #0000BB">INVENTORY_ANIMATION</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">i</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">llSubStringIndex</span><span style="color: #007700">(</span><span style="color: #0000BB">anim_name</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"male_"</span><span style="color: #007700">)&nbsp;==&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">male_animations&nbsp;</span><span style="color: #007700">+=&nbsp;</span><span style="color: #0000BB">anim_name</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;else&nbsp;if&nbsp;(</span><span style="color: #0000BB">llSubStringIndex</span><span style="color: #007700">(</span><span style="color: #0000BB">anim_name</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"female_"</span><span style="color: #007700">)&nbsp;==&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">female_animations&nbsp;</span><span style="color: #007700">+=&nbsp;</span><span style="color: #0000BB">anim_name</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;else&nbsp;if&nbsp;(</span><span style="color: #0000BB">llSubStringIndex</span><span style="color: #007700">(</span><span style="color: #0000BB">anim_name</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"unknown_"</span><span style="color: #007700">)&nbsp;==&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">unknown_animations&nbsp;</span><span style="color: #007700">+=&nbsp;</span><span style="color: #0000BB">anim_name</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">male_animations&nbsp;</span><span style="color: #007700">==&nbsp;[]&nbsp;&amp;&amp;&nbsp;</span><span style="color: #0000BB">female_animations&nbsp;</span><span style="color: #007700">==&nbsp;[]&nbsp;&amp;&amp;&nbsp;</span><span style="color: #0000BB">unknown_animations&nbsp;</span><span style="color: #007700">==&nbsp;[])&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">state&nbsp;error</span><span style="color: #007700">;&nbsp;</span><span style="color: #FF8000">//&nbsp;Gehe&nbsp;und&nbsp;warte,&nbsp;bis&nbsp;sich&nbsp;das&nbsp;Inventar&nbsp;geändert&nbsp;hat.<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">}&nbsp;else&nbsp;{&nbsp;</span><span style="color: #FF8000">//&nbsp;Ansonsten...<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llOwnerSay</span><span style="color: #007700">(</span><span style="color: #DD0000">"Gefundene&nbsp;Animationen:&nbsp;Männlich:&nbsp;"&nbsp;</span><span style="color: #007700">+&nbsp;(string)</span><span style="color: #0000BB">llGetListLength</span><span style="color: #007700">(</span><span style="color: #0000BB">male_animations</span><span style="color: #007700">)&nbsp;+&nbsp;</span><span style="color: #DD0000">",&nbsp;Weiblich:&nbsp;"&nbsp;</span><span style="color: #007700">+&nbsp;(string)</span><span style="color: #0000BB">llGetListLength</span><span style="color: #007700">(</span><span style="color: #0000BB">female_animations</span><span style="color: #007700">)&nbsp;+&nbsp;</span><span style="color: #DD0000">",&nbsp;Unbekannt:&nbsp;"&nbsp;</span><span style="color: #007700">+&nbsp;(string)</span><span style="color: #0000BB">llGetListLength</span><span style="color: #007700">(</span><span style="color: #0000BB">unknown_animations</span><span style="color: #007700">));&nbsp;</span><span style="color: #FF8000">//&nbsp;Bestätige,&nbsp;dass&nbsp;sich&nbsp;Animationen&nbsp;im&nbsp;Inventar&nbsp;befinden<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">}<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">changed</span><span style="color: #007700">(</span><span style="color: #0000BB">integer&nbsp;change</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">change&nbsp;</span><span style="color: #007700">&amp;&nbsp;</span><span style="color: #0000BB">CHANGED_LINK</span><span style="color: #007700">)&nbsp;</span><span style="color: #FF8000">//&nbsp;Wird&nbsp;ausgelöst,&nbsp;wenn&nbsp;jemand&nbsp;auf&nbsp;den&nbsp;Poseball&nbsp;sitzt.&nbsp;Wenn&nbsp;du&nbsp;dich&nbsp;hinsetzt,&nbsp;wirst&nbsp;du&nbsp;tatsächlich&nbsp;mit&nbsp;dem&nbsp;Ball&nbsp;verlinkt.<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(!</span><span style="color: #0000BB">used</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">used&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">TRUE</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">user&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">llAvatarOnSitTarget</span><span style="color: #007700">();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(</span><span style="color: #0000BB">user&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #0000BB">NULL_KEY</span><span style="color: #007700">)&nbsp;</span><span style="color: #0000BB">used&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">FALSE</span><span style="color: #007700">;&nbsp;</span><span style="color: #FF8000">//&nbsp;Stelle&nbsp;sicher,&nbsp;dass&nbsp;wirklich&nbsp;jemand&nbsp;auf&nbsp;dem&nbsp;Poseball&nbsp;sitzt<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llSetAlpha</span><span style="color: #007700">(</span><span style="color: #0000BB">0.0</span><span style="color: #007700">,</span><span style="color: #0000BB">ALL_SIDES</span><span style="color: #007700">);&nbsp;</span><span style="color: #FF8000">//&nbsp;Verstecke&nbsp;den&nbsp;Poseball,&nbsp;wenn&nbsp;darauf&nbsp;gesessen&nbsp;wird<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">osAvatarStopAnimation</span><span style="color: #007700">(</span><span style="color: #0000BB">user</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"sit"</span><span style="color: #007700">);&nbsp;</span><span style="color: #FF8000">//&nbsp;Stoppe&nbsp;die&nbsp;Standard-Sitzanimation&nbsp;(WICHTIG!)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Geschlecht&nbsp;des&nbsp;Benutzers&nbsp;abrufen<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">string&nbsp;gender&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">osGetGender</span><span style="color: #007700">(</span><span style="color: #0000BB">user</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;Zufällige&nbsp;Animation&nbsp;auswählen&nbsp;und&nbsp;abspielen<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">if&nbsp;(</span><span style="color: #0000BB">gender&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #DD0000">"male"</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">chosen_anim&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">llList2String</span><span style="color: #007700">(</span><span style="color: #0000BB">male_animations</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">llFloor</span><span style="color: #007700">(</span><span style="color: #0000BB">llFrand</span><span style="color: #007700">(</span><span style="color: #0000BB">llGetListLength</span><span style="color: #007700">(</span><span style="color: #0000BB">male_animations</span><span style="color: #007700">))));<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;else&nbsp;if&nbsp;(</span><span style="color: #0000BB">gender&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #DD0000">"female"</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">chosen_anim&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">llList2String</span><span style="color: #007700">(</span><span style="color: #0000BB">female_animations</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">llFloor</span><span style="color: #007700">(</span><span style="color: #0000BB">llFrand</span><span style="color: #007700">(</span><span style="color: #0000BB">llGetListLength</span><span style="color: #007700">(</span><span style="color: #0000BB">female_animations</span><span style="color: #007700">))));<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;else&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">chosen_anim&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">llList2String</span><span style="color: #007700">(</span><span style="color: #0000BB">unknown_animations</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">llFloor</span><span style="color: #007700">(</span><span style="color: #0000BB">llFrand</span><span style="color: #007700">(</span><span style="color: #0000BB">llGetListLength</span><span style="color: #007700">(</span><span style="color: #0000BB">unknown_animations</span><span style="color: #007700">))));<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">osAvatarPlayAnimation</span><span style="color: #007700">(</span><span style="color: #0000BB">user</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">chosen_anim</span><span style="color: #007700">);&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;Und&nbsp;starte&nbsp;die&nbsp;gewählte&nbsp;Animation.<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">state&nbsp;running</span><span style="color: #007700">;&nbsp;</span><span style="color: #FF8000">//&nbsp;Wechseln&nbsp;in&nbsp;den&nbsp;Zustand&nbsp;"running",&nbsp;um&nbsp;das&nbsp;Abspielen&nbsp;der&nbsp;Animation&nbsp;zu&nbsp;verfolgen<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">}&nbsp;else&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">used&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">FALSE</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llSetAlpha</span><span style="color: #007700">(</span><span style="color: #0000BB">1.0</span><span style="color: #007700">,</span><span style="color: #0000BB">ALL_SIDES</span><span style="color: #007700">);&nbsp;</span><span style="color: #FF8000">//&nbsp;Mache&nbsp;den&nbsp;Poseball&nbsp;wieder&nbsp;sichtbar,&nbsp;wenn&nbsp;der&nbsp;Benutzer&nbsp;aufsteht<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">osAvatarStopAnimation</span><span style="color: #007700">(</span><span style="color: #0000BB">user</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">chosen_anim</span><span style="color: #007700">);&nbsp;</span><span style="color: #FF8000">//&nbsp;Stoppe&nbsp;die&nbsp;Animation,&nbsp;wenn&nbsp;der&nbsp;Benutzer&nbsp;aufsteht.<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">user&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">NULL_KEY</span><span style="color: #007700">;&nbsp;</span><span style="color: #FF8000">//&nbsp;Wahrscheinlich&nbsp;überflüssig,&nbsp;aber&nbsp;wir&nbsp;möchten&nbsp;sicherstellen,&nbsp;dass&nbsp;der&nbsp;Wert&nbsp;für&nbsp;''user''&nbsp;leer&nbsp;ist.<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(</span><span style="color: #0000BB">change&nbsp;</span><span style="color: #007700">&amp;&nbsp;</span><span style="color: #0000BB">CHANGED_INVENTORY</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llResetScript</span><span style="color: #007700">();&nbsp;</span><span style="color: #FF8000">//&nbsp;Setze&nbsp;das&nbsp;Skript&nbsp;zurück,&nbsp;wenn&nbsp;sich&nbsp;das&nbsp;Inventar&nbsp;geändert&nbsp;hat.<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">}<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />}<br /><br /></span><span style="color: #0000BB">state&nbsp;running<br /></span><span style="color: #007700">{<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">state_entry</span><span style="color: #007700">()<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;Hier&nbsp;kannst&nbsp;du&nbsp;weitere&nbsp;Aktionen&nbsp;durchführen,&nbsp;wenn&nbsp;das&nbsp;Animation&nbsp;abgespielt&nbsp;wird<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">on_rez</span><span style="color: #007700">(</span><span style="color: #0000BB">integer&nbsp;start_param</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llResetScript</span><span style="color: #007700">();<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">changed</span><span style="color: #007700">(</span><span style="color: #0000BB">integer&nbsp;change</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(</span><span style="color: #0000BB">change&nbsp;</span><span style="color: #007700">&amp;&nbsp;</span><span style="color: #0000BB">CHANGED_LINK</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">used&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">FALSE</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llSetAlpha</span><span style="color: #007700">(</span><span style="color: #0000BB">1.0</span><span style="color: #007700">,</span><span style="color: #0000BB">ALL_SIDES</span><span style="color: #007700">);&nbsp;</span><span style="color: #FF8000">//&nbsp;Mache&nbsp;den&nbsp;Poseball&nbsp;wieder&nbsp;sichtbar,&nbsp;wenn&nbsp;der&nbsp;Benutzer&nbsp;aufsteht<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">osAvatarStopAnimation</span><span style="color: #007700">(</span><span style="color: #0000BB">user</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">chosen_anim</span><span style="color: #007700">);&nbsp;</span><span style="color: #FF8000">//&nbsp;Stoppe&nbsp;die&nbsp;Animation,&nbsp;wenn&nbsp;der&nbsp;Benutzer&nbsp;aufsteht.<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">user&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">NULL_KEY</span><span style="color: #007700">;&nbsp;</span><span style="color: #FF8000">//&nbsp;Wahrscheinlich&nbsp;überflüssig,&nbsp;aber&nbsp;wir&nbsp;möchten&nbsp;sicherstellen,&nbsp;dass&nbsp;der&nbsp;Wert&nbsp;für&nbsp;''user''&nbsp;leer&nbsp;ist.<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llSleep</span><span style="color: #007700">(</span><span style="color: #0000BB">0.1</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">state&nbsp;</span><span style="color: #007700">default;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />}<br /><br /></span><span style="color: #0000BB">state&nbsp;error<br /></span><span style="color: #007700">{<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">state_entry</span><span style="color: #007700">()<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llOwnerSay</span><span style="color: #007700">(</span><span style="color: #DD0000">"Dieser&nbsp;Poseball&nbsp;enthält&nbsp;keine&nbsp;Animationen.&nbsp;Bitte&nbsp;füge&nbsp;eine&nbsp;hinzu."</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">changed</span><span style="color: #007700">(</span><span style="color: #0000BB">integer&nbsp;change</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(</span><span style="color: #0000BB">change&nbsp;</span><span style="color: #007700">&amp;&nbsp;</span><span style="color: #0000BB">CHANGED_INVENTORY</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llOwnerSay</span><span style="color: #007700">(</span><span style="color: #DD0000">"Änderung&nbsp;erkannt.&nbsp;Initialisiere."</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llResetScript</span><span style="color: #007700">();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />}&nbsp;<br /></span></code></div></div></div><br />
Ich habe die fehlende Rotation hinzugefügt.]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Zugreifen auf Prim Eigenschaften]]></title>
			<link>https://www.gridtalk.de/showthread.php?tid=4816</link>
			<pubDate>Sun, 03 Mar 2024 10:13:55 +0100</pubDate>
			<dc:creator><![CDATA[<a href="https://www.gridtalk.de/member.php?action=profile&uid=998">Manfred Aabye</a>]]></dc:creator>
			<guid isPermaLink="false">https://www.gridtalk.de/showthread.php?tid=4816</guid>
			<description><![CDATA[<span style="font-weight: bold;" class="mycode_b">Ich habe in der OpenSimulator Wiki, eine denke ich besonders interessante Seite ins Deutsche übersetzt.</span><br />
<a href="http://opensimulator.org/wiki/Accessing_Prim_Properties/de" target="_blank" rel="noopener" class="mycode_url">http://opensimulator.org/wiki/Accessing_...perties/de</a><br />
<br />
<!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="https://www.gridtalk.de/images/attachtypes/image.gif" title="PNG Image" border="0" alt=".png" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=5959" target="_blank" title="">OpenSimWorld9.png</a> (Größe: 1,21 MB / Downloads: 260)
<!-- end: postbit_attachments_attachment -->]]></description>
			<content:encoded><![CDATA[<span style="font-weight: bold;" class="mycode_b">Ich habe in der OpenSimulator Wiki, eine denke ich besonders interessante Seite ins Deutsche übersetzt.</span><br />
<a href="http://opensimulator.org/wiki/Accessing_Prim_Properties/de" target="_blank" rel="noopener" class="mycode_url">http://opensimulator.org/wiki/Accessing_...perties/de</a><br />
<br />
<!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="https://www.gridtalk.de/images/attachtypes/image.gif" title="PNG Image" border="0" alt=".png" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=5959" target="_blank" title="">OpenSimWorld9.png</a> (Größe: 1,21 MB / Downloads: 260)
<!-- end: postbit_attachments_attachment -->]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Stop all Animations]]></title>
			<link>https://www.gridtalk.de/showthread.php?tid=4811</link>
			<pubDate>Sun, 18 Feb 2024 18:26:18 +0100</pubDate>
			<dc:creator><![CDATA[<a href="https://www.gridtalk.de/member.php?action=profile&uid=673">Leora Jacobus</a>]]></dc:creator>
			<guid isPermaLink="false">https://www.gridtalk.de/showthread.php?tid=4811</guid>
			<description><![CDATA[Sowas hatte ich (als Prim mit entsprechendemn Script) früher mal in SL.<br />
<br />
Kennt ihr so einen Script?<br />
<br />
Seit ich inworld einen Kaffee getrunken habe, führe ich in regelmäßigen Abständen die Hand zum Mund, obwohl ich längst aufgestanden bin und seither diverse male aus- und eingeloggt habe. Auch andere Animationen unterdrücken das nicht.]]></description>
			<content:encoded><![CDATA[Sowas hatte ich (als Prim mit entsprechendemn Script) früher mal in SL.<br />
<br />
Kennt ihr so einen Script?<br />
<br />
Seit ich inworld einen Kaffee getrunken habe, führe ich in regelmäßigen Abständen die Hand zum Mund, obwohl ich längst aufgestanden bin und seither diverse male aus- und eingeloggt habe. Auch andere Animationen unterdrücken das nicht.]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[NPC All in One]]></title>
			<link>https://www.gridtalk.de/showthread.php?tid=4759</link>
			<pubDate>Tue, 05 Dec 2023 09:47:10 +0100</pubDate>
			<dc:creator><![CDATA[<a href="https://www.gridtalk.de/member.php?action=profile&uid=673">Leora Jacobus</a>]]></dc:creator>
			<guid isPermaLink="false">https://www.gridtalk.de/showthread.php?tid=4759</guid>
			<description><![CDATA[Ich selber habe GARKEINE Ahnung von Scripten. Umso mehr Ferd Frederix<br />
<br />
Ich hatte mir vor langer Zeit <a href="http://www.outworldz.com/cgi/freescripts.plx?ID=27" target="_blank" rel="noopener" class="mycode_url">dieses Link notiert für einen NPC</a> - ist das noch State of the Art? - oder hoffnungslos veraltet?<br />
<br />
Wollte auf meinem Castle mal sowas ausprobieren<br />
<br />
Ohne das die Region dabei abstürzt! <img src="https://www.gridtalk.de/images/smilies/wink.gif" alt="Wink" title="Wink" class="smilie smilie_2" onclick="&#36;.markItUp({target:markitup_instance,replaceWith:''});&#36;.modal.close()" />]]></description>
			<content:encoded><![CDATA[Ich selber habe GARKEINE Ahnung von Scripten. Umso mehr Ferd Frederix<br />
<br />
Ich hatte mir vor langer Zeit <a href="http://www.outworldz.com/cgi/freescripts.plx?ID=27" target="_blank" rel="noopener" class="mycode_url">dieses Link notiert für einen NPC</a> - ist das noch State of the Art? - oder hoffnungslos veraltet?<br />
<br />
Wollte auf meinem Castle mal sowas ausprobieren<br />
<br />
Ohne das die Region dabei abstürzt! <img src="https://www.gridtalk.de/images/smilies/wink.gif" alt="Wink" title="Wink" class="smilie smilie_2" onclick="&#36;.markItUp({target:markitup_instance,replaceWith:''});&#36;.modal.close()" />]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Supercar engine]]></title>
			<link>https://www.gridtalk.de/showthread.php?tid=4729</link>
			<pubDate>Sat, 21 Oct 2023 11:47:42 +0200</pubDate>
			<dc:creator><![CDATA[<a href="https://www.gridtalk.de/member.php?action=profile&uid=1685">Cheryl Furse</a>]]></dc:creator>
			<guid isPermaLink="false">https://www.gridtalk.de/showthread.php?tid=4729</guid>
			<description><![CDATA[Hallo zusammen<br />
<br />
ich möchte ein neues Skript in opensim vorstellen, das für einige, die SciFi und Fahrzeuge mögen, die man dort sieht, fantastisch sein könnte.<br />
<br />
Sergio und Prince haben ein neues Skript für ein Supercar gebaut, das fahren, fliegen und als Boot fahren kann. Es ist einfach zu bedienen und hat ein Hud für verschiedene Aktivitäten. Ob ihr es als Flugzeug, Auto oder Boot benutzen wollt, wählt ihr im Hud. Alle drei werden mit arrwos und page für Gänge oder Auf- und Abwärtsfahrt gesteuert.<br />
<br />
Das Besondere an einzigartigen Fahrzeugen ist, dass man die Flügel etc. mit Alpha anzeigen kann. Ist super gelöst und ich bin gespannt welche verschiedenen Fahrzeuge sie mit der Zeit bauen werden. Eines als Betaversion kann man schon auf Maze of Mind Car sim von Prince of Amor sehen. <br />
<br />
Er hat alle Liebe in dieses Projekt gesteckt, weil es eine Kindheitserinnerung ist, die er in Opensim umsetzen wollte. Wenn ihr das rohe Skript mit rohem Hud zum Ausprobieren oder für ein eigenes Projekt mit eigenem Fahrzeug haben wollt, fragt einfach Sergio Rodriguez, Prince of Amor oder mich.]]></description>
			<content:encoded><![CDATA[Hallo zusammen<br />
<br />
ich möchte ein neues Skript in opensim vorstellen, das für einige, die SciFi und Fahrzeuge mögen, die man dort sieht, fantastisch sein könnte.<br />
<br />
Sergio und Prince haben ein neues Skript für ein Supercar gebaut, das fahren, fliegen und als Boot fahren kann. Es ist einfach zu bedienen und hat ein Hud für verschiedene Aktivitäten. Ob ihr es als Flugzeug, Auto oder Boot benutzen wollt, wählt ihr im Hud. Alle drei werden mit arrwos und page für Gänge oder Auf- und Abwärtsfahrt gesteuert.<br />
<br />
Das Besondere an einzigartigen Fahrzeugen ist, dass man die Flügel etc. mit Alpha anzeigen kann. Ist super gelöst und ich bin gespannt welche verschiedenen Fahrzeuge sie mit der Zeit bauen werden. Eines als Betaversion kann man schon auf Maze of Mind Car sim von Prince of Amor sehen. <br />
<br />
Er hat alle Liebe in dieses Projekt gesteckt, weil es eine Kindheitserinnerung ist, die er in Opensim umsetzen wollte. Wenn ihr das rohe Skript mit rohem Hud zum Ausprobieren oder für ein eigenes Projekt mit eigenem Fahrzeug haben wollt, fragt einfach Sergio Rodriguez, Prince of Amor oder mich.]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Tür script gesucht, Tür soll bei Eintritt ein paar meter vorher öffnen]]></title>
			<link>https://www.gridtalk.de/showthread.php?tid=4720</link>
			<pubDate>Sat, 07 Oct 2023 17:43:05 +0200</pubDate>
			<dc:creator><![CDATA[<a href="https://www.gridtalk.de/member.php?action=profile&uid=1341">Kalkofe</a>]]></dc:creator>
			<guid isPermaLink="false">https://www.gridtalk.de/showthread.php?tid=4720</guid>
			<description><![CDATA[Hallo zusammen,<br />
<br />
die Überschrift ist Kacke, ich weiß g. Also ich suche<br />
ein Script, wahrscheinlich müssen es zwei sei, wo sich<br />
eine Türe ein,  zwei Meter bevor ich die vor betreten eines <br />
Raumes öffnet. Ein Script worauf man tritt um den Befehl der Türöffnung<br />
auszulösen und eines für die Türe. Gibt es so was für OpenSim?<br />
<br />
LG<br />
Kalk]]></description>
			<content:encoded><![CDATA[Hallo zusammen,<br />
<br />
die Überschrift ist Kacke, ich weiß g. Also ich suche<br />
ein Script, wahrscheinlich müssen es zwei sei, wo sich<br />
eine Türe ein,  zwei Meter bevor ich die vor betreten eines <br />
Raumes öffnet. Ein Script worauf man tritt um den Befehl der Türöffnung<br />
auszulösen und eines für die Türe. Gibt es so was für OpenSim?<br />
<br />
LG<br />
Kalk]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Klingelknopf]]></title>
			<link>https://www.gridtalk.de/showthread.php?tid=4595</link>
			<pubDate>Mon, 27 Mar 2023 14:47:21 +0200</pubDate>
			<dc:creator><![CDATA[<a href="https://www.gridtalk.de/member.php?action=profile&uid=998">Manfred Aabye</a>]]></dc:creator>
			<guid isPermaLink="false">https://www.gridtalk.de/showthread.php?tid=4595</guid>
			<description><![CDATA[Ich hab mal so einen Klingelknopf gemacht für Partys und so.<br />
Dieser schickt eine IM an den Besitzer mit Datum und Uhrzeit.<br />
(Kein öffentlicher Einlass, keine GEMA Gebühren.)<br />
Fertig gibt es den auch im openmanniland in der Region Welcome.<br />
<br />
Klingelknopf.lsl<br />
<div class="codeblock phpcodeblock"><div class="title">PHP-Code:</div><div class="body"><div dir="ltr"><code><span style="color: #FF8000">//&nbsp;Klingelknopf<br /><br /></span><span style="color: #0000BB">key&nbsp;owner&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">llGetOwner</span><span style="color: #007700">();&nbsp;</span><span style="color: #FF8000">//&nbsp;oder&nbsp;key&nbsp;owner&nbsp;=&nbsp;"Eure_UUID";<br /><br /></span><span style="color: #007700">default<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">on_rez</span><span style="color: #007700">(</span><span style="color: #0000BB">integer&nbsp;start_param</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">owner</span><span style="color: #007700">=</span><span style="color: #0000BB">llGetOwner</span><span style="color: #007700">();&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;holt&nbsp;sich&nbsp;den&nbsp;key&nbsp;des&nbsp;Objektbesitzers.<br /><br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">}<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">touch_start</span><span style="color: #007700">(</span><span style="color: #0000BB">integer&nbsp;total_num</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">string&nbsp;time</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">float&nbsp;ft&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">llGetGMTclock</span><span style="color: #007700">();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">integer&nbsp;ut&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">llGetUnixTime</span><span style="color: #007700">();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">integer&nbsp;hours&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">llFloor</span><span style="color: #007700">(</span><span style="color: #0000BB">ft&nbsp;</span><span style="color: #007700">/&nbsp;</span><span style="color: #0000BB">3600</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">integer&nbsp;minutes&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">llFloor</span><span style="color: #007700">((</span><span style="color: #0000BB">ft&nbsp;</span><span style="color: #007700">-&nbsp;(</span><span style="color: #0000BB">hours</span><span style="color: #007700">*</span><span style="color: #0000BB">3600</span><span style="color: #007700">))&nbsp;/&nbsp;</span><span style="color: #0000BB">60.0</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">time&nbsp;</span><span style="color: #007700">=&nbsp;(string)</span><span style="color: #0000BB">hours</span><span style="color: #007700">+&nbsp;</span><span style="color: #DD0000">":"&nbsp;</span><span style="color: #007700">+&nbsp;(string)</span><span style="color: #0000BB">minutes&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #DD0000">":"&nbsp;</span><span style="color: #007700">+&nbsp;(string)(</span><span style="color: #0000BB">llFloor</span><span style="color: #007700">(</span><span style="color: #0000BB">ft</span><span style="color: #007700">)&nbsp;%&nbsp;</span><span style="color: #0000BB">60</span><span style="color: #007700">);<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llInstantMessage</span><span style="color: #007700">(</span><span style="color: #0000BB">owner</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">llGetDate</span><span style="color: #007700">()&nbsp;+&nbsp;</span><span style="color: #DD0000">"&nbsp;"&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">time&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #DD0000">"&nbsp;&nbsp;"&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">llKey2Name</span><span style="color: #007700">(</span><span style="color: #0000BB">owner</span><span style="color: #007700">)+&nbsp;</span><span style="color: #DD0000">"&nbsp;klingelt!"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />}&nbsp;<br /></span></code></div></div></div>]]></description>
			<content:encoded><![CDATA[Ich hab mal so einen Klingelknopf gemacht für Partys und so.<br />
Dieser schickt eine IM an den Besitzer mit Datum und Uhrzeit.<br />
(Kein öffentlicher Einlass, keine GEMA Gebühren.)<br />
Fertig gibt es den auch im openmanniland in der Region Welcome.<br />
<br />
Klingelknopf.lsl<br />
<div class="codeblock phpcodeblock"><div class="title">PHP-Code:</div><div class="body"><div dir="ltr"><code><span style="color: #FF8000">//&nbsp;Klingelknopf<br /><br /></span><span style="color: #0000BB">key&nbsp;owner&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">llGetOwner</span><span style="color: #007700">();&nbsp;</span><span style="color: #FF8000">//&nbsp;oder&nbsp;key&nbsp;owner&nbsp;=&nbsp;"Eure_UUID";<br /><br /></span><span style="color: #007700">default<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">on_rez</span><span style="color: #007700">(</span><span style="color: #0000BB">integer&nbsp;start_param</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">owner</span><span style="color: #007700">=</span><span style="color: #0000BB">llGetOwner</span><span style="color: #007700">();&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;holt&nbsp;sich&nbsp;den&nbsp;key&nbsp;des&nbsp;Objektbesitzers.<br /><br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">}<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">touch_start</span><span style="color: #007700">(</span><span style="color: #0000BB">integer&nbsp;total_num</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">string&nbsp;time</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">float&nbsp;ft&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">llGetGMTclock</span><span style="color: #007700">();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">integer&nbsp;ut&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">llGetUnixTime</span><span style="color: #007700">();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">integer&nbsp;hours&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">llFloor</span><span style="color: #007700">(</span><span style="color: #0000BB">ft&nbsp;</span><span style="color: #007700">/&nbsp;</span><span style="color: #0000BB">3600</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">integer&nbsp;minutes&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">llFloor</span><span style="color: #007700">((</span><span style="color: #0000BB">ft&nbsp;</span><span style="color: #007700">-&nbsp;(</span><span style="color: #0000BB">hours</span><span style="color: #007700">*</span><span style="color: #0000BB">3600</span><span style="color: #007700">))&nbsp;/&nbsp;</span><span style="color: #0000BB">60.0</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">time&nbsp;</span><span style="color: #007700">=&nbsp;(string)</span><span style="color: #0000BB">hours</span><span style="color: #007700">+&nbsp;</span><span style="color: #DD0000">":"&nbsp;</span><span style="color: #007700">+&nbsp;(string)</span><span style="color: #0000BB">minutes&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #DD0000">":"&nbsp;</span><span style="color: #007700">+&nbsp;(string)(</span><span style="color: #0000BB">llFloor</span><span style="color: #007700">(</span><span style="color: #0000BB">ft</span><span style="color: #007700">)&nbsp;%&nbsp;</span><span style="color: #0000BB">60</span><span style="color: #007700">);<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">llInstantMessage</span><span style="color: #007700">(</span><span style="color: #0000BB">owner</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">llGetDate</span><span style="color: #007700">()&nbsp;+&nbsp;</span><span style="color: #DD0000">"&nbsp;"&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">time&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #DD0000">"&nbsp;&nbsp;"&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">llKey2Name</span><span style="color: #007700">(</span><span style="color: #0000BB">owner</span><span style="color: #007700">)+&nbsp;</span><span style="color: #DD0000">"&nbsp;klingelt!"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />}&nbsp;<br /></span></code></div></div></div>]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Bug Report in Open-SIM? HowTo?]]></title>
			<link>https://www.gridtalk.de/showthread.php?tid=4564</link>
			<pubDate>Thu, 09 Feb 2023 17:56:02 +0100</pubDate>
			<dc:creator><![CDATA[<a href="https://www.gridtalk.de/member.php?action=profile&uid=345">Anachron</a>]]></dc:creator>
			<guid isPermaLink="false">https://www.gridtalk.de/showthread.php?tid=4564</guid>
			<description><![CDATA[Ich habe wohl einen Bug in OpenSIM gefunden ...<br />
um genau zu sein in der OSSL-Funktion <a href="http://opensimulator.org/wiki/OsTeleportAgent" target="_blank" rel="noopener" class="mycode_url"><span style="font-weight: bold;" class="mycode_b">osTeleportAgent</span></a><br />
<br />
Ich habe in mehrfachen Versuchen das Verhalten der Funktion untersucht.<br />
Um meine eigenen Unsicherheiten im Umgang mit Vektoren und Quaternionen zu umgehen, habe ich mich der Hilfe von chatGPT bedient. Nachdem alle diese Tests zu keinem Ergebnis gekommen sind, habe ich die KI dann gebeten eine Problembeschreibung für die Entwickler zu schreiben ... Hier ist sie:<br />
<br />
<blockquote class="mycode_quote"><cite>chatGPT schrieb:</cite>Based on the testing done together, it appears that the implementation of osTeleportAgent in OpenSim is not functioning correctly with regards to the lookat parameter. The lookat parameter is supposed to determine the direction the avatar should be facing after teleporting, but in this case, the avatar is not facing in the direction specified by the lookat parameter.<br />
<br />
The script was written based on the documentation provided for osTeleportAgent, which stated that lookat is the direction the avatar should look and that the z value would be ignored. However, this has not been the case during testing. The lookat direction was calculated as a normalized vector using the specified compass angle, but the avatar did not face in that direction after teleporting.<br />
<br />
It is recommended that the implementation of osTeleportAgent in OpenSim be examined to determine why the lookat parameter is not functioning correctly, and if necessary, the implementation be corrected to correctly set the avatar's facing direction after teleporting.</blockquote><br />
Ich kann aber keine Kontaktinformation finden, wie ich menen Bugreport denn nun an den/die Developer bringe. Wer weiss Rat oder kann das evtl. auch gleich weitergeben?<br />
Nun hab ich das Mendelsöhnchen und weiss nicht wo Hindemith <img src="https://www.gridtalk.de/images/smilies/dodgy.gif" alt="Dodgy" title="Dodgy" class="smilie smilie_14" onclick="&#36;.markItUp({target:markitup_instance,replaceWith:''});&#36;.modal.close()" />]]></description>
			<content:encoded><![CDATA[Ich habe wohl einen Bug in OpenSIM gefunden ...<br />
um genau zu sein in der OSSL-Funktion <a href="http://opensimulator.org/wiki/OsTeleportAgent" target="_blank" rel="noopener" class="mycode_url"><span style="font-weight: bold;" class="mycode_b">osTeleportAgent</span></a><br />
<br />
Ich habe in mehrfachen Versuchen das Verhalten der Funktion untersucht.<br />
Um meine eigenen Unsicherheiten im Umgang mit Vektoren und Quaternionen zu umgehen, habe ich mich der Hilfe von chatGPT bedient. Nachdem alle diese Tests zu keinem Ergebnis gekommen sind, habe ich die KI dann gebeten eine Problembeschreibung für die Entwickler zu schreiben ... Hier ist sie:<br />
<br />
<blockquote class="mycode_quote"><cite>chatGPT schrieb:</cite>Based on the testing done together, it appears that the implementation of osTeleportAgent in OpenSim is not functioning correctly with regards to the lookat parameter. The lookat parameter is supposed to determine the direction the avatar should be facing after teleporting, but in this case, the avatar is not facing in the direction specified by the lookat parameter.<br />
<br />
The script was written based on the documentation provided for osTeleportAgent, which stated that lookat is the direction the avatar should look and that the z value would be ignored. However, this has not been the case during testing. The lookat direction was calculated as a normalized vector using the specified compass angle, but the avatar did not face in that direction after teleporting.<br />
<br />
It is recommended that the implementation of osTeleportAgent in OpenSim be examined to determine why the lookat parameter is not functioning correctly, and if necessary, the implementation be corrected to correctly set the avatar's facing direction after teleporting.</blockquote><br />
Ich kann aber keine Kontaktinformation finden, wie ich menen Bugreport denn nun an den/die Developer bringe. Wer weiss Rat oder kann das evtl. auch gleich weitergeben?<br />
Nun hab ich das Mendelsöhnchen und weiss nicht wo Hindemith <img src="https://www.gridtalk.de/images/smilies/dodgy.gif" alt="Dodgy" title="Dodgy" class="smilie smilie_14" onclick="&#36;.markItUp({target:markitup_instance,replaceWith:''});&#36;.modal.close()" />]]></content:encoded>
		</item>
	</channel>
</rss>