Portal SAMP
[Projeto Pronto] SA:MP Dev Tools - Versão de Impressão

+- Portal SAMP (https://portalsamp.com)
+-- Fórum: Comunidade (https://portalsamp.com/forumdisplay.php?fid=15)
+--- Fórum: Portfólio (https://portalsamp.com/forumdisplay.php?fid=48)
+---- Fórum: Projetos Completos (https://portalsamp.com/forumdisplay.php?fid=49)
+---- Tópico: [Projeto Pronto] SA:MP Dev Tools (/showthread.php?tid=4772)



SA:MP Dev Tools - Dr Editor - 16/05/2024

[Imagem: qVorFYD.png]


Samp Dev Tools

Sobre mim:
Para quem não me conhece, meu nome é Eduardo e trabalho com SA:MP há mais de 10 anos.
Durante esse período venho criando e moldando ferramentas que possam otimizar o tempo do programador e tornar a experiência de desenvolvimento mais atrativa e profissional.
Apesar de disponibilizar algumas ferramentas de forma gratuita, eu não as mantenho mais, portanto não possuem mais suporte.
Depois de muitos estudos em cima delas e pedidos sobre estes e novos lançamentos, resolvi fazer um pacote que até então está parcialmente pronto.

Sobre a ferramenta:
Há atualmente 10 ferramentas:
  1. FolderFix
  2. Tabulador
  3. PawnDoc
  4. Easy Pawn Completion
  5. Pos Finder
  6. Sound Browser
  7. NTD Project Creator
  8. NexTDE Project Creator
  9. Memory String
  10. Data Converter
1. FolderFix:
Procura no diretório selecionado o primeiro gamemode encontrado e vasculha nele e em módulos (não submódulos) por cadeias de caracteres que coincidam com diretórios.
Será criado uma pasta em 'scriptfiles' com o nome "_FOLDERS_FIX_". Nela vai ter tudo que a ferramenta identificou como um possível diretório e sugere para que seja usado na pasta raiz de 'scriptfiles' para evitar possíveis crash por falta de pastas.

[Imagem: akc6jGS.png]

2. Tabulador:
Este sem dúvidas é o mais conhecido. Com ele você consegue organizar e tabular seu código sem perder a estrutura inicial do mesmo.
Facilmente identifique os 26 erros, caso o problema seja alguma chave.
Além de mais eficiente, você possui opções como:
  • Ignorar comentários em linhas
  • Ignorar comentários em blocos
  • Ignorar textos
  • Remover linhas em branco
  • Escolher qual caractere deve tabular
  • Codificação do script
[Imagem: T6eer9o.png]

3. PawnDoc:
A parte crucial de um script está na documentação.
Um script necessita de uma documentação adequada quando concedido a terceiros, pois é a forma mais fácil das pessoas entenderem o conceito e o objetivo por trás de determinado código.
Com esta ferramenta você consegue criar seu próprio layout de documentação com alguns recursos como:
  • Escolher que palavras-chave a ferramenta deve identificar para gerar a documentação
  • Descrição
  • Parâmetros (se houver)
  • Retorno
  • Codificação do script
[Imagem: 83RqJHx.png] [Imagem: uLUnnoN.png]

4. Easy Pawn Completion
Este sem dúvida é uma das ferramentas mais completas para qualquer programador de SA:MP, pois com ela é possível criar dicionários e snippets para auto complementos de IDE.
Desta forma otimiza muito o tempo e ainda mostra para o programador quais funções existem com base no que ele digitou, bem como a complementação dos parâmetros.
Além da tamanha utilidade, também é possível configurar de forma avançada o que deve e o que não deve ser capturado para gerar o arquivo de auto-complete.
Atualmente é possível gerar para Sublime Text, Visual Studio Code e EmEditor.

[Imagem: xwkybwT.png] [Imagem: cQoqsYp.png]


5. Pos Finder:
Basicamente serve para identificar objetos, atores, veículos... Tudo o que foi criado server-side que você não faz ideia de como achar dentro do script.
Com essa ferramenta, basta informar as posições X, Y, Z e a área de busca que você quer procurar.
Ao finalizar, caso identifique o que se encaixa dentro do critério da coordenada e área de busca, será informado a linha inteira do código.

[Imagem: bh8Fc2E.png]

6. Sound Browser
Um dos sound previews mais completos com mais de 200 sons do GTA San Andreas.
Ouça e gere o código do som automaticamente ao selecionar o item.

[Imagem: oRWWQ31.png]

7. NTD Project Creator:
Lê arquivos brutos e busca por quaisquer informações de textdraws e suas propriedades, gerando arquivos de projetos baseados no editor de textdraws criado por Nickk888SAMP.
Contém também o recurso de salvar o arquivo de projeto gerado diretamente no diretório da pasta do editor, bem como incluí-lo na lista de projetos automaticamente.

[Imagem: fZjsQGq.png]

8. NexTD Project Creator:
Lê arquivos brutos e busca por quaisquer informações de textdraws e suas propriedades, gerando arquivos de projetos baseados no editor de textdraws criado por nexquery.
Contém também o recurso de salvar o arquivo de projeto gerado diretamente no diretório da pasta do editor, bem como incluí-lo na lista de projetos automaticamente.

[Imagem: UpaRJmd.png]

9. Memory String:
Esta ferramenta efetua uma análise criteriosa pelo script procurando por cadeias de caracteres que contenham mais ou menos
caracteres que o necessário.
Basicamente, quando você discrimina uma quantia de caracteres para uma variável, você não define o valor necessário exato que vai precisar
e isso, por consequência, vai aumentar a memória do servidor gradativamente caso não seja seguido uma prática correta de alocação
de memória.
Assim como memória em excesso isso pode afetar da forma contrária. Quando se usa uma quantidade inferior de caracteres, acaba gerando
uma string incompleta para o jogador final.
Apesar da análise ser profunda e minuciosa, esses problemas são identificados dentro de segundos com essa ferramenta.
Você terá acesso a um log detalhado sobre as funções de formatação "format" e "mysql_format" e verificar a alocação da memória, conforme
exemplo abaixo.

Entre colchetes está o número da linha.
"Tamanho (superior)" informa que a quantidade de caracteres informada supera a recomendação
"Tamanho (inferior)" informa que a quantidade de caracteres informada é inferior a recomendação
"Tamanho recomendado:" informa a quantidade de caracteres necessários para aquela mensagem

Código:
[46311] format(tempString, sizeof tempString, "[INFO]:{FFFFFF} %s(%d) Uma mensagem de exemplo: %s!", GetPlayerNameEx(playerid), playerid, text);
Tamanho (superior): 150
Tamanho recomendado: 53

Este é um exemplo de exceção, onde não é possível identificar os valores dos especificadores, no entanto, há muitas outras que não
necessitam de tudo isso e você será notificado para fazer o ajuste, como este abaixo:

Código:
[27737] format(Stringdx, sizeof(Stringdx), "{A9A9A9}Voce possui {00FF00}R$%d{A9A9A9} na mochila\n\n-> Deseja colocar mais ou retirar?", pDinheiroNaMochila[playerid]);
Tamanho (superior): 220
Tamanho recomendado: 89

E o resultado da análise irá gerar estas informações:
Código:
Caracteres desperdiçados: 548643
Caracteres que faltam: 2
Tempo de execução: 14 segundos

10. Data converter:
Com essa ferramenta você importa e exporta informações de salvamento de forma rápida.
Salvamento em texto compatível como qualquer include.

OBS.: Não realiza adaptações de forma automática no script, apenas manipula os dados.

Métodos:
  • Texto para SQLite ou MySQL
  • MySQL para SQLite ou Texto
  • SQLite para MySQL ou Texto
Como adquirir:
Atualmente é possível adquiri-la com pagamentos mensais seja por boleto, pix ou cartão de crédito.
Sou o único com permissão de comercializar o programa.
O programa está pronto e 100% operante. Porém ainda não recebe atualizações automáticas, mas de momento será com redirecionamento para nuvem para fazer o download da versão mais atual.
Para maiores informações gentileza entrar em contato.

Suporte:
Dou suporte 24/7 para dúvidas ou problemas.

Contato:
Discord: .eduardoac | Eduardo AC#3140