<?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[open.mp forum - Development Updates]]></title>
		<link>https://forum.open.mp/</link>
		<description><![CDATA[open.mp forum - https://forum.open.mp]]></description>
		<pubDate>Sun, 03 May 2026 10:14:36 +0000</pubDate>
		<generator>MyBB</generator>
		<item>
			<title><![CDATA[We are finally open-source!]]></title>
			<link>https://forum.open.mp/showthread.php?tid=2335</link>
			<pubDate>Mon, 09 Jan 2023 22:34:21 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://forum.open.mp/member.php?action=profile&uid=6">Y_Less</a>]]></dc:creator>
			<guid isPermaLink="false">https://forum.open.mp/showthread.php?tid=2335</guid>
			<description><![CDATA[<img src="https://user-images.githubusercontent.com/991078/211420467-17a8a791-62aa-459d-805d-8b87b5eb8f84.jpg" loading="lazy"  alt="[Image: 211420467-17a8a791-62aa-459d-805d-8b87b5eb8f84.jpg]" class="mycode_img" /><br />
<br />
<a href="https://github.com/openmultiplayer/open.mp" target="_blank" rel="noopener" class="mycode_url">https://github.com/openmultiplayer/open.mp</a><br />
<br />
Also, server version 1.0 is out with minor fixes from RC1:<br />
<ul class="mycode_list"><li><span style="font-weight: bold;" class="mycode_b">Server</span>: Fix <span style="font-style: italic;" class="mycode_i">.so</span> being required on Linux legacy plugins.<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">Server</span>: <span style="font-style: italic;" class="mycode_i">reloadfs</span> reuses its slot to preserve filterscript order.<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">Server</span>: Attached objects are correctly shown to other players.<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">Server</span>: Fix a crash when loading invalid pawn memory.<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">Pawn</span>: Added <span style="font-style: italic;" class="mycode_i">GetPlayerMarkerForPlayer</span>.<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">Pawn</span>: Added <span style="font-style: italic;" class="mycode_i">a_???</span> file wrappers.<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">Upgrader</span>: Supports multiple codepages.<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">Upgrader</span>: Exclude files.<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">Upgrader</span>: Full replacements report.<br />
</li>
</ul>
<br />
This is of course now at the updated download location of:<br />
<br />
<a href="https://github.com/openmultiplayer/open.mp/releases" target="_blank" rel="noopener" class="mycode_url">https://github.com/openmultiplayer/open.mp/releases</a><br />
<br />
Also don't forget...<br />
<br />
<a href="https://opencollective.com/openmultiplayer" target="_blank" rel="noopener" class="mycode_url">https://opencollective.com/openmultiplayer</a><br />
<a href="https://www.patreon.com/open_mp" target="_blank" rel="noopener" class="mycode_url">https://www.patreon.com/open_mp</a>]]></description>
			<content:encoded><![CDATA[<img src="https://user-images.githubusercontent.com/991078/211420467-17a8a791-62aa-459d-805d-8b87b5eb8f84.jpg" loading="lazy"  alt="[Image: 211420467-17a8a791-62aa-459d-805d-8b87b5eb8f84.jpg]" class="mycode_img" /><br />
<br />
<a href="https://github.com/openmultiplayer/open.mp" target="_blank" rel="noopener" class="mycode_url">https://github.com/openmultiplayer/open.mp</a><br />
<br />
Also, server version 1.0 is out with minor fixes from RC1:<br />
<ul class="mycode_list"><li><span style="font-weight: bold;" class="mycode_b">Server</span>: Fix <span style="font-style: italic;" class="mycode_i">.so</span> being required on Linux legacy plugins.<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">Server</span>: <span style="font-style: italic;" class="mycode_i">reloadfs</span> reuses its slot to preserve filterscript order.<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">Server</span>: Attached objects are correctly shown to other players.<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">Server</span>: Fix a crash when loading invalid pawn memory.<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">Pawn</span>: Added <span style="font-style: italic;" class="mycode_i">GetPlayerMarkerForPlayer</span>.<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">Pawn</span>: Added <span style="font-style: italic;" class="mycode_i">a_???</span> file wrappers.<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">Upgrader</span>: Supports multiple codepages.<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">Upgrader</span>: Exclude files.<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">Upgrader</span>: Full replacements report.<br />
</li>
</ul>
<br />
This is of course now at the updated download location of:<br />
<br />
<a href="https://github.com/openmultiplayer/open.mp/releases" target="_blank" rel="noopener" class="mycode_url">https://github.com/openmultiplayer/open.mp/releases</a><br />
<br />
Also don't forget...<br />
<br />
<a href="https://opencollective.com/openmultiplayer" target="_blank" rel="noopener" class="mycode_url">https://opencollective.com/openmultiplayer</a><br />
<a href="https://www.patreon.com/open_mp" target="_blank" rel="noopener" class="mycode_url">https://www.patreon.com/open_mp</a>]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[open.mp Server RC1]]></title>
			<link>https://forum.open.mp/showthread.php?tid=2329</link>
			<pubDate>Thu, 05 Jan 2023 22:37:31 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://forum.open.mp/member.php?action=profile&uid=6">Y_Less</a>]]></dc:creator>
			<guid isPermaLink="false">https://forum.open.mp/showthread.php?tid=2329</guid>
			<description><![CDATA[Happy New Year @everyone<br />
<br />
It's here!<br />
<br />
It's finally here!<br />
<br />
After four years, two rewrites, arguments and drama, and countless other hurdles; it is finally here!<br />
<br />
Release Candidate 1 (RC1) of the open.mp server.<br />
<br />
This, hopefully, represents the final version of the code for our 1.0 release, and if everything goes smoothly with this version we will be able to finally <span style="font-weight: bold;" class="mycode_b">open</span>the so-called <span style="font-weight: bold;" class="mycode_b">open</span>.mp in just a few days from now.<br />
<br />
Before I get in to the meat of the release I want to first sincerely thank every member of the open.mp team for helping the mod get this far.  It has not been easy, mostly because of how invested everyone truly was - we all wanted what was best for the mod, for the community, for SA:MP, for our servers, and for our players; we wouldn't have embarked on this journey if that wasn't the case.  Unfortunately strong differing opinions on what is <span style="font-weight: bold;" class="mycode_b">best</span>sometimes causes friction.  But we're here now.  So to all, a huge thank you:<br />
<ul class="mycode_list"><li>Amir<br />
</li>
<li>Cheaterman<br />
</li>
<li>Freaksken<br />
</li>
<li>Graber<br />
</li>
<li>Hual<br />
</li>
<li>Josh<br />
</li>
<li>JustMichael<br />
</li>
<li>kseny<br />
</li>
<li>Nexius<br />
</li>
<li>pkfln<br />
</li>
<li>Potassium<br />
</li>
<li>Southclaws<br />
</li>
<li>TommyB<br />
</li>
<li>Y_Less<br />
</li>
<li>Zeex<br />
</li>
<li>And probably more...<br />
</li>
</ul>
<br />
Anyway, now the bit you actually care about...<br />
<br />
Now we're out of beta, we're (if all goes well this week) releasing on time.  So along with the server itself, which you've seen a dozen times before, we have some new goodies for you:<br />
<br />
<span style="font-size: large;" class="mycode_size">Pawn</span><br />
<br />
The download has the official includes, no more patching the old SA:MP includes with <span style="font-style: italic;" class="mycode_i">omp.inc</span>, now we're doing it properly!  It also has a new compiler.  Ever wonder when 3.10.11 was coming?  Well wait no longer (if you built it yourself, you could think of this one as 3.10.12)!  With this combination you'll probably get loads of new warnings, but worry not - we have a tool for that as well, to automatically upgrade a load of code, adding well-defined symbol names, <span style="font-style: italic;" class="mycode_i">const</span>, and more in all the right places.  Maybe you already noticed this, you've been using it for months, but the virtual machine (the bit inside the server) has been updated as well!  Oh, and all those string natives you know and love, like <span style="font-style: italic;" class="mycode_i">SendClientMessage</span> and <span style="font-style: italic;" class="mycode_i">AddMenuItem</span>?  They all format now.  All of them*.<br />
<br />
Documentation on the updated includes:<br />
<br />
<a href="https://github.com/openmultiplayer/omp-stdlib" target="_blank" rel="noopener" class="mycode_url">https://github.com/openmultiplayer/omp-stdlib</a><br />
<br />
Documentation on the new compiler:<br />
<br />
<a href="https://github.com/openmultiplayer/compiler/" target="_blank" rel="noopener" class="mycode_url">https://github.com/openmultiplayer/compiler/</a><br />
<a href="https://github.com/pawn-lang/compiler/" target="_blank" rel="noopener" class="mycode_url">https://github.com/pawn-lang/compiler/</a><br />
<br />
Documentation on qawno:<br />
<br />
<a href="https://github.com/openmultiplayer/qawno/" target="_blank" rel="noopener" class="mycode_url">https://github.com/openmultiplayer/qawno/</a><br />
<br />
Documentation on the upgrader tool:<br />
<br />
<a href="https://github.com/openmultiplayer/upgrade" target="_blank" rel="noopener" class="mycode_url">https://github.com/openmultiplayer/upgrade</a><br />
<br />
A full list of what's available:<br />
<ul class="mycode_list"><li>Symbol length limit increased to 64, no more <span style="font-style: italic;" class="mycode_i">OnPlyrDoTheTing</span> to try and fit your names in.  Leading to...<br />
</li>
<li>Multiple natives decompressed - is <span style="font-style: italic;" class="mycode_i">Col</span> short for <span style="font-style: italic;" class="mycode_i">Colour</span> or <span style="font-style: italic;" class="mycode_i">Collision</span>?  Now you know!<br />
</li>
<li>Tags.  Tags everywhere.  See the included documentation.<br />
</li>
<li>The official includes are finally const-correct.  No more complaining that some people might not have them.<br />
</li>
<li>Compiler version updated: <span style="font-style: italic;" class="mycode_i">__nameof</span>, <span style="font-style: italic;" class="mycode_i">__addressof</span>, fixes, and too many more things to go in to here.<br />
</li>
<li><span style="font-style: italic;" class="mycode_i">switch</span> is way faster.<br />
</li>
<li>More warnings for previously undetected issues.  The more problems the compiler can find, the fewer you need to.<br />
</li>
<li>An <span style="font-weight: bold;" class="mycode_b">upgrader</span>tool to add tags and <span style="font-style: italic;" class="mycode_i">const</span> to user-code and fix several new warnings.<br />
</li>
<li>More consistent naming.  Every native has been closely examined and compared to ensure the maximum level of similarity and intuitiveness in naming.<br />
</li>
<li>Added <span style="font-style: italic;" class="mycode_i">{Float, _}:...</span> everywhere.  What does this mean?  It means no more <span style="font-style: italic;" class="mycode_i">format()</span>**- think y_va but natively.<br />
</li>
<li><span style="font-style: italic;" class="mycode_i">-O2</span>, the highest pawn optimisation level, works when using the new compiler and VM.  Some includes may need to be updated, but some already have.  To help with that...<br />
</li>
<li>The <span style="font-style: italic;" class="mycode_i">__optimisation</span> macro was added so code can configure itself when compiled with <span style="font-style: italic;" class="mycode_i">-O2</span>.<br />
</li>
</ul>
<br />
*Almost all of them.<br />
**Almost no more <span style="font-style: italic;" class="mycode_i">format()</span>.<br />
<br />
<span style="font-size: large;" class="mycode_size">SDK</span><br />
<br />
Pawn is the long-standing, and still official, way to write modes for your server.  It isn't going away, but for those of you who want more control we are finally releasing the full SDK (the <span style="font-weight: bold;" class="mycode_b">S</span>oftware <span style="font-weight: bold;" class="mycode_b">D</span>evelopment <span style="font-weight: bold;" class="mycode_b">K</span>it).  This is a C++ interface to the server, the same one used by all the components that make up the core open.mp code.  Anything they can do you can do too (compared to plugins, which were only designed to provide functions to pawn, not write modes).<br />
<br />
We have some documentation under way, it takes time unfortunately.  But in the meantime have several example components for those of you who want to get straight stuck in.  These are all templates you can build upon, and go from basically nothing to a fully working component with most common features:<br />
<br />
<a href="https://github.com/openmultiplayer/empty-template" target="_blank" rel="noopener" class="mycode_url">https://github.com/openmultiplayer/empty-template</a><br />
<a href="https://github.com/openmultiplayer/basic-template" target="_blank" rel="noopener" class="mycode_url">https://github.com/openmultiplayer/basic-template</a><br />
<a href="https://github.com/openmultiplayer/pawn-template" target="_blank" rel="noopener" class="mycode_url">https://github.com/openmultiplayer/pawn-template</a><br />
<a href="https://github.com/openmultiplayer/full-template" target="_blank" rel="noopener" class="mycode_url">https://github.com/openmultiplayer/full-template</a><br />
<br />
Also a few terms to get you started, so you can start to understand what it is that you're reading:<br />
<ul class="mycode_list"><li><span style="font-weight: bold;" class="mycode_b">Component</span> - A logical individual piece of the server, like objects or pickups.  Ones you don't need don't need to be loaded.<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">Extension</span> - Code that extends another bit of code.  You can write component extensions, but the most common ones are player extensions, which define some structure of data to be associated with a player in addition to all their normal data like health and weapons.<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">UID</span> - <span style="font-weight: bold;" class="mycode_b">U</span>nique <span style="font-weight: bold;" class="mycode_b">ID</span>entifier, a number that represents your component, and your component alone.  This ia always required and can be got here: <a href="http://open.mp/uid" target="_blank" rel="noopener" class="mycode_url">http://open.mp/uid</a><br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">Entity</span> - A thing, usually a thing a player can interact with, and which you might have a lot of.  Objects are entities, but other players are also entities, even commands in a processor could be called entities.<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">Pool</span> - Something that holds entities.  When you have a lot you need to be able to access them by name or ID in some way, this is what a pool does.<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">Interface</span> - Components use an abstract base class as an interface.  This declares which methods a component has, but doesn't contain the code for the methods.  Interfaces are passed around so that components can communicate with each other, but implementations are kept private.<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">SDK</span> - The collection of all the interfaces defined by the core server.<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">ABI</span> - An <span style="font-weight: bold;" class="mycode_b">A</span>pplication <span style="font-weight: bold;" class="mycode_b">B</span>inary <span style="font-weight: bold;" class="mycode_b">I</span>nterface is the way compiled code talks to other compiled code.  The interfaces exported by the SDK are <span style="font-weight: bold;" class="mycode_b">ABI stable</span>, which means that using two components compiled at different times will still work together.<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">pawn-natives</span> - The library on which all native declarations are built.  Useing a wrapper called <span style="font-style: italic;" class="mycode_i">SCRIPT_API</span> around this library: <a href="https://github.com/openmultiplayer/pawn-natives" target="_blank" rel="noopener" class="mycode_url">https://github.com/openmultiplayer/pawn-natives</a><br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">Event</span> - Something that happens externally.  Things like players connecting and typing commands are events.  Any component can define events and tell other components when those events happen.<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">Handler</span> - A component that wants to know when an event happens.<br />
</li>
</ul>
<br />
<span style="font-size: large;" class="mycode_size">Features</span><br />
<br />
Beside all the new features announced for pawn, there are several new (and newly announced) features in the server:<br />
<ul class="mycode_list"><li>Per-player gang zones, as were in YSF.<br />
</li>
<li>Per-player pickups, also as in YSF.<br />
</li>
<li><span style="font-style: italic;" class="mycode_i">AttachPlayerObjectToPlayer</span>.<br />
</li>
<li>Better PawnPlus support.<br />
</li>
<li><span style="font-style: italic;" class="mycode_i">:memory:</span>, and other special names support in SQLite.<br />
</li>
<li>SQLite open flags.<br />
</li>
<li><span style="font-style: italic;" class="mycode_i">exclude</span> config option to not load certain components.<br />
</li>
<li>Show config parse errors, don't just silently fail.<br />
</li>
<li>SDK major version check, just in case we ever make major server changes (hopefully we won't).<br />
</li>
</ul>
<br />
<span style="font-size: large;" class="mycode_size">Fixes</span><br />
<br />
There were a few new bugs introduced in beta 11, and a few minor ones left over from before.  The ones fixed include:<br />
<ul class="mycode_list"><li><span style="font-style: italic;" class="mycode_i">funcidx</span> already registered warning.<br />
</li>
<li>GDK plugins (streamer etc) missing natives.<br />
</li>
<li>Random crash on GMX.<br />
</li>
<li>GDK callbacks sometimes not called.<br />
</li>
<li>No logging when requested in SQLite component.<br />
</li>
<li>Some settings not reset on GMX.<br />
</li>
<li>NPCs were connecting when there were a lot done at once.<br />
</li>
<li><span style="font-style: italic;" class="mycode_i">.so</span> was still needed in Linux legacy plugin names.<br />
</li>
</ul>
<br />
<span style="font-size: large;" class="mycode_size">Links</span><br />
<br />
Firstly, of course, is the new server version:<br />
<br />
<a href="https://github.com/openmultiplayer/server-beta/releases" target="_blank" rel="noopener" class="mycode_url">https://github.com/openmultiplayer/server-beta/releases</a><br />
<br />
Secondly, the forums are back up.  Head there for all your questions:<br />
<br />
<a href="https://forum.open.mp/" target="_blank" rel="noopener" class="mycode_url">https://forum.open.mp/</a><br />
<br />
Or if you prefer:<br />
<br />
<a href="https://vk.com/open_mp" target="_blank" rel="noopener" class="mycode_url">https://vk.com/open_mp</a><br />
<br />
Finally, despite it being offered a few times, we have explicitly resisted any money up to this point; because we didn't feel it was right until we had proven ourselves with a release.  With this post, that time is now, so if anyone wants to help support us (all donations will go towards infrastructure and future client dev work), it would be most appreciated:<br />
<br />
<a href="https://www.patreon.com/open_mp" target="_blank" rel="noopener" class="mycode_url">https://www.patreon.com/open_mp</a><br />
<a href="https://opencollective.com/openmultiplayer" target="_blank" rel="noopener" class="mycode_url">https://opencollective.com/openmultiplayer</a><br />
<br />
And of course everything is still in active development, so please do check all the links above regularly to see what's new that we have.]]></description>
			<content:encoded><![CDATA[Happy New Year @everyone<br />
<br />
It's here!<br />
<br />
It's finally here!<br />
<br />
After four years, two rewrites, arguments and drama, and countless other hurdles; it is finally here!<br />
<br />
Release Candidate 1 (RC1) of the open.mp server.<br />
<br />
This, hopefully, represents the final version of the code for our 1.0 release, and if everything goes smoothly with this version we will be able to finally <span style="font-weight: bold;" class="mycode_b">open</span>the so-called <span style="font-weight: bold;" class="mycode_b">open</span>.mp in just a few days from now.<br />
<br />
Before I get in to the meat of the release I want to first sincerely thank every member of the open.mp team for helping the mod get this far.  It has not been easy, mostly because of how invested everyone truly was - we all wanted what was best for the mod, for the community, for SA:MP, for our servers, and for our players; we wouldn't have embarked on this journey if that wasn't the case.  Unfortunately strong differing opinions on what is <span style="font-weight: bold;" class="mycode_b">best</span>sometimes causes friction.  But we're here now.  So to all, a huge thank you:<br />
<ul class="mycode_list"><li>Amir<br />
</li>
<li>Cheaterman<br />
</li>
<li>Freaksken<br />
</li>
<li>Graber<br />
</li>
<li>Hual<br />
</li>
<li>Josh<br />
</li>
<li>JustMichael<br />
</li>
<li>kseny<br />
</li>
<li>Nexius<br />
</li>
<li>pkfln<br />
</li>
<li>Potassium<br />
</li>
<li>Southclaws<br />
</li>
<li>TommyB<br />
</li>
<li>Y_Less<br />
</li>
<li>Zeex<br />
</li>
<li>And probably more...<br />
</li>
</ul>
<br />
Anyway, now the bit you actually care about...<br />
<br />
Now we're out of beta, we're (if all goes well this week) releasing on time.  So along with the server itself, which you've seen a dozen times before, we have some new goodies for you:<br />
<br />
<span style="font-size: large;" class="mycode_size">Pawn</span><br />
<br />
The download has the official includes, no more patching the old SA:MP includes with <span style="font-style: italic;" class="mycode_i">omp.inc</span>, now we're doing it properly!  It also has a new compiler.  Ever wonder when 3.10.11 was coming?  Well wait no longer (if you built it yourself, you could think of this one as 3.10.12)!  With this combination you'll probably get loads of new warnings, but worry not - we have a tool for that as well, to automatically upgrade a load of code, adding well-defined symbol names, <span style="font-style: italic;" class="mycode_i">const</span>, and more in all the right places.  Maybe you already noticed this, you've been using it for months, but the virtual machine (the bit inside the server) has been updated as well!  Oh, and all those string natives you know and love, like <span style="font-style: italic;" class="mycode_i">SendClientMessage</span> and <span style="font-style: italic;" class="mycode_i">AddMenuItem</span>?  They all format now.  All of them*.<br />
<br />
Documentation on the updated includes:<br />
<br />
<a href="https://github.com/openmultiplayer/omp-stdlib" target="_blank" rel="noopener" class="mycode_url">https://github.com/openmultiplayer/omp-stdlib</a><br />
<br />
Documentation on the new compiler:<br />
<br />
<a href="https://github.com/openmultiplayer/compiler/" target="_blank" rel="noopener" class="mycode_url">https://github.com/openmultiplayer/compiler/</a><br />
<a href="https://github.com/pawn-lang/compiler/" target="_blank" rel="noopener" class="mycode_url">https://github.com/pawn-lang/compiler/</a><br />
<br />
Documentation on qawno:<br />
<br />
<a href="https://github.com/openmultiplayer/qawno/" target="_blank" rel="noopener" class="mycode_url">https://github.com/openmultiplayer/qawno/</a><br />
<br />
Documentation on the upgrader tool:<br />
<br />
<a href="https://github.com/openmultiplayer/upgrade" target="_blank" rel="noopener" class="mycode_url">https://github.com/openmultiplayer/upgrade</a><br />
<br />
A full list of what's available:<br />
<ul class="mycode_list"><li>Symbol length limit increased to 64, no more <span style="font-style: italic;" class="mycode_i">OnPlyrDoTheTing</span> to try and fit your names in.  Leading to...<br />
</li>
<li>Multiple natives decompressed - is <span style="font-style: italic;" class="mycode_i">Col</span> short for <span style="font-style: italic;" class="mycode_i">Colour</span> or <span style="font-style: italic;" class="mycode_i">Collision</span>?  Now you know!<br />
</li>
<li>Tags.  Tags everywhere.  See the included documentation.<br />
</li>
<li>The official includes are finally const-correct.  No more complaining that some people might not have them.<br />
</li>
<li>Compiler version updated: <span style="font-style: italic;" class="mycode_i">__nameof</span>, <span style="font-style: italic;" class="mycode_i">__addressof</span>, fixes, and too many more things to go in to here.<br />
</li>
<li><span style="font-style: italic;" class="mycode_i">switch</span> is way faster.<br />
</li>
<li>More warnings for previously undetected issues.  The more problems the compiler can find, the fewer you need to.<br />
</li>
<li>An <span style="font-weight: bold;" class="mycode_b">upgrader</span>tool to add tags and <span style="font-style: italic;" class="mycode_i">const</span> to user-code and fix several new warnings.<br />
</li>
<li>More consistent naming.  Every native has been closely examined and compared to ensure the maximum level of similarity and intuitiveness in naming.<br />
</li>
<li>Added <span style="font-style: italic;" class="mycode_i">{Float, _}:...</span> everywhere.  What does this mean?  It means no more <span style="font-style: italic;" class="mycode_i">format()</span>**- think y_va but natively.<br />
</li>
<li><span style="font-style: italic;" class="mycode_i">-O2</span>, the highest pawn optimisation level, works when using the new compiler and VM.  Some includes may need to be updated, but some already have.  To help with that...<br />
</li>
<li>The <span style="font-style: italic;" class="mycode_i">__optimisation</span> macro was added so code can configure itself when compiled with <span style="font-style: italic;" class="mycode_i">-O2</span>.<br />
</li>
</ul>
<br />
*Almost all of them.<br />
**Almost no more <span style="font-style: italic;" class="mycode_i">format()</span>.<br />
<br />
<span style="font-size: large;" class="mycode_size">SDK</span><br />
<br />
Pawn is the long-standing, and still official, way to write modes for your server.  It isn't going away, but for those of you who want more control we are finally releasing the full SDK (the <span style="font-weight: bold;" class="mycode_b">S</span>oftware <span style="font-weight: bold;" class="mycode_b">D</span>evelopment <span style="font-weight: bold;" class="mycode_b">K</span>it).  This is a C++ interface to the server, the same one used by all the components that make up the core open.mp code.  Anything they can do you can do too (compared to plugins, which were only designed to provide functions to pawn, not write modes).<br />
<br />
We have some documentation under way, it takes time unfortunately.  But in the meantime have several example components for those of you who want to get straight stuck in.  These are all templates you can build upon, and go from basically nothing to a fully working component with most common features:<br />
<br />
<a href="https://github.com/openmultiplayer/empty-template" target="_blank" rel="noopener" class="mycode_url">https://github.com/openmultiplayer/empty-template</a><br />
<a href="https://github.com/openmultiplayer/basic-template" target="_blank" rel="noopener" class="mycode_url">https://github.com/openmultiplayer/basic-template</a><br />
<a href="https://github.com/openmultiplayer/pawn-template" target="_blank" rel="noopener" class="mycode_url">https://github.com/openmultiplayer/pawn-template</a><br />
<a href="https://github.com/openmultiplayer/full-template" target="_blank" rel="noopener" class="mycode_url">https://github.com/openmultiplayer/full-template</a><br />
<br />
Also a few terms to get you started, so you can start to understand what it is that you're reading:<br />
<ul class="mycode_list"><li><span style="font-weight: bold;" class="mycode_b">Component</span> - A logical individual piece of the server, like objects or pickups.  Ones you don't need don't need to be loaded.<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">Extension</span> - Code that extends another bit of code.  You can write component extensions, but the most common ones are player extensions, which define some structure of data to be associated with a player in addition to all their normal data like health and weapons.<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">UID</span> - <span style="font-weight: bold;" class="mycode_b">U</span>nique <span style="font-weight: bold;" class="mycode_b">ID</span>entifier, a number that represents your component, and your component alone.  This ia always required and can be got here: <a href="http://open.mp/uid" target="_blank" rel="noopener" class="mycode_url">http://open.mp/uid</a><br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">Entity</span> - A thing, usually a thing a player can interact with, and which you might have a lot of.  Objects are entities, but other players are also entities, even commands in a processor could be called entities.<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">Pool</span> - Something that holds entities.  When you have a lot you need to be able to access them by name or ID in some way, this is what a pool does.<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">Interface</span> - Components use an abstract base class as an interface.  This declares which methods a component has, but doesn't contain the code for the methods.  Interfaces are passed around so that components can communicate with each other, but implementations are kept private.<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">SDK</span> - The collection of all the interfaces defined by the core server.<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">ABI</span> - An <span style="font-weight: bold;" class="mycode_b">A</span>pplication <span style="font-weight: bold;" class="mycode_b">B</span>inary <span style="font-weight: bold;" class="mycode_b">I</span>nterface is the way compiled code talks to other compiled code.  The interfaces exported by the SDK are <span style="font-weight: bold;" class="mycode_b">ABI stable</span>, which means that using two components compiled at different times will still work together.<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">pawn-natives</span> - The library on which all native declarations are built.  Useing a wrapper called <span style="font-style: italic;" class="mycode_i">SCRIPT_API</span> around this library: <a href="https://github.com/openmultiplayer/pawn-natives" target="_blank" rel="noopener" class="mycode_url">https://github.com/openmultiplayer/pawn-natives</a><br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">Event</span> - Something that happens externally.  Things like players connecting and typing commands are events.  Any component can define events and tell other components when those events happen.<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">Handler</span> - A component that wants to know when an event happens.<br />
</li>
</ul>
<br />
<span style="font-size: large;" class="mycode_size">Features</span><br />
<br />
Beside all the new features announced for pawn, there are several new (and newly announced) features in the server:<br />
<ul class="mycode_list"><li>Per-player gang zones, as were in YSF.<br />
</li>
<li>Per-player pickups, also as in YSF.<br />
</li>
<li><span style="font-style: italic;" class="mycode_i">AttachPlayerObjectToPlayer</span>.<br />
</li>
<li>Better PawnPlus support.<br />
</li>
<li><span style="font-style: italic;" class="mycode_i">:memory:</span>, and other special names support in SQLite.<br />
</li>
<li>SQLite open flags.<br />
</li>
<li><span style="font-style: italic;" class="mycode_i">exclude</span> config option to not load certain components.<br />
</li>
<li>Show config parse errors, don't just silently fail.<br />
</li>
<li>SDK major version check, just in case we ever make major server changes (hopefully we won't).<br />
</li>
</ul>
<br />
<span style="font-size: large;" class="mycode_size">Fixes</span><br />
<br />
There were a few new bugs introduced in beta 11, and a few minor ones left over from before.  The ones fixed include:<br />
<ul class="mycode_list"><li><span style="font-style: italic;" class="mycode_i">funcidx</span> already registered warning.<br />
</li>
<li>GDK plugins (streamer etc) missing natives.<br />
</li>
<li>Random crash on GMX.<br />
</li>
<li>GDK callbacks sometimes not called.<br />
</li>
<li>No logging when requested in SQLite component.<br />
</li>
<li>Some settings not reset on GMX.<br />
</li>
<li>NPCs were connecting when there were a lot done at once.<br />
</li>
<li><span style="font-style: italic;" class="mycode_i">.so</span> was still needed in Linux legacy plugin names.<br />
</li>
</ul>
<br />
<span style="font-size: large;" class="mycode_size">Links</span><br />
<br />
Firstly, of course, is the new server version:<br />
<br />
<a href="https://github.com/openmultiplayer/server-beta/releases" target="_blank" rel="noopener" class="mycode_url">https://github.com/openmultiplayer/server-beta/releases</a><br />
<br />
Secondly, the forums are back up.  Head there for all your questions:<br />
<br />
<a href="https://forum.open.mp/" target="_blank" rel="noopener" class="mycode_url">https://forum.open.mp/</a><br />
<br />
Or if you prefer:<br />
<br />
<a href="https://vk.com/open_mp" target="_blank" rel="noopener" class="mycode_url">https://vk.com/open_mp</a><br />
<br />
Finally, despite it being offered a few times, we have explicitly resisted any money up to this point; because we didn't feel it was right until we had proven ourselves with a release.  With this post, that time is now, so if anyone wants to help support us (all donations will go towards infrastructure and future client dev work), it would be most appreciated:<br />
<br />
<a href="https://www.patreon.com/open_mp" target="_blank" rel="noopener" class="mycode_url">https://www.patreon.com/open_mp</a><br />
<a href="https://opencollective.com/openmultiplayer" target="_blank" rel="noopener" class="mycode_url">https://opencollective.com/openmultiplayer</a><br />
<br />
And of course everything is still in active development, so please do check all the links above regularly to see what's new that we have.]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[SA-MP 0.3DL compatibility plus other added features and bug fixes - SERVER BETA RELEA]]></title>
			<link>https://forum.open.mp/showthread.php?tid=2318</link>
			<pubDate>Thu, 08 Sep 2022 09:26:16 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://forum.open.mp/member.php?action=profile&uid=12">Potassium</a>]]></dc:creator>
			<guid isPermaLink="false">https://forum.open.mp/showthread.php?tid=2318</guid>
			<description><![CDATA[<span style="font-style: italic;" class="mycode_i"><span style="font-size: small;" class="mycode_size">Posted in our Discord server announcements channel by kseny (discord.gg/samp)</span></span><br />
<br />
<br />
<br />
Hello everyone<br />
<br />
<br />
<br />
We have just released open.mp server beta 9, fixing several reported issues and adding several new features. The most notable change being - <span style="font-weight: bold;" class="mycode_b"><span style="color: #ff4136;" class="mycode_color"><span style="font-size: small;" class="mycode_size">SA:MP 0.3DL support. You can now run 0.3.7 and 0.3.DL compatible servers from the same binary!</span></span></span><br />
<br />
<br />
<br />
<span style="font-weight: bold;" class="mycode_b">Other Changes</span><br />
<br />
<br />
<ul class="mycode_list"><li>Dynamic tick rate. Specify a target tickrate, rather than a fixed sleep time.<br />
<br />
- Use the <span style="font-style: italic;" class="mycode_i">tickrate </span>console command to set the rate<br />
<br />
- sleep can now be a float to accomodate precise tick rates.</li>
<li>More plugin compatibility - fsutil, Discord connector (only with non static build)<br />
<br />
</li>
<li><span style="font-style: italic;" class="mycode_i">SetSpawnInfo </span>return fixed.<br />
<br />
</li>
<li>Fix weather and time not resetting after GMX.<br />
<br />
</li>
<li>Fix various GMX bugs.<br />
<br />
</li>
<li>Fix various console commands.<br />
<br />
</li>
<li>Fix <span style="font-style: italic;" class="mycode_i">GetPlayerClass</span>.<br />
<br />
</li>
<li>Fix <span style="font-style: italic;" class="mycode_i">GetVehicleLastDriver</span>.<br />
<br />
</li>
<li>Add <span style="font-style: italic;" class="mycode_i">GetVehicles </span>native.<br />
<br />
</li>
<li>Add <span style="font-style: italic;" class="mycode_i">GetPlayers </span>native.<br />
<br />
</li>
<li>Add <span style="font-style: italic;" class="mycode_i">GetActors </span>native.<br />
<br />
</li>
<li>All lagcomp modes are now available through config.<br />
<br />
</li>
<li>Fix trailer sync.<br />
<br />
</li>
<li>Fix <span style="font-style: italic;" class="mycode_i">GetVehicleLastDriver</span>.<br />
<br />
</li>
<li>Fix <span style="font-style: italic;" class="mycode_i">GetPlayerRotationQuat</span>.<br />
<br />
</li>
<li>Fix crash in vehicle component.<br />
<br />
</li>
</ul>
<br />
<br />
<br />
<br />
<br />
<span style="font-weight: bold;" class="mycode_b">SA:MP DL</span><br />
<br />
<br />
<br />
<br />
<br />
This is the big news obviously, and comes with a whole host of new settings:<br />
<br />
<br />
<ul class="mycode_list"><li>Implemented all DL natives and callbacks (<span style="font-style: italic;" class="mycode_i">AddSimpleModel, AddSimpleModelTimed, GetPlayerCustomSkin, OnPlayerFinishedDownloading, OnPlayerRequestDownload</span>):<br />
<br />
- <span style="font-style: italic;" class="mycode_i">RedirectDownload </span>native and <span style="font-style: italic;" class="mycode_i">OnPlayerRequestDownload </span>callback are now deprecated in favour of CDN config options.<br />
<br />
</li>
<li>Add <span style="font-style: italic;" class="mycode_i">artwork.enable</span> (legacy: <span style="font-style: italic;" class="mycode_i">useartwork</span>) config option.<br />
<br />
</li>
<li>Add <span style="font-style: italic;" class="mycode_i">artwork.models_path</span> (legacy: <span style="font-style: italic;" class="mycode_i">artpath</span>) config option.<br />
<br />
- Server can load custom models from <span style="font-style: italic;" class="mycode_i">artconfig.txt</span> file like SA:MP does.<br />
<br />
</li>
<li>0.3.7 compatibility is preserved and can be configured by <span style="font-style: italic;" class="mycode_i">network.allow_037_clients</span> config option (true by default).<br />
<br />
</li>
<li>open.mp server comes now with a built in webserver used to serve custom models<br />
<br />
- Webserver is using open.mp server bind address and port. Please allow TCP connections on your port in firewall if you plan to use it.- If your public IP address is different than bind address (ex: you're behind a router) you'll need to set it in <span style="font-style: italic;" class="mycode_i">network.public_addr</span> config option.<br />
<br />
</li>
</ul>
<br />
<span style="font-weight: bold;" class="mycode_b">Notes</span><br />
<br />
<br />
<ul class="mycode_list"><li>Due to few changes old config.json files may not work properly. Please use <span style="font-style: italic;" class="mycode_i">./omp-server --default-config</span> to generate a new one<br />
<br />
</li>
<li>server.cfg users are not affected.<br />
<br />
</li>
<li>While allowing 0.3.7 connections only 1000 objects can be created<br />
<br />
</li>
<li>open.mp server now provides two types of Linux builds, standard and static. You are encouraged to use the standard build if possible, it will minimize incompatibilities with various plugins; however, it will require openssl 1.1 installed on your system. If you can't install modern openssl on your system (typically if it's very old), you can use the static build, but some plugins or components might fail to load and crash the server.<br />
<br />
</li>
</ul>
<br />
<span style="font-weight: bold;" class="mycode_b">Official Includes</span><br />
<br />
<br />
<br />
Preparing a full release is not just having a working server, but all the other peripherals as well - libraries, tools, documentation, and more. On the pawn side open.mp is a significant upgrade, with many QoL improvements already seen through fixes and new functions, and more to come. A big part of this push is more compiler diagnostics to find code problems ahead of time, mostly through more tags and const-correctness. While the offical versions aren't out yet you can still help in the meantime by testing your code with the following includes and tools:<br />
<br />
<br />
<br />
<a href="https://github.com/pawn-lang/samp-stdlib/tree/consistency-overhaul" target="_blank" rel="noopener" class="mycode_url">https://github.com/pawn-lang/samp-stdlib...y-overhaul</a>?<br />
<br />
<a href="https://github.com/pawn-lang/pawn-stdlib/tree/backported-natives" target="_blank" rel="noopener" class="mycode_url">https://github.com/pawn-lang/pawn-stdlib...ed-natives</a>?<br />
<br />
<a href="https://github.com/openmultiplayer/upgrade" target="_blank" rel="noopener" class="mycode_url">https://github.com/openmultiplayer/upgrade</a>?<br />
<br />
<a href="https://github.com/pawn-lang/compiler" target="_blank" rel="noopener" class="mycode_url">https://github.com/pawn-lang/compiler</a><br />
<br />
<br />
<br />
These were originally developed to improve the default SA:MP includes, but never fully released (i.e. never merged to master, despite the PR being accepted). The open.mp includes build on the foundation established here so think of these as a stepping-stone to full open.mp tag and const safety; and important feedback on their direction. See the links above for far more information and documentation on upgrading.<br />
<br />
<br />
<br />
As ever, if you don't want to upgrade old code and includes will still work (at least for the first release).]]></description>
			<content:encoded><![CDATA[<span style="font-style: italic;" class="mycode_i"><span style="font-size: small;" class="mycode_size">Posted in our Discord server announcements channel by kseny (discord.gg/samp)</span></span><br />
<br />
<br />
<br />
Hello everyone<br />
<br />
<br />
<br />
We have just released open.mp server beta 9, fixing several reported issues and adding several new features. The most notable change being - <span style="font-weight: bold;" class="mycode_b"><span style="color: #ff4136;" class="mycode_color"><span style="font-size: small;" class="mycode_size">SA:MP 0.3DL support. You can now run 0.3.7 and 0.3.DL compatible servers from the same binary!</span></span></span><br />
<br />
<br />
<br />
<span style="font-weight: bold;" class="mycode_b">Other Changes</span><br />
<br />
<br />
<ul class="mycode_list"><li>Dynamic tick rate. Specify a target tickrate, rather than a fixed sleep time.<br />
<br />
- Use the <span style="font-style: italic;" class="mycode_i">tickrate </span>console command to set the rate<br />
<br />
- sleep can now be a float to accomodate precise tick rates.</li>
<li>More plugin compatibility - fsutil, Discord connector (only with non static build)<br />
<br />
</li>
<li><span style="font-style: italic;" class="mycode_i">SetSpawnInfo </span>return fixed.<br />
<br />
</li>
<li>Fix weather and time not resetting after GMX.<br />
<br />
</li>
<li>Fix various GMX bugs.<br />
<br />
</li>
<li>Fix various console commands.<br />
<br />
</li>
<li>Fix <span style="font-style: italic;" class="mycode_i">GetPlayerClass</span>.<br />
<br />
</li>
<li>Fix <span style="font-style: italic;" class="mycode_i">GetVehicleLastDriver</span>.<br />
<br />
</li>
<li>Add <span style="font-style: italic;" class="mycode_i">GetVehicles </span>native.<br />
<br />
</li>
<li>Add <span style="font-style: italic;" class="mycode_i">GetPlayers </span>native.<br />
<br />
</li>
<li>Add <span style="font-style: italic;" class="mycode_i">GetActors </span>native.<br />
<br />
</li>
<li>All lagcomp modes are now available through config.<br />
<br />
</li>
<li>Fix trailer sync.<br />
<br />
</li>
<li>Fix <span style="font-style: italic;" class="mycode_i">GetVehicleLastDriver</span>.<br />
<br />
</li>
<li>Fix <span style="font-style: italic;" class="mycode_i">GetPlayerRotationQuat</span>.<br />
<br />
</li>
<li>Fix crash in vehicle component.<br />
<br />
</li>
</ul>
<br />
<br />
<br />
<br />
<br />
<span style="font-weight: bold;" class="mycode_b">SA:MP DL</span><br />
<br />
<br />
<br />
<br />
<br />
This is the big news obviously, and comes with a whole host of new settings:<br />
<br />
<br />
<ul class="mycode_list"><li>Implemented all DL natives and callbacks (<span style="font-style: italic;" class="mycode_i">AddSimpleModel, AddSimpleModelTimed, GetPlayerCustomSkin, OnPlayerFinishedDownloading, OnPlayerRequestDownload</span>):<br />
<br />
- <span style="font-style: italic;" class="mycode_i">RedirectDownload </span>native and <span style="font-style: italic;" class="mycode_i">OnPlayerRequestDownload </span>callback are now deprecated in favour of CDN config options.<br />
<br />
</li>
<li>Add <span style="font-style: italic;" class="mycode_i">artwork.enable</span> (legacy: <span style="font-style: italic;" class="mycode_i">useartwork</span>) config option.<br />
<br />
</li>
<li>Add <span style="font-style: italic;" class="mycode_i">artwork.models_path</span> (legacy: <span style="font-style: italic;" class="mycode_i">artpath</span>) config option.<br />
<br />
- Server can load custom models from <span style="font-style: italic;" class="mycode_i">artconfig.txt</span> file like SA:MP does.<br />
<br />
</li>
<li>0.3.7 compatibility is preserved and can be configured by <span style="font-style: italic;" class="mycode_i">network.allow_037_clients</span> config option (true by default).<br />
<br />
</li>
<li>open.mp server comes now with a built in webserver used to serve custom models<br />
<br />
- Webserver is using open.mp server bind address and port. Please allow TCP connections on your port in firewall if you plan to use it.- If your public IP address is different than bind address (ex: you're behind a router) you'll need to set it in <span style="font-style: italic;" class="mycode_i">network.public_addr</span> config option.<br />
<br />
</li>
</ul>
<br />
<span style="font-weight: bold;" class="mycode_b">Notes</span><br />
<br />
<br />
<ul class="mycode_list"><li>Due to few changes old config.json files may not work properly. Please use <span style="font-style: italic;" class="mycode_i">./omp-server --default-config</span> to generate a new one<br />
<br />
</li>
<li>server.cfg users are not affected.<br />
<br />
</li>
<li>While allowing 0.3.7 connections only 1000 objects can be created<br />
<br />
</li>
<li>open.mp server now provides two types of Linux builds, standard and static. You are encouraged to use the standard build if possible, it will minimize incompatibilities with various plugins; however, it will require openssl 1.1 installed on your system. If you can't install modern openssl on your system (typically if it's very old), you can use the static build, but some plugins or components might fail to load and crash the server.<br />
<br />
</li>
</ul>
<br />
<span style="font-weight: bold;" class="mycode_b">Official Includes</span><br />
<br />
<br />
<br />
Preparing a full release is not just having a working server, but all the other peripherals as well - libraries, tools, documentation, and more. On the pawn side open.mp is a significant upgrade, with many QoL improvements already seen through fixes and new functions, and more to come. A big part of this push is more compiler diagnostics to find code problems ahead of time, mostly through more tags and const-correctness. While the offical versions aren't out yet you can still help in the meantime by testing your code with the following includes and tools:<br />
<br />
<br />
<br />
<a href="https://github.com/pawn-lang/samp-stdlib/tree/consistency-overhaul" target="_blank" rel="noopener" class="mycode_url">https://github.com/pawn-lang/samp-stdlib...y-overhaul</a>?<br />
<br />
<a href="https://github.com/pawn-lang/pawn-stdlib/tree/backported-natives" target="_blank" rel="noopener" class="mycode_url">https://github.com/pawn-lang/pawn-stdlib...ed-natives</a>?<br />
<br />
<a href="https://github.com/openmultiplayer/upgrade" target="_blank" rel="noopener" class="mycode_url">https://github.com/openmultiplayer/upgrade</a>?<br />
<br />
<a href="https://github.com/pawn-lang/compiler" target="_blank" rel="noopener" class="mycode_url">https://github.com/pawn-lang/compiler</a><br />
<br />
<br />
<br />
These were originally developed to improve the default SA:MP includes, but never fully released (i.e. never merged to master, despite the PR being accepted). The open.mp includes build on the foundation established here so think of these as a stepping-stone to full open.mp tag and const safety; and important feedback on their direction. See the links above for far more information and documentation on upgrading.<br />
<br />
<br />
<br />
As ever, if you don't want to upgrade old code and includes will still work (at least for the first release).]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[OCTOBER 2020 Q&A Live stream recording and podcast]]></title>
			<link>https://forum.open.mp/showthread.php?tid=1271</link>
			<pubDate>Sat, 24 Oct 2020 02:33:44 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://forum.open.mp/member.php?action=profile&uid=12">Potassium</a>]]></dc:creator>
			<guid isPermaLink="false">https://forum.open.mp/showthread.php?tid=1271</guid>
			<description><![CDATA[Our first ever live stream was a success, with a peak of 150 viewers, and a whole bunch of your questions answered!<br />
<br />
Text transcript will be on the forum within the next few days.<br />
<br />
Feel free to offer your feedback on how we can improve our streams :)<br />
<br />
The podcast can be found here:?https://www.buzzsprout.com/1439923/6037927<br />
<br />
And the video:<br />
<br />
<iframe width="560" height="315" src="//www.youtube-nocookie.com/embed/bTYWWsXkcDo" frameborder="0" allowfullscreen="true"></iframe>]]></description>
			<content:encoded><![CDATA[Our first ever live stream was a success, with a peak of 150 viewers, and a whole bunch of your questions answered!<br />
<br />
Text transcript will be on the forum within the next few days.<br />
<br />
Feel free to offer your feedback on how we can improve our streams :)<br />
<br />
The podcast can be found here:?https://www.buzzsprout.com/1439923/6037927<br />
<br />
And the video:<br />
<br />
<iframe width="560" height="315" src="//www.youtube-nocookie.com/embed/bTYWWsXkcDo" frameborder="0" allowfullscreen="true"></iframe>]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[open.mp Frequently Asked Questions (FAQ) | APRIL 2020]]></title>
			<link>https://forum.open.mp/showthread.php?tid=1068</link>
			<pubDate>Sun, 26 Apr 2020 03:56:35 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://forum.open.mp/member.php?action=profile&uid=2228">Media</a>]]></dc:creator>
			<guid isPermaLink="false">https://forum.open.mp/showthread.php?tid=1068</guid>
			<description><![CDATA[<span style="color: #000000;" class="mycode_color"><span style="font-size: small;" class="mycode_size"><span style="font-family: Arial;" class="mycode_font">Good morning fellow San Andreas residents! ☀️</span></span></span><br />
<br />
<span style="color: #000000;" class="mycode_color"><span style="font-size: small;" class="mycode_size"><span style="font-family: Arial;" class="mycode_font">Today we’re answering some of your most frequently asked and most interesting questions, to hopefully give you a better idea of where we’re at with the development of open.mp! </span></span></span><br />
<br />
<br />
-----<br />
<br />
<br />
<span style="font-family: Arial;" class="mycode_font"><span style="font-weight: bold;" class="mycode_b"><span style="color: #8577CE;" class="mycode_color"><span style="font-size: medium;" class="mycode_size">Will you be fixing GTA SA game bugs, as well as SA-MP bugs? </span></span></span></span><br />
<br />
<br />
<span style="color: #000000;" class="mycode_color"><span style="font-size: small;" class="mycode_size"><span style="font-family: Arial;" class="mycode_font">Yes we are! 🦠 Please help out by reporting bugs here if you know how to use GitHub (this is our preference): </span></span></span><a href="https://github.com/openmultiplayer/samp-bugs/" target="_blank" rel="noopener" class="mycode_url"><span style="color: #000000;" class="mycode_color"><span style="font-size: small;" class="mycode_size"><span style="font-family: Arial;" class="mycode_font">https://github.com/openmultiplayer/samp-bugs/</span></span></span></a><br />
<br />
<span style="color: #000000;" class="mycode_color"><span style="font-size: small;" class="mycode_size"><span style="font-family: Arial;" class="mycode_font">Or on the forum if you aren’t familiar with GitHub: </span></span></span><a href="https://www.burgershot.gg/showthread.php?tid=99" target="_blank" rel="noopener" class="mycode_url"><span style="color: #000000;" class="mycode_color"><span style="font-size: small;" class="mycode_size"><span style="font-family: Arial;" class="mycode_font">https://www.burgershot.gg/showthread.php?tid=99</span></span></span></a><br />
<br />
<br />
-----<br />
<br />
<br />
<span style="color: #8577CE;" class="mycode_color"><span style="font-size: medium;" class="mycode_size"><span style="font-family: Arial;" class="mycode_font"><span style="font-weight: bold;" class="mycode_b">Which versions of SA-MP will be supported? Is 0.3.DL included? </span></span></span></span><br />
<br />
<br />
<span style="color: #000000;" class="mycode_color"><span style="font-size: small;" class="mycode_size"><span style="font-family: Arial;" class="mycode_font">We aren't officially adding versions lower than 0.3.7, but you are welcome to do it yourself if you need to (that’s the beauty of open source!) 🔧</span></span></span><br />
<br />
<span style="color: #000000;" class="mycode_color"><span style="font-size: small;" class="mycode_size"><span style="font-family: Arial;" class="mycode_font">If a lot of servers would use 0.3.DL then we’d like to include these features, but if people aren’t that bothered then we won’t. 🤷‍♂️</span></span></span><br />
<br />
<span style="color: #000000;" class="mycode_color"><span style="font-size: small;" class="mycode_size"><span style="font-family: Arial;" class="mycode_font">We had an unofficial vote about it on the forum to get some opinions, and out of 77 votes, 73 support adding these features. So it’s likely we will see them in open.mp in the future, just not in the initial release! ✔️ </span></span></span><span style="color: #000000;" class="mycode_color"><span style="font-size: small;" class="mycode_size"><span style="font-family: Arial;" class="mycode_font"><a href="https://www.burgershot.gg/showthread.php?tid=1039" target="_blank" rel="noopener" class="mycode_url">https://www.burgershot.gg/showthread.php?tid=1039</a></span></span></span><br />
<br />
<br />
-----<br />
<br />
<br />
<span style="font-family: Arial;" class="mycode_font"><span style="color: #8577CE;" class="mycode_color"><span style="font-size: medium;" class="mycode_size">W</span></span><span style="font-weight: bold;" class="mycode_b"><span style="color: #8577CE;" class="mycode_color"><span style="font-size: medium;" class="mycode_size">ill there be a fixed release cycle for new open.mp versions?</span></span></span></span><br />
<br />
<br />
<span style="color: #000000;" class="mycode_color"><span style="font-size: small;" class="mycode_size"><span style="font-family: Arial;" class="mycode_font">No. Fixed release cycles require a level of predictability and support we just don't have right now. You need people who are guaranteed to be able to work on it at a very consistent level, but since the team are all volunteers there's no way to get this reliability. Things, mostly our jobs, get in the way.</span></span></span><br />
<br />
<span style="color: #000000;" class="mycode_color"><span style="font-size: small;" class="mycode_size"><span style="font-family: Arial;" class="mycode_font">Maybe if this gets bigger we'll eventually have the support required for this. But we don't yet. However, while we won't be able to say for certain when the next release will be, with this being open-source you will at least be able to follow along and see that things are happening. We’ll do our best to always communicate with the community and stay active online between releases!</span></span></span><br />
<br />
<br />
-----<br />
<br />
<br />
<span style="color: #8577CE;" class="mycode_color"><span style="font-size: medium;" class="mycode_size"><span style="font-family: Arial;" class="mycode_font"><span style="font-weight: bold;" class="mycode_b">Can we make feature requests, and will you be adding previous requests from the SA-MP forum?</span></span></span></span><br />
<br />
<br />
<span style="color: #000000;" class="mycode_color"><span style="font-size: small;" class="mycode_size"><span style="font-family: Arial;" class="mycode_font">We would LOVE for the community to be more involved, so we encourage everyone to make suggestions and requests! 💕 You can do this here: </span></span></span><a href="https://www.burgershot.gg/forumdisplay.php?fid=42&amp;page=6" target="_blank" rel="noopener" class="mycode_url"><span style="color: #000000;" class="mycode_color"><span style="font-size: small;" class="mycode_size"><span style="font-family: Arial;" class="mycode_font">https://www.burgershot.gg/forumdisplay.php?fid=42&amp;page=6</span></span></span></a><span style="color: #000000;" class="mycode_color"><span style="font-size: small;" class="mycode_size"><span style="font-family: Arial;" class="mycode_font"> </span></span></span><br />
<br />
<span style="color: #000000;" class="mycode_color"><span style="font-size: small;" class="mycode_size"><span style="font-family: Arial;" class="mycode_font">Of course, there is no guarantee that every idea will be accepted or implemented… but that’s the great thing about open source - if you want something added, you can do it yourself!</span></span></span><br />
<br />
<br />
-----<br />
<br />
<span style="font-family: Arial;" class="mycode_font"><span style="font-weight: bold;" class="mycode_b"><span style="color: #8577CE;" class="mycode_color"><span style="font-size: medium;" class="mycode_size">Will there be a built-in anti-cheat system?</span></span></span></span><br />
<br />
<br />
<span style="color: #000000;" class="mycode_color"><span style="font-size: small;" class="mycode_size"><span style="font-family: Arial;" class="mycode_font">Short answer: Yes. 👮‍♂️✋🛑</span></span></span><br />
<br />
<span style="color: #000000;" class="mycode_color"><span style="font-size: small;" class="mycode_size"><span style="font-family: Arial;" class="mycode_font">The longer answer requires explaining quite a lot about the internal architecture of the server. Everything uses a pub-sub event system. Incoming packets, outgoing packets, and callbacks are all sent around using this system, and modules (related blocks of functionality) can listen to all these events at various priority levels. There are several high priority levels dedicated to AC systems, and different modules can hook in to different events, potentially blocking them entirely. So we can have very small modules looking for specific different cheats totally independently of other code (this modularity was designed in from the very start for exactly this reason). There may not be one official huge anti-cheat, but there will be lots of modules detecting different cheats, and there's no reason they can't be bundled and distributed together.</span></span></span><br />
<br />
<br />
-----<br />
<br />
<br />
<span style="font-family: Arial;" class="mycode_font"><span style="font-weight: bold;" class="mycode_b"><span style="color: #8577CE;" class="mycode_color"><span style="font-size: medium;" class="mycode_size">Will PAWN remain the "official" scripting language of open.mp? Can we use other languages?</span></span></span></span><br />
<br />
<br />
<span style="color: #000000;" class="mycode_color"><span style="font-size: small;" class="mycode_size"><span style="font-family: Arial;" class="mycode_font">All dev work, testing, and documentation, will be done in PAWN. ♟️</span></span></span><br />
<br />
<span style="color: #000000;" class="mycode_color"><span style="font-size: small;" class="mycode_size"><span style="font-family: Arial;" class="mycode_font">However, we have a C API which will allow anyone else to implement any other language! 🤖 The C API is used by PAWN itself, so any other language using the API will have exactly the same level of access to the internals as PAWN - as opposed to SA-MP scripting where other languages have to be integrated into PAWN scripts.</span></span></span><br />
<br />
<span style="color: #000000;" class="mycode_color"><span style="font-size: small;" class="mycode_size"><span style="font-family: Arial;" class="mycode_font">We have also been discussing implementing some semi-official language modules, but PAWN is still the main and supported scripting language.</span></span></span><br />
<br />
<br />
-----<br />
<br />
<br />
<span style="color: #8577CE;" class="mycode_color"><span style="font-size: medium;" class="mycode_size"><span style="font-family: Arial;" class="mycode_font"><span style="font-weight: bold;" class="mycode_b">What is the dev team's stance on client-side scripting with other languages?</span></span></span></span><br />
<br />
<br />
<span style="color: #000000;" class="mycode_color"><span style="font-size: small;" class="mycode_size"><span style="font-family: Arial;" class="mycode_font">Mixed. It is nice for some things, but also tricky to fully sandbox, which would be absolutely required were it to be added. As it stands, PAWN has been broken to the point of allowing arbitrary assembly to be executed from a compiled script. That's fine on a server, but not on a client.  So this needs patching out first. Using a different language would raise the question of why client and server are different, switching the server language would break the promise of backwards compatibility, and having two in any manner would double the support load.</span></span></span><br />
<br />
<span style="color: #000000;" class="mycode_color"><span style="font-size: small;" class="mycode_size"><span style="font-family: Arial;" class="mycode_font">The other idea thrown around is that of client-side plugins that they control and access from a central location. If your server needs the "Advanced Image Preview" client-side plugin, your server advertises this fact and a connecting client will either already have it or download it from the central repository. This gives everyone the ability to inspect exactly what code is being run on their own machine, build it themselves if they want to, and be certain of the provenance. The major downside to this is then hosting and vetting these plugins.</span></span></span><br />
<br />
<br />
-----<br />
<br />
<br />
<span style="font-family: Arial;" class="mycode_font"><span style="font-weight: bold;" class="mycode_b"><span style="color: #8577CE;" class="mycode_color"><span style="font-size: medium;" class="mycode_size">Will SA-MP plugins work on open.mp?</span></span></span></span><br />
<br />
<br />
<span style="color: #000000;" class="mycode_color"><span style="font-size: small;" class="mycode_size"><span style="font-family: Arial;" class="mycode_font">The word "plugins" is now used to describe legacy plugins - the ones that were written for SA-MP (such as sscanf, MySQL etc) - and open.mp has an API to load these existing plugins. </span></span></span><br />
<br />
<span style="color: #000000;" class="mycode_color"><span style="font-size: small;" class="mycode_size"><span style="font-family: Arial;" class="mycode_font">Our new name for plugins going forward is "Modules" - this is the name given to any plugins (and internal code) that use the newer, far more expansive, API with open.mp.</span></span></span><br />
<br />
<span style="color: #000000;" class="mycode_color"><span style="font-size: small;" class="mycode_size"><span style="font-family: Arial;" class="mycode_font">Legacy plugins still work fine and will continue to do so, unless they use memory hacking, like YSF - that relies on addresses and structures which are just nothing alike in this server. </span></span></span><br />
<br />
<span style="color: #000000;" class="mycode_color"><span style="font-size: small;" class="mycode_size"><span style="font-family: Arial;" class="mycode_font">But most of these old memory hacks were created to add features that will be native in open.mp, meaning we won’t need these plugins anyway!</span></span></span><br />
<br />
<br />
-----<br />
<br />
<br />
<span style="font-family: Arial;" class="mycode_font"><span style="font-weight: bold;" class="mycode_b"><span style="color: #8577CE;" class="mycode_color"><span style="font-size: medium;" class="mycode_size">Will database functions be restricted to SQLite, or we can use MySQL?</span></span></span></span><br />
<br />
<br />
<span style="color: #000000;" class="mycode_color"><span style="font-size: small;" class="mycode_size"><span style="font-family: Arial;" class="mycode_font">The default database functions are the same as they were before - SQLite. But, as stated above, open.mp has an API to load existing plugins, so we won’t need to change anything internally with regard to database functions - this can still be done via your existing plugins.</span></span></span><br />
<br />
<span style="color: #000000;" class="mycode_color"><span style="font-size: small;" class="mycode_size"><span style="font-family: Arial;" class="mycode_font">Third-party modules are fully supported and treated as first-class citizens in the code - callbacks and natives are all available to them in exactly the same way as to internal code, so there's no drawbacks to putting things in external modules. </span></span></span><br />
<br />
<br />
-----<br />
<br />
<br />
<span style="font-family: Arial;" class="mycode_font"><span style="font-weight: bold;" class="mycode_b"><span style="color: #8577CE;" class="mycode_color"><span style="font-size: medium;" class="mycode_size">Will there be more customisation for elements such as HUD, stamina, minigames (pool, gym, etc), different vehicle variants, vehicle indicators/turn signals, SA-MP+ features, etc? Will there be support for more customisable GUIs, as opposed to the limited textdraws in SA-MP? CEF? How will this stuff be protected?</span></span></span></span><br />
<br />
<br />
<span style="color: #000000;" class="mycode_color"><span style="font-size: small;" class="mycode_size"><span style="font-family: Arial;" class="mycode_font">We got soooo many questions about this sort of stuff, so grab a snack, this is gonna be a long answer! 🍿</span></span></span><br />
<br />
<span style="color: #000000;" class="mycode_color"><span style="font-size: small;" class="mycode_size"><span style="font-family: Arial;" class="mycode_font">Having Hual (creator of SA-MP+) on our development team, who knows what the future will bring? 👀</span></span></span><br />
<br />
<span style="color: #000000;" class="mycode_color"><span style="font-size: small;" class="mycode_size"><span style="font-family: Arial;" class="mycode_font">The major thing that differentiated SA-MP from MTA was expressed well in the names - SA-MP was literally "San Andreas Multiplayer", a multiplayer version of the game GTA San Andreas., while MTA is a more generic platform set in that world. </span></span></span><br />
<br />
<span style="color: #000000;" class="mycode_color"><span style="font-size: small;" class="mycode_size"><span style="font-family: Arial;" class="mycode_font">Features were added to SA-MP that fit closely with the feel of the original game, and while there are obviously ways that it has gone beyond those limits, things were still done very conservatively. </span></span></span><br />
<br />
<span style="color: #000000;" class="mycode_color"><span style="font-size: small;" class="mycode_size"><span style="font-family: Arial;" class="mycode_font">We stuck with SA-MP this long because we preferred their approach, but we do want slightly more features (that's why we branched out in the first place), but we don't want to go too far. We will add new features, some of them won't have been in the original game, but we'll still carefully weigh the effects of each one. </span></span></span><br />
<br />
<span style="color: #000000;" class="mycode_color"><span style="font-size: small;" class="mycode_size"><span style="font-family: Arial;" class="mycode_font">Is allowing slightly wider dialog boxes a crazy addition that pushes the boundaries of what's considered canonical GTA? Probably not. </span></span></span><br />
<br />
<span style="color: #000000;" class="mycode_color"><span style="font-size: small;" class="mycode_size"><span style="font-family: Arial;" class="mycode_font">Is adding CEF too far? Yes - that won't happen. 🙅‍♂️</span></span></span><br />
<br />
<span style="color: #000000;" class="mycode_color"><span style="font-size: small;" class="mycode_size"><span style="font-family: Arial;" class="mycode_font">The line is somewhere between the two.</span></span></span><br />
<br />
<span style="color: #000000;" class="mycode_color"><span style="font-size: small;" class="mycode_size"><span style="font-family: Arial;" class="mycode_font">However, people have always been incredibly creative in what they could achieve with limited support already, and we’re sure that won’t change. We </span></span></span><span style="color: #000000;" class="mycode_color"><span style="font-size: small;" class="mycode_size"><span style="font-family: Arial;" class="mycode_font">will always encourage players and developers to be as creative as they like with the mod - hence why it’s open source -</span></span></span><span style="color: #000000;" class="mycode_color"><span style="font-size: small;" class="mycode_size"><span style="font-family: Arial;" class="mycode_font"> we’ll even help and support them in doing it, but it won’t be our primary focus.</span></span></span><br />
<br />
<span style="color: #000000;" class="mycode_color"><span style="font-size: small;" class="mycode_size"><span style="font-family: Arial;" class="mycode_font">The primary concern is for the clients themselves. We don’t want server owners to be able to distribute anything potentially malicious. San Andreas was not designed for multiplayer or modding, and many of the loaders are not hardened against malformed files - there was simply no need. This is something that SA-MP struggled with when adding custom models, and this is a problem for us as well. </span></span></span><br />
<br />
<span style="color: #000000;" class="mycode_color"><span style="font-size: small;" class="mycode_size"><span style="font-family: Arial;" class="mycode_font">Any part of the game we make customisable we have to first ensure there are no exploits in the file formats and loaders. We know for a fact that models and scripts have been compromised already, others may have also already been compromised and absolutely will be when we start adding arbitrary downloads to servers.</span></span></span><br />
<br />
<span style="color: #000000;" class="mycode_color"><span style="font-size: small;" class="mycode_size"><span style="font-family: Arial;" class="mycode_font">As for asset protection, that’s simply impossible. To show a custom model to a client, you need to send them the custom model. Then, they by definition have the custom model on their computer. What they do with it from there is out of our hands. There are ways to make it slightly harder, but they aren’t foolproof. There are techniques that the web uses like DRM and secure enclaves, but they require sacrificing open-source principles to make them work. Look up the controversy surrounding </span></span></span><a href="https://en.wikipedia.org/wiki/Encrypted_Media_Extensions" target="_blank" rel="noopener" class="mycode_url"><span style="color: #000000;" class="mycode_color"><span style="font-size: small;" class="mycode_size"><span style="font-family: Arial;" class="mycode_font">EME</span></span></span></a><span style="color: #000000;" class="mycode_color"><span style="font-size: small;" class="mycode_size"><span style="font-family: Arial;" class="mycode_font"> and closed-source binary blobs inside Firefox.</span></span></span><br />
<br />
<br />
-----<br />
<br />
<br />
<span style="color: #8577CE;" class="mycode_color"><span style="font-size: medium;" class="mycode_size"><span style="font-family: Arial;" class="mycode_font"><span style="font-weight: bold;" class="mycode_b">Control over specific keys? Key binding?</span></span></span></span><br />
<br />
<br />
<span style="color: #000000;" class="mycode_color"><span style="font-size: small;" class="mycode_size"><span style="font-family: Arial;" class="mycode_font">“Keys” isn't really the right wording. A better way to think about the existing functions is as “actions” - reflected in the new names - Player_GetActions, and OnPlayerActionChange. The client has never exposed “keys” to the server. Those you can listen into too much - we basically become a keylogger. This is also why there have always been codes to say “press JUMP to open”, because players may remap their keys so that what one person has for jumping is different to the next person.</span></span></span><br />
<br />
<br />
-----<br />
<br />
<br />
<span style="color: #8577CE;" class="mycode_color"><span style="font-size: medium;" class="mycode_size"><span style="font-family: Arial;" class="mycode_font"><span style="font-weight: bold;" class="mycode_b">Better support for NPCs?</span></span></span></span><br />
<br />
<br />
<span style="color: #000000;" class="mycode_color"><span style="font-size: small;" class="mycode_size"><span style="font-family: Arial;" class="mycode_font">This is not a main focus at this point in time, but from a client point of view NPCs are exactly the same as normal players. We’d at least like our NPC functions to mirror that of FCNPC. This is definitely something we can look into for future releases.</span></span></span><br />
<br />
<br />
-----<br />
<br />
<br />
<span style="color: #8577CE;" class="mycode_color"><span style="font-size: medium;" class="mycode_size"><span style="font-family: Arial;" class="mycode_font">Y<span style="font-weight: bold;" class="mycode_b">ou said you’ve removed limits in open.mp - how does this actually work? Is it like a streamer?</span></span></span></span><br />
<br />
<br />
<span style="color: #000000;" class="mycode_color"><span style="font-size: small;" class="mycode_size"><span style="font-family: Arial;" class="mycode_font">It is exactly like a built-in streamer. However, it is more integrated than the streamer plugin, so we can stream vehicles and players as well, and mess around with local IDs in ways far beyond what the plugin does (it could in theory do the same things, it just doesn't).</span></span></span><br />
<br />
<br />
-----<br />
<br />
<br />
<span style="color: #8577CE;" class="mycode_color"><span style="font-size: medium;" class="mycode_size"><span style="font-family: Arial;" class="mycode_font"><span style="font-weight: bold;" class="mycode_b">Will we be able to attach players to entities (vehicles, objects, other players)?</span></span></span></span><span style="font-family: Arial;" class="mycode_font"><span style="font-weight: bold;" class="mycode_b"><span style="color: #8577CE;" class="mycode_color"><span style="font-size: medium;" class="mycode_size"> </span></span></span></span><br />
<br />
<br />
<span style="color: #000000;" class="mycode_color"><span style="font-size: small;" class="mycode_size"><span style="font-family: Arial;" class="mycode_font">Yep! We have already implemented this! 😁</span></span></span><br />
<br />
<br />
-----<br />
<br />
<span style="font-family: Arial;" class="mycode_font"><span style="font-weight: bold;" class="mycode_b"><span style="color: #8577CE;" class="mycode_color"><span style="font-size: medium;" class="mycode_size">When open.mp has finished implementing SA-MP features, what new things will you add?</span></span></span></span><br />
<br />
<br />
<span style="color: #000000;" class="mycode_color"><span style="font-size: small;" class="mycode_size"><span style="font-family: Arial;" class="mycode_font">We’re very open (pun intended 🤪) about what our plans are, just follow along with our posts and progress and you’ll see! </span></span></span><br />
<br />
<br />
<br />
-----<br />
<br />
<br />
<span style="font-family: Arial;" class="mycode_font"><span style="font-weight: bold;" class="mycode_b"><span style="color: #8577CE;" class="mycode_color"><span style="font-size: medium;" class="mycode_size">Are you allowed to use the SA-MP client to join open.mp servers?</span></span></span></span><br />
<br />
<br />
<span style="color: #000000;" class="mycode_color"><span style="font-size: small;" class="mycode_size"><span style="font-family: Arial;" class="mycode_font">SA-MP is a mod using reverse engineering to interface with a program made by someone else, and open.mp is doing exactly the same thing. So our legal standing is exactly the same as the SA-MP legal standing. We are not using any of the leaked SA-MP source code at all - this point has been made multiple times, and will be blatantly obvious to the community once the code is released!</span></span></span><br />
<br />
<br />
-----<br />
<br />
<br />
<span style="font-family: Arial;" class="mycode_font"><span style="font-weight: bold;" class="mycode_b"><span style="color: #8577CE;" class="mycode_color"><span style="font-size: medium;" class="mycode_size">What are going to be the biggest challenges for the new open.mp client?</span></span></span></span><br />
<br />
<br />
<span style="color: #000000;" class="mycode_color"><span style="font-size: small;" class="mycode_size"><span style="font-family: Arial;" class="mycode_font">Writing it! 🤓</span></span></span><br />
<br />
<br />
-----<br />
<br />
<br />
<span style="font-family: Arial;" class="mycode_font"><span style="font-weight: bold;" class="mycode_b"><span style="color: #8577CE;" class="mycode_color"><span style="font-size: medium;" class="mycode_size">Where do you see open.mp in 5 years?</span></span></span></span><br />
<br />
<br />
<span style="color: #000000;" class="mycode_color"><span style="font-size: small;" class="mycode_size"><span style="font-family: Arial;" class="mycode_font">Don’t you worry about that, we have plenty of long-term ideas 😉</span></span></span><br />
<br />
<br />
-----<br />
<br />
<br />
<span style="font-size: medium;" class="mycode_size"><span style="font-family: Arial;" class="mycode_font"><span style="font-weight: bold;" class="mycode_b"><span style="color: #8577CE;" class="mycode_color">Where do you see SA-MP in 5 years?</span></span></span></span><br />
<br />
<br />
<span style="color: #000000;" class="mycode_color"><span style="font-size: small;" class="mycode_size"><span style="font-family: Arial;" class="mycode_font">That’s up to the SA-MP team, not us! It’s not our place to speculate! 🤷‍♂️</span></span></span><br />
<br />
<br />
-----<br />
<br />
<br />
<span style="font-size: medium;" class="mycode_size"><span style="font-family: Arial;" class="mycode_font"><span style="font-weight: bold;" class="mycode_b"><span style="color: #8577CE;" class="mycode_color">Have you ever lost will to continue working on open.mp? Why or why not?</span></span></span></span><br />
<br />
<br />
<span style="color: #000000;" class="mycode_color"><span style="font-size: small;" class="mycode_size"><span style="font-family: Arial;" class="mycode_font">Yes, because we are normal people. 😴</span></span></span><br />
<br />
<br />
-----<br />
<br />
<br />
<span style="font-family: Arial;" class="mycode_font"><span style="font-weight: bold;" class="mycode_b"><span style="font-size: medium;" class="mycode_size"><span style="color: #8577CE;" class="mycode_color">And finally, the most commonly asked question: </span></span><br />
<span style="color: #ff3333;" class="mycode_color"><span style="font-size: x-large;" class="mycode_size">When will open.mp be released?</span></span></span></span><br />
<br />
<br />
<span style="color: #000000;" class="mycode_color"><span style="font-size: small;" class="mycode_size"><span style="font-family: Arial;" class="mycode_font">When it’s ready 😉😉😉</span></span></span><br />
<br />
<br />
Have a great week ahead!<br />
<br />
Love,<br />
The open.mp Team 💜]]></description>
			<content:encoded><![CDATA[<span style="color: #000000;" class="mycode_color"><span style="font-size: small;" class="mycode_size"><span style="font-family: Arial;" class="mycode_font">Good morning fellow San Andreas residents! ☀️</span></span></span><br />
<br />
<span style="color: #000000;" class="mycode_color"><span style="font-size: small;" class="mycode_size"><span style="font-family: Arial;" class="mycode_font">Today we’re answering some of your most frequently asked and most interesting questions, to hopefully give you a better idea of where we’re at with the development of open.mp! </span></span></span><br />
<br />
<br />
-----<br />
<br />
<br />
<span style="font-family: Arial;" class="mycode_font"><span style="font-weight: bold;" class="mycode_b"><span style="color: #8577CE;" class="mycode_color"><span style="font-size: medium;" class="mycode_size">Will you be fixing GTA SA game bugs, as well as SA-MP bugs? </span></span></span></span><br />
<br />
<br />
<span style="color: #000000;" class="mycode_color"><span style="font-size: small;" class="mycode_size"><span style="font-family: Arial;" class="mycode_font">Yes we are! 🦠 Please help out by reporting bugs here if you know how to use GitHub (this is our preference): </span></span></span><a href="https://github.com/openmultiplayer/samp-bugs/" target="_blank" rel="noopener" class="mycode_url"><span style="color: #000000;" class="mycode_color"><span style="font-size: small;" class="mycode_size"><span style="font-family: Arial;" class="mycode_font">https://github.com/openmultiplayer/samp-bugs/</span></span></span></a><br />
<br />
<span style="color: #000000;" class="mycode_color"><span style="font-size: small;" class="mycode_size"><span style="font-family: Arial;" class="mycode_font">Or on the forum if you aren’t familiar with GitHub: </span></span></span><a href="https://www.burgershot.gg/showthread.php?tid=99" target="_blank" rel="noopener" class="mycode_url"><span style="color: #000000;" class="mycode_color"><span style="font-size: small;" class="mycode_size"><span style="font-family: Arial;" class="mycode_font">https://www.burgershot.gg/showthread.php?tid=99</span></span></span></a><br />
<br />
<br />
-----<br />
<br />
<br />
<span style="color: #8577CE;" class="mycode_color"><span style="font-size: medium;" class="mycode_size"><span style="font-family: Arial;" class="mycode_font"><span style="font-weight: bold;" class="mycode_b">Which versions of SA-MP will be supported? Is 0.3.DL included? </span></span></span></span><br />
<br />
<br />
<span style="color: #000000;" class="mycode_color"><span style="font-size: small;" class="mycode_size"><span style="font-family: Arial;" class="mycode_font">We aren't officially adding versions lower than 0.3.7, but you are welcome to do it yourself if you need to (that’s the beauty of open source!) 🔧</span></span></span><br />
<br />
<span style="color: #000000;" class="mycode_color"><span style="font-size: small;" class="mycode_size"><span style="font-family: Arial;" class="mycode_font">If a lot of servers would use 0.3.DL then we’d like to include these features, but if people aren’t that bothered then we won’t. 🤷‍♂️</span></span></span><br />
<br />
<span style="color: #000000;" class="mycode_color"><span style="font-size: small;" class="mycode_size"><span style="font-family: Arial;" class="mycode_font">We had an unofficial vote about it on the forum to get some opinions, and out of 77 votes, 73 support adding these features. So it’s likely we will see them in open.mp in the future, just not in the initial release! ✔️ </span></span></span><span style="color: #000000;" class="mycode_color"><span style="font-size: small;" class="mycode_size"><span style="font-family: Arial;" class="mycode_font"><a href="https://www.burgershot.gg/showthread.php?tid=1039" target="_blank" rel="noopener" class="mycode_url">https://www.burgershot.gg/showthread.php?tid=1039</a></span></span></span><br />
<br />
<br />
-----<br />
<br />
<br />
<span style="font-family: Arial;" class="mycode_font"><span style="color: #8577CE;" class="mycode_color"><span style="font-size: medium;" class="mycode_size">W</span></span><span style="font-weight: bold;" class="mycode_b"><span style="color: #8577CE;" class="mycode_color"><span style="font-size: medium;" class="mycode_size">ill there be a fixed release cycle for new open.mp versions?</span></span></span></span><br />
<br />
<br />
<span style="color: #000000;" class="mycode_color"><span style="font-size: small;" class="mycode_size"><span style="font-family: Arial;" class="mycode_font">No. Fixed release cycles require a level of predictability and support we just don't have right now. You need people who are guaranteed to be able to work on it at a very consistent level, but since the team are all volunteers there's no way to get this reliability. Things, mostly our jobs, get in the way.</span></span></span><br />
<br />
<span style="color: #000000;" class="mycode_color"><span style="font-size: small;" class="mycode_size"><span style="font-family: Arial;" class="mycode_font">Maybe if this gets bigger we'll eventually have the support required for this. But we don't yet. However, while we won't be able to say for certain when the next release will be, with this being open-source you will at least be able to follow along and see that things are happening. We’ll do our best to always communicate with the community and stay active online between releases!</span></span></span><br />
<br />
<br />
-----<br />
<br />
<br />
<span style="color: #8577CE;" class="mycode_color"><span style="font-size: medium;" class="mycode_size"><span style="font-family: Arial;" class="mycode_font"><span style="font-weight: bold;" class="mycode_b">Can we make feature requests, and will you be adding previous requests from the SA-MP forum?</span></span></span></span><br />
<br />
<br />
<span style="color: #000000;" class="mycode_color"><span style="font-size: small;" class="mycode_size"><span style="font-family: Arial;" class="mycode_font">We would LOVE for the community to be more involved, so we encourage everyone to make suggestions and requests! 💕 You can do this here: </span></span></span><a href="https://www.burgershot.gg/forumdisplay.php?fid=42&amp;page=6" target="_blank" rel="noopener" class="mycode_url"><span style="color: #000000;" class="mycode_color"><span style="font-size: small;" class="mycode_size"><span style="font-family: Arial;" class="mycode_font">https://www.burgershot.gg/forumdisplay.php?fid=42&amp;page=6</span></span></span></a><span style="color: #000000;" class="mycode_color"><span style="font-size: small;" class="mycode_size"><span style="font-family: Arial;" class="mycode_font"> </span></span></span><br />
<br />
<span style="color: #000000;" class="mycode_color"><span style="font-size: small;" class="mycode_size"><span style="font-family: Arial;" class="mycode_font">Of course, there is no guarantee that every idea will be accepted or implemented… but that’s the great thing about open source - if you want something added, you can do it yourself!</span></span></span><br />
<br />
<br />
-----<br />
<br />
<span style="font-family: Arial;" class="mycode_font"><span style="font-weight: bold;" class="mycode_b"><span style="color: #8577CE;" class="mycode_color"><span style="font-size: medium;" class="mycode_size">Will there be a built-in anti-cheat system?</span></span></span></span><br />
<br />
<br />
<span style="color: #000000;" class="mycode_color"><span style="font-size: small;" class="mycode_size"><span style="font-family: Arial;" class="mycode_font">Short answer: Yes. 👮‍♂️✋🛑</span></span></span><br />
<br />
<span style="color: #000000;" class="mycode_color"><span style="font-size: small;" class="mycode_size"><span style="font-family: Arial;" class="mycode_font">The longer answer requires explaining quite a lot about the internal architecture of the server. Everything uses a pub-sub event system. Incoming packets, outgoing packets, and callbacks are all sent around using this system, and modules (related blocks of functionality) can listen to all these events at various priority levels. There are several high priority levels dedicated to AC systems, and different modules can hook in to different events, potentially blocking them entirely. So we can have very small modules looking for specific different cheats totally independently of other code (this modularity was designed in from the very start for exactly this reason). There may not be one official huge anti-cheat, but there will be lots of modules detecting different cheats, and there's no reason they can't be bundled and distributed together.</span></span></span><br />
<br />
<br />
-----<br />
<br />
<br />
<span style="font-family: Arial;" class="mycode_font"><span style="font-weight: bold;" class="mycode_b"><span style="color: #8577CE;" class="mycode_color"><span style="font-size: medium;" class="mycode_size">Will PAWN remain the "official" scripting language of open.mp? Can we use other languages?</span></span></span></span><br />
<br />
<br />
<span style="color: #000000;" class="mycode_color"><span style="font-size: small;" class="mycode_size"><span style="font-family: Arial;" class="mycode_font">All dev work, testing, and documentation, will be done in PAWN. ♟️</span></span></span><br />
<br />
<span style="color: #000000;" class="mycode_color"><span style="font-size: small;" class="mycode_size"><span style="font-family: Arial;" class="mycode_font">However, we have a C API which will allow anyone else to implement any other language! 🤖 The C API is used by PAWN itself, so any other language using the API will have exactly the same level of access to the internals as PAWN - as opposed to SA-MP scripting where other languages have to be integrated into PAWN scripts.</span></span></span><br />
<br />
<span style="color: #000000;" class="mycode_color"><span style="font-size: small;" class="mycode_size"><span style="font-family: Arial;" class="mycode_font">We have also been discussing implementing some semi-official language modules, but PAWN is still the main and supported scripting language.</span></span></span><br />
<br />
<br />
-----<br />
<br />
<br />
<span style="color: #8577CE;" class="mycode_color"><span style="font-size: medium;" class="mycode_size"><span style="font-family: Arial;" class="mycode_font"><span style="font-weight: bold;" class="mycode_b">What is the dev team's stance on client-side scripting with other languages?</span></span></span></span><br />
<br />
<br />
<span style="color: #000000;" class="mycode_color"><span style="font-size: small;" class="mycode_size"><span style="font-family: Arial;" class="mycode_font">Mixed. It is nice for some things, but also tricky to fully sandbox, which would be absolutely required were it to be added. As it stands, PAWN has been broken to the point of allowing arbitrary assembly to be executed from a compiled script. That's fine on a server, but not on a client.  So this needs patching out first. Using a different language would raise the question of why client and server are different, switching the server language would break the promise of backwards compatibility, and having two in any manner would double the support load.</span></span></span><br />
<br />
<span style="color: #000000;" class="mycode_color"><span style="font-size: small;" class="mycode_size"><span style="font-family: Arial;" class="mycode_font">The other idea thrown around is that of client-side plugins that they control and access from a central location. If your server needs the "Advanced Image Preview" client-side plugin, your server advertises this fact and a connecting client will either already have it or download it from the central repository. This gives everyone the ability to inspect exactly what code is being run on their own machine, build it themselves if they want to, and be certain of the provenance. The major downside to this is then hosting and vetting these plugins.</span></span></span><br />
<br />
<br />
-----<br />
<br />
<br />
<span style="font-family: Arial;" class="mycode_font"><span style="font-weight: bold;" class="mycode_b"><span style="color: #8577CE;" class="mycode_color"><span style="font-size: medium;" class="mycode_size">Will SA-MP plugins work on open.mp?</span></span></span></span><br />
<br />
<br />
<span style="color: #000000;" class="mycode_color"><span style="font-size: small;" class="mycode_size"><span style="font-family: Arial;" class="mycode_font">The word "plugins" is now used to describe legacy plugins - the ones that were written for SA-MP (such as sscanf, MySQL etc) - and open.mp has an API to load these existing plugins. </span></span></span><br />
<br />
<span style="color: #000000;" class="mycode_color"><span style="font-size: small;" class="mycode_size"><span style="font-family: Arial;" class="mycode_font">Our new name for plugins going forward is "Modules" - this is the name given to any plugins (and internal code) that use the newer, far more expansive, API with open.mp.</span></span></span><br />
<br />
<span style="color: #000000;" class="mycode_color"><span style="font-size: small;" class="mycode_size"><span style="font-family: Arial;" class="mycode_font">Legacy plugins still work fine and will continue to do so, unless they use memory hacking, like YSF - that relies on addresses and structures which are just nothing alike in this server. </span></span></span><br />
<br />
<span style="color: #000000;" class="mycode_color"><span style="font-size: small;" class="mycode_size"><span style="font-family: Arial;" class="mycode_font">But most of these old memory hacks were created to add features that will be native in open.mp, meaning we won’t need these plugins anyway!</span></span></span><br />
<br />
<br />
-----<br />
<br />
<br />
<span style="font-family: Arial;" class="mycode_font"><span style="font-weight: bold;" class="mycode_b"><span style="color: #8577CE;" class="mycode_color"><span style="font-size: medium;" class="mycode_size">Will database functions be restricted to SQLite, or we can use MySQL?</span></span></span></span><br />
<br />
<br />
<span style="color: #000000;" class="mycode_color"><span style="font-size: small;" class="mycode_size"><span style="font-family: Arial;" class="mycode_font">The default database functions are the same as they were before - SQLite. But, as stated above, open.mp has an API to load existing plugins, so we won’t need to change anything internally with regard to database functions - this can still be done via your existing plugins.</span></span></span><br />
<br />
<span style="color: #000000;" class="mycode_color"><span style="font-size: small;" class="mycode_size"><span style="font-family: Arial;" class="mycode_font">Third-party modules are fully supported and treated as first-class citizens in the code - callbacks and natives are all available to them in exactly the same way as to internal code, so there's no drawbacks to putting things in external modules. </span></span></span><br />
<br />
<br />
-----<br />
<br />
<br />
<span style="font-family: Arial;" class="mycode_font"><span style="font-weight: bold;" class="mycode_b"><span style="color: #8577CE;" class="mycode_color"><span style="font-size: medium;" class="mycode_size">Will there be more customisation for elements such as HUD, stamina, minigames (pool, gym, etc), different vehicle variants, vehicle indicators/turn signals, SA-MP+ features, etc? Will there be support for more customisable GUIs, as opposed to the limited textdraws in SA-MP? CEF? How will this stuff be protected?</span></span></span></span><br />
<br />
<br />
<span style="color: #000000;" class="mycode_color"><span style="font-size: small;" class="mycode_size"><span style="font-family: Arial;" class="mycode_font">We got soooo many questions about this sort of stuff, so grab a snack, this is gonna be a long answer! 🍿</span></span></span><br />
<br />
<span style="color: #000000;" class="mycode_color"><span style="font-size: small;" class="mycode_size"><span style="font-family: Arial;" class="mycode_font">Having Hual (creator of SA-MP+) on our development team, who knows what the future will bring? 👀</span></span></span><br />
<br />
<span style="color: #000000;" class="mycode_color"><span style="font-size: small;" class="mycode_size"><span style="font-family: Arial;" class="mycode_font">The major thing that differentiated SA-MP from MTA was expressed well in the names - SA-MP was literally "San Andreas Multiplayer", a multiplayer version of the game GTA San Andreas., while MTA is a more generic platform set in that world. </span></span></span><br />
<br />
<span style="color: #000000;" class="mycode_color"><span style="font-size: small;" class="mycode_size"><span style="font-family: Arial;" class="mycode_font">Features were added to SA-MP that fit closely with the feel of the original game, and while there are obviously ways that it has gone beyond those limits, things were still done very conservatively. </span></span></span><br />
<br />
<span style="color: #000000;" class="mycode_color"><span style="font-size: small;" class="mycode_size"><span style="font-family: Arial;" class="mycode_font">We stuck with SA-MP this long because we preferred their approach, but we do want slightly more features (that's why we branched out in the first place), but we don't want to go too far. We will add new features, some of them won't have been in the original game, but we'll still carefully weigh the effects of each one. </span></span></span><br />
<br />
<span style="color: #000000;" class="mycode_color"><span style="font-size: small;" class="mycode_size"><span style="font-family: Arial;" class="mycode_font">Is allowing slightly wider dialog boxes a crazy addition that pushes the boundaries of what's considered canonical GTA? Probably not. </span></span></span><br />
<br />
<span style="color: #000000;" class="mycode_color"><span style="font-size: small;" class="mycode_size"><span style="font-family: Arial;" class="mycode_font">Is adding CEF too far? Yes - that won't happen. 🙅‍♂️</span></span></span><br />
<br />
<span style="color: #000000;" class="mycode_color"><span style="font-size: small;" class="mycode_size"><span style="font-family: Arial;" class="mycode_font">The line is somewhere between the two.</span></span></span><br />
<br />
<span style="color: #000000;" class="mycode_color"><span style="font-size: small;" class="mycode_size"><span style="font-family: Arial;" class="mycode_font">However, people have always been incredibly creative in what they could achieve with limited support already, and we’re sure that won’t change. We </span></span></span><span style="color: #000000;" class="mycode_color"><span style="font-size: small;" class="mycode_size"><span style="font-family: Arial;" class="mycode_font">will always encourage players and developers to be as creative as they like with the mod - hence why it’s open source -</span></span></span><span style="color: #000000;" class="mycode_color"><span style="font-size: small;" class="mycode_size"><span style="font-family: Arial;" class="mycode_font"> we’ll even help and support them in doing it, but it won’t be our primary focus.</span></span></span><br />
<br />
<span style="color: #000000;" class="mycode_color"><span style="font-size: small;" class="mycode_size"><span style="font-family: Arial;" class="mycode_font">The primary concern is for the clients themselves. We don’t want server owners to be able to distribute anything potentially malicious. San Andreas was not designed for multiplayer or modding, and many of the loaders are not hardened against malformed files - there was simply no need. This is something that SA-MP struggled with when adding custom models, and this is a problem for us as well. </span></span></span><br />
<br />
<span style="color: #000000;" class="mycode_color"><span style="font-size: small;" class="mycode_size"><span style="font-family: Arial;" class="mycode_font">Any part of the game we make customisable we have to first ensure there are no exploits in the file formats and loaders. We know for a fact that models and scripts have been compromised already, others may have also already been compromised and absolutely will be when we start adding arbitrary downloads to servers.</span></span></span><br />
<br />
<span style="color: #000000;" class="mycode_color"><span style="font-size: small;" class="mycode_size"><span style="font-family: Arial;" class="mycode_font">As for asset protection, that’s simply impossible. To show a custom model to a client, you need to send them the custom model. Then, they by definition have the custom model on their computer. What they do with it from there is out of our hands. There are ways to make it slightly harder, but they aren’t foolproof. There are techniques that the web uses like DRM and secure enclaves, but they require sacrificing open-source principles to make them work. Look up the controversy surrounding </span></span></span><a href="https://en.wikipedia.org/wiki/Encrypted_Media_Extensions" target="_blank" rel="noopener" class="mycode_url"><span style="color: #000000;" class="mycode_color"><span style="font-size: small;" class="mycode_size"><span style="font-family: Arial;" class="mycode_font">EME</span></span></span></a><span style="color: #000000;" class="mycode_color"><span style="font-size: small;" class="mycode_size"><span style="font-family: Arial;" class="mycode_font"> and closed-source binary blobs inside Firefox.</span></span></span><br />
<br />
<br />
-----<br />
<br />
<br />
<span style="color: #8577CE;" class="mycode_color"><span style="font-size: medium;" class="mycode_size"><span style="font-family: Arial;" class="mycode_font"><span style="font-weight: bold;" class="mycode_b">Control over specific keys? Key binding?</span></span></span></span><br />
<br />
<br />
<span style="color: #000000;" class="mycode_color"><span style="font-size: small;" class="mycode_size"><span style="font-family: Arial;" class="mycode_font">“Keys” isn't really the right wording. A better way to think about the existing functions is as “actions” - reflected in the new names - Player_GetActions, and OnPlayerActionChange. The client has never exposed “keys” to the server. Those you can listen into too much - we basically become a keylogger. This is also why there have always been codes to say “press JUMP to open”, because players may remap their keys so that what one person has for jumping is different to the next person.</span></span></span><br />
<br />
<br />
-----<br />
<br />
<br />
<span style="color: #8577CE;" class="mycode_color"><span style="font-size: medium;" class="mycode_size"><span style="font-family: Arial;" class="mycode_font"><span style="font-weight: bold;" class="mycode_b">Better support for NPCs?</span></span></span></span><br />
<br />
<br />
<span style="color: #000000;" class="mycode_color"><span style="font-size: small;" class="mycode_size"><span style="font-family: Arial;" class="mycode_font">This is not a main focus at this point in time, but from a client point of view NPCs are exactly the same as normal players. We’d at least like our NPC functions to mirror that of FCNPC. This is definitely something we can look into for future releases.</span></span></span><br />
<br />
<br />
-----<br />
<br />
<br />
<span style="color: #8577CE;" class="mycode_color"><span style="font-size: medium;" class="mycode_size"><span style="font-family: Arial;" class="mycode_font">Y<span style="font-weight: bold;" class="mycode_b">ou said you’ve removed limits in open.mp - how does this actually work? Is it like a streamer?</span></span></span></span><br />
<br />
<br />
<span style="color: #000000;" class="mycode_color"><span style="font-size: small;" class="mycode_size"><span style="font-family: Arial;" class="mycode_font">It is exactly like a built-in streamer. However, it is more integrated than the streamer plugin, so we can stream vehicles and players as well, and mess around with local IDs in ways far beyond what the plugin does (it could in theory do the same things, it just doesn't).</span></span></span><br />
<br />
<br />
-----<br />
<br />
<br />
<span style="color: #8577CE;" class="mycode_color"><span style="font-size: medium;" class="mycode_size"><span style="font-family: Arial;" class="mycode_font"><span style="font-weight: bold;" class="mycode_b">Will we be able to attach players to entities (vehicles, objects, other players)?</span></span></span></span><span style="font-family: Arial;" class="mycode_font"><span style="font-weight: bold;" class="mycode_b"><span style="color: #8577CE;" class="mycode_color"><span style="font-size: medium;" class="mycode_size"> </span></span></span></span><br />
<br />
<br />
<span style="color: #000000;" class="mycode_color"><span style="font-size: small;" class="mycode_size"><span style="font-family: Arial;" class="mycode_font">Yep! We have already implemented this! 😁</span></span></span><br />
<br />
<br />
-----<br />
<br />
<span style="font-family: Arial;" class="mycode_font"><span style="font-weight: bold;" class="mycode_b"><span style="color: #8577CE;" class="mycode_color"><span style="font-size: medium;" class="mycode_size">When open.mp has finished implementing SA-MP features, what new things will you add?</span></span></span></span><br />
<br />
<br />
<span style="color: #000000;" class="mycode_color"><span style="font-size: small;" class="mycode_size"><span style="font-family: Arial;" class="mycode_font">We’re very open (pun intended 🤪) about what our plans are, just follow along with our posts and progress and you’ll see! </span></span></span><br />
<br />
<br />
<br />
-----<br />
<br />
<br />
<span style="font-family: Arial;" class="mycode_font"><span style="font-weight: bold;" class="mycode_b"><span style="color: #8577CE;" class="mycode_color"><span style="font-size: medium;" class="mycode_size">Are you allowed to use the SA-MP client to join open.mp servers?</span></span></span></span><br />
<br />
<br />
<span style="color: #000000;" class="mycode_color"><span style="font-size: small;" class="mycode_size"><span style="font-family: Arial;" class="mycode_font">SA-MP is a mod using reverse engineering to interface with a program made by someone else, and open.mp is doing exactly the same thing. So our legal standing is exactly the same as the SA-MP legal standing. We are not using any of the leaked SA-MP source code at all - this point has been made multiple times, and will be blatantly obvious to the community once the code is released!</span></span></span><br />
<br />
<br />
-----<br />
<br />
<br />
<span style="font-family: Arial;" class="mycode_font"><span style="font-weight: bold;" class="mycode_b"><span style="color: #8577CE;" class="mycode_color"><span style="font-size: medium;" class="mycode_size">What are going to be the biggest challenges for the new open.mp client?</span></span></span></span><br />
<br />
<br />
<span style="color: #000000;" class="mycode_color"><span style="font-size: small;" class="mycode_size"><span style="font-family: Arial;" class="mycode_font">Writing it! 🤓</span></span></span><br />
<br />
<br />
-----<br />
<br />
<br />
<span style="font-family: Arial;" class="mycode_font"><span style="font-weight: bold;" class="mycode_b"><span style="color: #8577CE;" class="mycode_color"><span style="font-size: medium;" class="mycode_size">Where do you see open.mp in 5 years?</span></span></span></span><br />
<br />
<br />
<span style="color: #000000;" class="mycode_color"><span style="font-size: small;" class="mycode_size"><span style="font-family: Arial;" class="mycode_font">Don’t you worry about that, we have plenty of long-term ideas 😉</span></span></span><br />
<br />
<br />
-----<br />
<br />
<br />
<span style="font-size: medium;" class="mycode_size"><span style="font-family: Arial;" class="mycode_font"><span style="font-weight: bold;" class="mycode_b"><span style="color: #8577CE;" class="mycode_color">Where do you see SA-MP in 5 years?</span></span></span></span><br />
<br />
<br />
<span style="color: #000000;" class="mycode_color"><span style="font-size: small;" class="mycode_size"><span style="font-family: Arial;" class="mycode_font">That’s up to the SA-MP team, not us! It’s not our place to speculate! 🤷‍♂️</span></span></span><br />
<br />
<br />
-----<br />
<br />
<br />
<span style="font-size: medium;" class="mycode_size"><span style="font-family: Arial;" class="mycode_font"><span style="font-weight: bold;" class="mycode_b"><span style="color: #8577CE;" class="mycode_color">Have you ever lost will to continue working on open.mp? Why or why not?</span></span></span></span><br />
<br />
<br />
<span style="color: #000000;" class="mycode_color"><span style="font-size: small;" class="mycode_size"><span style="font-family: Arial;" class="mycode_font">Yes, because we are normal people. 😴</span></span></span><br />
<br />
<br />
-----<br />
<br />
<br />
<span style="font-family: Arial;" class="mycode_font"><span style="font-weight: bold;" class="mycode_b"><span style="font-size: medium;" class="mycode_size"><span style="color: #8577CE;" class="mycode_color">And finally, the most commonly asked question: </span></span><br />
<span style="color: #ff3333;" class="mycode_color"><span style="font-size: x-large;" class="mycode_size">When will open.mp be released?</span></span></span></span><br />
<br />
<br />
<span style="color: #000000;" class="mycode_color"><span style="font-size: small;" class="mycode_size"><span style="font-family: Arial;" class="mycode_font">When it’s ready 😉😉😉</span></span></span><br />
<br />
<br />
Have a great week ahead!<br />
<br />
Love,<br />
The open.mp Team 💜]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[TESTING/DEBUGGING in open.mp]]></title>
			<link>https://forum.open.mp/showthread.php?tid=1044</link>
			<pubDate>Thu, 16 Apr 2020 01:14:11 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://forum.open.mp/member.php?action=profile&uid=2228">Media</a>]]></dc:creator>
			<guid isPermaLink="false">https://forum.open.mp/showthread.php?tid=1044</guid>
			<description><![CDATA[<span style="color: #1c1e21;" class="mycode_color"><span style="font-family: Helvetica, Arial, sans-serif;" class="mycode_font">What kinds of things are you looking forward to seeing with regard to script TESTING and DEBUGGING in open.mp?</span></span><br />
<br />
<br />
<br />
<br />
<br />
<span style="color: #1c1e21;" class="mycode_color"><span style="font-family: Helvetica, Arial, sans-serif;" class="mycode_font">Check out our new blog post for the inside info on how it works so far?<span style="font-family: Helvetica, Arial, sans-serif;" class="mycode_font"><span style="color: transparent;" class="mycode_color"><span style="font-size: medium;" class="mycode_size">??</span></span></span><span style="font-family: Helvetica, Arial, sans-serif;" class="mycode_font"><span style="color: transparent;" class="mycode_color"><span style="font-size: medium;" class="mycode_size">??</span></span></span><span style="font-family: Helvetica, Arial, sans-serif;" class="mycode_font"><span style="color: transparent;" class="mycode_color"><span style="font-size: medium;" class="mycode_size">??</span></span></span></span></span><br />
<br />
<br />
<br />
<span style="color: #1c1e21;" class="mycode_color"><span style="font-family: Helvetica, Arial, sans-serif;" class="mycode_font"><span style="font-family: Helvetica, Arial, sans-serif;" class="mycode_font"><span style="color: transparent;" class="mycode_color"><span style="font-size: medium;" class="mycode_size">??</span></span></span>?<span style="color: #385898;" class="mycode_color"><span style="font-family: Helvetica, Arial, sans-serif;" class="mycode_font"><a href="https://www.open.mp/blog/debugging?fbclid=IwAR2UyYxyf7HMZzxgWMW5FB1wB32j43nusVmqdH-eP_I3ELPJC_14ZqDtjdw" target="_blank" rel="noopener" class="mycode_url">https://www.open.mp/blog/debugging</a></span></span></span></span>]]></description>
			<content:encoded><![CDATA[<span style="color: #1c1e21;" class="mycode_color"><span style="font-family: Helvetica, Arial, sans-serif;" class="mycode_font">What kinds of things are you looking forward to seeing with regard to script TESTING and DEBUGGING in open.mp?</span></span><br />
<br />
<br />
<br />
<br />
<br />
<span style="color: #1c1e21;" class="mycode_color"><span style="font-family: Helvetica, Arial, sans-serif;" class="mycode_font">Check out our new blog post for the inside info on how it works so far?<span style="font-family: Helvetica, Arial, sans-serif;" class="mycode_font"><span style="color: transparent;" class="mycode_color"><span style="font-size: medium;" class="mycode_size">??</span></span></span><span style="font-family: Helvetica, Arial, sans-serif;" class="mycode_font"><span style="color: transparent;" class="mycode_color"><span style="font-size: medium;" class="mycode_size">??</span></span></span><span style="font-family: Helvetica, Arial, sans-serif;" class="mycode_font"><span style="color: transparent;" class="mycode_color"><span style="font-size: medium;" class="mycode_size">??</span></span></span></span></span><br />
<br />
<br />
<br />
<span style="color: #1c1e21;" class="mycode_color"><span style="font-family: Helvetica, Arial, sans-serif;" class="mycode_font"><span style="font-family: Helvetica, Arial, sans-serif;" class="mycode_font"><span style="color: transparent;" class="mycode_color"><span style="font-size: medium;" class="mycode_size">??</span></span></span>?<span style="color: #385898;" class="mycode_color"><span style="font-family: Helvetica, Arial, sans-serif;" class="mycode_font"><a href="https://www.open.mp/blog/debugging?fbclid=IwAR2UyYxyf7HMZzxgWMW5FB1wB32j43nusVmqdH-eP_I3ELPJC_14ZqDtjdw" target="_blank" rel="noopener" class="mycode_url">https://www.open.mp/blog/debugging</a></span></span></span></span>]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Your thoughts on SAMP 0.3.DL compatibility]]></title>
			<link>https://forum.open.mp/showthread.php?tid=1039</link>
			<pubDate>Wed, 15 Apr 2020 02:15:30 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://forum.open.mp/member.php?action=profile&uid=2228">Media</a>]]></dc:creator>
			<guid isPermaLink="false">https://forum.open.mp/showthread.php?tid=1039</guid>
			<description><![CDATA[Questions were asked recently about 0.3.DL compatibility with open.mp <span style="font-style: italic;" class="mycode_i">(thank you Manyula and dreftas for <a href="https://www.burgershot.gg/showthread.php?tid=1035" target="_blank" rel="noopener" class="mycode_url">submitting these</a>) </span>and we were going to save this one for the Q&amp;A, but thought it deserved its own thread as we would like?community input on this topic.<br />
<br />
<span style="font-weight: bold;" class="mycode_b"><span style="font-size: large;" class="mycode_size">Will open.mp be compatible with 0.3.DL?</span></span><br />
<span style="font-size: small;" class="mycode_size"><span style="font-style: italic;" class="mycode_i">This is the discontinued release that included server-side custom models.</span></span><br />
<br />
The answer is simple - if the majority?will use it then yes. If they?won't, then no.<br />
<br />
We believe that SAMP 0.3.DL was discontinued because the big?servers in general?weren't using it, however, we also believe that the reason the big?servers weren't using it was because it was not officially supported by the SAMP dev team. So it was?a bit of a chicken-and-egg situation - it wasn't supported because no one was using it, but no one was using it because it wasn't supported.<br />
<br />
So what do you guys want? <br />
<br />
Is there enough community support for DL features? <br />
<br />
Are you a server owner or developer who would only switch to open.mp if these features existed?<br />
<br />
Please vote in the poll, and also leave a comment below with your opinions!<br />
<br />
<span style="font-style: italic;" class="mycode_i">Don't forget you have a few more days to ask your burning questions about open.mp for our Q&amp;A post!?<a href="https://www.burgershot.gg/showthread.php?tid=1035" target="_blank" rel="noopener" class="mycode_url">https://www.burgershot.gg/showthread.php?tid=1035</a></span><br />
<br />
<img src="https://pp.userapi.com/c834402/v834402286/149c7/qsebnEb5vsA.jpg" loading="lazy"  alt="[Image: qsebnEb5vsA.jpg]" class="mycode_img" /><br />
<span style="font-style: italic;" class="mycode_i"><span style="font-size: x-small;" class="mycode_size">image from gold?roleplay -?posted by user?</span></span><span style="color: #000000;" class="mycode_color"><span style="font-size: x-small;" class="mycode_size"><span style="font-family: verdana, geneva, lucida,;" class="mycode_font"><span style="font-style: italic;" class="mycode_i"><span style="font-size: x-small;" class="mycode_size">Arsenka123 on the SAMP forum</span></span></span></span></span>]]></description>
			<content:encoded><![CDATA[Questions were asked recently about 0.3.DL compatibility with open.mp <span style="font-style: italic;" class="mycode_i">(thank you Manyula and dreftas for <a href="https://www.burgershot.gg/showthread.php?tid=1035" target="_blank" rel="noopener" class="mycode_url">submitting these</a>) </span>and we were going to save this one for the Q&amp;A, but thought it deserved its own thread as we would like?community input on this topic.<br />
<br />
<span style="font-weight: bold;" class="mycode_b"><span style="font-size: large;" class="mycode_size">Will open.mp be compatible with 0.3.DL?</span></span><br />
<span style="font-size: small;" class="mycode_size"><span style="font-style: italic;" class="mycode_i">This is the discontinued release that included server-side custom models.</span></span><br />
<br />
The answer is simple - if the majority?will use it then yes. If they?won't, then no.<br />
<br />
We believe that SAMP 0.3.DL was discontinued because the big?servers in general?weren't using it, however, we also believe that the reason the big?servers weren't using it was because it was not officially supported by the SAMP dev team. So it was?a bit of a chicken-and-egg situation - it wasn't supported because no one was using it, but no one was using it because it wasn't supported.<br />
<br />
So what do you guys want? <br />
<br />
Is there enough community support for DL features? <br />
<br />
Are you a server owner or developer who would only switch to open.mp if these features existed?<br />
<br />
Please vote in the poll, and also leave a comment below with your opinions!<br />
<br />
<span style="font-style: italic;" class="mycode_i">Don't forget you have a few more days to ask your burning questions about open.mp for our Q&amp;A post!?<a href="https://www.burgershot.gg/showthread.php?tid=1035" target="_blank" rel="noopener" class="mycode_url">https://www.burgershot.gg/showthread.php?tid=1035</a></span><br />
<br />
<img src="https://pp.userapi.com/c834402/v834402286/149c7/qsebnEb5vsA.jpg" loading="lazy"  alt="[Image: qsebnEb5vsA.jpg]" class="mycode_img" /><br />
<span style="font-style: italic;" class="mycode_i"><span style="font-size: x-small;" class="mycode_size">image from gold?roleplay -?posted by user?</span></span><span style="color: #000000;" class="mycode_color"><span style="font-size: x-small;" class="mycode_size"><span style="font-family: verdana, geneva, lucida,;" class="mycode_font"><span style="font-style: italic;" class="mycode_i"><span style="font-size: x-small;" class="mycode_size">Arsenka123 on the SAMP forum</span></span></span></span></span>]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Scripting API blog post discussion]]></title>
			<link>https://forum.open.mp/showthread.php?tid=1036</link>
			<pubDate>Tue, 14 Apr 2020 19:00:36 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://forum.open.mp/member.php?action=profile&uid=6">Y_Less</a>]]></dc:creator>
			<guid isPermaLink="false">https://forum.open.mp/showthread.php?tid=1036</guid>
			<description><![CDATA[This topic is for feedback on the latest blog post, found here:<br />
<br />
<br />
<br />
<a href="https://www.open.mp/blog/scripting-api" target="_blank" rel="noopener" class="mycode_url">https://www.open.mp/blog/scripting-api</a><br />
<br />
<br />
<br />
Please read that, then feel free to comment on anything it brings up.]]></description>
			<content:encoded><![CDATA[This topic is for feedback on the latest blog post, found here:<br />
<br />
<br />
<br />
<a href="https://www.open.mp/blog/scripting-api" target="_blank" rel="noopener" class="mycode_url">https://www.open.mp/blog/scripting-api</a><br />
<br />
<br />
<br />
Please read that, then feel free to comment on anything it brings up.]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[UPDATES, Q&A, SOCIAL MEDIA, ONE YEAR ANNIVERSARY!]]></title>
			<link>https://forum.open.mp/showthread.php?tid=1035</link>
			<pubDate>Tue, 14 Apr 2020 11:46:57 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://forum.open.mp/member.php?action=profile&uid=2228">Media</a>]]></dc:creator>
			<guid isPermaLink="false">https://forum.open.mp/showthread.php?tid=1035</guid>
			<description><![CDATA[HAPPY ANNIVERSARY! 🎈🎉1️⃣<br />
<br />
This week is officially ONE YEAR since we came together to start building open.mp!<br />
<br />
Our devs have been working hard around their busy everyday lives and full-time jobs to get the core of the project built, and we are hoping to have it ready for public testing very soon!<br />
<br />
We are launching our official social media accounts today, with the intention of giving much more frequent updates, community interaction, and more general open-ness about the project. So follow us to stay up to date! 👀<br />
<br />
A little look at the modules we've completed so far:<br />
<br />
✔️ Actors<br />
✔️ Camera<br />
✔️ Checkpoints<br />
✔️ Classes<br />
✔️ Dialogs<br />
✔️ Legacy Plugins<br />
✔️ Map<br />
✔️ Menus<br />
✔️ Net Stats<br />
✔️ Objects<br />
✔️ PAWN<br />
✔️ Pickups<br />
✔️ Text 3D<br />
✔️ Textdraws<br />
✔️ Timers<br />
✔️ Vars<br />
✔️ Vehicles<br />
<br />
We have removed all limits - no streamers are required. This means that OMP servers will be able to use unlimited objects, icons, checkpoints, and vehicles!<br />
<br />
We also have a brand spankin' new API which will enable other languages to be added to servers easily!<br />
<br />
<br />
<span style="font-weight: bold;" class="mycode_b"><span style="color: #ff3333;" class="mycode_color"><span style="font-size: x-large;" class="mycode_size">WHAT DO YOU WANT TO KNOW ABOUT OPEN.MP?</span></span></span><br />
<span style="font-weight: bold;" class="mycode_b"><span style="color: #ff3333;" class="mycode_color"><span style="font-size: x-large;" class="mycode_size">Ask your questions below, and we'll do a big Q&amp;A post later in the week where we answer them!</span></span></span><br />
<br />
Make sure you join our forum and follow us on social media to get the latest news and updates from our team!<br />
<br />
👇👀👇👀👇👀👇👀👇👀👇<br />
<br />
<br />
<blockquote class="mycode_quote"><cite>Quote:</cite>▪️ Website: <br />
<a href="https://www.open.mp/" target="_blank" rel="noopener" class="mycode_url">https://www.open.mp/</a><br />
<br />
▪️ Progress log: <br />
<a href="https://www.open.mp/progress" target="_blank" rel="noopener" class="mycode_url">https://www.open.mp/progress</a><br />
<br />
▪️ Blog: <br />
<a href="https://www.open.mp/blog" target="_blank" rel="noopener" class="mycode_url">https://www.open.mp/blog</a><br />
<br />
▪️ Forum:<br />
<a href="http://burgershot.gg" target="_blank" rel="noopener" class="mycode_url">http://burgershot.gg</a><br />
<br />
▪️ Facebook:<br />
<a href="http://facebook.com/openmultiplayer" target="_blank" rel="noopener" class="mycode_url">http://facebook.com/openmultiplayer</a><br />
<br />
▪️ Twitter: <br />
<a href="http://twitter.com/open_mp" target="_blank" rel="noopener" class="mycode_url">http://twitter.com/open_mp</a> <br />
(this name is temporary, but follow it now and you'll still be following the correct account when the name changes!)<br />
<br />
▪️ Instagram: <br />
<a href="http://instagram.com/openmultiplayer" target="_blank" rel="noopener" class="mycode_url">http://instagram.com/openmultiplayer</a><br />
<br />
▪️ GitHub: <br />
<a href="https://github.com/openmultiplayer" target="_blank" rel="noopener" class="mycode_url">https://github.com/openmultiplayer</a></blockquote>
<br />
<br />
See you soon for testing!<br />
<br />
Love,<br />
The open.mp team ❤️<br />
<br />
<img src="https://i.imgur.com/ScsSW.jpg" loading="lazy"  alt="[Image: ScsSW.jpg]" class="mycode_img" />]]></description>
			<content:encoded><![CDATA[HAPPY ANNIVERSARY! 🎈🎉1️⃣<br />
<br />
This week is officially ONE YEAR since we came together to start building open.mp!<br />
<br />
Our devs have been working hard around their busy everyday lives and full-time jobs to get the core of the project built, and we are hoping to have it ready for public testing very soon!<br />
<br />
We are launching our official social media accounts today, with the intention of giving much more frequent updates, community interaction, and more general open-ness about the project. So follow us to stay up to date! 👀<br />
<br />
A little look at the modules we've completed so far:<br />
<br />
✔️ Actors<br />
✔️ Camera<br />
✔️ Checkpoints<br />
✔️ Classes<br />
✔️ Dialogs<br />
✔️ Legacy Plugins<br />
✔️ Map<br />
✔️ Menus<br />
✔️ Net Stats<br />
✔️ Objects<br />
✔️ PAWN<br />
✔️ Pickups<br />
✔️ Text 3D<br />
✔️ Textdraws<br />
✔️ Timers<br />
✔️ Vars<br />
✔️ Vehicles<br />
<br />
We have removed all limits - no streamers are required. This means that OMP servers will be able to use unlimited objects, icons, checkpoints, and vehicles!<br />
<br />
We also have a brand spankin' new API which will enable other languages to be added to servers easily!<br />
<br />
<br />
<span style="font-weight: bold;" class="mycode_b"><span style="color: #ff3333;" class="mycode_color"><span style="font-size: x-large;" class="mycode_size">WHAT DO YOU WANT TO KNOW ABOUT OPEN.MP?</span></span></span><br />
<span style="font-weight: bold;" class="mycode_b"><span style="color: #ff3333;" class="mycode_color"><span style="font-size: x-large;" class="mycode_size">Ask your questions below, and we'll do a big Q&amp;A post later in the week where we answer them!</span></span></span><br />
<br />
Make sure you join our forum and follow us on social media to get the latest news and updates from our team!<br />
<br />
👇👀👇👀👇👀👇👀👇👀👇<br />
<br />
<br />
<blockquote class="mycode_quote"><cite>Quote:</cite>▪️ Website: <br />
<a href="https://www.open.mp/" target="_blank" rel="noopener" class="mycode_url">https://www.open.mp/</a><br />
<br />
▪️ Progress log: <br />
<a href="https://www.open.mp/progress" target="_blank" rel="noopener" class="mycode_url">https://www.open.mp/progress</a><br />
<br />
▪️ Blog: <br />
<a href="https://www.open.mp/blog" target="_blank" rel="noopener" class="mycode_url">https://www.open.mp/blog</a><br />
<br />
▪️ Forum:<br />
<a href="http://burgershot.gg" target="_blank" rel="noopener" class="mycode_url">http://burgershot.gg</a><br />
<br />
▪️ Facebook:<br />
<a href="http://facebook.com/openmultiplayer" target="_blank" rel="noopener" class="mycode_url">http://facebook.com/openmultiplayer</a><br />
<br />
▪️ Twitter: <br />
<a href="http://twitter.com/open_mp" target="_blank" rel="noopener" class="mycode_url">http://twitter.com/open_mp</a> <br />
(this name is temporary, but follow it now and you'll still be following the correct account when the name changes!)<br />
<br />
▪️ Instagram: <br />
<a href="http://instagram.com/openmultiplayer" target="_blank" rel="noopener" class="mycode_url">http://instagram.com/openmultiplayer</a><br />
<br />
▪️ GitHub: <br />
<a href="https://github.com/openmultiplayer" target="_blank" rel="noopener" class="mycode_url">https://github.com/openmultiplayer</a></blockquote>
<br />
<br />
See you soon for testing!<br />
<br />
Love,<br />
The open.mp team ❤️<br />
<br />
<img src="https://i.imgur.com/ScsSW.jpg" loading="lazy"  alt="[Image: ScsSW.jpg]" class="mycode_img" />]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Turfs (formerly gangzones) module]]></title>
			<link>https://forum.open.mp/showthread.php?tid=826</link>
			<pubDate>Sat, 19 Oct 2019 16:20:08 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://forum.open.mp/member.php?action=profile&uid=3">Josh</a>]]></dc:creator>
			<guid isPermaLink="false">https://forum.open.mp/showthread.php?tid=826</guid>
			<description><![CDATA[Hello!<br />
<br />
<br />
<br />
I have just finished our Turf implementation into the server and I thought of posting a overview of this module and to show we haven't quit or anything!<br />
<br />
<br />
<br />
<div class="codeblock phpcodeblock"><div class="title">PHP Code:</div><div class="body"><div dir="ltr"><code><span style="color: #FF8000">//&nbsp;Creates&nbsp;a&nbsp;Turf.&nbsp;A&nbsp;playerid&nbsp;can&nbsp;be&nbsp;passed&nbsp;in&nbsp;order&nbsp;to&nbsp;make&nbsp;it&nbsp;a&nbsp;player&nbsp;turf.<br /><br /></span><span style="color: #0000BB">native&nbsp;Turf</span><span style="color: #007700">:</span><span style="color: #0000BB">Turf_Create</span><span style="color: #007700">(</span><span style="color: #0000BB">Float</span><span style="color: #007700">:</span><span style="color: #0000BB">minx</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">Float</span><span style="color: #007700">:</span><span style="color: #0000BB">miny</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">Float</span><span style="color: #007700">:</span><span style="color: #0000BB">maxx</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">Float</span><span style="color: #007700">:</span><span style="color: #0000BB">maxy</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">Player</span><span style="color: #007700">:</span><span style="color: #0000BB">owner&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">INVALID_PLAYER_ID</span><span style="color: #007700">);<br /><br /><br /><br /></span><span style="color: #FF8000">//&nbsp;Destroys&nbsp;a&nbsp;turf.<br /><br /></span><span style="color: #0000BB">native&nbsp;Turf_Destroy</span><span style="color: #007700">(</span><span style="color: #0000BB">Turf</span><span style="color: #007700">:</span><span style="color: #0000BB">turf</span><span style="color: #007700">);<br /><br /><br /><br /></span><span style="color: #FF8000">//&nbsp;Shows&nbsp;a&nbsp;Turf&nbsp;to&nbsp;a&nbsp;player&nbsp;or&nbsp;players.<br /><br />//&nbsp;Will&nbsp;send&nbsp;to&nbsp;all&nbsp;players&nbsp;if&nbsp;playerid&nbsp;=&nbsp;INVALID_PLAYER_ID.<br /><br /></span><span style="color: #0000BB">native&nbsp;Turf_Show</span><span style="color: #007700">(</span><span style="color: #0000BB">Turf</span><span style="color: #007700">:</span><span style="color: #0000BB">turf</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">colour</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">Player</span><span style="color: #007700">:</span><span style="color: #0000BB">playerid&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">INVALID_PLAYER_ID</span><span style="color: #007700">);<br /><br /><br /><br /></span><span style="color: #FF8000">//&nbsp;Hides&nbsp;a&nbsp;Turf&nbsp;from&nbsp;a&nbsp;player&nbsp;or&nbsp;players.<br /><br />//&nbsp;Will&nbsp;send&nbsp;to&nbsp;all&nbsp;players&nbsp;if&nbsp;playerid&nbsp;=&nbsp;INVALID_PLAYER_ID.<br /><br /></span><span style="color: #0000BB">native&nbsp;Turf_Hide</span><span style="color: #007700">(</span><span style="color: #0000BB">Turf</span><span style="color: #007700">:</span><span style="color: #0000BB">turf</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">Player</span><span style="color: #007700">:</span><span style="color: #0000BB">playerid&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">INVALID_PLAYER_ID</span><span style="color: #007700">);<br /><br /><br /><br /></span><span style="color: #FF8000">//&nbsp;Flashes&nbsp;a&nbsp;Turf&nbsp;for&nbsp;a&nbsp;player&nbsp;or&nbsp;players.<br /><br />//&nbsp;Will&nbsp;send&nbsp;to&nbsp;all&nbsp;players&nbsp;if&nbsp;?playerid&nbsp;=&nbsp;INVALID_PLAYER_ID.<br /><br /></span><span style="color: #0000BB">native&nbsp;Turf_Flash</span><span style="color: #007700">(</span><span style="color: #0000BB">Turf</span><span style="color: #007700">:</span><span style="color: #0000BB">turf</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">colour</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">Player</span><span style="color: #007700">:</span><span style="color: #0000BB">playerid&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">INVALID_PLAYER_ID</span><span style="color: #007700">);<br /><br /><br /><br /></span><span style="color: #FF8000">//&nbsp;Stops&nbsp;a&nbsp;Turf&nbsp;from&nbsp;flashing&nbsp;for&nbsp;player(s).<br /><br />//&nbsp;Will&nbsp;send&nbsp;to&nbsp;all&nbsp;players&nbsp;if&nbsp;playerid&nbsp;=&nbsp;INVALID_PLAYER_ID.<br /><br /></span><span style="color: #0000BB">native&nbsp;Turf_StopFlashing</span><span style="color: #007700">(</span><span style="color: #0000BB">Turf</span><span style="color: #007700">:</span><span style="color: #0000BB">turf</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">Player</span><span style="color: #007700">:</span><span style="color: #0000BB">playerid&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">INVALID_PLAYER_ID</span><span style="color: #007700">);&nbsp;<br /></span></code></div></div></div><br />
<br />
<br />
<span style="font-size: x-large;" class="mycode_size">This is obviously different from the traditional API, but not to worry, there will be wrappers in place for this kind of stuff to make sure a normal script can be recompiled with no issues and without edits.</span><br />
<br />
Another important fact that you may want to know is that every turf is in the same pool and there's a maximum of 4,294,967,295 turfs to be created from the script.<br />
<br />
However, the client can only handle 1024 turfs at one time.]]></description>
			<content:encoded><![CDATA[Hello!<br />
<br />
<br />
<br />
I have just finished our Turf implementation into the server and I thought of posting a overview of this module and to show we haven't quit or anything!<br />
<br />
<br />
<br />
<div class="codeblock phpcodeblock"><div class="title">PHP Code:</div><div class="body"><div dir="ltr"><code><span style="color: #FF8000">//&nbsp;Creates&nbsp;a&nbsp;Turf.&nbsp;A&nbsp;playerid&nbsp;can&nbsp;be&nbsp;passed&nbsp;in&nbsp;order&nbsp;to&nbsp;make&nbsp;it&nbsp;a&nbsp;player&nbsp;turf.<br /><br /></span><span style="color: #0000BB">native&nbsp;Turf</span><span style="color: #007700">:</span><span style="color: #0000BB">Turf_Create</span><span style="color: #007700">(</span><span style="color: #0000BB">Float</span><span style="color: #007700">:</span><span style="color: #0000BB">minx</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">Float</span><span style="color: #007700">:</span><span style="color: #0000BB">miny</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">Float</span><span style="color: #007700">:</span><span style="color: #0000BB">maxx</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">Float</span><span style="color: #007700">:</span><span style="color: #0000BB">maxy</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">Player</span><span style="color: #007700">:</span><span style="color: #0000BB">owner&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">INVALID_PLAYER_ID</span><span style="color: #007700">);<br /><br /><br /><br /></span><span style="color: #FF8000">//&nbsp;Destroys&nbsp;a&nbsp;turf.<br /><br /></span><span style="color: #0000BB">native&nbsp;Turf_Destroy</span><span style="color: #007700">(</span><span style="color: #0000BB">Turf</span><span style="color: #007700">:</span><span style="color: #0000BB">turf</span><span style="color: #007700">);<br /><br /><br /><br /></span><span style="color: #FF8000">//&nbsp;Shows&nbsp;a&nbsp;Turf&nbsp;to&nbsp;a&nbsp;player&nbsp;or&nbsp;players.<br /><br />//&nbsp;Will&nbsp;send&nbsp;to&nbsp;all&nbsp;players&nbsp;if&nbsp;playerid&nbsp;=&nbsp;INVALID_PLAYER_ID.<br /><br /></span><span style="color: #0000BB">native&nbsp;Turf_Show</span><span style="color: #007700">(</span><span style="color: #0000BB">Turf</span><span style="color: #007700">:</span><span style="color: #0000BB">turf</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">colour</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">Player</span><span style="color: #007700">:</span><span style="color: #0000BB">playerid&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">INVALID_PLAYER_ID</span><span style="color: #007700">);<br /><br /><br /><br /></span><span style="color: #FF8000">//&nbsp;Hides&nbsp;a&nbsp;Turf&nbsp;from&nbsp;a&nbsp;player&nbsp;or&nbsp;players.<br /><br />//&nbsp;Will&nbsp;send&nbsp;to&nbsp;all&nbsp;players&nbsp;if&nbsp;playerid&nbsp;=&nbsp;INVALID_PLAYER_ID.<br /><br /></span><span style="color: #0000BB">native&nbsp;Turf_Hide</span><span style="color: #007700">(</span><span style="color: #0000BB">Turf</span><span style="color: #007700">:</span><span style="color: #0000BB">turf</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">Player</span><span style="color: #007700">:</span><span style="color: #0000BB">playerid&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">INVALID_PLAYER_ID</span><span style="color: #007700">);<br /><br /><br /><br /></span><span style="color: #FF8000">//&nbsp;Flashes&nbsp;a&nbsp;Turf&nbsp;for&nbsp;a&nbsp;player&nbsp;or&nbsp;players.<br /><br />//&nbsp;Will&nbsp;send&nbsp;to&nbsp;all&nbsp;players&nbsp;if&nbsp;?playerid&nbsp;=&nbsp;INVALID_PLAYER_ID.<br /><br /></span><span style="color: #0000BB">native&nbsp;Turf_Flash</span><span style="color: #007700">(</span><span style="color: #0000BB">Turf</span><span style="color: #007700">:</span><span style="color: #0000BB">turf</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">colour</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">Player</span><span style="color: #007700">:</span><span style="color: #0000BB">playerid&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">INVALID_PLAYER_ID</span><span style="color: #007700">);<br /><br /><br /><br /></span><span style="color: #FF8000">//&nbsp;Stops&nbsp;a&nbsp;Turf&nbsp;from&nbsp;flashing&nbsp;for&nbsp;player(s).<br /><br />//&nbsp;Will&nbsp;send&nbsp;to&nbsp;all&nbsp;players&nbsp;if&nbsp;playerid&nbsp;=&nbsp;INVALID_PLAYER_ID.<br /><br /></span><span style="color: #0000BB">native&nbsp;Turf_StopFlashing</span><span style="color: #007700">(</span><span style="color: #0000BB">Turf</span><span style="color: #007700">:</span><span style="color: #0000BB">turf</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">Player</span><span style="color: #007700">:</span><span style="color: #0000BB">playerid&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">INVALID_PLAYER_ID</span><span style="color: #007700">);&nbsp;<br /></span></code></div></div></div><br />
<br />
<br />
<span style="font-size: x-large;" class="mycode_size">This is obviously different from the traditional API, but not to worry, there will be wrappers in place for this kind of stuff to make sure a normal script can be recompiled with no issues and without edits.</span><br />
<br />
Another important fact that you may want to know is that every turf is in the same pool and there's a maximum of 4,294,967,295 turfs to be created from the script.<br />
<br />
However, the client can only handle 1024 turfs at one time.]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Modeller wanted]]></title>
			<link>https://forum.open.mp/showthread.php?tid=595</link>
			<pubDate>Fri, 24 May 2019 14:33:59 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://forum.open.mp/member.php?action=profile&uid=6">Y_Less</a>]]></dc:creator>
			<guid isPermaLink="false">https://forum.open.mp/showthread.php?tid=595</guid>
			<description><![CDATA[We need a modeller for something; just one thing specifically to begin with.  It isn't even a complex model TBH, we just don't have a modeller on the team right now.<br />
<br />
<br />
<br />
Further down the line we'll want to start producing our own library of models to be distributed with the mod, as SA:MP does now, but you need not sign up to all that right now.<br />
<br />
<br />
<br />
Thanks,<br />
<br />
<br />
<br />
Y_Less]]></description>
			<content:encoded><![CDATA[We need a modeller for something; just one thing specifically to begin with.  It isn't even a complex model TBH, we just don't have a modeller on the team right now.<br />
<br />
<br />
<br />
Further down the line we'll want to start producing our own library of models to be distributed with the mod, as SA:MP does now, but you need not sign up to all that right now.<br />
<br />
<br />
<br />
Thanks,<br />
<br />
<br />
<br />
Y_Less]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Timers module]]></title>
			<link>https://forum.open.mp/showthread.php?tid=583</link>
			<pubDate>Wed, 22 May 2019 15:15:29 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://forum.open.mp/member.php?action=profile&uid=6">Y_Less</a>]]></dc:creator>
			<guid isPermaLink="false">https://forum.open.mp/showthread.php?tid=583</guid>
			<description><![CDATA[This is a sneak-peek at one of the improved modules we've done, for timers in open.mp:<br />
<br />
<div class="codeblock phpcodeblock"><div class="title">PHP Code:</div><div class="body"><div dir="ltr"><code><span style="color: #0000BB">native&nbsp;SetTimer</span><span style="color: #007700">(const&nbsp;</span><span style="color: #0000BB">func</span><span style="color: #007700">[],&nbsp;</span><span style="color: #0000BB">msInterval</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">bool</span><span style="color: #007700">:</span><span style="color: #0000BB">repeat</span><span style="color: #007700">)&nbsp;=&nbsp;</span><span style="color: #0000BB">SetTimerEx</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">native&nbsp;SetTimerEx</span><span style="color: #007700">(const&nbsp;</span><span style="color: #0000BB">func</span><span style="color: #007700">[],&nbsp;</span><span style="color: #0000BB">msInterval</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">bool</span><span style="color: #007700">:</span><span style="color: #0000BB">repeat</span><span style="color: #007700">,&nbsp;const&nbsp;</span><span style="color: #0000BB">params</span><span style="color: #007700">[],&nbsp;</span><span style="color: #0000BB">GLOBAL_TAG_TYPES</span><span style="color: #007700">:...);<br /></span><span style="color: #0000BB">native&nbsp;KillTimer</span><span style="color: #007700">(</span><span style="color: #0000BB">timer</span><span style="color: #007700">)&nbsp;=&nbsp;</span><span style="color: #0000BB">Timer_Kill</span><span style="color: #007700">;<br /><br /></span><span style="color: #FF8000">//&nbsp;CreateTimer<br /></span><span style="color: #0000BB">native&nbsp;Timer</span><span style="color: #007700">:</span><span style="color: #0000BB">Timer_Create</span><span style="color: #007700">(const&nbsp;</span><span style="color: #0000BB">func</span><span style="color: #007700">[],&nbsp;</span><span style="color: #0000BB">usDelay</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">usInterval</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">repeatCount</span><span style="color: #007700">,&nbsp;const&nbsp;</span><span style="color: #0000BB">params</span><span style="color: #007700">[]&nbsp;=&nbsp;</span><span style="color: #DD0000">""</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">GLOBAL_TAG_TYPES</span><span style="color: #007700">:...);<br /><br /></span><span style="color: #FF8000">//&nbsp;KillTimer<br /></span><span style="color: #0000BB">native&nbsp;bool</span><span style="color: #007700">:</span><span style="color: #0000BB">Timer_Kill</span><span style="color: #007700">(</span><span style="color: #0000BB">Timer</span><span style="color: #007700">:</span><span style="color: #0000BB">timer</span><span style="color: #007700">);<br /><br /></span><span style="color: #FF8000">//&nbsp;Return&nbsp;time&nbsp;till&nbsp;next&nbsp;call.<br /></span><span style="color: #0000BB">native&nbsp;Timer_GetTimeRemaining</span><span style="color: #007700">(</span><span style="color: #0000BB">Timer</span><span style="color: #007700">:</span><span style="color: #0000BB">timer</span><span style="color: #007700">);<br /><br /></span><span style="color: #FF8000">//&nbsp;Get&nbsp;number&nbsp;of&nbsp;calls&nbsp;left&nbsp;to&nbsp;make&nbsp;(0&nbsp;for&nbsp;unlimited).<br /></span><span style="color: #0000BB">native&nbsp;Timer_GetCallsRemaining</span><span style="color: #007700">(</span><span style="color: #0000BB">Timer</span><span style="color: #007700">:</span><span style="color: #0000BB">timer</span><span style="color: #007700">);<br /><br /></span><span style="color: #FF8000">//&nbsp;Get&nbsp;`repeatCount`&nbsp;parameter.<br /></span><span style="color: #0000BB">native&nbsp;Timer_GetTotalCalls</span><span style="color: #007700">(</span><span style="color: #0000BB">Timer</span><span style="color: #007700">:</span><span style="color: #0000BB">timer</span><span style="color: #007700">);<br /><br /></span><span style="color: #FF8000">//&nbsp;?Get&nbsp;`usInterval`&nbsp;parameter.<br /></span><span style="color: #0000BB">native&nbsp;Timer_GetInterval</span><span style="color: #007700">(</span><span style="color: #0000BB">Timer</span><span style="color: #007700">:</span><span style="color: #0000BB">timer</span><span style="color: #007700">);<br /><br /></span><span style="color: #FF8000">//&nbsp;Reset&nbsp;time&nbsp;remaining&nbsp;till&nbsp;next&nbsp;call&nbsp;to&nbsp;`usInterval`.<br /></span><span style="color: #0000BB">native&nbsp;bool</span><span style="color: #007700">:</span><span style="color: #0000BB">Timer_Restart</span><span style="color: #007700">(</span><span style="color: #0000BB">Timer</span><span style="color: #007700">:</span><span style="color: #0000BB">timer</span><span style="color: #007700">);&nbsp;<br /></span></code></div></div></div><br />
The first two are just for backwards-compatibility, the rest are the improved API:<br />
<br />
<div class="codeblock phpcodeblock"><div class="title">PHP Code:</div><div class="body"><div dir="ltr"><code><span style="color: #0000BB">native&nbsp;Timer</span><span style="color: #007700">:</span><span style="color: #0000BB">Timer_Create</span><span style="color: #007700">(const&nbsp;</span><span style="color: #0000BB">func</span><span style="color: #007700">[],&nbsp;</span><span style="color: #0000BB">usDelay</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">usInterval</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">repeatCount</span><span style="color: #007700">,&nbsp;const&nbsp;</span><span style="color: #0000BB">params</span><span style="color: #007700">[]&nbsp;=&nbsp;</span><span style="color: #DD0000">""</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">GLOBAL_TAG_TYPES</span><span style="color: #007700">:...);&nbsp;<br /></span></code></div></div></div><ul class="mycode_list"><li>`func` - Fairly obvious; what to call.<br />
</li>
<li>`usDelay` - Again obvious, the delay before the call (in microseconds).<br />
</li>
<li>`usInterval` - What to reset `usDelay` to after the first call. ?So if you wanted a timer on the hour every hour, but it was 8:47am right now, the call would be `Timer_Create("OnTheHour", 780 SECONDS, 3600 SECONDS, 0);`<br />
</li>
<li>`repeatCount` - Unlike the old functions, which are just "once" or "forever", this instead takes the number of times to call the function. ?"once" would be `1`, `500` would stop after 500 calls, and (backwards from the old API) `0` means "forever".<br />
</li>
<li>`GLOBAL_TAG_TYPES` - Like `{Float, ...}`, but with more tags.<br />
</li>
</ul>
]]></description>
			<content:encoded><![CDATA[This is a sneak-peek at one of the improved modules we've done, for timers in open.mp:<br />
<br />
<div class="codeblock phpcodeblock"><div class="title">PHP Code:</div><div class="body"><div dir="ltr"><code><span style="color: #0000BB">native&nbsp;SetTimer</span><span style="color: #007700">(const&nbsp;</span><span style="color: #0000BB">func</span><span style="color: #007700">[],&nbsp;</span><span style="color: #0000BB">msInterval</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">bool</span><span style="color: #007700">:</span><span style="color: #0000BB">repeat</span><span style="color: #007700">)&nbsp;=&nbsp;</span><span style="color: #0000BB">SetTimerEx</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">native&nbsp;SetTimerEx</span><span style="color: #007700">(const&nbsp;</span><span style="color: #0000BB">func</span><span style="color: #007700">[],&nbsp;</span><span style="color: #0000BB">msInterval</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">bool</span><span style="color: #007700">:</span><span style="color: #0000BB">repeat</span><span style="color: #007700">,&nbsp;const&nbsp;</span><span style="color: #0000BB">params</span><span style="color: #007700">[],&nbsp;</span><span style="color: #0000BB">GLOBAL_TAG_TYPES</span><span style="color: #007700">:...);<br /></span><span style="color: #0000BB">native&nbsp;KillTimer</span><span style="color: #007700">(</span><span style="color: #0000BB">timer</span><span style="color: #007700">)&nbsp;=&nbsp;</span><span style="color: #0000BB">Timer_Kill</span><span style="color: #007700">;<br /><br /></span><span style="color: #FF8000">//&nbsp;CreateTimer<br /></span><span style="color: #0000BB">native&nbsp;Timer</span><span style="color: #007700">:</span><span style="color: #0000BB">Timer_Create</span><span style="color: #007700">(const&nbsp;</span><span style="color: #0000BB">func</span><span style="color: #007700">[],&nbsp;</span><span style="color: #0000BB">usDelay</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">usInterval</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">repeatCount</span><span style="color: #007700">,&nbsp;const&nbsp;</span><span style="color: #0000BB">params</span><span style="color: #007700">[]&nbsp;=&nbsp;</span><span style="color: #DD0000">""</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">GLOBAL_TAG_TYPES</span><span style="color: #007700">:...);<br /><br /></span><span style="color: #FF8000">//&nbsp;KillTimer<br /></span><span style="color: #0000BB">native&nbsp;bool</span><span style="color: #007700">:</span><span style="color: #0000BB">Timer_Kill</span><span style="color: #007700">(</span><span style="color: #0000BB">Timer</span><span style="color: #007700">:</span><span style="color: #0000BB">timer</span><span style="color: #007700">);<br /><br /></span><span style="color: #FF8000">//&nbsp;Return&nbsp;time&nbsp;till&nbsp;next&nbsp;call.<br /></span><span style="color: #0000BB">native&nbsp;Timer_GetTimeRemaining</span><span style="color: #007700">(</span><span style="color: #0000BB">Timer</span><span style="color: #007700">:</span><span style="color: #0000BB">timer</span><span style="color: #007700">);<br /><br /></span><span style="color: #FF8000">//&nbsp;Get&nbsp;number&nbsp;of&nbsp;calls&nbsp;left&nbsp;to&nbsp;make&nbsp;(0&nbsp;for&nbsp;unlimited).<br /></span><span style="color: #0000BB">native&nbsp;Timer_GetCallsRemaining</span><span style="color: #007700">(</span><span style="color: #0000BB">Timer</span><span style="color: #007700">:</span><span style="color: #0000BB">timer</span><span style="color: #007700">);<br /><br /></span><span style="color: #FF8000">//&nbsp;Get&nbsp;`repeatCount`&nbsp;parameter.<br /></span><span style="color: #0000BB">native&nbsp;Timer_GetTotalCalls</span><span style="color: #007700">(</span><span style="color: #0000BB">Timer</span><span style="color: #007700">:</span><span style="color: #0000BB">timer</span><span style="color: #007700">);<br /><br /></span><span style="color: #FF8000">//&nbsp;?Get&nbsp;`usInterval`&nbsp;parameter.<br /></span><span style="color: #0000BB">native&nbsp;Timer_GetInterval</span><span style="color: #007700">(</span><span style="color: #0000BB">Timer</span><span style="color: #007700">:</span><span style="color: #0000BB">timer</span><span style="color: #007700">);<br /><br /></span><span style="color: #FF8000">//&nbsp;Reset&nbsp;time&nbsp;remaining&nbsp;till&nbsp;next&nbsp;call&nbsp;to&nbsp;`usInterval`.<br /></span><span style="color: #0000BB">native&nbsp;bool</span><span style="color: #007700">:</span><span style="color: #0000BB">Timer_Restart</span><span style="color: #007700">(</span><span style="color: #0000BB">Timer</span><span style="color: #007700">:</span><span style="color: #0000BB">timer</span><span style="color: #007700">);&nbsp;<br /></span></code></div></div></div><br />
The first two are just for backwards-compatibility, the rest are the improved API:<br />
<br />
<div class="codeblock phpcodeblock"><div class="title">PHP Code:</div><div class="body"><div dir="ltr"><code><span style="color: #0000BB">native&nbsp;Timer</span><span style="color: #007700">:</span><span style="color: #0000BB">Timer_Create</span><span style="color: #007700">(const&nbsp;</span><span style="color: #0000BB">func</span><span style="color: #007700">[],&nbsp;</span><span style="color: #0000BB">usDelay</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">usInterval</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">repeatCount</span><span style="color: #007700">,&nbsp;const&nbsp;</span><span style="color: #0000BB">params</span><span style="color: #007700">[]&nbsp;=&nbsp;</span><span style="color: #DD0000">""</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">GLOBAL_TAG_TYPES</span><span style="color: #007700">:...);&nbsp;<br /></span></code></div></div></div><ul class="mycode_list"><li>`func` - Fairly obvious; what to call.<br />
</li>
<li>`usDelay` - Again obvious, the delay before the call (in microseconds).<br />
</li>
<li>`usInterval` - What to reset `usDelay` to after the first call. ?So if you wanted a timer on the hour every hour, but it was 8:47am right now, the call would be `Timer_Create("OnTheHour", 780 SECONDS, 3600 SECONDS, 0);`<br />
</li>
<li>`repeatCount` - Unlike the old functions, which are just "once" or "forever", this instead takes the number of times to call the function. ?"once" would be `1`, `500` would stop after 500 calls, and (backwards from the old API) `0` means "forever".<br />
</li>
<li>`GLOBAL_TAG_TYPES` - Like `{Float, ...}`, but with more tags.<br />
</li>
</ul>
]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Two screenshots]]></title>
			<link>https://forum.open.mp/showthread.php?tid=536</link>
			<pubDate>Wed, 08 May 2019 16:30:27 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://forum.open.mp/member.php?action=profile&uid=6">Y_Less</a>]]></dc:creator>
			<guid isPermaLink="false">https://forum.open.mp/showthread.php?tid=536</guid>
			<description><![CDATA[I posted these in Discord the other day, so I'll post them here as well.  Just the first sneak-peek of the server, showing a few of the new debugging features (and full-colour Windows console text):<br />
<br />
<br />
<br />
<img src="https://i.imgur.com/Qu6T4l3.png" loading="lazy"  alt="[Image: Qu6T4l3.png]" class="mycode_img" /><br />
<br />
<br />
<br />
<img src="https://i.imgur.com/vVdfjOt.png" loading="lazy"  alt="[Image: vVdfjOt.png]" class="mycode_img" />]]></description>
			<content:encoded><![CDATA[I posted these in Discord the other day, so I'll post them here as well.  Just the first sneak-peek of the server, showing a few of the new debugging features (and full-colour Windows console text):<br />
<br />
<br />
<br />
<img src="https://i.imgur.com/Qu6T4l3.png" loading="lazy"  alt="[Image: Qu6T4l3.png]" class="mycode_img" /><br />
<br />
<br />
<br />
<img src="https://i.imgur.com/vVdfjOt.png" loading="lazy"  alt="[Image: vVdfjOt.png]" class="mycode_img" />]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Want to follow our development?]]></title>
			<link>https://forum.open.mp/showthread.php?tid=351</link>
			<pubDate>Thu, 18 Apr 2019 10:37:48 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://forum.open.mp/member.php?action=profile&uid=5">JustMichael</a>]]></dc:creator>
			<guid isPermaLink="false">https://forum.open.mp/showthread.php?tid=351</guid>
			<description><![CDATA[Hello Burgershot,<br />
<br />
We have just setup a new Github repository, that the O:MP team will start using to publicly display the tasks we will be tackling throughout. You have this opportunity to follow us on our journey through our development cycle, this includes all O:MP and Burgershot projects.<br />
<br />
We hope that this will keep you all informed, and even more excited for the upcoming release of O:MP. If you see we are working on a task?and you want to suggest new idea or suggestions then feel free to post all suggestions or questions here:?https://www.burgershot.gg/forumdisplay.php?fid=42<br />
<br />
You can find the link to the Todo's repo here:?https://github.com/openmultiplayer/todo/issues]]></description>
			<content:encoded><![CDATA[Hello Burgershot,<br />
<br />
We have just setup a new Github repository, that the O:MP team will start using to publicly display the tasks we will be tackling throughout. You have this opportunity to follow us on our journey through our development cycle, this includes all O:MP and Burgershot projects.<br />
<br />
We hope that this will keep you all informed, and even more excited for the upcoming release of O:MP. If you see we are working on a task?and you want to suggest new idea or suggestions then feel free to post all suggestions or questions here:?https://www.burgershot.gg/forumdisplay.php?fid=42<br />
<br />
You can find the link to the Todo's repo here:?https://github.com/openmultiplayer/todo/issues]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[git.io/open.mp]]></title>
			<link>https://forum.open.mp/showthread.php?tid=343</link>
			<pubDate>Thu, 18 Apr 2019 02:39:04 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://forum.open.mp/member.php?action=profile&uid=6">Y_Less</a>]]></dc:creator>
			<guid isPermaLink="false">https://forum.open.mp/showthread.php?tid=343</guid>
			<description><![CDATA[<a href="https://git.io/open.mp" target="_blank" rel="noopener" class="mycode_url">https://git.io/open.mp</a><br />
<br />
<br />
<br />
This is the direct (nice) link to our github organisation, on which most development will be hosted.  There is one notable absence for now - the actual mod.  However, all graphics, operations, and modes are being put on there.<br />
<br />
<br />
<br />
Interested in graphics?  Star the graphics repo and make some issues.<br />
<br />
<br />
<br />
Want to improve the forums?  They're there as well.<br />
<br />
<br />
<br />
Got a simple mode you want including with the server?  We'd love to see it.<br />
<br />
<br />
<br />
<br />
<br />
Note that everything will be MPL 2.0 or CC-BY-SA 3.0.  We are setting up CLAs, which is basically just a way of enabling you to say you agree to let us use the things you submit.]]></description>
			<content:encoded><![CDATA[<a href="https://git.io/open.mp" target="_blank" rel="noopener" class="mycode_url">https://git.io/open.mp</a><br />
<br />
<br />
<br />
This is the direct (nice) link to our github organisation, on which most development will be hosted.  There is one notable absence for now - the actual mod.  However, all graphics, operations, and modes are being put on there.<br />
<br />
<br />
<br />
Interested in graphics?  Star the graphics repo and make some issues.<br />
<br />
<br />
<br />
Want to improve the forums?  They're there as well.<br />
<br />
<br />
<br />
Got a simple mode you want including with the server?  We'd love to see it.<br />
<br />
<br />
<br />
<br />
<br />
Note that everything will be MPL 2.0 or CC-BY-SA 3.0.  We are setting up CLAs, which is basically just a way of enabling you to say you agree to let us use the things you submit.]]></content:encoded>
		</item>
	</channel>
</rss>