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

<channel>
	<title>The 3DGS Nerd &#187; Technology</title>
	<atom:link href="http://3dgsnerd.xware-cg.com/category/technology/feed/" rel="self" type="application/rss+xml" />
	<link>http://3dgsnerd.xware-cg.com</link>
	<description>A blog about 3DGS, Nerds and a lot of other stuff</description>
	<lastBuildDate>Mon, 07 Dec 2009 23:54:59 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Sneak Peek</title>
		<link>http://3dgsnerd.xware-cg.com/sneak-peek/</link>
		<comments>http://3dgsnerd.xware-cg.com/sneak-peek/#comments</comments>
		<pubDate>Sat, 22 Aug 2009 16:06:26 +0000</pubDate>
		<dc:creator>Michael Schwarz</dc:creator>
				<category><![CDATA[3DGS]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[awesome]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[intellisense]]></category>
		<category><![CDATA[peek]]></category>
		<category><![CDATA[sneak]]></category>
		<category><![CDATA[studio]]></category>

		<guid isPermaLink="false">http://3dgsnerd.xware-cg.com/sneak-peek/</guid>
		<description><![CDATA[
]]></description>
			<content:encoded><![CDATA[<p><a href="http://3dgsnerd.xware-cg.com/wp-content/uploads/SneakPeek_F026/SNAG0146.png"><img title="SNAG-0146" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="331" alt="SNAG-0146" src="http://3dgsnerd.xware-cg.com/wp-content/uploads/SneakPeek_F026/SNAG0146_thumb.png" width="530" border="0" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://3dgsnerd.xware-cg.com/sneak-peek/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>About Banks, Bills, Time and Murphy&#8217;s Law</title>
		<link>http://3dgsnerd.xware-cg.com/about-banks-bills-time-and-murphys-law/</link>
		<comments>http://3dgsnerd.xware-cg.com/about-banks-bills-time-and-murphys-law/#comments</comments>
		<pubDate>Wed, 20 May 2009 12:11:11 +0000</pubDate>
		<dc:creator>Michael Schwarz</dc:creator>
				<category><![CDATA[Stupidity]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[This Humanity has no Future]]></category>
		<category><![CDATA[problem]]></category>
		<category><![CDATA[shit]]></category>

		<guid isPermaLink="false">http://3dgsnerd.xware-cg.com/about-banks-bills-time-and-murphys-law/</guid>
		<description><![CDATA[Well, again it has been quiet some time since the last time I have written here. Buy this time I really have no excuse for it. I simply forgot, no special reason. 
Now, right now I am sitting in one of my banks hoping and waiting that they find a lost wire transfer. The story [...]]]></description>
			<content:encoded><![CDATA[<p>Well, again it has been quiet some time since the last time I have written here. Buy this time I really have no excuse for it. I simply forgot, no special reason. </p>
<p>Now, right now I am sitting in one of my banks hoping and waiting that they find a lost wire transfer. The story goes like this:</p>
<p>I moved from this bank a long time ago because they are really slow and they are amazingly slow and inexpirienced with international money transfers. But by accident, one of my older clients transferred a big amount of money to this potheads. At the same time I have to move to a new appartment and the last day that I can pay is today, in about 20 minutes. Additionally they turned off the power in my old appartment, so i&#8217;m kinda in a Murphy&#8217;s Law situation right now. </p>
<p>Anyway, no electricity = no Internet + no free wifi around. So if you are going to read this eventually: everything turned out fine. Only that I am mighty pissed.     </p>
]]></content:encoded>
			<wfw:commentRss>http://3dgsnerd.xware-cg.com/about-banks-bills-time-and-murphys-law/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>iPhone test</title>
		<link>http://3dgsnerd.xware-cg.com/iphone-test/</link>
		<comments>http://3dgsnerd.xware-cg.com/iphone-test/#comments</comments>
		<pubDate>Sat, 14 Feb 2009 23:38:27 +0000</pubDate>
		<dc:creator>Michael Schwarz</dc:creator>
				<category><![CDATA[Boredom]]></category>
		<category><![CDATA[Fun]]></category>
		<category><![CDATA[Stupidity]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[iphone]]></category>

		<guid isPermaLink="false">http://3dgsnerd.xware-cg.com/iphone-test/</guid>
		<description><![CDATA[So, I got my iPhone and after a few hours of frustration, I finally got to install the latest firmware on it so I can use all the cool apps. Long story short: I am writing you this from my iPhone in the Wordpress app.
Now that I can blog more conviniently, I will blog more [...]]]></description>
			<content:encoded><![CDATA[<p>So, I got my iPhone and after a few hours of frustration, I finally got to install the latest firmware on it so I can use all the cool apps. Long story short: I am writing you this from my iPhone in the Wordpress app.</p>
<p>Now that I can blog more conviniently, I will blog more often &#8211; Stay tuned!</p>
]]></content:encoded>
			<wfw:commentRss>http://3dgsnerd.xware-cg.com/iphone-test/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>New System</title>
		<link>http://3dgsnerd.xware-cg.com/new-system/</link>
		<comments>http://3dgsnerd.xware-cg.com/new-system/#comments</comments>
		<pubDate>Tue, 10 Feb 2009 14:43:43 +0000</pubDate>
		<dc:creator>Michael Schwarz</dc:creator>
				<category><![CDATA[Boredom]]></category>
		<category><![CDATA[Fun]]></category>
		<category><![CDATA[Stupidity]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[amd]]></category>
		<category><![CDATA[athlon]]></category>
		<category><![CDATA[dualcore]]></category>
		<category><![CDATA[ebay]]></category>
		<category><![CDATA[geforce]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[nvidia]]></category>
		<category><![CDATA[pc]]></category>

		<guid isPermaLink="false">http://3dgsnerd.xware-cg.com/new-system/</guid>
		<description><![CDATA[Got my new PC parts yesterday. Oh my god. I can’t believe what I missed out all these years. Changing from Single Core to dual core is like changing from a tricycle to a Formula 1 race car. Operations that ran at 5 MB/s before now run at 60 MB/s. WHAT A DIFFERENCE! Well okay, [...]]]></description>
			<content:encoded><![CDATA[<p>Got my new PC parts yesterday. Oh my god. I can’t believe what I missed out all these years. Changing from Single Core to dual core is like changing from a tricycle to a Formula 1 race car. Operations that ran at 5 MB/s before now run at 60 MB/s. WHAT A DIFFERENCE! Well okay, each core also is twice the speed the processor I had before.</p>
<p> <span id="more-106"></span>
<p>Here’s my old system:</p>
<blockquote><p>AMD Athlon 2000+      <br />2 GB RAM       <br />GeForce 6200</p>
</blockquote>
<p>now compare that to my new baby:</p>
<blockquote><p>AMD Athlon64 X2      <br />2 GB RAM in DualLink(?)       <br />GeForce 9800 GTX+</p>
</blockquote>
<p>Only thing I need now is a new Power Supply so I can get the most out of my little GeForce baby. Holy cows. I’m so thrilled with all my new toys!</p>
<h5>IN OTHER NEWS</h5>
<p>Got my iPhone today. Got it from ebay, used. It’s cool and it works. Only that the article was very, very literal. I only got the iPhone. No Accesories, no cables.</p>
<p>Now I had to order a iPhone USB cable so I can at least do anything…</p>
]]></content:encoded>
			<wfw:commentRss>http://3dgsnerd.xware-cg.com/new-system/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Rubik Cube cheater app</title>
		<link>http://3dgsnerd.xware-cg.com/rubik-cube-cheater-app/</link>
		<comments>http://3dgsnerd.xware-cg.com/rubik-cube-cheater-app/#comments</comments>
		<pubDate>Mon, 26 Jan 2009 17:22:47 +0000</pubDate>
		<dc:creator>Michael Schwarz</dc:creator>
				<category><![CDATA[Fun]]></category>
		<category><![CDATA[Stupidity]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[cheat]]></category>
		<category><![CDATA[cube]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[rubik]]></category>

		<guid isPermaLink="false">http://3dgsnerd.xware-cg.com/rubik-cube-cheater-app/</guid>
		<description><![CDATA[My iPhone arrives in Feburary, and I just found one amazing piece of application: an iPhone Rubik Cube Cheater app!
Just look for yourself!
 
[via Nerdcore]
]]></description>
			<content:encoded><![CDATA[<p>My iPhone arrives in Feburary, and I just found one amazing piece of application: an iPhone Rubik Cube Cheater app!</p>
<p>Just look for yourself!</p>
<p> <object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/sXJtkJOHpkk&amp;hl=en&amp;fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/sXJtkJOHpkk&amp;hl=en&amp;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object>
<p>[via <a href="http://www.nerdcore.de/wp/2009/01/26/rubiks-cube-cheater-iphone-app/" target="_blank">Nerdcore</a>]</p>
]]></content:encoded>
			<wfw:commentRss>http://3dgsnerd.xware-cg.com/rubik-cube-cheater-app/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Note to self:</title>
		<link>http://3dgsnerd.xware-cg.com/note-to-self/</link>
		<comments>http://3dgsnerd.xware-cg.com/note-to-self/#comments</comments>
		<pubDate>Tue, 30 Dec 2008 19:06:07 +0000</pubDate>
		<dc:creator>Michael Schwarz</dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[Stupidity]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[2.7]]></category>
		<category><![CDATA[blank page]]></category>
		<category><![CDATA[upgrade]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://3dgsnerd.xware-cg.com/note-to-self/</guid>
		<description><![CDATA[Always make a database and full filetree backup when upgrading Wordpress.
What I wanna say with that is, I tried to updgrade the blog from 2.6.2 to 2.7 and it kinda messed everything. I had to deactivate all the plugins and themes before I got to see anything but a blank page.
I hope Google picks this [...]]]></description>
			<content:encoded><![CDATA[<p>Always make a database and full filetree backup when upgrading Wordpress.</p>
<p>What I wanna say with that is, I tried to updgrade the blog from 2.6.2 to 2.7 and it kinda messed everything. I had to deactivate all the plugins and themes before I got to see anything but a blank page.</p>
<p>I hope Google picks this up in case someone else saw all those other Google results and still is wondering why his blog doesn’t work: DISABLE THE WP-STICKY PLUGIN, it causes a conflict, because the new WP version already has a built-in sticky function.</p>
]]></content:encoded>
			<wfw:commentRss>http://3dgsnerd.xware-cg.com/note-to-self/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Code Snippet #2</title>
		<link>http://3dgsnerd.xware-cg.com/code-snippet-2/</link>
		<comments>http://3dgsnerd.xware-cg.com/code-snippet-2/#comments</comments>
		<pubDate>Thu, 05 Jun 2008 11:09:59 +0000</pubDate>
		<dc:creator>Michael Schwarz</dc:creator>
				<category><![CDATA[3DGS]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[chat]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[code snippet]]></category>
		<category><![CDATA[multiplayer]]></category>
		<category><![CDATA[online]]></category>
		<category><![CDATA[script]]></category>
		<category><![CDATA[snippet]]></category>

		<guid isPermaLink="false">http://3dgsnerd.xware-cg.com/code-snippet-2/</guid>
		<description><![CDATA[
This is actually an old snippet, but hey it was completely commented in German before and with a slight outdated syntax. So here it is: My updated Multiplayer Chat script which I posted in the forums a few times.
It should have commented everything you need to understand the script and give you a little insight [...]]]></description>
			<content:encoded><![CDATA[<p style="margin-bottom: 0pt;"><img style="margin-top:-13px;border-width: 0px;" src="http://3dgsnerd.xware-cg.com/wp-content/uploads/2008/04/header-snippets.png" border="0" alt="Code Snippets" width="100%" />
<p>This is actually an old snippet, but hey it was completely commented in German before and with a <em>slight</em> outdated syntax. So here it is: My updated <strong>Multiplayer Chat</strong> script which I posted in the forums a few times.</p>
<p>It should have commented everything you need to understand the script and give you a little insight into Multiplayer Programming with 3DGS.</p>
<p><strong>If you have any questions about this script. Don&#8217;t hesitate to ask!</strong></p>
<p><span id="more-73"></span></p>
<p>I always like to start with definitions of the objects we need later in the script, so lets do this now:</p>
<div style="border-right: gray 1px solid; padding-right: 4px; border-top: gray 1px solid; padding-left: 4px; font-size: 8pt; padding-bottom: 4px; margin: 20px 0px 10px; overflow: auto; border-left: gray 1px solid; width: 97.5%; cursor: text; line-height: 12pt; padding-top: 4px; border-bottom: gray 1px solid; font-family: consolas, 'Courier New', courier, monospace; height: 171px; background-color: #f4f4f4; max-height: 200px">
<div style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"><span style="color: #606060">   1:</span> font ChatFont = <span style="color: #006080">"Arial#12"</span>;</pre>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"><span style="color: #606060">   2:</span>&nbsp; </pre>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"><span style="color: #606060">   3:</span> <span style="color: #0000ff">string</span> STR_Received = <span style="color: #006080">"#100"</span>;</pre>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"><span style="color: #606060">   4:</span> <span style="color: #0000ff">string</span> STR_Sent = <span style="color: #006080">"#100"</span>;</pre>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"><span style="color: #606060">   5:</span> <span style="color: #0000ff">string</span> STR_Input = <span style="color: #006080">"#100"</span>;</pre>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"><span style="color: #606060">   6:</span>&nbsp; </pre>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"><span style="color: #606060">   7:</span> <span style="color: #0000ff">string</span> STR_ChatLine01 = <span style="color: #006080">"#100"</span>;</pre>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"><span style="color: #606060">   8:</span> <span style="color: #0000ff">string</span> STR_ChatLine02 = <span style="color: #006080">"#100"</span>;</pre>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"><span style="color: #606060">   9:</span> <span style="color: #0000ff">string</span> STR_ChatLine03 = <span style="color: #006080">"#100"</span>;</pre>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"><span style="color: #606060">  10:</span> <span style="color: #0000ff">string</span> STR_ChatLine04 = <span style="color: #006080">"#100"</span>;</pre>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"><span style="color: #606060">  11:</span> <span style="color: #0000ff">string</span> STR_ChatLine05 = <span style="color: #006080">"#100"</span>;</pre>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"><span style="color: #606060">  12:</span>&nbsp; </pre>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"><span style="color: #606060">  13:</span> text TXT_ChatWindow <span style="color: #008000">// The "Chatwindow"</span></pre>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"><span style="color: #606060">  14:</span> {</pre>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"><span style="color: #606060">  15:</span>     strings = 5;</pre>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"><span style="color: #606060">  16:</span>     <span style="color: #0000ff">string</span> = STR_ChatLine01,STR_ChatLine02,STR_ChatLine03,STR_ChatLine04,STR_ChatLine05;</pre>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"><span style="color: #606060">  17:</span>     pos_x = 10;</pre>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"><span style="color: #606060">  18:</span>     pos_y = 10;</pre>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"><span style="color: #606060">  19:</span>     font = ChatFont;</pre>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"><span style="color: #606060">  20:</span> }</pre>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"><span style="color: #606060">  21:</span>&nbsp; </pre>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"><span style="color: #606060">  22:</span> text TXT_ChatInput <span style="color: #008000">// The input line to type new messages</span></pre>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"><span style="color: #606060">  23:</span> {</pre>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"><span style="color: #606060">  24:</span>     <span style="color: #0000ff">string</span> = STR_Input;</pre>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"><span style="color: #606060">  25:</span>     pos_x = 10;</pre>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"><span style="color: #606060">  26:</span>     pos_y = 100;</pre>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"><span style="color: #606060">  27:</span>     font = ChatFont;</pre>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"><span style="color: #606060">  28:</span> }</pre>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"><span style="color: #606060">  29:</span>&nbsp; </pre>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"><span style="color: #606060">  30:</span> function chat_init() <span style="color: #008000">// Call this function in your MAIN FUNCTION</span></pre>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"><span style="color: #606060">  31:</span> {</pre>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"><span style="color: #606060">  32:</span>     TXT_ChatWindow.visible = on;</pre>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"><span style="color: #606060">  33:</span>     TXT_ChatInput.visible = on;</pre>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"><span style="color: #606060">  34:</span> }</pre>
</div>
</div>
<p>Now, what do we have got here? Basically all you need for a simple chat. We have defined a <strong>font</strong> we will use, and as I like <em>Arial</em> quite much, I chose that one. Though it&#8217;s not relevant for the script to work properly, so just change it to anything you like.</p>
<p>Next up we have several <strong>strings</strong> all with a &#8220;<em>#100</em>&#8221; placeholder, basically, this fills the strings with 100 <strong>whitespaces</strong>, which is important as there is a bug in 3DGS which sets the max length of a string after the first assignment. So if we&#8217;d receive a message like &#8220;Hi!&#8221;, one of those strings would be further on limited to 3 chars, which is *<em>not*</em> very convenient for a chat.</p>
<p>Also we have the two <strong>text</strong> objects that will make it able to actually SEE the strings on screen. The first one is for the representation of the chat lines (the received messages) and the second one for the representation of the input line, which will serve us to write.</p>
<p>Also I have included the function that you will need to call to initialize your chat, in the most common case that would be your <strong>MAIN</strong> function.</p>
<p>Let&#8217;s take a look on the very first function with a purpose:</p>
<div style="border-right: gray 1px solid; padding-right: 4px; border-top: gray 1px solid; padding-left: 4px; font-size: 8pt; padding-bottom: 4px; margin: 20px 0px 10px; overflow: auto; border-left: gray 1px solid; width: 97.5%; cursor: text; line-height: 12pt; padding-top: 4px; border-bottom: gray 1px solid; font-family: consolas, 'Courier New', courier, monospace; height: 166px; background-color: #f4f4f4; max-height: 200px">
<div style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"><span style="color: #606060">   1:</span> <span style="color: #008000">/*</span></pre>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"><span style="color: #606060">   2:</span> <span style="color: #008000">As you can only send strings to the server as client,</span></pre>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"><span style="color: #606060">   3:</span> <span style="color: #008000">we must send any chat message to the serve first</span></pre>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"><span style="color: #606060">   4:</span> <span style="color: #008000">*/</span></pre>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"><span style="color: #606060">   5:</span> <span style="color: #0000ff">function</span> SendMsgToServer()</pre>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"><span style="color: #606060">   6:</span> {</pre>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"><span style="color: #606060">   7:</span>     <span style="color: #008000">// Prepare string</span></pre>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"><span style="color: #606060">   8:</span>     str_cpy(STR_Sent, player_name); <span style="color: #008000">// First, we'll add the player name</span></pre>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"><span style="color: #606060">   9:</span>     str_cat(STR_Sent, <span style="color: #006080">": "</span>); <span style="color: #008000">// then a :</span></pre>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"><span style="color: #606060">  10:</span>     str_cat(STR_Sent, STR_Input); <span style="color: #008000">// and finally the message</span></pre>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"><span style="color: #606060">  11:</span>     </pre>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"><span style="color: #606060">  12:</span>     <span style="color: #008000">// Send string</span></pre>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"><span style="color: #606060">  13:</span>     send_string(STR_Sent); <span style="color: #008000">// Now we send the string to the server</span></pre>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"><span style="color: #606060">  14:</span>     </pre>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"><span style="color: #606060">  15:</span>     wait(1); <span style="color: #008000">// Wait 1 frame for the message to be sent -- VERY IMPORTANT</span></pre>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"><span style="color: #606060">  16:</span>     </pre>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"><span style="color: #606060">  17:</span>     <span style="color: #008000">// Empty the strings to avoid duplication</span></pre>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"><span style="color: #606060">  18:</span>     str_cpy(STR_Sent, <span style="color: #006080">""</span>);</pre>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"><span style="color: #606060">  19:</span>     str_cpy(STR_Input, <span style="color: #006080">""</span>);</pre>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"><span style="color: #606060">  20:</span> }</pre>
</div>
</div>
<p>Easy I think, as everything is basically well explained in the comments. This function handles the sending of the chat-line from the client to the server when we send a message. Something as a sidenote as some people don&#8217;t understand where the <strong>player_name</strong> comes from: The <em>string/variable</em> <strong>player_name</strong> is a predefined value from the Acknex engine, it&#8217;s either defined by changing it directly using the <em>&#8220;-pl&#8221;</em> command line, or with an automatically given name at the start of the engine.</p>
<p>I&#8217;d like to add this very important fact at this point: It is <strong>VERY</strong> important to wait one frame where I indicated it as &#8220;<strong>VERY IMPORTANT</strong>&#8221; because if we don&#8217;t, the engine cannot send the string before we change it to empty again, or otherwise, if we want to receive it, the string is not filled before we try to read it. This is a very common mistake and produces most of the errors when writing multiplayer games in 3DGS.</p>
<p>Next up, a simple function to handle the input by the client:</p>
<div style="border-right: gray 1px solid; padding-right: 4px; border-top: gray 1px solid; padding-left: 4px; font-size: 8pt; padding-bottom: 4px; margin: 20px 0px 10px; overflow: auto; border-left: gray 1px solid; width: 97.5%; cursor: text; line-height: 12pt; padding-top: 4px; border-bottom: gray 1px solid; font-family: consolas, 'Courier New', courier, monospace; height: 161px; background-color: #f4f4f4; max-height: 200px">
<div style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"><span style="color: #606060">   1:</span> <span style="color: #0000ff">function</span> InputText()</pre>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"><span style="color: #606060">   2:</span> {</pre>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"><span style="color: #606060">   3:</span>     <span style="color: #0000ff">if</span>(inkey_active){ <span style="color: #0000ff">return</span>; } <span style="color: #008000">// If already active, RETURN!</span></pre>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"><span style="color: #606060">   4:</span>     </pre>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"><span style="color: #606060">   5:</span>     inkey(STR_Input); <span style="color: #008000">// Input focus on STR_Input</span></pre>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"><span style="color: #606060">   6:</span>     </pre>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"><span style="color: #606060">   7:</span>     <span style="color: #0000ff">if</span>(result == 13) <span style="color: #008000">// If input is ended by ENTER</span></pre>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"><span style="color: #606060">   8:</span>     {</pre>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"><span style="color: #606060">   9:</span>         SendMsgToServer(); <span style="color: #008000">// Send message</span></pre>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"><span style="color: #606060">  10:</span>     }</pre>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"><span style="color: #606060">  11:</span> }</pre>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"><span style="color: #606060">  12:</span>&nbsp; </pre>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"><span style="color: #606060">  13:</span> on_enter = InputText; <span style="color: #008000">// Bind Input function to enter key </span></pre>
</div>
</div>
<p>Should be self-explanatory which is why I won&#8217;t go any further on this.</p>
<p>Now we have a two-functions part, which might seem a bit ridiculous to you, as both functions seem to be very similar, but there is a small difference BEFORE emptying the received string. Just read the commentaries and you&#8217;ll understand it.</p>
<div style="border-right: gray 1px solid; padding-right: 4px; border-top: gray 1px solid; padding-left: 4px; font-size: 8pt; padding-bottom: 4px; margin: 20px 0px 10px; overflow: auto; border-left: gray 1px solid; width: 97.5%; cursor: text; line-height: 12pt; padding-top: 4px; border-bottom: gray 1px solid; font-family: consolas, 'Courier New', courier, monospace; height: 168px; background-color: #f4f4f4; max-height: 200px">
<div style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"><span style="color: #606060">   1:</span> <span style="color: #0000ff">function</span> ReceiveMessage() <span style="color: #008000">// Function when the client receives messages from the server</span></pre>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"><span style="color: #606060">   2:</span> {</pre>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"><span style="color: #606060">   3:</span>     wait(1); <span style="color: #008000">// wait one frame -- IMPORTANT</span></pre>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"><span style="color: #606060">   4:</span>     </pre>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"><span style="color: #606060">   5:</span>     <span style="color: #008000">/*</span></pre>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"><span style="color: #606060">   6:</span> <span style="color: #008000">     To avoid that a server that has been started as "-sv -cl"</span></pre>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"><span style="color: #606060">   7:</span> <span style="color: #008000">     gets the message twice, use ifndef server;</span></pre>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"><span style="color: #606060">   8:</span> <span style="color: #008000">    */</span></pre>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"><span style="color: #606060">   9:</span>     ifndef server;</pre>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"><span style="color: #606060">  10:</span>         <span style="color: #0000ff">if</span>(str_len(STR_Received) &gt; 0) <span style="color: #008000">// If we received a valid chat message</span></pre>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"><span style="color: #606060">  11:</span>         {</pre>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"><span style="color: #606060">  12:</span>             <span style="color: #008000">// Reorder Chat</span></pre>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"><span style="color: #606060">  13:</span>             str_cpy(STR_ChatLine01, STR_ChatLine02); <span style="color: #008000">// 2 &gt; 1</span></pre>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"><span style="color: #606060">  14:</span>             str_cpy(STR_ChatLine02, STR_ChatLine03); <span style="color: #008000">// 3 &gt; 2</span></pre>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"><span style="color: #606060">  15:</span>             str_cpy(STR_ChatLine03, STR_ChatLine04); <span style="color: #008000">// 4 &gt; 3</span></pre>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"><span style="color: #606060">  16:</span>             str_cpy(STR_ChatLine04, STR_ChatLine05); <span style="color: #008000">// 5 &gt; 4</span></pre>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"><span style="color: #606060">  17:</span>             str_cpy(STR_ChatLine05, STR_Received); <span style="color: #008000">// New message &gt; 5</span></pre>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"><span style="color: #606060">  18:</span>             </pre>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"><span style="color: #606060">  19:</span>             wait(1); <span style="color: #008000">// Wait one frame -- IMPORTANT, as always</span></pre>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"><span style="color: #606060">  20:</span>             </pre>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"><span style="color: #606060">  21:</span>             str_cpy(STR_Received,<span style="color: #006080">""</span>); <span style="color: #008000">// Empty the received string</span></pre>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"><span style="color: #606060">  22:</span>         }</pre>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"><span style="color: #606060">  23:</span>     endif; <span style="color: #008000">// Close the ifndef</span></pre>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"><span style="color: #606060">  24:</span>     </pre>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"><span style="color: #606060">  25:</span>     ifdef server;</pre>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"><span style="color: #606060">  26:</span>         wait(1); <span style="color: #008000">// To avoid an empty function. </span></pre>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"><span style="color: #606060">  27:</span>     endif;</pre>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"><span style="color: #606060">  28:</span> }</pre>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"><span style="color: #606060">  29:</span>&nbsp; </pre>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"><span style="color: #606060">  30:</span> on_client = ReceiveMessage; <span style="color: #008000">// Bind ReceiveMessage function on the Client-Receive-Data event</span></pre>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"><span style="color: #606060">  31:</span>&nbsp; </pre>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"><span style="color: #606060">  32:</span> <span style="color: #0000ff">function</span> ReceiveMessage_Server() <span style="color: #008000">// The same function as above, but for the server and slightly changed</span></pre>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"><span style="color: #606060">  33:</span> {</pre>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"><span style="color: #606060">  34:</span>     wait(1); <span style="color: #008000">// wait 1 frame -- IMPORTANT</span></pre>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"><span style="color: #606060">  35:</span>     </pre>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"><span style="color: #606060">  36:</span>     <span style="color: #0000ff">if</span>(str_len(STR_Sent)&gt;0) <span style="color: #008000">// If we got a valid chat message</span></pre>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"><span style="color: #606060">  37:</span>     {</pre>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"><span style="color: #606060">  38:</span>         <span style="color: #008000">// Copy</span></pre>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"><span style="color: #606060">  39:</span>         str_cpy(STR_Received,STR_Sent);</pre>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"><span style="color: #606060">  40:</span>         </pre>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"><span style="color: #606060">  41:</span>         <span style="color: #008000">// Order</span></pre>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"><span style="color: #606060">  42:</span>         str_cpy(STR_ChatLine01, STR_ChatLine02); <span style="color: #008000">// 2 &gt; 1</span></pre>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"><span style="color: #606060">  43:</span>         str_cpy(STR_ChatLine02, STR_ChatLine03); <span style="color: #008000">// 3 &gt; 2</span></pre>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"><span style="color: #606060">  44:</span>         str_cpy(STR_ChatLine03, STR_ChatLine04); <span style="color: #008000">// 4 &gt; 3</span></pre>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"><span style="color: #606060">  45:</span>         str_cpy(STR_ChatLine04, STR_ChatLine05); <span style="color: #008000">// 5 &gt; 4</span></pre>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"><span style="color: #606060">  46:</span>         str_cpy(STR_ChatLine05, STR_Received); <span style="color: #008000">// New message &gt; 5</span></pre>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"><span style="color: #606060">  47:</span>         </pre>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"><span style="color: #606060">  48:</span>         <span style="color: #008000">// IMPORTANT -- DON'T empty the message yet</span></pre>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"><span style="color: #606060">  49:</span>         <span style="color: #008000">// Send it to all clients first!</span></pre>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"><span style="color: #606060">  50:</span>         send_string(STR_Received);</pre>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"><span style="color: #606060">  51:</span>         </pre>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"><span style="color: #606060">  52:</span>         wait(1); <span style="color: #008000">// Wait 1 frame for the message to be sent -- IMPORTANT</span></pre>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"><span style="color: #606060">  53:</span>         </pre>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"><span style="color: #606060">  54:</span>         <span style="color: #008000">// Empty</span></pre>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"><span style="color: #606060">  55:</span>         str_cpy(STR_Received,<span style="color: #006080">""</span>);</pre>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"><span style="color: #606060">  56:</span>         str_cpy(STR_Sent,<span style="color: #006080">""</span>);</pre>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"><span style="color: #606060">  57:</span>     }</pre>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"><span style="color: #606060">  58:</span> }</pre>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"><span style="color: #606060">  59:</span>&nbsp; </pre>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"><span style="color: #606060">  60:</span> on_server = ReceiveMessage_Server; // Bind ReceiveMessage_Server to the Server-Receive-Event</pre>
</div>
</div>
<p>And guess what &#8211; That&#8217;s it. That&#8217;s ALL you need for a simple chat.</p>
<p>In case you are too lazy to type all of this off &#8211; which would make it way easier for you to learn &#8211; and just wanna mess around with it, here&#8217;s the complete download of this script:</p>
<div class="wlWriterSmartContent" id="scid:fb3a1972-4489-4e52-abe7-25a00bb07fdf:9db894b5-5923-4ee1-913b-af2b77c4333d" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px">
<p>chatscript.wdl (3.47 kb) <a href="http://3dgsnerd.xware-cg.com/wp-content/uploads/CodeSnippet2_A25D/chatscript.wdl" target="_blank">Download!</a></p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://3dgsnerd.xware-cg.com/code-snippet-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>You know what&#8217;s BULLSHIT? &#8211; Ep. 2: IP-Based-Language</title>
		<link>http://3dgsnerd.xware-cg.com/you-know-whats-bullshit-ep-2-ip-based-language/</link>
		<comments>http://3dgsnerd.xware-cg.com/you-know-whats-bullshit-ep-2-ip-based-language/#comments</comments>
		<pubDate>Tue, 29 Apr 2008 10:24:35 +0000</pubDate>
		<dc:creator>Michael Schwarz</dc:creator>
				<category><![CDATA[Stupidity]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[This Humanity has no Future]]></category>
		<category><![CDATA[fuck]]></category>

		<guid isPermaLink="false">http://3dgsnerd.xware-cg.com/you-know-whats-bullshit-ep-2-ip-based-language/</guid>
		<description><![CDATA[
Just because I live in Spain and my IP is Spanish, I DONT WANT HAT ANY SERVICES AUTOMATICALLY ASSUME THAT I WANT THE GORRAM MAILS NOR THE SERVICE ITSELF IN SPANISH.

When I set my language in the service to ENGLISH, I want it in ENGLISH and not ANY other gorramit language!
I&#8217;m getting sick of it! [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-32" title="bullshit.png" src="http://3dgsnerd.xware-cg.com/wp-content/uploads/2008/04/bullshit.png" alt="" /></p>
<p>Just because I live in Spain and my IP is Spanish, <strong>I DONT WANT HAT ANY SERVICES AUTOMATICALLY ASSUME THAT I WANT THE GORRAM MAILS NOR THE SERVICE ITSELF IN SPANISH.</strong></p>
<p><span id="more-62"></span></p>
<p>When I set my language in the service to <strong>ENGLISH</strong>, I want it in <strong>ENGLISH</strong> and not <span style="text-decoration: underline;">ANY</span> other gorramit language!</p>
<p>I&#8217;m getting sick of it! I hate Spanish &#8211; even though I speak it perfectly, I just hate the sound of it &#8211; I don&#8217;t want any fucking mails in Spanish!! <strong>OKAY? WHEN I SET MY LANGUAGE TO ENGLISH &#8211; STICK TO IT! <span style="font-size: x-small;"><span style="text-decoration: underline;"><br />
DON&#8217;T MAKE DECISIONS FOR ME!</span></span></strong></p>
]]></content:encoded>
			<wfw:commentRss>http://3dgsnerd.xware-cg.com/you-know-whats-bullshit-ep-2-ip-based-language/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Review 13th Week 2008</title>
		<link>http://3dgsnerd.xware-cg.com/review-13th-week-2008/</link>
		<comments>http://3dgsnerd.xware-cg.com/review-13th-week-2008/#comments</comments>
		<pubDate>Sun, 30 Mar 2008 15:07:09 +0000</pubDate>
		<dc:creator>Michael Schwarz</dc:creator>
				<category><![CDATA[3DGS]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[Stupidity]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[down]]></category>
		<category><![CDATA[empty]]></category>
		<category><![CDATA[forum]]></category>
		<category><![CDATA[nothing]]></category>
		<category><![CDATA[void]]></category>

		<guid isPermaLink="false">http://3dgsnerd.xware-cg.com/?p=27</guid>
		<description><![CDATA[Nothing,
the forum was down all the time.
]]></description>
			<content:encoded><![CDATA[<p>Nothing,</p>
<p>the forum was down all the time.</p>
]]></content:encoded>
			<wfw:commentRss>http://3dgsnerd.xware-cg.com/review-13th-week-2008/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Policies</title>
		<link>http://3dgsnerd.xware-cg.com/policies/</link>
		<comments>http://3dgsnerd.xware-cg.com/policies/#comments</comments>
		<pubDate>Wed, 30 Jan 2008 14:41:45 +0000</pubDate>
		<dc:creator>Michael Schwarz</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[annoying]]></category>
		<category><![CDATA[conditions]]></category>
		<category><![CDATA[help]]></category>
		<category><![CDATA[hobby]]></category>
		<category><![CDATA[project]]></category>
		<category><![CDATA[projects]]></category>
		<category><![CDATA[security]]></category>

		<guid isPermaLink="false">http://3dgsnerd.xware-cg.com/?p=8</guid>
		<description><![CDATA[Disturbing to write security policies and terms and conditions of use, because you really have to think of every possibility someone could misunderstand a rule and how you can write it completely and aboslutely understandable without any doubts of its meaning.
Maybe you guys can help me on this? I have reached until point 4 of [...]]]></description>
			<content:encoded><![CDATA[<p>Disturbing to write <em>security policies</em> and<em> terms and conditions of use, </em>because you really have to think of every possibility someone could misunderstand a rule and how you can write it completely and aboslutely understandable without any doubts of its meaning.</p>
<p>Maybe you guys can help me on this? I have reached until point 4 of my <strong>Terms and Conditions of Use</strong> for my hobby project&#8230;<br />
http://www.icodenses.es/privacy/<br />
Anyone getting anything wrong or <em>un</em>-understandable?</p>
]]></content:encoded>
			<wfw:commentRss>http://3dgsnerd.xware-cg.com/policies/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
