<?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 - Programming]]></title>
		<link>https://forum.open.mp/</link>
		<description><![CDATA[open.mp forum - https://forum.open.mp]]></description>
		<pubDate>Sun, 12 Apr 2026 16:45:36 +0000</pubDate>
		<generator>MyBB</generator>
		<item>
			<title><![CDATA[Emotion Launcher(eLauncher)]]></title>
			<link>https://forum.open.mp/showthread.php?tid=3242</link>
			<pubDate>Thu, 24 Jul 2025 23:59:41 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://forum.open.mp/member.php?action=profile&uid=6320">Collw</a>]]></dc:creator>
			<guid isPermaLink="false">https://forum.open.mp/showthread.php?tid=3242</guid>
			<description><![CDATA[<div style="text-align: center;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b"><img src="https://cdn.discordapp.com/attachments/1117589516488822906/1398115855128334376/EL_18.png?ex=6884305b&amp;is=6882dedb&amp;hm=a5349d5c3d17263b983516e05f956dc2e61b6b098dfac6654edcb4b1332dec98&amp;" loading="lazy"  width="200" height="200" alt="[Image: EL_18.png?ex=6884305b&amp;is=6882dedb&amp;hm=a53...1332dec98&amp;]" class="mycode_img" /></span></div>
<span style="font-weight: bold;" class="mycode_b">Emotion Multiplayer - eLauncher</span><br />
This project is <span style="font-weight: bold;" class="mycode_b">not a new multiplayer mod</span>. Emotion Multiplayer &gt; eLauncher is part of an open-source initiative aimed at organizing and sharing tools, modifications, and code with the <span style="font-weight: bold;" class="mycode_b">SA-MP</span> and <span style="font-weight: bold;" class="mycode_b">open.mp</span> communities.<br />
<span style="font-weight: bold;" class="mycode_b">About the project</span><br />
I’m passionate about volunteer development and open-source software. While exploring some community SA-MP repositories, I had the idea to create a dedicated launcher. That’s how <span style="font-weight: bold;" class="mycode_b">Emotion Launcher (eLauncher)</span> was born.<br />
The goal of this project is to make it easier for server owners — especially those running large servers — to create their own custom launchers in a practical and professional way.<br />
You can create your own launcher based on <span style="font-weight: bold;" class="mycode_b">eLauncher</span>.<br />
<span style="font-weight: bold;" class="mycode_b">Technologies used</span><ul class="mycode_list"><li>Language: C#<br />
</li>
<li>Interface: WinForms<br />
</li>
<li>Platform: .NET 8.0<br />
</li>
</ul>
<span style="font-weight: bold;" class="mycode_b">Try it now</span><br />
You can explore and test the launcher by visiting:<br />
Official website: <a href="https://elauncher.site/" target="_blank" rel="noopener" class="mycode_url">https://elauncher.site</a><br />
Source code: <a href="https://github.com/emotionmultiplayer/eLauncher" target="_blank" rel="noopener" class="mycode_url">https://github.com/emotionmultiplayer/eLauncher</a><br />
<span style="font-weight: bold;" class="mycode_b">Contributions</span><br />
Contributions are welcome. If you have ideas, improvements, or fixes, feel free to open an issue or submit a pull request on the repository.<br />
<span style="font-weight: bold;" class="mycode_b">Emotion Multiplayer – developed with dedication for the community.</span>]]></description>
			<content:encoded><![CDATA[<div style="text-align: center;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b"><img src="https://cdn.discordapp.com/attachments/1117589516488822906/1398115855128334376/EL_18.png?ex=6884305b&amp;is=6882dedb&amp;hm=a5349d5c3d17263b983516e05f956dc2e61b6b098dfac6654edcb4b1332dec98&amp;" loading="lazy"  width="200" height="200" alt="[Image: EL_18.png?ex=6884305b&amp;is=6882dedb&amp;hm=a53...1332dec98&amp;]" class="mycode_img" /></span></div>
<span style="font-weight: bold;" class="mycode_b">Emotion Multiplayer - eLauncher</span><br />
This project is <span style="font-weight: bold;" class="mycode_b">not a new multiplayer mod</span>. Emotion Multiplayer &gt; eLauncher is part of an open-source initiative aimed at organizing and sharing tools, modifications, and code with the <span style="font-weight: bold;" class="mycode_b">SA-MP</span> and <span style="font-weight: bold;" class="mycode_b">open.mp</span> communities.<br />
<span style="font-weight: bold;" class="mycode_b">About the project</span><br />
I’m passionate about volunteer development and open-source software. While exploring some community SA-MP repositories, I had the idea to create a dedicated launcher. That’s how <span style="font-weight: bold;" class="mycode_b">Emotion Launcher (eLauncher)</span> was born.<br />
The goal of this project is to make it easier for server owners — especially those running large servers — to create their own custom launchers in a practical and professional way.<br />
You can create your own launcher based on <span style="font-weight: bold;" class="mycode_b">eLauncher</span>.<br />
<span style="font-weight: bold;" class="mycode_b">Technologies used</span><ul class="mycode_list"><li>Language: C#<br />
</li>
<li>Interface: WinForms<br />
</li>
<li>Platform: .NET 8.0<br />
</li>
</ul>
<span style="font-weight: bold;" class="mycode_b">Try it now</span><br />
You can explore and test the launcher by visiting:<br />
Official website: <a href="https://elauncher.site/" target="_blank" rel="noopener" class="mycode_url">https://elauncher.site</a><br />
Source code: <a href="https://github.com/emotionmultiplayer/eLauncher" target="_blank" rel="noopener" class="mycode_url">https://github.com/emotionmultiplayer/eLauncher</a><br />
<span style="font-weight: bold;" class="mycode_b">Contributions</span><br />
Contributions are welcome. If you have ideas, improvements, or fixes, feel free to open an issue or submit a pull request on the repository.<br />
<span style="font-weight: bold;" class="mycode_b">Emotion Multiplayer – developed with dedication for the community.</span>]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[С++ / How to terminate further function calls?]]></title>
			<link>https://forum.open.mp/showthread.php?tid=3069</link>
			<pubDate>Mon, 10 Feb 2025 04:09:26 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://forum.open.mp/member.php?action=profile&uid=5383">punkochel</a>]]></dc:creator>
			<guid isPermaLink="false">https://forum.open.mp/showthread.php?tid=3069</guid>
			<description><![CDATA[Hi everyone! How can I complete a sequence of function calls if I already got the desired result?<br />
Let's say not call onPlayerSpawn in Test2 if I already got what I wanted in Test1? Only if?<br />
<br />
<br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>class Test1 : public PlayerSpawnEventHandler<br />
{<br />
<br />
public:<br />
    void onPlayerSpawn(IPlayer &amp;player) override<br />
    {<br />
        player.sendClientMessage(Colour::Cyan(), "Hello from the test class...");<br />
    }<br />
};<br />
<br />
class Test2 : public PlayerSpawnEventHandler<br />
{<br />
<br />
public:<br />
    void onPlayerSpawn(IPlayer &amp;player) override<br />
    {<br />
        player.sendClientMessage(Colour::Cyan(), "Hello from the test2 class...");<br />
    }<br />
};<br />
<br />
void Gamemode::onLoad(ICore* c)<br />
{<br />
    core_ = c;<br />
    c-&gt;getPlayers().getPlayerConnectDispatcher().addEventHandler(this);<br />
    c-&gt;getPlayers().getPlayerSpawnDispatcher().addEventHandler(this);<br />
    c-&gt;getPlayers().getPlayerTextDispatcher().addEventHandler(this);<br />
<br />
    test1_ = new Test1;<br />
    c-&gt;getPlayers().getPlayerSpawnDispatcher().addEventHandler(test1_);<br />
<br />
    test2_ = new Test2;<br />
    c-&gt;getPlayers().getPlayerSpawnDispatcher().addEventHandler(test2_);<br />
}</code></div></div>]]></description>
			<content:encoded><![CDATA[Hi everyone! How can I complete a sequence of function calls if I already got the desired result?<br />
Let's say not call onPlayerSpawn in Test2 if I already got what I wanted in Test1? Only if?<br />
<br />
<br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>class Test1 : public PlayerSpawnEventHandler<br />
{<br />
<br />
public:<br />
    void onPlayerSpawn(IPlayer &amp;player) override<br />
    {<br />
        player.sendClientMessage(Colour::Cyan(), "Hello from the test class...");<br />
    }<br />
};<br />
<br />
class Test2 : public PlayerSpawnEventHandler<br />
{<br />
<br />
public:<br />
    void onPlayerSpawn(IPlayer &amp;player) override<br />
    {<br />
        player.sendClientMessage(Colour::Cyan(), "Hello from the test2 class...");<br />
    }<br />
};<br />
<br />
void Gamemode::onLoad(ICore* c)<br />
{<br />
    core_ = c;<br />
    c-&gt;getPlayers().getPlayerConnectDispatcher().addEventHandler(this);<br />
    c-&gt;getPlayers().getPlayerSpawnDispatcher().addEventHandler(this);<br />
    c-&gt;getPlayers().getPlayerTextDispatcher().addEventHandler(this);<br />
<br />
    test1_ = new Test1;<br />
    c-&gt;getPlayers().getPlayerSpawnDispatcher().addEventHandler(test1_);<br />
<br />
    test2_ = new Test2;<br />
    c-&gt;getPlayers().getPlayerSpawnDispatcher().addEventHandler(test2_);<br />
}</code></div></div>]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Need any technical support?]]></title>
			<link>https://forum.open.mp/showthread.php?tid=2921</link>
			<pubDate>Tue, 01 Oct 2024 14:20:44 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://forum.open.mp/member.php?action=profile&uid=4411">JasonRiggs</a>]]></dc:creator>
			<guid isPermaLink="false">https://forum.open.mp/showthread.php?tid=2921</guid>
			<description><![CDATA[Hi there!<br />
<br />
So I thought why not we make this thread to people who require or offer any technical support to meet up here so we can make it easier for developers and users to find each others which will enhance the growth of the community and the quality of the service.<br />
<br />
I'll begin with myself.. If you need any help regarding Open.MP server development or any other matter contact me over DMs or on discord <span style="color: #000000;" class="mycode_color"><span style="font-family: gg sans', 'Noto Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif, 'Apple Symbols;" class="mycode_font">riggsss</span></span><br />
<br />
<span style="font-family: gg sans', 'Noto Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif, 'Apple Symbols;" class="mycode_font"><span style="color: #000000;" class="mycode_color">Hope this post reaches alot of people!</span></span>]]></description>
			<content:encoded><![CDATA[Hi there!<br />
<br />
So I thought why not we make this thread to people who require or offer any technical support to meet up here so we can make it easier for developers and users to find each others which will enhance the growth of the community and the quality of the service.<br />
<br />
I'll begin with myself.. If you need any help regarding Open.MP server development or any other matter contact me over DMs or on discord <span style="color: #000000;" class="mycode_color"><span style="font-family: gg sans', 'Noto Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif, 'Apple Symbols;" class="mycode_font">riggsss</span></span><br />
<br />
<span style="font-family: gg sans', 'Noto Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif, 'Apple Symbols;" class="mycode_font"><span style="color: #000000;" class="mycode_color">Hope this post reaches alot of people!</span></span>]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Build OpenMP sdk (cmake-conan)]]></title>
			<link>https://forum.open.mp/showthread.php?tid=2840</link>
			<pubDate>Sun, 28 Jul 2024 17:43:09 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://forum.open.mp/member.php?action=profile&uid=6079">PainFrenemy</a>]]></dc:creator>
			<guid isPermaLink="false">https://forum.open.mp/showthread.php?tid=2840</guid>
			<description><![CDATA[<span style="color: #cbdae6;" class="mycode_color"><span style="font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Noto Sans', Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji';" class="mycode_font">&#36; cmake .. -A Win32 -T ClangCL</span></span><br />
<span style="color: #cbdae6;" class="mycode_color"><span style="font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Noto Sans', Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji';" class="mycode_font">-- Selecting Windows SDK version 10.0.22621.0 to target Windows 10.0.22631.</span></span><br />
<span style="color: #cbdae6;" class="mycode_color"><span style="font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Noto Sans', Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji';" class="mycode_font">usage: conan profile [-h] [-v [V]] [-cc CORE_CONF] {detect,list,path,show} ...</span></span><br />
<span style="color: #cbdae6;" class="mycode_color"><span style="font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Noto Sans', Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji';" class="mycode_font">conan profile: error: argument subcommand: invalid choice: 'update' (choose from 'detect', 'list', 'path', 'show')</span></span><br />
<span style="color: #cbdae6;" class="mycode_color"><span style="font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Noto Sans', Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji';" class="mycode_font">ERROR: Exiting with code: 2</span></span><br />
<span style="color: #cbdae6;" class="mycode_color"><span style="font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Noto Sans', Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji';" class="mycode_font">CMake Error at lib/cmake-conan/conan-omp.cmake:20 (message):</span></span><br />
<span style="color: #cbdae6;" class="mycode_color"><span style="font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Noto Sans', Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji';" class="mycode_font">Couldn't update build profile</span></span><br />
<span style="color: #cbdae6;" class="mycode_color"><span style="font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Noto Sans', Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji';" class="mycode_font">Call Stack (most recent call first):</span></span><br />
<span style="color: #cbdae6;" class="mycode_color"><span style="font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Noto Sans', Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji';" class="mycode_font">lib/cmake-conan/conan-omp.cmake:60 (conan_update_profile)</span></span><br />
<span style="color: #cbdae6;" class="mycode_color"><span style="font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Noto Sans', Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji';" class="mycode_font">CMakeLists.txt:6 (include)</span></span><br />
<br />
<span style="color: #cbdae6;" class="mycode_color"><span style="font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Noto Sans', Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji';" class="mycode_font"><a href="https://github.com/openmultiplayer/open.mp-sdk" target="_blank" rel="noopener" class="mycode_url">https://github.com/openmultiplayer/open.mp-sdk</a></span></span>]]></description>
			<content:encoded><![CDATA[<span style="color: #cbdae6;" class="mycode_color"><span style="font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Noto Sans', Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji';" class="mycode_font">&#36; cmake .. -A Win32 -T ClangCL</span></span><br />
<span style="color: #cbdae6;" class="mycode_color"><span style="font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Noto Sans', Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji';" class="mycode_font">-- Selecting Windows SDK version 10.0.22621.0 to target Windows 10.0.22631.</span></span><br />
<span style="color: #cbdae6;" class="mycode_color"><span style="font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Noto Sans', Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji';" class="mycode_font">usage: conan profile [-h] [-v [V]] [-cc CORE_CONF] {detect,list,path,show} ...</span></span><br />
<span style="color: #cbdae6;" class="mycode_color"><span style="font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Noto Sans', Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji';" class="mycode_font">conan profile: error: argument subcommand: invalid choice: 'update' (choose from 'detect', 'list', 'path', 'show')</span></span><br />
<span style="color: #cbdae6;" class="mycode_color"><span style="font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Noto Sans', Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji';" class="mycode_font">ERROR: Exiting with code: 2</span></span><br />
<span style="color: #cbdae6;" class="mycode_color"><span style="font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Noto Sans', Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji';" class="mycode_font">CMake Error at lib/cmake-conan/conan-omp.cmake:20 (message):</span></span><br />
<span style="color: #cbdae6;" class="mycode_color"><span style="font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Noto Sans', Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji';" class="mycode_font">Couldn't update build profile</span></span><br />
<span style="color: #cbdae6;" class="mycode_color"><span style="font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Noto Sans', Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji';" class="mycode_font">Call Stack (most recent call first):</span></span><br />
<span style="color: #cbdae6;" class="mycode_color"><span style="font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Noto Sans', Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji';" class="mycode_font">lib/cmake-conan/conan-omp.cmake:60 (conan_update_profile)</span></span><br />
<span style="color: #cbdae6;" class="mycode_color"><span style="font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Noto Sans', Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji';" class="mycode_font">CMakeLists.txt:6 (include)</span></span><br />
<br />
<span style="color: #cbdae6;" class="mycode_color"><span style="font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Noto Sans', Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji';" class="mycode_font"><a href="https://github.com/openmultiplayer/open.mp-sdk" target="_blank" rel="noopener" class="mycode_url">https://github.com/openmultiplayer/open.mp-sdk</a></span></span>]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[A code alternative for finding an empty slot properly]]></title>
			<link>https://forum.open.mp/showthread.php?tid=2828</link>
			<pubDate>Fri, 19 Jul 2024 11:23:00 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://forum.open.mp/member.php?action=profile&uid=6021">Amr</a>]]></dc:creator>
			<guid isPermaLink="false">https://forum.open.mp/showthread.php?tid=2828</guid>
			<description><![CDATA[<span style="font-weight: bold;" class="mycode_b"><span style="font-size: x-large;" class="mycode_size">Finding the First Empty Slot in an Array</span></span><br />
<br />
<span style="font-weight: bold;" class="mycode_b"><span style="font-size: medium;" class="mycode_size">Objective:</span></span><br />
<span style="font-size: medium;" class="mycode_size">To determine the index of the first empty slot in a 0-indexed array </span><span style="font-size: 1pt;" class="mycode_size">Arr of size 1024, with an additional precaution against potential overflow.</span><br />
<br />
<span style="font-size: medium;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b"><span style="font-size: medium;" class="mycode_size">Explanation:</span></span></span><br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>int SizeArr = 1024;      // Size of the array<br />
int Arr[SizeArr + 1];    // Array with additional slot<br />
<br />
int i = 1;                // Initialization of index i<br />
<br />
while (Arr)        // Loop until an empty slot is found<br />
    i++;<br />
<br />
return i % (SizeArr + 1) - 1;  // Return the index of the empty slot</code></div></div><br />
<span style="font-weight: bold;" class="mycode_b"><span style="font-size: medium;" class="mycode_size">Details:</span></span><br />
<ol type="1" class="mycode_list"><li><span style="font-weight: bold;" class="mycode_b">Array Declaration:</span><br />
<ul class="mycode_list"><li><span style="color: #c10300;" class="mycode_color">int Arr[SizeArr + 1];</span><br />
 declares an array <span style="color: #c10300;" class="mycode_color">Arr</span> with 1025 elements, including an additional slot to handle edge cases and prevent overflow.<br />
</li>
</ul>
</li>
<li><span style="font-weight: bold;" class="mycode_b">Initialization of </span><span style="font-weight: bold;" class="mycode_b">i</span><span style="font-weight: bold;" class="mycode_b">:</span><br />
<ul class="mycode_list"><li><span style="color: #c10300;" class="mycode_color">int i = 1;</span><br />
 starts <span style="color: #c10300;" class="mycode_color">i</span> at 1 to facilitate the search for the first empty slot while adjusting for 0-based indexing with <span style="color: #c10300;" class="mycode_color">Arr[i - 1]</span>.<br />
</li>
</ul>
</li>
<li><span style="font-weight: bold;" class="mycode_b">While Loop:</span><br />
<ul class="mycode_list"><li><span style="color: #c10300;" class="mycode_color">while (Arr[i - 1]) i++;</span><br />
 iterates <span style="color: #c10300;" class="mycode_color">i</span> until it finds an index where <span style="color: #c10300;" class="mycode_color">Arr[i - 1]</span> is zero, indicating an empty slot in the array.<br />
</li>
</ul>
</li>
<li><span style="font-weight: bold;" class="mycode_b">Return Statement:</span><br />
<ul class="mycode_list"><li><span style="color: #c10300;" class="mycode_color">return i % (SizeArr + 1) - 1;</span><br />
 calculates and returns the index of the first empty slot:<br />
<ul class="mycode_list"><li><span style="color: #c10300;" class="mycode_color">i % (SizeArr + 1)</span><br />
 ensures <span style="color: #c10300;" class="mycode_color">i</span> wraps within the array bounds, accounting for the extra slot.<br />
</li>
<li><span style="color: #c10300;" class="mycode_color">- 1</span><br />
 adjusts <span style="color: #c10300;" class="mycode_color">i</span> to be a 0-based index, aligning with typical C/C++ array indexing conventions.<br />
</li>
</ul>
</li>
</ul>
</li>
</ol>
<span style="font-weight: bold;" class="mycode_b"><span style="font-size: medium;" class="mycode_size">Benefits:</span></span><ul class="mycode_list"><li><span style="font-weight: bold;" class="mycode_b">Overflow Protection:</span> By allocating an extra element (`<span style="color: #c10300;" class="mycode_color">Arr[SizeArr]</span>`), the code guards against potential overflow issues during array traversal.<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">Robustness:</span> Handles various scenarios by locating the first empty slot in the array Arr, accommodating specific conditions where zero signifies an empty slot.<br />
</li>
</ul>
<span style="font-weight: bold;" class="mycode_b"><span style="font-size: medium;" class="mycode_size">Considerations:</span></span><ul class="mycode_list"><li>Ensure the array initialization and usage align with application-specific requirements regarding empty slot definitions and array indexing conventions.<br />
</li>
</ul>
]]></description>
			<content:encoded><![CDATA[<span style="font-weight: bold;" class="mycode_b"><span style="font-size: x-large;" class="mycode_size">Finding the First Empty Slot in an Array</span></span><br />
<br />
<span style="font-weight: bold;" class="mycode_b"><span style="font-size: medium;" class="mycode_size">Objective:</span></span><br />
<span style="font-size: medium;" class="mycode_size">To determine the index of the first empty slot in a 0-indexed array </span><span style="font-size: 1pt;" class="mycode_size">Arr of size 1024, with an additional precaution against potential overflow.</span><br />
<br />
<span style="font-size: medium;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b"><span style="font-size: medium;" class="mycode_size">Explanation:</span></span></span><br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>int SizeArr = 1024;      // Size of the array<br />
int Arr[SizeArr + 1];    // Array with additional slot<br />
<br />
int i = 1;                // Initialization of index i<br />
<br />
while (Arr)        // Loop until an empty slot is found<br />
    i++;<br />
<br />
return i % (SizeArr + 1) - 1;  // Return the index of the empty slot</code></div></div><br />
<span style="font-weight: bold;" class="mycode_b"><span style="font-size: medium;" class="mycode_size">Details:</span></span><br />
<ol type="1" class="mycode_list"><li><span style="font-weight: bold;" class="mycode_b">Array Declaration:</span><br />
<ul class="mycode_list"><li><span style="color: #c10300;" class="mycode_color">int Arr[SizeArr + 1];</span><br />
 declares an array <span style="color: #c10300;" class="mycode_color">Arr</span> with 1025 elements, including an additional slot to handle edge cases and prevent overflow.<br />
</li>
</ul>
</li>
<li><span style="font-weight: bold;" class="mycode_b">Initialization of </span><span style="font-weight: bold;" class="mycode_b">i</span><span style="font-weight: bold;" class="mycode_b">:</span><br />
<ul class="mycode_list"><li><span style="color: #c10300;" class="mycode_color">int i = 1;</span><br />
 starts <span style="color: #c10300;" class="mycode_color">i</span> at 1 to facilitate the search for the first empty slot while adjusting for 0-based indexing with <span style="color: #c10300;" class="mycode_color">Arr[i - 1]</span>.<br />
</li>
</ul>
</li>
<li><span style="font-weight: bold;" class="mycode_b">While Loop:</span><br />
<ul class="mycode_list"><li><span style="color: #c10300;" class="mycode_color">while (Arr[i - 1]) i++;</span><br />
 iterates <span style="color: #c10300;" class="mycode_color">i</span> until it finds an index where <span style="color: #c10300;" class="mycode_color">Arr[i - 1]</span> is zero, indicating an empty slot in the array.<br />
</li>
</ul>
</li>
<li><span style="font-weight: bold;" class="mycode_b">Return Statement:</span><br />
<ul class="mycode_list"><li><span style="color: #c10300;" class="mycode_color">return i % (SizeArr + 1) - 1;</span><br />
 calculates and returns the index of the first empty slot:<br />
<ul class="mycode_list"><li><span style="color: #c10300;" class="mycode_color">i % (SizeArr + 1)</span><br />
 ensures <span style="color: #c10300;" class="mycode_color">i</span> wraps within the array bounds, accounting for the extra slot.<br />
</li>
<li><span style="color: #c10300;" class="mycode_color">- 1</span><br />
 adjusts <span style="color: #c10300;" class="mycode_color">i</span> to be a 0-based index, aligning with typical C/C++ array indexing conventions.<br />
</li>
</ul>
</li>
</ul>
</li>
</ol>
<span style="font-weight: bold;" class="mycode_b"><span style="font-size: medium;" class="mycode_size">Benefits:</span></span><ul class="mycode_list"><li><span style="font-weight: bold;" class="mycode_b">Overflow Protection:</span> By allocating an extra element (`<span style="color: #c10300;" class="mycode_color">Arr[SizeArr]</span>`), the code guards against potential overflow issues during array traversal.<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">Robustness:</span> Handles various scenarios by locating the first empty slot in the array Arr, accommodating specific conditions where zero signifies an empty slot.<br />
</li>
</ul>
<span style="font-weight: bold;" class="mycode_b"><span style="font-size: medium;" class="mycode_size">Considerations:</span></span><ul class="mycode_list"><li>Ensure the array initialization and usage align with application-specific requirements regarding empty slot definitions and array indexing conventions.<br />
</li>
</ul>
]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Want to make an android app?]]></title>
			<link>https://forum.open.mp/showthread.php?tid=2823</link>
			<pubDate>Wed, 17 Jul 2024 09:32:42 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://forum.open.mp/member.php?action=profile&uid=6016">MEGAMIND</a>]]></dc:creator>
			<guid isPermaLink="false">https://forum.open.mp/showthread.php?tid=2823</guid>
			<description><![CDATA[i dont know if i am in wrong board, kindly do guide me where to post as its also offtopic sharing an invite link for <a href="https://discord.gg/fD93Bx5SqP" target="_blank" rel="noopener" class="mycode_url">https://discord.gg/fD93Bx5SqP</a> cordova.js developers if any one might be interested they can join and create android apps based on html,js,css for android or ios <a href="https://cordova.apache.org/" target="_blank" rel="noopener" class="mycode_url">https://cordova.apache.org/</a> as the platform it self is awsome but there was no discord chanel for it, so decided to make one<br />
<br />
Note: its not for samp related coding, but u can surely make an android app that links to samp somewhere]]></description>
			<content:encoded><![CDATA[i dont know if i am in wrong board, kindly do guide me where to post as its also offtopic sharing an invite link for <a href="https://discord.gg/fD93Bx5SqP" target="_blank" rel="noopener" class="mycode_url">https://discord.gg/fD93Bx5SqP</a> cordova.js developers if any one might be interested they can join and create android apps based on html,js,css for android or ios <a href="https://cordova.apache.org/" target="_blank" rel="noopener" class="mycode_url">https://cordova.apache.org/</a> as the platform it self is awsome but there was no discord chanel for it, so decided to make one<br />
<br />
Note: its not for samp related coding, but u can surely make an android app that links to samp somewhere]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[What Do You Think?]]></title>
			<link>https://forum.open.mp/showthread.php?tid=2810</link>
			<pubDate>Tue, 02 Jul 2024 20:18:55 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://forum.open.mp/member.php?action=profile&uid=5966">yamanshrestha2018</a>]]></dc:creator>
			<guid isPermaLink="false">https://forum.open.mp/showthread.php?tid=2810</guid>
			<description><![CDATA[How long do you think it would take for a person to learn the pawn lang from scratch and code his own server and get it running?? 2 years??]]></description>
			<content:encoded><![CDATA[How long do you think it would take for a person to learn the pawn lang from scratch and code his own server and get it running?? 2 years??]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Problem with plugin development]]></title>
			<link>https://forum.open.mp/showthread.php?tid=2271</link>
			<pubDate>Tue, 18 Jan 2022 11:41:07 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://forum.open.mp/member.php?action=profile&uid=2844">Davee52</a>]]></dc:creator>
			<guid isPermaLink="false">https://forum.open.mp/showthread.php?tid=2271</guid>
			<description><![CDATA[Hy everybody! I followed the instructions in the Plugin Development topic on the site, and I get errors as I include the invoke.hxx . I downloaded it on the link, added the file to the project, and included it in the code, but it gives me these errors:<br />
<a href="https://imgur.com/a/Yamr46K" target="_blank" rel="noopener" class="mycode_url">https://imgur.com/a/Yamr46K</a><br />
Thank you if you could lead me to success.]]></description>
			<content:encoded><![CDATA[Hy everybody! I followed the instructions in the Plugin Development topic on the site, and I get errors as I include the invoke.hxx . I downloaded it on the link, added the file to the project, and included it in the code, but it gives me these errors:<br />
<a href="https://imgur.com/a/Yamr46K" target="_blank" rel="noopener" class="mycode_url">https://imgur.com/a/Yamr46K</a><br />
Thank you if you could lead me to success.]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[How to call a function an address?]]></title>
			<link>https://forum.open.mp/showthread.php?tid=2158</link>
			<pubDate>Tue, 06 Jul 2021 21:36:37 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://forum.open.mp/member.php?action=profile&uid=2504">oukibt</a>]]></dc:creator>
			<guid isPermaLink="false">https://forum.open.mp/showthread.php?tid=2158</guid>
			<description><![CDATA[Hi I am trying to call a function at an address from a plugin but I am getting a crash.<br />
<br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>PLUGIN_EXPORT int PLUGIN_CALL AmxLoad(AMX* amx)<br />
{<br />
? ? VirtualUnlock((LPVOID)0x48B5B0, 0x20);<br />
<br />
? ? ((int(__fastcall*)(char*))0x48B5B0)("query");<br />
? ? return 1;<br />
}</code></div></div><br />
<a href="https://cdn.discordapp.com/attachments/582915540285128725/862083931314585630/unknown.png" target="_blank" rel="noopener" class="mycode_url">https://cdn.discordapp.com/attachments/5...nknown.png</a><br />
<br />
I think, this is GetConsoleVariableInt function]]></description>
			<content:encoded><![CDATA[Hi I am trying to call a function at an address from a plugin but I am getting a crash.<br />
<br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>PLUGIN_EXPORT int PLUGIN_CALL AmxLoad(AMX* amx)<br />
{<br />
? ? VirtualUnlock((LPVOID)0x48B5B0, 0x20);<br />
<br />
? ? ((int(__fastcall*)(char*))0x48B5B0)("query");<br />
? ? return 1;<br />
}</code></div></div><br />
<a href="https://cdn.discordapp.com/attachments/582915540285128725/862083931314585630/unknown.png" target="_blank" rel="noopener" class="mycode_url">https://cdn.discordapp.com/attachments/5...nknown.png</a><br />
<br />
I think, this is GetConsoleVariableInt function]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[SCM()]]></title>
			<link>https://forum.open.mp/showthread.php?tid=2141</link>
			<pubDate>Sun, 27 Jun 2021 09:46:38 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://forum.open.mp/member.php?action=profile&uid=1576">Awide</a>]]></dc:creator>
			<guid isPermaLink="false">https://forum.open.mp/showthread.php?tid=2141</guid>
			<description><![CDATA[jokes on you all haters i use SCM to split long messages?<br />
<br />
<br />
<br />
*grabs popcorn*]]></description>
			<content:encoded><![CDATA[jokes on you all haters i use SCM to split long messages?<br />
<br />
<br />
<br />
*grabs popcorn*]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Run sa-mp server in android terminal]]></title>
			<link>https://forum.open.mp/showthread.php?tid=2131</link>
			<pubDate>Wed, 23 Jun 2021 16:50:40 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://forum.open.mp/member.php?action=profile&uid=2975">Otakeiro</a>]]></dc:creator>
			<guid isPermaLink="false">https://forum.open.mp/showthread.php?tid=2131</guid>
			<description><![CDATA[super solved...]]></description>
			<content:encoded><![CDATA[super solved...]]></content:encoded>
		</item>
		<item>
			<title><![CDATA['inject' Modes to gta_sa/SA-MP??]]></title>
			<link>https://forum.open.mp/showthread.php?tid=2100</link>
			<pubDate>Sun, 06 Jun 2021 06:26:05 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://forum.open.mp/member.php?action=profile&uid=3745">redex</a>]]></dc:creator>
			<guid isPermaLink="false">https://forum.open.mp/showthread.php?tid=2100</guid>
			<description><![CDATA[hi, i am working on a custom SA-MP launcher for my server, its an anti cheat now i want to do something more, i want to add some modes and stuff, like skins or other modes, now i want to it only load when user is opening gta_sa with my launcher, so i dont want to just put some stuff in game folder , how can i do something like injecting that files ? for example i just downloaded a mode that have 2 files , tff and dff (if i got that right) how can i inject this model files to game? or another example i just downloaded a radar mode, it said i should replace the IMG files to gta3.img , how can i do that ONLY when user opening game with launcher?<br />
<br />
<br />
<br />
i seen this thing in other servers so i guess its possible, by the way i used C# for the launcher]]></description>
			<content:encoded><![CDATA[hi, i am working on a custom SA-MP launcher for my server, its an anti cheat now i want to do something more, i want to add some modes and stuff, like skins or other modes, now i want to it only load when user is opening gta_sa with my launcher, so i dont want to just put some stuff in game folder , how can i do something like injecting that files ? for example i just downloaded a mode that have 2 files , tff and dff (if i got that right) how can i inject this model files to game? or another example i just downloaded a radar mode, it said i should replace the IMG files to gta3.img , how can i do that ONLY when user opening game with launcher?<br />
<br />
<br />
<br />
i seen this thing in other servers so i guess its possible, by the way i used C# for the launcher]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Array elements within a function aren't able to change?]]></title>
			<link>https://forum.open.mp/showthread.php?tid=2073</link>
			<pubDate>Tue, 01 Jun 2021 17:00:11 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://forum.open.mp/member.php?action=profile&uid=3825">klausfelix</a>]]></dc:creator>
			<guid isPermaLink="false">https://forum.open.mp/showthread.php?tid=2073</guid>
			<description><![CDATA[[color=var(--highlight-color)]<span style="font-size: small;" class="mycode_size"><span style="font-family: Tahoma, Verdana, Arial, sans-serif;" class="mycode_font">a = np.array([0,2,4,2,0,2,3,2,3,2,0])<br />
<br />
plt.figure(figsize=(10,7))<br />
<br />
plt.plot(a,label='a')<br />
<br />
<br />
<br />
def raycrit(a,thresh):<br />
<br />
? ? min_ind = argrelextrema(a, np.less)<br />
<br />
? ? max_ind = argrelextrema(a, np.greater)<br />
<br />
? ? maxima = a[max_ind]<br />
<br />
? ? minima = a[min_ind]<br />
<br />
? ? if min_ind[0][0] &gt; max_ind[0][0]:<br />
<br />
? ? ? ? for i in range(0,len(minima)):<br />
<br />
? ? ? ? ? ? if maxima[i] &gt; thresh and maxima[i] &gt; thresh:<br />
<br />
? ? ? ? ? ? ? ? if minima[i] &gt; maxima[i]/2 and minima[i] &gt; maxima[i]/2:<br />
<br />
? ? ? ? ? ? ? ? ? ? minima[i] = thresh <br />
<br />
? ? a[min_ind] = minima<br />
<br />
? ? return a<br />
<br />
? ? ? ? <br />
<br />
b = raycrit(a,2.5)</span></span>[/color]<br />
<br />
<br />
<br />
<span style="color: #0a00c0;" class="mycode_color"><span style="font-size: x-small;" class="mycode_size"><span style="color: #242729;" class="mycode_color"><span style="font-size: small;" class="mycode_size"><span style="font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Liberation Sans', sans-serif;" class="mycode_font"><span style="font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Liberation Sans', sans-serif;" class="mycode_font">In the above code excerpt, I am trying to find local minima surrounded by local maxima that are more than half the height of the highest local maximum that neighbours it. And while this put into text might be confusing, I think reading the code helps understand what I'm trying to reach for. The problem arises with the fact that?<br />
<br />
minima[i] = thresh<br />
<br />
?stays unchanged even when the condition is triggered. Here the result should be [0,2,4,2,0,2,3,2.5,3,2,0] but remains [0,2,4,2,0,2,3,2,3,2,0] and I am quite confused as to why...</span></span></span></span><br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
</span></span>]]></description>
			<content:encoded><![CDATA[[color=var(--highlight-color)]<span style="font-size: small;" class="mycode_size"><span style="font-family: Tahoma, Verdana, Arial, sans-serif;" class="mycode_font">a = np.array([0,2,4,2,0,2,3,2,3,2,0])<br />
<br />
plt.figure(figsize=(10,7))<br />
<br />
plt.plot(a,label='a')<br />
<br />
<br />
<br />
def raycrit(a,thresh):<br />
<br />
? ? min_ind = argrelextrema(a, np.less)<br />
<br />
? ? max_ind = argrelextrema(a, np.greater)<br />
<br />
? ? maxima = a[max_ind]<br />
<br />
? ? minima = a[min_ind]<br />
<br />
? ? if min_ind[0][0] &gt; max_ind[0][0]:<br />
<br />
? ? ? ? for i in range(0,len(minima)):<br />
<br />
? ? ? ? ? ? if maxima[i] &gt; thresh and maxima[i] &gt; thresh:<br />
<br />
? ? ? ? ? ? ? ? if minima[i] &gt; maxima[i]/2 and minima[i] &gt; maxima[i]/2:<br />
<br />
? ? ? ? ? ? ? ? ? ? minima[i] = thresh <br />
<br />
? ? a[min_ind] = minima<br />
<br />
? ? return a<br />
<br />
? ? ? ? <br />
<br />
b = raycrit(a,2.5)</span></span>[/color]<br />
<br />
<br />
<br />
<span style="color: #0a00c0;" class="mycode_color"><span style="font-size: x-small;" class="mycode_size"><span style="color: #242729;" class="mycode_color"><span style="font-size: small;" class="mycode_size"><span style="font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Liberation Sans', sans-serif;" class="mycode_font"><span style="font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Liberation Sans', sans-serif;" class="mycode_font">In the above code excerpt, I am trying to find local minima surrounded by local maxima that are more than half the height of the highest local maximum that neighbours it. And while this put into text might be confusing, I think reading the code helps understand what I'm trying to reach for. The problem arises with the fact that?<br />
<br />
minima[i] = thresh<br />
<br />
?stays unchanged even when the condition is triggered. Here the result should be [0,2,4,2,0,2,3,2.5,3,2,0] but remains [0,2,4,2,0,2,3,2,3,2,0] and I am quite confused as to why...</span></span></span></span><br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
</span></span>]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Need Help About Launcher]]></title>
			<link>https://forum.open.mp/showthread.php?tid=2016</link>
			<pubDate>Fri, 14 May 2021 22:34:36 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://forum.open.mp/member.php?action=profile&uid=3745">redex</a>]]></dc:creator>
			<guid isPermaLink="false">https://forum.open.mp/showthread.php?tid=2016</guid>
			<description><![CDATA[hi, i am trying to make a Custom Client-Side Anti Cheat launcher for sa-mp, and here is the thing:<br />
i dont have any problem with detecting the cheat files in the players folder but how can i detect players who are joining the server using my custom launcher? i see some servers doing this by only getting player name and they just need to hit a button to start the game, that mean there is no need to save something i was going to first make a login page and then if he logged in create a row in sql database to show his is using launcher but there is hell a lot ways to bypass this method , i want to do something like this sampvoice project : <a href="https://github.com/CyberMor/sampvoice" target="_blank" rel="noopener" class="mycode_url">https://github.com/CyberMor/sampvoice</a><br />
<br />
they made something to detect is player have the needed plugin and then we can for exp show them : you are using sampvoice plugin , or even there is a client side anti cheat out there that do something like this but its not opensource, how can i do this? sorry for my bad English hope u understand what i am talking about]]></description>
			<content:encoded><![CDATA[hi, i am trying to make a Custom Client-Side Anti Cheat launcher for sa-mp, and here is the thing:<br />
i dont have any problem with detecting the cheat files in the players folder but how can i detect players who are joining the server using my custom launcher? i see some servers doing this by only getting player name and they just need to hit a button to start the game, that mean there is no need to save something i was going to first make a login page and then if he logged in create a row in sql database to show his is using launcher but there is hell a lot ways to bypass this method , i want to do something like this sampvoice project : <a href="https://github.com/CyberMor/sampvoice" target="_blank" rel="noopener" class="mycode_url">https://github.com/CyberMor/sampvoice</a><br />
<br />
they made something to detect is player have the needed plugin and then we can for exp show them : you are using sampvoice plugin , or even there is a client side anti cheat out there that do something like this but its not opensource, how can i do this? sorry for my bad English hope u understand what i am talking about]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Looking for a roleplay scripter for LSRP replica.]]></title>
			<link>https://forum.open.mp/showthread.php?tid=1861</link>
			<pubDate>Mon, 12 Apr 2021 09:40:49 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://forum.open.mp/member.php?action=profile&uid=3629">gerald</a>]]></dc:creator>
			<guid isPermaLink="false">https://forum.open.mp/showthread.php?tid=1861</guid>
			<description><![CDATA[need a scripter for my LSRP Replica server, right now items in /buy is not giving playee weapon using GivePlayerValidWeapon<br />
discord.gg/dDWVHEY<br />
my discord heavyweight#0651]]></description>
			<content:encoded><![CDATA[need a scripter for my LSRP Replica server, right now items in /buy is not giving playee weapon using GivePlayerValidWeapon<br />
discord.gg/dDWVHEY<br />
my discord heavyweight#0651]]></content:encoded>
		</item>
	</channel>
</rss>