<?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 - Libraries]]></title>
		<link>https://forum.open.mp/</link>
		<description><![CDATA[open.mp forum - https://forum.open.mp]]></description>
		<pubDate>Sat, 11 Jul 2026 05:54:14 +0000</pubDate>
		<generator>MyBB</generator>
		<item>
			<title><![CDATA[SS7-AI v1.0.0]]></title>
			<link>https://forum.open.mp/showthread.php?tid=4281</link>
			<pubDate>Mon, 08 Jun 2026 15:04:38 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://forum.open.mp/member.php?action=profile&uid=8145">Saints7</a>]]></dc:creator>
			<guid isPermaLink="false">https://forum.open.mp/showthread.php?tid=4281</guid>
			<description><![CDATA[<span style="font-weight: bold;" class="mycode_b"><span style="font-size: large;" class="mycode_size">🤖 SS7-AI v1.0.0 — Zero-Plugin AI Integration for SA-MP / openmp</span></span><br />
<hr class="mycode_hr" />
<span style="font-style: italic;" class="mycode_i">LIA — Your server's virtual companion</span><br />
<br />
Bring an AI companion into your server — no plugins, no DLL, no SO files. Just drop in a PAWN include and run a Python bridge.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">LIA</span> has real personality, remembers your conversation, knows your server info, and replies naturally — not like a bot.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">Features:</span><ul class="mycode_list"><li>Zero plugin — pure PAWN include + Python bridge<br />
</li>
<li>Chat mode (<span style="font-weight: bold;" class="mycode_b">/lia</span>) and Dialog mode (<span style="font-weight: bold;" class="mycode_b">/lia dialog</span>)<br />
</li>
<li>Multi-language — auto-detects player's language<br />
</li>
<li>And more...<br />
<br />
<span style="font-weight: bold;" class="mycode_b">Screenshots:</span><br />
<br />
<div style="text-align: center;" class="mycode_align"><img src="https://i.imgur.com/7hzIMkp.png" loading="lazy"  alt="[Image: 7hzIMkp.png]" class="mycode_img" /><br />
<br />
<img src="https://i.imgur.com/lcEEDNU.png" loading="lazy"  alt="[Image: lcEEDNU.png]" class="mycode_img" /></div>
<br />
For full documentation, installation guide, and free &#36;2 API credits via Xiaomi MiMo (invite code <span style="font-weight: bold;" class="mycode_b">KURCZ8</span>) — head to the repo:<br />
<br />
<div style="text-align: center;" class="mycode_align"><a href="https://github.com/Saints7-gh/ss7-AI" target="_blank" rel="noopener" class="mycode_url"><span style="font-weight: bold;" class="mycode_b">📦 Repository</span></a>  <a href="https://github.com/Saints7-gh/ss7-AI/issues" target="_blank" rel="noopener" class="mycode_url"><span style="font-weight: bold;" class="mycode_b">🐛 Report Bug / Request Feature</span></a></div>
<br />
<hr class="mycode_hr" />
<span style="font-weight: bold;" class="mycode_b">Author:</span> Saints7<br />
<span style="font-weight: bold;" class="mycode_b">Thanks to: </span>SA-MP / openmp community ©2026<br />
<hr class="mycode_hr" /></li>
</ul>
]]></description>
			<content:encoded><![CDATA[<span style="font-weight: bold;" class="mycode_b"><span style="font-size: large;" class="mycode_size">🤖 SS7-AI v1.0.0 — Zero-Plugin AI Integration for SA-MP / openmp</span></span><br />
<hr class="mycode_hr" />
<span style="font-style: italic;" class="mycode_i">LIA — Your server's virtual companion</span><br />
<br />
Bring an AI companion into your server — no plugins, no DLL, no SO files. Just drop in a PAWN include and run a Python bridge.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">LIA</span> has real personality, remembers your conversation, knows your server info, and replies naturally — not like a bot.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">Features:</span><ul class="mycode_list"><li>Zero plugin — pure PAWN include + Python bridge<br />
</li>
<li>Chat mode (<span style="font-weight: bold;" class="mycode_b">/lia</span>) and Dialog mode (<span style="font-weight: bold;" class="mycode_b">/lia dialog</span>)<br />
</li>
<li>Multi-language — auto-detects player's language<br />
</li>
<li>And more...<br />
<br />
<span style="font-weight: bold;" class="mycode_b">Screenshots:</span><br />
<br />
<div style="text-align: center;" class="mycode_align"><img src="https://i.imgur.com/7hzIMkp.png" loading="lazy"  alt="[Image: 7hzIMkp.png]" class="mycode_img" /><br />
<br />
<img src="https://i.imgur.com/lcEEDNU.png" loading="lazy"  alt="[Image: lcEEDNU.png]" class="mycode_img" /></div>
<br />
For full documentation, installation guide, and free &#36;2 API credits via Xiaomi MiMo (invite code <span style="font-weight: bold;" class="mycode_b">KURCZ8</span>) — head to the repo:<br />
<br />
<div style="text-align: center;" class="mycode_align"><a href="https://github.com/Saints7-gh/ss7-AI" target="_blank" rel="noopener" class="mycode_url"><span style="font-weight: bold;" class="mycode_b">📦 Repository</span></a>  <a href="https://github.com/Saints7-gh/ss7-AI/issues" target="_blank" rel="noopener" class="mycode_url"><span style="font-weight: bold;" class="mycode_b">🐛 Report Bug / Request Feature</span></a></div>
<br />
<hr class="mycode_hr" />
<span style="font-weight: bold;" class="mycode_b">Author:</span> Saints7<br />
<span style="font-weight: bold;" class="mycode_b">Thanks to: </span>SA-MP / openmp community ©2026<br />
<hr class="mycode_hr" /></li>
</ul>
]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[SS7CMD v1.0.0]]></title>
			<link>https://forum.open.mp/showthread.php?tid=4276</link>
			<pubDate>Wed, 03 Jun 2026 08:41:04 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://forum.open.mp/member.php?action=profile&uid=8145">Saints7</a>]]></dc:creator>
			<guid isPermaLink="false">https://forum.open.mp/showthread.php?tid=4276</guid>
			<description><![CDATA[<span style="font-size: xx-large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b"><span style="color: #00D2FF;" class="mycode_color">⚡ SS7CMD</span> <span style="color: #BDC3C7;" class="mycode_color">v1.0.0</span><span style="color: #E67E22;" class="mycode_color">-TITAN</span></span></span><br />
<span style="font-size: small;" class="mycode_size"><span style="color: #95A5A6;" class="mycode_color">A blazing-fast command processor for SA-MP / open.mp · Zero dependencies · Modern built</span></span><br />
<br />
<span style="color: #1A2A3A;" class="mycode_color">━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━</span><br />
<br />
<span style="font-size: small;" class="mycode_size"><br />
<span style="color: #8E44AD;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">⚡ LIGHT SPEED</span></span>  <span style="color: #34495E;" class="mycode_color">|</span>  <span style="color: #E67E22;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">TITAN COMPLEXITY</span></span>  <span style="color: #34495E;" class="mycode_color">|</span>  <span style="color: #2ECC71;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">ZERO DEPS</span></span>  <span style="color: #34495E;" class="mycode_color">|</span>  <span style="color: #00D2FF;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">NEW ERA MODERN BEGINNING</span></span><br />
</span><br />
<br />
<span style="color: #1A2A3A;" class="mycode_color">━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━</span><br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b"><span style="color: #00D2FF;" class="mycode_color">▎</span> Disclaimer</span></span><br />
<br />
<span style="color: #e82a1f;" class="mycode_color"><span style="font-size: large;" class="mycode_size">This project was vibe coded using AI, all claims and numbers were also generated by AI and have no real sources to back them up. Please use at your own risk, and don't expect any of the claims to be evidence you will find with real use.</span></span><br />
<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b"><span style="color: #00D2FF;" class="mycode_color">▎</span> Why SS7CMD?</span></span><br />
<span style="color: #34495E;" class="mycode_color">The fastest command processor written in pure Pawn — no plugins, no sscanf, no compromises.</span><br />
<br />
<table border="0" cellspacing="1" cellpadding="3" class="tborder" style="width:%;">
<tr>
<th class="tcat" align="middle"><strong><span style="color: #00D2FF;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">Feature</span></span></strong></th>
<th class="tcat" align="middle"><strong><span style="color: #2ECC71;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">SS7CMD v1 (TITAN)</span></span></strong></th>
<th class="tcat" align="middle"><strong><span style="color: #95A5A6;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">Other Processors</span></span></strong></th>
</tr>
<tr>
<td class="trow1" valign="top" align="center"><span style="font-weight: bold;" class="mycode_b">Dispatch speed</span></td>
<td class="trow1" valign="top" align="center"><span style="color: #2ECC71;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">~18 µs</span> (3 params)</span></td>
<td class="trow1" valign="top" align="center"><span style="color: #95A5A6;" class="mycode_color">20–50 µs</span></td>
</tr>
<tr>
<td class="trow1" valign="top" align="center"><span style="font-weight: bold;" class="mycode_b">Permission system</span></td>
<td class="trow1" valign="top" align="center"><span style="color: #2ECC71;" class="mycode_color">✓ Bitwise group inheritance</span></td>
<td class="trow1" valign="top" align="center"><span style="color: #E74C3C;" class="mycode_color">✗ or basic only</span></td>
</tr>
<tr>
<td class="trow1" valign="top" align="center"><span style="font-weight: bold;" class="mycode_b">Alias system</span></td>
<td class="trow1" valign="top" align="center"><span style="color: #2ECC71;" class="mycode_color">✓ O(1) hash lookup</span></td>
<td class="trow1" valign="top" align="center"><span style="color: #E74C3C;" class="mycode_color">✗ or linear scan</span></td>
</tr>
<tr>
<td class="trow1" valign="top" align="center"><span style="font-weight: bold;" class="mycode_b">Cooldown &amp; antispam</span></td>
<td class="trow1" valign="top" align="center"><span style="color: #2ECC71;" class="mycode_color">✓ Built-in per-player</span></td>
<td class="trow1" valign="top" align="center"><span style="color: #95A5A6;" class="mycode_color">Manual implementation</span></td>
</tr>
<tr>
<td class="trow1" valign="top" align="center"><span style="font-weight: bold;" class="mycode_b">Typo suggestion</span></td>
<td class="trow1" valign="top" align="center"><span style="color: #2ECC71;" class="mycode_color">✓ Levenshtein distance</span></td>
<td class="trow1" valign="top" align="center"><span style="color: #E74C3C;" class="mycode_color">✗ Not available</span></td>
</tr>
<tr>
<td class="trow1" valign="top" align="center"><span style="font-weight: bold;" class="mycode_b">Parameter parser</span></td>
<td class="trow1" valign="top" align="center"><span style="color: #2ECC71;" class="mycode_color">✓ Zero-copy direct cursor</span></td>
<td class="trow1" valign="top" align="center"><span style="color: #95A5A6;" class="mycode_color">String copying</span></td>
</tr>
<tr>
<td class="trow1" valign="top" align="center"><span style="font-weight: bold;" class="mycode_b">UI framework</span></td>
<td class="trow1" valign="top" align="center"><span style="color: #2ECC71;" class="mycode_color">✓ Complete built-in UI</span></td>
<td class="trow1" valign="top" align="center"><span style="color: #E74C3C;" class="mycode_color">✗ Not available</span></td>
</tr>
<tr>
<td class="trow1" valign="top" align="center"><span style="font-weight: bold;" class="mycode_b">Auto-registration</span></td>
<td class="trow1" valign="top" align="center"><span style="color: #2ECC71;" class="mycode_color">✓ ss7cmdlist.txt</span></td>
<td class="trow1" valign="top" align="center"><span style="color: #95A5A6;" class="mycode_color">Manual OnGameModeInit</span></td>
</tr>
<tr>
<td class="trow1" valign="top" align="center"><span style="font-weight: bold;" class="mycode_b">Dependencies</span></td>
<td class="trow1" valign="top" align="center"><span style="color: #2ECC71;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">ZERO — Pure Pawn</span></span></td>
<td class="trow1" valign="top" align="center"><span style="color: #E74C3C;" class="mycode_color">Often requires sscanf</span></td>
</tr>
</table>
<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b"><span style="color: #00D2FF;" class="mycode_color">▎</span> Installation</span></span><br />
<br />
<ol type="1" class="mycode_list"><li>Download the latest release from GitHub.<br />
</li>
<li>Copy the <span style="color: #00D2FF;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">include/</span></span> folder into your <span style="color: #F1C40F;" class="mycode_color">pawno/include/</span> directory.<br />
</li>
<li>Create an empty <span style="color: #00D2FF;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">ss7cmdlist.txt</span></span> inside your <span style="color: #F1C40F;" class="mycode_color">scriptfiles/</span> directory.<br />
</li>
<li>Add to the top of your gamemode file:<br />
</li>
</ol>
<br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>#include &lt;ss7cmd&gt;</code></div></div><br />
<span style="color: #2ECC71;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">✓</span></span> <span style="font-style: italic;" class="mycode_i"><span style="color: #95A5A6;" class="mycode_color">That's it. No plugin. No extra configuration. No recompile required for command config changes.</span></span><br />
<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b"><span style="color: #00D2FF;" class="mycode_color">▎</span> Quick Start</span></span><br />
<br />
<span style="color: #95A5A6;" class="mycode_color"><span style="font-style: italic;" class="mycode_i">Three patterns to cover 99% of your use cases:</span></span><br />
<br />
<span style="font-weight: bold;" class="mycode_b"><span style="color: #F1C40F;" class="mycode_color">① No parameters</span></span><br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>cmd:hello(playerid)<br />
{<br />
    ss7_SendSuccess(playerid, "Hello, world!");<br />
    return CMD_OK;<br />
}</code></div></div><br />
<span style="font-weight: bold;" class="mycode_b"><span style="color: #F1C40F;" class="mycode_color">② With parameters</span></span><br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>CMD:give(playerid, params[])<br />
{<br />
    p_s;<br />
    new target, amount;<br />
    if (!pi_ex(params, target, amount))<br />
        return ss7_SendSyntax(playerid, "/give [player] [amount]");<br />
<br />
    GivePlayerMoney(target, amount);<br />
    return CMD_OK;<br />
}</code></div></div><br />
<span style="font-weight: bold;" class="mycode_b"><span style="color: #F1C40F;" class="mycode_color">③ Initialization</span></span><br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>public OnGameModeInit()<br />
{<br />
    ss7cmdlist();  // Load all command configs from ss7cmdlist.txt<br />
    return 1;<br />
}</code></div></div><br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b"><span style="color: #00D2FF;" class="mycode_color">▎</span> ss7cmdlist.txt</span></span><br />
<span style="color: #95A5A6;" class="mycode_color"><span style="font-style: italic;" class="mycode_i">Configure admin levels and cooldowns on the fly — zero recompile needed.</span></span><br />
<br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code># SS7CMD Configuration File<br />
# ─────────────────────────────────────────────<br />
# Format:  command_name  level  cooldown_ms<br />
# ─────────────────────────────────────────────<br />
# level        = minimum admin level (0 = all players)<br />
# cooldown_ms  = per-player cooldown in ms  (0 = none)<br />
# ─────────────────────────────────────────────<br />
<br />
hello          0        0<br />
heal          0        5000<br />
vipheal        10      10000<br />
kick          100      0<br />
ban            100      0<br />
shutdown      255      0</code></div></div><br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b"><span style="color: #00D2FF;" class="mycode_color">▎</span> Benchmark</span></span><br />
<span style="color: #95A5A6;" class="mycode_color"><span style="font-style: italic;" class="mycode_i">Heavy benchmark test · 100,000 iterations · Emulated Android environment · Single-threaded</span></span><br />
<br />
<table border="0" cellspacing="1" cellpadding="3" class="tborder" style="width:%;">
<tr>
<th class="tcat" align="middle"><strong><span style="color: #00D2FF;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">Operation</span></span></strong></th>
<th class="tcat" align="middle"><strong><span style="color: #00D2FF;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">µs / iter</span></span></strong></th>
<th class="tcat" align="middle"><strong><span style="color: #00D2FF;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">Method</span></span></strong></th>
</tr>
<tr>
<td class="trow1" valign="top" align="center">Permission check</td>
<td class="trow1" valign="top" align="center"><span style="color: #2ECC71;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">~ 1.15 µs</span></span></td>
<td class="trow1" valign="top" align="center"><span style="color: #95A5A6;" class="mycode_color">Bitwise O(1)</span></td>
</tr>
<tr>
<td class="trow1" valign="top" align="center">String hash</td>
<td class="trow1" valign="top" align="center"><span style="color: #2ECC71;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">~ 3.91 µs</span></span></td>
<td class="trow1" valign="top" align="center"><span style="color: #95A5A6;" class="mycode_color">FNV-1a</span></td>
</tr>
<tr>
<td class="trow1" valign="top" align="center">Command lookup</td>
<td class="trow1" valign="top" align="center"><span style="color: #2ECC71;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">~ 8.35 µs</span></span></td>
<td class="trow1" valign="top" align="center"><span style="color: #95A5A6;" class="mycode_color">Hash table</span></td>
</tr>
<tr>
<td class="trow1" valign="top" align="center">Parameter parsing</td>
<td class="trow1" valign="top" align="center"><span style="color: #2ECC71;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">~ 13.43 µs</span></span></td>
<td class="trow1" valign="top" align="center"><span style="color: #95A5A6;" class="mycode_color">Zero-copy cursor</span></td>
</tr>
<tr>
<td class="trow1" valign="top" align="center"><span style="font-weight: bold;" class="mycode_b">Full dispatch (3 params)</span></td>
<td class="trow1" valign="top" align="center"><span style="color: #2ECC71;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">~ 25.50 µs</span></span></td>
<td class="trow1" valign="top" align="center"><span style="color: #95A5A6;" class="mycode_color">End-to-end</span></td>
</tr>
</table>
<br />
<div style="text-align: center;" class="mycode_align"><span style="color: #95A5A6;" class="mycode_color"><span style="font-style: italic;" class="mycode_i">Consistently faster than all major SA-MP command processors on equivalent hardware.</span></span></div>
<br />
<br />
<br />
<span style="color: #1A2A3A;" class="mycode_color">━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━</span><br />
<br />
<span style="font-size: medium;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">🔗 Links</span></span><br />
<br />
<a href="https://github.com/Saints7-gh/ss7cmd" target="_blank" rel="noopener" class="mycode_url"><span style="color: #00D2FF;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">📁 GitHub Repository</span></span></a>  <span style="color: #34495E;" class="mycode_color">·</span>  <a href="https://github.com/Saints7-gh/ss7cmd/releases" target="_blank" rel="noopener" class="mycode_url"><span style="color: #2ECC71;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">⬇️ Download Latest</span></span></a>  <span style="color: #34495E;" class="mycode_color">·</span>  <a href="https://github.com/Saints7-gh/ss7cmd/issues" target="_blank" rel="noopener" class="mycode_url"><span style="color: #E74C3C;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">🐛 Report Issues</span></span></a><br />
<br />
<span style="font-size: small;" class="mycode_size"><span style="color: #95A5A6;" class="mycode_color">Released under the <span style="font-weight: bold;" class="mycode_b">MIT License</span> — free for commercial and personal use.</span></span><br />
<span style="font-size: small;" class="mycode_size"><span style="color: #34495E;" class="mycode_color">Made with ⚡ for the open.mp / SA-MP community</span></span><br />
<br />
- Thanks &amp; credit goes to AI for module coding vibe style...]]></description>
			<content:encoded><![CDATA[<span style="font-size: xx-large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b"><span style="color: #00D2FF;" class="mycode_color">⚡ SS7CMD</span> <span style="color: #BDC3C7;" class="mycode_color">v1.0.0</span><span style="color: #E67E22;" class="mycode_color">-TITAN</span></span></span><br />
<span style="font-size: small;" class="mycode_size"><span style="color: #95A5A6;" class="mycode_color">A blazing-fast command processor for SA-MP / open.mp · Zero dependencies · Modern built</span></span><br />
<br />
<span style="color: #1A2A3A;" class="mycode_color">━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━</span><br />
<br />
<span style="font-size: small;" class="mycode_size"><br />
<span style="color: #8E44AD;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">⚡ LIGHT SPEED</span></span>  <span style="color: #34495E;" class="mycode_color">|</span>  <span style="color: #E67E22;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">TITAN COMPLEXITY</span></span>  <span style="color: #34495E;" class="mycode_color">|</span>  <span style="color: #2ECC71;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">ZERO DEPS</span></span>  <span style="color: #34495E;" class="mycode_color">|</span>  <span style="color: #00D2FF;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">NEW ERA MODERN BEGINNING</span></span><br />
</span><br />
<br />
<span style="color: #1A2A3A;" class="mycode_color">━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━</span><br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b"><span style="color: #00D2FF;" class="mycode_color">▎</span> Disclaimer</span></span><br />
<br />
<span style="color: #e82a1f;" class="mycode_color"><span style="font-size: large;" class="mycode_size">This project was vibe coded using AI, all claims and numbers were also generated by AI and have no real sources to back them up. Please use at your own risk, and don't expect any of the claims to be evidence you will find with real use.</span></span><br />
<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b"><span style="color: #00D2FF;" class="mycode_color">▎</span> Why SS7CMD?</span></span><br />
<span style="color: #34495E;" class="mycode_color">The fastest command processor written in pure Pawn — no plugins, no sscanf, no compromises.</span><br />
<br />
<table border="0" cellspacing="1" cellpadding="3" class="tborder" style="width:%;">
<tr>
<th class="tcat" align="middle"><strong><span style="color: #00D2FF;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">Feature</span></span></strong></th>
<th class="tcat" align="middle"><strong><span style="color: #2ECC71;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">SS7CMD v1 (TITAN)</span></span></strong></th>
<th class="tcat" align="middle"><strong><span style="color: #95A5A6;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">Other Processors</span></span></strong></th>
</tr>
<tr>
<td class="trow1" valign="top" align="center"><span style="font-weight: bold;" class="mycode_b">Dispatch speed</span></td>
<td class="trow1" valign="top" align="center"><span style="color: #2ECC71;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">~18 µs</span> (3 params)</span></td>
<td class="trow1" valign="top" align="center"><span style="color: #95A5A6;" class="mycode_color">20–50 µs</span></td>
</tr>
<tr>
<td class="trow1" valign="top" align="center"><span style="font-weight: bold;" class="mycode_b">Permission system</span></td>
<td class="trow1" valign="top" align="center"><span style="color: #2ECC71;" class="mycode_color">✓ Bitwise group inheritance</span></td>
<td class="trow1" valign="top" align="center"><span style="color: #E74C3C;" class="mycode_color">✗ or basic only</span></td>
</tr>
<tr>
<td class="trow1" valign="top" align="center"><span style="font-weight: bold;" class="mycode_b">Alias system</span></td>
<td class="trow1" valign="top" align="center"><span style="color: #2ECC71;" class="mycode_color">✓ O(1) hash lookup</span></td>
<td class="trow1" valign="top" align="center"><span style="color: #E74C3C;" class="mycode_color">✗ or linear scan</span></td>
</tr>
<tr>
<td class="trow1" valign="top" align="center"><span style="font-weight: bold;" class="mycode_b">Cooldown &amp; antispam</span></td>
<td class="trow1" valign="top" align="center"><span style="color: #2ECC71;" class="mycode_color">✓ Built-in per-player</span></td>
<td class="trow1" valign="top" align="center"><span style="color: #95A5A6;" class="mycode_color">Manual implementation</span></td>
</tr>
<tr>
<td class="trow1" valign="top" align="center"><span style="font-weight: bold;" class="mycode_b">Typo suggestion</span></td>
<td class="trow1" valign="top" align="center"><span style="color: #2ECC71;" class="mycode_color">✓ Levenshtein distance</span></td>
<td class="trow1" valign="top" align="center"><span style="color: #E74C3C;" class="mycode_color">✗ Not available</span></td>
</tr>
<tr>
<td class="trow1" valign="top" align="center"><span style="font-weight: bold;" class="mycode_b">Parameter parser</span></td>
<td class="trow1" valign="top" align="center"><span style="color: #2ECC71;" class="mycode_color">✓ Zero-copy direct cursor</span></td>
<td class="trow1" valign="top" align="center"><span style="color: #95A5A6;" class="mycode_color">String copying</span></td>
</tr>
<tr>
<td class="trow1" valign="top" align="center"><span style="font-weight: bold;" class="mycode_b">UI framework</span></td>
<td class="trow1" valign="top" align="center"><span style="color: #2ECC71;" class="mycode_color">✓ Complete built-in UI</span></td>
<td class="trow1" valign="top" align="center"><span style="color: #E74C3C;" class="mycode_color">✗ Not available</span></td>
</tr>
<tr>
<td class="trow1" valign="top" align="center"><span style="font-weight: bold;" class="mycode_b">Auto-registration</span></td>
<td class="trow1" valign="top" align="center"><span style="color: #2ECC71;" class="mycode_color">✓ ss7cmdlist.txt</span></td>
<td class="trow1" valign="top" align="center"><span style="color: #95A5A6;" class="mycode_color">Manual OnGameModeInit</span></td>
</tr>
<tr>
<td class="trow1" valign="top" align="center"><span style="font-weight: bold;" class="mycode_b">Dependencies</span></td>
<td class="trow1" valign="top" align="center"><span style="color: #2ECC71;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">ZERO — Pure Pawn</span></span></td>
<td class="trow1" valign="top" align="center"><span style="color: #E74C3C;" class="mycode_color">Often requires sscanf</span></td>
</tr>
</table>
<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b"><span style="color: #00D2FF;" class="mycode_color">▎</span> Installation</span></span><br />
<br />
<ol type="1" class="mycode_list"><li>Download the latest release from GitHub.<br />
</li>
<li>Copy the <span style="color: #00D2FF;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">include/</span></span> folder into your <span style="color: #F1C40F;" class="mycode_color">pawno/include/</span> directory.<br />
</li>
<li>Create an empty <span style="color: #00D2FF;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">ss7cmdlist.txt</span></span> inside your <span style="color: #F1C40F;" class="mycode_color">scriptfiles/</span> directory.<br />
</li>
<li>Add to the top of your gamemode file:<br />
</li>
</ol>
<br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>#include &lt;ss7cmd&gt;</code></div></div><br />
<span style="color: #2ECC71;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">✓</span></span> <span style="font-style: italic;" class="mycode_i"><span style="color: #95A5A6;" class="mycode_color">That's it. No plugin. No extra configuration. No recompile required for command config changes.</span></span><br />
<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b"><span style="color: #00D2FF;" class="mycode_color">▎</span> Quick Start</span></span><br />
<br />
<span style="color: #95A5A6;" class="mycode_color"><span style="font-style: italic;" class="mycode_i">Three patterns to cover 99% of your use cases:</span></span><br />
<br />
<span style="font-weight: bold;" class="mycode_b"><span style="color: #F1C40F;" class="mycode_color">① No parameters</span></span><br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>cmd:hello(playerid)<br />
{<br />
    ss7_SendSuccess(playerid, "Hello, world!");<br />
    return CMD_OK;<br />
}</code></div></div><br />
<span style="font-weight: bold;" class="mycode_b"><span style="color: #F1C40F;" class="mycode_color">② With parameters</span></span><br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>CMD:give(playerid, params[])<br />
{<br />
    p_s;<br />
    new target, amount;<br />
    if (!pi_ex(params, target, amount))<br />
        return ss7_SendSyntax(playerid, "/give [player] [amount]");<br />
<br />
    GivePlayerMoney(target, amount);<br />
    return CMD_OK;<br />
}</code></div></div><br />
<span style="font-weight: bold;" class="mycode_b"><span style="color: #F1C40F;" class="mycode_color">③ Initialization</span></span><br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>public OnGameModeInit()<br />
{<br />
    ss7cmdlist();  // Load all command configs from ss7cmdlist.txt<br />
    return 1;<br />
}</code></div></div><br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b"><span style="color: #00D2FF;" class="mycode_color">▎</span> ss7cmdlist.txt</span></span><br />
<span style="color: #95A5A6;" class="mycode_color"><span style="font-style: italic;" class="mycode_i">Configure admin levels and cooldowns on the fly — zero recompile needed.</span></span><br />
<br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code># SS7CMD Configuration File<br />
# ─────────────────────────────────────────────<br />
# Format:  command_name  level  cooldown_ms<br />
# ─────────────────────────────────────────────<br />
# level        = minimum admin level (0 = all players)<br />
# cooldown_ms  = per-player cooldown in ms  (0 = none)<br />
# ─────────────────────────────────────────────<br />
<br />
hello          0        0<br />
heal          0        5000<br />
vipheal        10      10000<br />
kick          100      0<br />
ban            100      0<br />
shutdown      255      0</code></div></div><br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b"><span style="color: #00D2FF;" class="mycode_color">▎</span> Benchmark</span></span><br />
<span style="color: #95A5A6;" class="mycode_color"><span style="font-style: italic;" class="mycode_i">Heavy benchmark test · 100,000 iterations · Emulated Android environment · Single-threaded</span></span><br />
<br />
<table border="0" cellspacing="1" cellpadding="3" class="tborder" style="width:%;">
<tr>
<th class="tcat" align="middle"><strong><span style="color: #00D2FF;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">Operation</span></span></strong></th>
<th class="tcat" align="middle"><strong><span style="color: #00D2FF;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">µs / iter</span></span></strong></th>
<th class="tcat" align="middle"><strong><span style="color: #00D2FF;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">Method</span></span></strong></th>
</tr>
<tr>
<td class="trow1" valign="top" align="center">Permission check</td>
<td class="trow1" valign="top" align="center"><span style="color: #2ECC71;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">~ 1.15 µs</span></span></td>
<td class="trow1" valign="top" align="center"><span style="color: #95A5A6;" class="mycode_color">Bitwise O(1)</span></td>
</tr>
<tr>
<td class="trow1" valign="top" align="center">String hash</td>
<td class="trow1" valign="top" align="center"><span style="color: #2ECC71;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">~ 3.91 µs</span></span></td>
<td class="trow1" valign="top" align="center"><span style="color: #95A5A6;" class="mycode_color">FNV-1a</span></td>
</tr>
<tr>
<td class="trow1" valign="top" align="center">Command lookup</td>
<td class="trow1" valign="top" align="center"><span style="color: #2ECC71;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">~ 8.35 µs</span></span></td>
<td class="trow1" valign="top" align="center"><span style="color: #95A5A6;" class="mycode_color">Hash table</span></td>
</tr>
<tr>
<td class="trow1" valign="top" align="center">Parameter parsing</td>
<td class="trow1" valign="top" align="center"><span style="color: #2ECC71;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">~ 13.43 µs</span></span></td>
<td class="trow1" valign="top" align="center"><span style="color: #95A5A6;" class="mycode_color">Zero-copy cursor</span></td>
</tr>
<tr>
<td class="trow1" valign="top" align="center"><span style="font-weight: bold;" class="mycode_b">Full dispatch (3 params)</span></td>
<td class="trow1" valign="top" align="center"><span style="color: #2ECC71;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">~ 25.50 µs</span></span></td>
<td class="trow1" valign="top" align="center"><span style="color: #95A5A6;" class="mycode_color">End-to-end</span></td>
</tr>
</table>
<br />
<div style="text-align: center;" class="mycode_align"><span style="color: #95A5A6;" class="mycode_color"><span style="font-style: italic;" class="mycode_i">Consistently faster than all major SA-MP command processors on equivalent hardware.</span></span></div>
<br />
<br />
<br />
<span style="color: #1A2A3A;" class="mycode_color">━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━</span><br />
<br />
<span style="font-size: medium;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">🔗 Links</span></span><br />
<br />
<a href="https://github.com/Saints7-gh/ss7cmd" target="_blank" rel="noopener" class="mycode_url"><span style="color: #00D2FF;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">📁 GitHub Repository</span></span></a>  <span style="color: #34495E;" class="mycode_color">·</span>  <a href="https://github.com/Saints7-gh/ss7cmd/releases" target="_blank" rel="noopener" class="mycode_url"><span style="color: #2ECC71;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">⬇️ Download Latest</span></span></a>  <span style="color: #34495E;" class="mycode_color">·</span>  <a href="https://github.com/Saints7-gh/ss7cmd/issues" target="_blank" rel="noopener" class="mycode_url"><span style="color: #E74C3C;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b">🐛 Report Issues</span></span></a><br />
<br />
<span style="font-size: small;" class="mycode_size"><span style="color: #95A5A6;" class="mycode_color">Released under the <span style="font-weight: bold;" class="mycode_b">MIT License</span> — free for commercial and personal use.</span></span><br />
<span style="font-size: small;" class="mycode_size"><span style="color: #34495E;" class="mycode_color">Made with ⚡ for the open.mp / SA-MP community</span></span><br />
<br />
- Thanks &amp; credit goes to AI for module coding vibe style...]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[rust-samp 3.0.0 Released]]></title>
			<link>https://forum.open.mp/showthread.php?tid=4269</link>
			<pubDate>Sat, 30 May 2026 17:34:23 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://forum.open.mp/member.php?action=profile&uid=7983">NullSablex</a>]]></dc:creator>
			<guid isPermaLink="false">https://forum.open.mp/showthread.php?tid=4269</guid>
			<description><![CDATA[<span style="font-size: x-large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">rust-samp 3.0.0 Released</span></span><br />
<br />
<span style="font-style: italic;" class="mycode_i">Write once in Rust, run as a SA-MP plugin or as a native Open Multiplayer component using a single binary.</span><br />
<br />
<a href="https://github.com/NullSablex/rust-samp" target="_blank" rel="noopener" class="mycode_url">GitHub Repository</a><br />
|<br />
<a href="https://rust-samp.nullsablex.com" target="_blank" rel="noopener" class="mycode_url">Documentation</a><br />
<br />
<br />
<span style="font-weight: bold;" class="mycode_b">rust-samp 3.0.0</span> is now available.<br />
<br />
This release represents the biggest milestone since the fork from the original samp-rs project.<br />
<br />
What started as a SA-MP SDK has evolved into a complete Rust development platform focused on safety, stability, maintainability and native support for both SA-MP and Open Multiplayer.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Highlights</span></span><br />
<ul class="mycode_list"><li>Native Open Multiplayer component support<br />
</li>
<li>Universal binary support<br />
</li>
<li>Pure Rust implementation<br />
</li>
<li>No C or C++ dependencies<br />
</li>
<li>Unified tick handling<br />
</li>
<li>Automatic component metadata generation<br />
</li>
<li>Integrated logging support<br />
</li>
<li>Improved safety and reliability<br />
</li>
<li>Modern documentation and examples<br />
</li>
</ul>
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Native Open Multiplayer Support</span></span><br />
<br />
The Open Multiplayer component ABI was fully analyzed and implemented in pure Rust.<br />
<br />
No Open Multiplayer C/C++ implementation is required.<br />
<br />
No C/C++ bindings are required.<br />
<br />
No runtime dependency on Open Multiplayer is required.<br />
<br />
Plugins can run as native Open Multiplayer components while maintaining a completely Rust-based codebase.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Universal Binary Support</span></span><br />
<br />
A single build can operate as:<br />
<ul class="mycode_list"><li>A traditional SA-MP plugin<br />
</li>
<li>A native Open Multiplayer component<br />
</li>
</ul>
<br />
No separate builds are necessary.<br />
<br />
Compile once and deploy wherever needed.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Unified Tick Handling</span></span><br />
<br />
SA-MP and Open Multiplayer use different tick mechanisms.<br />
<br />
rust-samp 3.0.0 introduces a significantly improved abstraction layer that handles these differences internally and provides a predictable development experience regardless of runtime environment.<br />
<br />
Developers can focus on plugin logic instead of platform-specific behavior.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Automatic Component Metadata</span></span><br />
<br />
Traditional Open Multiplayer development requires manually generating and maintaining component identifiers.<br />
<br />
rust-samp automates this process and integrates naturally with Cargo metadata while still allowing manual customization when necessary.<br />
<br />
Less boilerplate.<br />
<br />
Less duplication.<br />
<br />
Fewer mistakes.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Integrated Logging</span></span><br />
<br />
The SDK provides built-in logging support.<br />
<br />
Developers can immediately use logging without adding extra logging crates or implementing platform-specific integrations.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Safety and Stability</span></span><br />
<br />
rust-samp includes extensive improvements focused on:<br />
<ul class="mycode_list"><li>Memory safety<br />
</li>
<li>Pointer validation<br />
</li>
<li>Bounds checking<br />
</li>
<li>Panic handling<br />
</li>
<li>Safer runtime internals<br />
</li>
<li>Cross-platform consistency<br />
</li>
<li>Extensive testing<br />
</li>
</ul>
<br />
The SDK is designed to provide a reliable and predictable foundation for production-grade plugins.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Used by Real Projects</span></span><br />
<br />
The SDK already powers multiple plugins:<br />
<ul class="mycode_list"><li><a href="https://github.com/NullSablex/mysql_samp" target="_blank" rel="noopener" class="mycode_url">mysql_samp</a><br />
</li>
<li><a href="https://github.com/NullSablex/env-samp" target="_blank" rel="noopener" class="mycode_url">env-samp</a><br />
</li>
<li><a href="https://github.com/NullSablex/https_samp" target="_blank" rel="noopener" class="mycode_url">https-samp</a><br />
</li>
</ul>
<br />
These projects already benefit from native Open Multiplayer support and the universal binary architecture introduced in v3.0.0.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Example</span></span><br />
<br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>use samp::prelude::*;<br />
use samp::{initialize_plugin, SampPlugin};<br />
<br />
#[derive(SampPlugin, Default)]<br />
struct MyPlugin;<br />
<br />
initialize_plugin!(<br />
    type: MyPlugin,<br />
    natives: [],<br />
);</code></div></div><br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Documentation</span></span><br />
<br />
<a href="https://rust-samp.nullsablex.com" target="_blank" rel="noopener" class="mycode_url">https://rust-samp.nullsablex.com</a><br />
<br />
Recommended reading:<br />
<br />
<a href="https://rust-samp.nullsablex.com/plugin-anatomy" target="_blank" rel="noopener" class="mycode_url">Plugin Anatomy</a><br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Repository</span></span><br />
<br />
<a href="https://github.com/NullSablex/rust-samp" target="_blank" rel="noopener" class="mycode_url">https://github.com/NullSablex/rust-samp</a><br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Português (Brasil)</span></span><br />
<br />
<span style="font-weight: bold;" class="mycode_b">rust-samp 3.0.0</span> já está disponível.<br />
<br />
Esta é a maior atualização desde o fork do projeto original samp-rs.<br />
<br />
O que começou como um SDK para SA-MP evoluiu para uma plataforma completa de desenvolvimento em Rust, focada em segurança, estabilidade, manutenção de longo prazo e suporte nativo para SA-MP e Open Multiplayer.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Principais Destaques</span></span><br />
<ul class="mycode_list"><li>Suporte nativo a componentes Open Multiplayer<br />
</li>
<li>Binário universal<br />
</li>
<li>Implementação 100% Rust<br />
</li>
<li>Sem dependências de C ou C++<br />
</li>
<li>Sistema de ticks unificado<br />
</li>
<li>Geração automática de metadados<br />
</li>
<li>Sistema de logs integrado<br />
</li>
<li>Maior segurança e confiabilidade<br />
</li>
<li>Documentação moderna e exemplos completos<br />
</li>
</ul>
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Suporte Nativo ao Open Multiplayer</span></span><br />
<br />
A ABI de componentes do Open Multiplayer foi totalmente analisada e implementada em Rust puro.<br />
<br />
Não há dependência da implementação oficial em C/C++.<br />
<br />
Não há dependência de bindings C/C++.<br />
<br />
Não há dependência de runtime do Open Multiplayer.<br />
<br />
Os plugins podem funcionar como componentes nativos do Open Multiplayer mantendo uma base de código totalmente em Rust.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Binário Universal</span></span><br />
<br />
Um único build pode funcionar como:<br />
<ul class="mycode_list"><li>Plugin tradicional do SA-MP<br />
</li>
<li>Componente nativo do Open Multiplayer<br />
</li>
</ul>
<br />
Sem necessidade de compilações separadas.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Sistema de Tick Unificado</span></span><br />
<br />
SA-MP e Open Multiplayer utilizam mecanismos diferentes para execução de ticks.<br />
<br />
A versão 3.0.0 introduz uma camada de abstração significativamente mais robusta que resolve essas diferenças internamente e fornece uma experiência muito mais previsível para o desenvolvedor.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Metadados Automáticos</span></span><br />
<br />
No fluxo tradicional do Open Multiplayer é necessário gerar e manter identificadores manualmente.<br />
<br />
O rust-samp automatiza esse processo e integra essas informações ao Cargo, reduzindo código repetitivo e eliminando erros comuns.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Sistema de Logs Integrado</span></span><br />
<br />
O SDK fornece suporte nativo para logs.<br />
<br />
Não é necessário adicionar bibliotecas extras ou implementar integrações específicas para cada plataforma.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Segurança e Estabilidade</span></span><br />
<br />
O rust-samp inclui diversas melhorias focadas em:<br />
<ul class="mycode_list"><li>Segurança de memória<br />
</li>
<li>Validação de ponteiros<br />
</li>
<li>Verificação de limites<br />
</li>
<li>Tratamento de panic<br />
</li>
<li>Internos mais seguros<br />
</li>
<li>Consistência entre plataformas<br />
</li>
<li>Ampla cobertura de testes<br />
</li>
</ul>
<br />
O objetivo é fornecer uma base muito mais confiável, previsível e estável para plugins em produção.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Projetos Utilizando o SDK</span></span><br />
<ul class="mycode_list"><li><a href="https://github.com/NullSablex/mysql_samp" target="_blank" rel="noopener" class="mycode_url">mysql_samp</a><br />
</li>
<li><a href="https://github.com/NullSablex/env-samp" target="_blank" rel="noopener" class="mycode_url">env-samp</a><br />
</li>
<li><a href="https://github.com/NullSablex/https_samp" target="_blank" rel="noopener" class="mycode_url">https-samp</a><br />
</li>
</ul>
<br />
<a href="https://rust-samp.nullsablex.com" target="_blank" rel="noopener" class="mycode_url">Documentação</a><br />
<br />
<a href="https://rust-samp.nullsablex.com/plugin-anatomy" target="_blank" rel="noopener" class="mycode_url">Plugin Anatomy</a><br />
<br />
<a href="https://github.com/NullSablex/rust-samp" target="_blank" rel="noopener" class="mycode_url">GitHub Repository</a>]]></description>
			<content:encoded><![CDATA[<span style="font-size: x-large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">rust-samp 3.0.0 Released</span></span><br />
<br />
<span style="font-style: italic;" class="mycode_i">Write once in Rust, run as a SA-MP plugin or as a native Open Multiplayer component using a single binary.</span><br />
<br />
<a href="https://github.com/NullSablex/rust-samp" target="_blank" rel="noopener" class="mycode_url">GitHub Repository</a><br />
|<br />
<a href="https://rust-samp.nullsablex.com" target="_blank" rel="noopener" class="mycode_url">Documentation</a><br />
<br />
<br />
<span style="font-weight: bold;" class="mycode_b">rust-samp 3.0.0</span> is now available.<br />
<br />
This release represents the biggest milestone since the fork from the original samp-rs project.<br />
<br />
What started as a SA-MP SDK has evolved into a complete Rust development platform focused on safety, stability, maintainability and native support for both SA-MP and Open Multiplayer.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Highlights</span></span><br />
<ul class="mycode_list"><li>Native Open Multiplayer component support<br />
</li>
<li>Universal binary support<br />
</li>
<li>Pure Rust implementation<br />
</li>
<li>No C or C++ dependencies<br />
</li>
<li>Unified tick handling<br />
</li>
<li>Automatic component metadata generation<br />
</li>
<li>Integrated logging support<br />
</li>
<li>Improved safety and reliability<br />
</li>
<li>Modern documentation and examples<br />
</li>
</ul>
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Native Open Multiplayer Support</span></span><br />
<br />
The Open Multiplayer component ABI was fully analyzed and implemented in pure Rust.<br />
<br />
No Open Multiplayer C/C++ implementation is required.<br />
<br />
No C/C++ bindings are required.<br />
<br />
No runtime dependency on Open Multiplayer is required.<br />
<br />
Plugins can run as native Open Multiplayer components while maintaining a completely Rust-based codebase.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Universal Binary Support</span></span><br />
<br />
A single build can operate as:<br />
<ul class="mycode_list"><li>A traditional SA-MP plugin<br />
</li>
<li>A native Open Multiplayer component<br />
</li>
</ul>
<br />
No separate builds are necessary.<br />
<br />
Compile once and deploy wherever needed.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Unified Tick Handling</span></span><br />
<br />
SA-MP and Open Multiplayer use different tick mechanisms.<br />
<br />
rust-samp 3.0.0 introduces a significantly improved abstraction layer that handles these differences internally and provides a predictable development experience regardless of runtime environment.<br />
<br />
Developers can focus on plugin logic instead of platform-specific behavior.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Automatic Component Metadata</span></span><br />
<br />
Traditional Open Multiplayer development requires manually generating and maintaining component identifiers.<br />
<br />
rust-samp automates this process and integrates naturally with Cargo metadata while still allowing manual customization when necessary.<br />
<br />
Less boilerplate.<br />
<br />
Less duplication.<br />
<br />
Fewer mistakes.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Integrated Logging</span></span><br />
<br />
The SDK provides built-in logging support.<br />
<br />
Developers can immediately use logging without adding extra logging crates or implementing platform-specific integrations.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Safety and Stability</span></span><br />
<br />
rust-samp includes extensive improvements focused on:<br />
<ul class="mycode_list"><li>Memory safety<br />
</li>
<li>Pointer validation<br />
</li>
<li>Bounds checking<br />
</li>
<li>Panic handling<br />
</li>
<li>Safer runtime internals<br />
</li>
<li>Cross-platform consistency<br />
</li>
<li>Extensive testing<br />
</li>
</ul>
<br />
The SDK is designed to provide a reliable and predictable foundation for production-grade plugins.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Used by Real Projects</span></span><br />
<br />
The SDK already powers multiple plugins:<br />
<ul class="mycode_list"><li><a href="https://github.com/NullSablex/mysql_samp" target="_blank" rel="noopener" class="mycode_url">mysql_samp</a><br />
</li>
<li><a href="https://github.com/NullSablex/env-samp" target="_blank" rel="noopener" class="mycode_url">env-samp</a><br />
</li>
<li><a href="https://github.com/NullSablex/https_samp" target="_blank" rel="noopener" class="mycode_url">https-samp</a><br />
</li>
</ul>
<br />
These projects already benefit from native Open Multiplayer support and the universal binary architecture introduced in v3.0.0.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Example</span></span><br />
<br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>use samp::prelude::*;<br />
use samp::{initialize_plugin, SampPlugin};<br />
<br />
#[derive(SampPlugin, Default)]<br />
struct MyPlugin;<br />
<br />
initialize_plugin!(<br />
    type: MyPlugin,<br />
    natives: [],<br />
);</code></div></div><br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Documentation</span></span><br />
<br />
<a href="https://rust-samp.nullsablex.com" target="_blank" rel="noopener" class="mycode_url">https://rust-samp.nullsablex.com</a><br />
<br />
Recommended reading:<br />
<br />
<a href="https://rust-samp.nullsablex.com/plugin-anatomy" target="_blank" rel="noopener" class="mycode_url">Plugin Anatomy</a><br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Repository</span></span><br />
<br />
<a href="https://github.com/NullSablex/rust-samp" target="_blank" rel="noopener" class="mycode_url">https://github.com/NullSablex/rust-samp</a><br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Português (Brasil)</span></span><br />
<br />
<span style="font-weight: bold;" class="mycode_b">rust-samp 3.0.0</span> já está disponível.<br />
<br />
Esta é a maior atualização desde o fork do projeto original samp-rs.<br />
<br />
O que começou como um SDK para SA-MP evoluiu para uma plataforma completa de desenvolvimento em Rust, focada em segurança, estabilidade, manutenção de longo prazo e suporte nativo para SA-MP e Open Multiplayer.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Principais Destaques</span></span><br />
<ul class="mycode_list"><li>Suporte nativo a componentes Open Multiplayer<br />
</li>
<li>Binário universal<br />
</li>
<li>Implementação 100% Rust<br />
</li>
<li>Sem dependências de C ou C++<br />
</li>
<li>Sistema de ticks unificado<br />
</li>
<li>Geração automática de metadados<br />
</li>
<li>Sistema de logs integrado<br />
</li>
<li>Maior segurança e confiabilidade<br />
</li>
<li>Documentação moderna e exemplos completos<br />
</li>
</ul>
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Suporte Nativo ao Open Multiplayer</span></span><br />
<br />
A ABI de componentes do Open Multiplayer foi totalmente analisada e implementada em Rust puro.<br />
<br />
Não há dependência da implementação oficial em C/C++.<br />
<br />
Não há dependência de bindings C/C++.<br />
<br />
Não há dependência de runtime do Open Multiplayer.<br />
<br />
Os plugins podem funcionar como componentes nativos do Open Multiplayer mantendo uma base de código totalmente em Rust.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Binário Universal</span></span><br />
<br />
Um único build pode funcionar como:<br />
<ul class="mycode_list"><li>Plugin tradicional do SA-MP<br />
</li>
<li>Componente nativo do Open Multiplayer<br />
</li>
</ul>
<br />
Sem necessidade de compilações separadas.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Sistema de Tick Unificado</span></span><br />
<br />
SA-MP e Open Multiplayer utilizam mecanismos diferentes para execução de ticks.<br />
<br />
A versão 3.0.0 introduz uma camada de abstração significativamente mais robusta que resolve essas diferenças internamente e fornece uma experiência muito mais previsível para o desenvolvedor.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Metadados Automáticos</span></span><br />
<br />
No fluxo tradicional do Open Multiplayer é necessário gerar e manter identificadores manualmente.<br />
<br />
O rust-samp automatiza esse processo e integra essas informações ao Cargo, reduzindo código repetitivo e eliminando erros comuns.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Sistema de Logs Integrado</span></span><br />
<br />
O SDK fornece suporte nativo para logs.<br />
<br />
Não é necessário adicionar bibliotecas extras ou implementar integrações específicas para cada plataforma.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Segurança e Estabilidade</span></span><br />
<br />
O rust-samp inclui diversas melhorias focadas em:<br />
<ul class="mycode_list"><li>Segurança de memória<br />
</li>
<li>Validação de ponteiros<br />
</li>
<li>Verificação de limites<br />
</li>
<li>Tratamento de panic<br />
</li>
<li>Internos mais seguros<br />
</li>
<li>Consistência entre plataformas<br />
</li>
<li>Ampla cobertura de testes<br />
</li>
</ul>
<br />
O objetivo é fornecer uma base muito mais confiável, previsível e estável para plugins em produção.<br />
<br />
<span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Projetos Utilizando o SDK</span></span><br />
<ul class="mycode_list"><li><a href="https://github.com/NullSablex/mysql_samp" target="_blank" rel="noopener" class="mycode_url">mysql_samp</a><br />
</li>
<li><a href="https://github.com/NullSablex/env-samp" target="_blank" rel="noopener" class="mycode_url">env-samp</a><br />
</li>
<li><a href="https://github.com/NullSablex/https_samp" target="_blank" rel="noopener" class="mycode_url">https-samp</a><br />
</li>
</ul>
<br />
<a href="https://rust-samp.nullsablex.com" target="_blank" rel="noopener" class="mycode_url">Documentação</a><br />
<br />
<a href="https://rust-samp.nullsablex.com/plugin-anatomy" target="_blank" rel="noopener" class="mycode_url">Plugin Anatomy</a><br />
<br />
<a href="https://github.com/NullSablex/rust-samp" target="_blank" rel="noopener" class="mycode_url">GitHub Repository</a>]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[engkqSelections.inc]]></title>
			<link>https://forum.open.mp/showthread.php?tid=4266</link>
			<pubDate>Wed, 27 May 2026 02:58:12 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://forum.open.mp/member.php?action=profile&uid=8161">Engkq</a>]]></dc:creator>
			<guid isPermaLink="false">https://forum.open.mp/showthread.php?tid=4266</guid>
			<description><![CDATA[<div style="text-align: center;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">engkqSelections.inc — Custom Model Selection Menu for open.mp</span></div>
<br />
engkqSelections.inc is a custom library (include) designed for open.mp servers to simplify the creation of visual model selection menus (such as skins, vehicles, or objects). While inspired by `mSelection.inc`, its codebase has been rewritten entirely from scratch to be more lightweight, clean, and optimized for server performance.<br />
<br />
Unlike traditional menu systems that require each option to be coded manually one by one, this include utilizes a looping system. This ensures that the selection boxes are automatically and neatly arranged downward, perfectly aligned with the original layout coordinates.<br />
<br />
Author: Engkq<br />
Framework: open.mp<br />
GitHub: <a href="https://github.com/engkqq/engkqSelections" target="_blank" rel="noopener" class="mycode_url">https://github.com/engkqq/engkqSelections</a>]]></description>
			<content:encoded><![CDATA[<div style="text-align: center;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">engkqSelections.inc — Custom Model Selection Menu for open.mp</span></div>
<br />
engkqSelections.inc is a custom library (include) designed for open.mp servers to simplify the creation of visual model selection menus (such as skins, vehicles, or objects). While inspired by `mSelection.inc`, its codebase has been rewritten entirely from scratch to be more lightweight, clean, and optimized for server performance.<br />
<br />
Unlike traditional menu systems that require each option to be coded manually one by one, this include utilizes a looping system. This ensures that the selection boxes are automatically and neatly arranged downward, perfectly aligned with the original layout coordinates.<br />
<br />
Author: Engkq<br />
Framework: open.mp<br />
GitHub: <a href="https://github.com/engkqq/engkqSelections" target="_blank" rel="noopener" class="mycode_url">https://github.com/engkqq/engkqSelections</a>]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[MAP Hot Loader / Map Manager]]></title>
			<link>https://forum.open.mp/showthread.php?tid=3814</link>
			<pubDate>Sat, 28 Feb 2026 05:13:59 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://forum.open.mp/member.php?action=profile&uid=7919">selmir.beha</a>]]></dc:creator>
			<guid isPermaLink="false">https://forum.open.mp/showthread.php?tid=3814</guid>
			<description><![CDATA[<div style="text-align: center;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b"><a href="https://github.com/selmir55/-open-mp-MAP-Hot-Loader-Map-Manager" target="_blank" rel="noopener" class="mycode_url">https://github.com/selmir55/-open-mp-MAP...ap-Manager</a><br />
</span></div>
* =============================================================================<br />
* <span style="font-weight: bold;" class="mycode_b"> MAP LOADER / MAP MANAGER - Hot load maps without server restart</span><br />
* =============================================================================<br />
*<br />
*  ENGLISH:<br />
*  Load and unload maps from .txt files at runtime. Requires streamer plugin.<br />
*  Place map files in scriptfiles/maps/ (e.g. mymap.txt). Optional remove<br />
*  file: mymapremove.txt (RemoveBuildingForPlayer lines).<br />
*<br />
*  USAGE:<br />
*    #include &lt;streamer&gt;<br />
*    #include &lt;map_loader&gt;<br />
*<br />
*    LoadMap("map_name");                    - load map (OnGameModeInit or anytime)<br />
*    LoadMap("map_name", playerid);          - load and send stream update to that player<br />
*    UnloadMap("map_name");                  - destroy all objects of that map<br />
*    ReloadMap("map_name"[, playerid]);      - unload then load<br />
*<br />
*  COMMANDS (requires PAWNCMD_INC_ and RCON admin):<br />
*    /mapreload [map_name]  - load or reload a map<br />
*    /mapremove [map_name]  - load ime_mape_remove.txt and apply remove building to all players<br />
*<br />
*  SUPPORTED FORMATS IN .txt:<br />
*    CreateObject, CreatePlayerObject, CreateDynamicObject, CreateDynamicObjectEx<br />
*    SetObjectMaterial / SetDynamicObjectMaterial, SetObjectMaterialText / SetDynamicObjectMaterialText<br />
*    Raw numbers (modelid x y z rx ry rz ...), remove: RemoveBuildingForPlayer(...) or 5 numbers per line<br />
*<br />
*  OPTIONAL DEFINES BEFORE INCLUDE:<br />
*    MAPLOADER_MAX_MAPS, MAPLOADER_MAX_OBJECTS_PER_MAP, MAPLOADER_PATH_PREFIX,<br />
*    MAPLOADER_FILE_EXT, MAPLOADER_DEFAULT_STREAM_DISTANCE, MAPLOADER_BATCH_SIZE, etc.<br />
*<br />
* -----------------------------------------------------------------------------<br />
*  AUTHOR:  William Sparrow (sparrowww.aMx)<br />
*  FORUM:    <a href="https://gtablkn.gg/profile/27196" target="_blank" rel="noopener" class="mycode_url">https://gtablkn.gg/profile/27196</a><br />
*  FACEBOOK: <a href="https://www.facebook.com/william.sparrow.5203" target="_blank" rel="noopener" class="mycode_url">https://www.facebook.com/william.sparrow.5203</a><br />
*  YOUTUBE:  <a href="https://www.youtube.com/@williamsparrow6053" target="_blank" rel="noopener" class="mycode_url">https://www.youtube.com/@williamsparrow6053</a><br />
*  Made for Fusion Gaming, released for the community.<br />
* =============================================================================<br />
*<br />
*  BALKAN:<br />
*  Ucitavanje i brisanje mapa iz .txt fajlova u runtime-u. Koristi streamer<br />
*  plugin. Mape stavite u scriptfiles/maps/ (npr. mojamapa.txt). Opciono<br />
*  remove fajl: mojamaparemove.txt (RemoveBuildingForPlayer linije).<br />
*<br />
*  KORISTENJE:<br />
*    #include &lt;streamer&gt;<br />
*    #include &lt;map_loader&gt;<br />
*<br />
*    LoadMap("ime_mape");                    - ucitaj mapu (OnGameModeInit ili bilo kada)<br />
*    LoadMap("ime_mape", playerid);          - ucitaj i posalji stream update tom igracu<br />
*    UnloadMap("ime_mape");                  - obrisi sve objekte te mape<br />
*    ReloadMap("ime_mape"[, playerid]);      - unload pa load<br />
*<br />
*  KOMANDE (zahtijeva PAWNCMD_INC_ i RCON admin):<br />
*    /mapreload [ime_mape]  - ucitaj ili ponovo ucitaj mapu<br />
*    /mapremove [ime_mape]  - ucitaj ime_mape_remove.txt i primijeni remove building na sve igrace<br />
*<br />
*  PODRZANI FORMATI U .txt:<br />
*    CreateObject, CreatePlayerObject, CreateDynamicObject, CreateDynamicObjectEx<br />
*    SetObjectMaterial / SetDynamicObjectMaterial, SetObjectMaterialText / SetDynamicObjectMaterialText<br />
*    Cisti brojevi (modelid x y z rx ry rz ...), remove: RemoveBuildingForPlayer(...) ili 5 brojeva<br />
*<br />
*  OPCIONO DEFINIRATI PRIJE INCLUDE-A:<br />
*    MAPLOADER_MAX_MAPS, MAPLOADER_MAX_OBJECTS_PER_MAP, MAPLOADER_PATH_PREFIX,<br />
*    MAPLOADER_FILE_EXT, MAPLOADER_DEFAULT_STREAM_DISTANCE, MAPLOADER_BATCH_SIZE, itd.<br />
*<br />
*  AUTOR:    William Sparrow (sparrowww.aMx)<br />
*  FORUM:    <a href="https://gtablkn.gg/profile/27196" target="_blank" rel="noopener" class="mycode_url">https://gtablkn.gg/profile/27196</a><br />
*  FACEBOOK: <a href="https://www.facebook.com/william.sparrow.5203" target="_blank" rel="noopener" class="mycode_url">https://www.facebook.com/william.sparrow.5203</a><br />
*  YOUTUBE:  <a href="https://www.youtube.com/@williamsparrow6053" target="_blank" rel="noopener" class="mycode_url">https://www.youtube.com/@williamsparrow6053</a><br />
*  Napravljeno za Fusion Gaming, objavljeno za zajednicu.<br />
* =============================================================================<br />
<br />
<div style="text-align: center;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b"><iframe width="560" height="315" src="//www.youtube-nocookie.com/embed/DMbdreRQcaQ" frameborder="0" allowfullscreen="true"></iframe><br />
<br />
<a href="https://github.com/selmir55/-open-mp-MAP-Hot-Loader-Map-Manager" target="_blank" rel="noopener" class="mycode_url">https://github.com/selmir55/-open-mp-MAP...ap-Manager</a></span></div>]]></description>
			<content:encoded><![CDATA[<div style="text-align: center;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b"><a href="https://github.com/selmir55/-open-mp-MAP-Hot-Loader-Map-Manager" target="_blank" rel="noopener" class="mycode_url">https://github.com/selmir55/-open-mp-MAP...ap-Manager</a><br />
</span></div>
* =============================================================================<br />
* <span style="font-weight: bold;" class="mycode_b"> MAP LOADER / MAP MANAGER - Hot load maps without server restart</span><br />
* =============================================================================<br />
*<br />
*  ENGLISH:<br />
*  Load and unload maps from .txt files at runtime. Requires streamer plugin.<br />
*  Place map files in scriptfiles/maps/ (e.g. mymap.txt). Optional remove<br />
*  file: mymapremove.txt (RemoveBuildingForPlayer lines).<br />
*<br />
*  USAGE:<br />
*    #include &lt;streamer&gt;<br />
*    #include &lt;map_loader&gt;<br />
*<br />
*    LoadMap("map_name");                    - load map (OnGameModeInit or anytime)<br />
*    LoadMap("map_name", playerid);          - load and send stream update to that player<br />
*    UnloadMap("map_name");                  - destroy all objects of that map<br />
*    ReloadMap("map_name"[, playerid]);      - unload then load<br />
*<br />
*  COMMANDS (requires PAWNCMD_INC_ and RCON admin):<br />
*    /mapreload [map_name]  - load or reload a map<br />
*    /mapremove [map_name]  - load ime_mape_remove.txt and apply remove building to all players<br />
*<br />
*  SUPPORTED FORMATS IN .txt:<br />
*    CreateObject, CreatePlayerObject, CreateDynamicObject, CreateDynamicObjectEx<br />
*    SetObjectMaterial / SetDynamicObjectMaterial, SetObjectMaterialText / SetDynamicObjectMaterialText<br />
*    Raw numbers (modelid x y z rx ry rz ...), remove: RemoveBuildingForPlayer(...) or 5 numbers per line<br />
*<br />
*  OPTIONAL DEFINES BEFORE INCLUDE:<br />
*    MAPLOADER_MAX_MAPS, MAPLOADER_MAX_OBJECTS_PER_MAP, MAPLOADER_PATH_PREFIX,<br />
*    MAPLOADER_FILE_EXT, MAPLOADER_DEFAULT_STREAM_DISTANCE, MAPLOADER_BATCH_SIZE, etc.<br />
*<br />
* -----------------------------------------------------------------------------<br />
*  AUTHOR:  William Sparrow (sparrowww.aMx)<br />
*  FORUM:    <a href="https://gtablkn.gg/profile/27196" target="_blank" rel="noopener" class="mycode_url">https://gtablkn.gg/profile/27196</a><br />
*  FACEBOOK: <a href="https://www.facebook.com/william.sparrow.5203" target="_blank" rel="noopener" class="mycode_url">https://www.facebook.com/william.sparrow.5203</a><br />
*  YOUTUBE:  <a href="https://www.youtube.com/@williamsparrow6053" target="_blank" rel="noopener" class="mycode_url">https://www.youtube.com/@williamsparrow6053</a><br />
*  Made for Fusion Gaming, released for the community.<br />
* =============================================================================<br />
*<br />
*  BALKAN:<br />
*  Ucitavanje i brisanje mapa iz .txt fajlova u runtime-u. Koristi streamer<br />
*  plugin. Mape stavite u scriptfiles/maps/ (npr. mojamapa.txt). Opciono<br />
*  remove fajl: mojamaparemove.txt (RemoveBuildingForPlayer linije).<br />
*<br />
*  KORISTENJE:<br />
*    #include &lt;streamer&gt;<br />
*    #include &lt;map_loader&gt;<br />
*<br />
*    LoadMap("ime_mape");                    - ucitaj mapu (OnGameModeInit ili bilo kada)<br />
*    LoadMap("ime_mape", playerid);          - ucitaj i posalji stream update tom igracu<br />
*    UnloadMap("ime_mape");                  - obrisi sve objekte te mape<br />
*    ReloadMap("ime_mape"[, playerid]);      - unload pa load<br />
*<br />
*  KOMANDE (zahtijeva PAWNCMD_INC_ i RCON admin):<br />
*    /mapreload [ime_mape]  - ucitaj ili ponovo ucitaj mapu<br />
*    /mapremove [ime_mape]  - ucitaj ime_mape_remove.txt i primijeni remove building na sve igrace<br />
*<br />
*  PODRZANI FORMATI U .txt:<br />
*    CreateObject, CreatePlayerObject, CreateDynamicObject, CreateDynamicObjectEx<br />
*    SetObjectMaterial / SetDynamicObjectMaterial, SetObjectMaterialText / SetDynamicObjectMaterialText<br />
*    Cisti brojevi (modelid x y z rx ry rz ...), remove: RemoveBuildingForPlayer(...) ili 5 brojeva<br />
*<br />
*  OPCIONO DEFINIRATI PRIJE INCLUDE-A:<br />
*    MAPLOADER_MAX_MAPS, MAPLOADER_MAX_OBJECTS_PER_MAP, MAPLOADER_PATH_PREFIX,<br />
*    MAPLOADER_FILE_EXT, MAPLOADER_DEFAULT_STREAM_DISTANCE, MAPLOADER_BATCH_SIZE, itd.<br />
*<br />
*  AUTOR:    William Sparrow (sparrowww.aMx)<br />
*  FORUM:    <a href="https://gtablkn.gg/profile/27196" target="_blank" rel="noopener" class="mycode_url">https://gtablkn.gg/profile/27196</a><br />
*  FACEBOOK: <a href="https://www.facebook.com/william.sparrow.5203" target="_blank" rel="noopener" class="mycode_url">https://www.facebook.com/william.sparrow.5203</a><br />
*  YOUTUBE:  <a href="https://www.youtube.com/@williamsparrow6053" target="_blank" rel="noopener" class="mycode_url">https://www.youtube.com/@williamsparrow6053</a><br />
*  Napravljeno za Fusion Gaming, objavljeno za zajednicu.<br />
* =============================================================================<br />
<br />
<div style="text-align: center;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b"><iframe width="560" height="315" src="//www.youtube-nocookie.com/embed/DMbdreRQcaQ" frameborder="0" allowfullscreen="true"></iframe><br />
<br />
<a href="https://github.com/selmir55/-open-mp-MAP-Hot-Loader-Map-Manager" target="_blank" rel="noopener" class="mycode_url">https://github.com/selmir55/-open-mp-MAP...ap-Manager</a></span></div>]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[samp-essentials]]></title>
			<link>https://forum.open.mp/showthread.php?tid=3803</link>
			<pubDate>Sat, 07 Feb 2026 12:51:39 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://forum.open.mp/member.php?action=profile&uid=4616">1NS</a>]]></dc:creator>
			<guid isPermaLink="false">https://forum.open.mp/showthread.php?tid=3803</guid>
			<description><![CDATA[<img src="https://github.com/ins1x/sa-essentials/raw/main/CLEO/(for%20developers)/gta-sa-lib-pack-essentials.png" loading="lazy"  alt="[Image: gta-sa-lib-pack-essentials.png]" class="mycode_img" /><br />
<br />
A pack of necessary libs for the correct operation of <a href="https://sampwiki.blast.hk/" target="_blank" rel="noopener" class="mycode_url">GTA San Andreas Multiplayer (SA-MP)</a> and mods.<br />
Repository forked form <a href="https://github.com/JuniorDjjr" target="_blank" rel="noopener" class="mycode_url"><span style="font-weight: bold;" class="mycode_b">JuniorDjjr</span></a> <a href="https://www.mixmods.com.br/2019/06/sa-essentials-pack/" target="_blank" rel="noopener" class="mycode_url"><span style="font-style: italic;" class="mycode_i">sa-essentials-pack</span></a>. This set is wider than the original one, but does not contain fixes and third-party mods! Only the original versions of the libraries are collected here. The list of all libraries and their repositories is below.<br />
<br />
<span style="font-weight: bold;" class="mycode_b"><span style="font-size: medium;" class="mycode_size">How use it</span></span><br />
<br />
You should already have <a href="https://www.sa-mp.mp/downloads/" target="_blank" rel="noopener" class="mycode_url">GTA:SA and SA:MP</a> installed. You can install all the necessary libraries at once, and not waste time installing them individually. Or you can just as quickly find the missing libraries and download them separately without worrying about authenticity.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">What the pack contains</span><br />
<br />
Loaders:<ul class="mycode_list"><li><a href="https://gtaforums.com/topic/669520-mod-loader/" target="_blank" rel="noopener" class="mycode_url">ModLoader</a> - is a plugin for Grand Theft Auto III, Vice City and San Andreas that adds an easy and user-friendly way to install and uninstall modifications into the game<br />
</li>
<li><a href="https://gtaforums.com/topic/890987-moonloader/" target="_blank" rel="noopener" class="mycode_url">Moonloader</a> - is a modification for GTA: San Andreas that brings new ability to use Lua scripts made by mods creators.<br />
</li>
<li><a href="http://www.gtagarage.com/mods/show.php?id=21709" target="_blank" rel="noopener" class="mycode_url">Silents ASI Loader</a> - This is a DLL file which adds ASI plugin loading functionality to San Andreas.<br />
</li>
</ul>
<br />
CLEO:<ul class="mycode_list"><li><a href="http://cleo.li/download.html" target="_blank" rel="noopener" class="mycode_url">CLEO 4</a> - is a hugely popular extensible library plugin which brings new possibilities in scripting for the game Grand Theft Auto: San Andreas by Rockstar Games, allowing the use of thousands of unique mods which change or expand the gameplay.<br />
</li>
<li><a href="https://www.mixmods.com.br/2023/10/cleoplus/" target="_blank" rel="noopener" class="mycode_url">CLEO +</a> - a CLEO 4 plugin by Junior_Djjr adding about 300 new opcodes<br />
</li>
<li><a href="https://www.blast.hk/threads/17/" target="_blank" rel="noopener" class="mycode_url">SAMPFUNCS 5.4</a> - is an add-on to the CLEO 4 library, globally expanding the capabilities of scriptwriters.<br />
</li>
</ul>
See the <a href="https://cleo.li/plugins" target="_blank" rel="noopener" class="mycode_url">https://cleo.li/plugins</a> for some of the available <a href="https://cleo.li/download.html#plugins" target="_blank" rel="noopener" class="mycode_url">CLEO plugins</a>.<br />
<br />
Moonloader modules:<ul class="mycode_list"><li><a href="https://github.com/Corenale/carbJsonConfigLua" target="_blank" rel="noopener" class="mycode_url">carbJsonConfigLua</a> - handling JSON configuration files, with special support for FFI cdata structures.<br />
</li>
<li><a href="https://github.com/openresty/lua-cjson/tree/master" target="_blank" rel="noopener" class="mycode_url">cjson</a> - Lua CJSON is a fast JSON encoding/parsing module for Lua<br />
</li>
<li><a href="https://github.com/lunarmodules/lua-compat-5.3" target="_blank" rel="noopener" class="mycode_url">compat</a> - Compatibility module providing Lua-5.3-style APIs for Lua 5.2 and 5.1<br />
</li>
<li><a href="https://github.com/lunarmodules/copas/tree/master" target="_blank" rel="noopener" class="mycode_url">copas</a> - Dispatcher based on coroutines that can be used by TCP/IP servers<br />
</li>
<li><a href="https://github.com/effil/effil" target="_blank" rel="noopener" class="mycode_url">effil</a> - Multithreading support for Lua<br />
</li>
<li><a href="https://github.com/xARMORx/EntityRender" target="_blank" rel="noopener" class="mycode_url">EntityRender</a> - Library allows rendering entities in mimgui (peds, transport, objects).<br />
</li>
<li><a href="https://gitlab.com/THE-FYP/lua-fa-icons-4" target="_blank" rel="noopener" class="mycode_url">fa-icons</a> - Font Awesome 4 Icons + Font for Lua<br />
</li>
<li><a href="https://www.blast.hk/threads/111224/" target="_blank" rel="noopener" class="mycode_url">fAwesome</a> - Pack fAwesome fonts v4,v5,v6<br />
</li>
<li><a href="https://www.blast.hk/threads/55743/" target="_blank" rel="noopener" class="mycode_url">hooks</a> - Lua vmt+jmp/call hook<br />
</li>
<li><a href="https://github.com/msva/lua-htmlparser" target="_blank" rel="noopener" class="mycode_url">htmlparse</a> - An HTML parser for lua<br />
</li>
<li><a href="https://github.com/kikito/inspect.lua" target="_blank" rel="noopener" class="mycode_url">inspect</a> - Human-readable representation of Lua tables<br />
</li>
<li><a href="https://github.com/ocornut/imgui" target="_blank" rel="noopener" class="mycode_url">imgui</a> - ImGui Bloat-free Graphical User interface with minimal dependencies<br />
</li>
<li><a href="https://www.blast.hk/threads/27544/" target="_blank" rel="noopener" class="mycode_url">Imgui Addons</a> - collects several elements for imgui into one common library<br />
</li>
<li><a href="https://luarocks.org/modules/benoitgermain/lanes" target="_blank" rel="noopener" class="mycode_url">lanes</a> - Lanes is a lightweight, native, lazy evaluating multithreading library for Lua<br />
</li>
<li><a href="https://luarocks.org/modules/fyp/lbase64" target="_blank" rel="noopener" class="mycode_url">lbase64</a> - A Base64 library for Lua<br />
</li>
<li><a href="https://github.com/zhuomingliang/luatcc" target="_blank" rel="noopener" class="mycode_url">luatcc</a> - Luatcc is a Lua binding for libtcc<br />
</li>
<li><a href="https://luarocks.org/modules/gvvaughan/lpeg" target="_blank" rel="noopener" class="mycode_url">LPeg</a> - A pattern-matching library for Lua, based on Parsing Expression Grammars (PEGs)<br />
</li>
<li><a href="https://luarocks.org/modules/rrt/lrexlib-pcre" target="_blank" rel="noopener" class="mycode_url">Lrexlib-PCRE</a> - Is a regular expression library, which provides bindings for POSIX and PCRE regular expression libs<br />
</li>
<li><a href="https://luarocks.org/modules/fyp/luafilesystem" target="_blank" rel="noopener" class="mycode_url">LuaFileSystem</a> - File System Library for the Lua Programming Language<br />
</li>
<li><a href="https://github.com/THE-FYP/lua-requests" target="_blank" rel="noopener" class="mycode_url">lua-requests</a> - The same friendly Python Requests interface for Lua<br />
</li>
<li><a href="https://luarocks.org/modules/fyp/luasec" target="_blank" rel="noopener" class="mycode_url">LuaSec</a> - A binding for OpenSSL library to provide TLS/SSL communication over LuaSocket<br />
</li>
<li><a href="https://lunarmodules.github.io/luasql" target="_blank" rel="noopener" class="mycode_url">luasql-sqlite</a> - Is a simple interface from Lua to a DBMS Sqlite<br />
</li>
<li><a href="https://github.com/lunarmodules/luasocket" target="_blank" rel="noopener" class="mycode_url">lua-socket</a> - Network support for the Lua language<br />
</li>
<li><a href="https://luajit.org/" target="_blank" rel="noopener" class="mycode_url">LuaJIT</a> - Just-In-Time Compiler for Lua<br />
</li>
<li><a href="https://github.com/rxi/lume" target="_blank" rel="noopener" class="mycode_url">lume</a> - A collection of functions for Lua, geared towards game development<br />
</li>
<li><a href="https://luarocks.org/modules/luarocks/lustache" target="_blank" rel="noopener" class="mycode_url">lustache</a> - Logic-less mustache templates with Lua<br />
</li>
<li><a href="https://github.com/THE-FYP/mimgui" target="_blank" rel="noopener" class="mycode_url">mimgui</a> - Dear ImGui for MoonLoader<br />
</li>
<li><a href="https://www.blast.hk/threads/127255/" target="_blank" rel="noopener" class="mycode_url">Mimgui Addons</a> - collects several elements for mimgui into one common library<br />
</li>
<li><a href="https://github.com/THE-FYP/MoonAdditions" target="_blank" rel="noopener" class="mycode_url">MoonAdditions</a> - A bunch of useful things for MoonLoader<br />
</li>
<li><a href="https://luarocks.org/modules/fyp/moonloader-bind" target="_blank" rel="noopener" class="mycode_url">moonloader-bind</a> - Events for common tasks<br />
</li>
<li><a href="https://github.com/Northn/MoonMonet" target="_blank" rel="noopener" class="mycode_url">MoonMonet</a> - A library that generates Monet-style color accents<br />
</li>
<li><a href="https://github.com/moteus/lua-path" target="_blank" rel="noopener" class="mycode_url">path</a> - File system path manipulation library<br />
</li>
<li><a href="https://luarocks.org/modules/steved/penlight" target="_blank" rel="noopener" class="mycode_url">penlight</a> - A set of pure Lua libraries focusing on input data handling<br />
</li>
<li><a href="https://www.blast.hk/threads/69433/" target="_blank" rel="noopener" class="mycode_url">RakLua</a> - A new library for interacting with RakNet and BitStream<br />
</li>
<li><a href="https://github.com/AnWuPP/rkeys" target="_blank" rel="noopener" class="mycode_url">RKeys</a> - Register HotKey for MoonLoader<br />
</li>
<li><a href="https://github.com/imring/SAMP-API.lua" target="_blank" rel="noopener" class="mycode_url">SAMP-API</a> - adds structures and functions from SA:MP<br />
</li>
<li><a href="https://github.com/THE-FYP/SAMP.Lua" target="_blank" rel="noopener" class="mycode_url">SAMP.Lua</a> - A SA-MP API library for MoonLoader<br />
</li>
<li><a href="https://github.com/SF-lua/SF.lua" target="_blank" rel="noopener" class="mycode_url">SFlua</a> - SA:MP functions for MoonLoader<br />
</li>
<li><a href="https://github.com/SLMP-Team/SNET" target="_blank" rel="noopener" class="mycode_url">SNET</a> - Cross-platform, open source, network library<br />
</li>
<li><a href="https://github.com/c0sui/lua_strings" target="_blank" rel="noopener" class="mycode_url">strings</a> - Custom string methods for the lua<br />
</li>
<li><a href="https://github.com/neverlane/moon-tabler-icons" target="_blank" rel="noopener" class="mycode_url">tabler-icons</a> - tabler.io icons for lua<br />
</li>
<li><a href="https://github.com/lubyk/xml" target="_blank" rel="noopener" class="mycode_url">xml</a> - Very fast and simple XML parser for Lua based on RapidXML 1.13<br />
</li>
</ul>
See the <a href="https://luarocks.org/modules/fyp" target="_blank" rel="noopener" class="mycode_url">https://luarocks.org/modules/fyp</a> for some of the available <a href="https://github.com/orgs/lunarmodules/repositories?type=all" target="_blank" rel="noopener" class="mycode_url">Lua modules</a>.<br />
<br />
Audio libs:<ul class="mycode_list"><li><a href="https://gamedev.ru/code/terms/EAX" target="_blank" rel="noopener" class="mycode_url">eax.dll</a> - Environmental Audio Extensions<br />
</li>
<li><a href="https://www.un4seen.com/" target="_blank" rel="noopener" class="mycode_url">bassmix.dll</a> - BASS audio library<br />
</li>
<li><a href="https://www.un4seen.com/doc/#bass/bass_fx.html" target="_blank" rel="noopener" class="mycode_url">bass_fx.dll</a> - is an extension to the BASS audio library, provides several effects, including tempo &amp; pitch control<br />
</li>
<li><a href="https://www.un4seen.com/doc/#basswasapi/basswasapi.html" target="_blank" rel="noopener" class="mycode_url">basswasapi.dll</a> - is an extension to the BASS audio library, providing the ability to use WASAPI output and input<br />
</li>
<li><a href="https://www.rarewares.org/ogg-libraries.php" target="_blank" rel="noopener" class="mycode_url">ogg.dll</a> - Ogg Vorbis Dynamic Link Library<br />
</li>
<li><a href="https://xiph.org/vorbis/" target="_blank" rel="noopener" class="mycode_url">vorbis.dll</a> - Vorbis Dynamic Link Library<br />
<br />
</li>
</ul>
MSVC Redist:<ul class="mycode_list"><li><a href="https://www.mixmods.com.br/2015/08/download-de-todas-as-dll-que-voce-precisa/" target="_blank" rel="noopener" class="mycode_url">msvcr100d.dll</a> - Microsoft Visual C++ Redistributable (MSVC) Debug<br />
</li>
</ul>
See the <a href="https://github.com/abbodi1406/vcredist/releases" target="_blank" rel="noopener" class="mycode_url">AIO Repack for latest Microsoft Visual C++ Redistributable Runtimes</a><br />
<br />
DirectX and OpenGL libs:<ul class="mycode_list"><li><a href="https://github.com/tschw/AntTweakBar" target="_blank" rel="noopener" class="mycode_url">AntTweakBar</a> library to add light and intuitive GUI to OpenGL and DX programs<br />
</li>
<li><a href="https://www.microsoft.com/ru-ru/download/details.aspx?id=35" target="_blank" rel="noopener" class="mycode_url">d3dx9_25.dll, d3dx9_40.dll, d3dx9_43.dll</a> - DirectX Runtime Environment for End Users<br />
<br />
</li>
</ul>
Other libs:<ul class="mycode_list"><li><a href="https://curl.se/libcurl/" target="_blank" rel="noopener" class="mycode_url">libcurl</a> - The multiprotocol file transfer library<br />
</li>
<li><a href="https://github.com/TsudaKageyu/minhook" target="_blank" rel="noopener" class="mycode_url">minhook</a> - The Minimalistic x86/x64 API Hooking Library for Windows<br />
</li>
<li><a href="https://zlib.net/" target="_blank" rel="noopener" class="mycode_url">zlib</a> - A Massively Spiffy Yet Delicately Unobtrusive Compression Library<br />
</li>
</ul>
]]></description>
			<content:encoded><![CDATA[<img src="https://github.com/ins1x/sa-essentials/raw/main/CLEO/(for%20developers)/gta-sa-lib-pack-essentials.png" loading="lazy"  alt="[Image: gta-sa-lib-pack-essentials.png]" class="mycode_img" /><br />
<br />
A pack of necessary libs for the correct operation of <a href="https://sampwiki.blast.hk/" target="_blank" rel="noopener" class="mycode_url">GTA San Andreas Multiplayer (SA-MP)</a> and mods.<br />
Repository forked form <a href="https://github.com/JuniorDjjr" target="_blank" rel="noopener" class="mycode_url"><span style="font-weight: bold;" class="mycode_b">JuniorDjjr</span></a> <a href="https://www.mixmods.com.br/2019/06/sa-essentials-pack/" target="_blank" rel="noopener" class="mycode_url"><span style="font-style: italic;" class="mycode_i">sa-essentials-pack</span></a>. This set is wider than the original one, but does not contain fixes and third-party mods! Only the original versions of the libraries are collected here. The list of all libraries and their repositories is below.<br />
<br />
<span style="font-weight: bold;" class="mycode_b"><span style="font-size: medium;" class="mycode_size">How use it</span></span><br />
<br />
You should already have <a href="https://www.sa-mp.mp/downloads/" target="_blank" rel="noopener" class="mycode_url">GTA:SA and SA:MP</a> installed. You can install all the necessary libraries at once, and not waste time installing them individually. Or you can just as quickly find the missing libraries and download them separately without worrying about authenticity.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">What the pack contains</span><br />
<br />
Loaders:<ul class="mycode_list"><li><a href="https://gtaforums.com/topic/669520-mod-loader/" target="_blank" rel="noopener" class="mycode_url">ModLoader</a> - is a plugin for Grand Theft Auto III, Vice City and San Andreas that adds an easy and user-friendly way to install and uninstall modifications into the game<br />
</li>
<li><a href="https://gtaforums.com/topic/890987-moonloader/" target="_blank" rel="noopener" class="mycode_url">Moonloader</a> - is a modification for GTA: San Andreas that brings new ability to use Lua scripts made by mods creators.<br />
</li>
<li><a href="http://www.gtagarage.com/mods/show.php?id=21709" target="_blank" rel="noopener" class="mycode_url">Silents ASI Loader</a> - This is a DLL file which adds ASI plugin loading functionality to San Andreas.<br />
</li>
</ul>
<br />
CLEO:<ul class="mycode_list"><li><a href="http://cleo.li/download.html" target="_blank" rel="noopener" class="mycode_url">CLEO 4</a> - is a hugely popular extensible library plugin which brings new possibilities in scripting for the game Grand Theft Auto: San Andreas by Rockstar Games, allowing the use of thousands of unique mods which change or expand the gameplay.<br />
</li>
<li><a href="https://www.mixmods.com.br/2023/10/cleoplus/" target="_blank" rel="noopener" class="mycode_url">CLEO +</a> - a CLEO 4 plugin by Junior_Djjr adding about 300 new opcodes<br />
</li>
<li><a href="https://www.blast.hk/threads/17/" target="_blank" rel="noopener" class="mycode_url">SAMPFUNCS 5.4</a> - is an add-on to the CLEO 4 library, globally expanding the capabilities of scriptwriters.<br />
</li>
</ul>
See the <a href="https://cleo.li/plugins" target="_blank" rel="noopener" class="mycode_url">https://cleo.li/plugins</a> for some of the available <a href="https://cleo.li/download.html#plugins" target="_blank" rel="noopener" class="mycode_url">CLEO plugins</a>.<br />
<br />
Moonloader modules:<ul class="mycode_list"><li><a href="https://github.com/Corenale/carbJsonConfigLua" target="_blank" rel="noopener" class="mycode_url">carbJsonConfigLua</a> - handling JSON configuration files, with special support for FFI cdata structures.<br />
</li>
<li><a href="https://github.com/openresty/lua-cjson/tree/master" target="_blank" rel="noopener" class="mycode_url">cjson</a> - Lua CJSON is a fast JSON encoding/parsing module for Lua<br />
</li>
<li><a href="https://github.com/lunarmodules/lua-compat-5.3" target="_blank" rel="noopener" class="mycode_url">compat</a> - Compatibility module providing Lua-5.3-style APIs for Lua 5.2 and 5.1<br />
</li>
<li><a href="https://github.com/lunarmodules/copas/tree/master" target="_blank" rel="noopener" class="mycode_url">copas</a> - Dispatcher based on coroutines that can be used by TCP/IP servers<br />
</li>
<li><a href="https://github.com/effil/effil" target="_blank" rel="noopener" class="mycode_url">effil</a> - Multithreading support for Lua<br />
</li>
<li><a href="https://github.com/xARMORx/EntityRender" target="_blank" rel="noopener" class="mycode_url">EntityRender</a> - Library allows rendering entities in mimgui (peds, transport, objects).<br />
</li>
<li><a href="https://gitlab.com/THE-FYP/lua-fa-icons-4" target="_blank" rel="noopener" class="mycode_url">fa-icons</a> - Font Awesome 4 Icons + Font for Lua<br />
</li>
<li><a href="https://www.blast.hk/threads/111224/" target="_blank" rel="noopener" class="mycode_url">fAwesome</a> - Pack fAwesome fonts v4,v5,v6<br />
</li>
<li><a href="https://www.blast.hk/threads/55743/" target="_blank" rel="noopener" class="mycode_url">hooks</a> - Lua vmt+jmp/call hook<br />
</li>
<li><a href="https://github.com/msva/lua-htmlparser" target="_blank" rel="noopener" class="mycode_url">htmlparse</a> - An HTML parser for lua<br />
</li>
<li><a href="https://github.com/kikito/inspect.lua" target="_blank" rel="noopener" class="mycode_url">inspect</a> - Human-readable representation of Lua tables<br />
</li>
<li><a href="https://github.com/ocornut/imgui" target="_blank" rel="noopener" class="mycode_url">imgui</a> - ImGui Bloat-free Graphical User interface with minimal dependencies<br />
</li>
<li><a href="https://www.blast.hk/threads/27544/" target="_blank" rel="noopener" class="mycode_url">Imgui Addons</a> - collects several elements for imgui into one common library<br />
</li>
<li><a href="https://luarocks.org/modules/benoitgermain/lanes" target="_blank" rel="noopener" class="mycode_url">lanes</a> - Lanes is a lightweight, native, lazy evaluating multithreading library for Lua<br />
</li>
<li><a href="https://luarocks.org/modules/fyp/lbase64" target="_blank" rel="noopener" class="mycode_url">lbase64</a> - A Base64 library for Lua<br />
</li>
<li><a href="https://github.com/zhuomingliang/luatcc" target="_blank" rel="noopener" class="mycode_url">luatcc</a> - Luatcc is a Lua binding for libtcc<br />
</li>
<li><a href="https://luarocks.org/modules/gvvaughan/lpeg" target="_blank" rel="noopener" class="mycode_url">LPeg</a> - A pattern-matching library for Lua, based on Parsing Expression Grammars (PEGs)<br />
</li>
<li><a href="https://luarocks.org/modules/rrt/lrexlib-pcre" target="_blank" rel="noopener" class="mycode_url">Lrexlib-PCRE</a> - Is a regular expression library, which provides bindings for POSIX and PCRE regular expression libs<br />
</li>
<li><a href="https://luarocks.org/modules/fyp/luafilesystem" target="_blank" rel="noopener" class="mycode_url">LuaFileSystem</a> - File System Library for the Lua Programming Language<br />
</li>
<li><a href="https://github.com/THE-FYP/lua-requests" target="_blank" rel="noopener" class="mycode_url">lua-requests</a> - The same friendly Python Requests interface for Lua<br />
</li>
<li><a href="https://luarocks.org/modules/fyp/luasec" target="_blank" rel="noopener" class="mycode_url">LuaSec</a> - A binding for OpenSSL library to provide TLS/SSL communication over LuaSocket<br />
</li>
<li><a href="https://lunarmodules.github.io/luasql" target="_blank" rel="noopener" class="mycode_url">luasql-sqlite</a> - Is a simple interface from Lua to a DBMS Sqlite<br />
</li>
<li><a href="https://github.com/lunarmodules/luasocket" target="_blank" rel="noopener" class="mycode_url">lua-socket</a> - Network support for the Lua language<br />
</li>
<li><a href="https://luajit.org/" target="_blank" rel="noopener" class="mycode_url">LuaJIT</a> - Just-In-Time Compiler for Lua<br />
</li>
<li><a href="https://github.com/rxi/lume" target="_blank" rel="noopener" class="mycode_url">lume</a> - A collection of functions for Lua, geared towards game development<br />
</li>
<li><a href="https://luarocks.org/modules/luarocks/lustache" target="_blank" rel="noopener" class="mycode_url">lustache</a> - Logic-less mustache templates with Lua<br />
</li>
<li><a href="https://github.com/THE-FYP/mimgui" target="_blank" rel="noopener" class="mycode_url">mimgui</a> - Dear ImGui for MoonLoader<br />
</li>
<li><a href="https://www.blast.hk/threads/127255/" target="_blank" rel="noopener" class="mycode_url">Mimgui Addons</a> - collects several elements for mimgui into one common library<br />
</li>
<li><a href="https://github.com/THE-FYP/MoonAdditions" target="_blank" rel="noopener" class="mycode_url">MoonAdditions</a> - A bunch of useful things for MoonLoader<br />
</li>
<li><a href="https://luarocks.org/modules/fyp/moonloader-bind" target="_blank" rel="noopener" class="mycode_url">moonloader-bind</a> - Events for common tasks<br />
</li>
<li><a href="https://github.com/Northn/MoonMonet" target="_blank" rel="noopener" class="mycode_url">MoonMonet</a> - A library that generates Monet-style color accents<br />
</li>
<li><a href="https://github.com/moteus/lua-path" target="_blank" rel="noopener" class="mycode_url">path</a> - File system path manipulation library<br />
</li>
<li><a href="https://luarocks.org/modules/steved/penlight" target="_blank" rel="noopener" class="mycode_url">penlight</a> - A set of pure Lua libraries focusing on input data handling<br />
</li>
<li><a href="https://www.blast.hk/threads/69433/" target="_blank" rel="noopener" class="mycode_url">RakLua</a> - A new library for interacting with RakNet and BitStream<br />
</li>
<li><a href="https://github.com/AnWuPP/rkeys" target="_blank" rel="noopener" class="mycode_url">RKeys</a> - Register HotKey for MoonLoader<br />
</li>
<li><a href="https://github.com/imring/SAMP-API.lua" target="_blank" rel="noopener" class="mycode_url">SAMP-API</a> - adds structures and functions from SA:MP<br />
</li>
<li><a href="https://github.com/THE-FYP/SAMP.Lua" target="_blank" rel="noopener" class="mycode_url">SAMP.Lua</a> - A SA-MP API library for MoonLoader<br />
</li>
<li><a href="https://github.com/SF-lua/SF.lua" target="_blank" rel="noopener" class="mycode_url">SFlua</a> - SA:MP functions for MoonLoader<br />
</li>
<li><a href="https://github.com/SLMP-Team/SNET" target="_blank" rel="noopener" class="mycode_url">SNET</a> - Cross-platform, open source, network library<br />
</li>
<li><a href="https://github.com/c0sui/lua_strings" target="_blank" rel="noopener" class="mycode_url">strings</a> - Custom string methods for the lua<br />
</li>
<li><a href="https://github.com/neverlane/moon-tabler-icons" target="_blank" rel="noopener" class="mycode_url">tabler-icons</a> - tabler.io icons for lua<br />
</li>
<li><a href="https://github.com/lubyk/xml" target="_blank" rel="noopener" class="mycode_url">xml</a> - Very fast and simple XML parser for Lua based on RapidXML 1.13<br />
</li>
</ul>
See the <a href="https://luarocks.org/modules/fyp" target="_blank" rel="noopener" class="mycode_url">https://luarocks.org/modules/fyp</a> for some of the available <a href="https://github.com/orgs/lunarmodules/repositories?type=all" target="_blank" rel="noopener" class="mycode_url">Lua modules</a>.<br />
<br />
Audio libs:<ul class="mycode_list"><li><a href="https://gamedev.ru/code/terms/EAX" target="_blank" rel="noopener" class="mycode_url">eax.dll</a> - Environmental Audio Extensions<br />
</li>
<li><a href="https://www.un4seen.com/" target="_blank" rel="noopener" class="mycode_url">bassmix.dll</a> - BASS audio library<br />
</li>
<li><a href="https://www.un4seen.com/doc/#bass/bass_fx.html" target="_blank" rel="noopener" class="mycode_url">bass_fx.dll</a> - is an extension to the BASS audio library, provides several effects, including tempo &amp; pitch control<br />
</li>
<li><a href="https://www.un4seen.com/doc/#basswasapi/basswasapi.html" target="_blank" rel="noopener" class="mycode_url">basswasapi.dll</a> - is an extension to the BASS audio library, providing the ability to use WASAPI output and input<br />
</li>
<li><a href="https://www.rarewares.org/ogg-libraries.php" target="_blank" rel="noopener" class="mycode_url">ogg.dll</a> - Ogg Vorbis Dynamic Link Library<br />
</li>
<li><a href="https://xiph.org/vorbis/" target="_blank" rel="noopener" class="mycode_url">vorbis.dll</a> - Vorbis Dynamic Link Library<br />
<br />
</li>
</ul>
MSVC Redist:<ul class="mycode_list"><li><a href="https://www.mixmods.com.br/2015/08/download-de-todas-as-dll-que-voce-precisa/" target="_blank" rel="noopener" class="mycode_url">msvcr100d.dll</a> - Microsoft Visual C++ Redistributable (MSVC) Debug<br />
</li>
</ul>
See the <a href="https://github.com/abbodi1406/vcredist/releases" target="_blank" rel="noopener" class="mycode_url">AIO Repack for latest Microsoft Visual C++ Redistributable Runtimes</a><br />
<br />
DirectX and OpenGL libs:<ul class="mycode_list"><li><a href="https://github.com/tschw/AntTweakBar" target="_blank" rel="noopener" class="mycode_url">AntTweakBar</a> library to add light and intuitive GUI to OpenGL and DX programs<br />
</li>
<li><a href="https://www.microsoft.com/ru-ru/download/details.aspx?id=35" target="_blank" rel="noopener" class="mycode_url">d3dx9_25.dll, d3dx9_40.dll, d3dx9_43.dll</a> - DirectX Runtime Environment for End Users<br />
<br />
</li>
</ul>
Other libs:<ul class="mycode_list"><li><a href="https://curl.se/libcurl/" target="_blank" rel="noopener" class="mycode_url">libcurl</a> - The multiprotocol file transfer library<br />
</li>
<li><a href="https://github.com/TsudaKageyu/minhook" target="_blank" rel="noopener" class="mycode_url">minhook</a> - The Minimalistic x86/x64 API Hooking Library for Windows<br />
</li>
<li><a href="https://zlib.net/" target="_blank" rel="noopener" class="mycode_url">zlib</a> - A Massively Spiffy Yet Delicately Unobtrusive Compression Library<br />
</li>
</ul>
]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Animated Textdraws]]></title>
			<link>https://forum.open.mp/showthread.php?tid=3788</link>
			<pubDate>Mon, 26 Jan 2026 20:26:10 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://forum.open.mp/member.php?action=profile&uid=6645">Crazy_ArKzX</a>]]></dc:creator>
			<guid isPermaLink="false">https://forum.open.mp/showthread.php?tid=3788</guid>
			<description><![CDATA[Very useful, it uses Robert Penner's smoothing functions for SAMP.<br />
<br />
Note: It's not PNG/sprite/CEF/progress ba<br />
<br />
It's pure textdraw...<br />
<br />
<a href="https://github.com/alexchwoj/pawn-easing-functions" target="_blank" rel="noopener" class="mycode_url">https://github.com/alexchwoj/pawn-easing-functions</a>]]></description>
			<content:encoded><![CDATA[Very useful, it uses Robert Penner's smoothing functions for SAMP.<br />
<br />
Note: It's not PNG/sprite/CEF/progress ba<br />
<br />
It's pure textdraw...<br />
<br />
<a href="https://github.com/alexchwoj/pawn-easing-functions" target="_blank" rel="noopener" class="mycode_url">https://github.com/alexchwoj/pawn-easing-functions</a>]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[LiveDialogs.inc]]></title>
			<link>https://forum.open.mp/showthread.php?tid=3727</link>
			<pubDate>Fri, 19 Dec 2025 05:53:24 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://forum.open.mp/member.php?action=profile&uid=4689">vawylon</a>]]></dc:creator>
			<guid isPermaLink="false">https://forum.open.mp/showthread.php?tid=3727</guid>
			<description><![CDATA[<span style="color: #bbbbbb;" class="mycode_color"><span style="font-family: Consolas, 'Courier New', monospace;" class="mycode_font"><span style="color: #e06c75;" class="mycode_color"><span style="font-size: x-large;" class="mycode_size">LiveDialogs</span></span><br />
<br />
<a href="https://github.com/vawylon/LiveDialogs" target="_blank" rel="noopener" class="mycode_url">https://github.com/vawylon/LiveDialogs</a><br />
<br />
<span style="color: #bbbbbb;" class="mycode_color">LiveDialogs — Allows you to write multi-level dialogs in a single function without duplicating logic between “opening” and “handling the response”.</span><br />
<br />
<span style="color: #e06c75;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b"><span style="font-size: medium;" class="mycode_size">Example:</span></span></span><br />
<br />
<span style="color: #bbbbbb;" class="mycode_color">```c</span><br />
<span style="color: #bbbbbb;" class="mycode_color">CMD:</span><span style="color: #98c379;" class="mycode_color">menu</span><span style="color: #bbbbbb;" class="mycode_color">(playerid) {</span><br />
<span style="color: #bbbbbb;" class="mycode_color">    </span><span style="color: #98c379;" class="mycode_color">Dialog_Create</span><span style="color: #bbbbbb;" class="mycode_color">(playerid</span><span style="color: #abb2bf;" class="mycode_color">,</span><span style="color: #bbbbbb;" class="mycode_color"> Dialog:Menu);</span><br />
<span style="color: #bbbbbb;" class="mycode_color">}</span><br />
<br />
<span style="color: #bbbbbb;" class="mycode_color">dialog </span><span style="color: #98c379;" class="mycode_color">Menu</span><span style="color: #bbbbbb;" class="mycode_color">(playerid)</span><br />
<span style="color: #bbbbbb;" class="mycode_color">{</span><br />
<span style="color: #bbbbbb;" class="mycode_color">    Create:</span><span style="color: #e06c75;" class="mycode_color">&lt;</span><span style="color: #e5c07b;" class="mycode_color">"Money"</span><span style="color: #e06c75;" class="mycode_color">&gt;</span><br />
<span style="color: #bbbbbb;" class="mycode_color">    {</span><br />
<span style="color: #bbbbbb;" class="mycode_color">        </span><span style="color: #676f7d;" class="mycode_color">// when pressing "Back" we will close the dialog</span><br />
<span style="color: #bbbbbb;" class="mycode_color">        ResponseRight: </span><span style="color: #e06c75;" class="mycode_color">return</span><span style="color: #bbbbbb;" class="mycode_color"> DIALOG_CLOSE;</span><br />
<br />
<span style="color: #bbbbbb;" class="mycode_color">        </span><span style="color: #676f7d;" class="mycode_color">// using a loop we create 10 items</span><br />
<span style="color: #bbbbbb;" class="mycode_color">        </span><span style="color: #e06c75;" class="mycode_color">for</span><span style="color: #bbbbbb;" class="mycode_color"> (new i </span><span style="color: #e06c75;" class="mycode_color">=</span> <span style="color: #c678dd;" class="mycode_color">1</span><span style="color: #abb2bf;" class="mycode_color">,</span><span style="color: #bbbbbb;" class="mycode_color"> amount; i </span><span style="color: #e06c75;" class="mycode_color">&lt;=</span> <span style="color: #c678dd;" class="mycode_color">10</span><span style="color: #bbbbbb;" class="mycode_color">; i</span><span style="color: #e06c75;" class="mycode_color">++</span><span style="color: #bbbbbb;" class="mycode_color">) {</span><br />
<span style="color: #bbbbbb;" class="mycode_color">            new amount </span><span style="color: #e06c75;" class="mycode_color">=</span><span style="color: #bbbbbb;" class="mycode_color"> i </span><span style="color: #e06c75;" class="mycode_color">*</span> <span style="color: #c678dd;" class="mycode_color">20000</span><span style="color: #bbbbbb;" class="mycode_color">;</span><br />
<span style="color: #bbbbbb;" class="mycode_color">            ListItem:</span><span style="color: #e06c75;" class="mycode_color">&lt;</span><span style="color: #e5c07b;" class="mycode_color">"Get </span><span style="color: #56b6c2;" class="mycode_color">%d</span><span style="color: #e5c07b;" class="mycode_color">&#36;"</span><span style="color: #abb2bf;" class="mycode_color">,</span><span style="color: #bbbbbb;" class="mycode_color"> amount</span><span style="color: #e06c75;" class="mycode_color">&gt;</span><br />
<span style="color: #bbbbbb;" class="mycode_color">            {</span><br />
<span style="color: #bbbbbb;" class="mycode_color">                </span><span style="color: #98c379;" class="mycode_color">GivePlayerMoney</span><span style="color: #bbbbbb;" class="mycode_color">(playerid</span><span style="color: #abb2bf;" class="mycode_color">,</span><span style="color: #bbbbbb;" class="mycode_color"> amount);</span><br />
<span style="color: #bbbbbb;" class="mycode_color">                </span><span style="color: #98c379;" class="mycode_color">SendClientMessage</span><span style="color: #bbbbbb;" class="mycode_color">(playerid</span><span style="color: #abb2bf;" class="mycode_color">,</span> <span style="color: #e06c75;" class="mycode_color">-</span><span style="color: #c678dd;" class="mycode_color">1</span><span style="color: #abb2bf;" class="mycode_color">,</span> <span style="color: #e5c07b;" class="mycode_color">"You received {44FF44}</span><span style="color: #56b6c2;" class="mycode_color">%d</span><span style="color: #e5c07b;" class="mycode_color">&#36;"</span><span style="color: #abb2bf;" class="mycode_color">,</span><span style="color: #bbbbbb;" class="mycode_color"> amount);</span><br />
<span style="color: #bbbbbb;" class="mycode_color">                </span><span style="color: #e06c75;" class="mycode_color">return</span><span style="color: #bbbbbb;" class="mycode_color"> DIALOG_REOPEN;</span><span style="color: #676f7d;" class="mycode_color"> // Reopen the dialog</span><br />
<span style="color: #bbbbbb;" class="mycode_color">            }</span><br />
<span style="color: #bbbbbb;" class="mycode_color">        }</span><br />
<br />
<span style="color: #bbbbbb;" class="mycode_color">        ListItem:</span><span style="color: #e06c75;" class="mycode_color">&lt;</span><span style="color: #e5c07b;" class="mycode_color">"Experience"</span><span style="color: #e06c75;" class="mycode_color">&gt;</span><br />
<span style="color: #bbbbbb;" class="mycode_color">        {</span><br />
<span style="color: #bbbbbb;" class="mycode_color">            </span><span style="color: #676f7d;" class="mycode_color">// Dialog when selecting the "Experience" item</span><br />
<span style="color: #bbbbbb;" class="mycode_color">            Create:</span><span style="color: #e06c75;" class="mycode_color">&lt;</span><span style="color: #e5c07b;" class="mycode_color">"Get experience"</span><span style="color: #e06c75;" class="mycode_color">&gt;</span><br />
<span style="color: #bbbbbb;" class="mycode_color">            {</span><br />
<span style="color: #bbbbbb;" class="mycode_color">                </span><span style="color: #676f7d;" class="mycode_color">// Go back in case "Back" is pressed</span><br />
<span style="color: #bbbbbb;" class="mycode_color">                ResponseRight: </span><span style="color: #e06c75;" class="mycode_color">return</span><span style="color: #bbbbbb;" class="mycode_color"> DIALOG_BACK;</span><br />
<br />
<span style="color: #bbbbbb;" class="mycode_color">                ListItem:</span><span style="color: #e06c75;" class="mycode_color">&lt;</span><span style="color: #e5c07b;" class="mycode_color">"1 EXP"</span><span style="color: #e06c75;" class="mycode_color">&gt;</span><br />
<span style="color: #bbbbbb;" class="mycode_color">                {</span><br />
<span style="color: #bbbbbb;" class="mycode_color">                    </span><span style="color: #98c379;" class="mycode_color">SetPlayerLevel</span><span style="color: #bbbbbb;" class="mycode_color">(playerid</span><span style="color: #abb2bf;" class="mycode_color">,</span> <span style="color: #98c379;" class="mycode_color">GetPlayerLevel</span><span style="color: #bbbbbb;" class="mycode_color">(playerid) </span><span style="color: #e06c75;" class="mycode_color">+</span> <span style="color: #c678dd;" class="mycode_color">1</span><span style="color: #bbbbbb;" class="mycode_color">);</span><br />
<span style="color: #bbbbbb;" class="mycode_color">                    </span><span style="color: #98c379;" class="mycode_color">SendClientMessage</span><span style="color: #bbbbbb;" class="mycode_color">(playerid</span><span style="color: #abb2bf;" class="mycode_color">,</span> <span style="color: #e06c75;" class="mycode_color">-</span><span style="color: #c678dd;" class="mycode_color">1</span><span style="color: #abb2bf;" class="mycode_color">,</span> <span style="color: #e5c07b;" class="mycode_color">"You received {FFCC44}</span><span style="color: #56b6c2;" class="mycode_color">%d</span><span style="color: #e5c07b;" class="mycode_color"> EXP"</span><span style="color: #abb2bf;" class="mycode_color">,</span> <span style="color: #c678dd;" class="mycode_color">1</span><span style="color: #bbbbbb;" class="mycode_color">);</span><br />
<span style="color: #bbbbbb;" class="mycode_color">                    </span><span style="color: #e06c75;" class="mycode_color">return</span><span style="color: #bbbbbb;" class="mycode_color"> DIALOG_BACK;</span><br />
<span style="color: #bbbbbb;" class="mycode_color">                }</span><br />
<br />
<span style="color: #bbbbbb;" class="mycode_color">                ListItem:</span><span style="color: #e06c75;" class="mycode_color">&lt;</span><span style="color: #e5c07b;" class="mycode_color">"Enter value"</span><span style="color: #e06c75;" class="mycode_color">&gt;</span><br />
<span style="color: #bbbbbb;" class="mycode_color">                {</span><br />
<span style="color: #bbbbbb;" class="mycode_color">                    </span><span style="color: #676f7d;" class="mycode_color">// Create a dialog when selecting value input</span><br />
<span style="color: #bbbbbb;" class="mycode_color">                    Create:</span><span style="color: #e06c75;" class="mycode_color">&lt;</span><span style="color: #e5c07b;" class="mycode_color">"Get experience"</span><span style="color: #e06c75;" class="mycode_color">&gt;</span><br />
<span style="color: #bbbbbb;" class="mycode_color">                    {</span><br />
<span style="color: #bbbbbb;" class="mycode_color">                        </span><span style="color: #676f7d;" class="mycode_color">// Go back in case "Back" is pressed</span><br />
<span style="color: #bbbbbb;" class="mycode_color">                        ResponseRight: </span><span style="color: #e06c75;" class="mycode_color">return</span><span style="color: #bbbbbb;" class="mycode_color"> DIALOG_BACK;</span><br />
<br />
<span style="color: #bbbbbb;" class="mycode_color">                        InputText:</span><span style="color: #e06c75;" class="mycode_color">&lt;</span><span style="color: #e5c07b;" class="mycode_color">"Enter amount of experience"</span><span style="color: #e06c75;" class="mycode_color">&gt;</span><br />
<span style="color: #bbbbbb;" class="mycode_color">                        {</span><br />
<span style="color: #bbbbbb;" class="mycode_color">                            new exp </span><span style="color: #e06c75;" class="mycode_color">=</span> <span style="color: #98c379;" class="mycode_color">Dialog_Number</span><span style="color: #bbbbbb;" class="mycode_color">(playerid);</span><br />
<span style="color: #bbbbbb;" class="mycode_color">                            </span><span style="color: #e06c75;" class="mycode_color">if</span><span style="color: #bbbbbb;" class="mycode_color"> (exp </span><span style="color: #e06c75;" class="mycode_color">&lt;=</span> <span style="color: #c678dd;" class="mycode_color">0</span><span style="color: #bbbbbb;" class="mycode_color">)</span><br />
<span style="color: #bbbbbb;" class="mycode_color">                            {</span><br />
<span style="color: #bbbbbb;" class="mycode_color">                                </span><span style="color: #676f7d;" class="mycode_color">// Reopen the dialog if the number is not valid</span><br />
<span style="color: #bbbbbb;" class="mycode_color">                                </span><span style="color: #98c379;" class="mycode_color">SendClientMessage</span><span style="color: #bbbbbb;" class="mycode_color">(playerid</span><span style="color: #abb2bf;" class="mycode_color">,</span> <span style="color: #e06c75;" class="mycode_color">-</span><span style="color: #c678dd;" class="mycode_color">1</span><span style="color: #abb2bf;" class="mycode_color">,</span> <span style="color: #e5c07b;" class="mycode_color">"Invalid value entered!"</span><span style="color: #bbbbbb;" class="mycode_color">);</span><br />
<span style="color: #bbbbbb;" class="mycode_color">                                </span><span style="color: #e06c75;" class="mycode_color">return</span><span style="color: #bbbbbb;" class="mycode_color"> DIALOG_REOPEN;</span><br />
<span style="color: #bbbbbb;" class="mycode_color">                            }</span><br />
<br />
<span style="color: #bbbbbb;" class="mycode_color">                            </span><span style="color: #98c379;" class="mycode_color">SetPlayerLevel</span><span style="color: #bbbbbb;" class="mycode_color">(playerid</span><span style="color: #abb2bf;" class="mycode_color">,</span> <span style="color: #98c379;" class="mycode_color">GetPlayerLevel</span><span style="color: #bbbbbb;" class="mycode_color">(playerid) </span><span style="color: #e06c75;" class="mycode_color">+</span><span style="color: #bbbbbb;" class="mycode_color"> exp);</span><br />
<span style="color: #bbbbbb;" class="mycode_color">                            </span><span style="color: #98c379;" class="mycode_color">SendClientMessage</span><span style="color: #bbbbbb;" class="mycode_color">(playerid</span><span style="color: #abb2bf;" class="mycode_color">,</span> <span style="color: #e06c75;" class="mycode_color">-</span><span style="color: #c678dd;" class="mycode_color">1</span><span style="color: #abb2bf;" class="mycode_color">,</span> <span style="color: #e5c07b;" class="mycode_color">"You received {FFCC44}</span><span style="color: #56b6c2;" class="mycode_color">%d</span><span style="color: #e5c07b;" class="mycode_color"> EXP"</span><span style="color: #abb2bf;" class="mycode_color">,</span><span style="color: #bbbbbb;" class="mycode_color"> exp);</span><br />
<br />
<span style="color: #bbbbbb;" class="mycode_color">                            </span><span style="color: #e06c75;" class="mycode_color">return</span><span style="color: #bbbbbb;" class="mycode_color"> DIALOG_BACK;</span><br />
<span style="color: #bbbbbb;" class="mycode_color">                        }</span><br />
<span style="color: #bbbbbb;" class="mycode_color">                    }</span><br />
<span style="color: #bbbbbb;" class="mycode_color">                    Button:</span><span style="color: #e06c75;" class="mycode_color">&lt;</span><span style="color: #e5c07b;" class="mycode_color">"Give"</span><span style="color: #abb2bf;" class="mycode_color">,</span> <span style="color: #e5c07b;" class="mycode_color">"Back"</span><span style="color: #e06c75;" class="mycode_color">&gt;</span><span style="color: #bbbbbb;" class="mycode_color">;</span><br />
<span style="color: #bbbbbb;" class="mycode_color">                }</span><br />
<span style="color: #bbbbbb;" class="mycode_color">            }</span><br />
<span style="color: #bbbbbb;" class="mycode_color">            Button:</span><span style="color: #e06c75;" class="mycode_color">&lt;</span><span style="color: #e5c07b;" class="mycode_color">"Select"</span><span style="color: #abb2bf;" class="mycode_color">,</span> <span style="color: #e5c07b;" class="mycode_color">"Back"</span><span style="color: #e06c75;" class="mycode_color">&gt;</span><span style="color: #bbbbbb;" class="mycode_color">;</span><br />
<span style="color: #bbbbbb;" class="mycode_color">        }</span><br />
<span style="color: #bbbbbb;" class="mycode_color">    }</span><br />
<span style="color: #bbbbbb;" class="mycode_color">    Button:</span><span style="color: #e06c75;" class="mycode_color">&lt;</span><span style="color: #e5c07b;" class="mycode_color">"Select"</span><span style="color: #abb2bf;" class="mycode_color">,</span> <span style="color: #e5c07b;" class="mycode_color">"Close"</span><span style="color: #e06c75;" class="mycode_color">&gt;</span><span style="color: #bbbbbb;" class="mycode_color">;</span><br />
<span style="color: #bbbbbb;" class="mycode_color">}</span><br />
<span style="color: #bbbbbb;" class="mycode_color">```</span></span></span>]]></description>
			<content:encoded><![CDATA[<span style="color: #bbbbbb;" class="mycode_color"><span style="font-family: Consolas, 'Courier New', monospace;" class="mycode_font"><span style="color: #e06c75;" class="mycode_color"><span style="font-size: x-large;" class="mycode_size">LiveDialogs</span></span><br />
<br />
<a href="https://github.com/vawylon/LiveDialogs" target="_blank" rel="noopener" class="mycode_url">https://github.com/vawylon/LiveDialogs</a><br />
<br />
<span style="color: #bbbbbb;" class="mycode_color">LiveDialogs — Allows you to write multi-level dialogs in a single function without duplicating logic between “opening” and “handling the response”.</span><br />
<br />
<span style="color: #e06c75;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b"><span style="font-size: medium;" class="mycode_size">Example:</span></span></span><br />
<br />
<span style="color: #bbbbbb;" class="mycode_color">```c</span><br />
<span style="color: #bbbbbb;" class="mycode_color">CMD:</span><span style="color: #98c379;" class="mycode_color">menu</span><span style="color: #bbbbbb;" class="mycode_color">(playerid) {</span><br />
<span style="color: #bbbbbb;" class="mycode_color">    </span><span style="color: #98c379;" class="mycode_color">Dialog_Create</span><span style="color: #bbbbbb;" class="mycode_color">(playerid</span><span style="color: #abb2bf;" class="mycode_color">,</span><span style="color: #bbbbbb;" class="mycode_color"> Dialog:Menu);</span><br />
<span style="color: #bbbbbb;" class="mycode_color">}</span><br />
<br />
<span style="color: #bbbbbb;" class="mycode_color">dialog </span><span style="color: #98c379;" class="mycode_color">Menu</span><span style="color: #bbbbbb;" class="mycode_color">(playerid)</span><br />
<span style="color: #bbbbbb;" class="mycode_color">{</span><br />
<span style="color: #bbbbbb;" class="mycode_color">    Create:</span><span style="color: #e06c75;" class="mycode_color">&lt;</span><span style="color: #e5c07b;" class="mycode_color">"Money"</span><span style="color: #e06c75;" class="mycode_color">&gt;</span><br />
<span style="color: #bbbbbb;" class="mycode_color">    {</span><br />
<span style="color: #bbbbbb;" class="mycode_color">        </span><span style="color: #676f7d;" class="mycode_color">// when pressing "Back" we will close the dialog</span><br />
<span style="color: #bbbbbb;" class="mycode_color">        ResponseRight: </span><span style="color: #e06c75;" class="mycode_color">return</span><span style="color: #bbbbbb;" class="mycode_color"> DIALOG_CLOSE;</span><br />
<br />
<span style="color: #bbbbbb;" class="mycode_color">        </span><span style="color: #676f7d;" class="mycode_color">// using a loop we create 10 items</span><br />
<span style="color: #bbbbbb;" class="mycode_color">        </span><span style="color: #e06c75;" class="mycode_color">for</span><span style="color: #bbbbbb;" class="mycode_color"> (new i </span><span style="color: #e06c75;" class="mycode_color">=</span> <span style="color: #c678dd;" class="mycode_color">1</span><span style="color: #abb2bf;" class="mycode_color">,</span><span style="color: #bbbbbb;" class="mycode_color"> amount; i </span><span style="color: #e06c75;" class="mycode_color">&lt;=</span> <span style="color: #c678dd;" class="mycode_color">10</span><span style="color: #bbbbbb;" class="mycode_color">; i</span><span style="color: #e06c75;" class="mycode_color">++</span><span style="color: #bbbbbb;" class="mycode_color">) {</span><br />
<span style="color: #bbbbbb;" class="mycode_color">            new amount </span><span style="color: #e06c75;" class="mycode_color">=</span><span style="color: #bbbbbb;" class="mycode_color"> i </span><span style="color: #e06c75;" class="mycode_color">*</span> <span style="color: #c678dd;" class="mycode_color">20000</span><span style="color: #bbbbbb;" class="mycode_color">;</span><br />
<span style="color: #bbbbbb;" class="mycode_color">            ListItem:</span><span style="color: #e06c75;" class="mycode_color">&lt;</span><span style="color: #e5c07b;" class="mycode_color">"Get </span><span style="color: #56b6c2;" class="mycode_color">%d</span><span style="color: #e5c07b;" class="mycode_color">&#36;"</span><span style="color: #abb2bf;" class="mycode_color">,</span><span style="color: #bbbbbb;" class="mycode_color"> amount</span><span style="color: #e06c75;" class="mycode_color">&gt;</span><br />
<span style="color: #bbbbbb;" class="mycode_color">            {</span><br />
<span style="color: #bbbbbb;" class="mycode_color">                </span><span style="color: #98c379;" class="mycode_color">GivePlayerMoney</span><span style="color: #bbbbbb;" class="mycode_color">(playerid</span><span style="color: #abb2bf;" class="mycode_color">,</span><span style="color: #bbbbbb;" class="mycode_color"> amount);</span><br />
<span style="color: #bbbbbb;" class="mycode_color">                </span><span style="color: #98c379;" class="mycode_color">SendClientMessage</span><span style="color: #bbbbbb;" class="mycode_color">(playerid</span><span style="color: #abb2bf;" class="mycode_color">,</span> <span style="color: #e06c75;" class="mycode_color">-</span><span style="color: #c678dd;" class="mycode_color">1</span><span style="color: #abb2bf;" class="mycode_color">,</span> <span style="color: #e5c07b;" class="mycode_color">"You received {44FF44}</span><span style="color: #56b6c2;" class="mycode_color">%d</span><span style="color: #e5c07b;" class="mycode_color">&#36;"</span><span style="color: #abb2bf;" class="mycode_color">,</span><span style="color: #bbbbbb;" class="mycode_color"> amount);</span><br />
<span style="color: #bbbbbb;" class="mycode_color">                </span><span style="color: #e06c75;" class="mycode_color">return</span><span style="color: #bbbbbb;" class="mycode_color"> DIALOG_REOPEN;</span><span style="color: #676f7d;" class="mycode_color"> // Reopen the dialog</span><br />
<span style="color: #bbbbbb;" class="mycode_color">            }</span><br />
<span style="color: #bbbbbb;" class="mycode_color">        }</span><br />
<br />
<span style="color: #bbbbbb;" class="mycode_color">        ListItem:</span><span style="color: #e06c75;" class="mycode_color">&lt;</span><span style="color: #e5c07b;" class="mycode_color">"Experience"</span><span style="color: #e06c75;" class="mycode_color">&gt;</span><br />
<span style="color: #bbbbbb;" class="mycode_color">        {</span><br />
<span style="color: #bbbbbb;" class="mycode_color">            </span><span style="color: #676f7d;" class="mycode_color">// Dialog when selecting the "Experience" item</span><br />
<span style="color: #bbbbbb;" class="mycode_color">            Create:</span><span style="color: #e06c75;" class="mycode_color">&lt;</span><span style="color: #e5c07b;" class="mycode_color">"Get experience"</span><span style="color: #e06c75;" class="mycode_color">&gt;</span><br />
<span style="color: #bbbbbb;" class="mycode_color">            {</span><br />
<span style="color: #bbbbbb;" class="mycode_color">                </span><span style="color: #676f7d;" class="mycode_color">// Go back in case "Back" is pressed</span><br />
<span style="color: #bbbbbb;" class="mycode_color">                ResponseRight: </span><span style="color: #e06c75;" class="mycode_color">return</span><span style="color: #bbbbbb;" class="mycode_color"> DIALOG_BACK;</span><br />
<br />
<span style="color: #bbbbbb;" class="mycode_color">                ListItem:</span><span style="color: #e06c75;" class="mycode_color">&lt;</span><span style="color: #e5c07b;" class="mycode_color">"1 EXP"</span><span style="color: #e06c75;" class="mycode_color">&gt;</span><br />
<span style="color: #bbbbbb;" class="mycode_color">                {</span><br />
<span style="color: #bbbbbb;" class="mycode_color">                    </span><span style="color: #98c379;" class="mycode_color">SetPlayerLevel</span><span style="color: #bbbbbb;" class="mycode_color">(playerid</span><span style="color: #abb2bf;" class="mycode_color">,</span> <span style="color: #98c379;" class="mycode_color">GetPlayerLevel</span><span style="color: #bbbbbb;" class="mycode_color">(playerid) </span><span style="color: #e06c75;" class="mycode_color">+</span> <span style="color: #c678dd;" class="mycode_color">1</span><span style="color: #bbbbbb;" class="mycode_color">);</span><br />
<span style="color: #bbbbbb;" class="mycode_color">                    </span><span style="color: #98c379;" class="mycode_color">SendClientMessage</span><span style="color: #bbbbbb;" class="mycode_color">(playerid</span><span style="color: #abb2bf;" class="mycode_color">,</span> <span style="color: #e06c75;" class="mycode_color">-</span><span style="color: #c678dd;" class="mycode_color">1</span><span style="color: #abb2bf;" class="mycode_color">,</span> <span style="color: #e5c07b;" class="mycode_color">"You received {FFCC44}</span><span style="color: #56b6c2;" class="mycode_color">%d</span><span style="color: #e5c07b;" class="mycode_color"> EXP"</span><span style="color: #abb2bf;" class="mycode_color">,</span> <span style="color: #c678dd;" class="mycode_color">1</span><span style="color: #bbbbbb;" class="mycode_color">);</span><br />
<span style="color: #bbbbbb;" class="mycode_color">                    </span><span style="color: #e06c75;" class="mycode_color">return</span><span style="color: #bbbbbb;" class="mycode_color"> DIALOG_BACK;</span><br />
<span style="color: #bbbbbb;" class="mycode_color">                }</span><br />
<br />
<span style="color: #bbbbbb;" class="mycode_color">                ListItem:</span><span style="color: #e06c75;" class="mycode_color">&lt;</span><span style="color: #e5c07b;" class="mycode_color">"Enter value"</span><span style="color: #e06c75;" class="mycode_color">&gt;</span><br />
<span style="color: #bbbbbb;" class="mycode_color">                {</span><br />
<span style="color: #bbbbbb;" class="mycode_color">                    </span><span style="color: #676f7d;" class="mycode_color">// Create a dialog when selecting value input</span><br />
<span style="color: #bbbbbb;" class="mycode_color">                    Create:</span><span style="color: #e06c75;" class="mycode_color">&lt;</span><span style="color: #e5c07b;" class="mycode_color">"Get experience"</span><span style="color: #e06c75;" class="mycode_color">&gt;</span><br />
<span style="color: #bbbbbb;" class="mycode_color">                    {</span><br />
<span style="color: #bbbbbb;" class="mycode_color">                        </span><span style="color: #676f7d;" class="mycode_color">// Go back in case "Back" is pressed</span><br />
<span style="color: #bbbbbb;" class="mycode_color">                        ResponseRight: </span><span style="color: #e06c75;" class="mycode_color">return</span><span style="color: #bbbbbb;" class="mycode_color"> DIALOG_BACK;</span><br />
<br />
<span style="color: #bbbbbb;" class="mycode_color">                        InputText:</span><span style="color: #e06c75;" class="mycode_color">&lt;</span><span style="color: #e5c07b;" class="mycode_color">"Enter amount of experience"</span><span style="color: #e06c75;" class="mycode_color">&gt;</span><br />
<span style="color: #bbbbbb;" class="mycode_color">                        {</span><br />
<span style="color: #bbbbbb;" class="mycode_color">                            new exp </span><span style="color: #e06c75;" class="mycode_color">=</span> <span style="color: #98c379;" class="mycode_color">Dialog_Number</span><span style="color: #bbbbbb;" class="mycode_color">(playerid);</span><br />
<span style="color: #bbbbbb;" class="mycode_color">                            </span><span style="color: #e06c75;" class="mycode_color">if</span><span style="color: #bbbbbb;" class="mycode_color"> (exp </span><span style="color: #e06c75;" class="mycode_color">&lt;=</span> <span style="color: #c678dd;" class="mycode_color">0</span><span style="color: #bbbbbb;" class="mycode_color">)</span><br />
<span style="color: #bbbbbb;" class="mycode_color">                            {</span><br />
<span style="color: #bbbbbb;" class="mycode_color">                                </span><span style="color: #676f7d;" class="mycode_color">// Reopen the dialog if the number is not valid</span><br />
<span style="color: #bbbbbb;" class="mycode_color">                                </span><span style="color: #98c379;" class="mycode_color">SendClientMessage</span><span style="color: #bbbbbb;" class="mycode_color">(playerid</span><span style="color: #abb2bf;" class="mycode_color">,</span> <span style="color: #e06c75;" class="mycode_color">-</span><span style="color: #c678dd;" class="mycode_color">1</span><span style="color: #abb2bf;" class="mycode_color">,</span> <span style="color: #e5c07b;" class="mycode_color">"Invalid value entered!"</span><span style="color: #bbbbbb;" class="mycode_color">);</span><br />
<span style="color: #bbbbbb;" class="mycode_color">                                </span><span style="color: #e06c75;" class="mycode_color">return</span><span style="color: #bbbbbb;" class="mycode_color"> DIALOG_REOPEN;</span><br />
<span style="color: #bbbbbb;" class="mycode_color">                            }</span><br />
<br />
<span style="color: #bbbbbb;" class="mycode_color">                            </span><span style="color: #98c379;" class="mycode_color">SetPlayerLevel</span><span style="color: #bbbbbb;" class="mycode_color">(playerid</span><span style="color: #abb2bf;" class="mycode_color">,</span> <span style="color: #98c379;" class="mycode_color">GetPlayerLevel</span><span style="color: #bbbbbb;" class="mycode_color">(playerid) </span><span style="color: #e06c75;" class="mycode_color">+</span><span style="color: #bbbbbb;" class="mycode_color"> exp);</span><br />
<span style="color: #bbbbbb;" class="mycode_color">                            </span><span style="color: #98c379;" class="mycode_color">SendClientMessage</span><span style="color: #bbbbbb;" class="mycode_color">(playerid</span><span style="color: #abb2bf;" class="mycode_color">,</span> <span style="color: #e06c75;" class="mycode_color">-</span><span style="color: #c678dd;" class="mycode_color">1</span><span style="color: #abb2bf;" class="mycode_color">,</span> <span style="color: #e5c07b;" class="mycode_color">"You received {FFCC44}</span><span style="color: #56b6c2;" class="mycode_color">%d</span><span style="color: #e5c07b;" class="mycode_color"> EXP"</span><span style="color: #abb2bf;" class="mycode_color">,</span><span style="color: #bbbbbb;" class="mycode_color"> exp);</span><br />
<br />
<span style="color: #bbbbbb;" class="mycode_color">                            </span><span style="color: #e06c75;" class="mycode_color">return</span><span style="color: #bbbbbb;" class="mycode_color"> DIALOG_BACK;</span><br />
<span style="color: #bbbbbb;" class="mycode_color">                        }</span><br />
<span style="color: #bbbbbb;" class="mycode_color">                    }</span><br />
<span style="color: #bbbbbb;" class="mycode_color">                    Button:</span><span style="color: #e06c75;" class="mycode_color">&lt;</span><span style="color: #e5c07b;" class="mycode_color">"Give"</span><span style="color: #abb2bf;" class="mycode_color">,</span> <span style="color: #e5c07b;" class="mycode_color">"Back"</span><span style="color: #e06c75;" class="mycode_color">&gt;</span><span style="color: #bbbbbb;" class="mycode_color">;</span><br />
<span style="color: #bbbbbb;" class="mycode_color">                }</span><br />
<span style="color: #bbbbbb;" class="mycode_color">            }</span><br />
<span style="color: #bbbbbb;" class="mycode_color">            Button:</span><span style="color: #e06c75;" class="mycode_color">&lt;</span><span style="color: #e5c07b;" class="mycode_color">"Select"</span><span style="color: #abb2bf;" class="mycode_color">,</span> <span style="color: #e5c07b;" class="mycode_color">"Back"</span><span style="color: #e06c75;" class="mycode_color">&gt;</span><span style="color: #bbbbbb;" class="mycode_color">;</span><br />
<span style="color: #bbbbbb;" class="mycode_color">        }</span><br />
<span style="color: #bbbbbb;" class="mycode_color">    }</span><br />
<span style="color: #bbbbbb;" class="mycode_color">    Button:</span><span style="color: #e06c75;" class="mycode_color">&lt;</span><span style="color: #e5c07b;" class="mycode_color">"Select"</span><span style="color: #abb2bf;" class="mycode_color">,</span> <span style="color: #e5c07b;" class="mycode_color">"Close"</span><span style="color: #e06c75;" class="mycode_color">&gt;</span><span style="color: #bbbbbb;" class="mycode_color">;</span><br />
<span style="color: #bbbbbb;" class="mycode_color">}</span><br />
<span style="color: #bbbbbb;" class="mycode_color">```</span></span></span>]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[OpenGate (Open Proximity Gates)]]></title>
			<link>https://forum.open.mp/showthread.php?tid=3669</link>
			<pubDate>Thu, 13 Nov 2025 18:46:39 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://forum.open.mp/member.php?action=profile&uid=6645">Crazy_ArKzX</a>]]></dc:creator>
			<guid isPermaLink="false">https://forum.open.mp/showthread.php?tid=3669</guid>
			<description><![CDATA[With This Include You Can Open Gates Only By Approaching Them <br />
<br />
Demonstration:<br />
<iframe width="560" height="315" src="//www.youtube-nocookie.com/embed/NexNcZS4BEU" frameborder="0" allowfullscreen="true"></iframe><br />
<br />
Download: <a href="https://github.com/crazy-arkzx/opengate" target="_blank" rel="noopener" class="mycode_url">https://github.com/crazy-arkzx/opengate</a>]]></description>
			<content:encoded><![CDATA[With This Include You Can Open Gates Only By Approaching Them <br />
<br />
Demonstration:<br />
<iframe width="560" height="315" src="//www.youtube-nocookie.com/embed/NexNcZS4BEU" frameborder="0" allowfullscreen="true"></iframe><br />
<br />
Download: <a href="https://github.com/crazy-arkzx/opengate" target="_blank" rel="noopener" class="mycode_url">https://github.com/crazy-arkzx/opengate</a>]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[EVO Anti-Cheat]]></title>
			<link>https://forum.open.mp/showthread.php?tid=3209</link>
			<pubDate>Sat, 05 Jul 2025 13:43:17 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://forum.open.mp/member.php?action=profile&uid=7251">Eduardo_AC</a>]]></dc:creator>
			<guid isPermaLink="false">https://forum.open.mp/showthread.php?tid=3209</guid>
			<description><![CDATA[<div style="text-align: center;" class="mycode_align"><img src="https://i.ibb.co/Kc0XnPRR/Sem-titulo-2.png" loading="lazy"  width="200" height="150" alt="[Image: Sem-titulo-2.png]" class="mycode_img" /><br />
<span style="font-size: xx-large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b"><span style="color: #00369b;" class="mycode_color">EVO Anti-Cheat 1.3</span></span></span><br />
</div>
<br />
<br />
<span style="color: #00369b;" class="mycode_color"><span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">About:</span></span></span><br />
<span style="color: #00369b;" class="mycode_color"><br />
<span style="color: #000000;" class="mycode_color">This is a new server-side anti-cheat developed for OpenMP, whose goal is to have security and absolute control over the player's data (info).</span></span><br />
<br />
<span style="color: #00369b;" class="mycode_color"><span style="color: #000000;" class="mycode_color">It is currently in constant development, still having some inconsistencies in certain situations, but it already has dozens of detections and is currently being used for testing on a PvP server, having great feedback </span><span style="color: #000000;" class="mycode_color">from the project management.</span></span><br />
<br />
<br />
<br />
<br />
<br />
<span style="color: #00369b;" class="mycode_color"><span style="color: #000000;" class="mycode_color"><span style="color: #00369b;" class="mycode_color"><span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Detection configuration:</span></span></span></span></span><br />
<br />
<br />
As this is a closed-source anti-cheat, it has an external configuration file that can be reloaded at any time.<br />
<br />
<span style="color: #00369b;" class="mycode_color"><span style="color: #000000;" class="mycode_color">The configuration file currently has just over 200 configuration entries, where it is possible to parameterize exactly how each cheat that allows an external configuration should be detected.</span></span><br />
<br />
<br />
<br />
<span style="color: #00369b;" class="mycode_color"><span style="color: #000000;" class="mycode_color">Below are some of the configuration entries for better understanding:<br />
</span></span><div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>cbug_speed_limit=<br />
cbug_alert_count=<br />
auto_cbug_speed_limit=<br />
auto_cbug_alert_count=<br />
armour_delay_check=<br />
armour_alert_count=<br />
health_delay_check=<br />
health_alert_count=<br />
driveby_delay_check=<br />
fakekill_kill_flood_sequence_time=<br />
fakekill_death_flood_sequence_time=<br />
fakekill_kill_flood_alert_coun t=<br />
fakekill_death_flood_alert_count=<br />
fastrun_distance=<br />
fastrun_distance_alert_count=<br />
incoming_connection_alert_count=<br />
incoming_connection_sequence_delay=<br />
interior_delay_check=<br />
interior_alert_count=<br />
virtual_world_delay_check=<br />
virtual_world_alert_count=<br />
special_action_delay_check=<br />
money_delay_check=</code></div></div><br />
<br />
<span style="color: #00369b;" class="mycode_color"><span style="color: #000000;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b"><span style="color: #00369b;" class="mycode_color"><span style="font-size: large;" class="mycode_size">Security:</span></span></span></span></span><br />
<br />
Any information in SA:MP can be easily manipulated, which can mess up the entire economy and the gameplay of others.<br />
<br />
<span style="color: #00369b;" class="mycode_color"><span style="color: #000000;" class="mycode_color">Currently, with the use of this anti-cheat, it is possible to recover correct information from the data of players who use cheats to manipulate them, such as health, armour, skin, weapons, ammo, attacked objects, etc., so that even when manipulating the information, it is not possible to maintain it during the data saving, thus creating an extra layer of validation in the information and ensuring the protection of each player's data against any type of external change.</span></span><br />
<br />
<br />
<br />
<br />
<br />
<span style="font-weight: bold;" class="mycode_b"><span style="color: #00369b;" class="mycode_color"><span style="font-size: large;" class="mycode_size">Configuration control:</span></span></span><br />
<ul class="mycode_list"><li>Set when the anti-cheat should start for a specific player<br />
</li>
<li>Set when the anti-cheat should stop for a specific player<br />
</li>
<li>Set when the anti-cheat should pause or resume checking a specific cheat for a specific player<br />
</li>
<li>Change and reload the anti-cheat settings at any time without having to restart the server or reload the filterscript<br />
</li>
</ul>
<br />
<br />
<span style="font-weight: bold;" class="mycode_b"><span style="color: #00369b;" class="mycode_color"><span style="font-size: large;" class="mycode_size">OS Compatibility:</span></span></span><br />
<br />
All anti-cheat dependencies can be obtained for both Linux and Windows.<br />
The anti-cheat is a filterscript, so it can be easily implemented like any other external script.<br />
<br />
<br />
<span style="font-weight: bold;" class="mycode_b"><span style="color: #00369b;" class="mycode_color"><span style="font-size: large;" class="mycode_size">Game Mode Compatibility:</span></span></span><br />
<br />
Since it is a robust anti-cheat with dozens of detections, an external configuration was created to adjust the detections according to the game mode or taste.<br />
In a roleplay server, for example, the detections can be more sensitive, while for a PvP it is necessary to make weapon-related detections less sensitive or race-related detections less sensitive.<br />
You can completely configure each detection as you prefer.<br />
<br />
<br />
<span style="font-weight: bold;" class="mycode_b"><span style="color: #00369b;" class="mycode_color"><span style="font-size: large;" class="mycode_size">Detection approach:</span></span></span><br />
<br />
The server is <span style="text-decoration: underline;" class="mycode_u">completely independent</span> in deciding what to do about the detection.<br />
For this, a library (evo_ac.inc) is provided containing all the information needed to apply the punishments and configurations.<br />
Unlike most anti-cheats, this one generates an individual call in the respective callback informing more details about the detection.<br />
<br />
Some callbacks:<br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>AC_OnInvalidCameraCrasher(playerid, cam_mode)<br />
AC_OnPlayerAmmo(playerid, old_ammo, new_ammo, weaponid)<br />
AC_OnPlayerArmour(playerid, Float:old_armour, Float:new_armour)<br />
AC_OnPlayerCBug(playerid, speed)<br />
AC_OnPlayerAutoCBug(playerid, speed)<br />
AC_OnPlayerCheckpoint(playerid)<br />
AC_OnPlayerDamageFlood(playerid, damagedid, weaponid, damage_count)</code></div></div><br />
<br />
<span style="font-weight: bold;" class="mycode_b"><span style="color: #00369b;" class="mycode_color"><span style="font-size: large;" class="mycode_size">Damage control:</span></span></span><br />
<br />
With Evo Anti-Cheat's damage control, even using cheat, the player's life decreases and if it doesn't decrease (through RPC blocks) there is no problem, because the player's life and vest are The player's health is handled unilaterally, that is, the client's (player's) health and vest are just another visual piece of information, just like money. So, for example, if the player's health is zero on the server, but on his screen his health is full due to RPC blocking, it will be considered cheating and will call the functions corresponding to the cheat.<br />
<br />
It is also possible to configure the damage in different situations:<br />
<ul class="mycode_list"><li>Body parts<br />
- For custom damage in 7 areas of the body<br />
</li>
<li>Range<br />
- Automatically blocks shots fired outside the defined range<br />
</li>
<li>Damage blocking in body parts<br />
- For custom damage blocking in 7 areas of the body<br />
</li>
<li>Permission/block to give/receive damage<br />
- To allow and/or block damage given or received to players<br />
</li>
</ul>
<br />
<br />
<span style="font-weight: bold;" class="mycode_b"><span style="color: #00369b;" class="mycode_color"><span style="font-size: large;" class="mycode_size">Detections (so far):</span></span></span><br />
<ul class="mycode_list"><li>Armor<br />
</li>
<li>C-Bug<br />
</li>
<li>Auto C-Bug<br />
</li>
<li>Car Fly<br />
</li>
<li>Dialog Spoof<br />
</li>
<li>Drive-By<br />
</li>
<li>Fake Kill/Death (<span style="font-style: italic;" class="mycode_i"><span style="color: #005dc2;" class="mycode_color">flood</span></span>)<br />
</li>
<li>Fast Run<br />
</li>
<li>GodMode<br />
</li>
<li>Health<br />
</li>
<li>Connection Flood<br />
</li>
<li>Interior<br />
</li>
<li>Special Action (<span style="font-style: italic;" class="mycode_i"><span style="color: #005dc2;" class="mycode_color">All</span></span>)<br />
</li>
<li>Money<br />
</li>
<li>Multi Connection<br />
</li>
<li>No Fall Damage<br />
</li>
<li>Ping<br />
</li>
<li>Player Checkpoint<br />
</li>
<li>Player Position (<span style="font-style: italic;" class="mycode_i"><span style="color: #005dc2;" class="mycode_color">Fly, Airbreak, Teleport</span></span>)<br />
</li>
<li>Race Checkpoint<br />
</li>
<li>Skin<br />
</li>
<li>Vehicle Fast Enter/Exit<br />
</li>
<li>Vehicle Health<br />
</li>
<li>Vehicle Mod (<span style="font-style: italic;" class="mycode_i"><span style="color: #005dc2;" class="mycode_color">Invalid, Cheat</span></span>)<br />
</li>
<li>Vehicle Speed<br />
</li>
<li>Virtual World<br />
</li>
<li>Weapon (<span style="font-style: italic;" class="mycode_i"><span style="color: #005dc2;" class="mycode_color">Forbbiden, Invalid, Cheat</span></span>)<br />
</li>
<li>Ammo (<span style="font-style: italic;" class="mycode_i"><span style="color: #005dc2;" class="mycode_color">Infinite, Invalid, Cheat</span></span>)<br />
</li>
<li>Rapid Fire<br />
</li>
<li>Free Cam<br />
</li>
<li>Player Velocity (<span style="font-style: italic;" class="mycode_i"><span style="color: #005dc2;" class="mycode_color">troll</span></span>)<br />
</li>
<li>Vehicle Velocity (<span style="font-style: italic;" class="mycode_i"><span style="color: #005dc2;" class="mycode_color">troll</span></span>)<br />
</li>
<li>Fake AFK<br />
</li>
<li>Fake Lag<br />
</li>
<li>Invisible<br />
</li>
<li>Damage (<span style="font-style: italic;" class="mycode_i"><span style="color: #005dc2;" class="mycode_color">Invalid, Flood</span></span>)<br />
</li>
<li>Silent Aim<br />
</li>
<li>Pro Aim<br />
</li>
<li>Quick Vehicle Change (<span style="font-style: italic;" class="mycode_i"><span style="color: #005dc2;" class="mycode_color">shot, pull, teleport</span></span>)<br />
</li>
<li>Anti Kick<br />
</li>
<li>Invalid Bullet Crasher<br />
</li>
<li>Invalid Damage Crasher<br />
</li>
<li>Invalid Camera Crasher<br />
</li>
<li>NOP (<span style="font-style: italic;" class="mycode_i"><span style="color: #005dc2;" class="mycode_color">TogglePlayerSpectating, TogglePlayerControllable, RemovePlayerFromVehicle, SpawnPlayer, SetPlayerPos</span></span>)<br />
</li>
<li>Attached Objects (<span style="font-style: italic;" class="mycode_i"><span style="color: #005dc2;" class="mycode_color">Full protection</span></span>)<br />
</li>
<li>RCon <span style="color: #ff4136;" class="mycode_color">[new]</span><br />
</li>
<li>Force Spawn<span style="color: #ff4136;" class="mycode_color"> [new]</span><br />
</li>
<li>Fast Respawn<span style="color: #ff4136;" class="mycode_color"> [new]</span><br />
</li>
<li>Flood Cheats <span style="color: #ff4136;" class="mycode_color">[new]</span><br />
</li>
</ul>
<br />
<span style="font-weight: bold;" class="mycode_b"><span style="color: #00369b;" class="mycode_color"><span style="font-size: large;" class="mycode_size">Resources required:</span></span></span><br />
<ol type="1" class="mycode_list"><li><span style="color: #9a00b2;" class="mycode_color">[Plugin]</span> <span style="font-style: italic;" class="mycode_i">GVar</span><br />
</li>
</ol>
<br />
<br />
<span style="font-weight: bold;" class="mycode_b"><span style="color: #00369b;" class="mycode_color"><span style="font-size: large;" class="mycode_size">Functions added so far:</span></span></span><br />
<br />
<span style="font-style: italic;" class="mycode_i"><span style="font-weight: bold;" class="mycode_b"><span style="color: #00369b;" class="mycode_color">Anti-cheat configuration:</span></span></span><br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>stock EAC_InitPlayerAC(playerid) // Starts the anti-cheat for the player<br />
stock EAC_StopPlayerAC(playerid) // Stops the anti-cheat for the player<br />
stock EAC_IsActivePlayerAC(playerid) // Checks if the anti-cheat is active (started) for the player<br />
stock EAC_PausePlayerAC(playerid, bool:pause, cheatid = -1) // Pauses a given protection for the player<br />
stock EAC_IsPausedPlayerAC(playerid, cheatid) // Returns if a given protection is paused for the player<br />
stock EAC_GetCheatNameAC(cheatid) // Returns the name of the cheat with base no index<br />
stock EAC_ReloadSettings(const file[]) // If you change the configuration file, you can reload the configuration in real time without restarting or reloading the filterscript<br />
stock EAC_Auth(const token[]) // Authenticate the anti-cheat token to enable it</code></div></div><br />
Damage control:<br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>stock EWD_SetPlayerWeaponRange(playerid, weaponid, Float:range) // Change the range of a given weapon for the player<br />
stock Float:EWD_GetPlayerWeaponRange(playerid, weaponid) // Returns the range of a given weapon for the player<br />
stock EWD_SetPlayerWeaponDamage(playerid, weaponid, Float:amount) // Change the damage of a given weapon for the player<br />
stock Float:EWD_GetPlayerWeaponDamage(playerid, weaponid) // Returns the damage of a given weapon of the player<br />
stock EWD_SetPlayerBodyHitDamage(playerid, weaponid, bodypart, Float:amount) // Changes the damage of a given weapon and body part for the player<br />
stock Float:EWD_GetPlayerBodyHitDamage(playerid, weaponid, bodypart) // Returns the damage of a given weapon and body part for the player<br />
stock EWD_BlockPlayerBodyHitDamage(playerid, weaponid, bodypart, Float:amount) // Changes the damage block of a given weapon and body part for the player<br />
stock Float:EWD_GetPlayerBlockedBodyHitDamage(playerid, weaponid, bodypart) // Returns the damage block of a given weapon and body part for the player<br />
stock EWD_BlockPlayerArmourHitDamage(playerid, weaponid, bodypart, Float:amount) // Changes the damage block of a given weapon, exclusively if wearing a vest, for the player<br />
stock Float:EWD_GetPlayerBlockedArmourHitDamage(playerid, weaponid, bodypart) // Returns the damage block of a given weapon, exclusively if using a vest, of the player<br />
stock EWD_TogglePlayerGiveBulletDamage(playerid, bool:toggle) // Enables/Disables the damage sent from the player<br />
stock EWD_IsPlayerGivingBulletDamage(playerid) // Returns whether the damage sent from the player is enabled or not<br />
stock EWD_TogglePlayerTakeBulletDamage(playerid, bool:toggle) // Enables/Disables the damage received from the player<br />
stock EWD_IsPlayerTakingBulletDamage(playerid) // Returns whether the damage received from the player is enabled or not<br />
stock EWD_EnablePlayerFriendlyFire(playerid, bool:enable) // Enables/Disables the damage sent to players on the same team</code></div></div><br />
<br />
<span style="font-style: italic;" class="mycode_i"><span style="font-weight: bold;" class="mycode_b"><span style="color: #00369b;" class="mycode_color">Additional functions:</span></span><br />
</span><br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>stock EAC_SetPlayerGodMode(playerid, bool:active) // Enables/Disables player's God mode<br />
stock EAC_IsPlayerInGodMode(playerid) // Returns whether the player is in God mode or not<br />
stock EAC_SetPlayerMoney(playerid, money) // Sets the player's money<br />
stock EAC_UpdatePlayerMoney(playerid) // Only updates the player's money on the screen based on the anti-cheat memory<br />
stock EAC_GetPlayerFreeAttachedObjectSlot(playerid) // Returns the first free slot for attacked objects on the player's body<br />
stock EAC_GetPlayerAttachedObjectModelIndex(playerid, modelid) // Returns the index of the attacked object on the player's body based on the object's model<br />
stock EAC_GetPlayerAttachedObjectModel(playerid, index) // Returns the model of the attacked object on the player's body player based on the anti-cheat's index and memory (and not on the client's date)<br />
stock EAC_ApplyPlayerAttachedObjects(playerid) // Applies the attacked objects to the player's body based on the anti-cheat's memory<br />
stock EAC_GiveAllPlayerWeapons(playerid, delay = 0) // Resets the player's weapons and provides those in the anti-cheat's memory, with the option to apply with a delay<br />
stock EAC_GetPlayerWeaponData(playerid, slot, &amp;weapons, &amp;ammo) // Returns the player's weapons, based on the anti-cheat's memory (and not on the client's date)<br />
stock EAC_SetPlayerWeapon(playerid, weaponid, ammo) // Sets a specific weapon for the player<br />
stock EAC_IsValidPlayerWeapon(playerid, weaponid) // Returns whether a given player's weapon was designed based on the server (and not on the client's date) client)</code></div></div><br />
<br />
<span style="font-weight: bold;" class="mycode_b"><span style="font-size: small;" class="mycode_size"><span style="font-size: large;" class="mycode_size"><span style="color: #00369b;" class="mycode_color"><span style="font-size: large;" class="mycode_size">Project maintenance:</span></span></span></span></span><br />
<br />
Despite being recent, it is a solid, stable and extremely optimized project. Always focused on improvements and new implementations<br />
<br />
<br />
<span style="font-weight: bold;" class="mycode_b"><span style="color: #00369b;" class="mycode_color"><span style="font-size: large;" class="mycode_size">Server where it is being tested:</span></span></span><br />
<br />
If you are interested in checking the anti-cheat and its effectiveness, just access the server below:<br />
<br />
<span style="font-weight: bold;" class="mycode_b"><span style="font-style: italic;" class="mycode_i">Os Aposented PvP</span></span><span style="font-style: italic;" class="mycode_i">: </span><a href="samp://104.234.224.87:7777" target="_blank" rel="noopener" class="mycode_url">104.234.224.87:7777</a><br />
<br />
<span style="font-weight: bold;" class="mycode_b"><span style="color: #00369b;" class="mycode_color"><span style="font-size: large;" class="mycode_size">More information:</span></span></span><br />
<br />
Discord: <a href="https://discord.gg/cuFaYC9UMQ" target="_blank" rel="noopener" class="mycode_url">https://discord.gg/cuFaYC9UMQ</a><br />
<br />
Now you can:<ul class="mycode_list"><li>Interact with a custom Bot for key and payment automation<br />
</li>
<li>Report bugs<br />
</li>
<li>Send feedback<br />
</li>
<li>Private call with me to discuss anti-cheat<br />
</li>
<li>Download<br />
</li>
</ul>
<br />
Translated from portalsamp.]]></description>
			<content:encoded><![CDATA[<div style="text-align: center;" class="mycode_align"><img src="https://i.ibb.co/Kc0XnPRR/Sem-titulo-2.png" loading="lazy"  width="200" height="150" alt="[Image: Sem-titulo-2.png]" class="mycode_img" /><br />
<span style="font-size: xx-large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b"><span style="color: #00369b;" class="mycode_color">EVO Anti-Cheat 1.3</span></span></span><br />
</div>
<br />
<br />
<span style="color: #00369b;" class="mycode_color"><span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">About:</span></span></span><br />
<span style="color: #00369b;" class="mycode_color"><br />
<span style="color: #000000;" class="mycode_color">This is a new server-side anti-cheat developed for OpenMP, whose goal is to have security and absolute control over the player's data (info).</span></span><br />
<br />
<span style="color: #00369b;" class="mycode_color"><span style="color: #000000;" class="mycode_color">It is currently in constant development, still having some inconsistencies in certain situations, but it already has dozens of detections and is currently being used for testing on a PvP server, having great feedback </span><span style="color: #000000;" class="mycode_color">from the project management.</span></span><br />
<br />
<br />
<br />
<br />
<br />
<span style="color: #00369b;" class="mycode_color"><span style="color: #000000;" class="mycode_color"><span style="color: #00369b;" class="mycode_color"><span style="font-size: large;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">Detection configuration:</span></span></span></span></span><br />
<br />
<br />
As this is a closed-source anti-cheat, it has an external configuration file that can be reloaded at any time.<br />
<br />
<span style="color: #00369b;" class="mycode_color"><span style="color: #000000;" class="mycode_color">The configuration file currently has just over 200 configuration entries, where it is possible to parameterize exactly how each cheat that allows an external configuration should be detected.</span></span><br />
<br />
<br />
<br />
<span style="color: #00369b;" class="mycode_color"><span style="color: #000000;" class="mycode_color">Below are some of the configuration entries for better understanding:<br />
</span></span><div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>cbug_speed_limit=<br />
cbug_alert_count=<br />
auto_cbug_speed_limit=<br />
auto_cbug_alert_count=<br />
armour_delay_check=<br />
armour_alert_count=<br />
health_delay_check=<br />
health_alert_count=<br />
driveby_delay_check=<br />
fakekill_kill_flood_sequence_time=<br />
fakekill_death_flood_sequence_time=<br />
fakekill_kill_flood_alert_coun t=<br />
fakekill_death_flood_alert_count=<br />
fastrun_distance=<br />
fastrun_distance_alert_count=<br />
incoming_connection_alert_count=<br />
incoming_connection_sequence_delay=<br />
interior_delay_check=<br />
interior_alert_count=<br />
virtual_world_delay_check=<br />
virtual_world_alert_count=<br />
special_action_delay_check=<br />
money_delay_check=</code></div></div><br />
<br />
<span style="color: #00369b;" class="mycode_color"><span style="color: #000000;" class="mycode_color"><span style="font-weight: bold;" class="mycode_b"><span style="color: #00369b;" class="mycode_color"><span style="font-size: large;" class="mycode_size">Security:</span></span></span></span></span><br />
<br />
Any information in SA:MP can be easily manipulated, which can mess up the entire economy and the gameplay of others.<br />
<br />
<span style="color: #00369b;" class="mycode_color"><span style="color: #000000;" class="mycode_color">Currently, with the use of this anti-cheat, it is possible to recover correct information from the data of players who use cheats to manipulate them, such as health, armour, skin, weapons, ammo, attacked objects, etc., so that even when manipulating the information, it is not possible to maintain it during the data saving, thus creating an extra layer of validation in the information and ensuring the protection of each player's data against any type of external change.</span></span><br />
<br />
<br />
<br />
<br />
<br />
<span style="font-weight: bold;" class="mycode_b"><span style="color: #00369b;" class="mycode_color"><span style="font-size: large;" class="mycode_size">Configuration control:</span></span></span><br />
<ul class="mycode_list"><li>Set when the anti-cheat should start for a specific player<br />
</li>
<li>Set when the anti-cheat should stop for a specific player<br />
</li>
<li>Set when the anti-cheat should pause or resume checking a specific cheat for a specific player<br />
</li>
<li>Change and reload the anti-cheat settings at any time without having to restart the server or reload the filterscript<br />
</li>
</ul>
<br />
<br />
<span style="font-weight: bold;" class="mycode_b"><span style="color: #00369b;" class="mycode_color"><span style="font-size: large;" class="mycode_size">OS Compatibility:</span></span></span><br />
<br />
All anti-cheat dependencies can be obtained for both Linux and Windows.<br />
The anti-cheat is a filterscript, so it can be easily implemented like any other external script.<br />
<br />
<br />
<span style="font-weight: bold;" class="mycode_b"><span style="color: #00369b;" class="mycode_color"><span style="font-size: large;" class="mycode_size">Game Mode Compatibility:</span></span></span><br />
<br />
Since it is a robust anti-cheat with dozens of detections, an external configuration was created to adjust the detections according to the game mode or taste.<br />
In a roleplay server, for example, the detections can be more sensitive, while for a PvP it is necessary to make weapon-related detections less sensitive or race-related detections less sensitive.<br />
You can completely configure each detection as you prefer.<br />
<br />
<br />
<span style="font-weight: bold;" class="mycode_b"><span style="color: #00369b;" class="mycode_color"><span style="font-size: large;" class="mycode_size">Detection approach:</span></span></span><br />
<br />
The server is <span style="text-decoration: underline;" class="mycode_u">completely independent</span> in deciding what to do about the detection.<br />
For this, a library (evo_ac.inc) is provided containing all the information needed to apply the punishments and configurations.<br />
Unlike most anti-cheats, this one generates an individual call in the respective callback informing more details about the detection.<br />
<br />
Some callbacks:<br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>AC_OnInvalidCameraCrasher(playerid, cam_mode)<br />
AC_OnPlayerAmmo(playerid, old_ammo, new_ammo, weaponid)<br />
AC_OnPlayerArmour(playerid, Float:old_armour, Float:new_armour)<br />
AC_OnPlayerCBug(playerid, speed)<br />
AC_OnPlayerAutoCBug(playerid, speed)<br />
AC_OnPlayerCheckpoint(playerid)<br />
AC_OnPlayerDamageFlood(playerid, damagedid, weaponid, damage_count)</code></div></div><br />
<br />
<span style="font-weight: bold;" class="mycode_b"><span style="color: #00369b;" class="mycode_color"><span style="font-size: large;" class="mycode_size">Damage control:</span></span></span><br />
<br />
With Evo Anti-Cheat's damage control, even using cheat, the player's life decreases and if it doesn't decrease (through RPC blocks) there is no problem, because the player's life and vest are The player's health is handled unilaterally, that is, the client's (player's) health and vest are just another visual piece of information, just like money. So, for example, if the player's health is zero on the server, but on his screen his health is full due to RPC blocking, it will be considered cheating and will call the functions corresponding to the cheat.<br />
<br />
It is also possible to configure the damage in different situations:<br />
<ul class="mycode_list"><li>Body parts<br />
- For custom damage in 7 areas of the body<br />
</li>
<li>Range<br />
- Automatically blocks shots fired outside the defined range<br />
</li>
<li>Damage blocking in body parts<br />
- For custom damage blocking in 7 areas of the body<br />
</li>
<li>Permission/block to give/receive damage<br />
- To allow and/or block damage given or received to players<br />
</li>
</ul>
<br />
<br />
<span style="font-weight: bold;" class="mycode_b"><span style="color: #00369b;" class="mycode_color"><span style="font-size: large;" class="mycode_size">Detections (so far):</span></span></span><br />
<ul class="mycode_list"><li>Armor<br />
</li>
<li>C-Bug<br />
</li>
<li>Auto C-Bug<br />
</li>
<li>Car Fly<br />
</li>
<li>Dialog Spoof<br />
</li>
<li>Drive-By<br />
</li>
<li>Fake Kill/Death (<span style="font-style: italic;" class="mycode_i"><span style="color: #005dc2;" class="mycode_color">flood</span></span>)<br />
</li>
<li>Fast Run<br />
</li>
<li>GodMode<br />
</li>
<li>Health<br />
</li>
<li>Connection Flood<br />
</li>
<li>Interior<br />
</li>
<li>Special Action (<span style="font-style: italic;" class="mycode_i"><span style="color: #005dc2;" class="mycode_color">All</span></span>)<br />
</li>
<li>Money<br />
</li>
<li>Multi Connection<br />
</li>
<li>No Fall Damage<br />
</li>
<li>Ping<br />
</li>
<li>Player Checkpoint<br />
</li>
<li>Player Position (<span style="font-style: italic;" class="mycode_i"><span style="color: #005dc2;" class="mycode_color">Fly, Airbreak, Teleport</span></span>)<br />
</li>
<li>Race Checkpoint<br />
</li>
<li>Skin<br />
</li>
<li>Vehicle Fast Enter/Exit<br />
</li>
<li>Vehicle Health<br />
</li>
<li>Vehicle Mod (<span style="font-style: italic;" class="mycode_i"><span style="color: #005dc2;" class="mycode_color">Invalid, Cheat</span></span>)<br />
</li>
<li>Vehicle Speed<br />
</li>
<li>Virtual World<br />
</li>
<li>Weapon (<span style="font-style: italic;" class="mycode_i"><span style="color: #005dc2;" class="mycode_color">Forbbiden, Invalid, Cheat</span></span>)<br />
</li>
<li>Ammo (<span style="font-style: italic;" class="mycode_i"><span style="color: #005dc2;" class="mycode_color">Infinite, Invalid, Cheat</span></span>)<br />
</li>
<li>Rapid Fire<br />
</li>
<li>Free Cam<br />
</li>
<li>Player Velocity (<span style="font-style: italic;" class="mycode_i"><span style="color: #005dc2;" class="mycode_color">troll</span></span>)<br />
</li>
<li>Vehicle Velocity (<span style="font-style: italic;" class="mycode_i"><span style="color: #005dc2;" class="mycode_color">troll</span></span>)<br />
</li>
<li>Fake AFK<br />
</li>
<li>Fake Lag<br />
</li>
<li>Invisible<br />
</li>
<li>Damage (<span style="font-style: italic;" class="mycode_i"><span style="color: #005dc2;" class="mycode_color">Invalid, Flood</span></span>)<br />
</li>
<li>Silent Aim<br />
</li>
<li>Pro Aim<br />
</li>
<li>Quick Vehicle Change (<span style="font-style: italic;" class="mycode_i"><span style="color: #005dc2;" class="mycode_color">shot, pull, teleport</span></span>)<br />
</li>
<li>Anti Kick<br />
</li>
<li>Invalid Bullet Crasher<br />
</li>
<li>Invalid Damage Crasher<br />
</li>
<li>Invalid Camera Crasher<br />
</li>
<li>NOP (<span style="font-style: italic;" class="mycode_i"><span style="color: #005dc2;" class="mycode_color">TogglePlayerSpectating, TogglePlayerControllable, RemovePlayerFromVehicle, SpawnPlayer, SetPlayerPos</span></span>)<br />
</li>
<li>Attached Objects (<span style="font-style: italic;" class="mycode_i"><span style="color: #005dc2;" class="mycode_color">Full protection</span></span>)<br />
</li>
<li>RCon <span style="color: #ff4136;" class="mycode_color">[new]</span><br />
</li>
<li>Force Spawn<span style="color: #ff4136;" class="mycode_color"> [new]</span><br />
</li>
<li>Fast Respawn<span style="color: #ff4136;" class="mycode_color"> [new]</span><br />
</li>
<li>Flood Cheats <span style="color: #ff4136;" class="mycode_color">[new]</span><br />
</li>
</ul>
<br />
<span style="font-weight: bold;" class="mycode_b"><span style="color: #00369b;" class="mycode_color"><span style="font-size: large;" class="mycode_size">Resources required:</span></span></span><br />
<ol type="1" class="mycode_list"><li><span style="color: #9a00b2;" class="mycode_color">[Plugin]</span> <span style="font-style: italic;" class="mycode_i">GVar</span><br />
</li>
</ol>
<br />
<br />
<span style="font-weight: bold;" class="mycode_b"><span style="color: #00369b;" class="mycode_color"><span style="font-size: large;" class="mycode_size">Functions added so far:</span></span></span><br />
<br />
<span style="font-style: italic;" class="mycode_i"><span style="font-weight: bold;" class="mycode_b"><span style="color: #00369b;" class="mycode_color">Anti-cheat configuration:</span></span></span><br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>stock EAC_InitPlayerAC(playerid) // Starts the anti-cheat for the player<br />
stock EAC_StopPlayerAC(playerid) // Stops the anti-cheat for the player<br />
stock EAC_IsActivePlayerAC(playerid) // Checks if the anti-cheat is active (started) for the player<br />
stock EAC_PausePlayerAC(playerid, bool:pause, cheatid = -1) // Pauses a given protection for the player<br />
stock EAC_IsPausedPlayerAC(playerid, cheatid) // Returns if a given protection is paused for the player<br />
stock EAC_GetCheatNameAC(cheatid) // Returns the name of the cheat with base no index<br />
stock EAC_ReloadSettings(const file[]) // If you change the configuration file, you can reload the configuration in real time without restarting or reloading the filterscript<br />
stock EAC_Auth(const token[]) // Authenticate the anti-cheat token to enable it</code></div></div><br />
Damage control:<br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>stock EWD_SetPlayerWeaponRange(playerid, weaponid, Float:range) // Change the range of a given weapon for the player<br />
stock Float:EWD_GetPlayerWeaponRange(playerid, weaponid) // Returns the range of a given weapon for the player<br />
stock EWD_SetPlayerWeaponDamage(playerid, weaponid, Float:amount) // Change the damage of a given weapon for the player<br />
stock Float:EWD_GetPlayerWeaponDamage(playerid, weaponid) // Returns the damage of a given weapon of the player<br />
stock EWD_SetPlayerBodyHitDamage(playerid, weaponid, bodypart, Float:amount) // Changes the damage of a given weapon and body part for the player<br />
stock Float:EWD_GetPlayerBodyHitDamage(playerid, weaponid, bodypart) // Returns the damage of a given weapon and body part for the player<br />
stock EWD_BlockPlayerBodyHitDamage(playerid, weaponid, bodypart, Float:amount) // Changes the damage block of a given weapon and body part for the player<br />
stock Float:EWD_GetPlayerBlockedBodyHitDamage(playerid, weaponid, bodypart) // Returns the damage block of a given weapon and body part for the player<br />
stock EWD_BlockPlayerArmourHitDamage(playerid, weaponid, bodypart, Float:amount) // Changes the damage block of a given weapon, exclusively if wearing a vest, for the player<br />
stock Float:EWD_GetPlayerBlockedArmourHitDamage(playerid, weaponid, bodypart) // Returns the damage block of a given weapon, exclusively if using a vest, of the player<br />
stock EWD_TogglePlayerGiveBulletDamage(playerid, bool:toggle) // Enables/Disables the damage sent from the player<br />
stock EWD_IsPlayerGivingBulletDamage(playerid) // Returns whether the damage sent from the player is enabled or not<br />
stock EWD_TogglePlayerTakeBulletDamage(playerid, bool:toggle) // Enables/Disables the damage received from the player<br />
stock EWD_IsPlayerTakingBulletDamage(playerid) // Returns whether the damage received from the player is enabled or not<br />
stock EWD_EnablePlayerFriendlyFire(playerid, bool:enable) // Enables/Disables the damage sent to players on the same team</code></div></div><br />
<br />
<span style="font-style: italic;" class="mycode_i"><span style="font-weight: bold;" class="mycode_b"><span style="color: #00369b;" class="mycode_color">Additional functions:</span></span><br />
</span><br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>stock EAC_SetPlayerGodMode(playerid, bool:active) // Enables/Disables player's God mode<br />
stock EAC_IsPlayerInGodMode(playerid) // Returns whether the player is in God mode or not<br />
stock EAC_SetPlayerMoney(playerid, money) // Sets the player's money<br />
stock EAC_UpdatePlayerMoney(playerid) // Only updates the player's money on the screen based on the anti-cheat memory<br />
stock EAC_GetPlayerFreeAttachedObjectSlot(playerid) // Returns the first free slot for attacked objects on the player's body<br />
stock EAC_GetPlayerAttachedObjectModelIndex(playerid, modelid) // Returns the index of the attacked object on the player's body based on the object's model<br />
stock EAC_GetPlayerAttachedObjectModel(playerid, index) // Returns the model of the attacked object on the player's body player based on the anti-cheat's index and memory (and not on the client's date)<br />
stock EAC_ApplyPlayerAttachedObjects(playerid) // Applies the attacked objects to the player's body based on the anti-cheat's memory<br />
stock EAC_GiveAllPlayerWeapons(playerid, delay = 0) // Resets the player's weapons and provides those in the anti-cheat's memory, with the option to apply with a delay<br />
stock EAC_GetPlayerWeaponData(playerid, slot, &amp;weapons, &amp;ammo) // Returns the player's weapons, based on the anti-cheat's memory (and not on the client's date)<br />
stock EAC_SetPlayerWeapon(playerid, weaponid, ammo) // Sets a specific weapon for the player<br />
stock EAC_IsValidPlayerWeapon(playerid, weaponid) // Returns whether a given player's weapon was designed based on the server (and not on the client's date) client)</code></div></div><br />
<br />
<span style="font-weight: bold;" class="mycode_b"><span style="font-size: small;" class="mycode_size"><span style="font-size: large;" class="mycode_size"><span style="color: #00369b;" class="mycode_color"><span style="font-size: large;" class="mycode_size">Project maintenance:</span></span></span></span></span><br />
<br />
Despite being recent, it is a solid, stable and extremely optimized project. Always focused on improvements and new implementations<br />
<br />
<br />
<span style="font-weight: bold;" class="mycode_b"><span style="color: #00369b;" class="mycode_color"><span style="font-size: large;" class="mycode_size">Server where it is being tested:</span></span></span><br />
<br />
If you are interested in checking the anti-cheat and its effectiveness, just access the server below:<br />
<br />
<span style="font-weight: bold;" class="mycode_b"><span style="font-style: italic;" class="mycode_i">Os Aposented PvP</span></span><span style="font-style: italic;" class="mycode_i">: </span><a href="samp://104.234.224.87:7777" target="_blank" rel="noopener" class="mycode_url">104.234.224.87:7777</a><br />
<br />
<span style="font-weight: bold;" class="mycode_b"><span style="color: #00369b;" class="mycode_color"><span style="font-size: large;" class="mycode_size">More information:</span></span></span><br />
<br />
Discord: <a href="https://discord.gg/cuFaYC9UMQ" target="_blank" rel="noopener" class="mycode_url">https://discord.gg/cuFaYC9UMQ</a><br />
<br />
Now you can:<ul class="mycode_list"><li>Interact with a custom Bot for key and payment automation<br />
</li>
<li>Report bugs<br />
</li>
<li>Send feedback<br />
</li>
<li>Private call with me to discuss anti-cheat<br />
</li>
<li>Download<br />
</li>
</ul>
<br />
Translated from portalsamp.]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[DOF2.1 (DOF2 Updated)]]></title>
			<link>https://forum.open.mp/showthread.php?tid=3003</link>
			<pubDate>Wed, 25 Dec 2024 06:01:15 +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=3003</guid>
			<description><![CDATA[I was looking for alternatives to DOF2 that are compatible with the latest versions of the Pawno compiler (3.10.10 and 3.10.11), but I couldn't find any viable options. Since I couldn't adapt to using y_ini or similar libraries, I decided to use the latest available version of DOF2 and update it to suit my needs. I named it DOF2.1.<br />
<br />
<a href="https://github.com/xWendorion/DOF2.1-Include/releases" target="_blank" rel="noopener" class="mycode_url">https://github.com/xWendorion/DOF2.1-Include/releases</a><br />
<br />
The library is fully compatible with both San Andreas Multiplayer and Open Multiplayer. Feel free to improve or adapt it to meet your specific requirements.]]></description>
			<content:encoded><![CDATA[I was looking for alternatives to DOF2 that are compatible with the latest versions of the Pawno compiler (3.10.10 and 3.10.11), but I couldn't find any viable options. Since I couldn't adapt to using y_ini or similar libraries, I decided to use the latest available version of DOF2 and update it to suit my needs. I named it DOF2.1.<br />
<br />
<a href="https://github.com/xWendorion/DOF2.1-Include/releases" target="_blank" rel="noopener" class="mycode_url">https://github.com/xWendorion/DOF2.1-Include/releases</a><br />
<br />
The library is fully compatible with both San Andreas Multiplayer and Open Multiplayer. Feel free to improve or adapt it to meet your specific requirements.]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Online Music from Youtube - API]]></title>
			<link>https://forum.open.mp/showthread.php?tid=2566</link>
			<pubDate>Mon, 22 Jan 2024 15:08:48 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://forum.open.mp/member.php?action=profile&uid=4626">eubluen</a>]]></dc:creator>
			<guid isPermaLink="false">https://forum.open.mp/showthread.php?tid=2566</guid>
			<description><![CDATA[<div style="text-align: center;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b"><span style="font-size: x-large;" class="mycode_size">Download:</span></span></div>
<div style="text-align: center;" class="mycode_align"><a href="https://github.com/devbluen/OnlineMusic-Samp" target="_blank" rel="noopener" class="mycode_url"><span style="font-weight: bold;" class="mycode_b"><span style="font-size: x-large;" class="mycode_size">Github - Download</span></span></a><br />
<br />
</div>
<div style="text-align: center;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b"><span style="font-size: x-large;" class="mycode_size">Preview on Youtube:</span><br />
</span><iframe width="560" height="315" src="//www.youtube-nocookie.com/embed/iVHE9a3YXic" frameborder="0" allowfullscreen="true"></iframe><br />
<br />
</div>
<div style="text-align: center;" class="mycode_align">Enjoy :)</div>]]></description>
			<content:encoded><![CDATA[<div style="text-align: center;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b"><span style="font-size: x-large;" class="mycode_size">Download:</span></span></div>
<div style="text-align: center;" class="mycode_align"><a href="https://github.com/devbluen/OnlineMusic-Samp" target="_blank" rel="noopener" class="mycode_url"><span style="font-weight: bold;" class="mycode_b"><span style="font-size: x-large;" class="mycode_size">Github - Download</span></span></a><br />
<br />
</div>
<div style="text-align: center;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b"><span style="font-size: x-large;" class="mycode_size">Preview on Youtube:</span><br />
</span><iframe width="560" height="315" src="//www.youtube-nocookie.com/embed/iVHE9a3YXic" frameborder="0" allowfullscreen="true"></iframe><br />
<br />
</div>
<div style="text-align: center;" class="mycode_align">Enjoy :)</div>]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Chat Config]]></title>
			<link>https://forum.open.mp/showthread.php?tid=2545</link>
			<pubDate>Tue, 09 Jan 2024 09:56:37 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://forum.open.mp/member.php?action=profile&uid=4626">eubluen</a>]]></dc:creator>
			<guid isPermaLink="false">https://forum.open.mp/showthread.php?tid=2545</guid>
			<description><![CDATA[<div style="text-align: center;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b"><span style="font-size: xx-large;" class="mycode_size">Chat Config</span></span><br />
</div>
<div style="text-align: center;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">Download</span>:</div>
<div style="text-align: center;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b"><span style="font-size: x-large;" class="mycode_size"><a href="https://github.com/devbluen/ChatConfig-Samp" target="_blank" rel="noopener" class="mycode_url">Chat Config - Github</a><br />
</span></span></div>
<br />
<div style="text-align: center;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">Summary of the Include:</span></div>
<div style="text-align: center;" class="mycode_align">- You will be able to globally or per player control whether they will have the chat enabled or not. It's an include that will help those who want to create an RP server or a project without chat. More information is available in the repository on GitHub. If there are any bugs or anything of the sort, just give me a heads up.</div>
<div style="text-align: center;" class="mycode_align">Enjoy :)</div>]]></description>
			<content:encoded><![CDATA[<div style="text-align: center;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b"><span style="font-size: xx-large;" class="mycode_size">Chat Config</span></span><br />
</div>
<div style="text-align: center;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">Download</span>:</div>
<div style="text-align: center;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b"><span style="font-size: x-large;" class="mycode_size"><a href="https://github.com/devbluen/ChatConfig-Samp" target="_blank" rel="noopener" class="mycode_url">Chat Config - Github</a><br />
</span></span></div>
<br />
<div style="text-align: center;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">Summary of the Include:</span></div>
<div style="text-align: center;" class="mycode_align">- You will be able to globally or per player control whether they will have the chat enabled or not. It's an include that will help those who want to create an RP server or a project without chat. More information is available in the repository on GitHub. If there are any bugs or anything of the sort, just give me a heads up.</div>
<div style="text-align: center;" class="mycode_align">Enjoy :)</div>]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Circular Progress]]></title>
			<link>https://forum.open.mp/showthread.php?tid=2504</link>
			<pubDate>Sat, 02 Dec 2023 00:29:36 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://forum.open.mp/member.php?action=profile&uid=4626">eubluen</a>]]></dc:creator>
			<guid isPermaLink="false">https://forum.open.mp/showthread.php?tid=2504</guid>
			<description><![CDATA[<div style="text-align: center;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b"><span style="font-size: xx-large;" class="mycode_size">Circular Progress</span></span></div>
<div style="text-align: center;" class="mycode_align">Download:</div>
<div style="text-align: center;" class="mycode_align"><a href="https://github.com/igdiogo/Circular-Progress-Samp" target="_blank" rel="noopener" class="mycode_url"><span style="font-size: x-large;" class="mycode_size">Github Download</span></a></div>
<span style="font-size: medium;" class="mycode_size">[url=https://github.com/igdiogo/Circular-Progress-Samp][/url]</span><br />
<br />
<div style="text-align: center;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">freesampscripts - </span>Create source code</div>
<div style="text-align: center;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">blueN - </span>Recreate code with new natives and update funtions</div>
<br />
<br />
<div style="text-align: center;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b"><span style="font-size: large;" class="mycode_size">Preview</span></span><span style="font-weight: bold;" class="mycode_b"><span style="font-size: 1pt;" class="mycode_size">:</span></span></div>
<br />
<div style="text-align: center;" class="mycode_align"><iframe width="560" height="315" src="//www.youtube-nocookie.com/embed/xulm9H0PnKI" frameborder="0" allowfullscreen="true"></iframe></div>]]></description>
			<content:encoded><![CDATA[<div style="text-align: center;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b"><span style="font-size: xx-large;" class="mycode_size">Circular Progress</span></span></div>
<div style="text-align: center;" class="mycode_align">Download:</div>
<div style="text-align: center;" class="mycode_align"><a href="https://github.com/igdiogo/Circular-Progress-Samp" target="_blank" rel="noopener" class="mycode_url"><span style="font-size: x-large;" class="mycode_size">Github Download</span></a></div>
<span style="font-size: medium;" class="mycode_size">[url=https://github.com/igdiogo/Circular-Progress-Samp][/url]</span><br />
<br />
<div style="text-align: center;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">freesampscripts - </span>Create source code</div>
<div style="text-align: center;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">blueN - </span>Recreate code with new natives and update funtions</div>
<br />
<br />
<div style="text-align: center;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b"><span style="font-size: large;" class="mycode_size">Preview</span></span><span style="font-weight: bold;" class="mycode_b"><span style="font-size: 1pt;" class="mycode_size">:</span></span></div>
<br />
<div style="text-align: center;" class="mycode_align"><iframe width="560" height="315" src="//www.youtube-nocookie.com/embed/xulm9H0PnKI" frameborder="0" allowfullscreen="true"></iframe></div>]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Advanced Gangzones (a_zone) updated.]]></title>
			<link>https://forum.open.mp/showthread.php?tid=2374</link>
			<pubDate>Sun, 26 Mar 2023 01:50:15 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://forum.open.mp/member.php?action=profile&uid=3361">pushline</a>]]></dc:creator>
			<guid isPermaLink="false">https://forum.open.mp/showthread.php?tid=2374</guid>
			<description><![CDATA[I had errors in my DM GM with getting buggy with 3 numbers. So I took the main project (with the last update in 2016) and created a function that creates the 3rd number.<br />
The function that does this by default the creator did it in an ugly/difficult way, so I didn't bother to fix it, because it uses mathematics to create the numbers.<br />
<br />
<br />
If you know how to fix or even create a more optimized function, fork the project and create a pull request.<br />
<br />
Github link:<br />
<a href="https://github.com/pushline/Advanced-Gang-Zones" target="_blank" rel="noopener" class="mycode_url">https://github.com/pushline/Advanced-Gang-Zones</a>]]></description>
			<content:encoded><![CDATA[I had errors in my DM GM with getting buggy with 3 numbers. So I took the main project (with the last update in 2016) and created a function that creates the 3rd number.<br />
The function that does this by default the creator did it in an ugly/difficult way, so I didn't bother to fix it, because it uses mathematics to create the numbers.<br />
<br />
<br />
If you know how to fix or even create a more optimized function, fork the project and create a pull request.<br />
<br />
Github link:<br />
<a href="https://github.com/pushline/Advanced-Gang-Zones" target="_blank" rel="noopener" class="mycode_url">https://github.com/pushline/Advanced-Gang-Zones</a>]]></content:encoded>
		</item>
	</channel>
</rss>