1 hour ago
⚡ PawnPro 3.5.0
Uma IDE completa para Pawn dentro do seu editor — SA-MP e open.mp
A complete Pawn IDE inside your editor — SA-MP and open.mp
Marketplace · Open VSX · GitHub · Documentação
Uma IDE completa para Pawn dentro do seu editor — SA-MP e open.mp
A complete Pawn IDE inside your editor — SA-MP and open.mp
Marketplace · Open VSX · GitHub · Documentação
Quote:🇧🇷 A 3.5.0 está no ar. Junto com ela, o motor de análise sobe para a 1.4.0 e o depurador para a 0.2.0. É a maior atualização até agora: documentação de funções no hover, depuração de verdade, e uma auditoria de segurança no envio de comandos RCON.
🇬🇧 3.5.0 is out. The analysis engine moves to 1.4.0 and the debugger to 0.2.0. It's the biggest update so far: function docs on hover, real debugging, and a security audit on RCON command sending.
🤔 O problema / The problem
🇧🇷 Quem escreve gamemode conhece o ciclo: salvar, trocar de janela, compilar, ler um erro sem contexto, voltar, procurar a linha. Errou o nome de uma função? Só descobre no compilador. Quer saber o que aquele native faz? Abre o .inc e lê o código.
🇬🇧 If you write gamemodes, you know the loop: save, alt-tab, compile, read a context-free error, go back, hunt for the line. Typo in a function name? The compiler tells you. Want to know what that native does? Open the .inc and read it.
🇧🇷 O PawnPro corta esse ciclo. O código é analisado enquanto você escreve — por um motor próprio escrito em Rust, rodando fora do editor, não por expressões regulares.
🇬🇧 PawnPro cuts that loop. Your code is analyzed as you type — by a dedicated engine written in Rust, running out of process, not by regex.
✨ O que a 3.5.0 traz / What's new in 3.5.0
📖 Documentação de funções no hover
🇧🇷 O comentário acima da função vira texto formatado — nada de * e tags soltas na tela. Reconhece Javadoc (@param) e XMLdoc (<summary>, o formato do omp-stdlib). Ao digitar a chamada, a descrição do parâmetro em que você está aparece sozinha.
🇬🇧 The comment above a function becomes formatted text — no more raw * and tags. Recognizes Javadoc and XMLdoc. While typing a call, the description of the parameter you're on shows up on its own.
🐞 Depuração de verdade / Real debugging
🇧🇷 F5 e pronto: breakpoints (simples, condicionais, por contagem e logpoints), passo a passo, inspeção de variáveis, watch, call stack e data breakpoints — pausar quando um valor muda. Depuração de gamemode, não print() espalhado pelo código.
🇬🇧 F5 and you're in: breakpoints (plain, conditional, hit-count and logpoints), stepping, variable inspection, watch, call stack and data breakpoints. Gamemode debugging, not print() scattered around.
🖥️ Servidor sem sair do editor / Server without leaving the editor
🇧🇷 Iniciar, parar, reiniciar e mandar comando RCON pelo painel lateral. Histórico e favoritos com busca, e o log acompanhado em tempo real. A senha do RCON sai do server.cfg sozinha — você não digita.
🇬🇧 Start, stop, restart and send RCON commands from the side panel. History and favorites with search, live log tailing. The RCON password is read from server.cfg — you never type it.
🔒 Segurança no RCON / RCON security
🇧🇷 O RCON do SA-MP é um protocolo de 2005: manda a senha em texto claro por UDP. Esta versão fecha cinco pontos da auditoria — resposta forjada aceita como legítima, envio de senha para fora da máquina, e comandos com credencial que ficavam gravados no histórico. Envio direto agora só para servidor local; remoto vai pelo terminal.
🇬🇧 SA-MP's RCON is a 2005 protocol: it sends the password in cleartext over UDP. This release closes five audit findings — forged replies accepted as legitimate, passwords leaving the machine, and credential-bearing commands stored in history.
🎨 Interface que você ajusta / An interface you tune
🇧🇷 Escolha a cor de destaque entre seis opções (ou deixe herdar do seu tema). Painel de configurações visual, sem editar JSON. E cinco idiomas — português, inglês, espanhol, romeno e russo — com a interface e os diagnósticos configuráveis separadamente: dá para ter o editor em português e os erros em inglês.
🇬🇧 Pick an accent color from six options. Visual settings page, no JSON editing. Five languages, with UI and diagnostics configurable independently.
🆚 SA-MP ou open.mp: o que muda / SA-MP vs open.mp
🇧🇷 A extensão funciona nos dois, e detecta sozinha qual você usa. Mas o que você vê na tela muda, e vale explicar por quê.
🇬🇧 The extension works with both and detects which one you use. But what you see differs, and it's worth explaining why.
🟢 Com open.mp (omp-stdlib)
🇧🇷 Os includes do open.mp trazem documentação XMLdoc embutida. Resultado: passe o mouse sobre CreateVehicle e você vê o resumo da função, cada parâmetro explicado e o que ela retorna — sem abrir o .inc. O signature help mostra a descrição do parâmetro enquanto você digita.
🇬🇧 open.mp includes ship with embedded XMLdoc. Hover CreateVehicle and you get the summary, every parameter explained and the return value — without opening the .inc.
🟡 Com SA-MP clássico
🇧🇷 Os includes do SA-MP não têm essa documentação. Você continua tendo autocomplete, ir para a definição, referências, diagnósticos e o depurador — tudo funciona igual. O que aparece no hover é a assinatura da função. Se o seu projeto tem includes próprios comentados, esses sim aparecem formatados: basta escrever o comentário em Javadoc ou XMLdoc acima da função.
🇬🇧 SA-MP includes don't carry that documentation. You still get autocomplete, go-to-definition, references, diagnostics and the debugger. Hover shows the signature. Your own commented includes do render formatted.
Quote:🇧🇷 Resumindo: no open.mp você ganha a documentação de graça; no SA-MP você ganha ela se documentar seus próprios includes. O resto — análise, diagnósticos, compilação e debug — é idêntico.
🇬🇧 In short: on open.mp you get the docs for free; on SA-MP you get them by documenting your own includes. Everything else is identical.
🎯 Como usar / Getting started
1. Instale / Install
Code:
ext install NullSablex.pawnpro🇬🇧 Or search for PawnPro in your editor's marketplace.
2. Abra a PASTA do gamemode, não o arquivo / Open the FOLDER
🇧🇷 Esse é o erro mais comum. Abrindo só o .pwn solto, a extensão não tem como achar seus includes. Abra a pasta do projeto.
🇬🇧 Most common mistake. Opening a lone .pwn leaves the extension without your includes. Open the project folder.
3. Atalhos que valem decorar / Shortcuts worth memorizing
- Ctrl+Alt+B — 🇧🇷 compila o arquivo atual / 🇬🇧 compile current file
- F5 — 🇧🇷 inicia a depuração / 🇬🇧 start debugging
- Ctrl+. — 🇧🇷 correção automática no erro sob o cursor / 🇬🇧 quick fix
- F12 — 🇧🇷 ir para a definição / 🇬🇧 go to definition
- Shift+F12 — 🇧🇷 ver todas as referências / 🇬🇧 find all references
4. Dica: deixe o assistente de nomes trabalhar / Tip: let the naming assistant work
🇧🇷 Nas configurações, seção Nomenclatura, escolha a convenção de cada tipo de identificador. Tem os cinco estilos prontos (camelCase, snake_case, PascalCase, UPPER_CASE, Capitalized_Snake) e, novidade da 3.5.0, seu próprio padrão por expressão regular — útil se a casa usa g_ nas globais, por exemplo. Vem desligado; ligue se quiser.
🇬🇧 Under Naming, pick the convention per identifier type. Five built-in styles plus, new in 3.5.0, your own regex pattern. Off by default.
5. Se os includes não forem achados / If includes aren't found
🇧🇷 Barra de status → PawnPro → Configurações → aponte o caminho do pawno/include. Na maioria dos projetos a detecção automática resolve sozinha.
🇬🇧 Status bar → PawnPro → Settings → point to pawno/include.
🎬 Em breve: vídeos / Coming: videos
Quote:🇧🇷 Estão sendo preparados mini-tutoriais em vídeo — instalação, primeiro projeto, uso do depurador e as configurações que valem a pena mexer. Curtos e diretos ao ponto. Sem data definida ainda, mas vêm.
🇬🇧 Short video tutorials are in the works — install, first project, using the debugger, and the settings worth touching. No date yet, but they're coming.
🐛 Transparência: o que já achamos depois do lançamento
Being upfront: what we found after release
🇧🇷 A versão saiu e, algumas horas depois, testando a fundo, apareceram bugs. Preferimos dizer isso na cara do que deixar você descobrir sozinho:
🇬🇧 The release went out and, a few hours later, thorough testing turned up bugs. We'd rather tell you than let you find out on your own:
- #83 — 🇧🇷 comandos RCON pelo painel podem não ter efeito nem retorno / 🇬🇧 RCON commands from the panel may have no effect
- #84 — 🇧🇷 iniciando o servidor pelo depurador, o painel não reconhece que ele está no ar e a saída do console se perde / 🇬🇧 starting the server via the debugger leaves the panel unaware and the console output missing
- #85 — 🇧🇷 se o plugin de depuração do servidor estiver desatualizado, a sessão falha em silêncio. Se a depuração não responder, é o primeiro lugar a olhar: o plugin precisa ser o 0.2.0 / 🇬🇧 an outdated server debug plugin makes the session fail silently — check that the plugin is 0.2.0
- #82 — 🇧🇷 o exemplo do padrão próprio de nomenclatura não aparece para alguns padrões válidos (só a pré-visualização; a análise funciona) / 🇬🇧 cosmetic: the custom naming pattern preview doesn't show an example for some valid patterns
Quote:🇧🇷 Nenhum deles impede o uso da extensão, e todos estão registrados publicamente. A ideia é justamente essa: bug encontrado vira issue, não vira segredo. Se você esbarrar em algo, abra uma issue — é assim que a coisa melhora.
🇬🇧 None of these block using the extension, and all are publicly tracked. That's the point: bugs become issues, not secrets. If you hit something, open an issue — that's how this gets better.
🔬 O depurador está em estudo prático / The debugger is under practical study
🇧🇷 Vale ser claro sobre isto: o depurador é território novo. O SA-MP é fechado — não há especificação para consultar, e boa parte do que se sabe veio de engenharia reversa da comunidade ao longo dos anos. O open.mp é aberto, mas tem suas próprias diferenças de comportamento. Então o que existe hoje foi construído testando, observando e ajustando.
O que ainda está sendo estudado, honestamente:
- 🇧🇷 Até que ponto dá para depurar com jogadores conectados. O manual dizia que o servidor congela por inteiro; testando, um jogador continuou se movendo normalmente com o breakpoint parado num comando. Ainda não sabemos se isso vale para servidor cheio, nem o que acontece na hora de retomar com muita coisa acumulada.
- 🇧🇷 Onde o breakpoint está parece mudar tudo. Parar dentro de um comando (que roda de vez em quando) não é o mesmo que parar dentro de um callback que roda a cada tick.
- 🇧🇷 Data breakpoint em array — funciona, mas ainda estamos entendendo em que posição marcar e por quê.
🇬🇧 To be clear: the debugger is new ground. SA-MP is closed source — there's no spec to consult, and much of what's known came from years of community reverse engineering. open.mp is open, but behaves differently in its own ways. What exists today was built by testing, observing and adjusting. Still under study: how far debugging with connected players actually goes, how much the breakpoint's location changes the picture, and the details of data breakpoints on arrays.
Quote:🇧🇷 Isso não é aviso de "use por sua conta e risco" — é convite. Se você testar em cenário diferente do nosso e vir algo, conte. Cada relato encurta o caminho.
🇬🇧 This isn't a "use at your own risk" disclaimer — it's an invitation. If you test in a scenario we haven't and see something, tell us.
⏱️ Fique de olho: correção em até 2 dias / Heads up: fix within 2 days
🇧🇷 Uma versão com essas correções — e com o que mais aparecer nesse meio-tempo — deve sair em até 2 dias. Vale manter a atualização automática da extensão ligada, ou passar aqui para conferir.
🇬🇧 A release with these fixes — plus whatever else turns up in the meantime — should land within 2 days. Keep auto-update on, or check back here.
📋 Changelog completo / Full changelog
🇧🇷 A 3.5.0 tem 50 entradas registradas, divididas em Adicionado, Alterado, Segurança, Corrigido e Documentação.
CHANGELOG.md
🧩 Os três projetos / The three projects
- PawnPro — 🇧🇷 a extensão / 🇬🇧 the extension
- PawnPro Engine — 🇧🇷 o motor de análise em Rust (LSP) / 🇬🇧 the Rust analysis engine
- PawnPro Debugger — 🇧🇷 o adaptador de depuração / 🇬🇧 the debug adapter
🇧🇷 Feedback, dúvidas e relatos de bug são bem-vindos — aqui no tópico ou nas issues do GitHub.
🇬🇧 Feedback, questions and bug reports are welcome — here or on GitHub issues.
⭐ github.com/NullSablex/PawnPro
🇬🇧 Feedback, questions and bug reports are welcome — here or on GitHub issues.
⭐ github.com/NullSablex/PawnPro

![[Image: image.png]](https://i.ibb.co/rKKqJs9q/image.png)
![[Image: image.png]](https://i.ibb.co/4wDXH5fs/image.png)
![[Image: image.png]](https://i.ibb.co/HfRFvwxY/image.png)
![[Image: image.png]](https://i.ibb.co/rXMC2mf/image.png)
![[Image: image.png]](https://i.ibb.co/pr4CzL6R/image.png)
![[Image: image.png]](https://i.ibb.co/0j6BhYPb/image.png)
![[Image: image.png]](https://i.ibb.co/5WM66r7G/image.png)
![[Image: image.png]](https://i.ibb.co/TDrsxQqh/image.png)
![[Image: image.png]](https://i.ibb.co/7JnyWB2L/image.png)
![[Image: image.png]](https://i.ibb.co/39DCLDb4/image.png)
![[Image: image.png]](https://i.ibb.co/rR5hG641/image.png)
![[Image: image.png]](https://i.ibb.co/hJ4ndVGm/image.png)
![[Image: image.png]](https://i.ibb.co/bg0S8n0D/image.png)
![[Image: image.png]](https://i.ibb.co/rG8G5SPs/image.png)