<?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[SphereCommunity - Script Submissions]]></title>
		<link>https://forum.spherecommunity.net/</link>
		<description><![CDATA[SphereCommunity - https://forum.spherecommunity.net]]></description>
		<pubDate>Wed, 22 Apr 2026 16:09:43 +0000</pubDate>
		<generator>MyBB</generator>
		<item>
			<title><![CDATA[[CORE][FIX] GMPageDelete - Missing Catch for Clients without Chars]]></title>
			<link>https://forum.spherecommunity.net/Thread-CORE-FIX-GMPageDelete-Missing-Catch-for-Clients-without-Chars</link>
			<pubDate>Mon, 04 Nov 2019 16:09:27 +0100</pubDate>
			<guid isPermaLink="false">https://forum.spherecommunity.net/Thread-CORE-FIX-GMPageDelete-Missing-Catch-for-Clients-without-Chars</guid>
			<description><![CDATA[Hey,<br />
I don't know if this is the correct place but i want to share a Fix, which was missed after &lt;SERV.CLIENT.x&gt; behavior was updated. After "Page" function gained a<br />
revised version, there is a subroutine called "[FUNCTION GMPageDelete]". While walking trough the online clients, it will now try to find the uid clients like telnet logins. It cant, of course. So there is a small fix to be added, and no forther errors will show up.<br />
<br />
ORIGINAL:<br />
<br />
<div class="codeblock">
<div class="title">Code:<br />
</div><div class="body" dir="ltr"><code>[FUNCTION GMPageDelete]<br />
SERV.GMPAGE.&lt;ARGS&gt;.DELETE<br />
CTAG.Dialog.GMPage.Selected=<br />
<br />
IF (&lt;SERV.CLIENTS&gt;)<br />
<br />
 FOR 0 &lt;eval &lt;SERV.CLIENTS&gt;-1&gt;<br />
 <br />
&nbsp;&nbsp;REF1=&lt;SERV.CLIENT.&lt;LOCAL._FOR&gt;.UID&gt;<br />
&nbsp;&nbsp;IF !(&lt;isempty &lt;REF1.CTAG.Dialog.GMPage.Selected&gt;&gt;)<br />
&nbsp;&nbsp; IF (&lt;REF1.CTAG0.Dialog.GMPage.Selected&gt; &gt; &lt;ARGS&gt;)<br />
&nbsp;&nbsp;&nbsp;&nbsp;REF1.CTAG0.Dialog.GMPage.Selected --<br />
&nbsp;&nbsp; ELIF (&lt;REF1.CTAG0.Dialog.GMPage.Selected&gt; == &lt;ARGS&gt;)<br />
&nbsp;&nbsp;&nbsp;&nbsp;REF1.SYSMESSAGE @035 GM page cleared from queue<br />
&nbsp;&nbsp;&nbsp;&nbsp;REF1.CTAG.Dialog.GMPage.Selected=<br />
&nbsp;&nbsp;&nbsp;&nbsp;REF1.SDIALOG d_gmpage_queue<br />
&nbsp;&nbsp; ENDIF<br />
&nbsp;&nbsp;ELIF (&lt;REF1.ISDIALOGOPEN.d_gmpage_queue&gt;)<br />
&nbsp;&nbsp; REF1.DIALOGCLOSE d_gmpage_queue<br />
&nbsp;&nbsp; REF1.SDIALOG d_gmpage_queue<br />
&nbsp;&nbsp;ENDIF<br />
<br />
 ENDFOR<br />
 <br />
ENDIF</code></div></div>
<br />
<br />
FIXED: <br />
<div class="codeblock">
<div class="title">Code:<br />
</div><div class="body" dir="ltr"><code>[FUNCTION GMPageDelete]<br />
SERV.GMPAGE.&lt;ARGS&gt;.DELETE<br />
CTAG.Dialog.GMPage.Selected=<br />
<br />
IF (&lt;SERV.CLIENTS&gt;)<br />
<br />
 FOR 0 &lt;eval &lt;SERV.CLIENTS&gt;-1&gt;<br />
 <br />
 IF (&lt;SERV.CLIENT.&lt;LOCAL._FOR&gt;&gt;)<br />
 <br />
&nbsp;&nbsp;REF1=&lt;SERV.CLIENT.&lt;LOCAL._FOR&gt;.UID&gt;<br />
&nbsp;&nbsp;IF !(&lt;isempty &lt;REF1.CTAG.Dialog.GMPage.Selected&gt;&gt;)<br />
&nbsp;&nbsp; IF (&lt;REF1.CTAG0.Dialog.GMPage.Selected&gt; &gt; &lt;ARGS&gt;)<br />
&nbsp;&nbsp;&nbsp;&nbsp;REF1.CTAG0.Dialog.GMPage.Selected --<br />
&nbsp;&nbsp; ELIF (&lt;REF1.CTAG0.Dialog.GMPage.Selected&gt; == &lt;ARGS&gt;)<br />
&nbsp;&nbsp;&nbsp;&nbsp;REF1.SYSMESSAGE @035 GM page cleared from queue<br />
&nbsp;&nbsp;&nbsp;&nbsp;REF1.CTAG.Dialog.GMPage.Selected=<br />
&nbsp;&nbsp;&nbsp;&nbsp;REF1.SDIALOG d_gmpage_queue<br />
&nbsp;&nbsp; ENDIF<br />
&nbsp;&nbsp;ELIF (&lt;REF1.ISDIALOGOPEN.d_gmpage_queue&gt;)<br />
&nbsp;&nbsp; REF1.DIALOGCLOSE d_gmpage_queue<br />
&nbsp;&nbsp; REF1.SDIALOG d_gmpage_queue<br />
&nbsp;&nbsp;ENDIF<br />
&nbsp;&nbsp;<br />
&nbsp;&nbsp;ENDIF<br />
&nbsp;&nbsp;<br />
 ENDFOR<br />
 <br />
ENDIF</code></div></div>
]]></description>
			<content:encoded><![CDATA[Hey,<br />
I don't know if this is the correct place but i want to share a Fix, which was missed after &lt;SERV.CLIENT.x&gt; behavior was updated. After "Page" function gained a<br />
revised version, there is a subroutine called "[FUNCTION GMPageDelete]". While walking trough the online clients, it will now try to find the uid clients like telnet logins. It cant, of course. So there is a small fix to be added, and no forther errors will show up.<br />
<br />
ORIGINAL:<br />
<br />
<div class="codeblock">
<div class="title">Code:<br />
</div><div class="body" dir="ltr"><code>[FUNCTION GMPageDelete]<br />
SERV.GMPAGE.&lt;ARGS&gt;.DELETE<br />
CTAG.Dialog.GMPage.Selected=<br />
<br />
IF (&lt;SERV.CLIENTS&gt;)<br />
<br />
 FOR 0 &lt;eval &lt;SERV.CLIENTS&gt;-1&gt;<br />
 <br />
&nbsp;&nbsp;REF1=&lt;SERV.CLIENT.&lt;LOCAL._FOR&gt;.UID&gt;<br />
&nbsp;&nbsp;IF !(&lt;isempty &lt;REF1.CTAG.Dialog.GMPage.Selected&gt;&gt;)<br />
&nbsp;&nbsp; IF (&lt;REF1.CTAG0.Dialog.GMPage.Selected&gt; &gt; &lt;ARGS&gt;)<br />
&nbsp;&nbsp;&nbsp;&nbsp;REF1.CTAG0.Dialog.GMPage.Selected --<br />
&nbsp;&nbsp; ELIF (&lt;REF1.CTAG0.Dialog.GMPage.Selected&gt; == &lt;ARGS&gt;)<br />
&nbsp;&nbsp;&nbsp;&nbsp;REF1.SYSMESSAGE @035 GM page cleared from queue<br />
&nbsp;&nbsp;&nbsp;&nbsp;REF1.CTAG.Dialog.GMPage.Selected=<br />
&nbsp;&nbsp;&nbsp;&nbsp;REF1.SDIALOG d_gmpage_queue<br />
&nbsp;&nbsp; ENDIF<br />
&nbsp;&nbsp;ELIF (&lt;REF1.ISDIALOGOPEN.d_gmpage_queue&gt;)<br />
&nbsp;&nbsp; REF1.DIALOGCLOSE d_gmpage_queue<br />
&nbsp;&nbsp; REF1.SDIALOG d_gmpage_queue<br />
&nbsp;&nbsp;ENDIF<br />
<br />
 ENDFOR<br />
 <br />
ENDIF</code></div></div>
<br />
<br />
FIXED: <br />
<div class="codeblock">
<div class="title">Code:<br />
</div><div class="body" dir="ltr"><code>[FUNCTION GMPageDelete]<br />
SERV.GMPAGE.&lt;ARGS&gt;.DELETE<br />
CTAG.Dialog.GMPage.Selected=<br />
<br />
IF (&lt;SERV.CLIENTS&gt;)<br />
<br />
 FOR 0 &lt;eval &lt;SERV.CLIENTS&gt;-1&gt;<br />
 <br />
 IF (&lt;SERV.CLIENT.&lt;LOCAL._FOR&gt;&gt;)<br />
 <br />
&nbsp;&nbsp;REF1=&lt;SERV.CLIENT.&lt;LOCAL._FOR&gt;.UID&gt;<br />
&nbsp;&nbsp;IF !(&lt;isempty &lt;REF1.CTAG.Dialog.GMPage.Selected&gt;&gt;)<br />
&nbsp;&nbsp; IF (&lt;REF1.CTAG0.Dialog.GMPage.Selected&gt; &gt; &lt;ARGS&gt;)<br />
&nbsp;&nbsp;&nbsp;&nbsp;REF1.CTAG0.Dialog.GMPage.Selected --<br />
&nbsp;&nbsp; ELIF (&lt;REF1.CTAG0.Dialog.GMPage.Selected&gt; == &lt;ARGS&gt;)<br />
&nbsp;&nbsp;&nbsp;&nbsp;REF1.SYSMESSAGE @035 GM page cleared from queue<br />
&nbsp;&nbsp;&nbsp;&nbsp;REF1.CTAG.Dialog.GMPage.Selected=<br />
&nbsp;&nbsp;&nbsp;&nbsp;REF1.SDIALOG d_gmpage_queue<br />
&nbsp;&nbsp; ENDIF<br />
&nbsp;&nbsp;ELIF (&lt;REF1.ISDIALOGOPEN.d_gmpage_queue&gt;)<br />
&nbsp;&nbsp; REF1.DIALOGCLOSE d_gmpage_queue<br />
&nbsp;&nbsp; REF1.SDIALOG d_gmpage_queue<br />
&nbsp;&nbsp;ENDIF<br />
&nbsp;&nbsp;<br />
&nbsp;&nbsp;ENDIF<br />
&nbsp;&nbsp;<br />
 ENDFOR<br />
 <br />
ENDIF</code></div></div>
]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Walking Dead (tv) type zombies]]></title>
			<link>https://forum.spherecommunity.net/Thread-Walking-Dead-tv-type-zombies</link>
			<pubDate>Thu, 10 May 2018 18:14:03 +0200</pubDate>
			<guid isPermaLink="false">https://forum.spherecommunity.net/Thread-Walking-Dead-tv-type-zombies</guid>
			<description><![CDATA[Here's a quick infectious zombie script.  These zombies inflict an infection on players &amp; npc's.  The infection rots the person away (no cure) and when they die - they turn to zombies too.  You can prevent the corpse from turning if you drop a lit torch on it.<br />
<br />
0.56d version using newest version of old client.<br />
<br />
<div class="codeblock"><div class="title">PHP Code:<br />
</div><div class="body"><div dir="ltr"><code><span style="color: #FF8000">/////////////////////////////////////////////////////////////////////////////////<br />////&nbsp;&nbsp;Zombie&nbsp;Infection&nbsp;script<br />////&nbsp;&nbsp;&nbsp;&nbsp;by&nbsp;Capes&nbsp;2018-5-10<br />/////////////////////////////////////////////////////////////////////////////////<br /></span><span style="color: #007700">[</span><span style="color: #0000BB">COMMENT&nbsp;zombie_infection_info</span><span style="color: #007700">]<br /></span><span style="color: #0000BB">An&nbsp;infected&nbsp;zombie&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">-&nbsp;</span><span style="color: #0000BB">moves&nbsp;faster<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">-&nbsp;</span><span style="color: #0000BB">npc</span><span style="color: #DD0000">'s&nbsp;&amp;&nbsp;player'</span><span style="color: #0000BB">s&nbsp;hit&nbsp;by&nbsp;them&nbsp;must&nbsp;pass&nbsp;a&nbsp;50</span><span style="color: #007700">%&nbsp;</span><span style="color: #0000BB">check&nbsp;</span><span style="color: #007700">else&nbsp;</span><span style="color: #0000BB">they&nbsp;become&nbsp;infected&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">A&nbsp;permanent&nbsp;buff</span><span style="color: #007700">).<br />&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;</span><span style="color: #0000BB">when&nbsp;that&nbsp;npc</span><span style="color: #007700">/</span><span style="color: #0000BB">player&nbsp;dies&nbsp;it</span><span style="color: #DD0000">'s&nbsp;corpse&nbsp;becomes&nbsp;an&nbsp;infected&nbsp;zombie,&nbsp;with&nbsp;all&nbsp;the&nbsp;inventory&nbsp;on&nbsp;them<br />&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;once&nbsp;infected&nbsp;there&nbsp;is&nbsp;no&nbsp;cure<br />&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;dropping&nbsp;a&nbsp;lit&nbsp;torch&nbsp;on&nbsp;an&nbsp;infected&nbsp;corpse&nbsp;will&nbsp;destroy&nbsp;this&nbsp;infection<br /><br />[DEFNAME&nbsp;infection_settings]<br />CORPSE_to_ZOMBIE_delay&nbsp;=&nbsp;120&nbsp;//2&nbsp;mins<br />INFECTION_rate&nbsp;=&nbsp;10&nbsp;&nbsp;&nbsp;&nbsp;//10&nbsp;secs<br />INFECTION_chance&nbsp;=&nbsp;50&nbsp;//%&nbsp;1-100<br /><br />/////////////////////////////////////////////////////////////////////////////////&nbsp;&nbsp;&nbsp;&nbsp;<br />[EVENTS&nbsp;e_zInfection]&nbsp;&nbsp;&nbsp;&nbsp;<br />ON=@Timer<br />&nbsp;&nbsp;&nbsp;&nbsp;//not&nbsp;infected&nbsp;quit<br />&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;!(&lt;src.tag0._is_infected&gt;)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return<br />&nbsp;&nbsp;&nbsp;&nbsp;endif<br />&nbsp;&nbsp;&nbsp;&nbsp;//inform&nbsp;player&nbsp;their&nbsp;rotting&nbsp;away<br />&nbsp;&nbsp;&nbsp;&nbsp;src.sysmessage&nbsp;@33&nbsp;Your&nbsp;flesh&nbsp;is&nbsp;rotting!<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;//we&nbsp;are&nbsp;infected&nbsp;so&nbsp;slowly&nbsp;take&nbsp;10&nbsp;damage&nbsp;(player&nbsp;starts&nbsp;to&nbsp;turn)<br />&nbsp;&nbsp;&nbsp;&nbsp;src.damage=&nbsp;10&nbsp;(&lt;DEF.dam_poison&gt;)<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;//run&nbsp;timer&nbsp;again<br />&nbsp;&nbsp;&nbsp;&nbsp;src.timerf&nbsp;&lt;def.INFECTION_rate&gt;&nbsp;f_infection_timer<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />ON=@Hit<br />&nbsp;&nbsp;&nbsp;&nbsp;//only&nbsp;run&nbsp;if&nbsp;this&nbsp;is&nbsp;an&nbsp;infected&nbsp;zombie<br />&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;!(&lt;defname&gt;==c_infected_zombie)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return<br />&nbsp;&nbsp;&nbsp;&nbsp;endif<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;//if&nbsp;target&nbsp;already&nbsp;infected&nbsp;quit<br />&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(&lt;src.tag0._is_infected&gt;)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return<br />&nbsp;&nbsp;&nbsp;&nbsp;endif<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;//disease&nbsp;check&nbsp;else&nbsp;infect&nbsp;them<br />&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(&lt;eval&nbsp;RAND(100)+1&gt;&nbsp;&lt;=&nbsp;&lt;def.INFECTION_chance&gt;)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return<br />&nbsp;&nbsp;&nbsp;&nbsp;endif<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;//set&nbsp;infected&nbsp;flag<br />&nbsp;&nbsp;&nbsp;&nbsp;src.tag0._is_infected&nbsp;=&nbsp;1<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;//add&nbsp;infected&nbsp;event<br />&nbsp;&nbsp;&nbsp;&nbsp;src.events&nbsp;+e_zInfection<br />&nbsp;&nbsp;&nbsp;&nbsp;src.sysmessage&nbsp;@30&nbsp;You&nbsp;have&nbsp;been&nbsp;infected.<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;//add&nbsp;buf&nbsp;icon&nbsp;if&nbsp;player<br />&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(&lt;src.isplayer&gt;)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src.addbuff&nbsp;1017,3010160,1053096,0,<br />&nbsp;&nbsp;&nbsp;&nbsp;endif<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;//start&nbsp;timer&nbsp;for&nbsp;rotting<br />&nbsp;&nbsp;&nbsp;&nbsp;src.timerf&nbsp;&lt;def.INFECTION_rate&gt;&nbsp;f_infection_timer<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />ON=@DeathCorpse&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;//quit&nbsp;if&nbsp;c_infected_zombie<br />&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(&lt;defname&gt;==c_infected_zombie)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return<br />&nbsp;&nbsp;&nbsp;&nbsp;end<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;//we&nbsp;died&nbsp;while&nbsp;infected&nbsp;so&nbsp;turn&nbsp;corpse&nbsp;into&nbsp;zombie&nbsp;in&nbsp;x&nbsp;amount&nbsp;of&nbsp;time<br />&nbsp;&nbsp;&nbsp;&nbsp;argo.timerf&nbsp;&lt;def.CORPSE_to_ZOMBIE_delay&gt;&nbsp;f_turn_to_infected&nbsp;&lt;src.name&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;//remove&nbsp;this&nbsp;infection&nbsp;from&nbsp;player<br />&nbsp;&nbsp;&nbsp;&nbsp;src.events&nbsp;-e_zInfection<br />&nbsp;&nbsp;&nbsp;&nbsp;src.tag0._is_infected&nbsp;=<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;//remove&nbsp;buf&nbsp;icon&nbsp;if&nbsp;player<br />&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(&lt;src.isplayer&gt;)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src.removebuff&nbsp;1017<br />&nbsp;&nbsp;&nbsp;&nbsp;endif<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;//remove&nbsp;f_infection_timer<br />&nbsp;&nbsp;&nbsp;&nbsp;src.timerf&nbsp;STOP,f_infection_timer<br /><br />ON=@Logout<br />&nbsp;&nbsp;&nbsp;&nbsp;//we&nbsp;are&nbsp;infected&nbsp;and&nbsp;logging&nbsp;out<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//stop&nbsp;timer<br />&nbsp;&nbsp;&nbsp;&nbsp;timerf&nbsp;STOP,f_infection_timer<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />ON=@Login&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;//since&nbsp;this&nbsp;is&nbsp;triggering,&nbsp;we&nbsp;are&nbsp;infected&nbsp;and&nbsp;loging&nbsp;in<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//add&nbsp;the&nbsp;infection&nbsp;buf&nbsp;&amp;&nbsp;fire&nbsp;timer&nbsp;if&nbsp;not&nbsp;present<br />&nbsp;&nbsp;&nbsp;&nbsp;addbuff&nbsp;1017,3010160,1053096,0,<br />&nbsp;&nbsp;&nbsp;&nbsp;timerf&nbsp;&lt;def.INFECTION_rate&gt;&nbsp;f_infection_timer<br /><br />/////////////////////////////////////////////////////////////////////////////////<br />[FUNCTION&nbsp;f_turn_to_infected]&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;//we&nbsp;died&nbsp;while&nbsp;infected&nbsp;so&nbsp;turn&nbsp;corpse&nbsp;into&nbsp;infected&nbsp;zombie<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//transfer&nbsp;all&nbsp;possessions&nbsp;&amp;&nbsp;name&nbsp;to&nbsp;new&nbsp;zombie<br />&nbsp;&nbsp;&nbsp;&nbsp;SERV.newnpc&nbsp;c_infected_zombie<br />&nbsp;&nbsp;&nbsp;&nbsp;new.name&nbsp;=&nbsp;The&nbsp;infected&nbsp;corpse&nbsp;of&nbsp;&lt;args&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;new.p&nbsp;=&nbsp;&lt;p&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;FORCONT&nbsp;&lt;uid&gt;&nbsp;0&nbsp;&nbsp;//we&nbsp;don'</span><span style="color: #0000BB">t&nbsp;need&nbsp;to&nbsp;search&nbsp;in&nbsp;the&nbsp;subcontainers</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">just&nbsp;grab&nbsp;them</span><span style="color: #007700">.<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//serv.log&nbsp;&lt;name&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">new.</span><span style="color: #0000BB">bounce&nbsp;</span><span style="color: #007700">&lt;</span><span style="color: #0000BB">uid</span><span style="color: #007700">&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;ENDFOR<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//remove&nbsp;corpse<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">remove<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">new.</span><span style="color: #0000BB">updatex<br />&nbsp;&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #FF8000">/////////////////////////////////////////////////////////////////////////////////&nbsp;&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #007700">[FUNCTION&nbsp;</span><span style="color: #0000BB">f_infection_timer</span><span style="color: #007700">]<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">I</span><span style="color: #007700">.</span><span style="color: #0000BB">trigger&nbsp;</span><span style="color: #007700">@</span><span style="color: #0000BB">timer<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br /><br /></span><span style="color: #FF8000">/////////////////////////////////////////////////////////////////////////////////&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #007700">[</span><span style="color: #0000BB">CHARDEF&nbsp;c_infected_zombie</span><span style="color: #007700">]<br /></span><span style="color: #0000BB">ID</span><span style="color: #007700">=</span><span style="color: #0000BB">c_zombie<br />NAME</span><span style="color: #007700">=</span><span style="color: #0000BB">infected&nbsp;zombie<br />ICON</span><span style="color: #007700">=</span><span style="color: #0000BB">i_pet_zombie<br />SOUND</span><span style="color: #007700">=</span><span style="color: #0000BB">snd_monster_zombie1<br />CAN</span><span style="color: #007700">=</span><span style="color: #0000BB">MT_WALK</span><span style="color: #007700">|</span><span style="color: #0000BB">MT_RUN<br />DAM</span><span style="color: #007700">=</span><span style="color: #0000BB">3</span><span style="color: #007700">,</span><span style="color: #0000BB">7<br />ARMOR</span><span style="color: #007700">=</span><span style="color: #0000BB">18<br />DESIRES</span><span style="color: #007700">=</span><span style="color: #0000BB">r_graveyards</span><span style="color: #007700">,</span><span style="color: #0000BB">t_coin</span><span style="color: #007700">,</span><span style="color: #0000BB">t_gold</span><span style="color: #007700">,</span><span style="color: #0000BB">t_gem</span><span style="color: #007700">,</span><span style="color: #0000BB">t_potion<br />AVERSIONS</span><span style="color: #007700">=</span><span style="color: #0000BB">t_trap</span><span style="color: #007700">,</span><span style="color: #0000BB">r_civilization<br />RESOURCES</span><span style="color: #007700">=</span><span style="color: #0000BB">1&nbsp;i_reag_bone<br />TAG</span><span style="color: #007700">.</span><span style="color: #0000BB">SlayerGroup</span><span style="color: #007700">=</span><span style="color: #0000BB">UNDEAD<br />TEVENTS</span><span style="color: #007700">=</span><span style="color: #0000BB">e_undead<br />TEVENTS</span><span style="color: #007700">=</span><span style="color: #0000BB">e_carnivores<br />TEVENTS</span><span style="color: #007700">=</span><span style="color: #0000BB">e_zInfection<br />MOVERATE</span><span style="color: #007700">={</span><span style="color: #0000BB">180&nbsp;240</span><span style="color: #007700">}<br /></span><span style="color: #0000BB">CATEGORY</span><span style="color: #007700">=</span><span style="color: #0000BB">Monsters<br />SUBSECTION</span><span style="color: #007700">=</span><span style="color: #0000BB">Undead<br />DESCRIPTION</span><span style="color: #007700">=</span><span style="color: #0000BB">Zombie<br />ON</span><span style="color: #007700">=@</span><span style="color: #0000BB">Create<br />&nbsp;&nbsp;&nbsp;NPC</span><span style="color: #007700">=</span><span style="color: #0000BB">brain_monster<br />&nbsp;&nbsp;&nbsp;FAME</span><span style="color: #007700">=</span><span style="color: #0000BB">600<br />&nbsp;&nbsp;&nbsp;KARMA</span><span style="color: #007700">=-</span><span style="color: #0000BB">600<br />&nbsp;&nbsp;&nbsp;STR</span><span style="color: #007700">={</span><span style="color: #0000BB">45&nbsp;70</span><span style="color: #007700">}<br />&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">DEX</span><span style="color: #007700">={</span><span style="color: #0000BB">30&nbsp;50</span><span style="color: #007700">}<br />&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">INT</span><span style="color: #007700">={</span><span style="color: #0000BB">25&nbsp;40</span><span style="color: #007700">}<br />&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">MAXHITS</span><span style="color: #007700">={</span><span style="color: #0000BB">30&nbsp;45</span><span style="color: #007700">}<br />&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">WRESTLING</span><span style="color: #007700">={</span><span style="color: #0000BB">35.1&nbsp;50.0</span><span style="color: #007700">}<br />&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">TACTICS</span><span style="color: #007700">={</span><span style="color: #0000BB">35.1&nbsp;50.0</span><span style="color: #007700">}<br />&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">MAGICRESISTANCE</span><span style="color: #007700">={</span><span style="color: #0000BB">15.1&nbsp;40.0</span><span style="color: #007700">}<br />&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">RESPHYSICAL</span><span style="color: #007700">={</span><span style="color: #0000BB">15&nbsp;20</span><span style="color: #007700">}<br />&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">RESFIRE</span><span style="color: #007700">=</span><span style="color: #0000BB">0<br />&nbsp;&nbsp;&nbsp;RESCOLD</span><span style="color: #007700">={</span><span style="color: #0000BB">20&nbsp;30</span><span style="color: #007700">}<br />&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">RESPOISON</span><span style="color: #007700">={</span><span style="color: #0000BB">5&nbsp;10</span><span style="color: #007700">}<br />&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">RESENERGY</span><span style="color: #007700">=</span><span style="color: #0000BB">0<br />ON</span><span style="color: #007700">=@</span><span style="color: #0000BB">NPCRestock<br />&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//ITEM=loot_zombie&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />/////////////////////////////////////////////////////////////////////////////////&nbsp;&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #007700">[</span><span style="color: #0000BB">ITEMDEF&nbsp;0a12</span><span style="color: #007700">]<br /></span><span style="color: #0000BB">DEFNAME</span><span style="color: #007700">=</span><span style="color: #0000BB">i_torch_lit<br />TYPE</span><span style="color: #007700">=</span><span style="color: #0000BB">t_light_lit<br />TDATA3</span><span style="color: #007700">=</span><span style="color: #0000BB">i_torch<br />FLIP</span><span style="color: #007700">=</span><span style="color: #0000BB">1<br />CATEGORY</span><span style="color: #007700">=</span><span style="color: #0000BB">Decoration&nbsp;</span><span style="color: #007700">-&nbsp;</span><span style="color: #0000BB">Lightsources<br />SUBSECTION</span><span style="color: #007700">=</span><span style="color: #0000BB">Torches<br />DESCRIPTION</span><span style="color: #007700">=</span><span style="color: #0000BB">Torch&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">Lit</span><span style="color: #007700">)<br /></span><span style="color: #0000BB">DUPELIST</span><span style="color: #007700">=</span><span style="color: #0000BB">0a13</span><span style="color: #007700">,</span><span style="color: #0000BB">0a14<br />ON</span><span style="color: #007700">=@</span><span style="color: #0000BB">Create<br />&nbsp;&nbsp;&nbsp;MOREZ</span><span style="color: #007700">=</span><span style="color: #0000BB">2<br />ON</span><span style="color: #007700">=@</span><span style="color: #0000BB">DropOn_Item&nbsp;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//set&nbsp;corpse&nbsp;on&nbsp;fire&nbsp;&amp;&nbsp;remove&nbsp;infection&nbsp;if&nbsp;any<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">if&nbsp;(&lt;</span><span style="color: #0000BB">argo</span><span style="color: #007700">.</span><span style="color: #0000BB">baseid</span><span style="color: #007700">&gt;&nbsp;==&nbsp;</span><span style="color: #0000BB">i_corpse</span><span style="color: #007700">)&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//place&nbsp;fire&nbsp;effect&nbsp;&amp;&nbsp;play&nbsp;sound<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">serv</span><span style="color: #007700">.</span><span style="color: #0000BB">newitem&nbsp;i_fire<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">new.</span><span style="color: #0000BB">p&nbsp;</span><span style="color: #007700">=&nbsp;&lt;</span><span style="color: #0000BB">argo</span><span style="color: #007700">.</span><span style="color: #0000BB">p</span><span style="color: #007700">&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;new.</span><span style="color: #0000BB">attr&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">08010<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">new.</span><span style="color: #0000BB">timerf&nbsp;10</span><span style="color: #007700">,</span><span style="color: #0000BB">remove<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sfx&nbsp;054<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//turn&nbsp;corpse&nbsp;black&nbsp;(charring)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">argo</span><span style="color: #007700">.</span><span style="color: #0000BB">color&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">1899<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;argo</span><span style="color: #007700">.</span><span style="color: #0000BB">timerf&nbsp;STOP</span><span style="color: #007700">,</span><span style="color: #0000BB">f_turn_to_infected<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//add&nbsp;scorch&nbsp;marks<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">serv</span><span style="color: #007700">.</span><span style="color: #0000BB">newitem&nbsp;0f34<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">new.</span><span style="color: #0000BB">name&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">scorch&nbsp;marks<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">new.</span><span style="color: #0000BB">attr&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">08010<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">new.</span><span style="color: #0000BB">color&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">1<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">new.</span><span style="color: #0000BB">p&nbsp;</span><span style="color: #007700">=&nbsp;&lt;</span><span style="color: #0000BB">argo</span><span style="color: #007700">.</span><span style="color: #0000BB">p</span><span style="color: #007700">&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;new.</span><span style="color: #0000BB">timerf&nbsp;20</span><span style="color: #007700">,</span><span style="color: #0000BB">remove<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src</span><span style="color: #007700">.</span><span style="color: #0000BB">sysmessage&nbsp;You&nbsp;burn&nbsp;the&nbsp;corpse</span><span style="color: #007700">.<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">1<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">endif&nbsp;<br /></span></code></div></div></div>
<br />
Capes]]></description>
			<content:encoded><![CDATA[Here's a quick infectious zombie script.  These zombies inflict an infection on players &amp; npc's.  The infection rots the person away (no cure) and when they die - they turn to zombies too.  You can prevent the corpse from turning if you drop a lit torch on it.<br />
<br />
0.56d version using newest version of old client.<br />
<br />
<div class="codeblock"><div class="title">PHP Code:<br />
</div><div class="body"><div dir="ltr"><code><span style="color: #FF8000">/////////////////////////////////////////////////////////////////////////////////<br />////&nbsp;&nbsp;Zombie&nbsp;Infection&nbsp;script<br />////&nbsp;&nbsp;&nbsp;&nbsp;by&nbsp;Capes&nbsp;2018-5-10<br />/////////////////////////////////////////////////////////////////////////////////<br /></span><span style="color: #007700">[</span><span style="color: #0000BB">COMMENT&nbsp;zombie_infection_info</span><span style="color: #007700">]<br /></span><span style="color: #0000BB">An&nbsp;infected&nbsp;zombie&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">-&nbsp;</span><span style="color: #0000BB">moves&nbsp;faster<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">-&nbsp;</span><span style="color: #0000BB">npc</span><span style="color: #DD0000">'s&nbsp;&amp;&nbsp;player'</span><span style="color: #0000BB">s&nbsp;hit&nbsp;by&nbsp;them&nbsp;must&nbsp;pass&nbsp;a&nbsp;50</span><span style="color: #007700">%&nbsp;</span><span style="color: #0000BB">check&nbsp;</span><span style="color: #007700">else&nbsp;</span><span style="color: #0000BB">they&nbsp;become&nbsp;infected&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">A&nbsp;permanent&nbsp;buff</span><span style="color: #007700">).<br />&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;</span><span style="color: #0000BB">when&nbsp;that&nbsp;npc</span><span style="color: #007700">/</span><span style="color: #0000BB">player&nbsp;dies&nbsp;it</span><span style="color: #DD0000">'s&nbsp;corpse&nbsp;becomes&nbsp;an&nbsp;infected&nbsp;zombie,&nbsp;with&nbsp;all&nbsp;the&nbsp;inventory&nbsp;on&nbsp;them<br />&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;once&nbsp;infected&nbsp;there&nbsp;is&nbsp;no&nbsp;cure<br />&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;dropping&nbsp;a&nbsp;lit&nbsp;torch&nbsp;on&nbsp;an&nbsp;infected&nbsp;corpse&nbsp;will&nbsp;destroy&nbsp;this&nbsp;infection<br /><br />[DEFNAME&nbsp;infection_settings]<br />CORPSE_to_ZOMBIE_delay&nbsp;=&nbsp;120&nbsp;//2&nbsp;mins<br />INFECTION_rate&nbsp;=&nbsp;10&nbsp;&nbsp;&nbsp;&nbsp;//10&nbsp;secs<br />INFECTION_chance&nbsp;=&nbsp;50&nbsp;//%&nbsp;1-100<br /><br />/////////////////////////////////////////////////////////////////////////////////&nbsp;&nbsp;&nbsp;&nbsp;<br />[EVENTS&nbsp;e_zInfection]&nbsp;&nbsp;&nbsp;&nbsp;<br />ON=@Timer<br />&nbsp;&nbsp;&nbsp;&nbsp;//not&nbsp;infected&nbsp;quit<br />&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;!(&lt;src.tag0._is_infected&gt;)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return<br />&nbsp;&nbsp;&nbsp;&nbsp;endif<br />&nbsp;&nbsp;&nbsp;&nbsp;//inform&nbsp;player&nbsp;their&nbsp;rotting&nbsp;away<br />&nbsp;&nbsp;&nbsp;&nbsp;src.sysmessage&nbsp;@33&nbsp;Your&nbsp;flesh&nbsp;is&nbsp;rotting!<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;//we&nbsp;are&nbsp;infected&nbsp;so&nbsp;slowly&nbsp;take&nbsp;10&nbsp;damage&nbsp;(player&nbsp;starts&nbsp;to&nbsp;turn)<br />&nbsp;&nbsp;&nbsp;&nbsp;src.damage=&nbsp;10&nbsp;(&lt;DEF.dam_poison&gt;)<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;//run&nbsp;timer&nbsp;again<br />&nbsp;&nbsp;&nbsp;&nbsp;src.timerf&nbsp;&lt;def.INFECTION_rate&gt;&nbsp;f_infection_timer<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />ON=@Hit<br />&nbsp;&nbsp;&nbsp;&nbsp;//only&nbsp;run&nbsp;if&nbsp;this&nbsp;is&nbsp;an&nbsp;infected&nbsp;zombie<br />&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;!(&lt;defname&gt;==c_infected_zombie)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return<br />&nbsp;&nbsp;&nbsp;&nbsp;endif<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;//if&nbsp;target&nbsp;already&nbsp;infected&nbsp;quit<br />&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(&lt;src.tag0._is_infected&gt;)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return<br />&nbsp;&nbsp;&nbsp;&nbsp;endif<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;//disease&nbsp;check&nbsp;else&nbsp;infect&nbsp;them<br />&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(&lt;eval&nbsp;RAND(100)+1&gt;&nbsp;&lt;=&nbsp;&lt;def.INFECTION_chance&gt;)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return<br />&nbsp;&nbsp;&nbsp;&nbsp;endif<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;//set&nbsp;infected&nbsp;flag<br />&nbsp;&nbsp;&nbsp;&nbsp;src.tag0._is_infected&nbsp;=&nbsp;1<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;//add&nbsp;infected&nbsp;event<br />&nbsp;&nbsp;&nbsp;&nbsp;src.events&nbsp;+e_zInfection<br />&nbsp;&nbsp;&nbsp;&nbsp;src.sysmessage&nbsp;@30&nbsp;You&nbsp;have&nbsp;been&nbsp;infected.<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;//add&nbsp;buf&nbsp;icon&nbsp;if&nbsp;player<br />&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(&lt;src.isplayer&gt;)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src.addbuff&nbsp;1017,3010160,1053096,0,<br />&nbsp;&nbsp;&nbsp;&nbsp;endif<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;//start&nbsp;timer&nbsp;for&nbsp;rotting<br />&nbsp;&nbsp;&nbsp;&nbsp;src.timerf&nbsp;&lt;def.INFECTION_rate&gt;&nbsp;f_infection_timer<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />ON=@DeathCorpse&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;//quit&nbsp;if&nbsp;c_infected_zombie<br />&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(&lt;defname&gt;==c_infected_zombie)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return<br />&nbsp;&nbsp;&nbsp;&nbsp;end<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;//we&nbsp;died&nbsp;while&nbsp;infected&nbsp;so&nbsp;turn&nbsp;corpse&nbsp;into&nbsp;zombie&nbsp;in&nbsp;x&nbsp;amount&nbsp;of&nbsp;time<br />&nbsp;&nbsp;&nbsp;&nbsp;argo.timerf&nbsp;&lt;def.CORPSE_to_ZOMBIE_delay&gt;&nbsp;f_turn_to_infected&nbsp;&lt;src.name&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;//remove&nbsp;this&nbsp;infection&nbsp;from&nbsp;player<br />&nbsp;&nbsp;&nbsp;&nbsp;src.events&nbsp;-e_zInfection<br />&nbsp;&nbsp;&nbsp;&nbsp;src.tag0._is_infected&nbsp;=<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;//remove&nbsp;buf&nbsp;icon&nbsp;if&nbsp;player<br />&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(&lt;src.isplayer&gt;)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src.removebuff&nbsp;1017<br />&nbsp;&nbsp;&nbsp;&nbsp;endif<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;//remove&nbsp;f_infection_timer<br />&nbsp;&nbsp;&nbsp;&nbsp;src.timerf&nbsp;STOP,f_infection_timer<br /><br />ON=@Logout<br />&nbsp;&nbsp;&nbsp;&nbsp;//we&nbsp;are&nbsp;infected&nbsp;and&nbsp;logging&nbsp;out<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//stop&nbsp;timer<br />&nbsp;&nbsp;&nbsp;&nbsp;timerf&nbsp;STOP,f_infection_timer<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />ON=@Login&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;//since&nbsp;this&nbsp;is&nbsp;triggering,&nbsp;we&nbsp;are&nbsp;infected&nbsp;and&nbsp;loging&nbsp;in<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//add&nbsp;the&nbsp;infection&nbsp;buf&nbsp;&amp;&nbsp;fire&nbsp;timer&nbsp;if&nbsp;not&nbsp;present<br />&nbsp;&nbsp;&nbsp;&nbsp;addbuff&nbsp;1017,3010160,1053096,0,<br />&nbsp;&nbsp;&nbsp;&nbsp;timerf&nbsp;&lt;def.INFECTION_rate&gt;&nbsp;f_infection_timer<br /><br />/////////////////////////////////////////////////////////////////////////////////<br />[FUNCTION&nbsp;f_turn_to_infected]&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;//we&nbsp;died&nbsp;while&nbsp;infected&nbsp;so&nbsp;turn&nbsp;corpse&nbsp;into&nbsp;infected&nbsp;zombie<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//transfer&nbsp;all&nbsp;possessions&nbsp;&amp;&nbsp;name&nbsp;to&nbsp;new&nbsp;zombie<br />&nbsp;&nbsp;&nbsp;&nbsp;SERV.newnpc&nbsp;c_infected_zombie<br />&nbsp;&nbsp;&nbsp;&nbsp;new.name&nbsp;=&nbsp;The&nbsp;infected&nbsp;corpse&nbsp;of&nbsp;&lt;args&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;new.p&nbsp;=&nbsp;&lt;p&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;FORCONT&nbsp;&lt;uid&gt;&nbsp;0&nbsp;&nbsp;//we&nbsp;don'</span><span style="color: #0000BB">t&nbsp;need&nbsp;to&nbsp;search&nbsp;in&nbsp;the&nbsp;subcontainers</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">just&nbsp;grab&nbsp;them</span><span style="color: #007700">.<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//serv.log&nbsp;&lt;name&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">new.</span><span style="color: #0000BB">bounce&nbsp;</span><span style="color: #007700">&lt;</span><span style="color: #0000BB">uid</span><span style="color: #007700">&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;ENDFOR<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//remove&nbsp;corpse<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">remove<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">new.</span><span style="color: #0000BB">updatex<br />&nbsp;&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #FF8000">/////////////////////////////////////////////////////////////////////////////////&nbsp;&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #007700">[FUNCTION&nbsp;</span><span style="color: #0000BB">f_infection_timer</span><span style="color: #007700">]<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">I</span><span style="color: #007700">.</span><span style="color: #0000BB">trigger&nbsp;</span><span style="color: #007700">@</span><span style="color: #0000BB">timer<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br /><br /></span><span style="color: #FF8000">/////////////////////////////////////////////////////////////////////////////////&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #007700">[</span><span style="color: #0000BB">CHARDEF&nbsp;c_infected_zombie</span><span style="color: #007700">]<br /></span><span style="color: #0000BB">ID</span><span style="color: #007700">=</span><span style="color: #0000BB">c_zombie<br />NAME</span><span style="color: #007700">=</span><span style="color: #0000BB">infected&nbsp;zombie<br />ICON</span><span style="color: #007700">=</span><span style="color: #0000BB">i_pet_zombie<br />SOUND</span><span style="color: #007700">=</span><span style="color: #0000BB">snd_monster_zombie1<br />CAN</span><span style="color: #007700">=</span><span style="color: #0000BB">MT_WALK</span><span style="color: #007700">|</span><span style="color: #0000BB">MT_RUN<br />DAM</span><span style="color: #007700">=</span><span style="color: #0000BB">3</span><span style="color: #007700">,</span><span style="color: #0000BB">7<br />ARMOR</span><span style="color: #007700">=</span><span style="color: #0000BB">18<br />DESIRES</span><span style="color: #007700">=</span><span style="color: #0000BB">r_graveyards</span><span style="color: #007700">,</span><span style="color: #0000BB">t_coin</span><span style="color: #007700">,</span><span style="color: #0000BB">t_gold</span><span style="color: #007700">,</span><span style="color: #0000BB">t_gem</span><span style="color: #007700">,</span><span style="color: #0000BB">t_potion<br />AVERSIONS</span><span style="color: #007700">=</span><span style="color: #0000BB">t_trap</span><span style="color: #007700">,</span><span style="color: #0000BB">r_civilization<br />RESOURCES</span><span style="color: #007700">=</span><span style="color: #0000BB">1&nbsp;i_reag_bone<br />TAG</span><span style="color: #007700">.</span><span style="color: #0000BB">SlayerGroup</span><span style="color: #007700">=</span><span style="color: #0000BB">UNDEAD<br />TEVENTS</span><span style="color: #007700">=</span><span style="color: #0000BB">e_undead<br />TEVENTS</span><span style="color: #007700">=</span><span style="color: #0000BB">e_carnivores<br />TEVENTS</span><span style="color: #007700">=</span><span style="color: #0000BB">e_zInfection<br />MOVERATE</span><span style="color: #007700">={</span><span style="color: #0000BB">180&nbsp;240</span><span style="color: #007700">}<br /></span><span style="color: #0000BB">CATEGORY</span><span style="color: #007700">=</span><span style="color: #0000BB">Monsters<br />SUBSECTION</span><span style="color: #007700">=</span><span style="color: #0000BB">Undead<br />DESCRIPTION</span><span style="color: #007700">=</span><span style="color: #0000BB">Zombie<br />ON</span><span style="color: #007700">=@</span><span style="color: #0000BB">Create<br />&nbsp;&nbsp;&nbsp;NPC</span><span style="color: #007700">=</span><span style="color: #0000BB">brain_monster<br />&nbsp;&nbsp;&nbsp;FAME</span><span style="color: #007700">=</span><span style="color: #0000BB">600<br />&nbsp;&nbsp;&nbsp;KARMA</span><span style="color: #007700">=-</span><span style="color: #0000BB">600<br />&nbsp;&nbsp;&nbsp;STR</span><span style="color: #007700">={</span><span style="color: #0000BB">45&nbsp;70</span><span style="color: #007700">}<br />&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">DEX</span><span style="color: #007700">={</span><span style="color: #0000BB">30&nbsp;50</span><span style="color: #007700">}<br />&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">INT</span><span style="color: #007700">={</span><span style="color: #0000BB">25&nbsp;40</span><span style="color: #007700">}<br />&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">MAXHITS</span><span style="color: #007700">={</span><span style="color: #0000BB">30&nbsp;45</span><span style="color: #007700">}<br />&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">WRESTLING</span><span style="color: #007700">={</span><span style="color: #0000BB">35.1&nbsp;50.0</span><span style="color: #007700">}<br />&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">TACTICS</span><span style="color: #007700">={</span><span style="color: #0000BB">35.1&nbsp;50.0</span><span style="color: #007700">}<br />&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">MAGICRESISTANCE</span><span style="color: #007700">={</span><span style="color: #0000BB">15.1&nbsp;40.0</span><span style="color: #007700">}<br />&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">RESPHYSICAL</span><span style="color: #007700">={</span><span style="color: #0000BB">15&nbsp;20</span><span style="color: #007700">}<br />&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">RESFIRE</span><span style="color: #007700">=</span><span style="color: #0000BB">0<br />&nbsp;&nbsp;&nbsp;RESCOLD</span><span style="color: #007700">={</span><span style="color: #0000BB">20&nbsp;30</span><span style="color: #007700">}<br />&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">RESPOISON</span><span style="color: #007700">={</span><span style="color: #0000BB">5&nbsp;10</span><span style="color: #007700">}<br />&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">RESENERGY</span><span style="color: #007700">=</span><span style="color: #0000BB">0<br />ON</span><span style="color: #007700">=@</span><span style="color: #0000BB">NPCRestock<br />&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//ITEM=loot_zombie&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />/////////////////////////////////////////////////////////////////////////////////&nbsp;&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #007700">[</span><span style="color: #0000BB">ITEMDEF&nbsp;0a12</span><span style="color: #007700">]<br /></span><span style="color: #0000BB">DEFNAME</span><span style="color: #007700">=</span><span style="color: #0000BB">i_torch_lit<br />TYPE</span><span style="color: #007700">=</span><span style="color: #0000BB">t_light_lit<br />TDATA3</span><span style="color: #007700">=</span><span style="color: #0000BB">i_torch<br />FLIP</span><span style="color: #007700">=</span><span style="color: #0000BB">1<br />CATEGORY</span><span style="color: #007700">=</span><span style="color: #0000BB">Decoration&nbsp;</span><span style="color: #007700">-&nbsp;</span><span style="color: #0000BB">Lightsources<br />SUBSECTION</span><span style="color: #007700">=</span><span style="color: #0000BB">Torches<br />DESCRIPTION</span><span style="color: #007700">=</span><span style="color: #0000BB">Torch&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">Lit</span><span style="color: #007700">)<br /></span><span style="color: #0000BB">DUPELIST</span><span style="color: #007700">=</span><span style="color: #0000BB">0a13</span><span style="color: #007700">,</span><span style="color: #0000BB">0a14<br />ON</span><span style="color: #007700">=@</span><span style="color: #0000BB">Create<br />&nbsp;&nbsp;&nbsp;MOREZ</span><span style="color: #007700">=</span><span style="color: #0000BB">2<br />ON</span><span style="color: #007700">=@</span><span style="color: #0000BB">DropOn_Item&nbsp;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//set&nbsp;corpse&nbsp;on&nbsp;fire&nbsp;&amp;&nbsp;remove&nbsp;infection&nbsp;if&nbsp;any<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">if&nbsp;(&lt;</span><span style="color: #0000BB">argo</span><span style="color: #007700">.</span><span style="color: #0000BB">baseid</span><span style="color: #007700">&gt;&nbsp;==&nbsp;</span><span style="color: #0000BB">i_corpse</span><span style="color: #007700">)&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//place&nbsp;fire&nbsp;effect&nbsp;&amp;&nbsp;play&nbsp;sound<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">serv</span><span style="color: #007700">.</span><span style="color: #0000BB">newitem&nbsp;i_fire<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">new.</span><span style="color: #0000BB">p&nbsp;</span><span style="color: #007700">=&nbsp;&lt;</span><span style="color: #0000BB">argo</span><span style="color: #007700">.</span><span style="color: #0000BB">p</span><span style="color: #007700">&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;new.</span><span style="color: #0000BB">attr&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">08010<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">new.</span><span style="color: #0000BB">timerf&nbsp;10</span><span style="color: #007700">,</span><span style="color: #0000BB">remove<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sfx&nbsp;054<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//turn&nbsp;corpse&nbsp;black&nbsp;(charring)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">argo</span><span style="color: #007700">.</span><span style="color: #0000BB">color&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">1899<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;argo</span><span style="color: #007700">.</span><span style="color: #0000BB">timerf&nbsp;STOP</span><span style="color: #007700">,</span><span style="color: #0000BB">f_turn_to_infected<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//add&nbsp;scorch&nbsp;marks<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">serv</span><span style="color: #007700">.</span><span style="color: #0000BB">newitem&nbsp;0f34<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">new.</span><span style="color: #0000BB">name&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">scorch&nbsp;marks<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">new.</span><span style="color: #0000BB">attr&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">08010<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">new.</span><span style="color: #0000BB">color&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">1<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">new.</span><span style="color: #0000BB">p&nbsp;</span><span style="color: #007700">=&nbsp;&lt;</span><span style="color: #0000BB">argo</span><span style="color: #007700">.</span><span style="color: #0000BB">p</span><span style="color: #007700">&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;new.</span><span style="color: #0000BB">timerf&nbsp;20</span><span style="color: #007700">,</span><span style="color: #0000BB">remove<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src</span><span style="color: #007700">.</span><span style="color: #0000BB">sysmessage&nbsp;You&nbsp;burn&nbsp;the&nbsp;corpse</span><span style="color: #007700">.<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">1<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">endif&nbsp;<br /></span></code></div></div></div>
<br />
Capes]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Respawning Loot]]></title>
			<link>https://forum.spherecommunity.net/Thread-Respawning-Loot</link>
			<pubDate>Fri, 20 Apr 2018 18:04:13 +0200</pubDate>
			<guid isPermaLink="false">https://forum.spherecommunity.net/Thread-Respawning-Loot</guid>
			<description><![CDATA[Ok I saw a few post regarding spawning loot in containers.  What I noticed was that most people respawn the whole container which in turn spawns loot in side it.  Why not just have the loot spawn in the container?  Well here is one way!<br />
<br />
<div class="codeblock"><div class="title">PHP Code:<br />
</div><div class="body"><div dir="ltr"><code><span style="color: #007700">[</span><span style="color: #0000BB">DEFNAME&nbsp;respawning_loot_settings</span><span style="color: #007700">]<br /></span><span style="color: #0000BB">RESPAWN_CUSTOM_LOOT_TIME&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">10&nbsp;</span><span style="color: #FF8000">//secs<br /><br />/////////////////////////////////////////////////////<br />////&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;EVENTS/TYPEDEF&nbsp;e_eventhandler_respawn_loot<br />////&nbsp;&nbsp;&nbsp;&nbsp;-our&nbsp;event&nbsp;handler&nbsp;for&nbsp;ON=@&nbsp;PickUp_Self/DropOn_Self/TIMER<br />////&nbsp;&nbsp;&nbsp;&nbsp;@&nbsp;PickUp_Self&nbsp;-&nbsp;checks&nbsp;contents&nbsp;of&nbsp;container,&nbsp;when&nbsp;empty&nbsp;use&nbsp;TIMERF&nbsp;to&nbsp;call&nbsp;f_loopback_timer&nbsp;to&nbsp;trigger&nbsp;our&nbsp;@Timer&nbsp;event<br />////&nbsp;&nbsp;&nbsp;&nbsp;@&nbsp;DropOn_Self&nbsp;-&nbsp;prevents&nbsp;adding&nbsp;items&nbsp;to&nbsp;the&nbsp;container<br />////&nbsp;&nbsp;&nbsp;&nbsp;@&nbsp;TIMER&nbsp;-&nbsp;if&nbsp;container&nbsp;empty&nbsp;calls&nbsp;f_Load_Loot&nbsp;passing&nbsp;in&nbsp;a&nbsp;list&nbsp;created&nbsp;from&nbsp;TAG.loot<br />/////////////////////////////////////////////////////<br /></span><span style="color: #007700">[</span><span style="color: #0000BB">TYPEDEF&nbsp;e_eventhandler_respawn_loot</span><span style="color: #007700">]&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//loot&nbsp;handler<br /></span><span style="color: #0000BB">ON</span><span style="color: #007700">=@</span><span style="color: #0000BB">PickUp_Self<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//when&nbsp;an&nbsp;item&nbsp;is&nbsp;removed&nbsp;from&nbsp;container&nbsp;reset&nbsp;our&nbsp;timer<br />&nbsp;&nbsp;&nbsp;&nbsp;//we&nbsp;have&nbsp;-1&nbsp;because&nbsp;COUNT&nbsp;still&nbsp;considers&nbsp;the&nbsp;current&nbsp;object&nbsp;to&nbsp;still&nbsp;be&nbsp;in&nbsp;the&nbsp;container<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">IF&nbsp;((&lt;</span><span style="color: #0000BB">I</span><span style="color: #007700">.</span><span style="color: #0000BB">COUNT</span><span style="color: #007700">&gt;&nbsp;-&nbsp;</span><span style="color: #0000BB">1</span><span style="color: #007700">)==&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">)&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//only&nbsp;fire&nbsp;if&nbsp;no&nbsp;other&nbsp;items&nbsp;are&nbsp;left<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">TIMERF&nbsp;</span><span style="color: #007700">&lt;</span><span style="color: #0000BB">dDEF</span><span style="color: #007700">.</span><span style="color: #0000BB">RESPAWN_CUSTOM_LOOT_TIME</span><span style="color: #007700">&gt;&nbsp;</span><span style="color: #0000BB">f_loopback_timer&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">ENDIF<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">UPDATE<br /><br />ON</span><span style="color: #007700">=@</span><span style="color: #0000BB">DropOn_Self<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//prevent&nbsp;droping&nbsp;things&nbsp;into&nbsp;this&nbsp;container<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">return&nbsp;</span><span style="color: #0000BB">1<br /><br />ON</span><span style="color: #007700">=@</span><span style="color: #0000BB">TIMER<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//if&nbsp;container&nbsp;is&nbsp;empty&nbsp;add&nbsp;new&nbsp;loot&nbsp;based&nbsp;on&nbsp;stored&nbsp;template(s)&nbsp;above&nbsp;or&nbsp;previous<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">IF&nbsp;(&lt;</span><span style="color: #0000BB">I</span><span style="color: #007700">.</span><span style="color: #0000BB">COUNT</span><span style="color: #007700">&gt;&nbsp;==&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//turn&nbsp;TAG.loot&nbsp;into&nbsp;a&nbsp;list&nbsp;then&nbsp;pass&nbsp;into&nbsp;function<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;&nbsp;&nbsp;&nbsp;f_Load_Loot&nbsp;expects&nbsp;a&nbsp;list<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">f_Load_Loot&nbsp;</span><span style="color: #007700">&lt;</span><span style="color: #0000BB">EXPLODE&nbsp;</span><span style="color: #007700">+,&lt;</span><span style="color: #0000BB">TAG</span><span style="color: #007700">.</span><span style="color: #0000BB">loot</span><span style="color: #007700">&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;ENDIF<br /><br /></span><span style="color: #FF8000">/////////////////////////////////////////////////////<br />////&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;FUNCTION&nbsp;f_loopback_timer<br />////&nbsp;&nbsp;&nbsp;&nbsp;-loopback&nbsp;to&nbsp;call&nbsp;@TIMER<br />////&nbsp;&nbsp;&nbsp;&nbsp;-without&nbsp;this&nbsp;loopback,&nbsp;timers&nbsp;that&nbsp;reach&nbsp;zero&nbsp;will&nbsp;auto&nbsp;decay&nbsp;the&nbsp;object.<br />////&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;If&nbsp;that&nbsp;item&nbsp;is&nbsp;static&nbsp;-&gt;&nbsp;error&nbsp;object&nbsp;timer&nbsp;elapsed&nbsp;without&nbsp;decay<br />////&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;error&nbsp;is&nbsp;thrown.&nbsp;&nbsp;This&nbsp;prevents&nbsp;that&nbsp;error.<br />/////////////////////////////////////////////////////<br /></span><span style="color: #007700">[FUNCTION&nbsp;</span><span style="color: #0000BB">f_loopback_timer</span><span style="color: #007700">]<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//call&nbsp;this&nbsp;items&nbsp;TIMER&nbsp;event<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">I</span><span style="color: #007700">.</span><span style="color: #0000BB">TRIGGER&nbsp;</span><span style="color: #007700">@</span><span style="color: #0000BB">TIMER<br /><br /></span><span style="color: #FF8000">/////////////////////////////////////////////////////<br />////&nbsp;FUNCTION&nbsp;f_Load_Loot&nbsp;&lt;args&gt;<br />////&nbsp;&nbsp;&nbsp;&nbsp;Param&nbsp;&lt;args&gt;&nbsp;-&nbsp;must&nbsp;be&nbsp;a&nbsp;list<br />////&nbsp;-takes&nbsp;a&nbsp;list&nbsp;of&nbsp;items&nbsp;and&nbsp;adds&nbsp;each&nbsp;item&nbsp;to&nbsp;the&nbsp;calling&nbsp;container's&nbsp;contents<br />////&nbsp;-updates&nbsp;nearby&nbsp;clients&nbsp;so&nbsp;tooltip&nbsp;shows&nbsp;correctly<br />/////////////////////////////////////////////////////<br /></span><span style="color: #007700">[FUNCTION&nbsp;</span><span style="color: #0000BB">f_Load_Loot</span><span style="color: #007700">]<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//a&nbsp;list&nbsp;is&nbsp;passed&nbsp;in,&nbsp;loop&nbsp;through&nbsp;and&nbsp;add&nbsp;each&nbsp;item<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">FOR&nbsp;</span><span style="color: #0000BB">0&nbsp;</span><span style="color: #007700">&lt;EVAL&nbsp;(&lt;</span><span style="color: #0000BB">ARGV</span><span style="color: #007700">&gt;&nbsp;-&nbsp;</span><span style="color: #0000BB">1</span><span style="color: #007700">)&gt;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">SERV</span><span style="color: #007700">.</span><span style="color: #0000BB">NEWITEM&nbsp;</span><span style="color: #007700">&lt;</span><span style="color: #0000BB">ARGV</span><span style="color: #007700">[&lt;</span><span style="color: #0000BB">LOCAL</span><span style="color: #007700">.</span><span style="color: #0000BB">_FOR</span><span style="color: #007700">&gt;]&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;NEW.</span><span style="color: #0000BB">CONT</span><span style="color: #007700">=&lt;</span><span style="color: #0000BB">UID</span><span style="color: #007700">&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;ENDFOR<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">UPDATE<br /><br /></span><span style="color: #FF8000">/////////////////////////////////////////////////////<br />////&nbsp;ITEM&nbsp;i_metal_chest_rloot&nbsp;<br />/////////////////////////////////////////////////////<br /></span><span style="color: #007700">[</span><span style="color: #0000BB">ITEMDEF&nbsp;i_metal_chest_rloot</span><span style="color: #007700">]&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//A&nbsp;-&nbsp;our&nbsp;item&nbsp;ref<br /></span><span style="color: #0000BB">ID&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">i_chest_metal&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//B&nbsp;-&nbsp;what&nbsp;our&nbsp;item&nbsp;looks&nbsp;&amp;&nbsp;feels&nbsp;like<br /></span><span style="color: #0000BB">TAG</span><span style="color: #007700">.</span><span style="color: #0000BB">loot&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">poor_gold_pile</span><span style="color: #007700">+</span><span style="color: #0000BB">poor_pouch&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//C&nbsp;-&nbsp;the&nbsp;loot&nbsp;this&nbsp;item&nbsp;respawns,&nbsp;can&nbsp;have&nbsp;mutiple&nbsp;items&nbsp;seperated&nbsp;by&nbsp;a&nbsp;+<br /></span><span style="color: #0000BB">ON</span><span style="color: #007700">=@</span><span style="color: #0000BB">Create<br />&nbsp;&nbsp;&nbsp;&nbsp;EVENTS&nbsp;</span><span style="color: #007700">+</span><span style="color: #0000BB">e_eventhandler_respawn_loot<br />&nbsp;&nbsp;&nbsp;&nbsp;I</span><span style="color: #007700">.</span><span style="color: #0000BB">TRIGGER&nbsp;</span><span style="color: #007700">@</span><span style="color: #0000BB">TIMER&nbsp;<br /></span></code></div></div></div>
<br />
Now define your own containers.<br />
Try .add i_metal_chest_rloot then .set attr=08010 so no one walks away with it.<br />
<br />
<br />
I'm currently writing a script for respawning loot &amp; relocking containers using a gump.  I'll post the whole script when its done.<br />
<br />
Capes]]></description>
			<content:encoded><![CDATA[Ok I saw a few post regarding spawning loot in containers.  What I noticed was that most people respawn the whole container which in turn spawns loot in side it.  Why not just have the loot spawn in the container?  Well here is one way!<br />
<br />
<div class="codeblock"><div class="title">PHP Code:<br />
</div><div class="body"><div dir="ltr"><code><span style="color: #007700">[</span><span style="color: #0000BB">DEFNAME&nbsp;respawning_loot_settings</span><span style="color: #007700">]<br /></span><span style="color: #0000BB">RESPAWN_CUSTOM_LOOT_TIME&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">10&nbsp;</span><span style="color: #FF8000">//secs<br /><br />/////////////////////////////////////////////////////<br />////&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;EVENTS/TYPEDEF&nbsp;e_eventhandler_respawn_loot<br />////&nbsp;&nbsp;&nbsp;&nbsp;-our&nbsp;event&nbsp;handler&nbsp;for&nbsp;ON=@&nbsp;PickUp_Self/DropOn_Self/TIMER<br />////&nbsp;&nbsp;&nbsp;&nbsp;@&nbsp;PickUp_Self&nbsp;-&nbsp;checks&nbsp;contents&nbsp;of&nbsp;container,&nbsp;when&nbsp;empty&nbsp;use&nbsp;TIMERF&nbsp;to&nbsp;call&nbsp;f_loopback_timer&nbsp;to&nbsp;trigger&nbsp;our&nbsp;@Timer&nbsp;event<br />////&nbsp;&nbsp;&nbsp;&nbsp;@&nbsp;DropOn_Self&nbsp;-&nbsp;prevents&nbsp;adding&nbsp;items&nbsp;to&nbsp;the&nbsp;container<br />////&nbsp;&nbsp;&nbsp;&nbsp;@&nbsp;TIMER&nbsp;-&nbsp;if&nbsp;container&nbsp;empty&nbsp;calls&nbsp;f_Load_Loot&nbsp;passing&nbsp;in&nbsp;a&nbsp;list&nbsp;created&nbsp;from&nbsp;TAG.loot<br />/////////////////////////////////////////////////////<br /></span><span style="color: #007700">[</span><span style="color: #0000BB">TYPEDEF&nbsp;e_eventhandler_respawn_loot</span><span style="color: #007700">]&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//loot&nbsp;handler<br /></span><span style="color: #0000BB">ON</span><span style="color: #007700">=@</span><span style="color: #0000BB">PickUp_Self<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//when&nbsp;an&nbsp;item&nbsp;is&nbsp;removed&nbsp;from&nbsp;container&nbsp;reset&nbsp;our&nbsp;timer<br />&nbsp;&nbsp;&nbsp;&nbsp;//we&nbsp;have&nbsp;-1&nbsp;because&nbsp;COUNT&nbsp;still&nbsp;considers&nbsp;the&nbsp;current&nbsp;object&nbsp;to&nbsp;still&nbsp;be&nbsp;in&nbsp;the&nbsp;container<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">IF&nbsp;((&lt;</span><span style="color: #0000BB">I</span><span style="color: #007700">.</span><span style="color: #0000BB">COUNT</span><span style="color: #007700">&gt;&nbsp;-&nbsp;</span><span style="color: #0000BB">1</span><span style="color: #007700">)==&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">)&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//only&nbsp;fire&nbsp;if&nbsp;no&nbsp;other&nbsp;items&nbsp;are&nbsp;left<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">TIMERF&nbsp;</span><span style="color: #007700">&lt;</span><span style="color: #0000BB">dDEF</span><span style="color: #007700">.</span><span style="color: #0000BB">RESPAWN_CUSTOM_LOOT_TIME</span><span style="color: #007700">&gt;&nbsp;</span><span style="color: #0000BB">f_loopback_timer&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">ENDIF<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">UPDATE<br /><br />ON</span><span style="color: #007700">=@</span><span style="color: #0000BB">DropOn_Self<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//prevent&nbsp;droping&nbsp;things&nbsp;into&nbsp;this&nbsp;container<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">return&nbsp;</span><span style="color: #0000BB">1<br /><br />ON</span><span style="color: #007700">=@</span><span style="color: #0000BB">TIMER<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//if&nbsp;container&nbsp;is&nbsp;empty&nbsp;add&nbsp;new&nbsp;loot&nbsp;based&nbsp;on&nbsp;stored&nbsp;template(s)&nbsp;above&nbsp;or&nbsp;previous<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">IF&nbsp;(&lt;</span><span style="color: #0000BB">I</span><span style="color: #007700">.</span><span style="color: #0000BB">COUNT</span><span style="color: #007700">&gt;&nbsp;==&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//turn&nbsp;TAG.loot&nbsp;into&nbsp;a&nbsp;list&nbsp;then&nbsp;pass&nbsp;into&nbsp;function<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;&nbsp;&nbsp;&nbsp;f_Load_Loot&nbsp;expects&nbsp;a&nbsp;list<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">f_Load_Loot&nbsp;</span><span style="color: #007700">&lt;</span><span style="color: #0000BB">EXPLODE&nbsp;</span><span style="color: #007700">+,&lt;</span><span style="color: #0000BB">TAG</span><span style="color: #007700">.</span><span style="color: #0000BB">loot</span><span style="color: #007700">&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;ENDIF<br /><br /></span><span style="color: #FF8000">/////////////////////////////////////////////////////<br />////&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;FUNCTION&nbsp;f_loopback_timer<br />////&nbsp;&nbsp;&nbsp;&nbsp;-loopback&nbsp;to&nbsp;call&nbsp;@TIMER<br />////&nbsp;&nbsp;&nbsp;&nbsp;-without&nbsp;this&nbsp;loopback,&nbsp;timers&nbsp;that&nbsp;reach&nbsp;zero&nbsp;will&nbsp;auto&nbsp;decay&nbsp;the&nbsp;object.<br />////&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;If&nbsp;that&nbsp;item&nbsp;is&nbsp;static&nbsp;-&gt;&nbsp;error&nbsp;object&nbsp;timer&nbsp;elapsed&nbsp;without&nbsp;decay<br />////&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;error&nbsp;is&nbsp;thrown.&nbsp;&nbsp;This&nbsp;prevents&nbsp;that&nbsp;error.<br />/////////////////////////////////////////////////////<br /></span><span style="color: #007700">[FUNCTION&nbsp;</span><span style="color: #0000BB">f_loopback_timer</span><span style="color: #007700">]<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//call&nbsp;this&nbsp;items&nbsp;TIMER&nbsp;event<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">I</span><span style="color: #007700">.</span><span style="color: #0000BB">TRIGGER&nbsp;</span><span style="color: #007700">@</span><span style="color: #0000BB">TIMER<br /><br /></span><span style="color: #FF8000">/////////////////////////////////////////////////////<br />////&nbsp;FUNCTION&nbsp;f_Load_Loot&nbsp;&lt;args&gt;<br />////&nbsp;&nbsp;&nbsp;&nbsp;Param&nbsp;&lt;args&gt;&nbsp;-&nbsp;must&nbsp;be&nbsp;a&nbsp;list<br />////&nbsp;-takes&nbsp;a&nbsp;list&nbsp;of&nbsp;items&nbsp;and&nbsp;adds&nbsp;each&nbsp;item&nbsp;to&nbsp;the&nbsp;calling&nbsp;container's&nbsp;contents<br />////&nbsp;-updates&nbsp;nearby&nbsp;clients&nbsp;so&nbsp;tooltip&nbsp;shows&nbsp;correctly<br />/////////////////////////////////////////////////////<br /></span><span style="color: #007700">[FUNCTION&nbsp;</span><span style="color: #0000BB">f_Load_Loot</span><span style="color: #007700">]<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//a&nbsp;list&nbsp;is&nbsp;passed&nbsp;in,&nbsp;loop&nbsp;through&nbsp;and&nbsp;add&nbsp;each&nbsp;item<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">FOR&nbsp;</span><span style="color: #0000BB">0&nbsp;</span><span style="color: #007700">&lt;EVAL&nbsp;(&lt;</span><span style="color: #0000BB">ARGV</span><span style="color: #007700">&gt;&nbsp;-&nbsp;</span><span style="color: #0000BB">1</span><span style="color: #007700">)&gt;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">SERV</span><span style="color: #007700">.</span><span style="color: #0000BB">NEWITEM&nbsp;</span><span style="color: #007700">&lt;</span><span style="color: #0000BB">ARGV</span><span style="color: #007700">[&lt;</span><span style="color: #0000BB">LOCAL</span><span style="color: #007700">.</span><span style="color: #0000BB">_FOR</span><span style="color: #007700">&gt;]&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;NEW.</span><span style="color: #0000BB">CONT</span><span style="color: #007700">=&lt;</span><span style="color: #0000BB">UID</span><span style="color: #007700">&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;ENDFOR<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">UPDATE<br /><br /></span><span style="color: #FF8000">/////////////////////////////////////////////////////<br />////&nbsp;ITEM&nbsp;i_metal_chest_rloot&nbsp;<br />/////////////////////////////////////////////////////<br /></span><span style="color: #007700">[</span><span style="color: #0000BB">ITEMDEF&nbsp;i_metal_chest_rloot</span><span style="color: #007700">]&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//A&nbsp;-&nbsp;our&nbsp;item&nbsp;ref<br /></span><span style="color: #0000BB">ID&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">i_chest_metal&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//B&nbsp;-&nbsp;what&nbsp;our&nbsp;item&nbsp;looks&nbsp;&amp;&nbsp;feels&nbsp;like<br /></span><span style="color: #0000BB">TAG</span><span style="color: #007700">.</span><span style="color: #0000BB">loot&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">poor_gold_pile</span><span style="color: #007700">+</span><span style="color: #0000BB">poor_pouch&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//C&nbsp;-&nbsp;the&nbsp;loot&nbsp;this&nbsp;item&nbsp;respawns,&nbsp;can&nbsp;have&nbsp;mutiple&nbsp;items&nbsp;seperated&nbsp;by&nbsp;a&nbsp;+<br /></span><span style="color: #0000BB">ON</span><span style="color: #007700">=@</span><span style="color: #0000BB">Create<br />&nbsp;&nbsp;&nbsp;&nbsp;EVENTS&nbsp;</span><span style="color: #007700">+</span><span style="color: #0000BB">e_eventhandler_respawn_loot<br />&nbsp;&nbsp;&nbsp;&nbsp;I</span><span style="color: #007700">.</span><span style="color: #0000BB">TRIGGER&nbsp;</span><span style="color: #007700">@</span><span style="color: #0000BB">TIMER&nbsp;<br /></span></code></div></div></div>
<br />
Now define your own containers.<br />
Try .add i_metal_chest_rloot then .set attr=08010 so no one walks away with it.<br />
<br />
<br />
I'm currently writing a script for respawning loot &amp; relocking containers using a gump.  I'll post the whole script when its done.<br />
<br />
Capes]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Fishing - net & lobster traps]]></title>
			<link>https://forum.spherecommunity.net/Thread-Fishing-net-lobster-traps</link>
			<pubDate>Tue, 17 Apr 2018 19:44:47 +0200</pubDate>
			<guid isPermaLink="false">https://forum.spherecommunity.net/Thread-Fishing-net-lobster-traps</guid>
			<description><![CDATA[I know someone else did this, but it wasn't complete and it was in a different language.  Here's my go at it!<br />
<br />
<br />
<br />
<div class="codeblock"><div class="title">PHP Code:<br />
</div><div class="body"><div dir="ltr"><code><span style="color: #FF8000">//////////////////////////////////////////////////////////////////////////////////////////////<br />///////&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Fishing&nbsp;-&nbsp;net&nbsp;&amp;&nbsp;lobster&nbsp;traps<br />///////&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;By:&nbsp;Capes&nbsp;last&nbsp;modified&nbsp;-&nbsp;2018-04-17&nbsp;0.56d<br />//////////////////////////////////////////////////////////////////////////////////////////////<br /></span><span style="color: #007700">[</span><span style="color: #0000BB">TEMPLATE&nbsp;random_fish</span><span style="color: #007700">]<br /></span><span style="color: #0000BB">ITEM</span><span style="color: #007700">={</span><span style="color: #0000BB">i_fish_big_1&nbsp;1&nbsp;i_fish_big_2&nbsp;1&nbsp;i_fish_big_3&nbsp;1&nbsp;i_fish_big_4&nbsp;1&nbsp;i_fish_small&nbsp;1&nbsp;0dd7&nbsp;1&nbsp;0dd8&nbsp;1&nbsp;0dd9&nbsp;1&nbsp;random_cannibalized_fish&nbsp;1&nbsp;random_special_fish&nbsp;1&nbsp;0dba&nbsp;1&nbsp;0dbb&nbsp;1</span><span style="color: #007700">}<br /><br />[</span><span style="color: #0000BB">TEMPLATE&nbsp;random_special_fish</span><span style="color: #007700">]<br /></span><span style="color: #0000BB">ITEM</span><span style="color: #007700">={</span><span style="color: #0000BB">i_fish_makoto_courtesan_fish&nbsp;1&nbsp;i_fish_minoc_blue&nbsp;1&nbsp;i_fish_britain_crown_fish&nbsp;1&nbsp;i_fish_red_dart_fish&nbsp;1&nbsp;i_fish_small_mouth_sucker_fin&nbsp;1&nbsp;i_fish_fandancer&nbsp;1&nbsp;i_fish_golden_broadtail&nbsp;1&nbsp;i_fish_albino_courtesan_fish&nbsp;1&nbsp;i_fish_spined_scratcher_fish&nbsp;1&nbsp;i_fish_nujelm_honey&nbsp;1&nbsp;i_fish_yellow_fin_bluebelly&nbsp;1&nbsp;i_fish_vesper_reef_tiger&nbsp;1&nbsp;i_fish_spotted_bucaneer&nbsp;1&nbsp;i_fish_stripped_flake_fish&nbsp;1</span><span style="color: #007700">}<br /><br />[</span><span style="color: #0000BB">TEMPLATE&nbsp;random_cannibalized_fish</span><span style="color: #007700">]<br /></span><span style="color: #0000BB">ITEM</span><span style="color: #007700">={</span><span style="color: #0000BB">03b0c&nbsp;1&nbsp;i_fish_raw_whole&nbsp;1&nbsp;i_fish_raw_headless&nbsp;1&nbsp;i_fish_raw_head</span><span style="color: #007700">}<br /><br />[</span><span style="color: #0000BB">TEMPLATE&nbsp;random_crustacean</span><span style="color: #007700">]<br /></span><span style="color: #0000BB">ITEM</span><span style="color: #007700">={</span><span style="color: #0000BB">i_fish_crab&nbsp;1&nbsp;044d2&nbsp;1&nbsp;i_fish_lobster&nbsp;1&nbsp;044d4&nbsp;1&nbsp;i_seahorse&nbsp;1&nbsp;i_shrimp_brine&nbsp;1&nbsp;i_jellyfish&nbsp;1&nbsp;i_crab_speckled&nbsp;1&nbsp;i_shrimp&nbsp;1</span><span style="color: #007700">}<br /><br /><br /></span><span style="color: #FF8000">//////////////////////////////////////////////////////////////////////////////////////////////<br />///////&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Items&nbsp;-&nbsp;i_net/i_lobster_cage/i_rope<br />//////////////////////////////////////////////////////////////////////////////////////////////<br />//fishing&nbsp;net<br /></span><span style="color: #007700">[</span><span style="color: #0000BB">ITEMDEF&nbsp;01ea3</span><span style="color: #007700">]<br /></span><span style="color: #0000BB">DEFNAME</span><span style="color: #007700">=</span><span style="color: #0000BB">i_net<br />NAME</span><span style="color: #007700">=</span><span style="color: #0000BB">Fishing&nbsp;Net<br />FLIP</span><span style="color: #007700">=</span><span style="color: #0000BB">1<br />WEIGHT</span><span style="color: #007700">=</span><span style="color: #0000BB">50.0<br />VALUE</span><span style="color: #007700">=</span><span style="color: #0000BB">65<br />RESOURCES</span><span style="color: #007700">=</span><span style="color: #0000BB">10&nbsp;i_rope</span><span style="color: #007700">,</span><span style="color: #0000BB">10&nbsp;i_thread</span><span style="color: #007700">,</span><span style="color: #0000BB">8&nbsp;i_fishing_weight</span><span style="color: #007700">,</span><span style="color: #0000BB">1&nbsp;i_sewing_kit<br />SKILLMAKE</span><span style="color: #007700">=</span><span style="color: #0000BB">Tailoring&nbsp;50.0</span><span style="color: #007700">,</span><span style="color: #0000BB">Tinkering&nbsp;30.0</span><span style="color: #007700">,</span><span style="color: #0000BB">t_tinker_tools<br />CATEGORY</span><span style="color: #007700">=</span><span style="color: #0000BB">Items&nbsp;by&nbsp;Professions<br />SUBSECTION</span><span style="color: #007700">=</span><span style="color: #0000BB">Fisherman<br />DESCRIPTION</span><span style="color: #007700">=</span><span style="color: #0000BB">Weighted&nbsp;Fishing&nbsp;Net<br />DUPELIST</span><span style="color: #007700">=</span><span style="color: #0000BB">01ea4</span><span style="color: #007700">,</span><span style="color: #0000BB">01ea5</span><span style="color: #007700">,</span><span style="color: #0000BB">01ea6</span><span style="color: #007700">,</span><span style="color: #0000BB">03d8e</span><span style="color: #007700">,</span><span style="color: #0000BB">03d8f<br />ON</span><span style="color: #007700">=@</span><span style="color: #0000BB">Create<br />&nbsp;&nbsp;&nbsp;&nbsp;UsesMax</span><span style="color: #007700">=</span><span style="color: #0000BB">25<br />&nbsp;&nbsp;&nbsp;&nbsp;TAG</span><span style="color: #007700">.</span><span style="color: #0000BB">_bait_type&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">t_meat_raw<br />&nbsp;&nbsp;&nbsp;&nbsp;TAG0</span><span style="color: #007700">.</span><span style="color: #0000BB">_bait_skill_difficulty&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">30<br />&nbsp;&nbsp;&nbsp;&nbsp;TAG</span><span style="color: #007700">.</span><span style="color: #0000BB">_sea_critter_catch_difficulty&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">50<br />&nbsp;&nbsp;&nbsp;&nbsp;TAG0</span><span style="color: #007700">.</span><span style="color: #0000BB">_max_catch&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">6<br />&nbsp;&nbsp;&nbsp;&nbsp;TAG</span><span style="color: #007700">.</span><span style="color: #0000BB">_sea_critters&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">random_fish<br />&nbsp;&nbsp;&nbsp;&nbsp;EVENTs&nbsp;</span><span style="color: #007700">+</span><span style="color: #0000BB">e_declining_uses<br />&nbsp;&nbsp;&nbsp;&nbsp;EVENTs&nbsp;</span><span style="color: #007700">+</span><span style="color: #0000BB">e_sea_trapping&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #FF8000">//lobster&nbsp;trap&nbsp;&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #007700">[</span><span style="color: #0000BB">ITEMDEF&nbsp;044cf</span><span style="color: #007700">]<br /></span><span style="color: #0000BB">DEFNAME</span><span style="color: #007700">=</span><span style="color: #0000BB">i_lobster_cage<br />NAME</span><span style="color: #007700">=</span><span style="color: #0000BB">lobster&nbsp;cage<br />FLIP</span><span style="color: #007700">=</span><span style="color: #0000BB">1<br />WEIGHT</span><span style="color: #007700">=</span><span style="color: #0000BB">25.0<br />VALUE</span><span style="color: #007700">=</span><span style="color: #0000BB">45<br />RESOURCES</span><span style="color: #007700">=</span><span style="color: #0000BB">4&nbsp;i_board</span><span style="color: #007700">,</span><span style="color: #0000BB">10&nbsp;i_thread</span><span style="color: #007700">,</span><span style="color: #0000BB">4&nbsp;i_fishing_weight</span><span style="color: #007700">,</span><span style="color: #0000BB">1&nbsp;i_sewing_kit<br />SKILLMAKE</span><span style="color: #007700">=</span><span style="color: #0000BB">Tinkering&nbsp;20.0</span><span style="color: #007700">,</span><span style="color: #0000BB">Tailoring&nbsp;40.0</span><span style="color: #007700">,</span><span style="color: #0000BB">Carpentry&nbsp;30.0</span><span style="color: #007700">,</span><span style="color: #0000BB">t_tinker_tools<br />CATEGORY</span><span style="color: #007700">=</span><span style="color: #0000BB">Items&nbsp;by&nbsp;Professions<br />SUBSECTION</span><span style="color: #007700">=</span><span style="color: #0000BB">Fisherman<br />DESCRIPTION</span><span style="color: #007700">=</span><span style="color: #0000BB">Lobster&nbsp;Cage<br />DUPELIST</span><span style="color: #007700">=</span><span style="color: #0000BB">044d0<br />ON</span><span style="color: #007700">=@</span><span style="color: #0000BB">Create<br />&nbsp;&nbsp;&nbsp;&nbsp;UsesMax</span><span style="color: #007700">=</span><span style="color: #0000BB">25<br />&nbsp;&nbsp;&nbsp;&nbsp;TAG</span><span style="color: #007700">.</span><span style="color: #0000BB">_bait_type&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">t_meat_raw<br />&nbsp;&nbsp;&nbsp;&nbsp;TAG0</span><span style="color: #007700">.</span><span style="color: #0000BB">_bait_skill_difficulty&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">30<br />&nbsp;&nbsp;&nbsp;&nbsp;TAG</span><span style="color: #007700">.</span><span style="color: #0000BB">_sea_critter_catch_difficulty&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">50<br />&nbsp;&nbsp;&nbsp;&nbsp;TAG0</span><span style="color: #007700">.</span><span style="color: #0000BB">_max_catch&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">4<br />&nbsp;&nbsp;&nbsp;&nbsp;TAG</span><span style="color: #007700">.</span><span style="color: #0000BB">_sea_critters&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">random_crustacean<br />&nbsp;&nbsp;&nbsp;&nbsp;EVENTs&nbsp;</span><span style="color: #007700">+</span><span style="color: #0000BB">e_declining_uses<br />&nbsp;&nbsp;&nbsp;&nbsp;EVENTs&nbsp;</span><span style="color: #007700">+</span><span style="color: #0000BB">e_sea_trapping<br />&nbsp;&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #FF8000">//rope<br /></span><span style="color: #007700">[</span><span style="color: #0000BB">ITEMDEF&nbsp;014f8</span><span style="color: #007700">]<br /></span><span style="color: #0000BB">DEFNAME</span><span style="color: #007700">=</span><span style="color: #0000BB">i_rope<br />FLIP</span><span style="color: #007700">=</span><span style="color: #0000BB">1<br />WEIGHT</span><span style="color: #007700">=</span><span style="color: #0000BB">20<br />TYPE</span><span style="color: #007700">=</span><span style="color: #0000BB">t_rope<br />VALUE</span><span style="color: #007700">=</span><span style="color: #0000BB">25<br />RESOURCES</span><span style="color: #007700">=</span><span style="color: #0000BB">40&nbsp;i_thread<br />SKILLMAKE</span><span style="color: #007700">=</span><span style="color: #0000BB">Tinkering&nbsp;21.0</span><span style="color: #007700">,</span><span style="color: #0000BB">Tailoring&nbsp;40.0</span><span style="color: #007700">,</span><span style="color: #0000BB">t_tinker_tools&nbsp;<br />CATEGORY</span><span style="color: #007700">=</span><span style="color: #0000BB">Decoration&nbsp;</span><span style="color: #007700">-&nbsp;</span><span style="color: #0000BB">Miscellaneous<br />SUBSECTION</span><span style="color: #007700">=</span><span style="color: #0000BB">Nautical<br />DESCRIPTION</span><span style="color: #007700">=</span><span style="color: #0000BB">Rope&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">W</span><span style="color: #007700">)<br /></span><span style="color: #0000BB">DUPELIST</span><span style="color: #007700">=</span><span style="color: #0000BB">014fa<br />ON</span><span style="color: #007700">=@</span><span style="color: #0000BB">Create<br />&nbsp;&nbsp;&nbsp;&nbsp;UsesMax</span><span style="color: #007700">=</span><span style="color: #0000BB">25<br />&nbsp;&nbsp;&nbsp;&nbsp;EVENTs&nbsp;</span><span style="color: #007700">+</span><span style="color: #0000BB">e_declining_uses<br />&nbsp;&nbsp;&nbsp;&nbsp;EVENTs&nbsp;</span><span style="color: #007700">+</span><span style="color: #0000BB">e_rope_buoy<br />&nbsp;&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #FF8000">//////////////////////////////////////////////////////////////////////////////////////////////<br />///////&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Events<br />//////////////////////////////////////////////////////////////////////////////////////////////<br /><br />/////////////////////////////////////////////////////<br />////&nbsp;EVENT/TYPEDEF&nbsp;e_sea_trapping<br />////&nbsp;-our&nbsp;event&nbsp;handler&nbsp;for&nbsp;ON=@&nbsp;DClick/TargOn_Ground<br />////&nbsp;-enforces&nbsp;targeting&nbsp;of&nbsp;water&nbsp;tiles&nbsp;only<br />////&nbsp;-verifies&nbsp;user&nbsp;has&nbsp;the&nbsp;proper&nbsp;bait<br />////&nbsp;-moves&nbsp;item&nbsp;to&nbsp;target&nbsp;location,&nbsp;makes&nbsp;it&nbsp;sink<br />////&nbsp;-adds&nbsp;a&nbsp;buoy&nbsp;at&nbsp;location,&nbsp;sets&nbsp;buoys&nbsp;properties<br />////&nbsp;-links&nbsp;buoy&nbsp;to&nbsp;item<br />////&nbsp;&nbsp;&nbsp;&nbsp;-requires&nbsp;the&nbsp;below-<br />////&nbsp;&nbsp;&nbsp;&nbsp;TAG._bait_type&nbsp;=&nbsp;the&nbsp;bait&nbsp;type&nbsp;(t_meat_raw)<br />////&nbsp;&nbsp;&nbsp;&nbsp;TAG0._bait_skill_difficulty&nbsp;=&nbsp;fishing&nbsp;test&nbsp;to&nbsp;bait&nbsp;(30)<br />////&nbsp;&nbsp;&nbsp;&nbsp;TAG._sea_critter_catch_difficulty&nbsp;=&nbsp;fishing&nbsp;test&nbsp;to&nbsp;catch&nbsp;critters&nbsp;(50)<br />////&nbsp;&nbsp;&nbsp;&nbsp;TAG0._max_catch&nbsp;=&nbsp;max&nbsp;amount&nbsp;of&nbsp;catch&nbsp;(4)<br />////&nbsp;&nbsp;&nbsp;&nbsp;TAG._sea_critters&nbsp;=&nbsp;critter&nbsp;template&nbsp;(random_crustacean)<br />/////////////////////////////////////////////////////<br /></span><span style="color: #007700">[</span><span style="color: #0000BB">TYPEDEF&nbsp;e_sea_trapping</span><span style="color: #007700">]<br /></span><span style="color: #0000BB">ON</span><span style="color: #007700">=@</span><span style="color: #0000BB">DClick<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//target&nbsp;to&nbsp;place&nbsp;item&nbsp;in&nbsp;water<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">TARGETG&nbsp;Select&nbsp;deep&nbsp;water&nbsp;to&nbsp;place&nbsp;</span><span style="color: #007700">&lt;</span><span style="color: #0000BB">name</span><span style="color: #007700">&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;RETURN&nbsp;</span><span style="color: #0000BB">1<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />ON</span><span style="color: #007700">=@</span><span style="color: #0000BB">TargOn_Ground<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//make&nbsp;sure&nbsp;water&nbsp;tile&nbsp;was&nbsp;choosen<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">IF&nbsp;((&lt;</span><span style="color: #0000BB">serv</span><span style="color: #007700">.</span><span style="color: #0000BB">map</span><span style="color: #007700">(&lt;</span><span style="color: #0000BB">src</span><span style="color: #007700">.</span><span style="color: #0000BB">targp</span><span style="color: #007700">.</span><span style="color: #0000BB">x</span><span style="color: #007700">&gt;,&lt;</span><span style="color: #0000BB">src</span><span style="color: #007700">.</span><span style="color: #0000BB">targp</span><span style="color: #007700">.</span><span style="color: #0000BB">y</span><span style="color: #007700">&gt;).</span><span style="color: #0000BB">type</span><span style="color: #007700">&gt;!=</span><span style="color: #0000BB">t_normal</span><span style="color: #007700">)&nbsp;||&nbsp;(&lt;</span><span style="color: #0000BB">serv</span><span style="color: #007700">.</span><span style="color: #0000BB">map</span><span style="color: #007700">(&lt;</span><span style="color: #0000BB">src</span><span style="color: #007700">.</span><span style="color: #0000BB">targp</span><span style="color: #007700">.</span><span style="color: #0000BB">x</span><span style="color: #007700">&gt;,&lt;</span><span style="color: #0000BB">src</span><span style="color: #007700">.</span><span style="color: #0000BB">targp</span><span style="color: #007700">.</span><span style="color: #0000BB">y</span><span style="color: #007700">&gt;).</span><span style="color: #0000BB">statics.0</span><span style="color: #007700">.</span><span style="color: #0000BB">dispid</span><span style="color: #007700">&gt;!=</span><span style="color: #0000BB">i_water</span><span style="color: #007700">))<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">src</span><span style="color: #007700">.</span><span style="color: #0000BB">sysmessage&nbsp;</span><span style="color: #007700">&lt;</span><span style="color: #0000BB">name</span><span style="color: #007700">&gt;&nbsp;</span><span style="color: #0000BB">can&nbsp;only&nbsp;be&nbsp;placed&nbsp;in&nbsp;deep&nbsp;water</span><span style="color: #007700">.<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">1<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">ENDIF&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//make&nbsp;sure&nbsp;we&nbsp;have&nbsp;bait<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">IF&nbsp;!(&lt;</span><span style="color: #0000BB">src</span><span style="color: #007700">.</span><span style="color: #0000BB">findtype</span><span style="color: #007700">.&lt;</span><span style="color: #0000BB">TAG0</span><span style="color: #007700">.</span><span style="color: #0000BB">_bait_type</span><span style="color: #007700">&gt;&gt;)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">src</span><span style="color: #007700">.</span><span style="color: #0000BB">sysmessage&nbsp;You&nbsp;have&nbsp;no&nbsp;raw&nbsp;bait</span><span style="color: #007700">.<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">1<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">ENDIF<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">local</span><span style="color: #007700">.</span><span style="color: #0000BB">_bait&nbsp;</span><span style="color: #007700">=&nbsp;&lt;</span><span style="color: #0000BB">src</span><span style="color: #007700">.</span><span style="color: #0000BB">findtype</span><span style="color: #007700">.&lt;</span><span style="color: #0000BB">TAG0</span><span style="color: #007700">.</span><span style="color: #0000BB">_bait_type</span><span style="color: #007700">&gt;&gt;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//pass&nbsp;a&nbsp;fishing&nbsp;check&nbsp;to&nbsp;properly&nbsp;bait&nbsp;the&nbsp;net<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">if&nbsp;!(&lt;</span><span style="color: #0000BB">src</span><span style="color: #007700">.</span><span style="color: #0000BB">skillcheck&nbsp;18</span><span style="color: #007700">,&lt;</span><span style="color: #0000BB">dTAG0</span><span style="color: #007700">.</span><span style="color: #0000BB">_bait_skill_difficulty</span><span style="color: #007700">&gt;&gt;)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">src</span><span style="color: #007700">.</span><span style="color: #0000BB">sysmessage&nbsp;You&nbsp;failed&nbsp;to&nbsp;bait&nbsp;the&nbsp;</span><span style="color: #007700">&lt;</span><span style="color: #0000BB">name</span><span style="color: #007700">&gt;&nbsp;</span><span style="color: #0000BB">properly</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">src</span><span style="color: #007700">.</span><span style="color: #0000BB">skillgain&nbsp;18</span><span style="color: #007700">,&lt;</span><span style="color: #0000BB">dTAG0</span><span style="color: #007700">.</span><span style="color: #0000BB">_bait_skill_difficulty</span><span style="color: #007700">&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">1<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">endif<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">src</span><span style="color: #007700">.</span><span style="color: #0000BB">skillgain&nbsp;18</span><span style="color: #007700">,&lt;</span><span style="color: #0000BB">dTAG0</span><span style="color: #007700">.</span><span style="color: #0000BB">_bait_skill_difficulty</span><span style="color: #007700">&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//remove&nbsp;bait<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">UID</span><span style="color: #007700">.&lt;</span><span style="color: #0000BB">local</span><span style="color: #007700">.</span><span style="color: #0000BB">_bait</span><span style="color: #007700">&gt;.</span><span style="color: #0000BB">consume&nbsp;1<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//place&nbsp;item&nbsp;in&nbsp;water<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">p&nbsp;</span><span style="color: #007700">=&nbsp;&lt;</span><span style="color: #0000BB">src</span><span style="color: #007700">.</span><span style="color: #0000BB">targp</span><span style="color: #007700">&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//add&nbsp;splash&nbsp;effect&nbsp;&amp;&nbsp;sound<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">serv</span><span style="color: #007700">.</span><span style="color: #0000BB">newitem&nbsp;01fa3<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">new.</span><span style="color: #0000BB">p&nbsp;</span><span style="color: #007700">=&nbsp;&lt;</span><span style="color: #0000BB">p</span><span style="color: #007700">.</span><span style="color: #0000BB">x</span><span style="color: #007700">&gt;,&lt;eval&nbsp;&lt;</span><span style="color: #0000BB">p</span><span style="color: #007700">.</span><span style="color: #0000BB">y</span><span style="color: #007700">&gt;-</span><span style="color: #0000BB">1</span><span style="color: #007700">&gt;,&lt;</span><span style="color: #0000BB">p</span><span style="color: #007700">.</span><span style="color: #0000BB">z</span><span style="color: #007700">&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;new.</span><span style="color: #0000BB">attr&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">attr_decay</span><span style="color: #007700">|</span><span style="color: #0000BB">attr_static<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">new.</span><span style="color: #0000BB">timer&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">3<br />&nbsp;&nbsp;&nbsp;&nbsp;serv</span><span style="color: #007700">.</span><span style="color: #0000BB">newitem&nbsp;01fa8&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">new.</span><span style="color: #0000BB">p&nbsp;</span><span style="color: #007700">=&nbsp;&lt;eval&nbsp;&lt;</span><span style="color: #0000BB">p</span><span style="color: #007700">.</span><span style="color: #0000BB">x</span><span style="color: #007700">&gt;-</span><span style="color: #0000BB">1</span><span style="color: #007700">&gt;,&lt;</span><span style="color: #0000BB">p</span><span style="color: #007700">.</span><span style="color: #0000BB">y</span><span style="color: #007700">&gt;,&lt;</span><span style="color: #0000BB">p</span><span style="color: #007700">.</span><span style="color: #0000BB">z</span><span style="color: #007700">&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;new.</span><span style="color: #0000BB">attr&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">attr_decay</span><span style="color: #007700">|</span><span style="color: #0000BB">attr_static<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">new.</span><span style="color: #0000BB">timer&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">3<br />&nbsp;&nbsp;&nbsp;&nbsp;serv</span><span style="color: #007700">.</span><span style="color: #0000BB">newitem&nbsp;01fad&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">new.</span><span style="color: #0000BB">p&nbsp;</span><span style="color: #007700">=&nbsp;&lt;eval&nbsp;&lt;</span><span style="color: #0000BB">p</span><span style="color: #007700">.</span><span style="color: #0000BB">x</span><span style="color: #007700">&gt;+</span><span style="color: #0000BB">1</span><span style="color: #007700">&gt;,&lt;</span><span style="color: #0000BB">p</span><span style="color: #007700">.</span><span style="color: #0000BB">y</span><span style="color: #007700">&gt;,&lt;</span><span style="color: #0000BB">p</span><span style="color: #007700">.</span><span style="color: #0000BB">z</span><span style="color: #007700">&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;new.</span><span style="color: #0000BB">attr&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">attr_decay</span><span style="color: #007700">|</span><span style="color: #0000BB">attr_static<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">new.</span><span style="color: #0000BB">timer&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">3<br />&nbsp;&nbsp;&nbsp;&nbsp;serv</span><span style="color: #007700">.</span><span style="color: #0000BB">newitem&nbsp;01fb6&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">new.</span><span style="color: #0000BB">p&nbsp;</span><span style="color: #007700">=&nbsp;&lt;</span><span style="color: #0000BB">p</span><span style="color: #007700">.</span><span style="color: #0000BB">x</span><span style="color: #007700">&gt;,&lt;eval&nbsp;&lt;</span><span style="color: #0000BB">p</span><span style="color: #007700">.</span><span style="color: #0000BB">y</span><span style="color: #007700">&gt;+</span><span style="color: #0000BB">1</span><span style="color: #007700">&gt;,&lt;</span><span style="color: #0000BB">p</span><span style="color: #007700">.</span><span style="color: #0000BB">z</span><span style="color: #007700">&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;new.</span><span style="color: #0000BB">attr&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">attr_decay</span><span style="color: #007700">|</span><span style="color: #0000BB">attr_static<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">new.</span><span style="color: #0000BB">timer&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">3<br />&nbsp;&nbsp;&nbsp;&nbsp;sfx&nbsp;027&nbsp;</span><span style="color: #FF8000">//splash<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;//sink&nbsp;item&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">timerf&nbsp;1&nbsp;f_sink_item&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//add&nbsp;a&nbsp;buoy,&nbsp;set&nbsp;it's&nbsp;properties<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">serv</span><span style="color: #007700">.</span><span style="color: #0000BB">newitem&nbsp;i_lobster_buoy<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">new.</span><span style="color: #0000BB">name&nbsp;</span><span style="color: #007700">=&nbsp;&lt;</span><span style="color: #0000BB">name</span><span style="color: #007700">&gt;&nbsp;</span><span style="color: #0000BB">Buoy<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">new.</span><span style="color: #0000BB">p&nbsp;</span><span style="color: #007700">=&nbsp;&lt;</span><span style="color: #0000BB">p</span><span style="color: #007700">&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;new.</span><span style="color: #0000BB">attr&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">attr_move_never<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">new.</span><span style="color: #0000BB">events&nbsp;</span><span style="color: #007700">+</span><span style="color: #0000BB">e_sea_trapping_retrieval<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">new.</span><span style="color: #0000BB">link&nbsp;</span><span style="color: #007700">=&nbsp;&lt;</span><span style="color: #0000BB">uid</span><span style="color: #007700">&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">1<br /><br /></span><span style="color: #FF8000">/////////////////////////////////////////////////////<br />////&nbsp;FUNCTION&nbsp;f_sink_item<br />////&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;all&nbsp;this&nbsp;does&nbsp;is&nbsp;make&nbsp;the&nbsp;item&nbsp;invisible&nbsp;&amp;&nbsp;static<br />////&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;so&nbsp;it&nbsp;looks&nbsp;to&nbsp;have&nbsp;sunk<br />/////////////////////////////////////////////////////<br /></span><span style="color: #007700">[FUNCTION&nbsp;</span><span style="color: #0000BB">f_sink_item</span><span style="color: #007700">]&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//make&nbsp;item&nbsp;invisible<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">attr&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">attr_invis</span><span style="color: #007700">|</span><span style="color: #0000BB">attr_static<br />&nbsp;&nbsp;&nbsp;&nbsp;updatex<br />&nbsp;&nbsp;&nbsp;&nbsp;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #FF8000">/////////////////////////////////////////////////////<br />////&nbsp;EVENT/TYPEDEF&nbsp;e_sea_trapping_retrieval<br />////&nbsp;-our&nbsp;event&nbsp;handler&nbsp;for&nbsp;ON=@&nbsp;DClick<br />////&nbsp;-makes&nbsp;linked&nbsp;item&nbsp;visible&nbsp;and&nbsp;back&nbsp;in&nbsp;inventory<br />////&nbsp;-removes&nbsp;bouy<br />////&nbsp;-runs&nbsp;a&nbsp;loop&nbsp;at&nbsp;random&nbsp;amounts&nbsp;creating&nbsp;critters&nbsp;each&nbsp;interval<br />////&nbsp;&nbsp;&nbsp;&nbsp;when&nbsp;a&nbsp;fishing&nbsp;test&nbsp;is&nbsp;passed.<br />////&nbsp;&nbsp;&nbsp;&nbsp;-requires&nbsp;the&nbsp;below&nbsp;on&nbsp;the&nbsp;linked&nbsp;object-<br />////&nbsp;&nbsp;&nbsp;&nbsp;TAG._sea_critter_catch_difficulty&nbsp;=&nbsp;fishing&nbsp;test&nbsp;to&nbsp;catch&nbsp;critters&nbsp;(50)<br />////&nbsp;&nbsp;&nbsp;&nbsp;TAG0._max_catch&nbsp;=&nbsp;max&nbsp;amount&nbsp;of&nbsp;catch&nbsp;(4)<br />////&nbsp;&nbsp;&nbsp;&nbsp;TAG._sea_critters&nbsp;=&nbsp;criter&nbsp;template&nbsp;(random_crustacean)<br />/////////////////////////////////////////////////////&nbsp;&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #007700">[</span><span style="color: #0000BB">TYPEDEF&nbsp;e_sea_trapping_retrieval</span><span style="color: #007700">]<br /></span><span style="color: #0000BB">ON</span><span style="color: #007700">=@</span><span style="color: #0000BB">DClick<br />&nbsp;&nbsp;&nbsp;&nbsp;sfx&nbsp;05a4<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//make&nbsp;our&nbsp;item&nbsp;visible&nbsp;and&nbsp;able&nbsp;to&nbsp;decay<br />&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;&nbsp;&nbsp;&nbsp;move&nbsp;item&nbsp;to&nbsp;inventory<br />&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;remove&nbsp;buoy&nbsp;(this&nbsp;item)<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">link</span><span style="color: #007700">.</span><span style="color: #0000BB">attr&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">attr_decay&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;link</span><span style="color: #007700">.</span><span style="color: #0000BB">bounce<br />&nbsp;&nbsp;&nbsp;&nbsp;remove<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//pass&nbsp;fishing&nbsp;check&nbsp;to&nbsp;get&nbsp;fish&nbsp;(critters)<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">IF&nbsp;(&lt;</span><span style="color: #0000BB">src</span><span style="color: #007700">.</span><span style="color: #0000BB">skillcheck&nbsp;18</span><span style="color: #007700">,&lt;</span><span style="color: #0000BB">link</span><span style="color: #007700">.</span><span style="color: #0000BB">dTAG</span><span style="color: #007700">.</span><span style="color: #0000BB">_sea_critter_catch_difficulty</span><span style="color: #007700">&gt;&gt;)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;FOR&nbsp;</span><span style="color: #0000BB">1&nbsp;</span><span style="color: #007700">&lt;eval&nbsp;</span><span style="color: #0000BB">rand</span><span style="color: #007700">(&lt;</span><span style="color: #0000BB">link</span><span style="color: #007700">.</span><span style="color: #0000BB">dTAG0</span><span style="color: #007700">.</span><span style="color: #0000BB">_max_catch</span><span style="color: #007700">&gt;)+</span><span style="color: #0000BB">1</span><span style="color: #007700">&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">serv</span><span style="color: #007700">.</span><span style="color: #0000BB">newitem&nbsp;</span><span style="color: #007700">&lt;</span><span style="color: #0000BB">link</span><span style="color: #007700">.</span><span style="color: #0000BB">TAG</span><span style="color: #007700">.</span><span style="color: #0000BB">_sea_critters</span><span style="color: #007700">&gt;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//add&nbsp;critter<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">new.</span><span style="color: #0000BB">p&nbsp;</span><span style="color: #007700">=&nbsp;&lt;</span><span style="color: #0000BB">src</span><span style="color: #007700">.</span><span style="color: #0000BB">p</span><span style="color: #007700">&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ENDFOR<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">src</span><span style="color: #007700">.</span><span style="color: #0000BB">sysmessage&nbsp;Your&nbsp;</span><span style="color: #007700">&lt;</span><span style="color: #0000BB">link</span><span style="color: #007700">.</span><span style="color: #0000BB">name</span><span style="color: #007700">&gt;&nbsp;</span><span style="color: #0000BB">was&nbsp;full</span><span style="color: #007700">!<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;ELSE<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">src</span><span style="color: #007700">.</span><span style="color: #0000BB">sysmessage&nbsp;The&nbsp;</span><span style="color: #007700">&lt;</span><span style="color: #0000BB">link</span><span style="color: #007700">.</span><span style="color: #0000BB">name</span><span style="color: #007700">&gt;&nbsp;</span><span style="color: #0000BB">was&nbsp;</span><span style="color: #007700">empty.<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;ENDIF<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">src</span><span style="color: #007700">.</span><span style="color: #0000BB">skillgain&nbsp;18</span><span style="color: #007700">,&lt;</span><span style="color: #0000BB">link</span><span style="color: #007700">.</span><span style="color: #0000BB">dTAG0</span><span style="color: #007700">.</span><span style="color: #0000BB">_sea_critter_catch_difficulty</span><span style="color: #007700">&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">1<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #FF8000">/////////////////////////////////////////////////////<br />////&nbsp;EVENT/TYPEDEF&nbsp;e_declining_uses<br />////&nbsp;-our&nbsp;event&nbsp;handler&nbsp;for&nbsp;ON=@&nbsp;DClick<br />////&nbsp;-makes&nbsp;this&nbsp;item&nbsp;degrade&nbsp;when&nbsp;used<br />////&nbsp;-when&nbsp;degredation&nbsp;is&nbsp;0,&nbsp;item&nbsp;will&nbsp;break<br />////&nbsp;-warns&nbsp;the&nbsp;user&nbsp;when&nbsp;about&nbsp;to&nbsp;break<br />/////////////////////////////////////////////////////&nbsp;&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #007700">[</span><span style="color: #0000BB">TYPEDEF&nbsp;e_declining_uses</span><span style="color: #007700">]&nbsp;&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #0000BB">ON</span><span style="color: #007700">=@</span><span style="color: #0000BB">DClick<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//reduce&nbsp;uses<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">USESCUR&nbsp;</span><span style="color: #007700">--<br />&nbsp;&nbsp;&nbsp;&nbsp;IF&nbsp;(&lt;</span><span style="color: #0000BB">USESCUR</span><span style="color: #007700">&gt;&lt;=</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">destroy&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SRC</span><span style="color: #007700">.</span><span style="color: #0000BB">SYSMESSAGE&nbsp;Your&nbsp;</span><span style="color: #007700">&lt;</span><span style="color: #0000BB">name</span><span style="color: #007700">&gt;&nbsp;</span><span style="color: #0000BB">broke</span><span style="color: #007700">.<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">1<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">ENDIF<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//notify&nbsp;when&nbsp;close&nbsp;to&nbsp;breaking<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">IF&nbsp;(&lt;</span><span style="color: #0000BB">USESCUR</span><span style="color: #007700">&gt;&lt;=</span><span style="color: #0000BB">3</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">SRC</span><span style="color: #007700">.</span><span style="color: #0000BB">SYSMESSAGE&nbsp;Your&nbsp;</span><span style="color: #007700">&lt;</span><span style="color: #0000BB">name</span><span style="color: #007700">&gt;&nbsp;</span><span style="color: #0000BB">is&nbsp;going&nbsp;to&nbsp;</span><span style="color: #007700">break&nbsp;</span><span style="color: #0000BB">soon</span><span style="color: #007700">.<br />&nbsp;&nbsp;&nbsp;&nbsp;ENDIF<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #FF8000">/////////////////////////////////////////////////////<br />////&nbsp;EVENT/TYPEDEF&nbsp;e_rope_buoy<br />////&nbsp;-our&nbsp;event&nbsp;handler&nbsp;for&nbsp;ON=@&nbsp;DClick/TargOn_Item<br />////&nbsp;-enforces&nbsp;buoy&nbsp;targetting&nbsp;only<br />////&nbsp;-forces&nbsp;the&nbsp;buoy&nbsp;to&nbsp;be&nbsp;doubleclicked&nbsp;as&nbsp;if&nbsp;used<br />/////////////////////////////////////////////////////&nbsp;&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #007700">[</span><span style="color: #0000BB">TYPEDEF&nbsp;e_rope_buoy</span><span style="color: #007700">]&nbsp;&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #0000BB">ON</span><span style="color: #007700">=@</span><span style="color: #0000BB">DClick&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//target&nbsp;a&nbsp;buoy<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">TARGET&nbsp;Select&nbsp;buoy&nbsp;to&nbsp;rope&nbsp;in<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">RETURN&nbsp;</span><span style="color: #0000BB">1<br />ON</span><span style="color: #007700">=@</span><span style="color: #0000BB">TargOn_Item<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//only&nbsp;works&nbsp;on&nbsp;buoys<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">IF&nbsp;!(&lt;</span><span style="color: #0000BB">argo</span><span style="color: #007700">.</span><span style="color: #0000BB">defname</span><span style="color: #007700">&gt;==</span><span style="color: #0000BB">i_lobster_buoy</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">src</span><span style="color: #007700">.</span><span style="color: #0000BB">sysmessage&nbsp;Rope&nbsp;only&nbsp;works&nbsp;on&nbsp;buoys</span><span style="color: #007700">.<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">1<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">ENDIF<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//to&nbsp;far&nbsp;away<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">IF&nbsp;(&lt;</span><span style="color: #0000BB">src</span><span style="color: #007700">.</span><span style="color: #0000BB">distance&nbsp;</span><span style="color: #007700">&lt;</span><span style="color: #0000BB">argo</span><span style="color: #007700">&gt;&gt;&nbsp;&gt;&nbsp;</span><span style="color: #0000BB">6</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">src</span><span style="color: #007700">.</span><span style="color: #0000BB">sysmessage&nbsp;Too&nbsp;far&nbsp;away&nbsp;from&nbsp;buoy</span><span style="color: #007700">.<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">1<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">ENDIF<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//trigger/use&nbsp;buoy<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">argo</span><span style="color: #007700">.</span><span style="color: #0000BB">useitem<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">return&nbsp;</span><span style="color: #0000BB">1<br />&nbsp;&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #FF8000">//////////////////////////////////////////////////////////////////////////////////////////////<br />///////&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Items&nbsp;-&nbsp;Misc&nbsp;-&nbsp;previously&nbsp;undefined<br />//////////////////////////////////////////////////////////////////////////////////////////////&nbsp;&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #007700">[</span><span style="color: #0000BB">ITEMDEF&nbsp;03b10</span><span style="color: #007700">]<br /></span><span style="color: #0000BB">DEFNAME</span><span style="color: #007700">=</span><span style="color: #0000BB">i_seahorse<br />NAME</span><span style="color: #007700">=</span><span style="color: #0000BB">sea&nbsp;horse<br />TYPE</span><span style="color: #007700">=</span><span style="color: #0000BB">t_fish<br />VALUE</span><span style="color: #007700">=</span><span style="color: #0000BB">2<br />WEIGHT</span><span style="color: #007700">=</span><span style="color: #0000BB">1<br />ON</span><span style="color: #007700">=@</span><span style="color: #0000BB">Create<br />&nbsp;&nbsp;&nbsp;&nbsp;COLOR</span><span style="color: #007700">={</span><span style="color: #0000BB">0&nbsp;1&nbsp;colors_pink&nbsp;1&nbsp;colors_blue&nbsp;1&nbsp;colors_orange&nbsp;1&nbsp;colors_red&nbsp;1</span><span style="color: #007700">}<br /><br />[</span><span style="color: #0000BB">ITEMDEF&nbsp;03b11</span><span style="color: #007700">]<br /></span><span style="color: #0000BB">DEFNAME</span><span style="color: #007700">=</span><span style="color: #0000BB">i_shrimp_brine<br />NAME</span><span style="color: #007700">=</span><span style="color: #0000BB">brine&nbsp;shrimp<br />TYPE</span><span style="color: #007700">=</span><span style="color: #0000BB">t_fish<br />VALUE</span><span style="color: #007700">=</span><span style="color: #0000BB">2<br />WEIGHT</span><span style="color: #007700">=</span><span style="color: #0000BB">1<br /><br /></span><span style="color: #007700">[</span><span style="color: #0000BB">ITEMDEF&nbsp;03b0e</span><span style="color: #007700">]<br /></span><span style="color: #0000BB">DEFNAME</span><span style="color: #007700">=</span><span style="color: #0000BB">i_jellyfish<br />NAME</span><span style="color: #007700">=</span><span style="color: #0000BB">jellyfish<br />TYPE</span><span style="color: #007700">=</span><span style="color: #0000BB">t_fish<br />VALUE</span><span style="color: #007700">=</span><span style="color: #0000BB">2<br />WEIGHT</span><span style="color: #007700">=</span><span style="color: #0000BB">1<br />ON</span><span style="color: #007700">=@</span><span style="color: #0000BB">Create<br />&nbsp;&nbsp;&nbsp;&nbsp;COLOR</span><span style="color: #007700">={</span><span style="color: #0000BB">0&nbsp;1&nbsp;colors_pink&nbsp;1&nbsp;colors_blue&nbsp;1&nbsp;colors_green&nbsp;1</span><span style="color: #007700">}<br /><br />[</span><span style="color: #0000BB">ITEMDEF&nbsp;03afc</span><span style="color: #007700">]<br /></span><span style="color: #0000BB">DEFNAME</span><span style="color: #007700">=</span><span style="color: #0000BB">i_crab_speckled<br />NAME</span><span style="color: #007700">=</span><span style="color: #0000BB">speckled&nbsp;crab<br />TYPE</span><span style="color: #007700">=</span><span style="color: #0000BB">t_fish<br />VALUE</span><span style="color: #007700">=</span><span style="color: #0000BB">2<br />WEIGHT</span><span style="color: #007700">=</span><span style="color: #0000BB">1<br /><br /></span><span style="color: #007700">[</span><span style="color: #0000BB">ITEMDEF&nbsp;03b14</span><span style="color: #007700">]<br /></span><span style="color: #0000BB">DEFNAME</span><span style="color: #007700">=</span><span style="color: #0000BB">i_shrimp<br />NAME</span><span style="color: #007700">=</span><span style="color: #0000BB">shrimp<br />TYPE</span><span style="color: #007700">=</span><span style="color: #0000BB">t_fish<br />VALUE</span><span style="color: #007700">=</span><span style="color: #0000BB">2<br />WEIGHT</span><span style="color: #007700">=</span><span style="color: #0000BB">1<br /><br /></span><span style="color: #007700">[</span><span style="color: #0000BB">ITEMDEF&nbsp;03afd</span><span style="color: #007700">]<br /></span><span style="color: #0000BB">DEFNAME</span><span style="color: #007700">=</span><span style="color: #0000BB">i_fish_makoto_courtesan_fish<br />NAME</span><span style="color: #007700">=</span><span style="color: #0000BB">makoto&nbsp;courtesan&nbsp;fish<br />TYPE</span><span style="color: #007700">=</span><span style="color: #0000BB">t_fish<br />VALUE</span><span style="color: #007700">=</span><span style="color: #0000BB">2<br />WEIGHT</span><span style="color: #007700">=</span><span style="color: #0000BB">1<br /><br /></span><span style="color: #007700">[</span><span style="color: #0000BB">ITEMDEF&nbsp;03afe</span><span style="color: #007700">]<br /></span><span style="color: #0000BB">DEFNAME</span><span style="color: #007700">=</span><span style="color: #0000BB">i_fish_minoc_blue<br />NAME</span><span style="color: #007700">=</span><span style="color: #0000BB">Minoc&nbsp;blue&nbsp;fish<br />TYPE</span><span style="color: #007700">=</span><span style="color: #0000BB">t_fish<br />VALUE</span><span style="color: #007700">=</span><span style="color: #0000BB">2<br />WEIGHT</span><span style="color: #007700">=</span><span style="color: #0000BB">1<br /><br /></span><span style="color: #007700">[</span><span style="color: #0000BB">ITEMDEF&nbsp;03aff</span><span style="color: #007700">]<br /></span><span style="color: #0000BB">DEFNAME</span><span style="color: #007700">=</span><span style="color: #0000BB">i_fish_britain_crown_fish<br />NAME</span><span style="color: #007700">=</span><span style="color: #0000BB">Britain&nbsp;crown&nbsp;fish<br />TYPE</span><span style="color: #007700">=</span><span style="color: #0000BB">t_fish<br />VALUE</span><span style="color: #007700">=</span><span style="color: #0000BB">2<br />WEIGHT</span><span style="color: #007700">=</span><span style="color: #0000BB">1<br /><br /></span><span style="color: #007700">[</span><span style="color: #0000BB">ITEMDEF&nbsp;03b00</span><span style="color: #007700">]<br /></span><span style="color: #0000BB">DEFNAME</span><span style="color: #007700">=</span><span style="color: #0000BB">i_fish_red_dart_fish<br />NAME</span><span style="color: #007700">=</span><span style="color: #0000BB">red&nbsp;dart&nbsp;fish<br />TYPE</span><span style="color: #007700">=</span><span style="color: #0000BB">t_fish<br />VALUE</span><span style="color: #007700">=</span><span style="color: #0000BB">2<br />WEIGHT</span><span style="color: #007700">=</span><span style="color: #0000BB">1<br /><br /></span><span style="color: #007700">[</span><span style="color: #0000BB">ITEMDEF&nbsp;03b01</span><span style="color: #007700">]<br /></span><span style="color: #0000BB">DEFNAME</span><span style="color: #007700">=</span><span style="color: #0000BB">i_fish_small_mouth_sucker_fin<br />NAME</span><span style="color: #007700">=</span><span style="color: #0000BB">small&nbsp;mouth&nbsp;sucker&nbsp;fin<br />TYPE</span><span style="color: #007700">=</span><span style="color: #0000BB">t_fish<br />VALUE</span><span style="color: #007700">=</span><span style="color: #0000BB">2<br />WEIGHT</span><span style="color: #007700">=</span><span style="color: #0000BB">1<br /><br /></span><span style="color: #007700">[</span><span style="color: #0000BB">ITEMDEF&nbsp;03b02</span><span style="color: #007700">]<br /></span><span style="color: #0000BB">DEFNAME</span><span style="color: #007700">=</span><span style="color: #0000BB">i_fish_fandancer<br />NAME</span><span style="color: #007700">=</span><span style="color: #0000BB">fandancer&nbsp;fish<br />TYPE</span><span style="color: #007700">=</span><span style="color: #0000BB">t_fish<br />VALUE</span><span style="color: #007700">=</span><span style="color: #0000BB">2<br />WEIGHT</span><span style="color: #007700">=</span><span style="color: #0000BB">1<br /><br /></span><span style="color: #007700">[</span><span style="color: #0000BB">ITEMDEF&nbsp;03b03</span><span style="color: #007700">]<br /></span><span style="color: #0000BB">DEFNAME</span><span style="color: #007700">=</span><span style="color: #0000BB">i_fish_golden_broadtail<br />NAME</span><span style="color: #007700">=</span><span style="color: #0000BB">golden&nbsp;broadtail<br />TYPE</span><span style="color: #007700">=</span><span style="color: #0000BB">t_fish<br />VALUE</span><span style="color: #007700">=</span><span style="color: #0000BB">2<br />WEIGHT</span><span style="color: #007700">=</span><span style="color: #0000BB">1<br /><br /></span><span style="color: #007700">[</span><span style="color: #0000BB">ITEMDEF&nbsp;03b04</span><span style="color: #007700">]<br /></span><span style="color: #0000BB">DEFNAME</span><span style="color: #007700">=</span><span style="color: #0000BB">i_fish_albino_courtesan_fish<br />NAME</span><span style="color: #007700">=</span><span style="color: #0000BB">albino&nbsp;courtesan&nbsp;fish<br />TYPE</span><span style="color: #007700">=</span><span style="color: #0000BB">t_fish<br />VALUE</span><span style="color: #007700">=</span><span style="color: #0000BB">2<br />WEIGHT</span><span style="color: #007700">=</span><span style="color: #0000BB">1<br /><br /></span><span style="color: #007700">[</span><span style="color: #0000BB">ITEMDEF&nbsp;03b05</span><span style="color: #007700">]<br /></span><span style="color: #0000BB">DEFNAME</span><span style="color: #007700">=</span><span style="color: #0000BB">i_fish_spined_scratcher_fish<br />NAME</span><span style="color: #007700">=</span><span style="color: #0000BB">spined&nbsp;scratcher&nbsp;fish<br />TYPE</span><span style="color: #007700">=</span><span style="color: #0000BB">t_fish<br />VALUE</span><span style="color: #007700">=</span><span style="color: #0000BB">2<br />WEIGHT</span><span style="color: #007700">=</span><span style="color: #0000BB">1<br /><br /></span><span style="color: #007700">[</span><span style="color: #0000BB">ITEMDEF&nbsp;03b06</span><span style="color: #007700">]<br /></span><span style="color: #0000BB">DEFNAME</span><span style="color: #007700">=</span><span style="color: #0000BB">i_fish_nujelm_honey<br />NAME</span><span style="color: #007700">=</span><span style="color: #0000BB">Nujel</span><span style="color: #DD0000">'m&nbsp;honey&nbsp;fish<br />TYPE=t_fish<br />VALUE=2<br />WEIGHT=1<br /><br />[ITEMDEF&nbsp;03b07]<br />DEFNAME=i_fish_yellow_fin_bluebelly<br />NAME=yellow&nbsp;fin&nbsp;bluebelly<br />TYPE=t_fish<br />VALUE=2<br />WEIGHT=1<br /><br />[ITEMDEF&nbsp;03b08]<br />DEFNAME=i_fish_vesper_reef_tiger<br />NAME=Vesper&nbsp;reef&nbsp;tiger<br />TYPE=t_fish<br />VALUE=2<br />WEIGHT=1<br /><br />[ITEMDEF&nbsp;03b09]<br />DEFNAME=i_fish_spotted_bucaneer<br />NAME=spotted&nbsp;buccaneer<br />TYPE=t_fish<br />VALUE=2<br />WEIGHT=1<br /><br />[ITEMDEF&nbsp;03b0a]<br />DEFNAME=i_fish_stripped_flake_fish<br />NAME=stripped&nbsp;flake&nbsp;fish<br />TYPE=t_fish<br />VALUE=2<br />WEIGHT=1&nbsp;<br /></span></code></div></div></div>
<br />
Capes<br />
<br />
<br />
PS - the above works 100% for players, but when using an owner plevel account, the sinking effect does not work (???).]]></description>
			<content:encoded><![CDATA[I know someone else did this, but it wasn't complete and it was in a different language.  Here's my go at it!<br />
<br />
<br />
<br />
<div class="codeblock"><div class="title">PHP Code:<br />
</div><div class="body"><div dir="ltr"><code><span style="color: #FF8000">//////////////////////////////////////////////////////////////////////////////////////////////<br />///////&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Fishing&nbsp;-&nbsp;net&nbsp;&amp;&nbsp;lobster&nbsp;traps<br />///////&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;By:&nbsp;Capes&nbsp;last&nbsp;modified&nbsp;-&nbsp;2018-04-17&nbsp;0.56d<br />//////////////////////////////////////////////////////////////////////////////////////////////<br /></span><span style="color: #007700">[</span><span style="color: #0000BB">TEMPLATE&nbsp;random_fish</span><span style="color: #007700">]<br /></span><span style="color: #0000BB">ITEM</span><span style="color: #007700">={</span><span style="color: #0000BB">i_fish_big_1&nbsp;1&nbsp;i_fish_big_2&nbsp;1&nbsp;i_fish_big_3&nbsp;1&nbsp;i_fish_big_4&nbsp;1&nbsp;i_fish_small&nbsp;1&nbsp;0dd7&nbsp;1&nbsp;0dd8&nbsp;1&nbsp;0dd9&nbsp;1&nbsp;random_cannibalized_fish&nbsp;1&nbsp;random_special_fish&nbsp;1&nbsp;0dba&nbsp;1&nbsp;0dbb&nbsp;1</span><span style="color: #007700">}<br /><br />[</span><span style="color: #0000BB">TEMPLATE&nbsp;random_special_fish</span><span style="color: #007700">]<br /></span><span style="color: #0000BB">ITEM</span><span style="color: #007700">={</span><span style="color: #0000BB">i_fish_makoto_courtesan_fish&nbsp;1&nbsp;i_fish_minoc_blue&nbsp;1&nbsp;i_fish_britain_crown_fish&nbsp;1&nbsp;i_fish_red_dart_fish&nbsp;1&nbsp;i_fish_small_mouth_sucker_fin&nbsp;1&nbsp;i_fish_fandancer&nbsp;1&nbsp;i_fish_golden_broadtail&nbsp;1&nbsp;i_fish_albino_courtesan_fish&nbsp;1&nbsp;i_fish_spined_scratcher_fish&nbsp;1&nbsp;i_fish_nujelm_honey&nbsp;1&nbsp;i_fish_yellow_fin_bluebelly&nbsp;1&nbsp;i_fish_vesper_reef_tiger&nbsp;1&nbsp;i_fish_spotted_bucaneer&nbsp;1&nbsp;i_fish_stripped_flake_fish&nbsp;1</span><span style="color: #007700">}<br /><br />[</span><span style="color: #0000BB">TEMPLATE&nbsp;random_cannibalized_fish</span><span style="color: #007700">]<br /></span><span style="color: #0000BB">ITEM</span><span style="color: #007700">={</span><span style="color: #0000BB">03b0c&nbsp;1&nbsp;i_fish_raw_whole&nbsp;1&nbsp;i_fish_raw_headless&nbsp;1&nbsp;i_fish_raw_head</span><span style="color: #007700">}<br /><br />[</span><span style="color: #0000BB">TEMPLATE&nbsp;random_crustacean</span><span style="color: #007700">]<br /></span><span style="color: #0000BB">ITEM</span><span style="color: #007700">={</span><span style="color: #0000BB">i_fish_crab&nbsp;1&nbsp;044d2&nbsp;1&nbsp;i_fish_lobster&nbsp;1&nbsp;044d4&nbsp;1&nbsp;i_seahorse&nbsp;1&nbsp;i_shrimp_brine&nbsp;1&nbsp;i_jellyfish&nbsp;1&nbsp;i_crab_speckled&nbsp;1&nbsp;i_shrimp&nbsp;1</span><span style="color: #007700">}<br /><br /><br /></span><span style="color: #FF8000">//////////////////////////////////////////////////////////////////////////////////////////////<br />///////&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Items&nbsp;-&nbsp;i_net/i_lobster_cage/i_rope<br />//////////////////////////////////////////////////////////////////////////////////////////////<br />//fishing&nbsp;net<br /></span><span style="color: #007700">[</span><span style="color: #0000BB">ITEMDEF&nbsp;01ea3</span><span style="color: #007700">]<br /></span><span style="color: #0000BB">DEFNAME</span><span style="color: #007700">=</span><span style="color: #0000BB">i_net<br />NAME</span><span style="color: #007700">=</span><span style="color: #0000BB">Fishing&nbsp;Net<br />FLIP</span><span style="color: #007700">=</span><span style="color: #0000BB">1<br />WEIGHT</span><span style="color: #007700">=</span><span style="color: #0000BB">50.0<br />VALUE</span><span style="color: #007700">=</span><span style="color: #0000BB">65<br />RESOURCES</span><span style="color: #007700">=</span><span style="color: #0000BB">10&nbsp;i_rope</span><span style="color: #007700">,</span><span style="color: #0000BB">10&nbsp;i_thread</span><span style="color: #007700">,</span><span style="color: #0000BB">8&nbsp;i_fishing_weight</span><span style="color: #007700">,</span><span style="color: #0000BB">1&nbsp;i_sewing_kit<br />SKILLMAKE</span><span style="color: #007700">=</span><span style="color: #0000BB">Tailoring&nbsp;50.0</span><span style="color: #007700">,</span><span style="color: #0000BB">Tinkering&nbsp;30.0</span><span style="color: #007700">,</span><span style="color: #0000BB">t_tinker_tools<br />CATEGORY</span><span style="color: #007700">=</span><span style="color: #0000BB">Items&nbsp;by&nbsp;Professions<br />SUBSECTION</span><span style="color: #007700">=</span><span style="color: #0000BB">Fisherman<br />DESCRIPTION</span><span style="color: #007700">=</span><span style="color: #0000BB">Weighted&nbsp;Fishing&nbsp;Net<br />DUPELIST</span><span style="color: #007700">=</span><span style="color: #0000BB">01ea4</span><span style="color: #007700">,</span><span style="color: #0000BB">01ea5</span><span style="color: #007700">,</span><span style="color: #0000BB">01ea6</span><span style="color: #007700">,</span><span style="color: #0000BB">03d8e</span><span style="color: #007700">,</span><span style="color: #0000BB">03d8f<br />ON</span><span style="color: #007700">=@</span><span style="color: #0000BB">Create<br />&nbsp;&nbsp;&nbsp;&nbsp;UsesMax</span><span style="color: #007700">=</span><span style="color: #0000BB">25<br />&nbsp;&nbsp;&nbsp;&nbsp;TAG</span><span style="color: #007700">.</span><span style="color: #0000BB">_bait_type&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">t_meat_raw<br />&nbsp;&nbsp;&nbsp;&nbsp;TAG0</span><span style="color: #007700">.</span><span style="color: #0000BB">_bait_skill_difficulty&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">30<br />&nbsp;&nbsp;&nbsp;&nbsp;TAG</span><span style="color: #007700">.</span><span style="color: #0000BB">_sea_critter_catch_difficulty&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">50<br />&nbsp;&nbsp;&nbsp;&nbsp;TAG0</span><span style="color: #007700">.</span><span style="color: #0000BB">_max_catch&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">6<br />&nbsp;&nbsp;&nbsp;&nbsp;TAG</span><span style="color: #007700">.</span><span style="color: #0000BB">_sea_critters&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">random_fish<br />&nbsp;&nbsp;&nbsp;&nbsp;EVENTs&nbsp;</span><span style="color: #007700">+</span><span style="color: #0000BB">e_declining_uses<br />&nbsp;&nbsp;&nbsp;&nbsp;EVENTs&nbsp;</span><span style="color: #007700">+</span><span style="color: #0000BB">e_sea_trapping&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #FF8000">//lobster&nbsp;trap&nbsp;&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #007700">[</span><span style="color: #0000BB">ITEMDEF&nbsp;044cf</span><span style="color: #007700">]<br /></span><span style="color: #0000BB">DEFNAME</span><span style="color: #007700">=</span><span style="color: #0000BB">i_lobster_cage<br />NAME</span><span style="color: #007700">=</span><span style="color: #0000BB">lobster&nbsp;cage<br />FLIP</span><span style="color: #007700">=</span><span style="color: #0000BB">1<br />WEIGHT</span><span style="color: #007700">=</span><span style="color: #0000BB">25.0<br />VALUE</span><span style="color: #007700">=</span><span style="color: #0000BB">45<br />RESOURCES</span><span style="color: #007700">=</span><span style="color: #0000BB">4&nbsp;i_board</span><span style="color: #007700">,</span><span style="color: #0000BB">10&nbsp;i_thread</span><span style="color: #007700">,</span><span style="color: #0000BB">4&nbsp;i_fishing_weight</span><span style="color: #007700">,</span><span style="color: #0000BB">1&nbsp;i_sewing_kit<br />SKILLMAKE</span><span style="color: #007700">=</span><span style="color: #0000BB">Tinkering&nbsp;20.0</span><span style="color: #007700">,</span><span style="color: #0000BB">Tailoring&nbsp;40.0</span><span style="color: #007700">,</span><span style="color: #0000BB">Carpentry&nbsp;30.0</span><span style="color: #007700">,</span><span style="color: #0000BB">t_tinker_tools<br />CATEGORY</span><span style="color: #007700">=</span><span style="color: #0000BB">Items&nbsp;by&nbsp;Professions<br />SUBSECTION</span><span style="color: #007700">=</span><span style="color: #0000BB">Fisherman<br />DESCRIPTION</span><span style="color: #007700">=</span><span style="color: #0000BB">Lobster&nbsp;Cage<br />DUPELIST</span><span style="color: #007700">=</span><span style="color: #0000BB">044d0<br />ON</span><span style="color: #007700">=@</span><span style="color: #0000BB">Create<br />&nbsp;&nbsp;&nbsp;&nbsp;UsesMax</span><span style="color: #007700">=</span><span style="color: #0000BB">25<br />&nbsp;&nbsp;&nbsp;&nbsp;TAG</span><span style="color: #007700">.</span><span style="color: #0000BB">_bait_type&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">t_meat_raw<br />&nbsp;&nbsp;&nbsp;&nbsp;TAG0</span><span style="color: #007700">.</span><span style="color: #0000BB">_bait_skill_difficulty&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">30<br />&nbsp;&nbsp;&nbsp;&nbsp;TAG</span><span style="color: #007700">.</span><span style="color: #0000BB">_sea_critter_catch_difficulty&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">50<br />&nbsp;&nbsp;&nbsp;&nbsp;TAG0</span><span style="color: #007700">.</span><span style="color: #0000BB">_max_catch&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">4<br />&nbsp;&nbsp;&nbsp;&nbsp;TAG</span><span style="color: #007700">.</span><span style="color: #0000BB">_sea_critters&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">random_crustacean<br />&nbsp;&nbsp;&nbsp;&nbsp;EVENTs&nbsp;</span><span style="color: #007700">+</span><span style="color: #0000BB">e_declining_uses<br />&nbsp;&nbsp;&nbsp;&nbsp;EVENTs&nbsp;</span><span style="color: #007700">+</span><span style="color: #0000BB">e_sea_trapping<br />&nbsp;&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #FF8000">//rope<br /></span><span style="color: #007700">[</span><span style="color: #0000BB">ITEMDEF&nbsp;014f8</span><span style="color: #007700">]<br /></span><span style="color: #0000BB">DEFNAME</span><span style="color: #007700">=</span><span style="color: #0000BB">i_rope<br />FLIP</span><span style="color: #007700">=</span><span style="color: #0000BB">1<br />WEIGHT</span><span style="color: #007700">=</span><span style="color: #0000BB">20<br />TYPE</span><span style="color: #007700">=</span><span style="color: #0000BB">t_rope<br />VALUE</span><span style="color: #007700">=</span><span style="color: #0000BB">25<br />RESOURCES</span><span style="color: #007700">=</span><span style="color: #0000BB">40&nbsp;i_thread<br />SKILLMAKE</span><span style="color: #007700">=</span><span style="color: #0000BB">Tinkering&nbsp;21.0</span><span style="color: #007700">,</span><span style="color: #0000BB">Tailoring&nbsp;40.0</span><span style="color: #007700">,</span><span style="color: #0000BB">t_tinker_tools&nbsp;<br />CATEGORY</span><span style="color: #007700">=</span><span style="color: #0000BB">Decoration&nbsp;</span><span style="color: #007700">-&nbsp;</span><span style="color: #0000BB">Miscellaneous<br />SUBSECTION</span><span style="color: #007700">=</span><span style="color: #0000BB">Nautical<br />DESCRIPTION</span><span style="color: #007700">=</span><span style="color: #0000BB">Rope&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">W</span><span style="color: #007700">)<br /></span><span style="color: #0000BB">DUPELIST</span><span style="color: #007700">=</span><span style="color: #0000BB">014fa<br />ON</span><span style="color: #007700">=@</span><span style="color: #0000BB">Create<br />&nbsp;&nbsp;&nbsp;&nbsp;UsesMax</span><span style="color: #007700">=</span><span style="color: #0000BB">25<br />&nbsp;&nbsp;&nbsp;&nbsp;EVENTs&nbsp;</span><span style="color: #007700">+</span><span style="color: #0000BB">e_declining_uses<br />&nbsp;&nbsp;&nbsp;&nbsp;EVENTs&nbsp;</span><span style="color: #007700">+</span><span style="color: #0000BB">e_rope_buoy<br />&nbsp;&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #FF8000">//////////////////////////////////////////////////////////////////////////////////////////////<br />///////&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Events<br />//////////////////////////////////////////////////////////////////////////////////////////////<br /><br />/////////////////////////////////////////////////////<br />////&nbsp;EVENT/TYPEDEF&nbsp;e_sea_trapping<br />////&nbsp;-our&nbsp;event&nbsp;handler&nbsp;for&nbsp;ON=@&nbsp;DClick/TargOn_Ground<br />////&nbsp;-enforces&nbsp;targeting&nbsp;of&nbsp;water&nbsp;tiles&nbsp;only<br />////&nbsp;-verifies&nbsp;user&nbsp;has&nbsp;the&nbsp;proper&nbsp;bait<br />////&nbsp;-moves&nbsp;item&nbsp;to&nbsp;target&nbsp;location,&nbsp;makes&nbsp;it&nbsp;sink<br />////&nbsp;-adds&nbsp;a&nbsp;buoy&nbsp;at&nbsp;location,&nbsp;sets&nbsp;buoys&nbsp;properties<br />////&nbsp;-links&nbsp;buoy&nbsp;to&nbsp;item<br />////&nbsp;&nbsp;&nbsp;&nbsp;-requires&nbsp;the&nbsp;below-<br />////&nbsp;&nbsp;&nbsp;&nbsp;TAG._bait_type&nbsp;=&nbsp;the&nbsp;bait&nbsp;type&nbsp;(t_meat_raw)<br />////&nbsp;&nbsp;&nbsp;&nbsp;TAG0._bait_skill_difficulty&nbsp;=&nbsp;fishing&nbsp;test&nbsp;to&nbsp;bait&nbsp;(30)<br />////&nbsp;&nbsp;&nbsp;&nbsp;TAG._sea_critter_catch_difficulty&nbsp;=&nbsp;fishing&nbsp;test&nbsp;to&nbsp;catch&nbsp;critters&nbsp;(50)<br />////&nbsp;&nbsp;&nbsp;&nbsp;TAG0._max_catch&nbsp;=&nbsp;max&nbsp;amount&nbsp;of&nbsp;catch&nbsp;(4)<br />////&nbsp;&nbsp;&nbsp;&nbsp;TAG._sea_critters&nbsp;=&nbsp;critter&nbsp;template&nbsp;(random_crustacean)<br />/////////////////////////////////////////////////////<br /></span><span style="color: #007700">[</span><span style="color: #0000BB">TYPEDEF&nbsp;e_sea_trapping</span><span style="color: #007700">]<br /></span><span style="color: #0000BB">ON</span><span style="color: #007700">=@</span><span style="color: #0000BB">DClick<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//target&nbsp;to&nbsp;place&nbsp;item&nbsp;in&nbsp;water<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">TARGETG&nbsp;Select&nbsp;deep&nbsp;water&nbsp;to&nbsp;place&nbsp;</span><span style="color: #007700">&lt;</span><span style="color: #0000BB">name</span><span style="color: #007700">&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;RETURN&nbsp;</span><span style="color: #0000BB">1<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />ON</span><span style="color: #007700">=@</span><span style="color: #0000BB">TargOn_Ground<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//make&nbsp;sure&nbsp;water&nbsp;tile&nbsp;was&nbsp;choosen<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">IF&nbsp;((&lt;</span><span style="color: #0000BB">serv</span><span style="color: #007700">.</span><span style="color: #0000BB">map</span><span style="color: #007700">(&lt;</span><span style="color: #0000BB">src</span><span style="color: #007700">.</span><span style="color: #0000BB">targp</span><span style="color: #007700">.</span><span style="color: #0000BB">x</span><span style="color: #007700">&gt;,&lt;</span><span style="color: #0000BB">src</span><span style="color: #007700">.</span><span style="color: #0000BB">targp</span><span style="color: #007700">.</span><span style="color: #0000BB">y</span><span style="color: #007700">&gt;).</span><span style="color: #0000BB">type</span><span style="color: #007700">&gt;!=</span><span style="color: #0000BB">t_normal</span><span style="color: #007700">)&nbsp;||&nbsp;(&lt;</span><span style="color: #0000BB">serv</span><span style="color: #007700">.</span><span style="color: #0000BB">map</span><span style="color: #007700">(&lt;</span><span style="color: #0000BB">src</span><span style="color: #007700">.</span><span style="color: #0000BB">targp</span><span style="color: #007700">.</span><span style="color: #0000BB">x</span><span style="color: #007700">&gt;,&lt;</span><span style="color: #0000BB">src</span><span style="color: #007700">.</span><span style="color: #0000BB">targp</span><span style="color: #007700">.</span><span style="color: #0000BB">y</span><span style="color: #007700">&gt;).</span><span style="color: #0000BB">statics.0</span><span style="color: #007700">.</span><span style="color: #0000BB">dispid</span><span style="color: #007700">&gt;!=</span><span style="color: #0000BB">i_water</span><span style="color: #007700">))<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">src</span><span style="color: #007700">.</span><span style="color: #0000BB">sysmessage&nbsp;</span><span style="color: #007700">&lt;</span><span style="color: #0000BB">name</span><span style="color: #007700">&gt;&nbsp;</span><span style="color: #0000BB">can&nbsp;only&nbsp;be&nbsp;placed&nbsp;in&nbsp;deep&nbsp;water</span><span style="color: #007700">.<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">1<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">ENDIF&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//make&nbsp;sure&nbsp;we&nbsp;have&nbsp;bait<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">IF&nbsp;!(&lt;</span><span style="color: #0000BB">src</span><span style="color: #007700">.</span><span style="color: #0000BB">findtype</span><span style="color: #007700">.&lt;</span><span style="color: #0000BB">TAG0</span><span style="color: #007700">.</span><span style="color: #0000BB">_bait_type</span><span style="color: #007700">&gt;&gt;)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">src</span><span style="color: #007700">.</span><span style="color: #0000BB">sysmessage&nbsp;You&nbsp;have&nbsp;no&nbsp;raw&nbsp;bait</span><span style="color: #007700">.<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">1<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">ENDIF<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">local</span><span style="color: #007700">.</span><span style="color: #0000BB">_bait&nbsp;</span><span style="color: #007700">=&nbsp;&lt;</span><span style="color: #0000BB">src</span><span style="color: #007700">.</span><span style="color: #0000BB">findtype</span><span style="color: #007700">.&lt;</span><span style="color: #0000BB">TAG0</span><span style="color: #007700">.</span><span style="color: #0000BB">_bait_type</span><span style="color: #007700">&gt;&gt;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//pass&nbsp;a&nbsp;fishing&nbsp;check&nbsp;to&nbsp;properly&nbsp;bait&nbsp;the&nbsp;net<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">if&nbsp;!(&lt;</span><span style="color: #0000BB">src</span><span style="color: #007700">.</span><span style="color: #0000BB">skillcheck&nbsp;18</span><span style="color: #007700">,&lt;</span><span style="color: #0000BB">dTAG0</span><span style="color: #007700">.</span><span style="color: #0000BB">_bait_skill_difficulty</span><span style="color: #007700">&gt;&gt;)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">src</span><span style="color: #007700">.</span><span style="color: #0000BB">sysmessage&nbsp;You&nbsp;failed&nbsp;to&nbsp;bait&nbsp;the&nbsp;</span><span style="color: #007700">&lt;</span><span style="color: #0000BB">name</span><span style="color: #007700">&gt;&nbsp;</span><span style="color: #0000BB">properly</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">src</span><span style="color: #007700">.</span><span style="color: #0000BB">skillgain&nbsp;18</span><span style="color: #007700">,&lt;</span><span style="color: #0000BB">dTAG0</span><span style="color: #007700">.</span><span style="color: #0000BB">_bait_skill_difficulty</span><span style="color: #007700">&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">1<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">endif<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">src</span><span style="color: #007700">.</span><span style="color: #0000BB">skillgain&nbsp;18</span><span style="color: #007700">,&lt;</span><span style="color: #0000BB">dTAG0</span><span style="color: #007700">.</span><span style="color: #0000BB">_bait_skill_difficulty</span><span style="color: #007700">&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//remove&nbsp;bait<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">UID</span><span style="color: #007700">.&lt;</span><span style="color: #0000BB">local</span><span style="color: #007700">.</span><span style="color: #0000BB">_bait</span><span style="color: #007700">&gt;.</span><span style="color: #0000BB">consume&nbsp;1<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//place&nbsp;item&nbsp;in&nbsp;water<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">p&nbsp;</span><span style="color: #007700">=&nbsp;&lt;</span><span style="color: #0000BB">src</span><span style="color: #007700">.</span><span style="color: #0000BB">targp</span><span style="color: #007700">&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//add&nbsp;splash&nbsp;effect&nbsp;&amp;&nbsp;sound<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">serv</span><span style="color: #007700">.</span><span style="color: #0000BB">newitem&nbsp;01fa3<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">new.</span><span style="color: #0000BB">p&nbsp;</span><span style="color: #007700">=&nbsp;&lt;</span><span style="color: #0000BB">p</span><span style="color: #007700">.</span><span style="color: #0000BB">x</span><span style="color: #007700">&gt;,&lt;eval&nbsp;&lt;</span><span style="color: #0000BB">p</span><span style="color: #007700">.</span><span style="color: #0000BB">y</span><span style="color: #007700">&gt;-</span><span style="color: #0000BB">1</span><span style="color: #007700">&gt;,&lt;</span><span style="color: #0000BB">p</span><span style="color: #007700">.</span><span style="color: #0000BB">z</span><span style="color: #007700">&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;new.</span><span style="color: #0000BB">attr&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">attr_decay</span><span style="color: #007700">|</span><span style="color: #0000BB">attr_static<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">new.</span><span style="color: #0000BB">timer&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">3<br />&nbsp;&nbsp;&nbsp;&nbsp;serv</span><span style="color: #007700">.</span><span style="color: #0000BB">newitem&nbsp;01fa8&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">new.</span><span style="color: #0000BB">p&nbsp;</span><span style="color: #007700">=&nbsp;&lt;eval&nbsp;&lt;</span><span style="color: #0000BB">p</span><span style="color: #007700">.</span><span style="color: #0000BB">x</span><span style="color: #007700">&gt;-</span><span style="color: #0000BB">1</span><span style="color: #007700">&gt;,&lt;</span><span style="color: #0000BB">p</span><span style="color: #007700">.</span><span style="color: #0000BB">y</span><span style="color: #007700">&gt;,&lt;</span><span style="color: #0000BB">p</span><span style="color: #007700">.</span><span style="color: #0000BB">z</span><span style="color: #007700">&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;new.</span><span style="color: #0000BB">attr&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">attr_decay</span><span style="color: #007700">|</span><span style="color: #0000BB">attr_static<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">new.</span><span style="color: #0000BB">timer&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">3<br />&nbsp;&nbsp;&nbsp;&nbsp;serv</span><span style="color: #007700">.</span><span style="color: #0000BB">newitem&nbsp;01fad&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">new.</span><span style="color: #0000BB">p&nbsp;</span><span style="color: #007700">=&nbsp;&lt;eval&nbsp;&lt;</span><span style="color: #0000BB">p</span><span style="color: #007700">.</span><span style="color: #0000BB">x</span><span style="color: #007700">&gt;+</span><span style="color: #0000BB">1</span><span style="color: #007700">&gt;,&lt;</span><span style="color: #0000BB">p</span><span style="color: #007700">.</span><span style="color: #0000BB">y</span><span style="color: #007700">&gt;,&lt;</span><span style="color: #0000BB">p</span><span style="color: #007700">.</span><span style="color: #0000BB">z</span><span style="color: #007700">&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;new.</span><span style="color: #0000BB">attr&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">attr_decay</span><span style="color: #007700">|</span><span style="color: #0000BB">attr_static<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">new.</span><span style="color: #0000BB">timer&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">3<br />&nbsp;&nbsp;&nbsp;&nbsp;serv</span><span style="color: #007700">.</span><span style="color: #0000BB">newitem&nbsp;01fb6&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">new.</span><span style="color: #0000BB">p&nbsp;</span><span style="color: #007700">=&nbsp;&lt;</span><span style="color: #0000BB">p</span><span style="color: #007700">.</span><span style="color: #0000BB">x</span><span style="color: #007700">&gt;,&lt;eval&nbsp;&lt;</span><span style="color: #0000BB">p</span><span style="color: #007700">.</span><span style="color: #0000BB">y</span><span style="color: #007700">&gt;+</span><span style="color: #0000BB">1</span><span style="color: #007700">&gt;,&lt;</span><span style="color: #0000BB">p</span><span style="color: #007700">.</span><span style="color: #0000BB">z</span><span style="color: #007700">&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;new.</span><span style="color: #0000BB">attr&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">attr_decay</span><span style="color: #007700">|</span><span style="color: #0000BB">attr_static<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">new.</span><span style="color: #0000BB">timer&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">3<br />&nbsp;&nbsp;&nbsp;&nbsp;sfx&nbsp;027&nbsp;</span><span style="color: #FF8000">//splash<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;//sink&nbsp;item&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">timerf&nbsp;1&nbsp;f_sink_item&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//add&nbsp;a&nbsp;buoy,&nbsp;set&nbsp;it's&nbsp;properties<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">serv</span><span style="color: #007700">.</span><span style="color: #0000BB">newitem&nbsp;i_lobster_buoy<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">new.</span><span style="color: #0000BB">name&nbsp;</span><span style="color: #007700">=&nbsp;&lt;</span><span style="color: #0000BB">name</span><span style="color: #007700">&gt;&nbsp;</span><span style="color: #0000BB">Buoy<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">new.</span><span style="color: #0000BB">p&nbsp;</span><span style="color: #007700">=&nbsp;&lt;</span><span style="color: #0000BB">p</span><span style="color: #007700">&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;new.</span><span style="color: #0000BB">attr&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">attr_move_never<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">new.</span><span style="color: #0000BB">events&nbsp;</span><span style="color: #007700">+</span><span style="color: #0000BB">e_sea_trapping_retrieval<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">new.</span><span style="color: #0000BB">link&nbsp;</span><span style="color: #007700">=&nbsp;&lt;</span><span style="color: #0000BB">uid</span><span style="color: #007700">&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">1<br /><br /></span><span style="color: #FF8000">/////////////////////////////////////////////////////<br />////&nbsp;FUNCTION&nbsp;f_sink_item<br />////&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;all&nbsp;this&nbsp;does&nbsp;is&nbsp;make&nbsp;the&nbsp;item&nbsp;invisible&nbsp;&amp;&nbsp;static<br />////&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;so&nbsp;it&nbsp;looks&nbsp;to&nbsp;have&nbsp;sunk<br />/////////////////////////////////////////////////////<br /></span><span style="color: #007700">[FUNCTION&nbsp;</span><span style="color: #0000BB">f_sink_item</span><span style="color: #007700">]&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//make&nbsp;item&nbsp;invisible<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">attr&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">attr_invis</span><span style="color: #007700">|</span><span style="color: #0000BB">attr_static<br />&nbsp;&nbsp;&nbsp;&nbsp;updatex<br />&nbsp;&nbsp;&nbsp;&nbsp;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #FF8000">/////////////////////////////////////////////////////<br />////&nbsp;EVENT/TYPEDEF&nbsp;e_sea_trapping_retrieval<br />////&nbsp;-our&nbsp;event&nbsp;handler&nbsp;for&nbsp;ON=@&nbsp;DClick<br />////&nbsp;-makes&nbsp;linked&nbsp;item&nbsp;visible&nbsp;and&nbsp;back&nbsp;in&nbsp;inventory<br />////&nbsp;-removes&nbsp;bouy<br />////&nbsp;-runs&nbsp;a&nbsp;loop&nbsp;at&nbsp;random&nbsp;amounts&nbsp;creating&nbsp;critters&nbsp;each&nbsp;interval<br />////&nbsp;&nbsp;&nbsp;&nbsp;when&nbsp;a&nbsp;fishing&nbsp;test&nbsp;is&nbsp;passed.<br />////&nbsp;&nbsp;&nbsp;&nbsp;-requires&nbsp;the&nbsp;below&nbsp;on&nbsp;the&nbsp;linked&nbsp;object-<br />////&nbsp;&nbsp;&nbsp;&nbsp;TAG._sea_critter_catch_difficulty&nbsp;=&nbsp;fishing&nbsp;test&nbsp;to&nbsp;catch&nbsp;critters&nbsp;(50)<br />////&nbsp;&nbsp;&nbsp;&nbsp;TAG0._max_catch&nbsp;=&nbsp;max&nbsp;amount&nbsp;of&nbsp;catch&nbsp;(4)<br />////&nbsp;&nbsp;&nbsp;&nbsp;TAG._sea_critters&nbsp;=&nbsp;criter&nbsp;template&nbsp;(random_crustacean)<br />/////////////////////////////////////////////////////&nbsp;&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #007700">[</span><span style="color: #0000BB">TYPEDEF&nbsp;e_sea_trapping_retrieval</span><span style="color: #007700">]<br /></span><span style="color: #0000BB">ON</span><span style="color: #007700">=@</span><span style="color: #0000BB">DClick<br />&nbsp;&nbsp;&nbsp;&nbsp;sfx&nbsp;05a4<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//make&nbsp;our&nbsp;item&nbsp;visible&nbsp;and&nbsp;able&nbsp;to&nbsp;decay<br />&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;&nbsp;&nbsp;&nbsp;move&nbsp;item&nbsp;to&nbsp;inventory<br />&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;remove&nbsp;buoy&nbsp;(this&nbsp;item)<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">link</span><span style="color: #007700">.</span><span style="color: #0000BB">attr&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">attr_decay&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;link</span><span style="color: #007700">.</span><span style="color: #0000BB">bounce<br />&nbsp;&nbsp;&nbsp;&nbsp;remove<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//pass&nbsp;fishing&nbsp;check&nbsp;to&nbsp;get&nbsp;fish&nbsp;(critters)<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">IF&nbsp;(&lt;</span><span style="color: #0000BB">src</span><span style="color: #007700">.</span><span style="color: #0000BB">skillcheck&nbsp;18</span><span style="color: #007700">,&lt;</span><span style="color: #0000BB">link</span><span style="color: #007700">.</span><span style="color: #0000BB">dTAG</span><span style="color: #007700">.</span><span style="color: #0000BB">_sea_critter_catch_difficulty</span><span style="color: #007700">&gt;&gt;)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;FOR&nbsp;</span><span style="color: #0000BB">1&nbsp;</span><span style="color: #007700">&lt;eval&nbsp;</span><span style="color: #0000BB">rand</span><span style="color: #007700">(&lt;</span><span style="color: #0000BB">link</span><span style="color: #007700">.</span><span style="color: #0000BB">dTAG0</span><span style="color: #007700">.</span><span style="color: #0000BB">_max_catch</span><span style="color: #007700">&gt;)+</span><span style="color: #0000BB">1</span><span style="color: #007700">&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">serv</span><span style="color: #007700">.</span><span style="color: #0000BB">newitem&nbsp;</span><span style="color: #007700">&lt;</span><span style="color: #0000BB">link</span><span style="color: #007700">.</span><span style="color: #0000BB">TAG</span><span style="color: #007700">.</span><span style="color: #0000BB">_sea_critters</span><span style="color: #007700">&gt;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//add&nbsp;critter<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">new.</span><span style="color: #0000BB">p&nbsp;</span><span style="color: #007700">=&nbsp;&lt;</span><span style="color: #0000BB">src</span><span style="color: #007700">.</span><span style="color: #0000BB">p</span><span style="color: #007700">&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ENDFOR<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">src</span><span style="color: #007700">.</span><span style="color: #0000BB">sysmessage&nbsp;Your&nbsp;</span><span style="color: #007700">&lt;</span><span style="color: #0000BB">link</span><span style="color: #007700">.</span><span style="color: #0000BB">name</span><span style="color: #007700">&gt;&nbsp;</span><span style="color: #0000BB">was&nbsp;full</span><span style="color: #007700">!<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;ELSE<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">src</span><span style="color: #007700">.</span><span style="color: #0000BB">sysmessage&nbsp;The&nbsp;</span><span style="color: #007700">&lt;</span><span style="color: #0000BB">link</span><span style="color: #007700">.</span><span style="color: #0000BB">name</span><span style="color: #007700">&gt;&nbsp;</span><span style="color: #0000BB">was&nbsp;</span><span style="color: #007700">empty.<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;ENDIF<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">src</span><span style="color: #007700">.</span><span style="color: #0000BB">skillgain&nbsp;18</span><span style="color: #007700">,&lt;</span><span style="color: #0000BB">link</span><span style="color: #007700">.</span><span style="color: #0000BB">dTAG0</span><span style="color: #007700">.</span><span style="color: #0000BB">_sea_critter_catch_difficulty</span><span style="color: #007700">&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">1<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #FF8000">/////////////////////////////////////////////////////<br />////&nbsp;EVENT/TYPEDEF&nbsp;e_declining_uses<br />////&nbsp;-our&nbsp;event&nbsp;handler&nbsp;for&nbsp;ON=@&nbsp;DClick<br />////&nbsp;-makes&nbsp;this&nbsp;item&nbsp;degrade&nbsp;when&nbsp;used<br />////&nbsp;-when&nbsp;degredation&nbsp;is&nbsp;0,&nbsp;item&nbsp;will&nbsp;break<br />////&nbsp;-warns&nbsp;the&nbsp;user&nbsp;when&nbsp;about&nbsp;to&nbsp;break<br />/////////////////////////////////////////////////////&nbsp;&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #007700">[</span><span style="color: #0000BB">TYPEDEF&nbsp;e_declining_uses</span><span style="color: #007700">]&nbsp;&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #0000BB">ON</span><span style="color: #007700">=@</span><span style="color: #0000BB">DClick<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//reduce&nbsp;uses<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">USESCUR&nbsp;</span><span style="color: #007700">--<br />&nbsp;&nbsp;&nbsp;&nbsp;IF&nbsp;(&lt;</span><span style="color: #0000BB">USESCUR</span><span style="color: #007700">&gt;&lt;=</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">destroy&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SRC</span><span style="color: #007700">.</span><span style="color: #0000BB">SYSMESSAGE&nbsp;Your&nbsp;</span><span style="color: #007700">&lt;</span><span style="color: #0000BB">name</span><span style="color: #007700">&gt;&nbsp;</span><span style="color: #0000BB">broke</span><span style="color: #007700">.<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">1<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">ENDIF<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//notify&nbsp;when&nbsp;close&nbsp;to&nbsp;breaking<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">IF&nbsp;(&lt;</span><span style="color: #0000BB">USESCUR</span><span style="color: #007700">&gt;&lt;=</span><span style="color: #0000BB">3</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">SRC</span><span style="color: #007700">.</span><span style="color: #0000BB">SYSMESSAGE&nbsp;Your&nbsp;</span><span style="color: #007700">&lt;</span><span style="color: #0000BB">name</span><span style="color: #007700">&gt;&nbsp;</span><span style="color: #0000BB">is&nbsp;going&nbsp;to&nbsp;</span><span style="color: #007700">break&nbsp;</span><span style="color: #0000BB">soon</span><span style="color: #007700">.<br />&nbsp;&nbsp;&nbsp;&nbsp;ENDIF<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #FF8000">/////////////////////////////////////////////////////<br />////&nbsp;EVENT/TYPEDEF&nbsp;e_rope_buoy<br />////&nbsp;-our&nbsp;event&nbsp;handler&nbsp;for&nbsp;ON=@&nbsp;DClick/TargOn_Item<br />////&nbsp;-enforces&nbsp;buoy&nbsp;targetting&nbsp;only<br />////&nbsp;-forces&nbsp;the&nbsp;buoy&nbsp;to&nbsp;be&nbsp;doubleclicked&nbsp;as&nbsp;if&nbsp;used<br />/////////////////////////////////////////////////////&nbsp;&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #007700">[</span><span style="color: #0000BB">TYPEDEF&nbsp;e_rope_buoy</span><span style="color: #007700">]&nbsp;&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #0000BB">ON</span><span style="color: #007700">=@</span><span style="color: #0000BB">DClick&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//target&nbsp;a&nbsp;buoy<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">TARGET&nbsp;Select&nbsp;buoy&nbsp;to&nbsp;rope&nbsp;in<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">RETURN&nbsp;</span><span style="color: #0000BB">1<br />ON</span><span style="color: #007700">=@</span><span style="color: #0000BB">TargOn_Item<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//only&nbsp;works&nbsp;on&nbsp;buoys<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">IF&nbsp;!(&lt;</span><span style="color: #0000BB">argo</span><span style="color: #007700">.</span><span style="color: #0000BB">defname</span><span style="color: #007700">&gt;==</span><span style="color: #0000BB">i_lobster_buoy</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">src</span><span style="color: #007700">.</span><span style="color: #0000BB">sysmessage&nbsp;Rope&nbsp;only&nbsp;works&nbsp;on&nbsp;buoys</span><span style="color: #007700">.<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">1<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">ENDIF<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//to&nbsp;far&nbsp;away<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">IF&nbsp;(&lt;</span><span style="color: #0000BB">src</span><span style="color: #007700">.</span><span style="color: #0000BB">distance&nbsp;</span><span style="color: #007700">&lt;</span><span style="color: #0000BB">argo</span><span style="color: #007700">&gt;&gt;&nbsp;&gt;&nbsp;</span><span style="color: #0000BB">6</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">src</span><span style="color: #007700">.</span><span style="color: #0000BB">sysmessage&nbsp;Too&nbsp;far&nbsp;away&nbsp;from&nbsp;buoy</span><span style="color: #007700">.<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">1<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">ENDIF<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//trigger/use&nbsp;buoy<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">argo</span><span style="color: #007700">.</span><span style="color: #0000BB">useitem<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">return&nbsp;</span><span style="color: #0000BB">1<br />&nbsp;&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #FF8000">//////////////////////////////////////////////////////////////////////////////////////////////<br />///////&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Items&nbsp;-&nbsp;Misc&nbsp;-&nbsp;previously&nbsp;undefined<br />//////////////////////////////////////////////////////////////////////////////////////////////&nbsp;&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #007700">[</span><span style="color: #0000BB">ITEMDEF&nbsp;03b10</span><span style="color: #007700">]<br /></span><span style="color: #0000BB">DEFNAME</span><span style="color: #007700">=</span><span style="color: #0000BB">i_seahorse<br />NAME</span><span style="color: #007700">=</span><span style="color: #0000BB">sea&nbsp;horse<br />TYPE</span><span style="color: #007700">=</span><span style="color: #0000BB">t_fish<br />VALUE</span><span style="color: #007700">=</span><span style="color: #0000BB">2<br />WEIGHT</span><span style="color: #007700">=</span><span style="color: #0000BB">1<br />ON</span><span style="color: #007700">=@</span><span style="color: #0000BB">Create<br />&nbsp;&nbsp;&nbsp;&nbsp;COLOR</span><span style="color: #007700">={</span><span style="color: #0000BB">0&nbsp;1&nbsp;colors_pink&nbsp;1&nbsp;colors_blue&nbsp;1&nbsp;colors_orange&nbsp;1&nbsp;colors_red&nbsp;1</span><span style="color: #007700">}<br /><br />[</span><span style="color: #0000BB">ITEMDEF&nbsp;03b11</span><span style="color: #007700">]<br /></span><span style="color: #0000BB">DEFNAME</span><span style="color: #007700">=</span><span style="color: #0000BB">i_shrimp_brine<br />NAME</span><span style="color: #007700">=</span><span style="color: #0000BB">brine&nbsp;shrimp<br />TYPE</span><span style="color: #007700">=</span><span style="color: #0000BB">t_fish<br />VALUE</span><span style="color: #007700">=</span><span style="color: #0000BB">2<br />WEIGHT</span><span style="color: #007700">=</span><span style="color: #0000BB">1<br /><br /></span><span style="color: #007700">[</span><span style="color: #0000BB">ITEMDEF&nbsp;03b0e</span><span style="color: #007700">]<br /></span><span style="color: #0000BB">DEFNAME</span><span style="color: #007700">=</span><span style="color: #0000BB">i_jellyfish<br />NAME</span><span style="color: #007700">=</span><span style="color: #0000BB">jellyfish<br />TYPE</span><span style="color: #007700">=</span><span style="color: #0000BB">t_fish<br />VALUE</span><span style="color: #007700">=</span><span style="color: #0000BB">2<br />WEIGHT</span><span style="color: #007700">=</span><span style="color: #0000BB">1<br />ON</span><span style="color: #007700">=@</span><span style="color: #0000BB">Create<br />&nbsp;&nbsp;&nbsp;&nbsp;COLOR</span><span style="color: #007700">={</span><span style="color: #0000BB">0&nbsp;1&nbsp;colors_pink&nbsp;1&nbsp;colors_blue&nbsp;1&nbsp;colors_green&nbsp;1</span><span style="color: #007700">}<br /><br />[</span><span style="color: #0000BB">ITEMDEF&nbsp;03afc</span><span style="color: #007700">]<br /></span><span style="color: #0000BB">DEFNAME</span><span style="color: #007700">=</span><span style="color: #0000BB">i_crab_speckled<br />NAME</span><span style="color: #007700">=</span><span style="color: #0000BB">speckled&nbsp;crab<br />TYPE</span><span style="color: #007700">=</span><span style="color: #0000BB">t_fish<br />VALUE</span><span style="color: #007700">=</span><span style="color: #0000BB">2<br />WEIGHT</span><span style="color: #007700">=</span><span style="color: #0000BB">1<br /><br /></span><span style="color: #007700">[</span><span style="color: #0000BB">ITEMDEF&nbsp;03b14</span><span style="color: #007700">]<br /></span><span style="color: #0000BB">DEFNAME</span><span style="color: #007700">=</span><span style="color: #0000BB">i_shrimp<br />NAME</span><span style="color: #007700">=</span><span style="color: #0000BB">shrimp<br />TYPE</span><span style="color: #007700">=</span><span style="color: #0000BB">t_fish<br />VALUE</span><span style="color: #007700">=</span><span style="color: #0000BB">2<br />WEIGHT</span><span style="color: #007700">=</span><span style="color: #0000BB">1<br /><br /></span><span style="color: #007700">[</span><span style="color: #0000BB">ITEMDEF&nbsp;03afd</span><span style="color: #007700">]<br /></span><span style="color: #0000BB">DEFNAME</span><span style="color: #007700">=</span><span style="color: #0000BB">i_fish_makoto_courtesan_fish<br />NAME</span><span style="color: #007700">=</span><span style="color: #0000BB">makoto&nbsp;courtesan&nbsp;fish<br />TYPE</span><span style="color: #007700">=</span><span style="color: #0000BB">t_fish<br />VALUE</span><span style="color: #007700">=</span><span style="color: #0000BB">2<br />WEIGHT</span><span style="color: #007700">=</span><span style="color: #0000BB">1<br /><br /></span><span style="color: #007700">[</span><span style="color: #0000BB">ITEMDEF&nbsp;03afe</span><span style="color: #007700">]<br /></span><span style="color: #0000BB">DEFNAME</span><span style="color: #007700">=</span><span style="color: #0000BB">i_fish_minoc_blue<br />NAME</span><span style="color: #007700">=</span><span style="color: #0000BB">Minoc&nbsp;blue&nbsp;fish<br />TYPE</span><span style="color: #007700">=</span><span style="color: #0000BB">t_fish<br />VALUE</span><span style="color: #007700">=</span><span style="color: #0000BB">2<br />WEIGHT</span><span style="color: #007700">=</span><span style="color: #0000BB">1<br /><br /></span><span style="color: #007700">[</span><span style="color: #0000BB">ITEMDEF&nbsp;03aff</span><span style="color: #007700">]<br /></span><span style="color: #0000BB">DEFNAME</span><span style="color: #007700">=</span><span style="color: #0000BB">i_fish_britain_crown_fish<br />NAME</span><span style="color: #007700">=</span><span style="color: #0000BB">Britain&nbsp;crown&nbsp;fish<br />TYPE</span><span style="color: #007700">=</span><span style="color: #0000BB">t_fish<br />VALUE</span><span style="color: #007700">=</span><span style="color: #0000BB">2<br />WEIGHT</span><span style="color: #007700">=</span><span style="color: #0000BB">1<br /><br /></span><span style="color: #007700">[</span><span style="color: #0000BB">ITEMDEF&nbsp;03b00</span><span style="color: #007700">]<br /></span><span style="color: #0000BB">DEFNAME</span><span style="color: #007700">=</span><span style="color: #0000BB">i_fish_red_dart_fish<br />NAME</span><span style="color: #007700">=</span><span style="color: #0000BB">red&nbsp;dart&nbsp;fish<br />TYPE</span><span style="color: #007700">=</span><span style="color: #0000BB">t_fish<br />VALUE</span><span style="color: #007700">=</span><span style="color: #0000BB">2<br />WEIGHT</span><span style="color: #007700">=</span><span style="color: #0000BB">1<br /><br /></span><span style="color: #007700">[</span><span style="color: #0000BB">ITEMDEF&nbsp;03b01</span><span style="color: #007700">]<br /></span><span style="color: #0000BB">DEFNAME</span><span style="color: #007700">=</span><span style="color: #0000BB">i_fish_small_mouth_sucker_fin<br />NAME</span><span style="color: #007700">=</span><span style="color: #0000BB">small&nbsp;mouth&nbsp;sucker&nbsp;fin<br />TYPE</span><span style="color: #007700">=</span><span style="color: #0000BB">t_fish<br />VALUE</span><span style="color: #007700">=</span><span style="color: #0000BB">2<br />WEIGHT</span><span style="color: #007700">=</span><span style="color: #0000BB">1<br /><br /></span><span style="color: #007700">[</span><span style="color: #0000BB">ITEMDEF&nbsp;03b02</span><span style="color: #007700">]<br /></span><span style="color: #0000BB">DEFNAME</span><span style="color: #007700">=</span><span style="color: #0000BB">i_fish_fandancer<br />NAME</span><span style="color: #007700">=</span><span style="color: #0000BB">fandancer&nbsp;fish<br />TYPE</span><span style="color: #007700">=</span><span style="color: #0000BB">t_fish<br />VALUE</span><span style="color: #007700">=</span><span style="color: #0000BB">2<br />WEIGHT</span><span style="color: #007700">=</span><span style="color: #0000BB">1<br /><br /></span><span style="color: #007700">[</span><span style="color: #0000BB">ITEMDEF&nbsp;03b03</span><span style="color: #007700">]<br /></span><span style="color: #0000BB">DEFNAME</span><span style="color: #007700">=</span><span style="color: #0000BB">i_fish_golden_broadtail<br />NAME</span><span style="color: #007700">=</span><span style="color: #0000BB">golden&nbsp;broadtail<br />TYPE</span><span style="color: #007700">=</span><span style="color: #0000BB">t_fish<br />VALUE</span><span style="color: #007700">=</span><span style="color: #0000BB">2<br />WEIGHT</span><span style="color: #007700">=</span><span style="color: #0000BB">1<br /><br /></span><span style="color: #007700">[</span><span style="color: #0000BB">ITEMDEF&nbsp;03b04</span><span style="color: #007700">]<br /></span><span style="color: #0000BB">DEFNAME</span><span style="color: #007700">=</span><span style="color: #0000BB">i_fish_albino_courtesan_fish<br />NAME</span><span style="color: #007700">=</span><span style="color: #0000BB">albino&nbsp;courtesan&nbsp;fish<br />TYPE</span><span style="color: #007700">=</span><span style="color: #0000BB">t_fish<br />VALUE</span><span style="color: #007700">=</span><span style="color: #0000BB">2<br />WEIGHT</span><span style="color: #007700">=</span><span style="color: #0000BB">1<br /><br /></span><span style="color: #007700">[</span><span style="color: #0000BB">ITEMDEF&nbsp;03b05</span><span style="color: #007700">]<br /></span><span style="color: #0000BB">DEFNAME</span><span style="color: #007700">=</span><span style="color: #0000BB">i_fish_spined_scratcher_fish<br />NAME</span><span style="color: #007700">=</span><span style="color: #0000BB">spined&nbsp;scratcher&nbsp;fish<br />TYPE</span><span style="color: #007700">=</span><span style="color: #0000BB">t_fish<br />VALUE</span><span style="color: #007700">=</span><span style="color: #0000BB">2<br />WEIGHT</span><span style="color: #007700">=</span><span style="color: #0000BB">1<br /><br /></span><span style="color: #007700">[</span><span style="color: #0000BB">ITEMDEF&nbsp;03b06</span><span style="color: #007700">]<br /></span><span style="color: #0000BB">DEFNAME</span><span style="color: #007700">=</span><span style="color: #0000BB">i_fish_nujelm_honey<br />NAME</span><span style="color: #007700">=</span><span style="color: #0000BB">Nujel</span><span style="color: #DD0000">'m&nbsp;honey&nbsp;fish<br />TYPE=t_fish<br />VALUE=2<br />WEIGHT=1<br /><br />[ITEMDEF&nbsp;03b07]<br />DEFNAME=i_fish_yellow_fin_bluebelly<br />NAME=yellow&nbsp;fin&nbsp;bluebelly<br />TYPE=t_fish<br />VALUE=2<br />WEIGHT=1<br /><br />[ITEMDEF&nbsp;03b08]<br />DEFNAME=i_fish_vesper_reef_tiger<br />NAME=Vesper&nbsp;reef&nbsp;tiger<br />TYPE=t_fish<br />VALUE=2<br />WEIGHT=1<br /><br />[ITEMDEF&nbsp;03b09]<br />DEFNAME=i_fish_spotted_bucaneer<br />NAME=spotted&nbsp;buccaneer<br />TYPE=t_fish<br />VALUE=2<br />WEIGHT=1<br /><br />[ITEMDEF&nbsp;03b0a]<br />DEFNAME=i_fish_stripped_flake_fish<br />NAME=stripped&nbsp;flake&nbsp;fish<br />TYPE=t_fish<br />VALUE=2<br />WEIGHT=1&nbsp;<br /></span></code></div></div></div>
<br />
Capes<br />
<br />
<br />
PS - the above works 100% for players, but when using an owner plevel account, the sinking effect does not work (???).]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Grave Digging]]></title>
			<link>https://forum.spherecommunity.net/Thread-Grave-Digging</link>
			<pubDate>Sat, 14 Apr 2018 14:10:43 +0200</pubDate>
			<guid isPermaLink="false">https://forum.spherecommunity.net/Thread-Grave-Digging</guid>
			<description><![CDATA[Only tested in 0.56d<br />
Here's a grave digging script.<br />
Basically it allows a player to use a shovel on a grave to dig it up.<br />
They may get goodies, disturb the dead, find something gross or have their shovel break.<br />
This demonstrates the basic use of SERV.LIST (a basic array) functionality. <br />
It also shows how an event can alter an items behavior.<br />
Change GRAVE_RESET_DELAY to a lower number to test it.<br />
<br />
<div class="codeblock"><div class="title">PHP Code:<br />
</div><div class="body"><div dir="ltr"><code><span style="color: #FF8000">/////////////////////////////////////////////////////////////////////////////////////<br />////&nbsp;GRAVE&nbsp;DIGGING&nbsp;-&nbsp;shovel&nbsp;&amp;&nbsp;graves<br />////&nbsp;By:&nbsp;Capes&nbsp;last&nbsp;modified&nbsp;-&nbsp;2018-04-14<br />/////////////////////////////////////////////////////////////////////////////////////<br /></span><span style="color: #007700">[</span><span style="color: #0000BB">DEFNAME&nbsp;body_parts</span><span style="color: #007700">]<br /></span><span style="color: #0000BB">random_body_part&nbsp;</span><span style="color: #007700">{</span><span style="color: #0000BB">01b12&nbsp;1&nbsp;01b14&nbsp;1&nbsp;01b18&nbsp;1&nbsp;01b1a&nbsp;1&nbsp;01b1c&nbsp;1&nbsp;01cdd&nbsp;1&nbsp;01ce5&nbsp;1&nbsp;01ced&nbsp;1&nbsp;01cf0&nbsp;1&nbsp;01cef&nbsp;1&nbsp;01cee&nbsp;1&nbsp;01ce1&nbsp;1&nbsp;01ce9&nbsp;1&nbsp;01dad&nbsp;1</span><span style="color: #007700">}<br /><br />[</span><span style="color: #0000BB">DEFNAME&nbsp;gravedigging_settings</span><span style="color: #007700">]<br /></span><span style="color: #0000BB">GRAVE_RESET_DELAY&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">600&nbsp;</span><span style="color: #FF8000">//in&nbsp;secounds&nbsp;(10&nbsp;mins)<br />////////////////////////////////////////////////////////////<br />//////&nbsp;shovel<br />////////////////////////////////////////////////////////////<br /></span><span style="color: #007700">[</span><span style="color: #0000BB">ITEMDEF&nbsp;0f39</span><span style="color: #007700">]<br /></span><span style="color: #0000BB">DEFNAME</span><span style="color: #007700">=</span><span style="color: #0000BB">i_shovel<br />TYPE</span><span style="color: #007700">=</span><span style="color: #0000BB">t_weapon_mace_pick<br />FLIP</span><span style="color: #007700">=</span><span style="color: #0000BB">1<br />VALUE</span><span style="color: #007700">=</span><span style="color: #0000BB">20<br />WEIGHT</span><span style="color: #007700">=</span><span style="color: #0000BB">6.0<br />RESOURCES</span><span style="color: #007700">=</span><span style="color: #0000BB">4&nbsp;i_ingot_iron</span><span style="color: #007700">,</span><span style="color: #0000BB">2&nbsp;i_log<br />SKILLMAKE</span><span style="color: #007700">=</span><span style="color: #0000BB">Tinkering&nbsp;20.0</span><span style="color: #007700">,</span><span style="color: #0000BB">t_tinker_tools<br />TEVENTS</span><span style="color: #007700">=</span><span style="color: #0000BB">e_grave_digging&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&lt;-&nbsp;this&nbsp;event&nbsp;adds&nbsp;gravedigging&nbsp;to&nbsp;shovel<br /></span><span style="color: #0000BB">CATEGORY</span><span style="color: #007700">=</span><span style="color: #0000BB">Items&nbsp;by&nbsp;Professions<br />SUBSECTION</span><span style="color: #007700">=</span><span style="color: #0000BB">Miner<br />DESCRIPTION</span><span style="color: #007700">=</span><span style="color: #0000BB">Shovel<br />DUPELIST</span><span style="color: #007700">=</span><span style="color: #0000BB">0f3a<br />ON</span><span style="color: #007700">=@</span><span style="color: #0000BB">Create<br />&nbsp;&nbsp;&nbsp;HITPOINTS</span><span style="color: #007700">={</span><span style="color: #0000BB">150&nbsp;250</span><span style="color: #007700">}<br />&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">UsesMax</span><span style="color: #007700">=</span><span style="color: #0000BB">50<br /><br /></span><span style="color: #007700">[</span><span style="color: #0000BB">ITEMDEF&nbsp;0f3a</span><span style="color: #007700">]<br /></span><span style="color: #FF8000">//shovel<br /></span><span style="color: #0000BB">DUPEITEM</span><span style="color: #007700">=</span><span style="color: #0000BB">0f39<br /><br /></span><span style="color: #FF8000">///////////////////////////////////////////////////////<br />////&nbsp;EVENTS&nbsp;e_grave_digging<br />////&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;adding&nbsp;e_grave_digging&nbsp;to&nbsp;TEVENTS&nbsp;of&nbsp;any&nbsp;item&nbsp;provides&nbsp;<br />////&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;this&nbsp;functionality<br />////&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;defines&nbsp;ON=@TargOn_Ground&nbsp;handler<br />////&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;prevents&nbsp;usage&nbsp;if&nbsp;mounted,&nbsp;to&nbsp;far&nbsp;away&nbsp;or&nbsp;if&nbsp;already&nbsp;dug&nbsp;up<br />////&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;makes&nbsp;sure&nbsp;tile&nbsp;selected&nbsp;is&nbsp;i_grave<br />////&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;lowers&nbsp;karma,&nbsp;then&nbsp;randomly&nbsp;picks&nbsp;an&nbsp;outcome<br />////&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;outcomes&nbsp;-&nbsp;<br />////&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1&nbsp;-&nbsp;you&nbsp;found&nbsp;nothing<br />////&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;-&nbsp;you&nbsp;have&nbsp;disturbed&nbsp;the&nbsp;dead,&nbsp;summons&nbsp;1&nbsp;undead<br />////&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3&nbsp;-&nbsp;you&nbsp;found&nbsp;a&nbsp;body&nbsp;part<br />////&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;-&nbsp;you&nbsp;found&nbsp;something<br />////&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;reduces&nbsp;uses&nbsp;of&nbsp;item&nbsp;(assuming&nbsp;shovel&nbsp;defualts)&nbsp;with&nbsp;possible&nbsp;breakage<br />////&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;stores&nbsp;src.targp&nbsp;in&nbsp;SERV.LIST._graves_dug_up&nbsp;(prevents&nbsp;further&nbsp;digging)<br />////&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;fires&nbsp;a&nbsp;timerf&nbsp;in&nbsp;GRAVE_RESET_DELAY&nbsp;to&nbsp;remove&nbsp;cords&nbsp;from&nbsp;SERV.LIST._graves_dug_up<br />////&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;to&nbsp;allow&nbsp;this&nbsp;tile&nbsp;to&nbsp;be&nbsp;dug&nbsp;up&nbsp;again<br />///////////////////////////////////////////////////////<br /></span><span style="color: #007700">[</span><span style="color: #0000BB">TYPEDEF&nbsp;e_grave_digging</span><span style="color: #007700">]<br /></span><span style="color: #0000BB">ON</span><span style="color: #007700">=@</span><span style="color: #0000BB">TargOn_Ground<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//is&nbsp;mounted&nbsp;quit<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">IF&nbsp;(&lt;</span><span style="color: #0000BB">SRC</span><span style="color: #007700">.</span><span style="color: #0000BB">FINDLAYER</span><span style="color: #007700">.</span><span style="color: #0000BB">layer_horse</span><span style="color: #007700">&gt;)&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">SRC</span><span style="color: #007700">.</span><span style="color: #0000BB">SYSMESSAGE&nbsp;You&nbsp;can</span><span style="color: #DD0000">'t&nbsp;dig&nbsp;up&nbsp;a&nbsp;grave&nbsp;while&nbsp;mounted!<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;1<br />&nbsp;&nbsp;&nbsp;&nbsp;ENDIF<br />&nbsp;&nbsp;&nbsp;&nbsp;//to&nbsp;far&nbsp;away&nbsp;quit<br />&nbsp;&nbsp;&nbsp;&nbsp;IF&nbsp;(&lt;src.distance&nbsp;&lt;src.targp&gt;&gt;&nbsp;&gt;&nbsp;1)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SRC.SYSMESSAGE&nbsp;Your&nbsp;to&nbsp;far&nbsp;away.<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;1<br />&nbsp;&nbsp;&nbsp;&nbsp;ENDIF<br />&nbsp;&nbsp;&nbsp;&nbsp;//already&nbsp;dug&nbsp;up<br />&nbsp;&nbsp;&nbsp;&nbsp;IF&nbsp;((&lt;SERV.LIST._graves_dug_up.FINDELEM&nbsp;&lt;src.targp&gt;&gt;&nbsp;!=&nbsp;-1)&nbsp;&amp;&amp;(&lt;eval&nbsp;&lt;SERV.LIST._graves_dug_up.COUNT&gt;&gt;&nbsp;!=&nbsp;0))<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SRC.SYSMESSAGE&nbsp;This&nbsp;grave&nbsp;has&nbsp;already&nbsp;been&nbsp;dug&nbsp;up.<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;1<br />&nbsp;&nbsp;&nbsp;&nbsp;ENDIF&nbsp;&nbsp;&nbsp;&nbsp;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;//only&nbsp;do&nbsp;if&nbsp;(dispid=i_grave)<br />&nbsp;&nbsp;&nbsp;&nbsp;IF&nbsp;(&lt;serv.map(&lt;src.targp.x&gt;,&lt;src.targp.y&gt;).statics.0.dispid&gt;&nbsp;==&nbsp;i_grave)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//dig&nbsp;up&nbsp;grave,&nbsp;add&nbsp;loot,&nbsp;lose&nbsp;karma<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;local._karma&nbsp;=&nbsp;&lt;eval&nbsp;&lt;src.karma&gt;&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;local._karma&nbsp;-=&nbsp;10<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src.karma&nbsp;=&nbsp;&lt;dlocal._karma&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SRC.SYSMESSAGE&nbsp;@37&nbsp;You&nbsp;have&nbsp;lost&nbsp;some&nbsp;karma<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//get&nbsp;random&nbsp;number&nbsp;0-3<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;local._rnd_num&nbsp;=&nbsp;&lt;eval&nbsp;RAND(4)&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//respond&nbsp;to&nbsp;random&nbsp;number&nbsp;(maybe&nbsp;replace&nbsp;with&nbsp;a&nbsp;doswitch)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IF&nbsp;(&lt;eval&nbsp;&lt;local._rnd_num&gt;&gt;&nbsp;==&nbsp;0)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//you&nbsp;found&nbsp;nothing<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SRC.SYSMESSAGE&nbsp;You&nbsp;dig&nbsp;but&nbsp;find&nbsp;nothing.<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ELSEIF&nbsp;(&lt;local._rnd_num&gt;&nbsp;==&nbsp;1)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//you&nbsp;have&nbsp;disturbed&nbsp;the&nbsp;dead<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SRC.SYSMESSAGE&nbsp;@30&nbsp;You&nbsp;dig&nbsp;and&nbsp;disturb&nbsp;the&nbsp;dead.<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SERV.NEWNPC&nbsp;{c_zombie&nbsp;1&nbsp;c_skeleton&nbsp;1&nbsp;c_ghoul&nbsp;1}&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;NEW.P&nbsp;=&nbsp;&lt;src.targp.x&gt;,&lt;src.targp.y&gt;,&lt;eval&nbsp;&lt;src.targp.z&gt;+1&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ELSEIF&nbsp;(&lt;local._rnd_num&gt;&nbsp;==&nbsp;2)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//you&nbsp;found&nbsp;a&nbsp;body&nbsp;part<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SERV.NEWITEM&nbsp;random_body_part<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SRC.SYSMESSAGE&nbsp;@30&nbsp;Gross&nbsp;you&nbsp;found&nbsp;a&nbsp;body&nbsp;part.<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;NEW.BOUNCE<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ELSE<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//you&nbsp;found&nbsp;something<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SERV.NEWITEM&nbsp;{poor_gold_pile&nbsp;1&nbsp;random_jewelry&nbsp;1&nbsp;random_jewel&nbsp;1}&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SRC.SYSMESSAGE&nbsp;@70&nbsp;You&nbsp;found&nbsp;&lt;NEW.name&gt;.<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;NEW.BOUNCE<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ENDIF<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//reduce&nbsp;shovel&nbsp;uses<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;USESCUR&nbsp;--<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IF&nbsp;(&lt;USESCUR&gt;&lt;=0)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DESTROY&nbsp;1&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SRC.SYSMESSAGE&nbsp;Your&nbsp;shovel&nbsp;broke.<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ENDIF<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//store&nbsp;cords&nbsp;&amp;&nbsp;remove&nbsp;cords&nbsp;sometime&nbsp;laiter<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SERV.LIST._graves_dug_up.ADD&nbsp;&lt;src.targp&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;timerf&nbsp;&lt;dDEF.GRAVE_RESET_DELAY&gt;&nbsp;f_remove_grave_dugup_flag&nbsp;&lt;src.targp&gt;&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;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;1&nbsp;&nbsp;&nbsp;&nbsp;//&lt;--&nbsp;don'</span><span style="color: #0000BB">t&nbsp;run&nbsp;other&nbsp;events&nbsp;ie&nbsp;minning&nbsp;stuff<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">ENDIF<br /><br /><br /><br /></span><span style="color: #FF8000">///////////////////////////////////////////////////////<br />////&nbsp;FUYNCTION&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;f_remove_grave_dugup_flag&nbsp;&lt;args&gt;<br />////&nbsp;&nbsp;&nbsp;&nbsp;Param&nbsp;-&nbsp;&lt;args&gt;&nbsp;=&nbsp;expecting&nbsp;a&nbsp;&lt;P&gt;&nbsp;string&nbsp;equivelent<br />////&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;removes&nbsp;given&nbsp;cords&lt;args&gt;&nbsp;from&nbsp;SERV.LIST._graves_dug_up<br />////&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;this&nbsp;assumes&nbsp;the&nbsp;cords&nbsp;given&nbsp;in&nbsp;&lt;args&gt;&nbsp;exists<br />///////////////////////////////////////////////////////<br /></span><span style="color: #007700">[FUNCTION&nbsp;</span><span style="color: #0000BB">f_remove_grave_dugup_flag</span><span style="color: #007700">]<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//find&nbsp;the&nbsp;element&nbsp;that&nbsp;holds&nbsp;the&nbsp;cords,&nbsp;and&nbsp;remove&nbsp;it<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">SERV</span><span style="color: #007700">.LIST.</span><span style="color: #0000BB">_graves_dug_up</span><span style="color: #007700">.&lt;eval&nbsp;&lt;</span><span style="color: #0000BB">SERV</span><span style="color: #007700">.LIST.</span><span style="color: #0000BB">_graves_dug_up</span><span style="color: #007700">.</span><span style="color: #0000BB">FINDELEM&nbsp;</span><span style="color: #007700">&lt;</span><span style="color: #0000BB">args</span><span style="color: #007700">&gt;&gt;&gt;.</span><span style="color: #0000BB">REMOVE<br /><br /><br /></span><span style="color: #FF8000">///////////////////////////////////////////////////////////////<br />////&nbsp;&nbsp;&nbsp;&nbsp;Grave&nbsp;Tiles<br />///////////////////////////////////////////////////////////////<br /></span><span style="color: #007700">[</span><span style="color: #0000BB">MULTIDEF&nbsp;m_grave_ns</span><span style="color: #007700">]<br /></span><span style="color: #FF8000">//ID=98967F<br /></span><span style="color: #0000BB">NAME</span><span style="color: #007700">=</span><span style="color: #0000BB">Grave<br />TYPE</span><span style="color: #007700">=</span><span style="color: #0000BB">t_multi<br />CATEGORY</span><span style="color: #007700">=</span><span style="color: #0000BB">Multis<br />SUBSECTION</span><span style="color: #007700">=</span><span style="color: #0000BB">Misc<br />DESCRIPTION</span><span style="color: #007700">=</span><span style="color: #0000BB">Grave&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">north&nbsp;south</span><span style="color: #007700">)<br /></span><span style="color: #0000BB">MULTIREGION</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">,</span><span style="color: #0000BB">0</span><span style="color: #007700">,</span><span style="color: #0000BB">0<br />COMPONENT</span><span style="color: #007700">=</span><span style="color: #0000BB">00edf</span><span style="color: #007700">,</span><span style="color: #0000BB">0</span><span style="color: #007700">,</span><span style="color: #0000BB">0<br />COMPONENT</span><span style="color: #007700">=</span><span style="color: #0000BB">00ee1</span><span style="color: #007700">,</span><span style="color: #0000BB">0</span><span style="color: #007700">,-</span><span style="color: #0000BB">1<br /><br /></span><span style="color: #007700">[</span><span style="color: #0000BB">MULTIDEF&nbsp;m_grave_ew</span><span style="color: #007700">]<br /></span><span style="color: #FF8000">//ID=98967F<br /></span><span style="color: #0000BB">NAME</span><span style="color: #007700">=</span><span style="color: #0000BB">Grave<br />TYPE</span><span style="color: #007700">=</span><span style="color: #0000BB">t_multi<br />CATEGORY</span><span style="color: #007700">=</span><span style="color: #0000BB">Multis<br />SUBSECTION</span><span style="color: #007700">=</span><span style="color: #0000BB">Misc<br />DESCRIPTION</span><span style="color: #007700">=</span><span style="color: #0000BB">Grave&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">north&nbsp;south</span><span style="color: #007700">)<br /></span><span style="color: #0000BB">MULTIREGION</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">,</span><span style="color: #0000BB">0</span><span style="color: #007700">,</span><span style="color: #0000BB">0<br />COMPONENT</span><span style="color: #007700">=</span><span style="color: #0000BB">00ee0</span><span style="color: #007700">,</span><span style="color: #0000BB">0</span><span style="color: #007700">,</span><span style="color: #0000BB">0<br />COMPONENT</span><span style="color: #007700">=</span><span style="color: #0000BB">00ee2</span><span style="color: #007700">,-</span><span style="color: #0000BB">1</span><span style="color: #007700">,</span><span style="color: #0000BB">0<br /><br /></span><span style="color: #007700">[</span><span style="color: #0000BB">ITEMDEF&nbsp;0edf</span><span style="color: #007700">]<br /></span><span style="color: #0000BB">DEFNAME</span><span style="color: #007700">=</span><span style="color: #0000BB">i_grave<br />CATEGORY</span><span style="color: #007700">=</span><span style="color: #0000BB">Decoration&nbsp;</span><span style="color: #007700">-&nbsp;</span><span style="color: #0000BB">Dungeons&nbsp;</span><span style="color: #007700">and&nbsp;</span><span style="color: #0000BB">The&nbsp;Dead<br />SUBSECTION</span><span style="color: #007700">=</span><span style="color: #0000BB">Graves&nbsp;</span><span style="color: #007700">&amp;&nbsp;</span><span style="color: #0000BB">Gravestones<br />DESCRIPTION</span><span style="color: #007700">=</span><span style="color: #0000BB">Grave<br /></span><span style="color: #FF8000">//TAG._can_be_dug&nbsp;=&nbsp;1<br /></span><span style="color: #0000BB">DUPELIST</span><span style="color: #007700">=</span><span style="color: #0000BB">0ee0</span><span style="color: #007700">,</span><span style="color: #0000BB">0ee1</span><span style="color: #007700">,</span><span style="color: #0000BB">0ee2</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">0ed3&nbsp;</span><span style="color: #FF8000">//&lt;-&nbsp;these&nbsp;are&nbsp;also&nbsp;considered&nbsp;ID=0edf&nbsp;when&nbsp;querried&nbsp;OR&nbsp;i_grave<br /></span><span style="color: #0000BB">ON</span><span style="color: #007700">=@</span><span style="color: #0000BB">CREATE<br />&nbsp;&nbsp;&nbsp;&nbsp;ATTR</span><span style="color: #007700">=</span><span style="color: #0000BB">08010<br /><br /></span><span style="color: #007700">[</span><span style="color: #0000BB">ITEMDEF&nbsp;0ee0</span><span style="color: #007700">]<br /></span><span style="color: #FF8000">//grave<br /></span><span style="color: #0000BB">DUPEITEM</span><span style="color: #007700">=</span><span style="color: #0000BB">0edf<br />ON</span><span style="color: #007700">=@</span><span style="color: #0000BB">CREATE<br />&nbsp;&nbsp;&nbsp;&nbsp;ATTR</span><span style="color: #007700">=</span><span style="color: #0000BB">08010<br /><br /></span><span style="color: #007700">[</span><span style="color: #0000BB">ITEMDEF&nbsp;0ee1</span><span style="color: #007700">]<br /></span><span style="color: #FF8000">//grave<br /></span><span style="color: #0000BB">DUPEITEM</span><span style="color: #007700">=</span><span style="color: #0000BB">0edf<br />ON</span><span style="color: #007700">=@</span><span style="color: #0000BB">CREATE<br />&nbsp;&nbsp;&nbsp;&nbsp;ATTR</span><span style="color: #007700">=</span><span style="color: #0000BB">08010<br /><br /></span><span style="color: #007700">[</span><span style="color: #0000BB">ITEMDEF&nbsp;0ee2</span><span style="color: #007700">]<br /></span><span style="color: #FF8000">//grave<br /></span><span style="color: #0000BB">DUPEITEM</span><span style="color: #007700">=</span><span style="color: #0000BB">0edf<br />ON</span><span style="color: #007700">=@</span><span style="color: #0000BB">CREATE<br />&nbsp;&nbsp;&nbsp;&nbsp;ATTR</span><span style="color: #007700">=</span><span style="color: #0000BB">08010<br />&nbsp;&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #007700">[</span><span style="color: #0000BB">ITEMDEF&nbsp;0ed3</span><span style="color: #007700">]<br /></span><span style="color: #FF8000">//grave<br /></span><span style="color: #0000BB">DUPEITEM</span><span style="color: #007700">=</span><span style="color: #0000BB">0edf<br />ON</span><span style="color: #007700">=@</span><span style="color: #0000BB">CREATE<br />&nbsp;&nbsp;&nbsp;&nbsp;ATTR</span><span style="color: #007700">=</span><span style="color: #0000BB">08010<br /><br /><br /><br /></span><span style="color: #007700">[</span><span style="color: #0000BB">EOF</span><span style="color: #007700">]&nbsp;<br /></span></code></div></div></div>
<br />
<br />
Capes]]></description>
			<content:encoded><![CDATA[Only tested in 0.56d<br />
Here's a grave digging script.<br />
Basically it allows a player to use a shovel on a grave to dig it up.<br />
They may get goodies, disturb the dead, find something gross or have their shovel break.<br />
This demonstrates the basic use of SERV.LIST (a basic array) functionality. <br />
It also shows how an event can alter an items behavior.<br />
Change GRAVE_RESET_DELAY to a lower number to test it.<br />
<br />
<div class="codeblock"><div class="title">PHP Code:<br />
</div><div class="body"><div dir="ltr"><code><span style="color: #FF8000">/////////////////////////////////////////////////////////////////////////////////////<br />////&nbsp;GRAVE&nbsp;DIGGING&nbsp;-&nbsp;shovel&nbsp;&amp;&nbsp;graves<br />////&nbsp;By:&nbsp;Capes&nbsp;last&nbsp;modified&nbsp;-&nbsp;2018-04-14<br />/////////////////////////////////////////////////////////////////////////////////////<br /></span><span style="color: #007700">[</span><span style="color: #0000BB">DEFNAME&nbsp;body_parts</span><span style="color: #007700">]<br /></span><span style="color: #0000BB">random_body_part&nbsp;</span><span style="color: #007700">{</span><span style="color: #0000BB">01b12&nbsp;1&nbsp;01b14&nbsp;1&nbsp;01b18&nbsp;1&nbsp;01b1a&nbsp;1&nbsp;01b1c&nbsp;1&nbsp;01cdd&nbsp;1&nbsp;01ce5&nbsp;1&nbsp;01ced&nbsp;1&nbsp;01cf0&nbsp;1&nbsp;01cef&nbsp;1&nbsp;01cee&nbsp;1&nbsp;01ce1&nbsp;1&nbsp;01ce9&nbsp;1&nbsp;01dad&nbsp;1</span><span style="color: #007700">}<br /><br />[</span><span style="color: #0000BB">DEFNAME&nbsp;gravedigging_settings</span><span style="color: #007700">]<br /></span><span style="color: #0000BB">GRAVE_RESET_DELAY&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">600&nbsp;</span><span style="color: #FF8000">//in&nbsp;secounds&nbsp;(10&nbsp;mins)<br />////////////////////////////////////////////////////////////<br />//////&nbsp;shovel<br />////////////////////////////////////////////////////////////<br /></span><span style="color: #007700">[</span><span style="color: #0000BB">ITEMDEF&nbsp;0f39</span><span style="color: #007700">]<br /></span><span style="color: #0000BB">DEFNAME</span><span style="color: #007700">=</span><span style="color: #0000BB">i_shovel<br />TYPE</span><span style="color: #007700">=</span><span style="color: #0000BB">t_weapon_mace_pick<br />FLIP</span><span style="color: #007700">=</span><span style="color: #0000BB">1<br />VALUE</span><span style="color: #007700">=</span><span style="color: #0000BB">20<br />WEIGHT</span><span style="color: #007700">=</span><span style="color: #0000BB">6.0<br />RESOURCES</span><span style="color: #007700">=</span><span style="color: #0000BB">4&nbsp;i_ingot_iron</span><span style="color: #007700">,</span><span style="color: #0000BB">2&nbsp;i_log<br />SKILLMAKE</span><span style="color: #007700">=</span><span style="color: #0000BB">Tinkering&nbsp;20.0</span><span style="color: #007700">,</span><span style="color: #0000BB">t_tinker_tools<br />TEVENTS</span><span style="color: #007700">=</span><span style="color: #0000BB">e_grave_digging&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&lt;-&nbsp;this&nbsp;event&nbsp;adds&nbsp;gravedigging&nbsp;to&nbsp;shovel<br /></span><span style="color: #0000BB">CATEGORY</span><span style="color: #007700">=</span><span style="color: #0000BB">Items&nbsp;by&nbsp;Professions<br />SUBSECTION</span><span style="color: #007700">=</span><span style="color: #0000BB">Miner<br />DESCRIPTION</span><span style="color: #007700">=</span><span style="color: #0000BB">Shovel<br />DUPELIST</span><span style="color: #007700">=</span><span style="color: #0000BB">0f3a<br />ON</span><span style="color: #007700">=@</span><span style="color: #0000BB">Create<br />&nbsp;&nbsp;&nbsp;HITPOINTS</span><span style="color: #007700">={</span><span style="color: #0000BB">150&nbsp;250</span><span style="color: #007700">}<br />&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">UsesMax</span><span style="color: #007700">=</span><span style="color: #0000BB">50<br /><br /></span><span style="color: #007700">[</span><span style="color: #0000BB">ITEMDEF&nbsp;0f3a</span><span style="color: #007700">]<br /></span><span style="color: #FF8000">//shovel<br /></span><span style="color: #0000BB">DUPEITEM</span><span style="color: #007700">=</span><span style="color: #0000BB">0f39<br /><br /></span><span style="color: #FF8000">///////////////////////////////////////////////////////<br />////&nbsp;EVENTS&nbsp;e_grave_digging<br />////&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;adding&nbsp;e_grave_digging&nbsp;to&nbsp;TEVENTS&nbsp;of&nbsp;any&nbsp;item&nbsp;provides&nbsp;<br />////&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;this&nbsp;functionality<br />////&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;defines&nbsp;ON=@TargOn_Ground&nbsp;handler<br />////&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;prevents&nbsp;usage&nbsp;if&nbsp;mounted,&nbsp;to&nbsp;far&nbsp;away&nbsp;or&nbsp;if&nbsp;already&nbsp;dug&nbsp;up<br />////&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;makes&nbsp;sure&nbsp;tile&nbsp;selected&nbsp;is&nbsp;i_grave<br />////&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;lowers&nbsp;karma,&nbsp;then&nbsp;randomly&nbsp;picks&nbsp;an&nbsp;outcome<br />////&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;outcomes&nbsp;-&nbsp;<br />////&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1&nbsp;-&nbsp;you&nbsp;found&nbsp;nothing<br />////&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;-&nbsp;you&nbsp;have&nbsp;disturbed&nbsp;the&nbsp;dead,&nbsp;summons&nbsp;1&nbsp;undead<br />////&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3&nbsp;-&nbsp;you&nbsp;found&nbsp;a&nbsp;body&nbsp;part<br />////&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;-&nbsp;you&nbsp;found&nbsp;something<br />////&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;reduces&nbsp;uses&nbsp;of&nbsp;item&nbsp;(assuming&nbsp;shovel&nbsp;defualts)&nbsp;with&nbsp;possible&nbsp;breakage<br />////&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;stores&nbsp;src.targp&nbsp;in&nbsp;SERV.LIST._graves_dug_up&nbsp;(prevents&nbsp;further&nbsp;digging)<br />////&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;fires&nbsp;a&nbsp;timerf&nbsp;in&nbsp;GRAVE_RESET_DELAY&nbsp;to&nbsp;remove&nbsp;cords&nbsp;from&nbsp;SERV.LIST._graves_dug_up<br />////&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;to&nbsp;allow&nbsp;this&nbsp;tile&nbsp;to&nbsp;be&nbsp;dug&nbsp;up&nbsp;again<br />///////////////////////////////////////////////////////<br /></span><span style="color: #007700">[</span><span style="color: #0000BB">TYPEDEF&nbsp;e_grave_digging</span><span style="color: #007700">]<br /></span><span style="color: #0000BB">ON</span><span style="color: #007700">=@</span><span style="color: #0000BB">TargOn_Ground<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//is&nbsp;mounted&nbsp;quit<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">IF&nbsp;(&lt;</span><span style="color: #0000BB">SRC</span><span style="color: #007700">.</span><span style="color: #0000BB">FINDLAYER</span><span style="color: #007700">.</span><span style="color: #0000BB">layer_horse</span><span style="color: #007700">&gt;)&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">SRC</span><span style="color: #007700">.</span><span style="color: #0000BB">SYSMESSAGE&nbsp;You&nbsp;can</span><span style="color: #DD0000">'t&nbsp;dig&nbsp;up&nbsp;a&nbsp;grave&nbsp;while&nbsp;mounted!<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;1<br />&nbsp;&nbsp;&nbsp;&nbsp;ENDIF<br />&nbsp;&nbsp;&nbsp;&nbsp;//to&nbsp;far&nbsp;away&nbsp;quit<br />&nbsp;&nbsp;&nbsp;&nbsp;IF&nbsp;(&lt;src.distance&nbsp;&lt;src.targp&gt;&gt;&nbsp;&gt;&nbsp;1)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SRC.SYSMESSAGE&nbsp;Your&nbsp;to&nbsp;far&nbsp;away.<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;1<br />&nbsp;&nbsp;&nbsp;&nbsp;ENDIF<br />&nbsp;&nbsp;&nbsp;&nbsp;//already&nbsp;dug&nbsp;up<br />&nbsp;&nbsp;&nbsp;&nbsp;IF&nbsp;((&lt;SERV.LIST._graves_dug_up.FINDELEM&nbsp;&lt;src.targp&gt;&gt;&nbsp;!=&nbsp;-1)&nbsp;&amp;&amp;(&lt;eval&nbsp;&lt;SERV.LIST._graves_dug_up.COUNT&gt;&gt;&nbsp;!=&nbsp;0))<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SRC.SYSMESSAGE&nbsp;This&nbsp;grave&nbsp;has&nbsp;already&nbsp;been&nbsp;dug&nbsp;up.<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;1<br />&nbsp;&nbsp;&nbsp;&nbsp;ENDIF&nbsp;&nbsp;&nbsp;&nbsp;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;//only&nbsp;do&nbsp;if&nbsp;(dispid=i_grave)<br />&nbsp;&nbsp;&nbsp;&nbsp;IF&nbsp;(&lt;serv.map(&lt;src.targp.x&gt;,&lt;src.targp.y&gt;).statics.0.dispid&gt;&nbsp;==&nbsp;i_grave)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//dig&nbsp;up&nbsp;grave,&nbsp;add&nbsp;loot,&nbsp;lose&nbsp;karma<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;local._karma&nbsp;=&nbsp;&lt;eval&nbsp;&lt;src.karma&gt;&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;local._karma&nbsp;-=&nbsp;10<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src.karma&nbsp;=&nbsp;&lt;dlocal._karma&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SRC.SYSMESSAGE&nbsp;@37&nbsp;You&nbsp;have&nbsp;lost&nbsp;some&nbsp;karma<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//get&nbsp;random&nbsp;number&nbsp;0-3<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;local._rnd_num&nbsp;=&nbsp;&lt;eval&nbsp;RAND(4)&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//respond&nbsp;to&nbsp;random&nbsp;number&nbsp;(maybe&nbsp;replace&nbsp;with&nbsp;a&nbsp;doswitch)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IF&nbsp;(&lt;eval&nbsp;&lt;local._rnd_num&gt;&gt;&nbsp;==&nbsp;0)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//you&nbsp;found&nbsp;nothing<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SRC.SYSMESSAGE&nbsp;You&nbsp;dig&nbsp;but&nbsp;find&nbsp;nothing.<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ELSEIF&nbsp;(&lt;local._rnd_num&gt;&nbsp;==&nbsp;1)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//you&nbsp;have&nbsp;disturbed&nbsp;the&nbsp;dead<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SRC.SYSMESSAGE&nbsp;@30&nbsp;You&nbsp;dig&nbsp;and&nbsp;disturb&nbsp;the&nbsp;dead.<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SERV.NEWNPC&nbsp;{c_zombie&nbsp;1&nbsp;c_skeleton&nbsp;1&nbsp;c_ghoul&nbsp;1}&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;NEW.P&nbsp;=&nbsp;&lt;src.targp.x&gt;,&lt;src.targp.y&gt;,&lt;eval&nbsp;&lt;src.targp.z&gt;+1&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ELSEIF&nbsp;(&lt;local._rnd_num&gt;&nbsp;==&nbsp;2)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//you&nbsp;found&nbsp;a&nbsp;body&nbsp;part<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SERV.NEWITEM&nbsp;random_body_part<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SRC.SYSMESSAGE&nbsp;@30&nbsp;Gross&nbsp;you&nbsp;found&nbsp;a&nbsp;body&nbsp;part.<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;NEW.BOUNCE<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ELSE<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//you&nbsp;found&nbsp;something<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SERV.NEWITEM&nbsp;{poor_gold_pile&nbsp;1&nbsp;random_jewelry&nbsp;1&nbsp;random_jewel&nbsp;1}&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SRC.SYSMESSAGE&nbsp;@70&nbsp;You&nbsp;found&nbsp;&lt;NEW.name&gt;.<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;NEW.BOUNCE<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ENDIF<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//reduce&nbsp;shovel&nbsp;uses<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;USESCUR&nbsp;--<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IF&nbsp;(&lt;USESCUR&gt;&lt;=0)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DESTROY&nbsp;1&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SRC.SYSMESSAGE&nbsp;Your&nbsp;shovel&nbsp;broke.<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ENDIF<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//store&nbsp;cords&nbsp;&amp;&nbsp;remove&nbsp;cords&nbsp;sometime&nbsp;laiter<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SERV.LIST._graves_dug_up.ADD&nbsp;&lt;src.targp&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;timerf&nbsp;&lt;dDEF.GRAVE_RESET_DELAY&gt;&nbsp;f_remove_grave_dugup_flag&nbsp;&lt;src.targp&gt;&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;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;1&nbsp;&nbsp;&nbsp;&nbsp;//&lt;--&nbsp;don'</span><span style="color: #0000BB">t&nbsp;run&nbsp;other&nbsp;events&nbsp;ie&nbsp;minning&nbsp;stuff<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">ENDIF<br /><br /><br /><br /></span><span style="color: #FF8000">///////////////////////////////////////////////////////<br />////&nbsp;FUYNCTION&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;f_remove_grave_dugup_flag&nbsp;&lt;args&gt;<br />////&nbsp;&nbsp;&nbsp;&nbsp;Param&nbsp;-&nbsp;&lt;args&gt;&nbsp;=&nbsp;expecting&nbsp;a&nbsp;&lt;P&gt;&nbsp;string&nbsp;equivelent<br />////&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;removes&nbsp;given&nbsp;cords&lt;args&gt;&nbsp;from&nbsp;SERV.LIST._graves_dug_up<br />////&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;this&nbsp;assumes&nbsp;the&nbsp;cords&nbsp;given&nbsp;in&nbsp;&lt;args&gt;&nbsp;exists<br />///////////////////////////////////////////////////////<br /></span><span style="color: #007700">[FUNCTION&nbsp;</span><span style="color: #0000BB">f_remove_grave_dugup_flag</span><span style="color: #007700">]<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//find&nbsp;the&nbsp;element&nbsp;that&nbsp;holds&nbsp;the&nbsp;cords,&nbsp;and&nbsp;remove&nbsp;it<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">SERV</span><span style="color: #007700">.LIST.</span><span style="color: #0000BB">_graves_dug_up</span><span style="color: #007700">.&lt;eval&nbsp;&lt;</span><span style="color: #0000BB">SERV</span><span style="color: #007700">.LIST.</span><span style="color: #0000BB">_graves_dug_up</span><span style="color: #007700">.</span><span style="color: #0000BB">FINDELEM&nbsp;</span><span style="color: #007700">&lt;</span><span style="color: #0000BB">args</span><span style="color: #007700">&gt;&gt;&gt;.</span><span style="color: #0000BB">REMOVE<br /><br /><br /></span><span style="color: #FF8000">///////////////////////////////////////////////////////////////<br />////&nbsp;&nbsp;&nbsp;&nbsp;Grave&nbsp;Tiles<br />///////////////////////////////////////////////////////////////<br /></span><span style="color: #007700">[</span><span style="color: #0000BB">MULTIDEF&nbsp;m_grave_ns</span><span style="color: #007700">]<br /></span><span style="color: #FF8000">//ID=98967F<br /></span><span style="color: #0000BB">NAME</span><span style="color: #007700">=</span><span style="color: #0000BB">Grave<br />TYPE</span><span style="color: #007700">=</span><span style="color: #0000BB">t_multi<br />CATEGORY</span><span style="color: #007700">=</span><span style="color: #0000BB">Multis<br />SUBSECTION</span><span style="color: #007700">=</span><span style="color: #0000BB">Misc<br />DESCRIPTION</span><span style="color: #007700">=</span><span style="color: #0000BB">Grave&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">north&nbsp;south</span><span style="color: #007700">)<br /></span><span style="color: #0000BB">MULTIREGION</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">,</span><span style="color: #0000BB">0</span><span style="color: #007700">,</span><span style="color: #0000BB">0<br />COMPONENT</span><span style="color: #007700">=</span><span style="color: #0000BB">00edf</span><span style="color: #007700">,</span><span style="color: #0000BB">0</span><span style="color: #007700">,</span><span style="color: #0000BB">0<br />COMPONENT</span><span style="color: #007700">=</span><span style="color: #0000BB">00ee1</span><span style="color: #007700">,</span><span style="color: #0000BB">0</span><span style="color: #007700">,-</span><span style="color: #0000BB">1<br /><br /></span><span style="color: #007700">[</span><span style="color: #0000BB">MULTIDEF&nbsp;m_grave_ew</span><span style="color: #007700">]<br /></span><span style="color: #FF8000">//ID=98967F<br /></span><span style="color: #0000BB">NAME</span><span style="color: #007700">=</span><span style="color: #0000BB">Grave<br />TYPE</span><span style="color: #007700">=</span><span style="color: #0000BB">t_multi<br />CATEGORY</span><span style="color: #007700">=</span><span style="color: #0000BB">Multis<br />SUBSECTION</span><span style="color: #007700">=</span><span style="color: #0000BB">Misc<br />DESCRIPTION</span><span style="color: #007700">=</span><span style="color: #0000BB">Grave&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">north&nbsp;south</span><span style="color: #007700">)<br /></span><span style="color: #0000BB">MULTIREGION</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">,</span><span style="color: #0000BB">0</span><span style="color: #007700">,</span><span style="color: #0000BB">0<br />COMPONENT</span><span style="color: #007700">=</span><span style="color: #0000BB">00ee0</span><span style="color: #007700">,</span><span style="color: #0000BB">0</span><span style="color: #007700">,</span><span style="color: #0000BB">0<br />COMPONENT</span><span style="color: #007700">=</span><span style="color: #0000BB">00ee2</span><span style="color: #007700">,-</span><span style="color: #0000BB">1</span><span style="color: #007700">,</span><span style="color: #0000BB">0<br /><br /></span><span style="color: #007700">[</span><span style="color: #0000BB">ITEMDEF&nbsp;0edf</span><span style="color: #007700">]<br /></span><span style="color: #0000BB">DEFNAME</span><span style="color: #007700">=</span><span style="color: #0000BB">i_grave<br />CATEGORY</span><span style="color: #007700">=</span><span style="color: #0000BB">Decoration&nbsp;</span><span style="color: #007700">-&nbsp;</span><span style="color: #0000BB">Dungeons&nbsp;</span><span style="color: #007700">and&nbsp;</span><span style="color: #0000BB">The&nbsp;Dead<br />SUBSECTION</span><span style="color: #007700">=</span><span style="color: #0000BB">Graves&nbsp;</span><span style="color: #007700">&amp;&nbsp;</span><span style="color: #0000BB">Gravestones<br />DESCRIPTION</span><span style="color: #007700">=</span><span style="color: #0000BB">Grave<br /></span><span style="color: #FF8000">//TAG._can_be_dug&nbsp;=&nbsp;1<br /></span><span style="color: #0000BB">DUPELIST</span><span style="color: #007700">=</span><span style="color: #0000BB">0ee0</span><span style="color: #007700">,</span><span style="color: #0000BB">0ee1</span><span style="color: #007700">,</span><span style="color: #0000BB">0ee2</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">0ed3&nbsp;</span><span style="color: #FF8000">//&lt;-&nbsp;these&nbsp;are&nbsp;also&nbsp;considered&nbsp;ID=0edf&nbsp;when&nbsp;querried&nbsp;OR&nbsp;i_grave<br /></span><span style="color: #0000BB">ON</span><span style="color: #007700">=@</span><span style="color: #0000BB">CREATE<br />&nbsp;&nbsp;&nbsp;&nbsp;ATTR</span><span style="color: #007700">=</span><span style="color: #0000BB">08010<br /><br /></span><span style="color: #007700">[</span><span style="color: #0000BB">ITEMDEF&nbsp;0ee0</span><span style="color: #007700">]<br /></span><span style="color: #FF8000">//grave<br /></span><span style="color: #0000BB">DUPEITEM</span><span style="color: #007700">=</span><span style="color: #0000BB">0edf<br />ON</span><span style="color: #007700">=@</span><span style="color: #0000BB">CREATE<br />&nbsp;&nbsp;&nbsp;&nbsp;ATTR</span><span style="color: #007700">=</span><span style="color: #0000BB">08010<br /><br /></span><span style="color: #007700">[</span><span style="color: #0000BB">ITEMDEF&nbsp;0ee1</span><span style="color: #007700">]<br /></span><span style="color: #FF8000">//grave<br /></span><span style="color: #0000BB">DUPEITEM</span><span style="color: #007700">=</span><span style="color: #0000BB">0edf<br />ON</span><span style="color: #007700">=@</span><span style="color: #0000BB">CREATE<br />&nbsp;&nbsp;&nbsp;&nbsp;ATTR</span><span style="color: #007700">=</span><span style="color: #0000BB">08010<br /><br /></span><span style="color: #007700">[</span><span style="color: #0000BB">ITEMDEF&nbsp;0ee2</span><span style="color: #007700">]<br /></span><span style="color: #FF8000">//grave<br /></span><span style="color: #0000BB">DUPEITEM</span><span style="color: #007700">=</span><span style="color: #0000BB">0edf<br />ON</span><span style="color: #007700">=@</span><span style="color: #0000BB">CREATE<br />&nbsp;&nbsp;&nbsp;&nbsp;ATTR</span><span style="color: #007700">=</span><span style="color: #0000BB">08010<br />&nbsp;&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #007700">[</span><span style="color: #0000BB">ITEMDEF&nbsp;0ed3</span><span style="color: #007700">]<br /></span><span style="color: #FF8000">//grave<br /></span><span style="color: #0000BB">DUPEITEM</span><span style="color: #007700">=</span><span style="color: #0000BB">0edf<br />ON</span><span style="color: #007700">=@</span><span style="color: #0000BB">CREATE<br />&nbsp;&nbsp;&nbsp;&nbsp;ATTR</span><span style="color: #007700">=</span><span style="color: #0000BB">08010<br /><br /><br /><br /></span><span style="color: #007700">[</span><span style="color: #0000BB">EOF</span><span style="color: #007700">]&nbsp;<br /></span></code></div></div></div>
<br />
<br />
Capes]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Logout anywere]]></title>
			<link>https://forum.spherecommunity.net/Thread-Logout-anywere</link>
			<pubDate>Wed, 11 Apr 2018 17:00:59 +0200</pubDate>
			<guid isPermaLink="false">https://forum.spherecommunity.net/Thread-Logout-anywere</guid>
			<description><![CDATA[This is a simple script to allow players to logout anywhere using kindling and a bedroll. 0.56d<br />
<br />
<div class="codeblock"><div class="title">PHP Code:<br />
</div><div class="body"><div dir="ltr"><code><span style="color: #007700">[</span><span style="color: #0000BB">ITEMDEF&nbsp;i_bedroll</span><span style="color: #007700">]<br /></span><span style="color: #0000BB">DEFNAME</span><span style="color: #007700">=</span><span style="color: #0000BB">i_bedroll<br />TYPE</span><span style="color: #007700">=</span><span style="color: #0000BB">t_bedroll<br />VALUE</span><span style="color: #007700">=</span><span style="color: #0000BB">136&nbsp;&nbsp;</span><span style="color: #FF8000">//maybe&nbsp;change&nbsp;value<br /></span><span style="color: #0000BB">WEIGHT</span><span style="color: #007700">=</span><span style="color: #0000BB">12.5<br />DUPELIST</span><span style="color: #007700">=</span><span style="color: #0000BB">01f25</span><span style="color: #007700">,</span><span style="color: #0000BB">01f26</span><span style="color: #007700">,</span><span style="color: #0000BB">01f27<br />ON</span><span style="color: #007700">=@</span><span style="color: #0000BB">DCLICK<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//store&nbsp;badroll&nbsp;for&nbsp;recovery<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">src</span><span style="color: #007700">.</span><span style="color: #0000BB">cTag</span><span style="color: #007700">.</span><span style="color: #0000BB">_bedroll&nbsp;</span><span style="color: #007700">=&nbsp;&lt;</span><span style="color: #0000BB">I</span><span style="color: #007700">.</span><span style="color: #0000BB">uid</span><span style="color: #007700">&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//look&nbsp;for&nbsp;a&nbsp;campfire&nbsp;with&nbsp;in&nbsp;2&nbsp;tiles<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">foritems&nbsp;2<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">IF&nbsp;(&lt;</span><span style="color: #0000BB">type</span><span style="color: #007700">&gt;&nbsp;==&nbsp;</span><span style="color: #0000BB">t_campfire</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//found&nbsp;a&nbsp;campfire,&nbsp;pass&nbsp;a&nbsp;camping&nbsp;skill&nbsp;check&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">IF&nbsp;(&lt;</span><span style="color: #0000BB">src</span><span style="color: #007700">.</span><span style="color: #0000BB">skillcheck&nbsp;10</span><span style="color: #007700">,</span><span style="color: #0000BB">20</span><span style="color: #007700">&gt;)<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">//show&nbsp;logout&nbsp;gump<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">src</span><span style="color: #007700">.</span><span style="color: #0000BB">sdialog&nbsp;d_log_out_gump<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;ELSE<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">SRC</span><span style="color: #007700">.</span><span style="color: #0000BB">SYSMESSAGE&nbsp;You&nbsp;were&nbsp;unable&nbsp;to&nbsp;secure&nbsp;this&nbsp;camp&nbsp;site</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;ENDIF<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ENDIF<br />&nbsp;&nbsp;&nbsp;&nbsp;endfor<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//if&nbsp;we&nbsp;made&nbsp;it&nbsp;here,&nbsp;there&nbsp;is&nbsp;no&nbsp;campfire&nbsp;in&nbsp;range<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">SRC</span><span style="color: #007700">.</span><span style="color: #0000BB">SYSMESSAGE&nbsp;To&nbsp;</span><span style="color: #007700">use&nbsp;</span><span style="color: #0000BB">a&nbsp;bedroll&nbsp;a&nbsp;campfire&nbsp;must&nbsp;be&nbsp;close</span><span style="color: #007700">.<br />&nbsp;&nbsp;&nbsp;&nbsp;return<br /><br />[</span><span style="color: #0000BB">DIALOG&nbsp;d_log_out_gump</span><span style="color: #007700">]<br /></span><span style="color: #0000BB">0</span><span style="color: #007700">,</span><span style="color: #0000BB">0<br />page&nbsp;0<br />resizepic&nbsp;280&nbsp;240&nbsp;9270&nbsp;232&nbsp;120<br />dtext&nbsp;339&nbsp;266&nbsp;1152&nbsp;Camp&nbsp;Site&nbsp;Secured</span><span style="color: #007700">!<br /></span><span style="color: #0000BB">dtext&nbsp;310&nbsp;286&nbsp;1152&nbsp;You&nbsp;may&nbsp;now&nbsp;logout&nbsp;safely</span><span style="color: #007700">.<br /></span><span style="color: #0000BB">button&nbsp;368&nbsp;320&nbsp;247&nbsp;249&nbsp;1&nbsp;0&nbsp;1<br />tilepic&nbsp;290&nbsp;255&nbsp;0FAC<br />tilepic&nbsp;460&nbsp;255&nbsp;0A59<br /><br /></span><span style="color: #007700">[</span><span style="color: #0000BB">DIALOG&nbsp;d_log_out_gump&nbsp;BUTTON</span><span style="color: #007700">]<br /></span><span style="color: #0000BB">ON</span><span style="color: #007700">=</span><span style="color: #0000BB">1<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//move&nbsp;bedroll&nbsp;back&nbsp;to&nbsp;inventory<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">UID</span><span style="color: #007700">.&lt;</span><span style="color: #0000BB">src</span><span style="color: #007700">.</span><span style="color: #0000BB">cTag</span><span style="color: #007700">.</span><span style="color: #0000BB">_bedroll</span><span style="color: #007700">&gt;.</span><span style="color: #0000BB">BOUNCE&nbsp;&nbsp;</span><span style="color: #FF8000">//maybe&nbsp;change&nbsp;to&nbsp;remove<br />&nbsp;&nbsp;&nbsp;&nbsp;//disconnect&nbsp;player&nbsp;after&nbsp;slight&nbsp;delay<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">timerf&nbsp;1</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">f_leave<br /><br /></span><span style="color: #007700">[FUNCTION&nbsp;</span><span style="color: #0000BB">f_leave</span><span style="color: #007700">]<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">TRYSRV&nbsp;serv</span><span style="color: #007700">.</span><span style="color: #0000BB">uid</span><span style="color: #007700">.&lt;</span><span style="color: #0000BB">uid</span><span style="color: #007700">&gt;.</span><span style="color: #0000BB">disconnect<br />&nbsp;&nbsp;&nbsp;&nbsp;timerf&nbsp;1</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">TRYSRV&nbsp;serv</span><span style="color: #007700">.</span><span style="color: #0000BB">uid</span><span style="color: #007700">.&lt;</span><span style="color: #0000BB">uid</span><span style="color: #007700">&gt;.</span><span style="color: #0000BB">disconnect&nbsp;<br /></span></code></div></div></div>
<br />
<br />
Capes]]></description>
			<content:encoded><![CDATA[This is a simple script to allow players to logout anywhere using kindling and a bedroll. 0.56d<br />
<br />
<div class="codeblock"><div class="title">PHP Code:<br />
</div><div class="body"><div dir="ltr"><code><span style="color: #007700">[</span><span style="color: #0000BB">ITEMDEF&nbsp;i_bedroll</span><span style="color: #007700">]<br /></span><span style="color: #0000BB">DEFNAME</span><span style="color: #007700">=</span><span style="color: #0000BB">i_bedroll<br />TYPE</span><span style="color: #007700">=</span><span style="color: #0000BB">t_bedroll<br />VALUE</span><span style="color: #007700">=</span><span style="color: #0000BB">136&nbsp;&nbsp;</span><span style="color: #FF8000">//maybe&nbsp;change&nbsp;value<br /></span><span style="color: #0000BB">WEIGHT</span><span style="color: #007700">=</span><span style="color: #0000BB">12.5<br />DUPELIST</span><span style="color: #007700">=</span><span style="color: #0000BB">01f25</span><span style="color: #007700">,</span><span style="color: #0000BB">01f26</span><span style="color: #007700">,</span><span style="color: #0000BB">01f27<br />ON</span><span style="color: #007700">=@</span><span style="color: #0000BB">DCLICK<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//store&nbsp;badroll&nbsp;for&nbsp;recovery<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">src</span><span style="color: #007700">.</span><span style="color: #0000BB">cTag</span><span style="color: #007700">.</span><span style="color: #0000BB">_bedroll&nbsp;</span><span style="color: #007700">=&nbsp;&lt;</span><span style="color: #0000BB">I</span><span style="color: #007700">.</span><span style="color: #0000BB">uid</span><span style="color: #007700">&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//look&nbsp;for&nbsp;a&nbsp;campfire&nbsp;with&nbsp;in&nbsp;2&nbsp;tiles<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">foritems&nbsp;2<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">IF&nbsp;(&lt;</span><span style="color: #0000BB">type</span><span style="color: #007700">&gt;&nbsp;==&nbsp;</span><span style="color: #0000BB">t_campfire</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//found&nbsp;a&nbsp;campfire,&nbsp;pass&nbsp;a&nbsp;camping&nbsp;skill&nbsp;check&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">IF&nbsp;(&lt;</span><span style="color: #0000BB">src</span><span style="color: #007700">.</span><span style="color: #0000BB">skillcheck&nbsp;10</span><span style="color: #007700">,</span><span style="color: #0000BB">20</span><span style="color: #007700">&gt;)<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">//show&nbsp;logout&nbsp;gump<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">src</span><span style="color: #007700">.</span><span style="color: #0000BB">sdialog&nbsp;d_log_out_gump<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;ELSE<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">SRC</span><span style="color: #007700">.</span><span style="color: #0000BB">SYSMESSAGE&nbsp;You&nbsp;were&nbsp;unable&nbsp;to&nbsp;secure&nbsp;this&nbsp;camp&nbsp;site</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;ENDIF<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ENDIF<br />&nbsp;&nbsp;&nbsp;&nbsp;endfor<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//if&nbsp;we&nbsp;made&nbsp;it&nbsp;here,&nbsp;there&nbsp;is&nbsp;no&nbsp;campfire&nbsp;in&nbsp;range<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">SRC</span><span style="color: #007700">.</span><span style="color: #0000BB">SYSMESSAGE&nbsp;To&nbsp;</span><span style="color: #007700">use&nbsp;</span><span style="color: #0000BB">a&nbsp;bedroll&nbsp;a&nbsp;campfire&nbsp;must&nbsp;be&nbsp;close</span><span style="color: #007700">.<br />&nbsp;&nbsp;&nbsp;&nbsp;return<br /><br />[</span><span style="color: #0000BB">DIALOG&nbsp;d_log_out_gump</span><span style="color: #007700">]<br /></span><span style="color: #0000BB">0</span><span style="color: #007700">,</span><span style="color: #0000BB">0<br />page&nbsp;0<br />resizepic&nbsp;280&nbsp;240&nbsp;9270&nbsp;232&nbsp;120<br />dtext&nbsp;339&nbsp;266&nbsp;1152&nbsp;Camp&nbsp;Site&nbsp;Secured</span><span style="color: #007700">!<br /></span><span style="color: #0000BB">dtext&nbsp;310&nbsp;286&nbsp;1152&nbsp;You&nbsp;may&nbsp;now&nbsp;logout&nbsp;safely</span><span style="color: #007700">.<br /></span><span style="color: #0000BB">button&nbsp;368&nbsp;320&nbsp;247&nbsp;249&nbsp;1&nbsp;0&nbsp;1<br />tilepic&nbsp;290&nbsp;255&nbsp;0FAC<br />tilepic&nbsp;460&nbsp;255&nbsp;0A59<br /><br /></span><span style="color: #007700">[</span><span style="color: #0000BB">DIALOG&nbsp;d_log_out_gump&nbsp;BUTTON</span><span style="color: #007700">]<br /></span><span style="color: #0000BB">ON</span><span style="color: #007700">=</span><span style="color: #0000BB">1<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//move&nbsp;bedroll&nbsp;back&nbsp;to&nbsp;inventory<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">UID</span><span style="color: #007700">.&lt;</span><span style="color: #0000BB">src</span><span style="color: #007700">.</span><span style="color: #0000BB">cTag</span><span style="color: #007700">.</span><span style="color: #0000BB">_bedroll</span><span style="color: #007700">&gt;.</span><span style="color: #0000BB">BOUNCE&nbsp;&nbsp;</span><span style="color: #FF8000">//maybe&nbsp;change&nbsp;to&nbsp;remove<br />&nbsp;&nbsp;&nbsp;&nbsp;//disconnect&nbsp;player&nbsp;after&nbsp;slight&nbsp;delay<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">timerf&nbsp;1</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">f_leave<br /><br /></span><span style="color: #007700">[FUNCTION&nbsp;</span><span style="color: #0000BB">f_leave</span><span style="color: #007700">]<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">TRYSRV&nbsp;serv</span><span style="color: #007700">.</span><span style="color: #0000BB">uid</span><span style="color: #007700">.&lt;</span><span style="color: #0000BB">uid</span><span style="color: #007700">&gt;.</span><span style="color: #0000BB">disconnect<br />&nbsp;&nbsp;&nbsp;&nbsp;timerf&nbsp;1</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">TRYSRV&nbsp;serv</span><span style="color: #007700">.</span><span style="color: #0000BB">uid</span><span style="color: #007700">.&lt;</span><span style="color: #0000BB">uid</span><span style="color: #007700">&gt;.</span><span style="color: #0000BB">disconnect&nbsp;<br /></span></code></div></div></div>
<br />
<br />
Capes]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[e_Carnivores - Making Carnivores hunt]]></title>
			<link>https://forum.spherecommunity.net/Thread-e-Carnivores-Making-Carnivores-hunt</link>
			<pubDate>Sat, 17 Mar 2018 13:36:10 +0100</pubDate>
			<guid isPermaLink="false">https://forum.spherecommunity.net/Thread-e-Carnivores-Making-Carnivores-hunt</guid>
			<description><![CDATA[Alright - since this community has been very helpful in answering my many questions regarding how sphere works and such, I am submitting my first script.   Please feel free to critique!<br />
<br />
0.56d nightly.<br />
Info - I noticed events in sphere_event_npcs.scp like e_Carnivores,e_Carnivores2 &amp; e_Carnivores3 were blank, and in the corresponding sphere_monsters.scp file all the code was already there for critters to be carnivores.<br />
<br />
This is my attempt to make animals hunt when hungry, provided that they are carnivores (if they have TEVENTS in their CHARDEF defined as e_Carnivores).  This only effects animals.<br />
<br />
1)<br />
Global variable (placed in sphere_serv_triggers.scp under [FUNCTION f_onserver_start])<br />
<br />
VAR.HUNGER_RATE_DECAY_TIME = 120<br />
<br />
/////////////////////////////////////////////////////<br />
/////  VAR.HUNGER_RATE_DECAY_TIME = 120<br />
////		(in secs)<br />
////		120 = every 2 mins at 20 mins per day cycle or reduced 10 times a day<br />
////		so critter with maxfood=10 will eat once a day<br />
/////////////////////////////////////////////////////<br />
<br />
2)<br />
Modified sphere_events_npc.scp [EVENTS]e_Carnivores,e_Carnivores2,e_Carnivores3 just like below<br />
<br />
[EVENTS e_Carnivores]<br />
// weak carnivores.<br />
ON=@CREATE<br />
    EVENTS +e_Hunger<br />
    f_setNeedsFood<br />
<br />
[EVENTS e_Carnivores2]<br />
// normal carnivores.<br />
ON=@CREATE<br />
    EVENTS +e_Hunger<br />
    f_setNeedsFood<br />
<br />
[EVENTS e_Carnivores3]<br />
// strong carnivores.<br />
ON=@CREATE<br />
    EVENTS +e_Hunger<br />
    f_setNeedsFood<br />
<br />
3)<br />
Added this to the bottom of sphere_events_npc.scp <br />
<br />
/////////////////////////////////////////////////////<br />
////	EVENT e_Hunger<br />
////	-our event handler for ON=@ HUNGER/KILL/DEATH<br />
////	-only executes when (hunger_in_effect) is set on animal<br />
////	-1)sets a new brain to animal and possible buff/debuff based on e__Carnivores TEVENTS<br />
////	-2)resets brain to animal after killing (eating) so it doesn't hunt anymore<br />
////	-3)cleans up mem from tags<br />
/////////////////////////////////////////////////////<br />
[EVENTS e_Hunger]<br />
ON=@HUNGER	//&lt;-- triggered from f_Hunger_handler<br />
    IF !(&lt;eval &lt;I.TAG.hunger_in_effect&gt;&gt;) <br />
        return //no hunger_in_effect so quit<br />
    ENDIF<br />
    //change brain and do something special for given e_Carnivore's type <br />
    IF ((STRCMPI(&lt;I.TEVENTS&gt;,e_Carnivores)==0) || (STRCMPI(&lt;I.TEVENTS&gt;,e_Carnivores)==1)))<br />
        //we are e_Carnivores (weak), do something<br />
		<br />
<br />
    ELSEIF ((STRCMPI(&lt;I.TEVENTS&gt;,e_Carnivores2)==0) || (STRCMPI(&lt;I.TEVENTS&gt;,e_Carnivores2)==1)))<br />
        //we are e_Carnivores2 (normal), do something<br />
		<br />
<br />
    ELSEIF ((STRCMPI(&lt;I.TEVENTS&gt;,e_Carnivores3)==0) || (STRCMPI(&lt;I.TEVENTS&gt;,e_Carnivores3)==1)))<br />
        //we are e_Carnivores3 (strong), do something<br />
		<br />
<br />
    ENDIF	<br />
    //we are hungry attack something (change brain)<br />
    I.NPC = brain_berserk<br />
<br />
ON=@KILL	//&lt;-- triggered after any kill<br />
    IF !(&lt;eval &lt;I.TAG.hunger_in_effect&gt;&gt;)<br />
        return //no hunger_in_effect so quit<br />
    ENDIF<br />
    //change back to animal brain, reset hunger lvl and restart timer<br />
    I.NPC = brain_animal<br />
    I.TAG.hunger_lvl =&lt;eval &lt;I.FOOD&gt;&gt;<br />
    I.TIMERF &lt;eval &lt;VAR.HUNGER_RATE_DECAY_TIME&gt;&gt; f_Hunger_handler<br />
<br />
ON=@DEATH	<br />
    IF !(&lt;eval &lt;I.TAG.hunger_in_effect&gt;&gt;)<br />
        return //no hunger_in_effect so quit<br />
    ENDIF<br />
    //clear hunger lvl tag &amp; hunger in effect from mem<br />
    I.TAG.hunger_lvl =<br />
    I.TAG.hunger_in_effect =<br />
<br />
/////////////////////////////////////////////////////<br />
////	FUNCTION f_setNeedsFood<br />
////	-prevents usage if not brain_animal (must be an animal)<br />
////	-set hunger lvl &amp; hunger in effect tags<br />
////	-starts our hunger handler<br />
/////////////////////////////////////////////////////<br />
[FUNCTION f_setNeedsFood]<br />
    //only do if this is an animal<br />
    //set variable to store hunger level &amp; set var to show hunger is in effect &amp; start timer<br />
    IF (&lt;NPC&gt; == brain_animal)<br />
        TAG.hunger_lvl = &lt;eval &lt;FOOD&gt;&gt;<br />
        //prevents other scripts from triggering our events<br />
        TAG.hunger_in_effect = 1<br />
        TIMERF &lt;eval &lt;VAR.HUNGER_RATE_DECAY_TIME&gt;&gt; f_Hunger_handler <br />
    ENDIF<br />
<br />
/////////////////////////////////////////////////////<br />
////	FUNCTION f_Hunger_handler<br />
////	-recursive routine<br />
////	-reduces hunger lvl by 1 each interval<br />
////	-stops loop and fires @HUNGER event of e_Hunger (events) above<br />
/////////////////////////////////////////////////////<br />
[FUNCTION f_Hunger_handler]<br />
    //reduce hunger lvl <br />
    I.TAG.hunger_lvl -= 1<br />
    //if hungry fire hunger trigger and exit otherwise run timer-func again<br />
    IF (&lt;eval &lt;I.TAG.hunger_lvl&gt;&gt; &lt;= 0)<br />
        //trigger hunger event<br />
        I.TRIGGER @HUNGER<br />
        return<br />
    ENDIF<br />
    TIMERF &lt;eval &lt;VAR.HUNGER_RATE_DECAY_TIME&gt;&gt; f_Hunger_handler<br />
<br />
/////////////////////////////////////////////////////<br />
<br />
<br />
I have left room for adding other behaviors in [EVENTS e_Hunger] if desired.<br />
<br />
Now I never know if that dam bear is gunna attack me or not!<br />
<br />
Thanks to everyone!<br />
Capes]]></description>
			<content:encoded><![CDATA[Alright - since this community has been very helpful in answering my many questions regarding how sphere works and such, I am submitting my first script.   Please feel free to critique!<br />
<br />
0.56d nightly.<br />
Info - I noticed events in sphere_event_npcs.scp like e_Carnivores,e_Carnivores2 &amp; e_Carnivores3 were blank, and in the corresponding sphere_monsters.scp file all the code was already there for critters to be carnivores.<br />
<br />
This is my attempt to make animals hunt when hungry, provided that they are carnivores (if they have TEVENTS in their CHARDEF defined as e_Carnivores).  This only effects animals.<br />
<br />
1)<br />
Global variable (placed in sphere_serv_triggers.scp under [FUNCTION f_onserver_start])<br />
<br />
VAR.HUNGER_RATE_DECAY_TIME = 120<br />
<br />
/////////////////////////////////////////////////////<br />
/////  VAR.HUNGER_RATE_DECAY_TIME = 120<br />
////		(in secs)<br />
////		120 = every 2 mins at 20 mins per day cycle or reduced 10 times a day<br />
////		so critter with maxfood=10 will eat once a day<br />
/////////////////////////////////////////////////////<br />
<br />
2)<br />
Modified sphere_events_npc.scp [EVENTS]e_Carnivores,e_Carnivores2,e_Carnivores3 just like below<br />
<br />
[EVENTS e_Carnivores]<br />
// weak carnivores.<br />
ON=@CREATE<br />
    EVENTS +e_Hunger<br />
    f_setNeedsFood<br />
<br />
[EVENTS e_Carnivores2]<br />
// normal carnivores.<br />
ON=@CREATE<br />
    EVENTS +e_Hunger<br />
    f_setNeedsFood<br />
<br />
[EVENTS e_Carnivores3]<br />
// strong carnivores.<br />
ON=@CREATE<br />
    EVENTS +e_Hunger<br />
    f_setNeedsFood<br />
<br />
3)<br />
Added this to the bottom of sphere_events_npc.scp <br />
<br />
/////////////////////////////////////////////////////<br />
////	EVENT e_Hunger<br />
////	-our event handler for ON=@ HUNGER/KILL/DEATH<br />
////	-only executes when (hunger_in_effect) is set on animal<br />
////	-1)sets a new brain to animal and possible buff/debuff based on e__Carnivores TEVENTS<br />
////	-2)resets brain to animal after killing (eating) so it doesn't hunt anymore<br />
////	-3)cleans up mem from tags<br />
/////////////////////////////////////////////////////<br />
[EVENTS e_Hunger]<br />
ON=@HUNGER	//&lt;-- triggered from f_Hunger_handler<br />
    IF !(&lt;eval &lt;I.TAG.hunger_in_effect&gt;&gt;) <br />
        return //no hunger_in_effect so quit<br />
    ENDIF<br />
    //change brain and do something special for given e_Carnivore's type <br />
    IF ((STRCMPI(&lt;I.TEVENTS&gt;,e_Carnivores)==0) || (STRCMPI(&lt;I.TEVENTS&gt;,e_Carnivores)==1)))<br />
        //we are e_Carnivores (weak), do something<br />
		<br />
<br />
    ELSEIF ((STRCMPI(&lt;I.TEVENTS&gt;,e_Carnivores2)==0) || (STRCMPI(&lt;I.TEVENTS&gt;,e_Carnivores2)==1)))<br />
        //we are e_Carnivores2 (normal), do something<br />
		<br />
<br />
    ELSEIF ((STRCMPI(&lt;I.TEVENTS&gt;,e_Carnivores3)==0) || (STRCMPI(&lt;I.TEVENTS&gt;,e_Carnivores3)==1)))<br />
        //we are e_Carnivores3 (strong), do something<br />
		<br />
<br />
    ENDIF	<br />
    //we are hungry attack something (change brain)<br />
    I.NPC = brain_berserk<br />
<br />
ON=@KILL	//&lt;-- triggered after any kill<br />
    IF !(&lt;eval &lt;I.TAG.hunger_in_effect&gt;&gt;)<br />
        return //no hunger_in_effect so quit<br />
    ENDIF<br />
    //change back to animal brain, reset hunger lvl and restart timer<br />
    I.NPC = brain_animal<br />
    I.TAG.hunger_lvl =&lt;eval &lt;I.FOOD&gt;&gt;<br />
    I.TIMERF &lt;eval &lt;VAR.HUNGER_RATE_DECAY_TIME&gt;&gt; f_Hunger_handler<br />
<br />
ON=@DEATH	<br />
    IF !(&lt;eval &lt;I.TAG.hunger_in_effect&gt;&gt;)<br />
        return //no hunger_in_effect so quit<br />
    ENDIF<br />
    //clear hunger lvl tag &amp; hunger in effect from mem<br />
    I.TAG.hunger_lvl =<br />
    I.TAG.hunger_in_effect =<br />
<br />
/////////////////////////////////////////////////////<br />
////	FUNCTION f_setNeedsFood<br />
////	-prevents usage if not brain_animal (must be an animal)<br />
////	-set hunger lvl &amp; hunger in effect tags<br />
////	-starts our hunger handler<br />
/////////////////////////////////////////////////////<br />
[FUNCTION f_setNeedsFood]<br />
    //only do if this is an animal<br />
    //set variable to store hunger level &amp; set var to show hunger is in effect &amp; start timer<br />
    IF (&lt;NPC&gt; == brain_animal)<br />
        TAG.hunger_lvl = &lt;eval &lt;FOOD&gt;&gt;<br />
        //prevents other scripts from triggering our events<br />
        TAG.hunger_in_effect = 1<br />
        TIMERF &lt;eval &lt;VAR.HUNGER_RATE_DECAY_TIME&gt;&gt; f_Hunger_handler <br />
    ENDIF<br />
<br />
/////////////////////////////////////////////////////<br />
////	FUNCTION f_Hunger_handler<br />
////	-recursive routine<br />
////	-reduces hunger lvl by 1 each interval<br />
////	-stops loop and fires @HUNGER event of e_Hunger (events) above<br />
/////////////////////////////////////////////////////<br />
[FUNCTION f_Hunger_handler]<br />
    //reduce hunger lvl <br />
    I.TAG.hunger_lvl -= 1<br />
    //if hungry fire hunger trigger and exit otherwise run timer-func again<br />
    IF (&lt;eval &lt;I.TAG.hunger_lvl&gt;&gt; &lt;= 0)<br />
        //trigger hunger event<br />
        I.TRIGGER @HUNGER<br />
        return<br />
    ENDIF<br />
    TIMERF &lt;eval &lt;VAR.HUNGER_RATE_DECAY_TIME&gt;&gt; f_Hunger_handler<br />
<br />
/////////////////////////////////////////////////////<br />
<br />
<br />
I have left room for adding other behaviors in [EVENTS e_Hunger] if desired.<br />
<br />
Now I never know if that dam bear is gunna attack me or not!<br />
<br />
Thanks to everyone!<br />
Capes]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Chardef Export (PHP+MySQL)]]></title>
			<link>https://forum.spherecommunity.net/Thread-Chardef-Export-PHP-MySQL</link>
			<pubDate>Tue, 30 Jan 2018 19:30:15 +0100</pubDate>
			<guid isPermaLink="false">https://forum.spherecommunity.net/Thread-Chardef-Export-PHP-MySQL</guid>
			<description><![CDATA[This is a PHP script that iterates through all your NPC script files, finds all the chardefs and exports pertinent data into a "chardefs" MySQL table.  Essentially, it does the same thing as the "f_add_rebuild" found in the default SQLite .add menu written by Xun and Ben, except rather than running the script inside Sphere, this just reads straight from the script files.  I have modified Ben and XuN's .add script to read from the MySQL table that this script outputs to, therefore eliminating the need to run "f_add_rebuild" every time you add or remove a char script.  I will add a quick write up on how to do that in the second post.<br />
<br />
<span style="color: #1E90FF;"><span style="font-weight: bold;">UPDATES:</span><br />
2/01/2018: <br />
- Expression searches are now case INsensitive ( CHARDEF = chardef )<br />
</span><br />
<br />
One benefit to this script is that it will also export stuff under the @Create trigger, properties that are only set when the character is actually spawned or created... so if you want to have some sort of monster compendium or bestiary on your website, you'd probably want to display the damage, strength, dexterity and intelligence ranges and whatnot.  It will search your icons script file to match the ICON property with the actual hexidecimal ID # for that icon item in the MUL files.  It will also truncate comments and eliminate white spaces from all variables before inserting them into the table.<br />
<br />
Example of the data put to work:<br />
<a href="http://www.gargoylepoop.com/bestiary" target="_blank">http://www.gargoylepoop.com/bestiary</a><br />
<br />
For this to work, you will either need to have a web server with PHP 5x or 7x and copy your NPC script files to that -OR- you can do it how I am and install PHP on your Sphere machine (Windows for me) and run the script using a batch file.  You then simply double click the batch file and watch the magic happen.  You'll also need to make sure MySQLi extension is enabled (it seems Windows' PHP does not have it enabled by default).  Of course, you also need a MySQL server somewhere.  You can't use mine <img src="images/smilies/biggrin.gif" style="vertical-align: middle;" border="0" alt="Big Grin" title="Big Grin" /><br />
<br />
How I have mine setup:<br />
C:\Sphere\php\EXPORT.bat<br />
C:\Sphere\php\chardef_export.php<br />
<br />
Batch file (adjust paths accordingly)<br />
<div class="codeblock">
<div class="title">Code:<br />
</div><div class="body" dir="ltr"><code>@echo off<br />
C:&#92;php&#92;php.exe C:&#92;Sphere&#92;php&#92;chardef_export.php<br />
echo Press any key to close...<br />
pause &gt;nul</code></div></div>
<br />
MySQL table structure:<br />

<br /><img src="images/attachtypes/image.png" border="0" alt=".jpg" />&nbsp;&nbsp;<a href="attachment.php?aid=435" target="_blank">table_structure.jpg</a> (Size: 131.27 KB / Downloads: 71)

<br /><img src="images/attachtypes/image.png" border="0" alt=".jpg" />&nbsp;&nbsp;<a href="attachment.php?aid=439" target="_blank">table_example.jpg</a> (Size: 136.72 KB / Downloads: 37)
<br />
<br />
<div class="codeblock"><div class="title">PHP Code:<br />
</div><div class="body"><div dir="ltr"><code><span style="color: #0000BB">CREATE&nbsp;TABLE&nbsp;</span><span style="color: #007700">`</span><span style="color: #DD0000">chardefs</span><span style="color: #007700">`&nbsp;(<br />&nbsp;`</span><span style="color: #DD0000">idx</span><span style="color: #007700">`&nbsp;</span><span style="color: #0000BB">int</span><span style="color: #007700">(</span><span style="color: #0000BB">11</span><span style="color: #007700">)&nbsp;</span><span style="color: #0000BB">NOT&nbsp;NULL&nbsp;AUTO_INCREMENT</span><span style="color: #007700">,<br />&nbsp;`</span><span style="color: #DD0000">id</span><span style="color: #007700">`&nbsp;</span><span style="color: #0000BB">varchar</span><span style="color: #007700">(</span><span style="color: #0000BB">30</span><span style="color: #007700">)&nbsp;DEFAULT&nbsp;</span><span style="color: #0000BB">NULL</span><span style="color: #007700">,<br />&nbsp;`</span><span style="color: #DD0000">baseid</span><span style="color: #007700">`&nbsp;</span><span style="color: #0000BB">text</span><span style="color: #007700">,<br />&nbsp;`</span><span style="color: #DD0000">defname</span><span style="color: #007700">`&nbsp;</span><span style="color: #0000BB">text</span><span style="color: #007700">,<br />&nbsp;`</span><span style="color: #DD0000">icon</span><span style="color: #007700">`&nbsp;</span><span style="color: #0000BB">varchar</span><span style="color: #007700">(</span><span style="color: #0000BB">10</span><span style="color: #007700">)&nbsp;DEFAULT&nbsp;</span><span style="color: #0000BB">NULL</span><span style="color: #007700">,<br />&nbsp;`</span><span style="color: #DD0000">bstat_str</span><span style="color: #007700">`&nbsp;</span><span style="color: #0000BB">varchar</span><span style="color: #007700">(</span><span style="color: #0000BB">30</span><span style="color: #007700">)&nbsp;DEFAULT&nbsp;</span><span style="color: #0000BB">NULL</span><span style="color: #007700">,<br />&nbsp;`</span><span style="color: #DD0000">bstat_dex</span><span style="color: #007700">`&nbsp;</span><span style="color: #0000BB">varchar</span><span style="color: #007700">(</span><span style="color: #0000BB">30</span><span style="color: #007700">)&nbsp;DEFAULT&nbsp;</span><span style="color: #0000BB">NULL</span><span style="color: #007700">,<br />&nbsp;`</span><span style="color: #DD0000">bstat_int</span><span style="color: #007700">`&nbsp;</span><span style="color: #0000BB">varchar</span><span style="color: #007700">(</span><span style="color: #0000BB">30</span><span style="color: #007700">)&nbsp;DEFAULT&nbsp;</span><span style="color: #0000BB">NULL</span><span style="color: #007700">,<br />&nbsp;`</span><span style="color: #DD0000">bstat_maxhits</span><span style="color: #007700">`&nbsp;</span><span style="color: #0000BB">varchar</span><span style="color: #007700">(</span><span style="color: #0000BB">30</span><span style="color: #007700">)&nbsp;DEFAULT&nbsp;</span><span style="color: #0000BB">NULL</span><span style="color: #007700">,<br />&nbsp;`</span><span style="color: #DD0000">damage</span><span style="color: #007700">`&nbsp;</span><span style="color: #0000BB">varchar</span><span style="color: #007700">(</span><span style="color: #0000BB">13</span><span style="color: #007700">)&nbsp;DEFAULT&nbsp;</span><span style="color: #0000BB">NULL</span><span style="color: #007700">,<br />&nbsp;`</span><span style="color: #DD0000">armor</span><span style="color: #007700">`&nbsp;</span><span style="color: #0000BB">varchar</span><span style="color: #007700">(</span><span style="color: #0000BB">20</span><span style="color: #007700">)&nbsp;DEFAULT&nbsp;</span><span style="color: #0000BB">NULL</span><span style="color: #007700">,<br />&nbsp;`</span><span style="color: #DD0000">barding_diff</span><span style="color: #007700">`&nbsp;</span><span style="color: #0000BB">varchar</span><span style="color: #007700">(</span><span style="color: #0000BB">6</span><span style="color: #007700">)&nbsp;DEFAULT&nbsp;</span><span style="color: #0000BB">NULL</span><span style="color: #007700">,<br />&nbsp;`</span><span style="color: #DD0000">fame</span><span style="color: #007700">`&nbsp;</span><span style="color: #0000BB">varchar</span><span style="color: #007700">(</span><span style="color: #0000BB">20</span><span style="color: #007700">)&nbsp;DEFAULT&nbsp;</span><span style="color: #0000BB">NULL</span><span style="color: #007700">,<br />&nbsp;`</span><span style="color: #DD0000">karma</span><span style="color: #007700">`&nbsp;</span><span style="color: #0000BB">varchar</span><span style="color: #007700">(</span><span style="color: #0000BB">20</span><span style="color: #007700">)&nbsp;DEFAULT&nbsp;</span><span style="color: #0000BB">NULL</span><span style="color: #007700">,<br />&nbsp;`</span><span style="color: #DD0000">color</span><span style="color: #007700">`&nbsp;</span><span style="color: #0000BB">varchar</span><span style="color: #007700">(</span><span style="color: #0000BB">20</span><span style="color: #007700">)&nbsp;</span><span style="color: #0000BB">NOT&nbsp;NULL&nbsp;</span><span style="color: #007700">DEFAULT&nbsp;</span><span style="color: #DD0000">'0'</span><span style="color: #007700">,<br />&nbsp;`</span><span style="color: #DD0000">resources</span><span style="color: #007700">`&nbsp;</span><span style="color: #0000BB">text</span><span style="color: #007700">,<br />&nbsp;`</span><span style="color: #DD0000">name</span><span style="color: #007700">`&nbsp;</span><span style="color: #0000BB">text</span><span style="color: #007700">,<br />&nbsp;`</span><span style="color: #DD0000">category</span><span style="color: #007700">`&nbsp;</span><span style="color: #0000BB">text</span><span style="color: #007700">,<br />&nbsp;`</span><span style="color: #DD0000">subsection</span><span style="color: #007700">`&nbsp;</span><span style="color: #0000BB">text</span><span style="color: #007700">,<br />&nbsp;`</span><span style="color: #DD0000">description</span><span style="color: #007700">`&nbsp;</span><span style="color: #0000BB">text</span><span style="color: #007700">,<br />&nbsp;</span><span style="color: #0000BB">PRIMARY&nbsp;KEY&nbsp;</span><span style="color: #007700">(`</span><span style="color: #DD0000">idx</span><span style="color: #007700">`),<br />&nbsp;</span><span style="color: #0000BB">UNIQUE&nbsp;KEY&nbsp;</span><span style="color: #007700">`</span><span style="color: #DD0000">id</span><span style="color: #007700">`&nbsp;(`</span><span style="color: #DD0000">id</span><span style="color: #007700">`)<br />)&nbsp;</span><span style="color: #0000BB">ENGINE</span><span style="color: #007700">=</span><span style="color: #0000BB">InnoDB&nbsp;</span><span style="color: #007700">DEFAULT&nbsp;</span><span style="color: #0000BB">CHARSET</span><span style="color: #007700">=</span><span style="color: #0000BB">utf&nbsp;<br /></span></code></div></div></div>
<br />
A screenshot of the script output:<br />

<br /><img src="images/attachtypes/image.png" border="0" alt=".jpg" />&nbsp;&nbsp;<a href="attachment.php?aid=437" target="_blank">output.jpg</a> (Size: 89.66 KB / Downloads: 63)
<br />
<br />
Your MySQL user will need all DATA privileges, along with DROP and ALTER.<br />
<br />
In the PHP script, alter your settings as needed.  You'll need to point the script to your NPC's folder (Sphere/scripts/npcs) and your pet icons file (Sphere/scripts/items/sphere_item_char_icons.scp).  If you have NPCs spread out everywhere, you can move them all together or you can alter the script to point to each directory.  Keep in mind, this script looks for the CHARDEF header in ALL .scp files in the directory, so if you have other files in the directory, it will still go through them but ignore everything unless it's a CHARDEF script.<br />
<br />
The script will run several thousand MySQL queries.  This should not be an issue if you have any half decent hardware.  For me, with an 6th gen i5 and 8gb of RAM, the script takes 15-17 seconds.<br />
<br />
With all that said, here ya go!  Have fun!<br />
<br />
The PHP script (chardef_export.php)<br />
<div class="codeblock"><div class="title">PHP Code:<br />
</div><div class="body"><div dir="ltr"><code><span style="color: #0000BB">&lt;?php<br /></span><span style="color: #FF8000">/*<br />Last&nbsp;Edit:&nbsp;2/01/2018<br />Written&nbsp;by&nbsp;n1ghtwish<br />*/<br /><br />//&nbsp;------&nbsp;SETTINGS&nbsp;-------<br />//&nbsp;MySQL&nbsp;connection&nbsp;info<br /></span><span style="color: #0000BB">&#36;INFO</span><span style="color: #007700">[</span><span style="color: #DD0000">'sql_host'</span><span style="color: #007700">]&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #DD0000">"YOUR&nbsp;HOST&nbsp;HERE"</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">&#36;INFO</span><span style="color: #007700">[</span><span style="color: #DD0000">'sql_user'</span><span style="color: #007700">]&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #DD0000">"MYSQL&nbsp;USER&nbsp;HERE"</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">&#36;INFO</span><span style="color: #007700">[</span><span style="color: #DD0000">'sql_pass'</span><span style="color: #007700">]&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #DD0000">"MYSQL&nbsp;PASSWORD&nbsp;HERE"</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">&#36;INFO</span><span style="color: #007700">[</span><span style="color: #DD0000">'sql_db'</span><span style="color: #007700">]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #DD0000">"DATABASE&nbsp;NAME"</span><span style="color: #007700">;<br /><br /></span><span style="color: #FF8000">//&nbsp;MySQL&nbsp;table&nbsp;to&nbsp;send&nbsp;data&nbsp;to<br /></span><span style="color: #0000BB">&#36;chardefTable&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #DD0000">"chardefs"</span><span style="color: #007700">;<br /><br /></span><span style="color: #FF8000">//&nbsp;Path&nbsp;to&nbsp;NPC&nbsp;script&nbsp;directory<br />//&nbsp;Might&nbsp;have&nbsp;to&nbsp;move&nbsp;some&nbsp;files&nbsp;around&nbsp;-OR-&nbsp;modify&nbsp;the&nbsp;script<br /></span><span style="color: #0000BB">&#36;scriptPath&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #DD0000">"C:/Sphere/scripts/npcs/"</span><span style="color: #007700">;<br /><br /></span><span style="color: #FF8000">//&nbsp;sphere_item_char_icons.scp&nbsp;(or&nbsp;whatever&nbsp;yours&nbsp;is&nbsp;called)<br /></span><span style="color: #0000BB">&#36;sphereIconsFile&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #DD0000">"C:/Sphere/scripts/items/sphere_item_char_icons.scp"</span><span style="color: #007700">;<br /><br /></span><span style="color: #FF8000">//&nbsp;icon&nbsp;to&nbsp;use&nbsp;for&nbsp;chardefs&nbsp;without&nbsp;one<br /></span><span style="color: #0000BB">&#36;noIcon&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #DD0000">"02100"</span><span style="color: #007700">;&nbsp;</span><span style="color: #FF8000">//&nbsp;wisp<br />//&nbsp;-------------------------------<br /><br /></span><span style="color: #0000BB">&#36;start&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">time</span><span style="color: #007700">();<br />echo&nbsp;</span><span style="color: #DD0000">"Connecting&nbsp;to&nbsp;MySQL&nbsp;database...&nbsp;&#092;n"</span><span style="color: #007700">;<br /></span><span style="color: #FF8000">//&nbsp;establish&nbsp;connection<br /></span><span style="color: #0000BB">&#36;conn&nbsp;</span><span style="color: #007700">=&nbsp;new&nbsp;</span><span style="color: #0000BB">MySQLi</span><span style="color: #007700">(</span><span style="color: #0000BB">&#36;INFO</span><span style="color: #007700">[</span><span style="color: #DD0000">'sql_host'</span><span style="color: #007700">],&nbsp;</span><span style="color: #0000BB">&#36;INFO</span><span style="color: #007700">[</span><span style="color: #DD0000">'sql_user'</span><span style="color: #007700">],&nbsp;</span><span style="color: #0000BB">&#36;INFO</span><span style="color: #007700">[</span><span style="color: #DD0000">'sql_pass'</span><span style="color: #007700">],&nbsp;</span><span style="color: #0000BB">&#36;INFO</span><span style="color: #007700">[</span><span style="color: #DD0000">'sql_db'</span><span style="color: #007700">])&nbsp;or&nbsp;die(</span><span style="color: #DD0000">"Connection&nbsp;failed:&nbsp;"&nbsp;</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">&#36;conn</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">connect_error</span><span style="color: #007700">);<br /><br />echo&nbsp;</span><span style="color: #DD0000">"Using&nbsp;table&nbsp;'</span><span style="color: #0000BB">&#36;chardefTable</span><span style="color: #DD0000">'...&nbsp;&#092;n"</span><span style="color: #007700">;<br />echo&nbsp;</span><span style="color: #DD0000">"Truncating&nbsp;table&nbsp;'</span><span style="color: #0000BB">&#36;chardefTable</span><span style="color: #DD0000">'...&nbsp;&#092;n&#092;n"</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">&#36;conn</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">query</span><span style="color: #007700">(</span><span style="color: #DD0000">"TRUNCATE&nbsp;TABLE&nbsp;</span><span style="color: #0000BB">&#36;chardefTable</span><span style="color: #DD0000">"</span><span style="color: #007700">)&nbsp;or&nbsp;die(</span><span style="color: #0000BB">&#36;conn</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">error</span><span style="color: #007700">);<br /><br /></span><span style="color: #0000BB">&#36;total&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">&#36;dir&nbsp;</span><span style="color: #007700">=&nbsp;new&nbsp;</span><span style="color: #0000BB">DirectoryIterator</span><span style="color: #007700">(</span><span style="color: #0000BB">&#36;scriptPath</span><span style="color: #007700">);<br />foreach&nbsp;(</span><span style="color: #0000BB">&#36;dir&nbsp;</span><span style="color: #007700">as&nbsp;</span><span style="color: #0000BB">&#36;file</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">&#36;file</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">getExtension</span><span style="color: #007700">()&nbsp;==&nbsp;</span><span style="color: #DD0000">"scp"</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;</span><span style="color: #DD0000">"Scanning&nbsp;</span><span style="color: #0000BB">&#36;file</span><span style="color: #DD0000">&nbsp;...&nbsp;&#092;n"</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">&#36;fullPath&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">&#36;scriptPath&nbsp;</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">&#36;file</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">&#36;total&nbsp;</span><span style="color: #007700">+=&nbsp;</span><span style="color: #0000BB">chardefExport</span><span style="color: #007700">(</span><span style="color: #0000BB">&#36;fullPath</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">&#36;file</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">&#36;conn</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />}<br /><br /></span><span style="color: #FF8000">//&nbsp;find&nbsp;and&nbsp;set&nbsp;missing&nbsp;icons<br /></span><span style="color: #0000BB">&#36;result&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">&#36;conn</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">query</span><span style="color: #007700">(</span><span style="color: #DD0000">"SELECT&nbsp;baseid&nbsp;FROM&nbsp;</span><span style="color: #0000BB">&#36;chardefTable</span><span style="color: #DD0000">&nbsp;WHERE&nbsp;icon&nbsp;IS&nbsp;NULL"</span><span style="color: #007700">)&nbsp;or&nbsp;die(</span><span style="color: #0000BB">&#36;conn</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">error</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">&#36;rows&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">&#36;result</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">num_rows</span><span style="color: #007700">;<br />echo&nbsp;</span><span style="color: #DD0000">"&#092;nFinding&nbsp;icons&nbsp;for&nbsp;</span><span style="color: #0000BB">&#36;rows</span><span style="color: #DD0000">&nbsp;non-base&nbsp;chardefs...&#092;n"</span><span style="color: #007700">;<br /><br />while&nbsp;(</span><span style="color: #0000BB">&#36;i&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">&#36;result</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">fetch_assoc</span><span style="color: #007700">()){<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">&#36;baseid&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">&#36;i</span><span style="color: #007700">[</span><span style="color: #DD0000">'baseid'</span><span style="color: #007700">];<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">&#36;icon&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">getMissingIcon</span><span style="color: #007700">(</span><span style="color: #0000BB">&#36;baseid</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">&#36;conn</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">&#36;conn</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">query</span><span style="color: #007700">(</span><span style="color: #DD0000">"UPDATE&nbsp;</span><span style="color: #0000BB">&#36;chardefTable</span><span style="color: #DD0000">&nbsp;SET&nbsp;icon&nbsp;=&nbsp;'</span><span style="color: #0000BB">&#36;icon</span><span style="color: #DD0000">'&nbsp;WHERE&nbsp;baseid&nbsp;=&nbsp;'</span><span style="color: #0000BB">&#36;baseid</span><span style="color: #DD0000">'"</span><span style="color: #007700">)&nbsp;or&nbsp;die(</span><span style="color: #0000BB">&#36;conn</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">error</span><span style="color: #007700">);<br />}<br /><br /></span><span style="color: #FF8000">//&nbsp;finally,&nbsp;add&nbsp;wisp&nbsp;icon&nbsp;to&nbsp;final&nbsp;rows&nbsp;without&nbsp;icon&nbsp;set<br /></span><span style="color: #0000BB">&#36;result&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">&#36;conn</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">query</span><span style="color: #007700">(</span><span style="color: #DD0000">"UPDATE&nbsp;</span><span style="color: #0000BB">&#36;chardefTable</span><span style="color: #DD0000">&nbsp;SET&nbsp;icon&nbsp;=&nbsp;'</span><span style="color: #0000BB">&#36;noIcon</span><span style="color: #DD0000">'&nbsp;WHERE&nbsp;icon&nbsp;=&nbsp;''&nbsp;OR&nbsp;icon&nbsp;IS&nbsp;NULL"</span><span style="color: #007700">)&nbsp;or&nbsp;die(</span><span style="color: #0000BB">&#36;conn</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">error</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">&#36;affected&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">&#36;conn</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">affected_rows</span><span style="color: #007700">;<br />echo&nbsp;</span><span style="color: #DD0000">"</span><span style="color: #0000BB">&#36;affected</span><span style="color: #DD0000">&nbsp;chardefs&nbsp;left&nbsp;without&nbsp;icon&nbsp;property,&nbsp;setting&nbsp;to&nbsp;'</span><span style="color: #0000BB">&#36;noIcon</span><span style="color: #DD0000">'.&nbsp;&#092;n"</span><span style="color: #007700">;<br /><br /></span><span style="color: #0000BB">&#36;end&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">time</span><span style="color: #007700">();<br /></span><span style="color: #0000BB">&#36;elapsed&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">&#36;end&nbsp;</span><span style="color: #007700">-&nbsp;</span><span style="color: #0000BB">&#36;start</span><span style="color: #007700">;<br /><br /></span><span style="color: #FF8000">//&nbsp;Yay,&nbsp;done!<br /></span><span style="color: #007700">echo&nbsp;</span><span style="color: #DD0000">"&#092;nYay,&nbsp;done!&nbsp;&nbsp;</span><span style="color: #0000BB">&#36;total</span><span style="color: #DD0000">&nbsp;TOTAL&nbsp;chardefs&nbsp;exported&nbsp;in&nbsp;</span><span style="color: #0000BB">&#36;elapsed</span><span style="color: #DD0000">&nbsp;seconds!&#092;n"</span><span style="color: #007700">;<br /><br />function&nbsp;</span><span style="color: #0000BB">getMissingIcon</span><span style="color: #007700">(</span><span style="color: #0000BB">&#36;baseid</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">&#36;conn</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;global&nbsp;</span><span style="color: #0000BB">&#36;chardefTable</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">&#36;result&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">&#36;conn</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">query</span><span style="color: #007700">(</span><span style="color: #DD0000">"SELECT&nbsp;icon&nbsp;FROM&nbsp;</span><span style="color: #0000BB">&#36;chardefTable</span><span style="color: #DD0000">&nbsp;WHERE&nbsp;defname&nbsp;=&nbsp;'</span><span style="color: #0000BB">&#36;baseid</span><span style="color: #DD0000">'"</span><span style="color: #007700">)&nbsp;or&nbsp;die(</span><span style="color: #0000BB">&#36;conn</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">error</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">&#36;i&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">&#36;result</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">fetch_assoc</span><span style="color: #007700">();<br />&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">&#36;i</span><span style="color: #007700">[</span><span style="color: #DD0000">'icon'</span><span style="color: #007700">];&nbsp;&nbsp;&nbsp;&nbsp;<br />}<br /><br />function&nbsp;</span><span style="color: #0000BB">findBaseHexIcon</span><span style="color: #007700">(</span><span style="color: #0000BB">&#36;icon_def</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;global&nbsp;</span><span style="color: #0000BB">&#36;sphereIconsFile</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">&#36;iconFile&nbsp;</span><span style="color: #007700">=&nbsp;new&nbsp;</span><span style="color: #0000BB">SplFileObject</span><span style="color: #007700">(</span><span style="color: #0000BB">&#36;sphereIconsFile</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">&#36;check&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #DD0000">"DEFNAME="&nbsp;</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">&#36;icon_def</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;foreach&nbsp;(</span><span style="color: #0000BB">&#36;iconFile&nbsp;</span><span style="color: #007700">as&nbsp;</span><span style="color: #0000BB">&#36;line</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">&#36;line&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">trim</span><span style="color: #007700">(</span><span style="color: #0000BB">&#36;line</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">preg_match</span><span style="color: #007700">(</span><span style="color: #DD0000">"/^&#092;&#092;[(ITEMDEF.*?)&#092;&#092;]/i"</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">&#36;line</span><span style="color: #007700">)){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">&#36;itemdef&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">trim</span><span style="color: #007700">(</span><span style="color: #0000BB">str_replace</span><span style="color: #007700">(array(</span><span style="color: #DD0000">'ITEMDEF'</span><span style="color: #007700">,</span><span style="color: #DD0000">'itemdef'</span><span style="color: #007700">,</span><span style="color: #DD0000">'['</span><span style="color: #007700">,</span><span style="color: #DD0000">']'</span><span style="color: #007700">),&nbsp;</span><span style="color: #DD0000">''</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">&#36;line</span><span style="color: #007700">));<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;continue;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;elseif&nbsp;(</span><span style="color: #0000BB">&#36;line&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #0000BB">&#36;check</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">&#36;itemdef</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />}<br /><br />function&nbsp;</span><span style="color: #0000BB">stripComments</span><span style="color: #007700">(</span><span style="color: #0000BB">&#36;string</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">preg_match</span><span style="color: #007700">(</span><span style="color: #DD0000">"/(&#092;/&#092;/)/"</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">&#36;string</span><span style="color: #007700">)){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">&#36;s&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">explode</span><span style="color: #007700">(</span><span style="color: #DD0000">"//"</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">&#36;string</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">&#36;s</span><span style="color: #007700">[</span><span style="color: #0000BB">0</span><span style="color: #007700">];<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">&#36;string</span><span style="color: #007700">;<br />}<br /><br />function&nbsp;</span><span style="color: #0000BB">chardefExport</span><span style="color: #007700">(</span><span style="color: #0000BB">&#36;file</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">&#36;fileName</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">&#36;conn</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;global&nbsp;</span><span style="color: #0000BB">&#36;chardefTable</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">&#36;scp&nbsp;</span><span style="color: #007700">=&nbsp;new&nbsp;</span><span style="color: #0000BB">SplFileObject</span><span style="color: #007700">(</span><span style="color: #0000BB">&#36;file</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">&#36;scp</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">setFlags</span><span style="color: #007700">(</span><span style="color: #0000BB">SplFileObject</span><span style="color: #007700">::</span><span style="color: #0000BB">SKIP_EMPTY</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">&#36;baseStat_prefix&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #DD0000">"bstat_"</span><span style="color: #007700">;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">&#36;count&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;foreach&nbsp;(</span><span style="color: #0000BB">&#36;scp&nbsp;</span><span style="color: #007700">as&nbsp;</span><span style="color: #0000BB">&#36;line</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">&#36;line&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">trim</span><span style="color: #007700">(</span><span style="color: #0000BB">&#36;line</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;LOCATE&nbsp;CHARDEF&nbsp;HEADER<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">if&nbsp;(</span><span style="color: #0000BB">preg_match</span><span style="color: #007700">(</span><span style="color: #DD0000">"/^&#092;&#092;[(CHARDEF.*?)&#092;&#092;]/i"</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">&#36;line</span><span style="color: #007700">)){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">&#36;chardef&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">trim</span><span style="color: #007700">(</span><span style="color: #0000BB">str_replace</span><span style="color: #007700">(array(</span><span style="color: #DD0000">'CHARDEF'</span><span style="color: #007700">,</span><span style="color: #DD0000">'chardef'</span><span style="color: #007700">,</span><span style="color: #DD0000">'['</span><span style="color: #007700">,</span><span style="color: #DD0000">']'</span><span style="color: #007700">),&nbsp;</span><span style="color: #DD0000">''</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">&#36;line</span><span style="color: #007700">));<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">&#36;color&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;continue;<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;(!isset(</span><span style="color: #0000BB">&#36;chardef</span><span style="color: #007700">))<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;continue;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;DETERMINE&nbsp;IF&nbsp;BASE&nbsp;CHARACTER,&nbsp;SET&nbsp;DEFNAME&nbsp;AND/OR&nbsp;ID<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">if&nbsp;(</span><span style="color: #0000BB">preg_match</span><span style="color: #007700">(</span><span style="color: #DD0000">"/(^DEFNAME=.*?)|(^ID=.*?)/i"</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">&#36;line</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">ctype_xdigit</span><span style="color: #007700">(</span><span style="color: #0000BB">&#36;chardef</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">&#36;base&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">&#36;id&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">&#36;chardef</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">preg_match</span><span style="color: #007700">(</span><span style="color: #DD0000">"/(^DEFNAME=.*?)/i"</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">&#36;line</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">&#36;d&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">explode</span><span style="color: #007700">(</span><span style="color: #DD0000">"="</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">&#36;line</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">&#36;defname&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">stripComments</span><span style="color: #007700">(</span><span style="color: #0000BB">trim</span><span style="color: #007700">(</span><span style="color: #0000BB">&#36;d</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;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">&#36;conn</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">query</span><span style="color: #007700">(</span><span style="color: #DD0000">"INSERT&nbsp;INTO&nbsp;</span><span style="color: #0000BB">&#36;chardefTable</span><span style="color: #DD0000">&nbsp;(id,&nbsp;defname)&nbsp;VALUES('</span><span style="color: #0000BB">&#36;id</span><span style="color: #DD0000">','</span><span style="color: #0000BB">&#36;defname</span><span style="color: #DD0000">')"</span><span style="color: #007700">)&nbsp;or&nbsp;die(</span><span style="color: #0000BB">&#36;conn</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">error</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;if&nbsp;(</span><span style="color: #0000BB">preg_match</span><span style="color: #007700">(</span><span style="color: #DD0000">"/(^ID=.*?)/i"</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">&#36;line</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">&#36;d&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">explode</span><span style="color: #007700">(</span><span style="color: #DD0000">"="</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">&#36;line</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">&#36;base_id&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">stripComments</span><span style="color: #007700">(</span><span style="color: #0000BB">trim</span><span style="color: #007700">(</span><span style="color: #0000BB">&#36;d</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;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">&#36;base&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">&#36;id&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">&#36;chardef</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">&#36;defname&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">&#36;chardef</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">&#36;conn</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">query</span><span style="color: #007700">(</span><span style="color: #DD0000">"INSERT&nbsp;INTO&nbsp;</span><span style="color: #0000BB">&#36;chardefTable</span><span style="color: #DD0000">&nbsp;(id,&nbsp;baseid,&nbsp;defname)&nbsp;VALUES('</span><span style="color: #0000BB">&#36;id</span><span style="color: #DD0000">','</span><span style="color: #0000BB">&#36;base_id</span><span style="color: #DD0000">','</span><span style="color: #0000BB">&#36;defname</span><span style="color: #DD0000">')"</span><span style="color: #007700">)&nbsp;or&nbsp;die(</span><span style="color: #0000BB">&#36;conn</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">error</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;</span><span style="color: #0000BB">&#36;count&nbsp;</span><span style="color: #007700">++;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;continue;<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;</span><span style="color: #FF8000">//&nbsp;GET&nbsp;PET&nbsp;ICONS&nbsp;FOR&nbsp;BASE&nbsp;CHARS&nbsp;OR&nbsp;OTHERS&nbsp;WITH&nbsp;ICON&nbsp;PROPERTY&nbsp;SET<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">if&nbsp;(</span><span style="color: #0000BB">preg_match</span><span style="color: #007700">(</span><span style="color: #DD0000">"/(^ICON=.*?)/i"</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">&#36;line</span><span style="color: #007700">)){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">&#36;d&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">explode</span><span style="color: #007700">(</span><span style="color: #DD0000">"="</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">&#36;line</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">&#36;icon&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">findBaseHexIcon</span><span style="color: #007700">(</span><span style="color: #0000BB">trim</span><span style="color: #007700">(</span><span style="color: #0000BB">&#36;d</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;</span><span style="color: #0000BB">&#36;conn</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">query</span><span style="color: #007700">(</span><span style="color: #DD0000">"UPDATE&nbsp;</span><span style="color: #0000BB">&#36;chardefTable</span><span style="color: #DD0000">&nbsp;SET&nbsp;icon&nbsp;=&nbsp;'</span><span style="color: #0000BB">&#36;icon</span><span style="color: #DD0000">'&nbsp;WHERE&nbsp;id&nbsp;=&nbsp;'</span><span style="color: #0000BB">&#36;chardef</span><span style="color: #DD0000">'"</span><span style="color: #007700">)&nbsp;or&nbsp;die(</span><span style="color: #0000BB">&#36;conn</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">error</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;continue;<br />&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;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;FIND&nbsp;DATA<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Data&nbsp;searches&nbsp;grouped&nbsp;in&nbsp;similar&nbsp;data&nbsp;formats<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;FAME&nbsp;/&nbsp;KARMA<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">if&nbsp;(</span><span style="color: #0000BB">preg_match</span><span style="color: #007700">(</span><span style="color: #DD0000">"/(^FAME=.*?)|(^KARMA=.*?)/i"</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">&#36;line</span><span style="color: #007700">)){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">&#36;d&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">explode</span><span style="color: #007700">(</span><span style="color: #DD0000">"="</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">&#36;line</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">&#36;s&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">trim</span><span style="color: #007700">(</span><span style="color: #0000BB">strtolower</span><span style="color: #007700">(</span><span style="color: #0000BB">&#36;d</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;</span><span style="color: #0000BB">&#36;i&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">trim</span><span style="color: #007700">(</span><span style="color: #0000BB">str_replace</span><span style="color: #007700">(array(</span><span style="color: #DD0000">'{'</span><span style="color: #007700">,</span><span style="color: #DD0000">'}'</span><span style="color: #007700">),&nbsp;</span><span style="color: #DD0000">''</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">&#36;d</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;</span><span style="color: #0000BB">&#36;data&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">stripComments</span><span style="color: #007700">(</span><span style="color: #0000BB">preg_replace</span><span style="color: #007700">(</span><span style="color: #DD0000">'/&#092;s+/'</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">'&nbsp;to&nbsp;'</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">&#36;i</span><span style="color: #007700">));<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">&#36;conn</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">query</span><span style="color: #007700">(</span><span style="color: #DD0000">"UPDATE&nbsp;</span><span style="color: #0000BB">&#36;chardefTable</span><span style="color: #DD0000">&nbsp;SET&nbsp;</span><span style="color: #0000BB">&#36;s</span><span style="color: #DD0000">&nbsp;=&nbsp;'</span><span style="color: #0000BB">&#36;data</span><span style="color: #DD0000">'&nbsp;WHERE&nbsp;id&nbsp;=&nbsp;'</span><span style="color: #0000BB">&#36;chardef</span><span style="color: #DD0000">'"</span><span style="color: #007700">)&nbsp;or&nbsp;die(</span><span style="color: #0000BB">&#36;conn</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">error</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;continue;<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;</span><span style="color: #FF8000">//&nbsp;FIND&nbsp;BASE&nbsp;STATS&nbsp;(STR,&nbsp;DEX,&nbsp;INT,&nbsp;MAXHITS)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;COLUMN&nbsp;STRUCTURE:&nbsp;bstat_str,&nbsp;bstat_int,&nbsp;etc...<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">if&nbsp;(</span><span style="color: #0000BB">preg_match</span><span style="color: #007700">(</span><span style="color: #DD0000">"/(^STR=.*?)|(^DEX=.*?)|(^INT=.*?)|(^MAXHITS=.*?)/i"</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">&#36;line</span><span style="color: #007700">)){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">&#36;d&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">explode</span><span style="color: #007700">(</span><span style="color: #DD0000">"="</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">&#36;line</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">&#36;s&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">trim</span><span style="color: #007700">(</span><span style="color: #0000BB">strtolower</span><span style="color: #007700">(</span><span style="color: #0000BB">&#36;d</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;</span><span style="color: #0000BB">&#36;i&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">trim</span><span style="color: #007700">(</span><span style="color: #0000BB">str_replace</span><span style="color: #007700">(array(</span><span style="color: #DD0000">'{'</span><span style="color: #007700">,</span><span style="color: #DD0000">'}'</span><span style="color: #007700">),&nbsp;</span><span style="color: #DD0000">''</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">&#36;d</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;</span><span style="color: #0000BB">&#36;data&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">stripComments</span><span style="color: #007700">(</span><span style="color: #0000BB">preg_replace</span><span style="color: #007700">(</span><span style="color: #DD0000">'/&#092;s+/'</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">'&nbsp;-&nbsp;'</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">&#36;i</span><span style="color: #007700">));<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">&#36;baseStat&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">&#36;baseStat_prefix</span><span style="color: #007700">.</span><span style="color: #0000BB">&#36;s</span><span style="color: #007700">;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">&#36;conn</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">query</span><span style="color: #007700">(</span><span style="color: #DD0000">"UPDATE&nbsp;</span><span style="color: #0000BB">&#36;chardefTable</span><span style="color: #DD0000">&nbsp;SET&nbsp;</span><span style="color: #0000BB">&#36;baseStat</span><span style="color: #DD0000">&nbsp;=&nbsp;'</span><span style="color: #0000BB">&#36;data</span><span style="color: #DD0000">'&nbsp;WHERE&nbsp;id&nbsp;=&nbsp;'</span><span style="color: #0000BB">&#36;chardef</span><span style="color: #DD0000">'"</span><span style="color: #007700">)&nbsp;or&nbsp;die(</span><span style="color: #0000BB">&#36;conn</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">error</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;continue;<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;</span><span style="color: #FF8000">//&nbsp;CATEGORY&nbsp;/&nbsp;SUBSECTION&nbsp;/&nbsp;DESCRIPTION&nbsp;/&nbsp;NAME&nbsp;/&nbsp;ARMOR&nbsp;/&nbsp;RESOURCES<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">if&nbsp;(</span><span style="color: #0000BB">preg_match</span><span style="color: #007700">(</span><span style="color: #DD0000">"/(^CATEGORY=.*?)|(^SUBSECTION=.*?)|(^DESCRIPTION=.*?)|(^NAME=.*?)|(^ARMOR=.*?)|(^&#8203;RESOURCES=.*?)/i"</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">&#36;line</span><span style="color: #007700">)){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">&#36;d&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">explode</span><span style="color: #007700">(</span><span style="color: #DD0000">"="</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">&#36;line</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">&#36;s&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">trim</span><span style="color: #007700">(</span><span style="color: #0000BB">strtolower</span><span style="color: #007700">(</span><span style="color: #0000BB">&#36;d</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;</span><span style="color: #0000BB">&#36;data&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">stripComments</span><span style="color: #007700">(</span><span style="color: #0000BB">trim</span><span style="color: #007700">(</span><span style="color: #0000BB">&#36;d</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;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">&#36;stmt&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">&#36;conn</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">prepare</span><span style="color: #007700">(</span><span style="color: #DD0000">"UPDATE&nbsp;</span><span style="color: #0000BB">&#36;chardefTable</span><span style="color: #DD0000">&nbsp;SET&nbsp;</span><span style="color: #0000BB">&#36;s</span><span style="color: #DD0000">&nbsp;=&nbsp;?&nbsp;WHERE&nbsp;id&nbsp;=&nbsp;'</span><span style="color: #0000BB">&#36;chardef</span><span style="color: #DD0000">'"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">&#36;stmt</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">bind_param</span><span style="color: #007700">(</span><span style="color: #DD0000">"s"</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">&#36;data</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">&#36;stmt</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">execute</span><span style="color: #007700">()&nbsp;or&nbsp;die(</span><span style="color: #0000BB">&#36;stmt</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">error</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;continue;<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;</span><span style="color: #FF8000">//&nbsp;DAMAGE&nbsp;PROPERTY<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">if&nbsp;(</span><span style="color: #0000BB">preg_match</span><span style="color: #007700">(</span><span style="color: #DD0000">"/(^DAM=.*?)/i"</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">&#36;line</span><span style="color: #007700">)){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">&#36;d&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">explode</span><span style="color: #007700">(</span><span style="color: #DD0000">"="</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">&#36;line</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">&#36;data&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">trim</span><span style="color: #007700">(</span><span style="color: #0000BB">&#36;d</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;</span><span style="color: #0000BB">&#36;dam&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">str_replace</span><span style="color: #007700">(</span><span style="color: #DD0000">","</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"&nbsp;-&nbsp;"</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">&#36;data</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">&#36;dmg&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">stripComments</span><span style="color: #007700">(</span><span style="color: #0000BB">&#36;dam</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">&#36;conn</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">query</span><span style="color: #007700">(</span><span style="color: #DD0000">"UPDATE&nbsp;</span><span style="color: #0000BB">&#36;chardefTable</span><span style="color: #DD0000">&nbsp;SET&nbsp;damage&nbsp;=&nbsp;'</span><span style="color: #0000BB">&#36;dmg</span><span style="color: #DD0000">'&nbsp;WHERE&nbsp;id&nbsp;=&nbsp;'</span><span style="color: #0000BB">&#36;chardef</span><span style="color: #DD0000">'"</span><span style="color: #007700">)&nbsp;or&nbsp;die(</span><span style="color: #0000BB">&#36;conn</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">error</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;continue;<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;BARDING&nbsp;DIFF<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">if&nbsp;(</span><span style="color: #0000BB">preg_match</span><span style="color: #007700">(</span><span style="color: #DD0000">"/(^tag&#092;.barding&#092;.diff=.*?)/i"</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">strtolower</span><span style="color: #007700">(</span><span style="color: #0000BB">&#36;line</span><span style="color: #007700">))){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">&#36;d&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">explode</span><span style="color: #007700">(</span><span style="color: #DD0000">"="</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">&#36;line</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">&#36;bdiff&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">rtrim</span><span style="color: #007700">(</span><span style="color: #0000BB">stripComments</span><span style="color: #007700">(</span><span style="color: #0000BB">&#36;d</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;</span><span style="color: #0000BB">&#36;conn</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">query</span><span style="color: #007700">(</span><span style="color: #DD0000">"UPDATE&nbsp;</span><span style="color: #0000BB">&#36;chardefTable</span><span style="color: #DD0000">&nbsp;SET&nbsp;barding_diff&nbsp;=&nbsp;'</span><span style="color: #0000BB">&#36;bdiff</span><span style="color: #DD0000">'&nbsp;WHERE&nbsp;id&nbsp;=&nbsp;'</span><span style="color: #0000BB">&#36;chardef</span><span style="color: #DD0000">'"</span><span style="color: #007700">)&nbsp;or&nbsp;die(</span><span style="color: #0000BB">&#36;conn</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">error</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;continue;<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;</span><span style="color: #FF8000">//&nbsp;COLOR<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">if&nbsp;(</span><span style="color: #0000BB">preg_match</span><span style="color: #007700">(</span><span style="color: #DD0000">"/(^COLOR=.*?)/i"</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">&#36;line</span><span style="color: #007700">)){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">&#36;d&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">explode</span><span style="color: #007700">(</span><span style="color: #DD0000">"="</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">&#36;line</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">&#36;data&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">&#36;d</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;if&nbsp;(</span><span style="color: #0000BB">ctype_xdigit</span><span style="color: #007700">(</span><span style="color: #0000BB">&#36;data</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">&#36;color&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">stripComments</span><span style="color: #007700">(</span><span style="color: #0000BB">&#36;data</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">&#36;conn</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">query</span><span style="color: #007700">(</span><span style="color: #DD0000">"UPDATE&nbsp;</span><span style="color: #0000BB">&#36;chardefTable</span><span style="color: #DD0000">&nbsp;SET&nbsp;color&nbsp;=&nbsp;'</span><span style="color: #0000BB">&#36;color</span><span style="color: #DD0000">'&nbsp;WHERE&nbsp;id&nbsp;=&nbsp;'</span><span style="color: #0000BB">&#36;chardef</span><span style="color: #DD0000">'"</span><span style="color: #007700">)&nbsp;or&nbsp;die(</span><span style="color: #0000BB">&#36;conn</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">error</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;}<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">&#36;count&nbsp;</span><span style="color: #007700">&lt;=&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;</span><span style="color: #DD0000">"No&nbsp;chardefs&nbsp;found&nbsp;in&nbsp;</span><span style="color: #0000BB">&#36;fileName</span><span style="color: #DD0000">&nbsp;&#092;n"</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;else&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;</span><span style="color: #DD0000">"</span><span style="color: #0000BB">&#36;count</span><span style="color: #DD0000">&nbsp;chardefs&nbsp;exported&nbsp;from&nbsp;</span><span style="color: #0000BB">&#36;fileName</span><span style="color: #DD0000">&nbsp;&#092;n"</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">&#36;count</span><span style="color: #007700">;<br />}&nbsp;<br /></span></code></div></div></div>
]]></description>
			<content:encoded><![CDATA[This is a PHP script that iterates through all your NPC script files, finds all the chardefs and exports pertinent data into a "chardefs" MySQL table.  Essentially, it does the same thing as the "f_add_rebuild" found in the default SQLite .add menu written by Xun and Ben, except rather than running the script inside Sphere, this just reads straight from the script files.  I have modified Ben and XuN's .add script to read from the MySQL table that this script outputs to, therefore eliminating the need to run "f_add_rebuild" every time you add or remove a char script.  I will add a quick write up on how to do that in the second post.<br />
<br />
<span style="color: #1E90FF;"><span style="font-weight: bold;">UPDATES:</span><br />
2/01/2018: <br />
- Expression searches are now case INsensitive ( CHARDEF = chardef )<br />
</span><br />
<br />
One benefit to this script is that it will also export stuff under the @Create trigger, properties that are only set when the character is actually spawned or created... so if you want to have some sort of monster compendium or bestiary on your website, you'd probably want to display the damage, strength, dexterity and intelligence ranges and whatnot.  It will search your icons script file to match the ICON property with the actual hexidecimal ID # for that icon item in the MUL files.  It will also truncate comments and eliminate white spaces from all variables before inserting them into the table.<br />
<br />
Example of the data put to work:<br />
<a href="http://www.gargoylepoop.com/bestiary" target="_blank">http://www.gargoylepoop.com/bestiary</a><br />
<br />
For this to work, you will either need to have a web server with PHP 5x or 7x and copy your NPC script files to that -OR- you can do it how I am and install PHP on your Sphere machine (Windows for me) and run the script using a batch file.  You then simply double click the batch file and watch the magic happen.  You'll also need to make sure MySQLi extension is enabled (it seems Windows' PHP does not have it enabled by default).  Of course, you also need a MySQL server somewhere.  You can't use mine <img src="images/smilies/biggrin.gif" style="vertical-align: middle;" border="0" alt="Big Grin" title="Big Grin" /><br />
<br />
How I have mine setup:<br />
C:\Sphere\php\EXPORT.bat<br />
C:\Sphere\php\chardef_export.php<br />
<br />
Batch file (adjust paths accordingly)<br />
<div class="codeblock">
<div class="title">Code:<br />
</div><div class="body" dir="ltr"><code>@echo off<br />
C:&#92;php&#92;php.exe C:&#92;Sphere&#92;php&#92;chardef_export.php<br />
echo Press any key to close...<br />
pause &gt;nul</code></div></div>
<br />
MySQL table structure:<br />

<br /><img src="images/attachtypes/image.png" border="0" alt=".jpg" />&nbsp;&nbsp;<a href="attachment.php?aid=435" target="_blank">table_structure.jpg</a> (Size: 131.27 KB / Downloads: 71)

<br /><img src="images/attachtypes/image.png" border="0" alt=".jpg" />&nbsp;&nbsp;<a href="attachment.php?aid=439" target="_blank">table_example.jpg</a> (Size: 136.72 KB / Downloads: 37)
<br />
<br />
<div class="codeblock"><div class="title">PHP Code:<br />
</div><div class="body"><div dir="ltr"><code><span style="color: #0000BB">CREATE&nbsp;TABLE&nbsp;</span><span style="color: #007700">`</span><span style="color: #DD0000">chardefs</span><span style="color: #007700">`&nbsp;(<br />&nbsp;`</span><span style="color: #DD0000">idx</span><span style="color: #007700">`&nbsp;</span><span style="color: #0000BB">int</span><span style="color: #007700">(</span><span style="color: #0000BB">11</span><span style="color: #007700">)&nbsp;</span><span style="color: #0000BB">NOT&nbsp;NULL&nbsp;AUTO_INCREMENT</span><span style="color: #007700">,<br />&nbsp;`</span><span style="color: #DD0000">id</span><span style="color: #007700">`&nbsp;</span><span style="color: #0000BB">varchar</span><span style="color: #007700">(</span><span style="color: #0000BB">30</span><span style="color: #007700">)&nbsp;DEFAULT&nbsp;</span><span style="color: #0000BB">NULL</span><span style="color: #007700">,<br />&nbsp;`</span><span style="color: #DD0000">baseid</span><span style="color: #007700">`&nbsp;</span><span style="color: #0000BB">text</span><span style="color: #007700">,<br />&nbsp;`</span><span style="color: #DD0000">defname</span><span style="color: #007700">`&nbsp;</span><span style="color: #0000BB">text</span><span style="color: #007700">,<br />&nbsp;`</span><span style="color: #DD0000">icon</span><span style="color: #007700">`&nbsp;</span><span style="color: #0000BB">varchar</span><span style="color: #007700">(</span><span style="color: #0000BB">10</span><span style="color: #007700">)&nbsp;DEFAULT&nbsp;</span><span style="color: #0000BB">NULL</span><span style="color: #007700">,<br />&nbsp;`</span><span style="color: #DD0000">bstat_str</span><span style="color: #007700">`&nbsp;</span><span style="color: #0000BB">varchar</span><span style="color: #007700">(</span><span style="color: #0000BB">30</span><span style="color: #007700">)&nbsp;DEFAULT&nbsp;</span><span style="color: #0000BB">NULL</span><span style="color: #007700">,<br />&nbsp;`</span><span style="color: #DD0000">bstat_dex</span><span style="color: #007700">`&nbsp;</span><span style="color: #0000BB">varchar</span><span style="color: #007700">(</span><span style="color: #0000BB">30</span><span style="color: #007700">)&nbsp;DEFAULT&nbsp;</span><span style="color: #0000BB">NULL</span><span style="color: #007700">,<br />&nbsp;`</span><span style="color: #DD0000">bstat_int</span><span style="color: #007700">`&nbsp;</span><span style="color: #0000BB">varchar</span><span style="color: #007700">(</span><span style="color: #0000BB">30</span><span style="color: #007700">)&nbsp;DEFAULT&nbsp;</span><span style="color: #0000BB">NULL</span><span style="color: #007700">,<br />&nbsp;`</span><span style="color: #DD0000">bstat_maxhits</span><span style="color: #007700">`&nbsp;</span><span style="color: #0000BB">varchar</span><span style="color: #007700">(</span><span style="color: #0000BB">30</span><span style="color: #007700">)&nbsp;DEFAULT&nbsp;</span><span style="color: #0000BB">NULL</span><span style="color: #007700">,<br />&nbsp;`</span><span style="color: #DD0000">damage</span><span style="color: #007700">`&nbsp;</span><span style="color: #0000BB">varchar</span><span style="color: #007700">(</span><span style="color: #0000BB">13</span><span style="color: #007700">)&nbsp;DEFAULT&nbsp;</span><span style="color: #0000BB">NULL</span><span style="color: #007700">,<br />&nbsp;`</span><span style="color: #DD0000">armor</span><span style="color: #007700">`&nbsp;</span><span style="color: #0000BB">varchar</span><span style="color: #007700">(</span><span style="color: #0000BB">20</span><span style="color: #007700">)&nbsp;DEFAULT&nbsp;</span><span style="color: #0000BB">NULL</span><span style="color: #007700">,<br />&nbsp;`</span><span style="color: #DD0000">barding_diff</span><span style="color: #007700">`&nbsp;</span><span style="color: #0000BB">varchar</span><span style="color: #007700">(</span><span style="color: #0000BB">6</span><span style="color: #007700">)&nbsp;DEFAULT&nbsp;</span><span style="color: #0000BB">NULL</span><span style="color: #007700">,<br />&nbsp;`</span><span style="color: #DD0000">fame</span><span style="color: #007700">`&nbsp;</span><span style="color: #0000BB">varchar</span><span style="color: #007700">(</span><span style="color: #0000BB">20</span><span style="color: #007700">)&nbsp;DEFAULT&nbsp;</span><span style="color: #0000BB">NULL</span><span style="color: #007700">,<br />&nbsp;`</span><span style="color: #DD0000">karma</span><span style="color: #007700">`&nbsp;</span><span style="color: #0000BB">varchar</span><span style="color: #007700">(</span><span style="color: #0000BB">20</span><span style="color: #007700">)&nbsp;DEFAULT&nbsp;</span><span style="color: #0000BB">NULL</span><span style="color: #007700">,<br />&nbsp;`</span><span style="color: #DD0000">color</span><span style="color: #007700">`&nbsp;</span><span style="color: #0000BB">varchar</span><span style="color: #007700">(</span><span style="color: #0000BB">20</span><span style="color: #007700">)&nbsp;</span><span style="color: #0000BB">NOT&nbsp;NULL&nbsp;</span><span style="color: #007700">DEFAULT&nbsp;</span><span style="color: #DD0000">'0'</span><span style="color: #007700">,<br />&nbsp;`</span><span style="color: #DD0000">resources</span><span style="color: #007700">`&nbsp;</span><span style="color: #0000BB">text</span><span style="color: #007700">,<br />&nbsp;`</span><span style="color: #DD0000">name</span><span style="color: #007700">`&nbsp;</span><span style="color: #0000BB">text</span><span style="color: #007700">,<br />&nbsp;`</span><span style="color: #DD0000">category</span><span style="color: #007700">`&nbsp;</span><span style="color: #0000BB">text</span><span style="color: #007700">,<br />&nbsp;`</span><span style="color: #DD0000">subsection</span><span style="color: #007700">`&nbsp;</span><span style="color: #0000BB">text</span><span style="color: #007700">,<br />&nbsp;`</span><span style="color: #DD0000">description</span><span style="color: #007700">`&nbsp;</span><span style="color: #0000BB">text</span><span style="color: #007700">,<br />&nbsp;</span><span style="color: #0000BB">PRIMARY&nbsp;KEY&nbsp;</span><span style="color: #007700">(`</span><span style="color: #DD0000">idx</span><span style="color: #007700">`),<br />&nbsp;</span><span style="color: #0000BB">UNIQUE&nbsp;KEY&nbsp;</span><span style="color: #007700">`</span><span style="color: #DD0000">id</span><span style="color: #007700">`&nbsp;(`</span><span style="color: #DD0000">id</span><span style="color: #007700">`)<br />)&nbsp;</span><span style="color: #0000BB">ENGINE</span><span style="color: #007700">=</span><span style="color: #0000BB">InnoDB&nbsp;</span><span style="color: #007700">DEFAULT&nbsp;</span><span style="color: #0000BB">CHARSET</span><span style="color: #007700">=</span><span style="color: #0000BB">utf&nbsp;<br /></span></code></div></div></div>
<br />
A screenshot of the script output:<br />

<br /><img src="images/attachtypes/image.png" border="0" alt=".jpg" />&nbsp;&nbsp;<a href="attachment.php?aid=437" target="_blank">output.jpg</a> (Size: 89.66 KB / Downloads: 63)
<br />
<br />
Your MySQL user will need all DATA privileges, along with DROP and ALTER.<br />
<br />
In the PHP script, alter your settings as needed.  You'll need to point the script to your NPC's folder (Sphere/scripts/npcs) and your pet icons file (Sphere/scripts/items/sphere_item_char_icons.scp).  If you have NPCs spread out everywhere, you can move them all together or you can alter the script to point to each directory.  Keep in mind, this script looks for the CHARDEF header in ALL .scp files in the directory, so if you have other files in the directory, it will still go through them but ignore everything unless it's a CHARDEF script.<br />
<br />
The script will run several thousand MySQL queries.  This should not be an issue if you have any half decent hardware.  For me, with an 6th gen i5 and 8gb of RAM, the script takes 15-17 seconds.<br />
<br />
With all that said, here ya go!  Have fun!<br />
<br />
The PHP script (chardef_export.php)<br />
<div class="codeblock"><div class="title">PHP Code:<br />
</div><div class="body"><div dir="ltr"><code><span style="color: #0000BB">&lt;?php<br /></span><span style="color: #FF8000">/*<br />Last&nbsp;Edit:&nbsp;2/01/2018<br />Written&nbsp;by&nbsp;n1ghtwish<br />*/<br /><br />//&nbsp;------&nbsp;SETTINGS&nbsp;-------<br />//&nbsp;MySQL&nbsp;connection&nbsp;info<br /></span><span style="color: #0000BB">&#36;INFO</span><span style="color: #007700">[</span><span style="color: #DD0000">'sql_host'</span><span style="color: #007700">]&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #DD0000">"YOUR&nbsp;HOST&nbsp;HERE"</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">&#36;INFO</span><span style="color: #007700">[</span><span style="color: #DD0000">'sql_user'</span><span style="color: #007700">]&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #DD0000">"MYSQL&nbsp;USER&nbsp;HERE"</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">&#36;INFO</span><span style="color: #007700">[</span><span style="color: #DD0000">'sql_pass'</span><span style="color: #007700">]&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #DD0000">"MYSQL&nbsp;PASSWORD&nbsp;HERE"</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">&#36;INFO</span><span style="color: #007700">[</span><span style="color: #DD0000">'sql_db'</span><span style="color: #007700">]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #DD0000">"DATABASE&nbsp;NAME"</span><span style="color: #007700">;<br /><br /></span><span style="color: #FF8000">//&nbsp;MySQL&nbsp;table&nbsp;to&nbsp;send&nbsp;data&nbsp;to<br /></span><span style="color: #0000BB">&#36;chardefTable&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #DD0000">"chardefs"</span><span style="color: #007700">;<br /><br /></span><span style="color: #FF8000">//&nbsp;Path&nbsp;to&nbsp;NPC&nbsp;script&nbsp;directory<br />//&nbsp;Might&nbsp;have&nbsp;to&nbsp;move&nbsp;some&nbsp;files&nbsp;around&nbsp;-OR-&nbsp;modify&nbsp;the&nbsp;script<br /></span><span style="color: #0000BB">&#36;scriptPath&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #DD0000">"C:/Sphere/scripts/npcs/"</span><span style="color: #007700">;<br /><br /></span><span style="color: #FF8000">//&nbsp;sphere_item_char_icons.scp&nbsp;(or&nbsp;whatever&nbsp;yours&nbsp;is&nbsp;called)<br /></span><span style="color: #0000BB">&#36;sphereIconsFile&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #DD0000">"C:/Sphere/scripts/items/sphere_item_char_icons.scp"</span><span style="color: #007700">;<br /><br /></span><span style="color: #FF8000">//&nbsp;icon&nbsp;to&nbsp;use&nbsp;for&nbsp;chardefs&nbsp;without&nbsp;one<br /></span><span style="color: #0000BB">&#36;noIcon&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #DD0000">"02100"</span><span style="color: #007700">;&nbsp;</span><span style="color: #FF8000">//&nbsp;wisp<br />//&nbsp;-------------------------------<br /><br /></span><span style="color: #0000BB">&#36;start&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">time</span><span style="color: #007700">();<br />echo&nbsp;</span><span style="color: #DD0000">"Connecting&nbsp;to&nbsp;MySQL&nbsp;database...&nbsp;&#092;n"</span><span style="color: #007700">;<br /></span><span style="color: #FF8000">//&nbsp;establish&nbsp;connection<br /></span><span style="color: #0000BB">&#36;conn&nbsp;</span><span style="color: #007700">=&nbsp;new&nbsp;</span><span style="color: #0000BB">MySQLi</span><span style="color: #007700">(</span><span style="color: #0000BB">&#36;INFO</span><span style="color: #007700">[</span><span style="color: #DD0000">'sql_host'</span><span style="color: #007700">],&nbsp;</span><span style="color: #0000BB">&#36;INFO</span><span style="color: #007700">[</span><span style="color: #DD0000">'sql_user'</span><span style="color: #007700">],&nbsp;</span><span style="color: #0000BB">&#36;INFO</span><span style="color: #007700">[</span><span style="color: #DD0000">'sql_pass'</span><span style="color: #007700">],&nbsp;</span><span style="color: #0000BB">&#36;INFO</span><span style="color: #007700">[</span><span style="color: #DD0000">'sql_db'</span><span style="color: #007700">])&nbsp;or&nbsp;die(</span><span style="color: #DD0000">"Connection&nbsp;failed:&nbsp;"&nbsp;</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">&#36;conn</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">connect_error</span><span style="color: #007700">);<br /><br />echo&nbsp;</span><span style="color: #DD0000">"Using&nbsp;table&nbsp;'</span><span style="color: #0000BB">&#36;chardefTable</span><span style="color: #DD0000">'...&nbsp;&#092;n"</span><span style="color: #007700">;<br />echo&nbsp;</span><span style="color: #DD0000">"Truncating&nbsp;table&nbsp;'</span><span style="color: #0000BB">&#36;chardefTable</span><span style="color: #DD0000">'...&nbsp;&#092;n&#092;n"</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">&#36;conn</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">query</span><span style="color: #007700">(</span><span style="color: #DD0000">"TRUNCATE&nbsp;TABLE&nbsp;</span><span style="color: #0000BB">&#36;chardefTable</span><span style="color: #DD0000">"</span><span style="color: #007700">)&nbsp;or&nbsp;die(</span><span style="color: #0000BB">&#36;conn</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">error</span><span style="color: #007700">);<br /><br /></span><span style="color: #0000BB">&#36;total&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">&#36;dir&nbsp;</span><span style="color: #007700">=&nbsp;new&nbsp;</span><span style="color: #0000BB">DirectoryIterator</span><span style="color: #007700">(</span><span style="color: #0000BB">&#36;scriptPath</span><span style="color: #007700">);<br />foreach&nbsp;(</span><span style="color: #0000BB">&#36;dir&nbsp;</span><span style="color: #007700">as&nbsp;</span><span style="color: #0000BB">&#36;file</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">&#36;file</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">getExtension</span><span style="color: #007700">()&nbsp;==&nbsp;</span><span style="color: #DD0000">"scp"</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;</span><span style="color: #DD0000">"Scanning&nbsp;</span><span style="color: #0000BB">&#36;file</span><span style="color: #DD0000">&nbsp;...&nbsp;&#092;n"</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">&#36;fullPath&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">&#36;scriptPath&nbsp;</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">&#36;file</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">&#36;total&nbsp;</span><span style="color: #007700">+=&nbsp;</span><span style="color: #0000BB">chardefExport</span><span style="color: #007700">(</span><span style="color: #0000BB">&#36;fullPath</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">&#36;file</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">&#36;conn</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />}<br /><br /></span><span style="color: #FF8000">//&nbsp;find&nbsp;and&nbsp;set&nbsp;missing&nbsp;icons<br /></span><span style="color: #0000BB">&#36;result&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">&#36;conn</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">query</span><span style="color: #007700">(</span><span style="color: #DD0000">"SELECT&nbsp;baseid&nbsp;FROM&nbsp;</span><span style="color: #0000BB">&#36;chardefTable</span><span style="color: #DD0000">&nbsp;WHERE&nbsp;icon&nbsp;IS&nbsp;NULL"</span><span style="color: #007700">)&nbsp;or&nbsp;die(</span><span style="color: #0000BB">&#36;conn</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">error</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">&#36;rows&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">&#36;result</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">num_rows</span><span style="color: #007700">;<br />echo&nbsp;</span><span style="color: #DD0000">"&#092;nFinding&nbsp;icons&nbsp;for&nbsp;</span><span style="color: #0000BB">&#36;rows</span><span style="color: #DD0000">&nbsp;non-base&nbsp;chardefs...&#092;n"</span><span style="color: #007700">;<br /><br />while&nbsp;(</span><span style="color: #0000BB">&#36;i&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">&#36;result</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">fetch_assoc</span><span style="color: #007700">()){<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">&#36;baseid&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">&#36;i</span><span style="color: #007700">[</span><span style="color: #DD0000">'baseid'</span><span style="color: #007700">];<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">&#36;icon&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">getMissingIcon</span><span style="color: #007700">(</span><span style="color: #0000BB">&#36;baseid</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">&#36;conn</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">&#36;conn</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">query</span><span style="color: #007700">(</span><span style="color: #DD0000">"UPDATE&nbsp;</span><span style="color: #0000BB">&#36;chardefTable</span><span style="color: #DD0000">&nbsp;SET&nbsp;icon&nbsp;=&nbsp;'</span><span style="color: #0000BB">&#36;icon</span><span style="color: #DD0000">'&nbsp;WHERE&nbsp;baseid&nbsp;=&nbsp;'</span><span style="color: #0000BB">&#36;baseid</span><span style="color: #DD0000">'"</span><span style="color: #007700">)&nbsp;or&nbsp;die(</span><span style="color: #0000BB">&#36;conn</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">error</span><span style="color: #007700">);<br />}<br /><br /></span><span style="color: #FF8000">//&nbsp;finally,&nbsp;add&nbsp;wisp&nbsp;icon&nbsp;to&nbsp;final&nbsp;rows&nbsp;without&nbsp;icon&nbsp;set<br /></span><span style="color: #0000BB">&#36;result&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">&#36;conn</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">query</span><span style="color: #007700">(</span><span style="color: #DD0000">"UPDATE&nbsp;</span><span style="color: #0000BB">&#36;chardefTable</span><span style="color: #DD0000">&nbsp;SET&nbsp;icon&nbsp;=&nbsp;'</span><span style="color: #0000BB">&#36;noIcon</span><span style="color: #DD0000">'&nbsp;WHERE&nbsp;icon&nbsp;=&nbsp;''&nbsp;OR&nbsp;icon&nbsp;IS&nbsp;NULL"</span><span style="color: #007700">)&nbsp;or&nbsp;die(</span><span style="color: #0000BB">&#36;conn</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">error</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">&#36;affected&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">&#36;conn</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">affected_rows</span><span style="color: #007700">;<br />echo&nbsp;</span><span style="color: #DD0000">"</span><span style="color: #0000BB">&#36;affected</span><span style="color: #DD0000">&nbsp;chardefs&nbsp;left&nbsp;without&nbsp;icon&nbsp;property,&nbsp;setting&nbsp;to&nbsp;'</span><span style="color: #0000BB">&#36;noIcon</span><span style="color: #DD0000">'.&nbsp;&#092;n"</span><span style="color: #007700">;<br /><br /></span><span style="color: #0000BB">&#36;end&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">time</span><span style="color: #007700">();<br /></span><span style="color: #0000BB">&#36;elapsed&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">&#36;end&nbsp;</span><span style="color: #007700">-&nbsp;</span><span style="color: #0000BB">&#36;start</span><span style="color: #007700">;<br /><br /></span><span style="color: #FF8000">//&nbsp;Yay,&nbsp;done!<br /></span><span style="color: #007700">echo&nbsp;</span><span style="color: #DD0000">"&#092;nYay,&nbsp;done!&nbsp;&nbsp;</span><span style="color: #0000BB">&#36;total</span><span style="color: #DD0000">&nbsp;TOTAL&nbsp;chardefs&nbsp;exported&nbsp;in&nbsp;</span><span style="color: #0000BB">&#36;elapsed</span><span style="color: #DD0000">&nbsp;seconds!&#092;n"</span><span style="color: #007700">;<br /><br />function&nbsp;</span><span style="color: #0000BB">getMissingIcon</span><span style="color: #007700">(</span><span style="color: #0000BB">&#36;baseid</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">&#36;conn</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;global&nbsp;</span><span style="color: #0000BB">&#36;chardefTable</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">&#36;result&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">&#36;conn</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">query</span><span style="color: #007700">(</span><span style="color: #DD0000">"SELECT&nbsp;icon&nbsp;FROM&nbsp;</span><span style="color: #0000BB">&#36;chardefTable</span><span style="color: #DD0000">&nbsp;WHERE&nbsp;defname&nbsp;=&nbsp;'</span><span style="color: #0000BB">&#36;baseid</span><span style="color: #DD0000">'"</span><span style="color: #007700">)&nbsp;or&nbsp;die(</span><span style="color: #0000BB">&#36;conn</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">error</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">&#36;i&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">&#36;result</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">fetch_assoc</span><span style="color: #007700">();<br />&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">&#36;i</span><span style="color: #007700">[</span><span style="color: #DD0000">'icon'</span><span style="color: #007700">];&nbsp;&nbsp;&nbsp;&nbsp;<br />}<br /><br />function&nbsp;</span><span style="color: #0000BB">findBaseHexIcon</span><span style="color: #007700">(</span><span style="color: #0000BB">&#36;icon_def</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;global&nbsp;</span><span style="color: #0000BB">&#36;sphereIconsFile</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">&#36;iconFile&nbsp;</span><span style="color: #007700">=&nbsp;new&nbsp;</span><span style="color: #0000BB">SplFileObject</span><span style="color: #007700">(</span><span style="color: #0000BB">&#36;sphereIconsFile</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">&#36;check&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #DD0000">"DEFNAME="&nbsp;</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">&#36;icon_def</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;foreach&nbsp;(</span><span style="color: #0000BB">&#36;iconFile&nbsp;</span><span style="color: #007700">as&nbsp;</span><span style="color: #0000BB">&#36;line</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">&#36;line&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">trim</span><span style="color: #007700">(</span><span style="color: #0000BB">&#36;line</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">preg_match</span><span style="color: #007700">(</span><span style="color: #DD0000">"/^&#092;&#092;[(ITEMDEF.*?)&#092;&#092;]/i"</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">&#36;line</span><span style="color: #007700">)){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">&#36;itemdef&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">trim</span><span style="color: #007700">(</span><span style="color: #0000BB">str_replace</span><span style="color: #007700">(array(</span><span style="color: #DD0000">'ITEMDEF'</span><span style="color: #007700">,</span><span style="color: #DD0000">'itemdef'</span><span style="color: #007700">,</span><span style="color: #DD0000">'['</span><span style="color: #007700">,</span><span style="color: #DD0000">']'</span><span style="color: #007700">),&nbsp;</span><span style="color: #DD0000">''</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">&#36;line</span><span style="color: #007700">));<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;continue;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;elseif&nbsp;(</span><span style="color: #0000BB">&#36;line&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #0000BB">&#36;check</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">&#36;itemdef</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />}<br /><br />function&nbsp;</span><span style="color: #0000BB">stripComments</span><span style="color: #007700">(</span><span style="color: #0000BB">&#36;string</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">preg_match</span><span style="color: #007700">(</span><span style="color: #DD0000">"/(&#092;/&#092;/)/"</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">&#36;string</span><span style="color: #007700">)){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">&#36;s&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">explode</span><span style="color: #007700">(</span><span style="color: #DD0000">"//"</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">&#36;string</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">&#36;s</span><span style="color: #007700">[</span><span style="color: #0000BB">0</span><span style="color: #007700">];<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">&#36;string</span><span style="color: #007700">;<br />}<br /><br />function&nbsp;</span><span style="color: #0000BB">chardefExport</span><span style="color: #007700">(</span><span style="color: #0000BB">&#36;file</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">&#36;fileName</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">&#36;conn</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;global&nbsp;</span><span style="color: #0000BB">&#36;chardefTable</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">&#36;scp&nbsp;</span><span style="color: #007700">=&nbsp;new&nbsp;</span><span style="color: #0000BB">SplFileObject</span><span style="color: #007700">(</span><span style="color: #0000BB">&#36;file</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">&#36;scp</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">setFlags</span><span style="color: #007700">(</span><span style="color: #0000BB">SplFileObject</span><span style="color: #007700">::</span><span style="color: #0000BB">SKIP_EMPTY</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">&#36;baseStat_prefix&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #DD0000">"bstat_"</span><span style="color: #007700">;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">&#36;count&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;foreach&nbsp;(</span><span style="color: #0000BB">&#36;scp&nbsp;</span><span style="color: #007700">as&nbsp;</span><span style="color: #0000BB">&#36;line</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">&#36;line&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">trim</span><span style="color: #007700">(</span><span style="color: #0000BB">&#36;line</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;LOCATE&nbsp;CHARDEF&nbsp;HEADER<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">if&nbsp;(</span><span style="color: #0000BB">preg_match</span><span style="color: #007700">(</span><span style="color: #DD0000">"/^&#092;&#092;[(CHARDEF.*?)&#092;&#092;]/i"</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">&#36;line</span><span style="color: #007700">)){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">&#36;chardef&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">trim</span><span style="color: #007700">(</span><span style="color: #0000BB">str_replace</span><span style="color: #007700">(array(</span><span style="color: #DD0000">'CHARDEF'</span><span style="color: #007700">,</span><span style="color: #DD0000">'chardef'</span><span style="color: #007700">,</span><span style="color: #DD0000">'['</span><span style="color: #007700">,</span><span style="color: #DD0000">']'</span><span style="color: #007700">),&nbsp;</span><span style="color: #DD0000">''</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">&#36;line</span><span style="color: #007700">));<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">&#36;color&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;continue;<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;(!isset(</span><span style="color: #0000BB">&#36;chardef</span><span style="color: #007700">))<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;continue;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;DETERMINE&nbsp;IF&nbsp;BASE&nbsp;CHARACTER,&nbsp;SET&nbsp;DEFNAME&nbsp;AND/OR&nbsp;ID<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">if&nbsp;(</span><span style="color: #0000BB">preg_match</span><span style="color: #007700">(</span><span style="color: #DD0000">"/(^DEFNAME=.*?)|(^ID=.*?)/i"</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">&#36;line</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">ctype_xdigit</span><span style="color: #007700">(</span><span style="color: #0000BB">&#36;chardef</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">&#36;base&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">&#36;id&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">&#36;chardef</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">preg_match</span><span style="color: #007700">(</span><span style="color: #DD0000">"/(^DEFNAME=.*?)/i"</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">&#36;line</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">&#36;d&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">explode</span><span style="color: #007700">(</span><span style="color: #DD0000">"="</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">&#36;line</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">&#36;defname&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">stripComments</span><span style="color: #007700">(</span><span style="color: #0000BB">trim</span><span style="color: #007700">(</span><span style="color: #0000BB">&#36;d</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;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">&#36;conn</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">query</span><span style="color: #007700">(</span><span style="color: #DD0000">"INSERT&nbsp;INTO&nbsp;</span><span style="color: #0000BB">&#36;chardefTable</span><span style="color: #DD0000">&nbsp;(id,&nbsp;defname)&nbsp;VALUES('</span><span style="color: #0000BB">&#36;id</span><span style="color: #DD0000">','</span><span style="color: #0000BB">&#36;defname</span><span style="color: #DD0000">')"</span><span style="color: #007700">)&nbsp;or&nbsp;die(</span><span style="color: #0000BB">&#36;conn</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">error</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;if&nbsp;(</span><span style="color: #0000BB">preg_match</span><span style="color: #007700">(</span><span style="color: #DD0000">"/(^ID=.*?)/i"</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">&#36;line</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">&#36;d&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">explode</span><span style="color: #007700">(</span><span style="color: #DD0000">"="</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">&#36;line</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">&#36;base_id&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">stripComments</span><span style="color: #007700">(</span><span style="color: #0000BB">trim</span><span style="color: #007700">(</span><span style="color: #0000BB">&#36;d</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;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">&#36;base&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">&#36;id&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">&#36;chardef</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">&#36;defname&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">&#36;chardef</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">&#36;conn</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">query</span><span style="color: #007700">(</span><span style="color: #DD0000">"INSERT&nbsp;INTO&nbsp;</span><span style="color: #0000BB">&#36;chardefTable</span><span style="color: #DD0000">&nbsp;(id,&nbsp;baseid,&nbsp;defname)&nbsp;VALUES('</span><span style="color: #0000BB">&#36;id</span><span style="color: #DD0000">','</span><span style="color: #0000BB">&#36;base_id</span><span style="color: #DD0000">','</span><span style="color: #0000BB">&#36;defname</span><span style="color: #DD0000">')"</span><span style="color: #007700">)&nbsp;or&nbsp;die(</span><span style="color: #0000BB">&#36;conn</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">error</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;</span><span style="color: #0000BB">&#36;count&nbsp;</span><span style="color: #007700">++;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;continue;<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;</span><span style="color: #FF8000">//&nbsp;GET&nbsp;PET&nbsp;ICONS&nbsp;FOR&nbsp;BASE&nbsp;CHARS&nbsp;OR&nbsp;OTHERS&nbsp;WITH&nbsp;ICON&nbsp;PROPERTY&nbsp;SET<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">if&nbsp;(</span><span style="color: #0000BB">preg_match</span><span style="color: #007700">(</span><span style="color: #DD0000">"/(^ICON=.*?)/i"</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">&#36;line</span><span style="color: #007700">)){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">&#36;d&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">explode</span><span style="color: #007700">(</span><span style="color: #DD0000">"="</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">&#36;line</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">&#36;icon&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">findBaseHexIcon</span><span style="color: #007700">(</span><span style="color: #0000BB">trim</span><span style="color: #007700">(</span><span style="color: #0000BB">&#36;d</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;</span><span style="color: #0000BB">&#36;conn</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">query</span><span style="color: #007700">(</span><span style="color: #DD0000">"UPDATE&nbsp;</span><span style="color: #0000BB">&#36;chardefTable</span><span style="color: #DD0000">&nbsp;SET&nbsp;icon&nbsp;=&nbsp;'</span><span style="color: #0000BB">&#36;icon</span><span style="color: #DD0000">'&nbsp;WHERE&nbsp;id&nbsp;=&nbsp;'</span><span style="color: #0000BB">&#36;chardef</span><span style="color: #DD0000">'"</span><span style="color: #007700">)&nbsp;or&nbsp;die(</span><span style="color: #0000BB">&#36;conn</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">error</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;continue;<br />&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;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;FIND&nbsp;DATA<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Data&nbsp;searches&nbsp;grouped&nbsp;in&nbsp;similar&nbsp;data&nbsp;formats<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;FAME&nbsp;/&nbsp;KARMA<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">if&nbsp;(</span><span style="color: #0000BB">preg_match</span><span style="color: #007700">(</span><span style="color: #DD0000">"/(^FAME=.*?)|(^KARMA=.*?)/i"</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">&#36;line</span><span style="color: #007700">)){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">&#36;d&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">explode</span><span style="color: #007700">(</span><span style="color: #DD0000">"="</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">&#36;line</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">&#36;s&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">trim</span><span style="color: #007700">(</span><span style="color: #0000BB">strtolower</span><span style="color: #007700">(</span><span style="color: #0000BB">&#36;d</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;</span><span style="color: #0000BB">&#36;i&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">trim</span><span style="color: #007700">(</span><span style="color: #0000BB">str_replace</span><span style="color: #007700">(array(</span><span style="color: #DD0000">'{'</span><span style="color: #007700">,</span><span style="color: #DD0000">'}'</span><span style="color: #007700">),&nbsp;</span><span style="color: #DD0000">''</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">&#36;d</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;</span><span style="color: #0000BB">&#36;data&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">stripComments</span><span style="color: #007700">(</span><span style="color: #0000BB">preg_replace</span><span style="color: #007700">(</span><span style="color: #DD0000">'/&#092;s+/'</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">'&nbsp;to&nbsp;'</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">&#36;i</span><span style="color: #007700">));<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">&#36;conn</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">query</span><span style="color: #007700">(</span><span style="color: #DD0000">"UPDATE&nbsp;</span><span style="color: #0000BB">&#36;chardefTable</span><span style="color: #DD0000">&nbsp;SET&nbsp;</span><span style="color: #0000BB">&#36;s</span><span style="color: #DD0000">&nbsp;=&nbsp;'</span><span style="color: #0000BB">&#36;data</span><span style="color: #DD0000">'&nbsp;WHERE&nbsp;id&nbsp;=&nbsp;'</span><span style="color: #0000BB">&#36;chardef</span><span style="color: #DD0000">'"</span><span style="color: #007700">)&nbsp;or&nbsp;die(</span><span style="color: #0000BB">&#36;conn</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">error</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;continue;<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;</span><span style="color: #FF8000">//&nbsp;FIND&nbsp;BASE&nbsp;STATS&nbsp;(STR,&nbsp;DEX,&nbsp;INT,&nbsp;MAXHITS)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;COLUMN&nbsp;STRUCTURE:&nbsp;bstat_str,&nbsp;bstat_int,&nbsp;etc...<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">if&nbsp;(</span><span style="color: #0000BB">preg_match</span><span style="color: #007700">(</span><span style="color: #DD0000">"/(^STR=.*?)|(^DEX=.*?)|(^INT=.*?)|(^MAXHITS=.*?)/i"</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">&#36;line</span><span style="color: #007700">)){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">&#36;d&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">explode</span><span style="color: #007700">(</span><span style="color: #DD0000">"="</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">&#36;line</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">&#36;s&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">trim</span><span style="color: #007700">(</span><span style="color: #0000BB">strtolower</span><span style="color: #007700">(</span><span style="color: #0000BB">&#36;d</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;</span><span style="color: #0000BB">&#36;i&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">trim</span><span style="color: #007700">(</span><span style="color: #0000BB">str_replace</span><span style="color: #007700">(array(</span><span style="color: #DD0000">'{'</span><span style="color: #007700">,</span><span style="color: #DD0000">'}'</span><span style="color: #007700">),&nbsp;</span><span style="color: #DD0000">''</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">&#36;d</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;</span><span style="color: #0000BB">&#36;data&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">stripComments</span><span style="color: #007700">(</span><span style="color: #0000BB">preg_replace</span><span style="color: #007700">(</span><span style="color: #DD0000">'/&#092;s+/'</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">'&nbsp;-&nbsp;'</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">&#36;i</span><span style="color: #007700">));<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">&#36;baseStat&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">&#36;baseStat_prefix</span><span style="color: #007700">.</span><span style="color: #0000BB">&#36;s</span><span style="color: #007700">;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">&#36;conn</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">query</span><span style="color: #007700">(</span><span style="color: #DD0000">"UPDATE&nbsp;</span><span style="color: #0000BB">&#36;chardefTable</span><span style="color: #DD0000">&nbsp;SET&nbsp;</span><span style="color: #0000BB">&#36;baseStat</span><span style="color: #DD0000">&nbsp;=&nbsp;'</span><span style="color: #0000BB">&#36;data</span><span style="color: #DD0000">'&nbsp;WHERE&nbsp;id&nbsp;=&nbsp;'</span><span style="color: #0000BB">&#36;chardef</span><span style="color: #DD0000">'"</span><span style="color: #007700">)&nbsp;or&nbsp;die(</span><span style="color: #0000BB">&#36;conn</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">error</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;continue;<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;</span><span style="color: #FF8000">//&nbsp;CATEGORY&nbsp;/&nbsp;SUBSECTION&nbsp;/&nbsp;DESCRIPTION&nbsp;/&nbsp;NAME&nbsp;/&nbsp;ARMOR&nbsp;/&nbsp;RESOURCES<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">if&nbsp;(</span><span style="color: #0000BB">preg_match</span><span style="color: #007700">(</span><span style="color: #DD0000">"/(^CATEGORY=.*?)|(^SUBSECTION=.*?)|(^DESCRIPTION=.*?)|(^NAME=.*?)|(^ARMOR=.*?)|(^&#8203;RESOURCES=.*?)/i"</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">&#36;line</span><span style="color: #007700">)){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">&#36;d&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">explode</span><span style="color: #007700">(</span><span style="color: #DD0000">"="</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">&#36;line</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">&#36;s&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">trim</span><span style="color: #007700">(</span><span style="color: #0000BB">strtolower</span><span style="color: #007700">(</span><span style="color: #0000BB">&#36;d</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;</span><span style="color: #0000BB">&#36;data&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">stripComments</span><span style="color: #007700">(</span><span style="color: #0000BB">trim</span><span style="color: #007700">(</span><span style="color: #0000BB">&#36;d</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;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">&#36;stmt&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">&#36;conn</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">prepare</span><span style="color: #007700">(</span><span style="color: #DD0000">"UPDATE&nbsp;</span><span style="color: #0000BB">&#36;chardefTable</span><span style="color: #DD0000">&nbsp;SET&nbsp;</span><span style="color: #0000BB">&#36;s</span><span style="color: #DD0000">&nbsp;=&nbsp;?&nbsp;WHERE&nbsp;id&nbsp;=&nbsp;'</span><span style="color: #0000BB">&#36;chardef</span><span style="color: #DD0000">'"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">&#36;stmt</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">bind_param</span><span style="color: #007700">(</span><span style="color: #DD0000">"s"</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">&#36;data</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">&#36;stmt</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">execute</span><span style="color: #007700">()&nbsp;or&nbsp;die(</span><span style="color: #0000BB">&#36;stmt</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">error</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;continue;<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;</span><span style="color: #FF8000">//&nbsp;DAMAGE&nbsp;PROPERTY<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">if&nbsp;(</span><span style="color: #0000BB">preg_match</span><span style="color: #007700">(</span><span style="color: #DD0000">"/(^DAM=.*?)/i"</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">&#36;line</span><span style="color: #007700">)){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">&#36;d&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">explode</span><span style="color: #007700">(</span><span style="color: #DD0000">"="</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">&#36;line</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">&#36;data&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">trim</span><span style="color: #007700">(</span><span style="color: #0000BB">&#36;d</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;</span><span style="color: #0000BB">&#36;dam&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">str_replace</span><span style="color: #007700">(</span><span style="color: #DD0000">","</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"&nbsp;-&nbsp;"</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">&#36;data</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">&#36;dmg&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">stripComments</span><span style="color: #007700">(</span><span style="color: #0000BB">&#36;dam</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">&#36;conn</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">query</span><span style="color: #007700">(</span><span style="color: #DD0000">"UPDATE&nbsp;</span><span style="color: #0000BB">&#36;chardefTable</span><span style="color: #DD0000">&nbsp;SET&nbsp;damage&nbsp;=&nbsp;'</span><span style="color: #0000BB">&#36;dmg</span><span style="color: #DD0000">'&nbsp;WHERE&nbsp;id&nbsp;=&nbsp;'</span><span style="color: #0000BB">&#36;chardef</span><span style="color: #DD0000">'"</span><span style="color: #007700">)&nbsp;or&nbsp;die(</span><span style="color: #0000BB">&#36;conn</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">error</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;continue;<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;BARDING&nbsp;DIFF<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">if&nbsp;(</span><span style="color: #0000BB">preg_match</span><span style="color: #007700">(</span><span style="color: #DD0000">"/(^tag&#092;.barding&#092;.diff=.*?)/i"</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">strtolower</span><span style="color: #007700">(</span><span style="color: #0000BB">&#36;line</span><span style="color: #007700">))){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">&#36;d&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">explode</span><span style="color: #007700">(</span><span style="color: #DD0000">"="</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">&#36;line</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">&#36;bdiff&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">rtrim</span><span style="color: #007700">(</span><span style="color: #0000BB">stripComments</span><span style="color: #007700">(</span><span style="color: #0000BB">&#36;d</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;</span><span style="color: #0000BB">&#36;conn</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">query</span><span style="color: #007700">(</span><span style="color: #DD0000">"UPDATE&nbsp;</span><span style="color: #0000BB">&#36;chardefTable</span><span style="color: #DD0000">&nbsp;SET&nbsp;barding_diff&nbsp;=&nbsp;'</span><span style="color: #0000BB">&#36;bdiff</span><span style="color: #DD0000">'&nbsp;WHERE&nbsp;id&nbsp;=&nbsp;'</span><span style="color: #0000BB">&#36;chardef</span><span style="color: #DD0000">'"</span><span style="color: #007700">)&nbsp;or&nbsp;die(</span><span style="color: #0000BB">&#36;conn</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">error</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;continue;<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;</span><span style="color: #FF8000">//&nbsp;COLOR<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">if&nbsp;(</span><span style="color: #0000BB">preg_match</span><span style="color: #007700">(</span><span style="color: #DD0000">"/(^COLOR=.*?)/i"</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">&#36;line</span><span style="color: #007700">)){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">&#36;d&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">explode</span><span style="color: #007700">(</span><span style="color: #DD0000">"="</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">&#36;line</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">&#36;data&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">&#36;d</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;if&nbsp;(</span><span style="color: #0000BB">ctype_xdigit</span><span style="color: #007700">(</span><span style="color: #0000BB">&#36;data</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">&#36;color&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">stripComments</span><span style="color: #007700">(</span><span style="color: #0000BB">&#36;data</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">&#36;conn</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">query</span><span style="color: #007700">(</span><span style="color: #DD0000">"UPDATE&nbsp;</span><span style="color: #0000BB">&#36;chardefTable</span><span style="color: #DD0000">&nbsp;SET&nbsp;color&nbsp;=&nbsp;'</span><span style="color: #0000BB">&#36;color</span><span style="color: #DD0000">'&nbsp;WHERE&nbsp;id&nbsp;=&nbsp;'</span><span style="color: #0000BB">&#36;chardef</span><span style="color: #DD0000">'"</span><span style="color: #007700">)&nbsp;or&nbsp;die(</span><span style="color: #0000BB">&#36;conn</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">error</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;}<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">&#36;count&nbsp;</span><span style="color: #007700">&lt;=&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;</span><span style="color: #DD0000">"No&nbsp;chardefs&nbsp;found&nbsp;in&nbsp;</span><span style="color: #0000BB">&#36;fileName</span><span style="color: #DD0000">&nbsp;&#092;n"</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;else&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;</span><span style="color: #DD0000">"</span><span style="color: #0000BB">&#36;count</span><span style="color: #DD0000">&nbsp;chardefs&nbsp;exported&nbsp;from&nbsp;</span><span style="color: #0000BB">&#36;fileName</span><span style="color: #DD0000">&nbsp;&#092;n"</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">&#36;count</span><span style="color: #007700">;<br />}&nbsp;<br /></span></code></div></div></div>
]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Dragon Shard - The Second Age Script Pack]]></title>
			<link>https://forum.spherecommunity.net/Thread-Dragon-Shard-The-Second-Age-Script-Pack</link>
			<pubDate>Wed, 08 Nov 2017 15:43:38 +0100</pubDate>
			<guid isPermaLink="false">https://forum.spherecommunity.net/Thread-Dragon-Shard-The-Second-Age-Script-Pack</guid>
			<description><![CDATA[As i decided to never again set Dragon Shard Online.... here is the last updated script pack of the server.<br />
<br />
<br />
<a href="https://github.com/joaoescribano/DragonShardScripts" target="_blank">https://github.com/joaoescribano/DragonShardScripts</a>]]></description>
			<content:encoded><![CDATA[As i decided to never again set Dragon Shard Online.... here is the last updated script pack of the server.<br />
<br />
<br />
<a href="https://github.com/joaoescribano/DragonShardScripts" target="_blank">https://github.com/joaoescribano/DragonShardScripts</a>]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Fixing wrong Z position]]></title>
			<link>https://forum.spherecommunity.net/Thread-Fixing-wrong-Z-position</link>
			<pubDate>Tue, 18 Jul 2017 17:59:51 +0200</pubDate>
			<guid isPermaLink="false">https://forum.spherecommunity.net/Thread-Fixing-wrong-Z-position</guid>
			<description><![CDATA[Have you ever tried to create an object/mobile at random places and figured out your items has been added underground? or get stuck trying to detecting the correctly Z point to add some item?<br />
<br />
Ok... me too! but not anymore!!!<br />
<br />
<div class="codeblock">
<div class="title">Code:<br />
</div><div class="body" dir="ltr"><code>[FUNCTION f_fix_z]<br />
local.z = &lt;z&gt;<br />
local.tz = &lt;serv.map(&lt;p.x&gt;,&lt;p.y&gt;).terrain.z&gt;<br />
<br />
if (&lt;abs &lt;eval (&lt;local.z&gt; - &lt;local.tz&gt;)&gt;&gt; &lt; 10)<br />
&nbsp;&nbsp;&nbsp;&nbsp;z &lt;local.tz&gt;<br />
else<br />
&nbsp;&nbsp;&nbsp;&nbsp;local.z &lt;local.tz&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;for x 1 &lt;serv.map(&lt;p.x&gt;,&lt;p.y&gt;).statics&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (&lt;abs &lt;eval (&lt;local.z&gt; - &lt;serv.map(&lt;p.x&gt;,&lt;p.y&gt;).statics.&lt;local.x&gt;.z&gt;)&gt;&gt; &lt; 10)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;local.z &lt;serv.map(&lt;p.x&gt;,&lt;p.y&gt;).statics.&lt;local.x&gt;.z&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;endif<br />
&nbsp;&nbsp;&nbsp;&nbsp;endfor<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;z &lt;local.z&gt;<br />
endif</code></div></div>
<br />
To use it, just need to call in any item or mobile after create at the desired position...<br />
<br />
The script will try to detect the correct Z position at X,Y based on:<br />
<br />
- The land Z point<br />
- The item Z point before the function (in case the item is added in structures with more than 1 floor)<br />
- The possible view/climbable height<br />
<br />
So... there is a lot do in this script, but.... it helped me A LOT!]]></description>
			<content:encoded><![CDATA[Have you ever tried to create an object/mobile at random places and figured out your items has been added underground? or get stuck trying to detecting the correctly Z point to add some item?<br />
<br />
Ok... me too! but not anymore!!!<br />
<br />
<div class="codeblock">
<div class="title">Code:<br />
</div><div class="body" dir="ltr"><code>[FUNCTION f_fix_z]<br />
local.z = &lt;z&gt;<br />
local.tz = &lt;serv.map(&lt;p.x&gt;,&lt;p.y&gt;).terrain.z&gt;<br />
<br />
if (&lt;abs &lt;eval (&lt;local.z&gt; - &lt;local.tz&gt;)&gt;&gt; &lt; 10)<br />
&nbsp;&nbsp;&nbsp;&nbsp;z &lt;local.tz&gt;<br />
else<br />
&nbsp;&nbsp;&nbsp;&nbsp;local.z &lt;local.tz&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;for x 1 &lt;serv.map(&lt;p.x&gt;,&lt;p.y&gt;).statics&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (&lt;abs &lt;eval (&lt;local.z&gt; - &lt;serv.map(&lt;p.x&gt;,&lt;p.y&gt;).statics.&lt;local.x&gt;.z&gt;)&gt;&gt; &lt; 10)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;local.z &lt;serv.map(&lt;p.x&gt;,&lt;p.y&gt;).statics.&lt;local.x&gt;.z&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;endif<br />
&nbsp;&nbsp;&nbsp;&nbsp;endfor<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;z &lt;local.z&gt;<br />
endif</code></div></div>
<br />
To use it, just need to call in any item or mobile after create at the desired position...<br />
<br />
The script will try to detect the correct Z position at X,Y based on:<br />
<br />
- The land Z point<br />
- The item Z point before the function (in case the item is added in structures with more than 1 floor)<br />
- The possible view/climbable height<br />
<br />
So... there is a lot do in this script, but.... it helped me A LOT!]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[[SOURCE] STRTOKEN]]></title>
			<link>https://forum.spherecommunity.net/Thread-SOURCE-STRTOKEN</link>
			<pubDate>Wed, 15 Feb 2017 18:15:20 +0100</pubDate>
			<guid isPermaLink="false">https://forum.spherecommunity.net/Thread-SOURCE-STRTOKEN</guid>
			<description><![CDATA[Addes STRTOKEN function to sphere;<br />
<br />
Usage: &lt;STRTOKEN text,n,seperator&gt;<br />
<br />
&lt;STRTOKEN a.b.c.d.e,3,.&gt; returns c<br />
&lt;STRTOKEN a.b.c.d.e,0,.&gt; returns 5<br />
&lt;STRTOKEN a.b.c.d.e,6,.&gt; returns null <br />
<br />
You can also specify a range of tokens:<br />
&lt;STRTOKEN a.b.c.d.e,2-,.&gt; returns 2nd token onwards = b.c.d.e<br />
&lt;STRTOKEN a.b.c.d.e,2-4,.&gt; returns tokens 2 through 4 = b.c.d<br />
<br />
Installation;<br />
<span style="font-weight: bold;">Note:</span> Please backup your files before starting to edit.<br />
<br />
<span style="font-style: italic;"><span style="font-weight: bold;">Open File: src/common/CScriptObj.cpp</span></span><br />
<br />
<span style="font-weight: bold;">find:</span><br />
<div class="codeblock">
<div class="title">Code:<br />
</div><div class="body" dir="ltr"><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case SSC_EXPLODE:</code></div></div>
<br />
<span style="font-weight: bold;">add before:</span><br />
<div class="codeblock">
<div class="title">Code:<br />
</div><div class="body" dir="ltr"><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case SSC_StrToken:<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;TCHAR * ppArgs[3];<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;size_t iQty = Str_ParseCmds(const_cast&lt;TCHAR *&gt;(pszKey), ppArgs, COUNTOF(ppArgs), ",");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if ( iQty &lt; 3 )<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return false;<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if ( *ppArgs[2] == '"' )<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ppArgs[2]++;<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;for (TCHAR * pEnd = ppArgs[2] + strlen(ppArgs[2]) - 1; pEnd &gt;= ppArgs[2]; pEnd--)<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;&nbsp;&nbsp;&nbsp;if ( *pEnd == '"' )<br />
&nbsp;&nbsp;&nbsp;&nbsp;&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;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*pEnd = '&#92;0';<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;break;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&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;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TCHAR * iSep = ppArgs[2];<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for (TCHAR *iSeperator = ppArgs[2] + strlen(ppArgs[2]) - 1; iSeperator &gt; ppArgs[2]; iSeperator--)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*iSeperator = '&#92;0';<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if ( *ppArgs[0] == '"' )<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ppArgs[0]++;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for (TCHAR * pEnd = ppArgs[0] + strlen(ppArgs[0]) - 1; pEnd &gt;= ppArgs[0]; pEnd--)<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;&nbsp;&nbsp;&nbsp;if ( *pEnd == '"' )<br />
&nbsp;&nbsp;&nbsp;&nbsp;&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;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*pEnd = '&#92;0';<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;break;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&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;}<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sVal = "";<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TCHAR *ppCmd[255];<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;size_t count = Str_ParseCmds(ppArgs[0], ppCmd, COUNTOF(ppCmd), iSep);<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TCHAR * ppArrays[2];<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;size_t iArrays = Str_ParseCmds(ppArgs[1], ppArrays, COUNTOF(ppArrays), "-");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;INT64&nbsp;&nbsp;&nbsp;&nbsp;iValue = Exp_GetVal(ppArgs[1]);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;INT64 &nbsp;&nbsp;&nbsp;&nbsp;iValueEnd = iValue;<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 (iArrays &gt; 1)<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;&nbsp;&nbsp;&nbsp;iValue = Exp_GetVal(ppArrays[0]);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;iValueEnd = Exp_GetVal(ppArrays[1]);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (iValueEnd &lt;= 0 || iValueEnd &gt; count)<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;iValueEnd = count;&nbsp;&nbsp;&nbsp;&nbsp;&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;}<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 (iValue &lt; 0)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return false;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else if (iValue &gt; 0)<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;&nbsp;&nbsp;&nbsp;if (iValue &gt; count)<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;return false;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else if (iValue == iValueEnd)<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;sVal = ppCmd[iValue - 1];<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&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;&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;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sVal.Add(ppCmd[iValue - 1]);<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;INT64 i = iValue + 1;<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;for ( ; i &lt;= iValueEnd; i++)<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;{<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;&nbsp;&nbsp;sVal.Add(iSep);<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;&nbsp;&nbsp;sVal.Add(ppCmd[i - 1]);<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;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&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;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&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;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sVal.FormatVal(static_cast&lt;long&gt;(count));<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;return true;</code></div></div>
<br />
<span style="font-style: italic;"><span style="font-weight: bold;">Open File: src/tables/CScriptObj_functions.tbl</span></span><br />
<br />
<span style="font-weight: bold;">find:</span><br />
<div class="codeblock">
<div class="title">Code:<br />
</div><div class="body" dir="ltr"><code>ADD(StrSub,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"StrSub")</code></div></div>
<br />
<span style="font-weight: bold;">add after:</span><br />
<div class="codeblock">
<div class="title">Code:<br />
</div><div class="body" dir="ltr"><code>ADD(StrToken,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"StrToken")</code></div></div>
]]></description>
			<content:encoded><![CDATA[Addes STRTOKEN function to sphere;<br />
<br />
Usage: &lt;STRTOKEN text,n,seperator&gt;<br />
<br />
&lt;STRTOKEN a.b.c.d.e,3,.&gt; returns c<br />
&lt;STRTOKEN a.b.c.d.e,0,.&gt; returns 5<br />
&lt;STRTOKEN a.b.c.d.e,6,.&gt; returns null <br />
<br />
You can also specify a range of tokens:<br />
&lt;STRTOKEN a.b.c.d.e,2-,.&gt; returns 2nd token onwards = b.c.d.e<br />
&lt;STRTOKEN a.b.c.d.e,2-4,.&gt; returns tokens 2 through 4 = b.c.d<br />
<br />
Installation;<br />
<span style="font-weight: bold;">Note:</span> Please backup your files before starting to edit.<br />
<br />
<span style="font-style: italic;"><span style="font-weight: bold;">Open File: src/common/CScriptObj.cpp</span></span><br />
<br />
<span style="font-weight: bold;">find:</span><br />
<div class="codeblock">
<div class="title">Code:<br />
</div><div class="body" dir="ltr"><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case SSC_EXPLODE:</code></div></div>
<br />
<span style="font-weight: bold;">add before:</span><br />
<div class="codeblock">
<div class="title">Code:<br />
</div><div class="body" dir="ltr"><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case SSC_StrToken:<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;TCHAR * ppArgs[3];<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;size_t iQty = Str_ParseCmds(const_cast&lt;TCHAR *&gt;(pszKey), ppArgs, COUNTOF(ppArgs), ",");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if ( iQty &lt; 3 )<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return false;<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if ( *ppArgs[2] == '"' )<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ppArgs[2]++;<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;for (TCHAR * pEnd = ppArgs[2] + strlen(ppArgs[2]) - 1; pEnd &gt;= ppArgs[2]; pEnd--)<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;&nbsp;&nbsp;&nbsp;if ( *pEnd == '"' )<br />
&nbsp;&nbsp;&nbsp;&nbsp;&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;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*pEnd = '&#92;0';<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;break;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&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;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TCHAR * iSep = ppArgs[2];<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for (TCHAR *iSeperator = ppArgs[2] + strlen(ppArgs[2]) - 1; iSeperator &gt; ppArgs[2]; iSeperator--)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*iSeperator = '&#92;0';<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if ( *ppArgs[0] == '"' )<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ppArgs[0]++;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for (TCHAR * pEnd = ppArgs[0] + strlen(ppArgs[0]) - 1; pEnd &gt;= ppArgs[0]; pEnd--)<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;&nbsp;&nbsp;&nbsp;if ( *pEnd == '"' )<br />
&nbsp;&nbsp;&nbsp;&nbsp;&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;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*pEnd = '&#92;0';<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;break;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&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;}<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sVal = "";<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TCHAR *ppCmd[255];<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;size_t count = Str_ParseCmds(ppArgs[0], ppCmd, COUNTOF(ppCmd), iSep);<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TCHAR * ppArrays[2];<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;size_t iArrays = Str_ParseCmds(ppArgs[1], ppArrays, COUNTOF(ppArrays), "-");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;INT64&nbsp;&nbsp;&nbsp;&nbsp;iValue = Exp_GetVal(ppArgs[1]);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;INT64 &nbsp;&nbsp;&nbsp;&nbsp;iValueEnd = iValue;<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 (iArrays &gt; 1)<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;&nbsp;&nbsp;&nbsp;iValue = Exp_GetVal(ppArrays[0]);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;iValueEnd = Exp_GetVal(ppArrays[1]);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (iValueEnd &lt;= 0 || iValueEnd &gt; count)<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;iValueEnd = count;&nbsp;&nbsp;&nbsp;&nbsp;&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;}<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 (iValue &lt; 0)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return false;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else if (iValue &gt; 0)<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;&nbsp;&nbsp;&nbsp;if (iValue &gt; count)<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;return false;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else if (iValue == iValueEnd)<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;sVal = ppCmd[iValue - 1];<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&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;&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;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sVal.Add(ppCmd[iValue - 1]);<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;INT64 i = iValue + 1;<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;for ( ; i &lt;= iValueEnd; i++)<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;{<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;&nbsp;&nbsp;sVal.Add(iSep);<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;&nbsp;&nbsp;sVal.Add(ppCmd[i - 1]);<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;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&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;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&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;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sVal.FormatVal(static_cast&lt;long&gt;(count));<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;return true;</code></div></div>
<br />
<span style="font-style: italic;"><span style="font-weight: bold;">Open File: src/tables/CScriptObj_functions.tbl</span></span><br />
<br />
<span style="font-weight: bold;">find:</span><br />
<div class="codeblock">
<div class="title">Code:<br />
</div><div class="body" dir="ltr"><code>ADD(StrSub,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"StrSub")</code></div></div>
<br />
<span style="font-weight: bold;">add after:</span><br />
<div class="codeblock">
<div class="title">Code:<br />
</div><div class="body" dir="ltr"><code>ADD(StrToken,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"StrToken")</code></div></div>
]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Hangman]]></title>
			<link>https://forum.spherecommunity.net/Thread-Hangman</link>
			<pubDate>Wed, 15 Feb 2017 15:40:47 +0100</pubDate>
			<guid isPermaLink="false">https://forum.spherecommunity.net/Thread-Hangman</guid>
			<description><![CDATA[Save Lord British from the noose, guess the word game.<br />
<br />
83 words included, but you can add/remove/replace as many words as you like.<br />
<br />
Create a theme set of words , use for quests, with a little bit of editing you could reward them a new item every time they get it correct.<br />
<br />
Or you could just leave it alone for some random Fun <img src="images/smilies/happy.gif" style="vertical-align: middle;" border="0" alt="Smile" title="Smile" /><br />
<br />
<a href="https://forum.spherecommunity.net/sshare.php?download=314" target="_blank">Hangman_v1_1</a><br />
<br />
If you've already download please change Word count in names section to 83 <img src="images/smilies/happy.gif" style="vertical-align: middle;" border="0" alt="Smile" title="Smile" />]]></description>
			<content:encoded><![CDATA[Save Lord British from the noose, guess the word game.<br />
<br />
83 words included, but you can add/remove/replace as many words as you like.<br />
<br />
Create a theme set of words , use for quests, with a little bit of editing you could reward them a new item every time they get it correct.<br />
<br />
Or you could just leave it alone for some random Fun <img src="images/smilies/happy.gif" style="vertical-align: middle;" border="0" alt="Smile" title="Smile" /><br />
<br />
<a href="https://forum.spherecommunity.net/sshare.php?download=314" target="_blank">Hangman_v1_1</a><br />
<br />
If you've already download please change Word count in names section to 83 <img src="images/smilies/happy.gif" style="vertical-align: middle;" border="0" alt="Smile" title="Smile" />]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Pontoon / Blackjack / 21]]></title>
			<link>https://forum.spherecommunity.net/Thread-Pontoon-Blackjack-21</link>
			<pubDate>Mon, 13 Feb 2017 03:41:55 +0100</pubDate>
			<guid isPermaLink="false">https://forum.spherecommunity.net/Thread-Pontoon-Blackjack-21</guid>
			<description><![CDATA[Pontoon / Blackjack / 21 included in the script are a table and some playing cards, either of which you can play the game with.<br />
<br />
No gambling on it atm, I may add that on a further version.<br />
<br />
<a href="https://forum.spherecommunity.net/sshare.php?download=313" target="_blank">Pontoon / Blackjack / 21</a><br />
<br />
Feel free to comment, any advice is welcome <img src="images/smilies/wink.gif" style="vertical-align: middle;" border="0" alt="Wink" title="Wink" />]]></description>
			<content:encoded><![CDATA[Pontoon / Blackjack / 21 included in the script are a table and some playing cards, either of which you can play the game with.<br />
<br />
No gambling on it atm, I may add that on a further version.<br />
<br />
<a href="https://forum.spherecommunity.net/sshare.php?download=313" target="_blank">Pontoon / Blackjack / 21</a><br />
<br />
Feel free to comment, any advice is welcome <img src="images/smilies/wink.gif" style="vertical-align: middle;" border="0" alt="Wink" title="Wink" />]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Where am i?]]></title>
			<link>https://forum.spherecommunity.net/Thread-Where-am-i</link>
			<pubDate>Fri, 03 Feb 2017 19:06:36 +0100</pubDate>
			<guid isPermaLink="false">https://forum.spherecommunity.net/Thread-Where-am-i</guid>
			<description><![CDATA[After finding my old travel gump in the old sphere 1.0 release decided to have a play and made this little fun script, you know when you are at some tourist spot and they have a map with a big Arrow pointing to where you are, <br />
<br />
<div class="codeblock">
<div class="title">Code:<br />
</div><div class="body" dir="ltr"><code>[FUNCTION f_where_am_i] <br />
src.dialog d_where_am_i<br />
<br />
[DIALOG d_where_am_i] <br />
0,0 // This makes the gump start in the top left corner of the screen<br />
page 0<br />
resizepic 0 0 3600 640 480 <br />
gumppic 1 1 5500 <br />
gumppic 60 50 5528 <br />
gumppic 2 2 5536 <br />
button &lt;EVAL ((&lt;p.x&gt;*10)/137)+60&gt; &lt;EVAL ((&lt;p.y&gt;*10)/112)+50&gt; 4507 4507 1 0 0<br />
text &lt;EVAL ((&lt;p.x&gt;*10)/137)+110&gt; &lt;EVAL ((&lt;p.y&gt;*10)/112)+80&gt; 90 0<br />
<br />
[DIALOG d_where_am_i TEXT]<br />
YOU ARE HERE!</code></div></div>
<br />
Trammel/Felucca map.]]></description>
			<content:encoded><![CDATA[After finding my old travel gump in the old sphere 1.0 release decided to have a play and made this little fun script, you know when you are at some tourist spot and they have a map with a big Arrow pointing to where you are, <br />
<br />
<div class="codeblock">
<div class="title">Code:<br />
</div><div class="body" dir="ltr"><code>[FUNCTION f_where_am_i] <br />
src.dialog d_where_am_i<br />
<br />
[DIALOG d_where_am_i] <br />
0,0 // This makes the gump start in the top left corner of the screen<br />
page 0<br />
resizepic 0 0 3600 640 480 <br />
gumppic 1 1 5500 <br />
gumppic 60 50 5528 <br />
gumppic 2 2 5536 <br />
button &lt;EVAL ((&lt;p.x&gt;*10)/137)+60&gt; &lt;EVAL ((&lt;p.y&gt;*10)/112)+50&gt; 4507 4507 1 0 0<br />
text &lt;EVAL ((&lt;p.x&gt;*10)/137)+110&gt; &lt;EVAL ((&lt;p.y&gt;*10)/112)+80&gt; 90 0<br />
<br />
[DIALOG d_where_am_i TEXT]<br />
YOU ARE HERE!</code></div></div>
<br />
Trammel/Felucca map.]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[sphere send email]]></title>
			<link>https://forum.spherecommunity.net/Thread-sphere-send-email</link>
			<pubDate>Wed, 21 Sep 2016 12:10:59 +0200</pubDate>
			<guid isPermaLink="false">https://forum.spherecommunity.net/Thread-sphere-send-email</guid>
			<description><![CDATA[remove the extra modules<br />
change transcoding occupy too large<br />
<img src="http://www.fluo.cn/test/send0.png" border="0" alt="[Image: send0.png]" /><br />
<img src="http://www.fluo.cn/test/send1.png" border="0" alt="[Image: send1.png]" /><br />
<img src="http://www.fluo.cn/test/send2.png" border="0" alt="[Image: send2.png]" /><br />
<img src="http://www.fluo.cn/test/send3.png" border="0" alt="[Image: send3.png]" /><br />
part of the code<br />
<img src="http://www.fluo.cn/test/send4.png" border="0" alt="[Image: send4.png]" /><br />
I deleted all my posts, because some people think that this program have Trojan.<br />
It makes me really disappointed.<br />
Using this program, please carefully think clearly.<br />
This is a Chinese language program, not a C ++ or other programming languages<br />
There upx shell<br />
Antivirus program should have error report<br />
I can guarantee that this program does not have any viruses and Trojans<br />
If you think it was a virus or trojan, please do not download, do not come to question me, I think this is an insult<br />
<br />
<a href="http://www.fluo.cn/down/sendemail.zip" target="_blank">Sendemail</a>]]></description>
			<content:encoded><![CDATA[remove the extra modules<br />
change transcoding occupy too large<br />
<img src="http://www.fluo.cn/test/send0.png" border="0" alt="[Image: send0.png]" /><br />
<img src="http://www.fluo.cn/test/send1.png" border="0" alt="[Image: send1.png]" /><br />
<img src="http://www.fluo.cn/test/send2.png" border="0" alt="[Image: send2.png]" /><br />
<img src="http://www.fluo.cn/test/send3.png" border="0" alt="[Image: send3.png]" /><br />
part of the code<br />
<img src="http://www.fluo.cn/test/send4.png" border="0" alt="[Image: send4.png]" /><br />
I deleted all my posts, because some people think that this program have Trojan.<br />
It makes me really disappointed.<br />
Using this program, please carefully think clearly.<br />
This is a Chinese language program, not a C ++ or other programming languages<br />
There upx shell<br />
Antivirus program should have error report<br />
I can guarantee that this program does not have any viruses and Trojans<br />
If you think it was a virus or trojan, please do not download, do not come to question me, I think this is an insult<br />
<br />
<a href="http://www.fluo.cn/down/sendemail.zip" target="_blank">Sendemail</a>]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[In-Game Hue Tester/Sampler]]></title>
			<link>https://forum.spherecommunity.net/Thread-In-Game-Hue-Tester-Sampler</link>
			<pubDate>Mon, 05 Sep 2016 20:57:22 +0200</pubDate>
			<guid isPermaLink="false">https://forum.spherecommunity.net/Thread-In-Game-Hue-Tester-Sampler</guid>
			<description><![CDATA[This started out as a project for Khaos, but since she has disappeared from the face of the planet, I'll just leave it here for all to use.<br />
<br />

<br /><img src="images/attachtypes/image.png" border="0" alt=".jpg" />&nbsp;&nbsp;<a href="attachment.php?aid=364" target="_blank">ht1.jpg</a> (Size: 47.52 KB / Downloads: 113)
 
<br /><img src="images/attachtypes/image.png" border="0" alt=".jpg" />&nbsp;&nbsp;<a href="attachment.php?aid=365" target="_blank">htrange.jpg</a> (Size: 192.16 KB / Downloads: 98)
 
<br /><img src="images/attachtypes/image.png" border="0" alt=".jpg" />&nbsp;&nbsp;<a href="attachment.php?aid=366" target="_blank">htfile.jpg</a> (Size: 183.11 KB / Downloads: 70)
 
<br /><img src="images/attachtypes/image.png" border="0" alt=".jpg" />&nbsp;&nbsp;<a href="attachment.php?aid=367" target="_blank">htalight.jpg</a> (Size: 204.53 KB / Downloads: 77)
<br />
<br />
This tool will allow you to sample, in-game, either a range of hues, a list of hues from a file (hues.txt, for example), OR all 3,000 slots at once.  You can choose any item in game to sample the hues with.  It's pretty self explanatory, but basically just add this script and jump in, using the command ".huetest".  From there, you will be given options.  <br />
<br />
If you'd like to have it read from a file, create "hues.txt" in your root Sphere directory and fill it with decimal hues, one hue per line.  Ex:<br />
<br />
<div class="codeblock">
<div class="title">Code:<br />
</div><div class="body" dir="ltr"><code>34<br />
67<br />
12<br />
678<br />
1234<br />
.. and so on....</code></div></div>
<br />
You can create as many of these files as you want, just change the file you want to read from in the little options dialog you get when you use the command.<br />
<br />
Post questions, comments and concerns! (and suggestions/bugs if I suck and missed something)<br />
<br />
<div class="codeblock">
<div class="title">Code:<br />
</div><div class="body" dir="ltr"><code>// In-Game Hue Tester/Sampler<br />
// By n1ghtwish/Maximus<br />
// LAST EDITED: 9/06/2016<br />
<br />
[DEFNAME hueTest_Settings]<br />
htMaxPP = 15&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;&nbsp;&nbsp;// max tiles per page (don't change this unless you modify the overall dialog size and other code)<br />
htDefHuesFile = "hues.txt"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// default hues file from root Sphere directory<br />
<br />
[FUNCTION huetest]<br />
sdialog dHueTest<br />
<br />
[DIALOG dHueTest]<br />
150,150<br />
page 0<br />
resizepic 0 0 2620 300 220<br />
checkertrans 5 5 290 215<br />
dhtmlgump 15 15 269 25 1 0 &lt;def.center&gt;&lt;def.big&gt;Hue Tester - Options&lt;def.bige&gt;&lt;def.centere&gt;<br />
button 15 60 4005 4007 1 0 1 // hue range<br />
dtext 57 60 68 Range<br />
resizepic 100 60 9350 40 23<br />
dtextentrylimited 103 61 40 23 0 1 4 &lt;eval rand(1,1500)&gt;<br />
dtext 150 61 68 TO<br />
resizepic 180 60 9350 40 23<br />
dtextentrylimited 183 61 40 23 0 2 4 &lt;eval rand(1501,3000)&gt;<br />
button 15 90 4005 4007 1 0 2 // file<br />
dtext 57 90 68 File<br />
resizepic 100 90 9350 180 23<br />
dtextentrylimited 103 90 180 23 0 3 30 &lt;def.htDefHuesFile&gt;<br />
button 15 120 4005 4007 1 0 3 // all 3,000<br />
dtext 57 120 68 ALL Hues<br />
button 15 180 4017 4019 1 0 0 // close<br />
dtext 57 180 68 Close<br />
<br />
[DIALOG dHueTest BUTTON]<br />
ON=0 // cancel<br />
sysmessage Aborted!<br />
<br />
ON=1 // range<br />
if (&lt;isempty &lt;argtxt1&gt;&gt;)||(&lt;isempty &lt;argtxt2&gt;&gt;)||(!&lt;isnum &lt;argtxt1&gt;&gt;)||(!&lt;isnum &lt;argtxt2&gt;&gt;)<br />
&nbsp;&nbsp;&nbsp;&nbsp;sysmessage Must provide two numbers for hue range!<br />
&nbsp;&nbsp;&nbsp;&nbsp;return 1<br />
elseif (&lt;isnum &lt;argtxt1&gt;&gt;)&amp;&amp;(&lt;isnum &lt;argtxt2&gt;&gt;)&amp;&amp;(&lt;argtxt1&gt; &gt; &lt;argtxt2&gt;)<br />
&nbsp;&nbsp;&nbsp;&nbsp;sysmessage Invalid range.<br />
&nbsp;&nbsp;&nbsp;&nbsp;return 1<br />
endif<br />
ctag.htType = 1<br />
ctag.htB = &lt;argtxt1&gt;<br />
ctag.htE = &lt;argtxt2&gt;<br />
sysmessage Select target.<br />
targetf fHuetest<br />
<br />
ON=2 // file<br />
if (!&lt;FILE.FILEEXIST &lt;argtxt3&gt;&gt;)<br />
&nbsp;&nbsp;&nbsp;&nbsp;sysmessage File "&lt;argtxt3&gt;" not found!<br />
&nbsp;&nbsp;&nbsp;&nbsp;return 1<br />
endif<br />
ctag.htType = 2<br />
ctag.htFile = &lt;argtxt3&gt;<br />
sysmessage Select target.<br />
targetf fHuetest<br />
<br />
ON=3 // all<br />
ctag.htType = 3<br />
sysmessage Select target.<br />
targetf fHuetest<br />
<br />
[FUNCTION fHuetest]<br />
// You could get rid of this IF statement to allow targeting of characters as well<br />
if (&lt;argo.isitem&gt;)<br />
&nbsp;&nbsp;&nbsp;&nbsp;ctag.htTileBG = 2620<br />
&nbsp;&nbsp;&nbsp;&nbsp;ctag.htPnum = 1<br />
&nbsp;&nbsp;&nbsp;&nbsp;argo.sdialog dHuetest2<br />
&nbsp;&nbsp;&nbsp;&nbsp;return 1<br />
endif<br />
sysmessage Items only, dummy!<br />
<br />
[DIALOG dHuetest2]<br />
100,100<br />
page 0<br />
resizepic 0 0 2620 700 560<br />
checkertrans 5 5 695 555<br />
doswitch &lt;eval &lt;src.ctag.htType&gt; - 1&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;begin // range<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;local.tnum = &lt;eval &lt;eval &lt;src.ctag.htE&gt; - &lt;src.ctag.htB&gt;&gt; + 1&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dhtmlgump 15 15 670 25 1 0 &lt;def.center&gt;&lt;def.big&gt;Hue Tester - Range: &lt;src.dctag.htB&gt; to &lt;src.dctag.htE&gt;&lt;def.bige&gt;&lt;def.centere&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;end<br />
&nbsp;&nbsp;&nbsp;&nbsp;begin // file<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;FILE.MODE.WRITEFLAG = 0<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;FILE.MODE.CREATEFLAG = 0<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;FILE.MODE.READFLAG = 1<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (&lt;FILE.OPEN &lt;src.ctag.htFile&gt;&gt;)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;local.tnum = &lt;FILE.FILELINES &lt;src.ctag.htFile&gt;&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;endif<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dhtmlgump 15 15 670 25 1 0 &lt;def.center&gt;&lt;def.big&gt;Hue Tester - File: &lt;src.ctag.htFile&gt; - &lt;dlocal.tnum&gt; hues&lt;def.bige&gt;&lt;def.centere&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;end<br />
&nbsp;&nbsp;&nbsp;&nbsp;begin // all<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;local.tnum = 3000<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dhtmlgump 15 15 670 25 1 0 &lt;def.center&gt;&lt;def.big&gt;Hue Tester - ALL HUES&lt;def.bige&gt;&lt;def.centere&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;end&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
enddo<br />
local.pages = &lt;eval (((&lt;local.tnum&gt; - 1) / &lt;def.htMaxPP&gt;) + 1)&gt;<br />
if (&lt;src.ctag.htPnum&gt; &gt; &lt;local.pages&gt;)<br />
&nbsp;&nbsp;&nbsp;&nbsp;src.ctag.htPnum = &lt;dlocal.pages&gt;<br />
endif<br />
local.offset = &lt;qval (&lt;src.ctag.htPnum&gt; &gt; 1) ? &lt;eval ((&lt;src.ctag.htPnum&gt; - 1) * &lt;def.htMaxPP&gt;)&gt; : 1&gt;<br />
local.x = 15<br />
local.y = 45<br />
if (&lt;local.tnum&gt; &gt;= 1)<br />
&nbsp;&nbsp;&nbsp;&nbsp;for h &lt;dlocal.offset&gt; &lt;eval &lt;local.offset&gt; + &lt;eval &lt;def.htMaxPP&gt; - 1&gt;&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (&lt;local.h&gt; &lt;= &lt;local.tnum&gt;)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;local.c += 1<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;resizepic &lt;dlocal.x&gt; &lt;dlocal.y&gt; &lt;eval &lt;src.ctag.htTileBG&gt;&gt; 126 126 // 2620 dark, 3000 light<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;doswitch &lt;eval &lt;src.ctag.htType&gt; - 1&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;begin // range<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tilepichue &lt;eval &lt;local.x&gt; + 45&gt; &lt;eval &lt;local.y&gt; + 15&gt; &lt;id&gt; &lt;eval &lt;eval &lt;local.h&gt; + &lt;src.ctag.htB&gt;&gt; - 1&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;button &lt;eval &lt;local.x&gt; + 46&gt; &lt;eval &lt;local.y&gt; + 135&gt; 2103 2104 1 0 &lt;eval &lt;eval &lt;local.h&gt; + &lt;src.ctag.htB&gt; - 1&gt; + 3&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dtext &lt;eval &lt;local.x&gt; + 60&gt; &lt;eval &lt;local.y&gt; + 130&gt; 1152 &lt;eval &lt;eval &lt;local.h&gt; + &lt;src.ctag.htB&gt;&gt; - 1&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;begin // file<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tilepichue &lt;eval &lt;local.x&gt; + 45&gt; &lt;eval &lt;local.y&gt; + 15&gt; &lt;id&gt; &lt;FILE.READLINE &lt;dlocal.h&gt;&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;button &lt;eval &lt;local.x&gt; + 46&gt; &lt;eval &lt;local.y&gt; + 135&gt; 2103 2104 1 0 &lt;eval &lt;FILE.READLINE &lt;dlocal.h&gt;&gt; + 3&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dtext &lt;eval &lt;local.x&gt; + 60&gt; &lt;eval &lt;local.y&gt; + 130&gt; 1152 &lt;FILE.READLINE &lt;dlocal.h&gt;&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;begin // all<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tilepichue &lt;eval &lt;local.x&gt; + 45&gt; &lt;eval &lt;local.y&gt; + 15&gt; &lt;id&gt; &lt;dlocal.h&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;button &lt;eval &lt;local.x&gt; + 46&gt; &lt;eval &lt;local.y&gt; + 135&gt; 2103 2104 1 0 &lt;eval &lt;local.h&gt; + 3&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dtext &lt;eval &lt;local.x&gt; + 60&gt; &lt;eval &lt;local.y&gt; + 130&gt; 1152 &lt;dlocal.h&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;enddo<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;local.x += 135<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (&lt;local.c&gt; == 5)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;local.x = 15<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;local.y = 200<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;elseif (&lt;local.c&gt; == 10)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;local.x = 15<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;local.y = 360<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;endif<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;endif<br />
&nbsp;&nbsp;&nbsp;&nbsp;end<br />
endif<br />
FILE.CLOSE<br />
button 15 517 4005 4007 1 0 3<br />
dtext 50 517 1152 Toggle Light/Dark BG<br />
if (&lt;src.ctag.htPnum&gt; &gt; 1)<br />
&nbsp;&nbsp;&nbsp;&nbsp;button 275 520 9909 9909 1 0 1<br />
endif<br />
dhtmlgump 305 517 100 25 1 0 &lt;def.center&gt;&lt;eval &lt;src.ctag.htPnum&gt;&gt; / &lt;dlocal.pages&gt;&lt;def.centere&gt;<br />
if (&lt;local.pages&gt; &gt; &lt;src.ctag.htPnum&gt;)<br />
&nbsp;&nbsp;&nbsp;&nbsp;button 414 519 9903 9903 1 0 2<br />
endif<br />
<br />
[DIALOG dHuetest2 BUTTON]<br />
ON=1 2<br />
doswitch &lt;eval &lt;argn1&gt; - 1&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;src.ctag.htPnum -= 1<br />
&nbsp;&nbsp;&nbsp;&nbsp;src.ctag.htPnum += 1<br />
end<br />
sdialog dHuetest2<br />
<br />
ON=3<br />
src.ctag.htTileBG = &lt;qval &lt;src.ctag.htTileBG&gt; == 2620 ? 3000:2620&gt;<br />
sdialog dHuetest2<br />
<br />
ON=4 3100<br />
color = &lt;eval &lt;argn1&gt; - 3&gt;</code></div></div>
]]></description>
			<content:encoded><![CDATA[This started out as a project for Khaos, but since she has disappeared from the face of the planet, I'll just leave it here for all to use.<br />
<br />

<br /><img src="images/attachtypes/image.png" border="0" alt=".jpg" />&nbsp;&nbsp;<a href="attachment.php?aid=364" target="_blank">ht1.jpg</a> (Size: 47.52 KB / Downloads: 113)
 
<br /><img src="images/attachtypes/image.png" border="0" alt=".jpg" />&nbsp;&nbsp;<a href="attachment.php?aid=365" target="_blank">htrange.jpg</a> (Size: 192.16 KB / Downloads: 98)
 
<br /><img src="images/attachtypes/image.png" border="0" alt=".jpg" />&nbsp;&nbsp;<a href="attachment.php?aid=366" target="_blank">htfile.jpg</a> (Size: 183.11 KB / Downloads: 70)
 
<br /><img src="images/attachtypes/image.png" border="0" alt=".jpg" />&nbsp;&nbsp;<a href="attachment.php?aid=367" target="_blank">htalight.jpg</a> (Size: 204.53 KB / Downloads: 77)
<br />
<br />
This tool will allow you to sample, in-game, either a range of hues, a list of hues from a file (hues.txt, for example), OR all 3,000 slots at once.  You can choose any item in game to sample the hues with.  It's pretty self explanatory, but basically just add this script and jump in, using the command ".huetest".  From there, you will be given options.  <br />
<br />
If you'd like to have it read from a file, create "hues.txt" in your root Sphere directory and fill it with decimal hues, one hue per line.  Ex:<br />
<br />
<div class="codeblock">
<div class="title">Code:<br />
</div><div class="body" dir="ltr"><code>34<br />
67<br />
12<br />
678<br />
1234<br />
.. and so on....</code></div></div>
<br />
You can create as many of these files as you want, just change the file you want to read from in the little options dialog you get when you use the command.<br />
<br />
Post questions, comments and concerns! (and suggestions/bugs if I suck and missed something)<br />
<br />
<div class="codeblock">
<div class="title">Code:<br />
</div><div class="body" dir="ltr"><code>// In-Game Hue Tester/Sampler<br />
// By n1ghtwish/Maximus<br />
// LAST EDITED: 9/06/2016<br />
<br />
[DEFNAME hueTest_Settings]<br />
htMaxPP = 15&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;&nbsp;&nbsp;// max tiles per page (don't change this unless you modify the overall dialog size and other code)<br />
htDefHuesFile = "hues.txt"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// default hues file from root Sphere directory<br />
<br />
[FUNCTION huetest]<br />
sdialog dHueTest<br />
<br />
[DIALOG dHueTest]<br />
150,150<br />
page 0<br />
resizepic 0 0 2620 300 220<br />
checkertrans 5 5 290 215<br />
dhtmlgump 15 15 269 25 1 0 &lt;def.center&gt;&lt;def.big&gt;Hue Tester - Options&lt;def.bige&gt;&lt;def.centere&gt;<br />
button 15 60 4005 4007 1 0 1 // hue range<br />
dtext 57 60 68 Range<br />
resizepic 100 60 9350 40 23<br />
dtextentrylimited 103 61 40 23 0 1 4 &lt;eval rand(1,1500)&gt;<br />
dtext 150 61 68 TO<br />
resizepic 180 60 9350 40 23<br />
dtextentrylimited 183 61 40 23 0 2 4 &lt;eval rand(1501,3000)&gt;<br />
button 15 90 4005 4007 1 0 2 // file<br />
dtext 57 90 68 File<br />
resizepic 100 90 9350 180 23<br />
dtextentrylimited 103 90 180 23 0 3 30 &lt;def.htDefHuesFile&gt;<br />
button 15 120 4005 4007 1 0 3 // all 3,000<br />
dtext 57 120 68 ALL Hues<br />
button 15 180 4017 4019 1 0 0 // close<br />
dtext 57 180 68 Close<br />
<br />
[DIALOG dHueTest BUTTON]<br />
ON=0 // cancel<br />
sysmessage Aborted!<br />
<br />
ON=1 // range<br />
if (&lt;isempty &lt;argtxt1&gt;&gt;)||(&lt;isempty &lt;argtxt2&gt;&gt;)||(!&lt;isnum &lt;argtxt1&gt;&gt;)||(!&lt;isnum &lt;argtxt2&gt;&gt;)<br />
&nbsp;&nbsp;&nbsp;&nbsp;sysmessage Must provide two numbers for hue range!<br />
&nbsp;&nbsp;&nbsp;&nbsp;return 1<br />
elseif (&lt;isnum &lt;argtxt1&gt;&gt;)&amp;&amp;(&lt;isnum &lt;argtxt2&gt;&gt;)&amp;&amp;(&lt;argtxt1&gt; &gt; &lt;argtxt2&gt;)<br />
&nbsp;&nbsp;&nbsp;&nbsp;sysmessage Invalid range.<br />
&nbsp;&nbsp;&nbsp;&nbsp;return 1<br />
endif<br />
ctag.htType = 1<br />
ctag.htB = &lt;argtxt1&gt;<br />
ctag.htE = &lt;argtxt2&gt;<br />
sysmessage Select target.<br />
targetf fHuetest<br />
<br />
ON=2 // file<br />
if (!&lt;FILE.FILEEXIST &lt;argtxt3&gt;&gt;)<br />
&nbsp;&nbsp;&nbsp;&nbsp;sysmessage File "&lt;argtxt3&gt;" not found!<br />
&nbsp;&nbsp;&nbsp;&nbsp;return 1<br />
endif<br />
ctag.htType = 2<br />
ctag.htFile = &lt;argtxt3&gt;<br />
sysmessage Select target.<br />
targetf fHuetest<br />
<br />
ON=3 // all<br />
ctag.htType = 3<br />
sysmessage Select target.<br />
targetf fHuetest<br />
<br />
[FUNCTION fHuetest]<br />
// You could get rid of this IF statement to allow targeting of characters as well<br />
if (&lt;argo.isitem&gt;)<br />
&nbsp;&nbsp;&nbsp;&nbsp;ctag.htTileBG = 2620<br />
&nbsp;&nbsp;&nbsp;&nbsp;ctag.htPnum = 1<br />
&nbsp;&nbsp;&nbsp;&nbsp;argo.sdialog dHuetest2<br />
&nbsp;&nbsp;&nbsp;&nbsp;return 1<br />
endif<br />
sysmessage Items only, dummy!<br />
<br />
[DIALOG dHuetest2]<br />
100,100<br />
page 0<br />
resizepic 0 0 2620 700 560<br />
checkertrans 5 5 695 555<br />
doswitch &lt;eval &lt;src.ctag.htType&gt; - 1&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;begin // range<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;local.tnum = &lt;eval &lt;eval &lt;src.ctag.htE&gt; - &lt;src.ctag.htB&gt;&gt; + 1&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dhtmlgump 15 15 670 25 1 0 &lt;def.center&gt;&lt;def.big&gt;Hue Tester - Range: &lt;src.dctag.htB&gt; to &lt;src.dctag.htE&gt;&lt;def.bige&gt;&lt;def.centere&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;end<br />
&nbsp;&nbsp;&nbsp;&nbsp;begin // file<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;FILE.MODE.WRITEFLAG = 0<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;FILE.MODE.CREATEFLAG = 0<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;FILE.MODE.READFLAG = 1<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (&lt;FILE.OPEN &lt;src.ctag.htFile&gt;&gt;)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;local.tnum = &lt;FILE.FILELINES &lt;src.ctag.htFile&gt;&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;endif<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dhtmlgump 15 15 670 25 1 0 &lt;def.center&gt;&lt;def.big&gt;Hue Tester - File: &lt;src.ctag.htFile&gt; - &lt;dlocal.tnum&gt; hues&lt;def.bige&gt;&lt;def.centere&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;end<br />
&nbsp;&nbsp;&nbsp;&nbsp;begin // all<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;local.tnum = 3000<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dhtmlgump 15 15 670 25 1 0 &lt;def.center&gt;&lt;def.big&gt;Hue Tester - ALL HUES&lt;def.bige&gt;&lt;def.centere&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;end&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
enddo<br />
local.pages = &lt;eval (((&lt;local.tnum&gt; - 1) / &lt;def.htMaxPP&gt;) + 1)&gt;<br />
if (&lt;src.ctag.htPnum&gt; &gt; &lt;local.pages&gt;)<br />
&nbsp;&nbsp;&nbsp;&nbsp;src.ctag.htPnum = &lt;dlocal.pages&gt;<br />
endif<br />
local.offset = &lt;qval (&lt;src.ctag.htPnum&gt; &gt; 1) ? &lt;eval ((&lt;src.ctag.htPnum&gt; - 1) * &lt;def.htMaxPP&gt;)&gt; : 1&gt;<br />
local.x = 15<br />
local.y = 45<br />
if (&lt;local.tnum&gt; &gt;= 1)<br />
&nbsp;&nbsp;&nbsp;&nbsp;for h &lt;dlocal.offset&gt; &lt;eval &lt;local.offset&gt; + &lt;eval &lt;def.htMaxPP&gt; - 1&gt;&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (&lt;local.h&gt; &lt;= &lt;local.tnum&gt;)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;local.c += 1<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;resizepic &lt;dlocal.x&gt; &lt;dlocal.y&gt; &lt;eval &lt;src.ctag.htTileBG&gt;&gt; 126 126 // 2620 dark, 3000 light<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;doswitch &lt;eval &lt;src.ctag.htType&gt; - 1&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;begin // range<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tilepichue &lt;eval &lt;local.x&gt; + 45&gt; &lt;eval &lt;local.y&gt; + 15&gt; &lt;id&gt; &lt;eval &lt;eval &lt;local.h&gt; + &lt;src.ctag.htB&gt;&gt; - 1&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;button &lt;eval &lt;local.x&gt; + 46&gt; &lt;eval &lt;local.y&gt; + 135&gt; 2103 2104 1 0 &lt;eval &lt;eval &lt;local.h&gt; + &lt;src.ctag.htB&gt; - 1&gt; + 3&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dtext &lt;eval &lt;local.x&gt; + 60&gt; &lt;eval &lt;local.y&gt; + 130&gt; 1152 &lt;eval &lt;eval &lt;local.h&gt; + &lt;src.ctag.htB&gt;&gt; - 1&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;begin // file<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tilepichue &lt;eval &lt;local.x&gt; + 45&gt; &lt;eval &lt;local.y&gt; + 15&gt; &lt;id&gt; &lt;FILE.READLINE &lt;dlocal.h&gt;&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;button &lt;eval &lt;local.x&gt; + 46&gt; &lt;eval &lt;local.y&gt; + 135&gt; 2103 2104 1 0 &lt;eval &lt;FILE.READLINE &lt;dlocal.h&gt;&gt; + 3&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dtext &lt;eval &lt;local.x&gt; + 60&gt; &lt;eval &lt;local.y&gt; + 130&gt; 1152 &lt;FILE.READLINE &lt;dlocal.h&gt;&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;begin // all<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tilepichue &lt;eval &lt;local.x&gt; + 45&gt; &lt;eval &lt;local.y&gt; + 15&gt; &lt;id&gt; &lt;dlocal.h&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;button &lt;eval &lt;local.x&gt; + 46&gt; &lt;eval &lt;local.y&gt; + 135&gt; 2103 2104 1 0 &lt;eval &lt;local.h&gt; + 3&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dtext &lt;eval &lt;local.x&gt; + 60&gt; &lt;eval &lt;local.y&gt; + 130&gt; 1152 &lt;dlocal.h&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;enddo<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;local.x += 135<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (&lt;local.c&gt; == 5)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;local.x = 15<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;local.y = 200<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;elseif (&lt;local.c&gt; == 10)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;local.x = 15<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;local.y = 360<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;endif<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;endif<br />
&nbsp;&nbsp;&nbsp;&nbsp;end<br />
endif<br />
FILE.CLOSE<br />
button 15 517 4005 4007 1 0 3<br />
dtext 50 517 1152 Toggle Light/Dark BG<br />
if (&lt;src.ctag.htPnum&gt; &gt; 1)<br />
&nbsp;&nbsp;&nbsp;&nbsp;button 275 520 9909 9909 1 0 1<br />
endif<br />
dhtmlgump 305 517 100 25 1 0 &lt;def.center&gt;&lt;eval &lt;src.ctag.htPnum&gt;&gt; / &lt;dlocal.pages&gt;&lt;def.centere&gt;<br />
if (&lt;local.pages&gt; &gt; &lt;src.ctag.htPnum&gt;)<br />
&nbsp;&nbsp;&nbsp;&nbsp;button 414 519 9903 9903 1 0 2<br />
endif<br />
<br />
[DIALOG dHuetest2 BUTTON]<br />
ON=1 2<br />
doswitch &lt;eval &lt;argn1&gt; - 1&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;src.ctag.htPnum -= 1<br />
&nbsp;&nbsp;&nbsp;&nbsp;src.ctag.htPnum += 1<br />
end<br />
sdialog dHuetest2<br />
<br />
ON=3<br />
src.ctag.htTileBG = &lt;qval &lt;src.ctag.htTileBG&gt; == 2620 ? 3000:2620&gt;<br />
sdialog dHuetest2<br />
<br />
ON=4 3100<br />
color = &lt;eval &lt;argn1&gt; - 3&gt;</code></div></div>
]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Linux/Bash: Creating Axis2 Web-Profile]]></title>
			<link>https://forum.spherecommunity.net/Thread-Linux-Bash-Creating-Axis2-Web-Profile</link>
			<pubDate>Mon, 23 May 2016 22:48:01 +0200</pubDate>
			<guid isPermaLink="false">https://forum.spherecommunity.net/Thread-Linux-Bash-Creating-Axis2-Web-Profile</guid>
			<description><![CDATA[Hello,<br />
We were struggling a bit to deliver a complete itemlist for Axis2 to all our GameMasters and Players who help creating buildings on a special build-server. Since we dont want share the entire gameserver-logic with the whole world. <img src="images/smilies/happy.gif" style="vertical-align: middle;" border="0" alt="Smile" title="Smile" /><br />
<br />
So we made this - and it works fine. <br />
<br />
File 1 should be a bashfile. Please be aware, that...<br />
- you have to adjust the pathes<br />
- need awk<br />
- need unix2dos <br />
- need axis 2.0.4j<br />
<br />
<div class="codeblock">
<div class="title">Code:<br />
</div><div class="body" dir="ltr"><code>#!/bin/bash<br />
SCRIPTPATH="/home/of/your/scripts"<br />
awk -f /path/of/srvScriptStrip.awk &#36;SCRIPTPATH/*.scp &#36;SCRIPTPATH/custom/*.scp &#36;SCRIPTPATH/npcs/*.scp &#36;SCRIPTPATH/items/*.scp &#36;SCRIPTPATH/stone/*.scp &gt;output.txt<br />
unix2dos output.txt</code></div></div>
<br />
<div class="codeblock">
<div class="title">Code:<br />
</div><div class="body" dir="ltr"><code>File 2 - srvScriptStrip.awk:<br />
BEGIN{<br />
}<br />
{ <br />
&#36;0 = tolower(&#36;0) <br />
sub(/^&#92;xef&#92;xbb&#92;xbf/,"")<br />
if ((&#36;0 ~ /^&#92;[itemdef/) || (&#36;0 ~ /^id/) || (&#36;0 ~ /^defname/) || (&#36;0 ~ /^&#92;[defname/) || (&#36;0 ~ /^&#92;[typedef/) || (&#36;0 ~ /^&#92;[chardef/) || (&#36;0 ~ /^group/) || (&#36;0 ~ /^p=/) || (&#36;0 ~ /^&#92;[spell/) || (&#36;0 ~ /^&#92;[skill/) || (&#36;0 ~ /^&#92;[areadef/) || (&#36;0 ~ /^category/) || (&#36;0 ~ /^subsection/) || (&#36;0 ~ /^description/) || (&#36;0 ~ /^name/) || (&#36;0 ~ /^dupelist/) || (&#36;0 ~ /^dupeitem/) || (&#36;0 ~ /^&#92;[template/) || (&#36;0 ~ /^&#92;[spawn/) || (&#36;0 ~ /&#92;[itemdef/)){<br />
print(&#36;0)<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
}</code></div></div>
]]></description>
			<content:encoded><![CDATA[Hello,<br />
We were struggling a bit to deliver a complete itemlist for Axis2 to all our GameMasters and Players who help creating buildings on a special build-server. Since we dont want share the entire gameserver-logic with the whole world. <img src="images/smilies/happy.gif" style="vertical-align: middle;" border="0" alt="Smile" title="Smile" /><br />
<br />
So we made this - and it works fine. <br />
<br />
File 1 should be a bashfile. Please be aware, that...<br />
- you have to adjust the pathes<br />
- need awk<br />
- need unix2dos <br />
- need axis 2.0.4j<br />
<br />
<div class="codeblock">
<div class="title">Code:<br />
</div><div class="body" dir="ltr"><code>#!/bin/bash<br />
SCRIPTPATH="/home/of/your/scripts"<br />
awk -f /path/of/srvScriptStrip.awk &#36;SCRIPTPATH/*.scp &#36;SCRIPTPATH/custom/*.scp &#36;SCRIPTPATH/npcs/*.scp &#36;SCRIPTPATH/items/*.scp &#36;SCRIPTPATH/stone/*.scp &gt;output.txt<br />
unix2dos output.txt</code></div></div>
<br />
<div class="codeblock">
<div class="title">Code:<br />
</div><div class="body" dir="ltr"><code>File 2 - srvScriptStrip.awk:<br />
BEGIN{<br />
}<br />
{ <br />
&#36;0 = tolower(&#36;0) <br />
sub(/^&#92;xef&#92;xbb&#92;xbf/,"")<br />
if ((&#36;0 ~ /^&#92;[itemdef/) || (&#36;0 ~ /^id/) || (&#36;0 ~ /^defname/) || (&#36;0 ~ /^&#92;[defname/) || (&#36;0 ~ /^&#92;[typedef/) || (&#36;0 ~ /^&#92;[chardef/) || (&#36;0 ~ /^group/) || (&#36;0 ~ /^p=/) || (&#36;0 ~ /^&#92;[spell/) || (&#36;0 ~ /^&#92;[skill/) || (&#36;0 ~ /^&#92;[areadef/) || (&#36;0 ~ /^category/) || (&#36;0 ~ /^subsection/) || (&#36;0 ~ /^description/) || (&#36;0 ~ /^name/) || (&#36;0 ~ /^dupelist/) || (&#36;0 ~ /^dupeitem/) || (&#36;0 ~ /^&#92;[template/) || (&#36;0 ~ /^&#92;[spawn/) || (&#36;0 ~ /&#92;[itemdef/)){<br />
print(&#36;0)<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
}</code></div></div>
]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[OSI Style House Placement Tool [SQLite]]]></title>
			<link>https://forum.spherecommunity.net/Thread-OSI-Style-House-Placement-Tool-SQLite</link>
			<pubDate>Sat, 23 Apr 2016 00:14:26 +0200</pubDate>
			<guid isPermaLink="false">https://forum.spherecommunity.net/Thread-OSI-Style-House-Placement-Tool-SQLite</guid>
			<description><![CDATA[OSI like House Placement Tool (using i_spyglass) with a similar menu (but better <img src="images/smilies/biggrin.gif" style="vertical-align: middle;" border="0" alt="Big Grin" title="Big Grin" />).  Meant to run alongside Mordaunt's housing system by using some of its defname settings, but it can run standalone as well - if you don't use his house system, you will need to remove/edit some of this script (instructions for that are in the file).<br />
<br />
Installation is simple - make sure you add MULTIDEF to your [RESOURCES] section in sphere.ini and reboot.  Then load script/resync and run "hpl_setup" from console or in-game.  Console will output # of houses/foundations placed into the table.  You can specify your database file if you have one, otherwise Sphere will make one for you and stick this table in it.<br />
<br />

<br /><img src="images/attachtypes/image.png" border="0" alt=".jpg" />&nbsp;&nbsp;<a href="attachment.php?aid=358" target="_blank">hpl1.jpg</a> (Size: 95.22 KB / Downloads: 265)
 
<br /><img src="images/attachtypes/image.png" border="0" alt=".jpg" />&nbsp;&nbsp;<a href="attachment.php?aid=359" target="_blank">hpl2.jpg</a> (Size: 189.5 KB / Downloads: 243)
 
<br /><img src="images/attachtypes/image.png" border="0" alt=".jpg" />&nbsp;&nbsp;<a href="attachment.php?aid=360" target="_blank">hpl3.jpg</a> (Size: 80.94 KB / Downloads: 200)
 
<br /><img src="images/attachtypes/image.png" border="0" alt=".jpg" />&nbsp;&nbsp;<a href="attachment.php?aid=361" target="_blank">hpl4.jpg</a> (Size: 88.4 KB / Downloads: 187)
<br />
<br />
Post bugs please!<br />
<br />
-NW / Maximus<br />
<br /><img src="images/attachtypes/txt.png" border="0" alt=".scp" />&nbsp;&nbsp;<a href="attachment.php?aid=357" target="_blank">house_placement.scp</a> (Size: 10.8 KB / Downloads: 94)
]]></description>
			<content:encoded><![CDATA[OSI like House Placement Tool (using i_spyglass) with a similar menu (but better <img src="images/smilies/biggrin.gif" style="vertical-align: middle;" border="0" alt="Big Grin" title="Big Grin" />).  Meant to run alongside Mordaunt's housing system by using some of its defname settings, but it can run standalone as well - if you don't use his house system, you will need to remove/edit some of this script (instructions for that are in the file).<br />
<br />
Installation is simple - make sure you add MULTIDEF to your [RESOURCES] section in sphere.ini and reboot.  Then load script/resync and run "hpl_setup" from console or in-game.  Console will output # of houses/foundations placed into the table.  You can specify your database file if you have one, otherwise Sphere will make one for you and stick this table in it.<br />
<br />

<br /><img src="images/attachtypes/image.png" border="0" alt=".jpg" />&nbsp;&nbsp;<a href="attachment.php?aid=358" target="_blank">hpl1.jpg</a> (Size: 95.22 KB / Downloads: 265)
 
<br /><img src="images/attachtypes/image.png" border="0" alt=".jpg" />&nbsp;&nbsp;<a href="attachment.php?aid=359" target="_blank">hpl2.jpg</a> (Size: 189.5 KB / Downloads: 243)
 
<br /><img src="images/attachtypes/image.png" border="0" alt=".jpg" />&nbsp;&nbsp;<a href="attachment.php?aid=360" target="_blank">hpl3.jpg</a> (Size: 80.94 KB / Downloads: 200)
 
<br /><img src="images/attachtypes/image.png" border="0" alt=".jpg" />&nbsp;&nbsp;<a href="attachment.php?aid=361" target="_blank">hpl4.jpg</a> (Size: 88.4 KB / Downloads: 187)
<br />
<br />
Post bugs please!<br />
<br />
-NW / Maximus<br />
<br /><img src="images/attachtypes/txt.png" border="0" alt=".scp" />&nbsp;&nbsp;<a href="attachment.php?aid=357" target="_blank">house_placement.scp</a> (Size: 10.8 KB / Downloads: 94)
]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[My litle script for easy use typedef_equipitem]]></title>
			<link>https://forum.spherecommunity.net/Thread-My-litle-script-for-easy-use-typedef-equipitem</link>
			<pubDate>Thu, 07 Apr 2016 17:02:56 +0200</pubDate>
			<guid isPermaLink="false">https://forum.spherecommunity.net/Thread-My-litle-script-for-easy-use-typedef-equipitem</guid>
			<description><![CDATA[Put this to all events:<br />
<br />
[events e_equipitem]<br />
ON=@ItemClientTooltip<br />
IF (&lt;ACT.ISWEAPON&gt;) || (&lt;ACT.DEFNAME&gt;==i_fishing_pole)<br />
<br />
		IF (&lt;ACT.SKILL&gt;==40)//Swordsmanship<br />
			SRC.ADDCLILOC 1061172 // or i.ADDCLILOC<br />
		ELSEIF (&lt;ACT.SKILL&gt;==41)//Macefighting<br />
			SRC.ADDCLILOC 1061173 // or i.ADDCLILOC<br />
		ELSEIF (&lt;ACT.SKILL&gt;==42)//Fencing<br />
			SRC.ADDCLILOC 1061174 // or i.ADDCLILOC<br />
		ELSEIF (&lt;ACT.SKILL&gt;==31)//Archery<br />
			SRC.ADDCLILOC 1061175 // or i.ADDCLILOC<br />
		ELSEIF (&lt;ACT.SKILL&gt;==57)//Throwing<br />
			SRC.ADDCLILOC 1112075<br />
		ENDIF<br />
<br />
	IF (&lt;ACT.SPEED&gt;)<br />
		SRC.ADDCLILOC 1061167,&lt;ACT.SPEED&gt; // or i.ADDCLILOC<br />
	ENDIF<br />
	IF (&lt;EVAL &lt;STRARG &lt;ACT.RANGE&gt;&gt;&gt; &gt; 1)||(&lt;EVAL &lt;STREAT &lt;ACT.RANGE&gt;&gt;&gt; &gt; 1)<br />
		IF (&lt;EVAL &lt;STREAT &lt;ACT.RANGE&gt;&gt;&gt; &gt; &lt;EVAL &lt;STRARG &lt;ACT.RANGE&gt;&gt;&gt;)<br />
			SRC.ADDCLILOC 1061169,&lt;EVAL &lt;STREAT &lt;ACT.RANGE&gt;&gt;&gt; // or i.ADDCLILOC<br />
		ELSE<br />
			SRC.ADDCLILOC 1061169,&lt;EVAL &lt;ACT.RANGE&gt;&gt; // or i.ADDCLILOC<br />
		ENDIF<br />
	ENDIF<br />
<br />
<br />
ENDIF<br />
<br />
Like Sphere 56b]]></description>
			<content:encoded><![CDATA[Put this to all events:<br />
<br />
[events e_equipitem]<br />
ON=@ItemClientTooltip<br />
IF (&lt;ACT.ISWEAPON&gt;) || (&lt;ACT.DEFNAME&gt;==i_fishing_pole)<br />
<br />
		IF (&lt;ACT.SKILL&gt;==40)//Swordsmanship<br />
			SRC.ADDCLILOC 1061172 // or i.ADDCLILOC<br />
		ELSEIF (&lt;ACT.SKILL&gt;==41)//Macefighting<br />
			SRC.ADDCLILOC 1061173 // or i.ADDCLILOC<br />
		ELSEIF (&lt;ACT.SKILL&gt;==42)//Fencing<br />
			SRC.ADDCLILOC 1061174 // or i.ADDCLILOC<br />
		ELSEIF (&lt;ACT.SKILL&gt;==31)//Archery<br />
			SRC.ADDCLILOC 1061175 // or i.ADDCLILOC<br />
		ELSEIF (&lt;ACT.SKILL&gt;==57)//Throwing<br />
			SRC.ADDCLILOC 1112075<br />
		ENDIF<br />
<br />
	IF (&lt;ACT.SPEED&gt;)<br />
		SRC.ADDCLILOC 1061167,&lt;ACT.SPEED&gt; // or i.ADDCLILOC<br />
	ENDIF<br />
	IF (&lt;EVAL &lt;STRARG &lt;ACT.RANGE&gt;&gt;&gt; &gt; 1)||(&lt;EVAL &lt;STREAT &lt;ACT.RANGE&gt;&gt;&gt; &gt; 1)<br />
		IF (&lt;EVAL &lt;STREAT &lt;ACT.RANGE&gt;&gt;&gt; &gt; &lt;EVAL &lt;STRARG &lt;ACT.RANGE&gt;&gt;&gt;)<br />
			SRC.ADDCLILOC 1061169,&lt;EVAL &lt;STREAT &lt;ACT.RANGE&gt;&gt;&gt; // or i.ADDCLILOC<br />
		ELSE<br />
			SRC.ADDCLILOC 1061169,&lt;EVAL &lt;ACT.RANGE&gt;&gt; // or i.ADDCLILOC<br />
		ENDIF<br />
	ENDIF<br />
<br />
<br />
ENDIF<br />
<br />
Like Sphere 56b]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[tGolemAssembly]]></title>
			<link>https://forum.spherecommunity.net/Thread-tGolemAssembly</link>
			<pubDate>Sun, 27 Mar 2016 09:19:05 +0200</pubDate>
			<guid isPermaLink="false">https://forum.spherecommunity.net/Thread-tGolemAssembly</guid>
			<description><![CDATA[Need some feedback on this. It is going in the Basepacks if it is working alright. The advanced clockworks I am working on now since they don't follow the normal golems guidelines. Just adjust the items and mobile definitions for your server. It should be an EA replica at this point. The Specifications follow the Player made one and not the NPC one you normally fight (There are differences).<br />
<br />
This uses Xun's Make my pet btw. You should grab that as well.<br />
<br />
<div class="codeblock">
<div class="title">Code:<br />
</div><div class="body" dir="ltr"><code>[TypeDef tClockworkAssembly]<br />
On=@DClick<br />
If !(&lt;Src.Tinkering&gt;)<br />
 Src.SMsgL -1,1071940&nbsp;&nbsp;&nbsp;&nbsp;// You are not quite sure how to use this.<br />
 Return 1<br />
EndIf<br />
If (&lt;Src.Tinkering&gt; &lt; 700)<br />
 Src.SMsgL -1,1071943&nbsp;&nbsp;&nbsp;&nbsp;// You must be a journeyman or higher tinker to construct a golem.<br />
 Return 1<br />
EndIf<br />
If (&lt;Src.Tag0.GolemDelay&gt;)<br />
 Src.SMsgL -1,1071942&nbsp;&nbsp;&nbsp;&nbsp;// You are too drained to make another golem. You must wait approximately one day to construct another.<br />
 Return 1<br />
EndIf<br />
If (&lt;TopObj&gt; != &lt;Src.UID&gt;)<br />
 Src.SMsgL -1,1071944&nbsp;&nbsp;&nbsp;&nbsp;// The clockwork assembly must be in your backpack to construct a golem.<br />
 Return 1<br />
EndIf<br />
If &lt;Src.CurFollower&gt; &gt; &lt;Eval (&lt;MaxFollowers&gt; - 3)&gt;<br />
 Src.SMsgL -1,1049607&nbsp;&nbsp;&nbsp;&nbsp;// You have too many followers to control that creature.<br />
 Return 1<br />
EndIf<br />
If !(&lt;Src.Restest 1 iPowerCrystal&gt;)<br />
 Src.SMsgL -1,1071945&nbsp;&nbsp;&nbsp;&nbsp;// You need a power crystal to construct a golem.<br />
 Return 1<br />
ELIf !(&lt;Src.Restest 5 iGears&gt;)<br />
 Src.SMsgL -1,1071946&nbsp;&nbsp;&nbsp;&nbsp;// You need more gears to construct a golem.<br />
 Return 1<br />
ElIf !(&lt;Src.Restest 50 iBronzeIngot&gt;)<br />
 Src.SMsgL -1,1071947&nbsp;&nbsp;&nbsp;&nbsp;// You need more bronze ingots to construct a golem.<br />
 Return 1<br />
ElIf !(&lt;Src.Restest 50 iIronIngot&gt;)<br />
 Src.SMsgL -1,1071948&nbsp;&nbsp;&nbsp;&nbsp;// You need more iron ingots to construct a golem.<br />
 Return 1<br />
EndIf<br />
If (&lt;R1,1000&gt; &gt; &lt;Eval ((&lt;Src.Tinkering&gt; - 700) * 2)&gt;)<br />
 Src.SMsgL -1,1071941&nbsp;&nbsp;&nbsp;&nbsp;// You failed to make the golem.<br />
 Return 1<br />
Else<br />
 Serv.NewNpc cGolem<br />
 New.Fame=10<br />
 New.Karma=10<br />
 New.OStr=&lt;MulDiv {251 350},&lt;Src.Tinkering&gt;,1000&gt;<br />
 New.ODex=&lt;MulDiv {76 100},&lt;Src.Tinkering&gt;,1000&gt;<br />
 New.OInt=&lt;MulDiv {101 150},&lt;Src.Tinkering&gt;,1000&gt;<br />
 New.MaxHits=&lt;MulDiv {151 210},&lt;Src.Tinkering&gt;,1000&gt;<br />
 New.Wrestling=&lt;MulDiv {601 1000},&lt;Src.Tinkering&gt;,1000&gt;<br />
 New.Tactics=&lt;MulDiv {601 1000},&lt;Src.Tinkering&gt;,1000&gt;<br />
 New.MagisResistance=&lt;MulDiv {1501 1900},&lt;Src.Tinkering&gt;,1000&gt;<br />
 New.Parrying=&lt;MulDiv {601 1000},&lt;Src.Tinkering&gt;,1000&gt;<br />
 New.ResPhysical={35 55}<br />
 New.ResFire={50 60}<br />
 New.ResCold={10 30}<br />
 New.ResPoison={99 100}<br />
 New.ResEnergy={30 40}<br />
 New.P=&lt;Src.P&gt;<br />
 New.MakeMyPet<br />
 Src.CurFollowers += &lt;New.ControlSlots&gt;<br />
 Src.Tag.GolemDelay=1<br />
 Src.TimerF 864000,GolemDelay&nbsp;&nbsp;&nbsp;&nbsp;// 24 hours; inclusive of the deciseconds multiplier.<br />
 Src.Sound 0241<br />
 Update<br />
EndIf<br />
<br />
[Function GolemDelay]<br />
Src.Tag.GolemDelay=<br />
<br />
<br />
[ItemDef iPowerCrystal]<br />
ID=iMagicalCrystal2<br />
Name=power crystal<br />
NameLoc=1112811<br />
Type=tNormal<br />
Weight=1<br />
<br />
Category=Resources<br />
Subsection=Golems<br />
Description=Power Crystal<br />
<br />
<br />
[ItemDef iClockworkAssembly]<br />
ID=iWinch<br />
Name=clockwork assembly<br />
NameLoc=1073426<br />
Type=tClockworkAssembly<br />
Weight=50<br />
<br />
Category=Resources<br />
Subsection=Golems<br />
Description=Clockwork Assembly<br />
<br />
On=@Create<br />
Color=044E<br />
<br />
<br />
[ItemDef iLeatherWolfAssembly]<br />
ID=iWinch<br />
Name=leather wolf assembly<br />
NameLoc=1113031<br />
Type=tNormal<br />
SkillMake=Tinkering 1000<br />
Resources=1 iClockworkAssembly,1 iPowerCrystal,2 iVoidEssnce<br />
Weight=50<br />
<br />
Category=Resources<br />
Subsection=Golems<br />
Description=Leather Wolf Assembly<br />
<br />
On=@Create<br />
Color=044E<br />
<br />
<br />
[ItemDef iClockworkScorpionAssembly]<br />
ID=iWinch<br />
Name=clockwork scorpion assembly<br />
NameLoc=1113032<br />
Type=tNormal<br />
SkillMake=Tinkering 1000<br />
Resources=1 iClockworkAssembly,1 iPowerCrystal,1 iVoidEssnce<br />
Weight=50<br />
<br />
Category=Resources<br />
Subsection=Golems<br />
Description=Clockwork Scorpion Assembly<br />
<br />
On=@Create<br />
Color=044E<br />
<br />
<br />
[ItemDef iVollemAssembly]<br />
ID=iWinch<br />
Name=vollem assembly<br />
NameLoc=1113033<br />
Type=tNormal<br />
SkillMake=Tinkering 1000<br />
Resources=1 iClockworkAssembly,1 iPowerCrystal,3 iVoidEssnce<br />
Weight=50<br />
<br />
Category=Resources<br />
Subsection=Golems<br />
Description=Vollem Assembly<br />
<br />
On=@Create<br />
Color=044E<br />
<br />
<br />
[EOF]</code></div></div>
]]></description>
			<content:encoded><![CDATA[Need some feedback on this. It is going in the Basepacks if it is working alright. The advanced clockworks I am working on now since they don't follow the normal golems guidelines. Just adjust the items and mobile definitions for your server. It should be an EA replica at this point. The Specifications follow the Player made one and not the NPC one you normally fight (There are differences).<br />
<br />
This uses Xun's Make my pet btw. You should grab that as well.<br />
<br />
<div class="codeblock">
<div class="title">Code:<br />
</div><div class="body" dir="ltr"><code>[TypeDef tClockworkAssembly]<br />
On=@DClick<br />
If !(&lt;Src.Tinkering&gt;)<br />
 Src.SMsgL -1,1071940&nbsp;&nbsp;&nbsp;&nbsp;// You are not quite sure how to use this.<br />
 Return 1<br />
EndIf<br />
If (&lt;Src.Tinkering&gt; &lt; 700)<br />
 Src.SMsgL -1,1071943&nbsp;&nbsp;&nbsp;&nbsp;// You must be a journeyman or higher tinker to construct a golem.<br />
 Return 1<br />
EndIf<br />
If (&lt;Src.Tag0.GolemDelay&gt;)<br />
 Src.SMsgL -1,1071942&nbsp;&nbsp;&nbsp;&nbsp;// You are too drained to make another golem. You must wait approximately one day to construct another.<br />
 Return 1<br />
EndIf<br />
If (&lt;TopObj&gt; != &lt;Src.UID&gt;)<br />
 Src.SMsgL -1,1071944&nbsp;&nbsp;&nbsp;&nbsp;// The clockwork assembly must be in your backpack to construct a golem.<br />
 Return 1<br />
EndIf<br />
If &lt;Src.CurFollower&gt; &gt; &lt;Eval (&lt;MaxFollowers&gt; - 3)&gt;<br />
 Src.SMsgL -1,1049607&nbsp;&nbsp;&nbsp;&nbsp;// You have too many followers to control that creature.<br />
 Return 1<br />
EndIf<br />
If !(&lt;Src.Restest 1 iPowerCrystal&gt;)<br />
 Src.SMsgL -1,1071945&nbsp;&nbsp;&nbsp;&nbsp;// You need a power crystal to construct a golem.<br />
 Return 1<br />
ELIf !(&lt;Src.Restest 5 iGears&gt;)<br />
 Src.SMsgL -1,1071946&nbsp;&nbsp;&nbsp;&nbsp;// You need more gears to construct a golem.<br />
 Return 1<br />
ElIf !(&lt;Src.Restest 50 iBronzeIngot&gt;)<br />
 Src.SMsgL -1,1071947&nbsp;&nbsp;&nbsp;&nbsp;// You need more bronze ingots to construct a golem.<br />
 Return 1<br />
ElIf !(&lt;Src.Restest 50 iIronIngot&gt;)<br />
 Src.SMsgL -1,1071948&nbsp;&nbsp;&nbsp;&nbsp;// You need more iron ingots to construct a golem.<br />
 Return 1<br />
EndIf<br />
If (&lt;R1,1000&gt; &gt; &lt;Eval ((&lt;Src.Tinkering&gt; - 700) * 2)&gt;)<br />
 Src.SMsgL -1,1071941&nbsp;&nbsp;&nbsp;&nbsp;// You failed to make the golem.<br />
 Return 1<br />
Else<br />
 Serv.NewNpc cGolem<br />
 New.Fame=10<br />
 New.Karma=10<br />
 New.OStr=&lt;MulDiv {251 350},&lt;Src.Tinkering&gt;,1000&gt;<br />
 New.ODex=&lt;MulDiv {76 100},&lt;Src.Tinkering&gt;,1000&gt;<br />
 New.OInt=&lt;MulDiv {101 150},&lt;Src.Tinkering&gt;,1000&gt;<br />
 New.MaxHits=&lt;MulDiv {151 210},&lt;Src.Tinkering&gt;,1000&gt;<br />
 New.Wrestling=&lt;MulDiv {601 1000},&lt;Src.Tinkering&gt;,1000&gt;<br />
 New.Tactics=&lt;MulDiv {601 1000},&lt;Src.Tinkering&gt;,1000&gt;<br />
 New.MagisResistance=&lt;MulDiv {1501 1900},&lt;Src.Tinkering&gt;,1000&gt;<br />
 New.Parrying=&lt;MulDiv {601 1000},&lt;Src.Tinkering&gt;,1000&gt;<br />
 New.ResPhysical={35 55}<br />
 New.ResFire={50 60}<br />
 New.ResCold={10 30}<br />
 New.ResPoison={99 100}<br />
 New.ResEnergy={30 40}<br />
 New.P=&lt;Src.P&gt;<br />
 New.MakeMyPet<br />
 Src.CurFollowers += &lt;New.ControlSlots&gt;<br />
 Src.Tag.GolemDelay=1<br />
 Src.TimerF 864000,GolemDelay&nbsp;&nbsp;&nbsp;&nbsp;// 24 hours; inclusive of the deciseconds multiplier.<br />
 Src.Sound 0241<br />
 Update<br />
EndIf<br />
<br />
[Function GolemDelay]<br />
Src.Tag.GolemDelay=<br />
<br />
<br />
[ItemDef iPowerCrystal]<br />
ID=iMagicalCrystal2<br />
Name=power crystal<br />
NameLoc=1112811<br />
Type=tNormal<br />
Weight=1<br />
<br />
Category=Resources<br />
Subsection=Golems<br />
Description=Power Crystal<br />
<br />
<br />
[ItemDef iClockworkAssembly]<br />
ID=iWinch<br />
Name=clockwork assembly<br />
NameLoc=1073426<br />
Type=tClockworkAssembly<br />
Weight=50<br />
<br />
Category=Resources<br />
Subsection=Golems<br />
Description=Clockwork Assembly<br />
<br />
On=@Create<br />
Color=044E<br />
<br />
<br />
[ItemDef iLeatherWolfAssembly]<br />
ID=iWinch<br />
Name=leather wolf assembly<br />
NameLoc=1113031<br />
Type=tNormal<br />
SkillMake=Tinkering 1000<br />
Resources=1 iClockworkAssembly,1 iPowerCrystal,2 iVoidEssnce<br />
Weight=50<br />
<br />
Category=Resources<br />
Subsection=Golems<br />
Description=Leather Wolf Assembly<br />
<br />
On=@Create<br />
Color=044E<br />
<br />
<br />
[ItemDef iClockworkScorpionAssembly]<br />
ID=iWinch<br />
Name=clockwork scorpion assembly<br />
NameLoc=1113032<br />
Type=tNormal<br />
SkillMake=Tinkering 1000<br />
Resources=1 iClockworkAssembly,1 iPowerCrystal,1 iVoidEssnce<br />
Weight=50<br />
<br />
Category=Resources<br />
Subsection=Golems<br />
Description=Clockwork Scorpion Assembly<br />
<br />
On=@Create<br />
Color=044E<br />
<br />
<br />
[ItemDef iVollemAssembly]<br />
ID=iWinch<br />
Name=vollem assembly<br />
NameLoc=1113033<br />
Type=tNormal<br />
SkillMake=Tinkering 1000<br />
Resources=1 iClockworkAssembly,1 iPowerCrystal,3 iVoidEssnce<br />
Weight=50<br />
<br />
Category=Resources<br />
Subsection=Golems<br />
Description=Vollem Assembly<br />
<br />
On=@Create<br />
Color=044E<br />
<br />
<br />
[EOF]</code></div></div>
]]></content:encoded>
		</item>
	</channel>
</rss>