SkinGender - Identificação Profissional de Gênero de Skins no SA-MP / Open.MP
Sistema avançado, eficiente e otimizado para identificar de forma precisa o gênero das skins no SA-MP e Open.MP, com validação de IDs e personalização simples para atender às necessidades de gamemodes e filterscripts.
Recursos e Funcionalidades:
Identificação de gênero de skins com desempenho O(1), garantindo alta performance em servidores com grande número de jogadores.
Compatibilidade total com gamemodes e filterscripts, permitindo fácil integração em qualquer projeto.
Validação automática dos IDs das skins, evitando erros com skins inválidas ou desconhecidas.
Textos totalmente personalizáveis para os gêneros (masculino, feminino, inválido), permitindo adaptar a solução à linguagem ou estilo do servidor.
---
Instruções de Instalação e Configuração:
1. Adicione o arquivo `SkinGender.inc` à pasta `includes` do seu projeto.
2. Inclua a linha de código abaixo no seu script principal para carregar o sistema:
Código PHP:
#include <SkinGender>
3. Personalização de textos (opcional): Se deseja personalizar os textos usados para identificar os gêneros, defina as variáveis de texto antes da inclusão:
4. Desativação do `y_hooks` (opcional): Caso não deseje usar a funcionalidade `y_hooks`, basta desativá-la antes da inclusão com a seguinte diretiva:
Código PHP:
#define SKG_NO_Y_HOOKS
---
Funções Disponíveis:
IsMaleSkinID(skinid): Verifica se o ID fornecido corresponde a uma skin masculina. Retorna verdadeiro ou falso.
IsFemaleSkinID(skinid): Verifica se o ID fornecido corresponde a uma skin feminina. Retorna verdadeiro ou falso.
GetSkinGenderText(skinid): Retorna o texto associado ao gênero da skin fornecida. Exemplos: "Masculino", "Feminino" ou "Inválido", caso o ID da skin não seja válido.
IsValidSkinID(skinid): Verifica se o ID fornecido é válido dentro do sistema. Retorna verdadeiro ou falso.
---
Exemplo de Uso do Sistema:
Código PHP:
if(IsMaleSkinID(22)) { print("A skin id 22 é masculina"); } else if(IsFemaleSkinID(9)) { print("A skin id 9 é feminina"); } else if(!IsValidSkinID(555)) { print("A skin id 555 é inválida."); }
printf("A skin id 280 é: %s", GetSkinGenderText(280));
---
Informações do Projeto:
Autor: BitSain (Leonardo) Contato para Suporte e Dúvidas: bitsaindeveloper@gmail.com Repositório GitHub:Clique aqui. Licença: Creative Commons Attribution-ShareAlike 4.0 (CC BY-SA 4.0)
---
Licenciamento e Termos de Uso:
Este projeto é licenciado sob a Creative Commons Attribution-ShareAlike 4.0. Você é livre para compartilhar e adaptar o conteúdo, desde que dê o devido crédito e compartilhe sob a mesma licença. Para mais informações, consulte a Licença Completa.
Estou apenas puxando o módulo de comandos que tem 1 comando para testar e me aparece esse erro:
Código PHP:
E:\SAMP\pawno\include\YSI-Includes\YSI_Coding\y_hooks\..\..\YSI_Core\y_core\y_scriptinit_impl.inc(772) : error 025: function heading differs from prototype E:\SAMP\pawno\include\YSI-Includes\YSI_Coding\y_hooks\..\..\YSI_Core\y_core\y_scriptinit_impl.inc(772) : warning 231: state specification on forward declaration is ignored E:\SAMP\pawno\include\YSI-Includes\YSI_Coding\y_hooks\..\..\YSI_Core\y_core\y_scriptinit_impl.inc(774) : error 025: function heading differs from prototype E:\SAMP\pawno\include\YSI-Includes\YSI_Coding\y_hooks\..\..\YSI_Core\y_core\y_scriptinit_impl.inc(1092) : warning 201: redefinition of constant/macro (symbol "OnScriptInit(%0)")
e ao criar comandos no módulo resulta esse erro
Código PHP:
../modules/players/cmds.pwn(3) : error 021: symbol already defined: "cmd_teste"
Bom eu estou passando por esse problema a muito tempo e tudo que fiz nada até agora resolveu. O bug é o seguinte... Eu ligo a GM na vps e depois de um tempão os mappas simplesmente some. Já tentei fazer de tudo. Trocar include/plugin streamer, tirei crashdetect(dizem que atrapalha o carregamento dos mappas), tirei todos os mappas também e deixei só um para ver se era algum mappa dando conflito e também o mapa que deixei sumiu depois de um tempo, revirei todos os OnGameModeInt incluindo dos módulos e não vi nada que possa atrapalhar algo do tipo.
Não sei mais o que fazer, o que vocês pode me aconselhar a fazer?
Inicialmente esse sistema foi criado para simplificar os clicks nas textdraws evitando o uso do ALS e HOOK com um objetivo direto e adicionar interações. Porem acabou que essa include nos testes que eu fiz, melhorou muito a resposta nos cliques ficando muito mais fluido e rápido. Inclusive testei com um servidor quase cheio e deu o mesmo resultado como se eu tivesse solo, os cliques responderam instantaneamente praticamente.
Vou deixar abaixo alguns exemplos de uso porem para mais detalhes ou reportes de problemas acessem o repositório no github.
Código de textdraw abaixo é apenas para ilustrações do funcionamento do SetClick
Padrão
Código:
stock CreateTextdraw(playerid) {
// A simple example of textdraw creation, just to illustrate SetClick.
new PlayerText:id = CreatePlayerTextDraw(playerid, 0.0, 0.0, "LD_SPAC:white") // or box, whatever
PlayerTextDrawSetSelectable(playerid, id, true);
So tinha eu no servidor On-line e isso apareceu
[debug]:
Citar:[debug] Parameter count corrections:
[debug]
[debug] The 1st mangled arguments (e.g. `<1073741823 arguments>`) below should read `<2 arguments>`
[debug] Parameter count loop detected.
[debug]
[debug] Run time error 4: "Array index out of bounds"
[debug] Attempted to read/write array element at index 20200 in array of size 300
[debug] AMX backtrace:
[debug] #0 0002c964 in _@yHOnPlayerDisconnect@04 (playerid=20200, reason=0) at ..\Dependencias\Global\Login.inc:94
[debug] #1 0001bbe8 in public ScriptInit_OnPlayerDisconnect (20200, 0) at C:\Users\gabri\OneDrive\Área de Trabalho\Samp Servers\RJ ACADEMY\pawno\include\YSI-Includes\YSI_Coding\y_hooks\..\y_cgen\y_cgen_impl.inc:157
[debug] #2 0000b758 in public Android_OnPlayerDisconnect (playerid=20200, reason=0) at C:\Users\gabri\OneDrive\Área de Trabalho\Samp Servers\RJ ACADEMY\pawno\include\YSI-Includes\YSI_Coding\y_hooks\..\..\YSI_Core\y_core\../y_utils/y_utils_ip.inc:115
[debug] #3 00009810 in public Iter_OnPlayerDisconnect (playerid=20200) at C:\Users\gabri\OneDrive\Área de Trabalho\Samp Servers\RJ ACADEMY\pawno\include\YSI-Includes\YSI_Coding\y_hooks\..\..\YSI_Core\y_core\..\..\YSI_Players\y_android\y_android_entry.inc:148
Com mais de 10 anos de experiência no SA:MP, já entrei em diversos projetos, fiz centenas de trabalhos e hoje anuncio este servidor que foi projetado do absoluto zero em 4 meses de desenvolvimento e estamos na reta final.
A maioria dos projetos anunciados não vão pra frente. Isso é um fato e acompanhamos isto desde o Fórum SAMP oficial.
Apenas quem sabe o quão difícil é tirar um projeto do papel, sabe o trabalho que temos até lançá-lo.
Ideia de projeto:
O BERP surgiu a partir de dois ex-jogadores de um grande servidor, que me contrataram para desenvolver um servidor com uma proposta parecida com a do servidor que jogavam, pois gostavam da gameplay, porém não tanto da quantia de regras que o servidor possuia e como cada errinho podia custar suas contas.
Eu nunca joguei neste servidor em particular, mas já ouvi coisas parecidas de nossos jogadores.
Desenvolvimento:
Apesar de lançado e aberto ao público, o servidor está em constante desenvolvimento e para que nossos membros possam acompanhar de perto, temos o canal "changelog" onde todos podem ver o que foi alterado no servidor.
Há também o canal de sugestões onde discutimos a viabilidade de aplicar o que foi sugerido.
E também há a área de Previews, que foi recentemente adicionada para mostrar ao público mídia em vídeo ou imagem de forma antecipada sobre futuros updates que estão ou já foram desenvolvidos.
Recursos:
Whitelist (via Discord)
Anti-cheat com aproximadamente 30 mecanismos de detecções
O projeto tem como objetivo fornecer instaladores seguros e confiáveis para diferentes versões do mod SA:MP. Cada instalador é desenvolvido em C# usando Windows Forms, oferecendo uma interface moderna e amigável com suporte a múltiplos idiomas e uma janela com as redes sociais.