<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/">
	<channel>
		<title><![CDATA[open.mp forum - Programming]]></title>
		<link>https://forum.open.mp/</link>
		<description><![CDATA[open.mp forum - https://forum.open.mp]]></description>
		<pubDate>Sun, 12 Jul 2026 05:53:27 +0000</pubDate>
		<generator>MyBB</generator>
		<item>
			<title><![CDATA[[Tool] PawnPro v3.4.2 — Debugger visual + IntelliSense para Pawn (SA-MP/open.mp)]]></title>
			<link>https://forum.open.mp/showthread.php?tid=4314</link>
			<pubDate>Sat, 04 Jul 2026 21:38:24 +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=4314</guid>
			<description><![CDATA[<div style="text-align: center;" class="mycode_align"><span style="font-size: 30pt;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b"><span style="color: #3498DB;" class="mycode_color">⚙️ PawnPro v3.4.2</span></span></span><br />
<br />
<span style="font-size: 15pt;" class="mycode_size"><span style="font-style: italic;" class="mycode_i">Extensão para Pawn (SA-MP / open.mp) — IntelliSense, formatação, servidor e agora depuração</span><br />
<span style="font-style: italic;" class="mycode_i">Pawn (SA-MP / open.mp) extension — IntelliSense, formatting, server tooling and now debugging</span></span><br />
<br />
<a href="https://github.com/NullSablex/PawnPro" target="_blank" rel="noopener" class="mycode_url"><span style="font-weight: bold;" class="mycode_b">github.com/NullSablex/PawnPro</span></a></div>
<br />
<blockquote class="mycode_quote"><cite>Quote:</cite>🇧🇷 O grande marco chegou: <span style="font-weight: bold;" class="mycode_b">depuração visual de gamemodes Pawn direto no editor</span> 🎉 breakpoints, step, inspeção de variáveis e pausa em erro de runtime — tudo integrado. E não para aí: página de ajuda embutida, biblioteca de recursos repaginada e um monte de acabamento. Esta é a maior release do PawnPro até hoje.<br />
<br />
🇬🇧 The big milestone is here: <span style="font-weight: bold;" class="mycode_b">visual debugging of Pawn gamemodes right in the editor</span> 🎉 breakpoints, stepping, variable inspection and pausing on runtime errors — all built in. And it doesn't stop there: an in-app help page, a reworked resource library and a lot of polish. This is the biggest PawnPro release yet.</blockquote>
<br />
<span style="font-size: 22pt;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">✨ O que tem de novo / What's new</span></span><br />
<br />
<span style="font-weight: bold;" class="mycode_b">🐛 Depurador visual (DAP) — o marco desta versão</span><br />
🇧🇷 Integração com o <span style="font-weight: bold;" class="mycode_b">PawnPro Debugger</span>. Aperte <span style="font-weight: bold;" class="mycode_b">F5</span> e pronto: a extensão recompila o <span style="font-weight: bold;" class="mycode_b">.pwn</span> com <span style="font-weight: bold;" class="mycode_b">-d3</span> automaticamente (sem tocar na sua config), sobe o servidor e conecta o adaptador. Recursos: breakpoints simples, <span style="font-weight: bold;" class="mycode_b">condicionais</span>, <span style="font-weight: bold;" class="mycode_b">por contagem de acertos</span>, <span style="font-weight: bold;" class="mycode_b">logpoints</span>, step in/out/over, inspeção de variáveis (int/float/bool/array/hex), watch, hover, editar variável ao vivo e <span style="font-weight: bold;" class="mycode_b">pausar em erro de runtime</span> (divisão por zero, índice de array fora do limite). O plugin oficial é detectado por um símbolo marcador e validado num preflight antes de iniciar.<br />
🇬🇧 Integration with the <span style="font-weight: bold;" class="mycode_b">PawnPro Debugger</span>. Hit <span style="font-weight: bold;" class="mycode_b">F5</span> and that's it: the extension recompiles the <span style="font-weight: bold;" class="mycode_b">.pwn</span> with <span style="font-weight: bold;" class="mycode_b">-d3</span> automatically (without touching your config), starts the server and attaches the adapter. Features: plain breakpoints, <span style="font-weight: bold;" class="mycode_b">conditional</span>, <span style="font-weight: bold;" class="mycode_b">hit-count</span>, <span style="font-weight: bold;" class="mycode_b">logpoints</span>, step in/out/over, variable inspection (int/float/bool/array/hex), watch, hover, live edit-variable and <span style="font-weight: bold;" class="mycode_b">pause on runtime error</span> (division by zero, array index out of bounds). The official plugin is detected via a marker symbol and validated in a preflight before launch.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">❓ Página "Ajuda e informações" / "Help &amp; Info" page</span><br />
🇧🇷 Comando <span style="font-weight: bold;" class="mycode_b">"PawnPro: Ajuda e informações"</span> (também no menu de ações da status bar): mostra o <span style="font-weight: bold;" class="mycode_b">compilador recomendado em destaque</span> — o compilador do <span style="font-weight: bold;" class="mycode_b">open.mp 3.10.11</span>, o único testado e recomendado no momento — as versões atuais dos componentes (extensão, engine LSP e adaptador do depurador), links úteis e um guia rápido de como instalar o plugin do depurador no servidor (SA-MP/open.mp).<br />
🇬🇧 A <span style="font-weight: bold;" class="mycode_b">"PawnPro: Help &amp; Info"</span> command (also in the status-bar action menu): shows the <span style="font-weight: bold;" class="mycode_b">recommended compiler front and center</span> — the <span style="font-weight: bold;" class="mycode_b">open.mp 3.10.11</span> compiler, the only tested and recommended one right now — the current component versions (extension, LSP engine and debugger adapter), handy links, and a quick guide to installing the debugger plugin on the server (SA-MP/open.mp).<br />
<br />
<span style="font-weight: bold;" class="mycode_b">📚 Biblioteca de Recursos repaginada / Reworked Resource Library</span><br />
🇧🇷 Layout, responsividade e legibilidade revistos, com filtro <span style="font-weight: bold;" class="mycode_b">"Adicionados"</span> pra ver só o que está no projeto, selo nos cards e ações de Adicionar/Remover com seletor de versão. (Nesta prévia o estado ainda é de exemplo.)<br />
🇬🇧 Reworked layout, responsiveness and readability, with an <span style="font-weight: bold;" class="mycode_b">"Added"</span> filter to see only what's in the project, a card badge and Add/Remove actions with a version picker. (This preview still uses sample state.)<br />
<br />
<span style="font-weight: bold;" class="mycode_b">🧹 Formatação — preservar alinhamento de arrays / Formatting — preserve array alignment</span><br />
🇧🇷 Nova opção <span style="font-weight: bold;" class="mycode_b">format.preserveArrayAlignment</span>: mantém intacto o alinhamento manual em colunas de inicializadores de array <span style="font-weight: bold;" class="mycode_b">{ }</span> quebrados em várias linhas.<br />
🇬🇧 New <span style="font-weight: bold;" class="mycode_b">format.preserveArrayAlignment</span> option: keeps your manual column alignment intact for multi-line array <span style="font-weight: bold;" class="mycode_b">{ }</span> initializers.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">🛡️ Segurança &amp; build / Security &amp; build</span><br />
🇧🇷 Binários externos (engine e adaptador) com <span style="font-weight: bold;" class="mycode_b">checksum SHA-256 fixado</span> no package.json — fonte da verdade na verificação, blindando contra republicação de release. Download unificado num único script, Dependabot e sincronização de labels.<br />
🇬🇧 External binaries (engine and adapter) with a <span style="font-weight: bold;" class="mycode_b">pinned SHA-256 checksum</span> in package.json — the source of truth on verification, guarding against release re-publishing. Unified download script, Dependabot and label sync.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">🧩 Componentes desta release / Components in this release</span><ul class="mycode_list"><li>🇧🇷/🇬🇧 Engine LSP <span style="font-weight: bold;" class="mycode_b">pawnpro-engine</span> — v1.3.0<br />
</li>
<li>🇧🇷/🇬🇧 Debugger <span style="font-weight: bold;" class="mycode_b">dap-adapter</span> — v0.1.0<br />
</li>
</ul>
<br />
<span style="font-size: 18pt;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">📋 Changelog completo / Full changelog</span></span><br />
<a href="https://github.com/NullSablex/PawnPro/blob/master/CHANGELOG.md" target="_blank" rel="noopener" class="mycode_url">CHANGELOG.md</a><br />
<br />
<span style="font-size: 22pt;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">⚠️ Importante / Heads-up</span></span><br />
<br />
<blockquote class="mycode_quote"><cite>Quote:</cite>🇧🇷 Compile seus scripts com o <span style="font-weight: bold;" class="mycode_b">compilador do open.mp (3.10.11)</span> — é o único testado no momento, tanto para a análise da engine quanto para a depuração. Outros compiladores podem gerar código ou debug-info incompatíveis.<br />
<br />
🇬🇧 Build your scripts with the <span style="font-weight: bold;" class="mycode_b">open.mp compiler (3.10.11)</span> — it's the only tested one right now, both for the engine analysis and for debugging. Other compilers may produce incompatible code or debug info.</blockquote>
<br />
<div style="text-align: center;" class="mycode_align"><span style="font-style: italic;" class="mycode_i">🇧🇷 Instale, aperte F5 e me conta como foi. Issues, PRs e feedback são sempre bem-vindos!<br />
🇬🇧 Install it, hit F5 and let me know how it goes. Issues, PRs and feedback are always welcome!</span><br />
<br />
<a href="https://github.com/NullSablex/PawnPro" target="_blank" rel="noopener" class="mycode_url"><span style="font-weight: bold;" class="mycode_b">⭐ github.com/NullSablex/PawnPro</span></a></div>]]></description>
			<content:encoded><![CDATA[<div style="text-align: center;" class="mycode_align"><span style="font-size: 30pt;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b"><span style="color: #3498DB;" class="mycode_color">⚙️ PawnPro v3.4.2</span></span></span><br />
<br />
<span style="font-size: 15pt;" class="mycode_size"><span style="font-style: italic;" class="mycode_i">Extensão para Pawn (SA-MP / open.mp) — IntelliSense, formatação, servidor e agora depuração</span><br />
<span style="font-style: italic;" class="mycode_i">Pawn (SA-MP / open.mp) extension — IntelliSense, formatting, server tooling and now debugging</span></span><br />
<br />
<a href="https://github.com/NullSablex/PawnPro" target="_blank" rel="noopener" class="mycode_url"><span style="font-weight: bold;" class="mycode_b">github.com/NullSablex/PawnPro</span></a></div>
<br />
<blockquote class="mycode_quote"><cite>Quote:</cite>🇧🇷 O grande marco chegou: <span style="font-weight: bold;" class="mycode_b">depuração visual de gamemodes Pawn direto no editor</span> 🎉 breakpoints, step, inspeção de variáveis e pausa em erro de runtime — tudo integrado. E não para aí: página de ajuda embutida, biblioteca de recursos repaginada e um monte de acabamento. Esta é a maior release do PawnPro até hoje.<br />
<br />
🇬🇧 The big milestone is here: <span style="font-weight: bold;" class="mycode_b">visual debugging of Pawn gamemodes right in the editor</span> 🎉 breakpoints, stepping, variable inspection and pausing on runtime errors — all built in. And it doesn't stop there: an in-app help page, a reworked resource library and a lot of polish. This is the biggest PawnPro release yet.</blockquote>
<br />
<span style="font-size: 22pt;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">✨ O que tem de novo / What's new</span></span><br />
<br />
<span style="font-weight: bold;" class="mycode_b">🐛 Depurador visual (DAP) — o marco desta versão</span><br />
🇧🇷 Integração com o <span style="font-weight: bold;" class="mycode_b">PawnPro Debugger</span>. Aperte <span style="font-weight: bold;" class="mycode_b">F5</span> e pronto: a extensão recompila o <span style="font-weight: bold;" class="mycode_b">.pwn</span> com <span style="font-weight: bold;" class="mycode_b">-d3</span> automaticamente (sem tocar na sua config), sobe o servidor e conecta o adaptador. Recursos: breakpoints simples, <span style="font-weight: bold;" class="mycode_b">condicionais</span>, <span style="font-weight: bold;" class="mycode_b">por contagem de acertos</span>, <span style="font-weight: bold;" class="mycode_b">logpoints</span>, step in/out/over, inspeção de variáveis (int/float/bool/array/hex), watch, hover, editar variável ao vivo e <span style="font-weight: bold;" class="mycode_b">pausar em erro de runtime</span> (divisão por zero, índice de array fora do limite). O plugin oficial é detectado por um símbolo marcador e validado num preflight antes de iniciar.<br />
🇬🇧 Integration with the <span style="font-weight: bold;" class="mycode_b">PawnPro Debugger</span>. Hit <span style="font-weight: bold;" class="mycode_b">F5</span> and that's it: the extension recompiles the <span style="font-weight: bold;" class="mycode_b">.pwn</span> with <span style="font-weight: bold;" class="mycode_b">-d3</span> automatically (without touching your config), starts the server and attaches the adapter. Features: plain breakpoints, <span style="font-weight: bold;" class="mycode_b">conditional</span>, <span style="font-weight: bold;" class="mycode_b">hit-count</span>, <span style="font-weight: bold;" class="mycode_b">logpoints</span>, step in/out/over, variable inspection (int/float/bool/array/hex), watch, hover, live edit-variable and <span style="font-weight: bold;" class="mycode_b">pause on runtime error</span> (division by zero, array index out of bounds). The official plugin is detected via a marker symbol and validated in a preflight before launch.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">❓ Página "Ajuda e informações" / "Help &amp; Info" page</span><br />
🇧🇷 Comando <span style="font-weight: bold;" class="mycode_b">"PawnPro: Ajuda e informações"</span> (também no menu de ações da status bar): mostra o <span style="font-weight: bold;" class="mycode_b">compilador recomendado em destaque</span> — o compilador do <span style="font-weight: bold;" class="mycode_b">open.mp 3.10.11</span>, o único testado e recomendado no momento — as versões atuais dos componentes (extensão, engine LSP e adaptador do depurador), links úteis e um guia rápido de como instalar o plugin do depurador no servidor (SA-MP/open.mp).<br />
🇬🇧 A <span style="font-weight: bold;" class="mycode_b">"PawnPro: Help &amp; Info"</span> command (also in the status-bar action menu): shows the <span style="font-weight: bold;" class="mycode_b">recommended compiler front and center</span> — the <span style="font-weight: bold;" class="mycode_b">open.mp 3.10.11</span> compiler, the only tested and recommended one right now — the current component versions (extension, LSP engine and debugger adapter), handy links, and a quick guide to installing the debugger plugin on the server (SA-MP/open.mp).<br />
<br />
<span style="font-weight: bold;" class="mycode_b">📚 Biblioteca de Recursos repaginada / Reworked Resource Library</span><br />
🇧🇷 Layout, responsividade e legibilidade revistos, com filtro <span style="font-weight: bold;" class="mycode_b">"Adicionados"</span> pra ver só o que está no projeto, selo nos cards e ações de Adicionar/Remover com seletor de versão. (Nesta prévia o estado ainda é de exemplo.)<br />
🇬🇧 Reworked layout, responsiveness and readability, with an <span style="font-weight: bold;" class="mycode_b">"Added"</span> filter to see only what's in the project, a card badge and Add/Remove actions with a version picker. (This preview still uses sample state.)<br />
<br />
<span style="font-weight: bold;" class="mycode_b">🧹 Formatação — preservar alinhamento de arrays / Formatting — preserve array alignment</span><br />
🇧🇷 Nova opção <span style="font-weight: bold;" class="mycode_b">format.preserveArrayAlignment</span>: mantém intacto o alinhamento manual em colunas de inicializadores de array <span style="font-weight: bold;" class="mycode_b">{ }</span> quebrados em várias linhas.<br />
🇬🇧 New <span style="font-weight: bold;" class="mycode_b">format.preserveArrayAlignment</span> option: keeps your manual column alignment intact for multi-line array <span style="font-weight: bold;" class="mycode_b">{ }</span> initializers.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">🛡️ Segurança &amp; build / Security &amp; build</span><br />
🇧🇷 Binários externos (engine e adaptador) com <span style="font-weight: bold;" class="mycode_b">checksum SHA-256 fixado</span> no package.json — fonte da verdade na verificação, blindando contra republicação de release. Download unificado num único script, Dependabot e sincronização de labels.<br />
🇬🇧 External binaries (engine and adapter) with a <span style="font-weight: bold;" class="mycode_b">pinned SHA-256 checksum</span> in package.json — the source of truth on verification, guarding against release re-publishing. Unified download script, Dependabot and label sync.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">🧩 Componentes desta release / Components in this release</span><ul class="mycode_list"><li>🇧🇷/🇬🇧 Engine LSP <span style="font-weight: bold;" class="mycode_b">pawnpro-engine</span> — v1.3.0<br />
</li>
<li>🇧🇷/🇬🇧 Debugger <span style="font-weight: bold;" class="mycode_b">dap-adapter</span> — v0.1.0<br />
</li>
</ul>
<br />
<span style="font-size: 18pt;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">📋 Changelog completo / Full changelog</span></span><br />
<a href="https://github.com/NullSablex/PawnPro/blob/master/CHANGELOG.md" target="_blank" rel="noopener" class="mycode_url">CHANGELOG.md</a><br />
<br />
<span style="font-size: 22pt;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">⚠️ Importante / Heads-up</span></span><br />
<br />
<blockquote class="mycode_quote"><cite>Quote:</cite>🇧🇷 Compile seus scripts com o <span style="font-weight: bold;" class="mycode_b">compilador do open.mp (3.10.11)</span> — é o único testado no momento, tanto para a análise da engine quanto para a depuração. Outros compiladores podem gerar código ou debug-info incompatíveis.<br />
<br />
🇬🇧 Build your scripts with the <span style="font-weight: bold;" class="mycode_b">open.mp compiler (3.10.11)</span> — it's the only tested one right now, both for the engine analysis and for debugging. Other compilers may produce incompatible code or debug info.</blockquote>
<br />
<div style="text-align: center;" class="mycode_align"><span style="font-style: italic;" class="mycode_i">🇧🇷 Instale, aperte F5 e me conta como foi. Issues, PRs e feedback são sempre bem-vindos!<br />
🇬🇧 Install it, hit F5 and let me know how it goes. Issues, PRs and feedback are always welcome!</span><br />
<br />
<a href="https://github.com/NullSablex/PawnPro" target="_blank" rel="noopener" class="mycode_url"><span style="font-weight: bold;" class="mycode_b">⭐ github.com/NullSablex/PawnPro</span></a></div>]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[🦀 rust-samp v3.2.0 — VM debugging, debug-info parser & logger sinks]]></title>
			<link>https://forum.open.mp/showthread.php?tid=4309</link>
			<pubDate>Tue, 30 Jun 2026 08:26:08 +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=4309</guid>
			<description><![CDATA[<div style="text-align: center;" class="mycode_align"><span style="font-size: 30pt;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b"><span style="color: #E67E22;" class="mycode_color">🦀 rust-samp v3.2.0</span></span></span><br />
<br />
<span style="font-size: 15pt;" class="mycode_size"><span style="font-style: italic;" class="mycode_i">SDK em Rust pra plugins SA-MP e componentes nativos open.mp</span><br />
<span style="font-style: italic;" class="mycode_i">Rust SDK for SA-MP plugins and native open.mp components</span></span><br />
<br />
<a href="https://github.com/NullSablex/rust-samp" target="_blank" rel="noopener" class="mycode_url"><span style="font-weight: bold;" class="mycode_b">github.com/NullSablex/rust-samp</span></a></div>
<br />
<blockquote class="mycode_quote"><cite>Quote:</cite>🇧🇷 Nova release no ar! 🎉 E dessa vez ela vem com umas coisas que eu queria há tempos: ferramentas de debugging direto na VM, um parser de debug-info e pontos de extensão pro logger — tudo sem encher o projeto de dependência nem esconder telemetria por baixo do pano.<br />
<br />
🇬🇧 New release is out! 🎉 And this one packs stuff I'd wanted for a while: VM debugging primitives, a debug-info parser and logger extension points — all without bloating the project with dependencies or sneaking in any telemetry.</blockquote>
<br />
<span style="font-size: 22pt;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">✨ O que tem de novo / What's new</span></span><br />
<br />
<span style="font-weight: bold;" class="mycode_b">🔍 VM Debugging primitives</span><br />
🇧🇷 Acessores seguros direto no <span style="font-weight: bold;" class="mycode_b">Amx</span>: leitura de registradores (<span style="font-weight: bold;" class="mycode_b">cip</span>, <span style="font-weight: bold;" class="mycode_b">frame</span>, <span style="font-weight: bold;" class="mycode_b">stack</span>, <span style="font-weight: bold;" class="mycode_b">heap</span>, <span style="font-weight: bold;" class="mycode_b">stp</span>), acesso a células com bounds-check (<span style="font-weight: bold;" class="mycode_b">read_cell</span> / <span style="font-weight: bold;" class="mycode_b">write_cell</span>) e gerenciamento de debug hook (<span style="font-weight: bold;" class="mycode_b">install_debug_hook</span> / <span style="font-weight: bold;" class="mycode_b">remove_debug_hook</span>). Sempre disponível, sem feature flag.<br />
🇬🇧 Safe accessors right on <span style="font-weight: bold;" class="mycode_b">Amx</span>: register reads, bounds-checked cell access and debug-hook management. Always available, no feature gate.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">🧩 samp::debug — parser de AMX_DBG (feature <span style="font-style: italic;" class="mycode_i">debug</span>)</span><br />
🇧🇷 Decoder puro do bloco de debug que o <span style="font-weight: bold;" class="mycode_b">pawncc -d2/-d3</span> anexa ao <span style="font-weight: bold;" class="mycode_b">.amx</span>. Mapeia endereço de código ↔ linha de fonte ↔ símbolo ↔ função. Zero dependência extra.<br />
🇬🇧 Pure-logic decoder for the debug block <span style="font-weight: bold;" class="mycode_b">pawncc -d2/-d3</span> appends to the <span style="font-weight: bold;" class="mycode_b">.amx</span>. Maps code address ↔ source line ↔ symbol ↔ function. Zero extra dependencies.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">📡 External sinks no logger</span><br />
🇧🇷 Trait <span style="font-weight: bold;" class="mycode_b">samp::logger::Sink</span> + <span style="font-weight: bold;" class="mycode_b">LoggerConfig::add_sink</span> pra mandar log pro destino que você quiser (Sentry, OTLP, um HTTP seu...). <span style="font-weight: bold;" class="mycode_b">Nada de telemetria embutida no SDK</span> — é você que liga, se quiser.<br />
🇬🇧 <span style="font-weight: bold;" class="mycode_b">Sink</span> trait + <span style="font-weight: bold;" class="mycode_b">add_sink</span> to ship logs wherever you want. <span style="font-weight: bold;" class="mycode_b">No telemetry baked into the SDK</span> — you turn it on, if you ever want to.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">📦 Já tá no crates.io / Now on crates.io</span><br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>samp = { package = "rust-samp", version = "3" }</code></div></div><br />
<span style="font-weight: bold;" class="mycode_b">🛡️ Segurança &amp; governança / Security &amp; governance</span><br />
🇧🇷 OpenSSF Scorecard, Actions pinadas por SHA, permissões de token mínimas, Dependabot e política de segurança. O básico bem feito.<br />
🇬🇧 OpenSSF Scorecard, SHA-pinned Actions, least-privilege tokens, Dependabot and a security policy. The basics, done right.<br />
<br />
<span style="font-size: 18pt;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">📋 Changelog completo / Full changelog</span></span><br />
<a href="https://github.com/NullSablex/rust-samp/blob/master/CHANGELOG.md" target="_blank" rel="noopener" class="mycode_url">CHANGELOG.md</a><br />
<br />
<span style="font-size: 22pt;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">🚀 E não para por aí / And it doesn't stop here</span></span><br />
<br />
<blockquote class="mycode_quote"><cite>Quote:</cite>🇧🇷 O <span style="font-weight: bold;" class="mycode_b">PawnPro</span> e o novo <span style="font-weight: bold;" class="mycode_b">PawnPro Debugger</span> vão ser atualizados em breve pra usar esse material novo do SDK. E o Debugger... esse vem <span style="font-weight: bold;" class="mycode_b">chegando logo</span> 👀 — montado em cima justamente das primitivas de debugging e do parser de AMX_DBG dessa release. As peças foram pensadas pra se encaixar.<br />
<br />
🇬🇧 <span style="font-weight: bold;" class="mycode_b">PawnPro</span> and the new <span style="font-weight: bold;" class="mycode_b">PawnPro Debugger</span> are getting updated soon to ride on this new SDK material. And the Debugger... that one's <span style="font-weight: bold;" class="mycode_b">landing soon</span> 👀 — built right on top of the debugging primitives and the AMX_DBG parser from this release. The pieces were made to fit together.</blockquote>
<ul class="mycode_list"><li><a href="https://github.com/NullSablex/PawnPro" target="_blank" rel="noopener" class="mycode_url"><span style="font-weight: bold;" class="mycode_b">PawnPro</span></a> — 🇧🇷 atualização chegando / 🇬🇧 update coming<br />
</li>
<li><a href="https://github.com/NullSablex/PawnPro-Debugger" target="_blank" rel="noopener" class="mycode_url"><span style="font-weight: bold;" class="mycode_b">PawnPro Debugger</span></a> — 🇧🇷 lançamento em breve / 🇬🇧 launching soon<br />
</li>
</ul>
<br />
<div style="text-align: center;" class="mycode_align"><span style="font-style: italic;" class="mycode_i">🇧🇷 Deu pra notar que tem coisa boa vindo. Issues, PRs e feedback são sempre bem-vindos!<br />
🇬🇧 You can probably tell there's good stuff on the way. Issues, PRs and feedback are always welcome!</span><br />
<br />
<a href="https://github.com/NullSablex/rust-samp" target="_blank" rel="noopener" class="mycode_url"><span style="font-weight: bold;" class="mycode_b">⭐ github.com/NullSablex/rust-samp</span></a></div>]]></description>
			<content:encoded><![CDATA[<div style="text-align: center;" class="mycode_align"><span style="font-size: 30pt;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b"><span style="color: #E67E22;" class="mycode_color">🦀 rust-samp v3.2.0</span></span></span><br />
<br />
<span style="font-size: 15pt;" class="mycode_size"><span style="font-style: italic;" class="mycode_i">SDK em Rust pra plugins SA-MP e componentes nativos open.mp</span><br />
<span style="font-style: italic;" class="mycode_i">Rust SDK for SA-MP plugins and native open.mp components</span></span><br />
<br />
<a href="https://github.com/NullSablex/rust-samp" target="_blank" rel="noopener" class="mycode_url"><span style="font-weight: bold;" class="mycode_b">github.com/NullSablex/rust-samp</span></a></div>
<br />
<blockquote class="mycode_quote"><cite>Quote:</cite>🇧🇷 Nova release no ar! 🎉 E dessa vez ela vem com umas coisas que eu queria há tempos: ferramentas de debugging direto na VM, um parser de debug-info e pontos de extensão pro logger — tudo sem encher o projeto de dependência nem esconder telemetria por baixo do pano.<br />
<br />
🇬🇧 New release is out! 🎉 And this one packs stuff I'd wanted for a while: VM debugging primitives, a debug-info parser and logger extension points — all without bloating the project with dependencies or sneaking in any telemetry.</blockquote>
<br />
<span style="font-size: 22pt;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">✨ O que tem de novo / What's new</span></span><br />
<br />
<span style="font-weight: bold;" class="mycode_b">🔍 VM Debugging primitives</span><br />
🇧🇷 Acessores seguros direto no <span style="font-weight: bold;" class="mycode_b">Amx</span>: leitura de registradores (<span style="font-weight: bold;" class="mycode_b">cip</span>, <span style="font-weight: bold;" class="mycode_b">frame</span>, <span style="font-weight: bold;" class="mycode_b">stack</span>, <span style="font-weight: bold;" class="mycode_b">heap</span>, <span style="font-weight: bold;" class="mycode_b">stp</span>), acesso a células com bounds-check (<span style="font-weight: bold;" class="mycode_b">read_cell</span> / <span style="font-weight: bold;" class="mycode_b">write_cell</span>) e gerenciamento de debug hook (<span style="font-weight: bold;" class="mycode_b">install_debug_hook</span> / <span style="font-weight: bold;" class="mycode_b">remove_debug_hook</span>). Sempre disponível, sem feature flag.<br />
🇬🇧 Safe accessors right on <span style="font-weight: bold;" class="mycode_b">Amx</span>: register reads, bounds-checked cell access and debug-hook management. Always available, no feature gate.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">🧩 samp::debug — parser de AMX_DBG (feature <span style="font-style: italic;" class="mycode_i">debug</span>)</span><br />
🇧🇷 Decoder puro do bloco de debug que o <span style="font-weight: bold;" class="mycode_b">pawncc -d2/-d3</span> anexa ao <span style="font-weight: bold;" class="mycode_b">.amx</span>. Mapeia endereço de código ↔ linha de fonte ↔ símbolo ↔ função. Zero dependência extra.<br />
🇬🇧 Pure-logic decoder for the debug block <span style="font-weight: bold;" class="mycode_b">pawncc -d2/-d3</span> appends to the <span style="font-weight: bold;" class="mycode_b">.amx</span>. Maps code address ↔ source line ↔ symbol ↔ function. Zero extra dependencies.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">📡 External sinks no logger</span><br />
🇧🇷 Trait <span style="font-weight: bold;" class="mycode_b">samp::logger::Sink</span> + <span style="font-weight: bold;" class="mycode_b">LoggerConfig::add_sink</span> pra mandar log pro destino que você quiser (Sentry, OTLP, um HTTP seu...). <span style="font-weight: bold;" class="mycode_b">Nada de telemetria embutida no SDK</span> — é você que liga, se quiser.<br />
🇬🇧 <span style="font-weight: bold;" class="mycode_b">Sink</span> trait + <span style="font-weight: bold;" class="mycode_b">add_sink</span> to ship logs wherever you want. <span style="font-weight: bold;" class="mycode_b">No telemetry baked into the SDK</span> — you turn it on, if you ever want to.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">📦 Já tá no crates.io / Now on crates.io</span><br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>samp = { package = "rust-samp", version = "3" }</code></div></div><br />
<span style="font-weight: bold;" class="mycode_b">🛡️ Segurança &amp; governança / Security &amp; governance</span><br />
🇧🇷 OpenSSF Scorecard, Actions pinadas por SHA, permissões de token mínimas, Dependabot e política de segurança. O básico bem feito.<br />
🇬🇧 OpenSSF Scorecard, SHA-pinned Actions, least-privilege tokens, Dependabot and a security policy. The basics, done right.<br />
<br />
<span style="font-size: 18pt;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">📋 Changelog completo / Full changelog</span></span><br />
<a href="https://github.com/NullSablex/rust-samp/blob/master/CHANGELOG.md" target="_blank" rel="noopener" class="mycode_url">CHANGELOG.md</a><br />
<br />
<span style="font-size: 22pt;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b">🚀 E não para por aí / And it doesn't stop here</span></span><br />
<br />
<blockquote class="mycode_quote"><cite>Quote:</cite>🇧🇷 O <span style="font-weight: bold;" class="mycode_b">PawnPro</span> e o novo <span style="font-weight: bold;" class="mycode_b">PawnPro Debugger</span> vão ser atualizados em breve pra usar esse material novo do SDK. E o Debugger... esse vem <span style="font-weight: bold;" class="mycode_b">chegando logo</span> 👀 — montado em cima justamente das primitivas de debugging e do parser de AMX_DBG dessa release. As peças foram pensadas pra se encaixar.<br />
<br />
🇬🇧 <span style="font-weight: bold;" class="mycode_b">PawnPro</span> and the new <span style="font-weight: bold;" class="mycode_b">PawnPro Debugger</span> are getting updated soon to ride on this new SDK material. And the Debugger... that one's <span style="font-weight: bold;" class="mycode_b">landing soon</span> 👀 — built right on top of the debugging primitives and the AMX_DBG parser from this release. The pieces were made to fit together.</blockquote>
<ul class="mycode_list"><li><a href="https://github.com/NullSablex/PawnPro" target="_blank" rel="noopener" class="mycode_url"><span style="font-weight: bold;" class="mycode_b">PawnPro</span></a> — 🇧🇷 atualização chegando / 🇬🇧 update coming<br />
</li>
<li><a href="https://github.com/NullSablex/PawnPro-Debugger" target="_blank" rel="noopener" class="mycode_url"><span style="font-weight: bold;" class="mycode_b">PawnPro Debugger</span></a> — 🇧🇷 lançamento em breve / 🇬🇧 launching soon<br />
</li>
</ul>
<br />
<div style="text-align: center;" class="mycode_align"><span style="font-style: italic;" class="mycode_i">🇧🇷 Deu pra notar que tem coisa boa vindo. Issues, PRs e feedback são sempre bem-vindos!<br />
🇬🇧 You can probably tell there's good stuff on the way. Issues, PRs and feedback are always welcome!</span><br />
<br />
<a href="https://github.com/NullSablex/rust-samp" target="_blank" rel="noopener" class="mycode_url"><span style="font-weight: bold;" class="mycode_b">⭐ github.com/NullSablex/rust-samp</span></a></div>]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[libsamp - samp.dll re-implementation [TESTERS NEEDED]]]></title>
			<link>https://forum.open.mp/showthread.php?tid=4303</link>
			<pubDate>Mon, 22 Jun 2026 21:21:58 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://forum.open.mp/member.php?action=profile&uid=827">Knogle</a>]]></dc:creator>
			<guid isPermaLink="false">https://forum.open.mp/showthread.php?tid=4303</guid>
			<description><![CDATA[Ahoy guys, how are you doing.<br />
<br />
I hope you guys are doing fine.<br />
In order to have major improvements on the client side for sure it's necessary to have some sort of reverse-engineered, or independently built samp.dll which carries a lot of functions currently, like GTA SA hooking and function calling, D3DX GameText/Blip/TextDraw stuff, RakNet network stack etc. etc.<br />
<br />
In order to give it a start i tried to first, manually reverse engineer the samp.dll and of course, later on started vibe-coding a lot of things that i've found out.<br />
In the process i've also built an MCP to use with Ghidra.<br />
<br />
It's currently in a very early state, but the goal is to have a drop-in replacement for the current still necessary samp.dll for 0.3.7-R5, so development efforts can continue from there on.<br />
<br />
I hope this contribution is worth it, and at least we can try :)<br />
Maybe someone can do some basic testing, do some suggestions or also proper debugging.<br />
ASI modders are also welcome, as i am still struggeling with some of the GTA SA function hooking, got a lot out of this <a href="http://github.com/gta-reversed/gta-reversed" target="_blank" rel="noopener" class="mycode_url">repo</a> though.<br />
The goal is to have something that's <span style="font-weight: bold;" class="mycode_b">NOT</span> based on leaked SA-MP code.<br />
<br />
In order to get the cam working after spawn, go to pause menu, and return, didn't get that sorted out yet.<br />
Happy testing and contributing guys! The current build is in the release section.<br />
<br />
<a href="https://github.com/Knogle/libsamp" target="_blank" rel="noopener" class="mycode_url">https://github.com/Knogle/libsamp</a>]]></description>
			<content:encoded><![CDATA[Ahoy guys, how are you doing.<br />
<br />
I hope you guys are doing fine.<br />
In order to have major improvements on the client side for sure it's necessary to have some sort of reverse-engineered, or independently built samp.dll which carries a lot of functions currently, like GTA SA hooking and function calling, D3DX GameText/Blip/TextDraw stuff, RakNet network stack etc. etc.<br />
<br />
In order to give it a start i tried to first, manually reverse engineer the samp.dll and of course, later on started vibe-coding a lot of things that i've found out.<br />
In the process i've also built an MCP to use with Ghidra.<br />
<br />
It's currently in a very early state, but the goal is to have a drop-in replacement for the current still necessary samp.dll for 0.3.7-R5, so development efforts can continue from there on.<br />
<br />
I hope this contribution is worth it, and at least we can try :)<br />
Maybe someone can do some basic testing, do some suggestions or also proper debugging.<br />
ASI modders are also welcome, as i am still struggeling with some of the GTA SA function hooking, got a lot out of this <a href="http://github.com/gta-reversed/gta-reversed" target="_blank" rel="noopener" class="mycode_url">repo</a> though.<br />
The goal is to have something that's <span style="font-weight: bold;" class="mycode_b">NOT</span> based on leaked SA-MP code.<br />
<br />
In order to get the cam working after spawn, go to pause menu, and return, didn't get that sorted out yet.<br />
Happy testing and contributing guys! The current build is in the release section.<br />
<br />
<a href="https://github.com/Knogle/libsamp" target="_blank" rel="noopener" class="mycode_url">https://github.com/Knogle/libsamp</a>]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[[Release] Spawn — IDE for open.mp and SA-MP development]]></title>
			<link>https://forum.open.mp/showthread.php?tid=4290</link>
			<pubDate>Sat, 13 Jun 2026 20:35:45 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://forum.open.mp/member.php?action=profile&uid=8171">Daniil Korochansky</a>]]></dc:creator>
			<guid isPermaLink="false">https://forum.open.mp/showthread.php?tid=4290</guid>
			<description><![CDATA[<span style="font-size: medium;" class="mycode_size">I am pleased to announce the release of the first public version of a modern open-source IDE under license GPLv3 for developing open.mp and SA-MP, featuring integration with SAMPCTL, dependency management, and built-in Git support.</span><br />
<br />
<img src="https://github.com/user-attachments/assets/505d6a46-33cc-45ae-bed3-f011474a4dc7" loading="lazy"  alt="[Image: 505d6a46-33cc-45ae-bed3-f011474a4dc7]" class="mycode_img" /><br />
<br />
<span style="font-weight: bold;" class="mycode_b">Features:</span><br />
• Designed specifically for open.mp &amp; SA-MP development.<br />
• Built-in SAMPCTL integration for building, running and managing projects.<br />
• Dependency Manager for easy installation and updating of server packages and components.<br />
• Integrated Git support with repository status indicators and commit history.<br />
• Change History markers for tracking modified and saved lines.<br />
• Automatic brace matching and highlighting.<br />
• Color preview for RGBA and HEX values directly inside the editor.<br />
• Color Picker integration for quick color insertion into Pawn code.<br />
• Split Code Editor mode for working with multiple files simultaneously.<br />
• Project Tree optimized for large projects.<br />
• Integrated build output and server console panels.<br />
• Automatic project files monitoring and refresh.<br />
• Portable distribution (no installation required).<br />
<br />
Download: <a href="https://github.com/daniilkorochansky/spawn" target="_blank" rel="noopener" class="mycode_url">https://github.com/daniilkorochansky/spawn</a>]]></description>
			<content:encoded><![CDATA[<span style="font-size: medium;" class="mycode_size">I am pleased to announce the release of the first public version of a modern open-source IDE under license GPLv3 for developing open.mp and SA-MP, featuring integration with SAMPCTL, dependency management, and built-in Git support.</span><br />
<br />
<img src="https://github.com/user-attachments/assets/505d6a46-33cc-45ae-bed3-f011474a4dc7" loading="lazy"  alt="[Image: 505d6a46-33cc-45ae-bed3-f011474a4dc7]" class="mycode_img" /><br />
<br />
<span style="font-weight: bold;" class="mycode_b">Features:</span><br />
• Designed specifically for open.mp &amp; SA-MP development.<br />
• Built-in SAMPCTL integration for building, running and managing projects.<br />
• Dependency Manager for easy installation and updating of server packages and components.<br />
• Integrated Git support with repository status indicators and commit history.<br />
• Change History markers for tracking modified and saved lines.<br />
• Automatic brace matching and highlighting.<br />
• Color preview for RGBA and HEX values directly inside the editor.<br />
• Color Picker integration for quick color insertion into Pawn code.<br />
• Split Code Editor mode for working with multiple files simultaneously.<br />
• Project Tree optimized for large projects.<br />
• Integrated build output and server console panels.<br />
• Automatic project files monitoring and refresh.<br />
• Portable distribution (no installation required).<br />
<br />
Download: <a href="https://github.com/daniilkorochansky/spawn" target="_blank" rel="noopener" class="mycode_url">https://github.com/daniilkorochansky/spawn</a>]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Emotion Launcher(eLauncher)]]></title>
			<link>https://forum.open.mp/showthread.php?tid=3242</link>
			<pubDate>Thu, 24 Jul 2025 23:59:41 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://forum.open.mp/member.php?action=profile&uid=6320">Collw</a>]]></dc:creator>
			<guid isPermaLink="false">https://forum.open.mp/showthread.php?tid=3242</guid>
			<description><![CDATA[<div style="text-align: center;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b"><img src="https://cdn.discordapp.com/attachments/1117589516488822906/1398115855128334376/EL_18.png?ex=6884305b&amp;is=6882dedb&amp;hm=a5349d5c3d17263b983516e05f956dc2e61b6b098dfac6654edcb4b1332dec98&amp;" loading="lazy"  width="200" height="200" alt="[Image: EL_18.png?ex=6884305b&amp;is=6882dedb&amp;hm=a53...1332dec98&amp;]" class="mycode_img" /></span></div>
<span style="font-weight: bold;" class="mycode_b">Emotion Multiplayer - eLauncher</span><br />
This project is <span style="font-weight: bold;" class="mycode_b">not a new multiplayer mod</span>. Emotion Multiplayer &gt; eLauncher is part of an open-source initiative aimed at organizing and sharing tools, modifications, and code with the <span style="font-weight: bold;" class="mycode_b">SA-MP</span> and <span style="font-weight: bold;" class="mycode_b">open.mp</span> communities.<br />
<span style="font-weight: bold;" class="mycode_b">About the project</span><br />
I’m passionate about volunteer development and open-source software. While exploring some community SA-MP repositories, I had the idea to create a dedicated launcher. That’s how <span style="font-weight: bold;" class="mycode_b">Emotion Launcher (eLauncher)</span> was born.<br />
The goal of this project is to make it easier for server owners — especially those running large servers — to create their own custom launchers in a practical and professional way.<br />
You can create your own launcher based on <span style="font-weight: bold;" class="mycode_b">eLauncher</span>.<br />
<span style="font-weight: bold;" class="mycode_b">Technologies used</span><ul class="mycode_list"><li>Language: C#<br />
</li>
<li>Interface: WinForms<br />
</li>
<li>Platform: .NET 8.0<br />
</li>
</ul>
<span style="font-weight: bold;" class="mycode_b">Try it now</span><br />
You can explore and test the launcher by visiting:<br />
Official website: <a href="https://elauncher.site/" target="_blank" rel="noopener" class="mycode_url">https://elauncher.site</a><br />
Source code: <a href="https://github.com/emotionmultiplayer/eLauncher" target="_blank" rel="noopener" class="mycode_url">https://github.com/emotionmultiplayer/eLauncher</a><br />
<span style="font-weight: bold;" class="mycode_b">Contributions</span><br />
Contributions are welcome. If you have ideas, improvements, or fixes, feel free to open an issue or submit a pull request on the repository.<br />
<span style="font-weight: bold;" class="mycode_b">Emotion Multiplayer – developed with dedication for the community.</span>]]></description>
			<content:encoded><![CDATA[<div style="text-align: center;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b"><img src="https://cdn.discordapp.com/attachments/1117589516488822906/1398115855128334376/EL_18.png?ex=6884305b&amp;is=6882dedb&amp;hm=a5349d5c3d17263b983516e05f956dc2e61b6b098dfac6654edcb4b1332dec98&amp;" loading="lazy"  width="200" height="200" alt="[Image: EL_18.png?ex=6884305b&amp;is=6882dedb&amp;hm=a53...1332dec98&amp;]" class="mycode_img" /></span></div>
<span style="font-weight: bold;" class="mycode_b">Emotion Multiplayer - eLauncher</span><br />
This project is <span style="font-weight: bold;" class="mycode_b">not a new multiplayer mod</span>. Emotion Multiplayer &gt; eLauncher is part of an open-source initiative aimed at organizing and sharing tools, modifications, and code with the <span style="font-weight: bold;" class="mycode_b">SA-MP</span> and <span style="font-weight: bold;" class="mycode_b">open.mp</span> communities.<br />
<span style="font-weight: bold;" class="mycode_b">About the project</span><br />
I’m passionate about volunteer development and open-source software. While exploring some community SA-MP repositories, I had the idea to create a dedicated launcher. That’s how <span style="font-weight: bold;" class="mycode_b">Emotion Launcher (eLauncher)</span> was born.<br />
The goal of this project is to make it easier for server owners — especially those running large servers — to create their own custom launchers in a practical and professional way.<br />
You can create your own launcher based on <span style="font-weight: bold;" class="mycode_b">eLauncher</span>.<br />
<span style="font-weight: bold;" class="mycode_b">Technologies used</span><ul class="mycode_list"><li>Language: C#<br />
</li>
<li>Interface: WinForms<br />
</li>
<li>Platform: .NET 8.0<br />
</li>
</ul>
<span style="font-weight: bold;" class="mycode_b">Try it now</span><br />
You can explore and test the launcher by visiting:<br />
Official website: <a href="https://elauncher.site/" target="_blank" rel="noopener" class="mycode_url">https://elauncher.site</a><br />
Source code: <a href="https://github.com/emotionmultiplayer/eLauncher" target="_blank" rel="noopener" class="mycode_url">https://github.com/emotionmultiplayer/eLauncher</a><br />
<span style="font-weight: bold;" class="mycode_b">Contributions</span><br />
Contributions are welcome. If you have ideas, improvements, or fixes, feel free to open an issue or submit a pull request on the repository.<br />
<span style="font-weight: bold;" class="mycode_b">Emotion Multiplayer – developed with dedication for the community.</span>]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[С++ / How to terminate further function calls?]]></title>
			<link>https://forum.open.mp/showthread.php?tid=3069</link>
			<pubDate>Mon, 10 Feb 2025 04:09:26 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://forum.open.mp/member.php?action=profile&uid=5383">punkochel</a>]]></dc:creator>
			<guid isPermaLink="false">https://forum.open.mp/showthread.php?tid=3069</guid>
			<description><![CDATA[Hi everyone! How can I complete a sequence of function calls if I already got the desired result?<br />
Let's say not call onPlayerSpawn in Test2 if I already got what I wanted in Test1? Only if?<br />
<br />
<br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>class Test1 : public PlayerSpawnEventHandler<br />
{<br />
<br />
public:<br />
    void onPlayerSpawn(IPlayer &amp;player) override<br />
    {<br />
        player.sendClientMessage(Colour::Cyan(), "Hello from the test class...");<br />
    }<br />
};<br />
<br />
class Test2 : public PlayerSpawnEventHandler<br />
{<br />
<br />
public:<br />
    void onPlayerSpawn(IPlayer &amp;player) override<br />
    {<br />
        player.sendClientMessage(Colour::Cyan(), "Hello from the test2 class...");<br />
    }<br />
};<br />
<br />
void Gamemode::onLoad(ICore* c)<br />
{<br />
    core_ = c;<br />
    c-&gt;getPlayers().getPlayerConnectDispatcher().addEventHandler(this);<br />
    c-&gt;getPlayers().getPlayerSpawnDispatcher().addEventHandler(this);<br />
    c-&gt;getPlayers().getPlayerTextDispatcher().addEventHandler(this);<br />
<br />
    test1_ = new Test1;<br />
    c-&gt;getPlayers().getPlayerSpawnDispatcher().addEventHandler(test1_);<br />
<br />
    test2_ = new Test2;<br />
    c-&gt;getPlayers().getPlayerSpawnDispatcher().addEventHandler(test2_);<br />
}</code></div></div>]]></description>
			<content:encoded><![CDATA[Hi everyone! How can I complete a sequence of function calls if I already got the desired result?<br />
Let's say not call onPlayerSpawn in Test2 if I already got what I wanted in Test1? Only if?<br />
<br />
<br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>class Test1 : public PlayerSpawnEventHandler<br />
{<br />
<br />
public:<br />
    void onPlayerSpawn(IPlayer &amp;player) override<br />
    {<br />
        player.sendClientMessage(Colour::Cyan(), "Hello from the test class...");<br />
    }<br />
};<br />
<br />
class Test2 : public PlayerSpawnEventHandler<br />
{<br />
<br />
public:<br />
    void onPlayerSpawn(IPlayer &amp;player) override<br />
    {<br />
        player.sendClientMessage(Colour::Cyan(), "Hello from the test2 class...");<br />
    }<br />
};<br />
<br />
void Gamemode::onLoad(ICore* c)<br />
{<br />
    core_ = c;<br />
    c-&gt;getPlayers().getPlayerConnectDispatcher().addEventHandler(this);<br />
    c-&gt;getPlayers().getPlayerSpawnDispatcher().addEventHandler(this);<br />
    c-&gt;getPlayers().getPlayerTextDispatcher().addEventHandler(this);<br />
<br />
    test1_ = new Test1;<br />
    c-&gt;getPlayers().getPlayerSpawnDispatcher().addEventHandler(test1_);<br />
<br />
    test2_ = new Test2;<br />
    c-&gt;getPlayers().getPlayerSpawnDispatcher().addEventHandler(test2_);<br />
}</code></div></div>]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Need any technical support?]]></title>
			<link>https://forum.open.mp/showthread.php?tid=2921</link>
			<pubDate>Tue, 01 Oct 2024 14:20:44 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://forum.open.mp/member.php?action=profile&uid=4411">JasonRiggs</a>]]></dc:creator>
			<guid isPermaLink="false">https://forum.open.mp/showthread.php?tid=2921</guid>
			<description><![CDATA[Hi there!<br />
<br />
So I thought why not we make this thread to people who require or offer any technical support to meet up here so we can make it easier for developers and users to find each others which will enhance the growth of the community and the quality of the service.<br />
<br />
I'll begin with myself.. If you need any help regarding Open.MP server development or any other matter contact me over DMs or on discord <span style="color: #000000;" class="mycode_color"><span style="font-family: gg sans', 'Noto Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif, 'Apple Symbols;" class="mycode_font">riggsss</span></span><br />
<br />
<span style="font-family: gg sans', 'Noto Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif, 'Apple Symbols;" class="mycode_font"><span style="color: #000000;" class="mycode_color">Hope this post reaches alot of people!</span></span>]]></description>
			<content:encoded><![CDATA[Hi there!<br />
<br />
So I thought why not we make this thread to people who require or offer any technical support to meet up here so we can make it easier for developers and users to find each others which will enhance the growth of the community and the quality of the service.<br />
<br />
I'll begin with myself.. If you need any help regarding Open.MP server development or any other matter contact me over DMs or on discord <span style="color: #000000;" class="mycode_color"><span style="font-family: gg sans', 'Noto Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif, 'Apple Symbols;" class="mycode_font">riggsss</span></span><br />
<br />
<span style="font-family: gg sans', 'Noto Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif, 'Apple Symbols;" class="mycode_font"><span style="color: #000000;" class="mycode_color">Hope this post reaches alot of people!</span></span>]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Build OpenMP sdk (cmake-conan)]]></title>
			<link>https://forum.open.mp/showthread.php?tid=2840</link>
			<pubDate>Sun, 28 Jul 2024 17:43:09 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://forum.open.mp/member.php?action=profile&uid=6079">PainFrenemy</a>]]></dc:creator>
			<guid isPermaLink="false">https://forum.open.mp/showthread.php?tid=2840</guid>
			<description><![CDATA[<span style="color: #cbdae6;" class="mycode_color"><span style="font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Noto Sans', Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji';" class="mycode_font">&#36; cmake .. -A Win32 -T ClangCL</span></span><br />
<span style="color: #cbdae6;" class="mycode_color"><span style="font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Noto Sans', Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji';" class="mycode_font">-- Selecting Windows SDK version 10.0.22621.0 to target Windows 10.0.22631.</span></span><br />
<span style="color: #cbdae6;" class="mycode_color"><span style="font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Noto Sans', Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji';" class="mycode_font">usage: conan profile [-h] [-v [V]] [-cc CORE_CONF] {detect,list,path,show} ...</span></span><br />
<span style="color: #cbdae6;" class="mycode_color"><span style="font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Noto Sans', Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji';" class="mycode_font">conan profile: error: argument subcommand: invalid choice: 'update' (choose from 'detect', 'list', 'path', 'show')</span></span><br />
<span style="color: #cbdae6;" class="mycode_color"><span style="font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Noto Sans', Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji';" class="mycode_font">ERROR: Exiting with code: 2</span></span><br />
<span style="color: #cbdae6;" class="mycode_color"><span style="font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Noto Sans', Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji';" class="mycode_font">CMake Error at lib/cmake-conan/conan-omp.cmake:20 (message):</span></span><br />
<span style="color: #cbdae6;" class="mycode_color"><span style="font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Noto Sans', Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji';" class="mycode_font">Couldn't update build profile</span></span><br />
<span style="color: #cbdae6;" class="mycode_color"><span style="font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Noto Sans', Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji';" class="mycode_font">Call Stack (most recent call first):</span></span><br />
<span style="color: #cbdae6;" class="mycode_color"><span style="font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Noto Sans', Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji';" class="mycode_font">lib/cmake-conan/conan-omp.cmake:60 (conan_update_profile)</span></span><br />
<span style="color: #cbdae6;" class="mycode_color"><span style="font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Noto Sans', Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji';" class="mycode_font">CMakeLists.txt:6 (include)</span></span><br />
<br />
<span style="color: #cbdae6;" class="mycode_color"><span style="font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Noto Sans', Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji';" class="mycode_font"><a href="https://github.com/openmultiplayer/open.mp-sdk" target="_blank" rel="noopener" class="mycode_url">https://github.com/openmultiplayer/open.mp-sdk</a></span></span>]]></description>
			<content:encoded><![CDATA[<span style="color: #cbdae6;" class="mycode_color"><span style="font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Noto Sans', Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji';" class="mycode_font">&#36; cmake .. -A Win32 -T ClangCL</span></span><br />
<span style="color: #cbdae6;" class="mycode_color"><span style="font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Noto Sans', Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji';" class="mycode_font">-- Selecting Windows SDK version 10.0.22621.0 to target Windows 10.0.22631.</span></span><br />
<span style="color: #cbdae6;" class="mycode_color"><span style="font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Noto Sans', Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji';" class="mycode_font">usage: conan profile [-h] [-v [V]] [-cc CORE_CONF] {detect,list,path,show} ...</span></span><br />
<span style="color: #cbdae6;" class="mycode_color"><span style="font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Noto Sans', Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji';" class="mycode_font">conan profile: error: argument subcommand: invalid choice: 'update' (choose from 'detect', 'list', 'path', 'show')</span></span><br />
<span style="color: #cbdae6;" class="mycode_color"><span style="font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Noto Sans', Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji';" class="mycode_font">ERROR: Exiting with code: 2</span></span><br />
<span style="color: #cbdae6;" class="mycode_color"><span style="font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Noto Sans', Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji';" class="mycode_font">CMake Error at lib/cmake-conan/conan-omp.cmake:20 (message):</span></span><br />
<span style="color: #cbdae6;" class="mycode_color"><span style="font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Noto Sans', Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji';" class="mycode_font">Couldn't update build profile</span></span><br />
<span style="color: #cbdae6;" class="mycode_color"><span style="font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Noto Sans', Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji';" class="mycode_font">Call Stack (most recent call first):</span></span><br />
<span style="color: #cbdae6;" class="mycode_color"><span style="font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Noto Sans', Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji';" class="mycode_font">lib/cmake-conan/conan-omp.cmake:60 (conan_update_profile)</span></span><br />
<span style="color: #cbdae6;" class="mycode_color"><span style="font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Noto Sans', Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji';" class="mycode_font">CMakeLists.txt:6 (include)</span></span><br />
<br />
<span style="color: #cbdae6;" class="mycode_color"><span style="font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Noto Sans', Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji';" class="mycode_font"><a href="https://github.com/openmultiplayer/open.mp-sdk" target="_blank" rel="noopener" class="mycode_url">https://github.com/openmultiplayer/open.mp-sdk</a></span></span>]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[A code alternative for finding an empty slot properly]]></title>
			<link>https://forum.open.mp/showthread.php?tid=2828</link>
			<pubDate>Fri, 19 Jul 2024 11:23:00 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://forum.open.mp/member.php?action=profile&uid=6021">Amr</a>]]></dc:creator>
			<guid isPermaLink="false">https://forum.open.mp/showthread.php?tid=2828</guid>
			<description><![CDATA[<span style="font-weight: bold;" class="mycode_b"><span style="font-size: x-large;" class="mycode_size">Finding the First Empty Slot in an Array</span></span><br />
<br />
<span style="font-weight: bold;" class="mycode_b"><span style="font-size: medium;" class="mycode_size">Objective:</span></span><br />
<span style="font-size: medium;" class="mycode_size">To determine the index of the first empty slot in a 0-indexed array </span><span style="font-size: 1pt;" class="mycode_size">Arr of size 1024, with an additional precaution against potential overflow.</span><br />
<br />
<span style="font-size: medium;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b"><span style="font-size: medium;" class="mycode_size">Explanation:</span></span></span><br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>int SizeArr = 1024;      // Size of the array<br />
int Arr[SizeArr + 1];    // Array with additional slot<br />
<br />
int i = 1;                // Initialization of index i<br />
<br />
while (Arr)        // Loop until an empty slot is found<br />
    i++;<br />
<br />
return i % (SizeArr + 1) - 1;  // Return the index of the empty slot</code></div></div><br />
<span style="font-weight: bold;" class="mycode_b"><span style="font-size: medium;" class="mycode_size">Details:</span></span><br />
<ol type="1" class="mycode_list"><li><span style="font-weight: bold;" class="mycode_b">Array Declaration:</span><br />
<ul class="mycode_list"><li><span style="color: #c10300;" class="mycode_color">int Arr[SizeArr + 1];</span><br />
 declares an array <span style="color: #c10300;" class="mycode_color">Arr</span> with 1025 elements, including an additional slot to handle edge cases and prevent overflow.<br />
</li>
</ul>
</li>
<li><span style="font-weight: bold;" class="mycode_b">Initialization of </span><span style="font-weight: bold;" class="mycode_b">i</span><span style="font-weight: bold;" class="mycode_b">:</span><br />
<ul class="mycode_list"><li><span style="color: #c10300;" class="mycode_color">int i = 1;</span><br />
 starts <span style="color: #c10300;" class="mycode_color">i</span> at 1 to facilitate the search for the first empty slot while adjusting for 0-based indexing with <span style="color: #c10300;" class="mycode_color">Arr[i - 1]</span>.<br />
</li>
</ul>
</li>
<li><span style="font-weight: bold;" class="mycode_b">While Loop:</span><br />
<ul class="mycode_list"><li><span style="color: #c10300;" class="mycode_color">while (Arr[i - 1]) i++;</span><br />
 iterates <span style="color: #c10300;" class="mycode_color">i</span> until it finds an index where <span style="color: #c10300;" class="mycode_color">Arr[i - 1]</span> is zero, indicating an empty slot in the array.<br />
</li>
</ul>
</li>
<li><span style="font-weight: bold;" class="mycode_b">Return Statement:</span><br />
<ul class="mycode_list"><li><span style="color: #c10300;" class="mycode_color">return i % (SizeArr + 1) - 1;</span><br />
 calculates and returns the index of the first empty slot:<br />
<ul class="mycode_list"><li><span style="color: #c10300;" class="mycode_color">i % (SizeArr + 1)</span><br />
 ensures <span style="color: #c10300;" class="mycode_color">i</span> wraps within the array bounds, accounting for the extra slot.<br />
</li>
<li><span style="color: #c10300;" class="mycode_color">- 1</span><br />
 adjusts <span style="color: #c10300;" class="mycode_color">i</span> to be a 0-based index, aligning with typical C/C++ array indexing conventions.<br />
</li>
</ul>
</li>
</ul>
</li>
</ol>
<span style="font-weight: bold;" class="mycode_b"><span style="font-size: medium;" class="mycode_size">Benefits:</span></span><ul class="mycode_list"><li><span style="font-weight: bold;" class="mycode_b">Overflow Protection:</span> By allocating an extra element (`<span style="color: #c10300;" class="mycode_color">Arr[SizeArr]</span>`), the code guards against potential overflow issues during array traversal.<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">Robustness:</span> Handles various scenarios by locating the first empty slot in the array Arr, accommodating specific conditions where zero signifies an empty slot.<br />
</li>
</ul>
<span style="font-weight: bold;" class="mycode_b"><span style="font-size: medium;" class="mycode_size">Considerations:</span></span><ul class="mycode_list"><li>Ensure the array initialization and usage align with application-specific requirements regarding empty slot definitions and array indexing conventions.<br />
</li>
</ul>
]]></description>
			<content:encoded><![CDATA[<span style="font-weight: bold;" class="mycode_b"><span style="font-size: x-large;" class="mycode_size">Finding the First Empty Slot in an Array</span></span><br />
<br />
<span style="font-weight: bold;" class="mycode_b"><span style="font-size: medium;" class="mycode_size">Objective:</span></span><br />
<span style="font-size: medium;" class="mycode_size">To determine the index of the first empty slot in a 0-indexed array </span><span style="font-size: 1pt;" class="mycode_size">Arr of size 1024, with an additional precaution against potential overflow.</span><br />
<br />
<span style="font-size: medium;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b"><span style="font-size: medium;" class="mycode_size">Explanation:</span></span></span><br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>int SizeArr = 1024;      // Size of the array<br />
int Arr[SizeArr + 1];    // Array with additional slot<br />
<br />
int i = 1;                // Initialization of index i<br />
<br />
while (Arr)        // Loop until an empty slot is found<br />
    i++;<br />
<br />
return i % (SizeArr + 1) - 1;  // Return the index of the empty slot</code></div></div><br />
<span style="font-weight: bold;" class="mycode_b"><span style="font-size: medium;" class="mycode_size">Details:</span></span><br />
<ol type="1" class="mycode_list"><li><span style="font-weight: bold;" class="mycode_b">Array Declaration:</span><br />
<ul class="mycode_list"><li><span style="color: #c10300;" class="mycode_color">int Arr[SizeArr + 1];</span><br />
 declares an array <span style="color: #c10300;" class="mycode_color">Arr</span> with 1025 elements, including an additional slot to handle edge cases and prevent overflow.<br />
</li>
</ul>
</li>
<li><span style="font-weight: bold;" class="mycode_b">Initialization of </span><span style="font-weight: bold;" class="mycode_b">i</span><span style="font-weight: bold;" class="mycode_b">:</span><br />
<ul class="mycode_list"><li><span style="color: #c10300;" class="mycode_color">int i = 1;</span><br />
 starts <span style="color: #c10300;" class="mycode_color">i</span> at 1 to facilitate the search for the first empty slot while adjusting for 0-based indexing with <span style="color: #c10300;" class="mycode_color">Arr[i - 1]</span>.<br />
</li>
</ul>
</li>
<li><span style="font-weight: bold;" class="mycode_b">While Loop:</span><br />
<ul class="mycode_list"><li><span style="color: #c10300;" class="mycode_color">while (Arr[i - 1]) i++;</span><br />
 iterates <span style="color: #c10300;" class="mycode_color">i</span> until it finds an index where <span style="color: #c10300;" class="mycode_color">Arr[i - 1]</span> is zero, indicating an empty slot in the array.<br />
</li>
</ul>
</li>
<li><span style="font-weight: bold;" class="mycode_b">Return Statement:</span><br />
<ul class="mycode_list"><li><span style="color: #c10300;" class="mycode_color">return i % (SizeArr + 1) - 1;</span><br />
 calculates and returns the index of the first empty slot:<br />
<ul class="mycode_list"><li><span style="color: #c10300;" class="mycode_color">i % (SizeArr + 1)</span><br />
 ensures <span style="color: #c10300;" class="mycode_color">i</span> wraps within the array bounds, accounting for the extra slot.<br />
</li>
<li><span style="color: #c10300;" class="mycode_color">- 1</span><br />
 adjusts <span style="color: #c10300;" class="mycode_color">i</span> to be a 0-based index, aligning with typical C/C++ array indexing conventions.<br />
</li>
</ul>
</li>
</ul>
</li>
</ol>
<span style="font-weight: bold;" class="mycode_b"><span style="font-size: medium;" class="mycode_size">Benefits:</span></span><ul class="mycode_list"><li><span style="font-weight: bold;" class="mycode_b">Overflow Protection:</span> By allocating an extra element (`<span style="color: #c10300;" class="mycode_color">Arr[SizeArr]</span>`), the code guards against potential overflow issues during array traversal.<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">Robustness:</span> Handles various scenarios by locating the first empty slot in the array Arr, accommodating specific conditions where zero signifies an empty slot.<br />
</li>
</ul>
<span style="font-weight: bold;" class="mycode_b"><span style="font-size: medium;" class="mycode_size">Considerations:</span></span><ul class="mycode_list"><li>Ensure the array initialization and usage align with application-specific requirements regarding empty slot definitions and array indexing conventions.<br />
</li>
</ul>
]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Want to make an android app?]]></title>
			<link>https://forum.open.mp/showthread.php?tid=2823</link>
			<pubDate>Wed, 17 Jul 2024 09:32:42 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://forum.open.mp/member.php?action=profile&uid=6016">MEGAMIND</a>]]></dc:creator>
			<guid isPermaLink="false">https://forum.open.mp/showthread.php?tid=2823</guid>
			<description><![CDATA[i dont know if i am in wrong board, kindly do guide me where to post as its also offtopic sharing an invite link for <a href="https://discord.gg/fD93Bx5SqP" target="_blank" rel="noopener" class="mycode_url">https://discord.gg/fD93Bx5SqP</a> cordova.js developers if any one might be interested they can join and create android apps based on html,js,css for android or ios <a href="https://cordova.apache.org/" target="_blank" rel="noopener" class="mycode_url">https://cordova.apache.org/</a> as the platform it self is awsome but there was no discord chanel for it, so decided to make one<br />
<br />
Note: its not for samp related coding, but u can surely make an android app that links to samp somewhere]]></description>
			<content:encoded><![CDATA[i dont know if i am in wrong board, kindly do guide me where to post as its also offtopic sharing an invite link for <a href="https://discord.gg/fD93Bx5SqP" target="_blank" rel="noopener" class="mycode_url">https://discord.gg/fD93Bx5SqP</a> cordova.js developers if any one might be interested they can join and create android apps based on html,js,css for android or ios <a href="https://cordova.apache.org/" target="_blank" rel="noopener" class="mycode_url">https://cordova.apache.org/</a> as the platform it self is awsome but there was no discord chanel for it, so decided to make one<br />
<br />
Note: its not for samp related coding, but u can surely make an android app that links to samp somewhere]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[What Do You Think?]]></title>
			<link>https://forum.open.mp/showthread.php?tid=2810</link>
			<pubDate>Tue, 02 Jul 2024 20:18:55 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://forum.open.mp/member.php?action=profile&uid=5966">yamanshrestha2018</a>]]></dc:creator>
			<guid isPermaLink="false">https://forum.open.mp/showthread.php?tid=2810</guid>
			<description><![CDATA[How long do you think it would take for a person to learn the pawn lang from scratch and code his own server and get it running?? 2 years??]]></description>
			<content:encoded><![CDATA[How long do you think it would take for a person to learn the pawn lang from scratch and code his own server and get it running?? 2 years??]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Problem with plugin development]]></title>
			<link>https://forum.open.mp/showthread.php?tid=2271</link>
			<pubDate>Tue, 18 Jan 2022 11:41:07 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://forum.open.mp/member.php?action=profile&uid=2844">Davee52</a>]]></dc:creator>
			<guid isPermaLink="false">https://forum.open.mp/showthread.php?tid=2271</guid>
			<description><![CDATA[Hy everybody! I followed the instructions in the Plugin Development topic on the site, and I get errors as I include the invoke.hxx . I downloaded it on the link, added the file to the project, and included it in the code, but it gives me these errors:<br />
<a href="https://imgur.com/a/Yamr46K" target="_blank" rel="noopener" class="mycode_url">https://imgur.com/a/Yamr46K</a><br />
Thank you if you could lead me to success.]]></description>
			<content:encoded><![CDATA[Hy everybody! I followed the instructions in the Plugin Development topic on the site, and I get errors as I include the invoke.hxx . I downloaded it on the link, added the file to the project, and included it in the code, but it gives me these errors:<br />
<a href="https://imgur.com/a/Yamr46K" target="_blank" rel="noopener" class="mycode_url">https://imgur.com/a/Yamr46K</a><br />
Thank you if you could lead me to success.]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[How to call a function an address?]]></title>
			<link>https://forum.open.mp/showthread.php?tid=2158</link>
			<pubDate>Tue, 06 Jul 2021 21:36:37 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://forum.open.mp/member.php?action=profile&uid=2504">oukibt</a>]]></dc:creator>
			<guid isPermaLink="false">https://forum.open.mp/showthread.php?tid=2158</guid>
			<description><![CDATA[Hi I am trying to call a function at an address from a plugin but I am getting a crash.<br />
<br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>PLUGIN_EXPORT int PLUGIN_CALL AmxLoad(AMX* amx)<br />
{<br />
? ? VirtualUnlock((LPVOID)0x48B5B0, 0x20);<br />
<br />
? ? ((int(__fastcall*)(char*))0x48B5B0)("query");<br />
? ? return 1;<br />
}</code></div></div><br />
<a href="https://cdn.discordapp.com/attachments/582915540285128725/862083931314585630/unknown.png" target="_blank" rel="noopener" class="mycode_url">https://cdn.discordapp.com/attachments/5...nknown.png</a><br />
<br />
I think, this is GetConsoleVariableInt function]]></description>
			<content:encoded><![CDATA[Hi I am trying to call a function at an address from a plugin but I am getting a crash.<br />
<br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>PLUGIN_EXPORT int PLUGIN_CALL AmxLoad(AMX* amx)<br />
{<br />
? ? VirtualUnlock((LPVOID)0x48B5B0, 0x20);<br />
<br />
? ? ((int(__fastcall*)(char*))0x48B5B0)("query");<br />
? ? return 1;<br />
}</code></div></div><br />
<a href="https://cdn.discordapp.com/attachments/582915540285128725/862083931314585630/unknown.png" target="_blank" rel="noopener" class="mycode_url">https://cdn.discordapp.com/attachments/5...nknown.png</a><br />
<br />
I think, this is GetConsoleVariableInt function]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[SCM()]]></title>
			<link>https://forum.open.mp/showthread.php?tid=2141</link>
			<pubDate>Sun, 27 Jun 2021 09:46:38 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://forum.open.mp/member.php?action=profile&uid=1576">Awide</a>]]></dc:creator>
			<guid isPermaLink="false">https://forum.open.mp/showthread.php?tid=2141</guid>
			<description><![CDATA[jokes on you all haters i use SCM to split long messages?<br />
<br />
<br />
<br />
*grabs popcorn*]]></description>
			<content:encoded><![CDATA[jokes on you all haters i use SCM to split long messages?<br />
<br />
<br />
<br />
*grabs popcorn*]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Run sa-mp server in android terminal]]></title>
			<link>https://forum.open.mp/showthread.php?tid=2131</link>
			<pubDate>Wed, 23 Jun 2021 16:50:40 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://forum.open.mp/member.php?action=profile&uid=2975">Otakeiro</a>]]></dc:creator>
			<guid isPermaLink="false">https://forum.open.mp/showthread.php?tid=2131</guid>
			<description><![CDATA[super solved...]]></description>
			<content:encoded><![CDATA[super solved...]]></content:encoded>
		</item>
	</channel>
</rss>