Welcome, Guest
You have to register before you can post on our site.

Username
  

Password
  





Search Forums



(Advanced Search)

Forum Statistics
» Members: 6,633
» Latest member: navarro
» Forum threads: 2,471
» Forum posts: 12,505

Full Statistics

Online Users
There are currently 286 online users.
» 2 Member(s) | 280 Guest(s)
Bing, Applebot, Google, Discord, Xyranaut, edgy

Latest Threads
From Uncertainty to Growt...
Forum: Chat
Last Post: Xyranaut
5 hours ago
» Replies: 0
» Views: 30
Busco mapeador para servi...
Forum: Programación
Last Post: Nikolay_Staggs
8 hours ago
» Replies: 0
» Views: 27
Best way to implement a s...
Forum: Questions and Suggestions
Last Post: cachegetfield
Today, 08:00 AM
» Replies: 0
» Views: 35
Qawno for macOS — native ...
Forum: Releases
Last Post: Xyranaut
Yesterday, 07:20 PM
» Replies: 0
» Views: 34
rust-samp 3.0.0 Released
Forum: Libraries
Last Post: NullSablex
Yesterday, 05:34 PM
» Replies: 0
» Views: 31
Open Pawn — Cross-platfor...
Forum: Releases
Last Post: Xyranaut
Yesterday, 02:09 PM
» Replies: 0
» Views: 35
Dołącz do ekipy projektu ...
Forum: Ogólne
Last Post: Sztakier
2026-05-27, 01:30 PM
» Replies: 0
» Views: 58
engkqSelections.inc
Forum: Libraries
Last Post: Engkq
2026-05-27, 02:58 AM
» Replies: 0
» Views: 84
FCNPC for open.mp - the c...
Forum: Plugins
Last Post: Xyranaut
2026-05-26, 01:26 AM
» Replies: 0
» Views: 76
🚀 ¡Buscamos Mapeador para...
Forum: Discusión GTA SA Multijugador
Last Post: Dramack
2026-05-25, 05:34 PM
» Replies: 0
» Views: 69

 
Heart Help me find a current article on setting up custom 3D models on a local server.
Posted by: KOZYR - 2026-04-24, 03:53 PM - Forum: Tech - No Replies

Help me find a current article on setting up custom 3D models on a local server pls


  Czy SA:MP RP jeszcze żyje w 2026?
Posted by: Sztakier - 2026-04-24, 09:11 AM - Forum: Ogólne - No Replies

Siemano 👋

Zastanawiam się ostatnio, czy SA:MP RP jeszcze w ogóle żyje w 2026 roku.
Kiedyś były pełne serwery, a dziś mam wrażenie, że to już trochę nisza.

Dlatego chciałem sprawdzić, czy są jeszcze osoby, które:
- grają albo grały w SA:MP RP
- tęsknią za starym klimatem
- miałyby jeszcze chęć wrócić do takiego grania

Na razie nie chodzi o żaden konkretny serwer - bardziej o zebranie ludzi i zobaczenie, czy w ogóle jest sens coś działać w tym kierunku.

Jeśli ktoś chce pogadać, powspominać albo zobaczyć, czy zbierze się jakaś społeczność, to zapraszam tutaj:
👉 https://discord.gg/6CNngdv8Au

Jestem serio ciekawy, ilu nas jeszcze zostało.


  Donald Trump wars every country
Posted by: NoxxeR - 2026-04-23, 08:04 PM - Forum: Life - No Replies

How can he afford it? Is the question.

https://www.youtube.com/shorts/m5kD87Yel_g


  Ajuda com salvamento nao ta carregando nada como resolvo
Posted by: zGu1Zin_ - 2026-04-22, 10:05 PM - Forum: Portuguese/Português - Replies (3)

#include <a_samp>
#include <DOF2>

#definir Registro 1 
#definir Gênero 2  
#definir Cidade 3  
#definir Login 4
  
principal()
{
    imprimir("\n---------------------------------------");
    print("AULA DE HOJE REGISTRO GENERO CIDADE LOGIN");
    imprimir("---------------------------------------\n");
}

enum pInfo
{
    pSkin,
    pDinheiro,
    pN. 
    pGenero,
    pCidade
};

novo pDados[MAX_PLAYERS][pInfo];
novo SenhaLogin[MAX_PLAYERS];

público OnGameModeInit()
{
    retornar 1;
}

público OnGameModeExit()
{
    DOF2_Sair();
    retornar 1;
}

público OnPlayerRequestClass(playerid, classid)
{
    if(DOF2_FileExists(Arquivo(playerid)))
    {
        if(DOF2_GetInt(Arquivo(playerid), "pGenero") == 0)
        {
            novo str[128];
            format(str, 128, "Bem Vindo Ao Servidor %s\n\nEscolha Seu Genero", pName(playerid));
            ShowPlayerDialog(playerid, Genero, DIALOG_STYLE_LIST, "Genero", "Masculino\nFeminino", "Comfirmar", "Sair");
        }
        senão if(DOF2_GetInt(Arquivo(playerid), "pGenero") != 0 && DOF2_GetInt(Arquivo(playerid), "pCidade") == 0)
        {
            novo str[128];
            format(str, 128, "Bem Vindo Ao Servidor %s\n\nEscolha Sua Cidade", pName(playerid));
            ShowPlayerDialog(playerid, Cidade, DIALOG_STYLE_LIST, "Cidade", "Los Santos\nSan Fierro", "Comfirmar", "Sair");
        }
        outro
        {
            novo str[128];
            format(str, 128, "Bem Vindo Novamente %s\n\nDigite Sua Senha Para Logar", pName(playerid));
            ExibirDiálogoDoJogador(idJogador, Login, DIALOG_STYLE_INPUT, "Login", str, "Logar", "Sair");
        }
    }
    if(!DOF2_FileExists(Arquivo(playerid)))
    {
        novo str[128];
        format(str, 128, "Bem Vindo Ao Servidor %s\n\nDigite Uma Senha Para Registrador", pName(playerid));
        ShowPlayerDialog(playerid, Registro, DIALOG_STYLE_INPUT, "Registro", str, "Registrador", "Sair");
    }
    retornar 1;
}

público OnPlayerConnect(playerid)
{
    CarregarDados(playerid);
    retornar 1;
}

público OnPlayerDisconnect(playerid, motivo)
{
    SalvarDados(playerid);
    retornar 1;
}

público OnPlayerSpawn(playerid)
{
    retornar 1;
}

público OnPlayerDeath(playerid, killerid, reason)
{
    retornar 1;
}

público OnVehicleSpawn(vehicleid)
{
    retornar 1;
}

público OnVehicleDeath(vehicleid, killerid)
{
    retornar 1;
}

público OnPlayerText(playerid, text[])
{
    retornar 1;
}

public OnPlayerCommandText(playerid, cmdtext[])
{
    retornar 0;
}

público OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
    retornar 1;
}

público OnPlayerExitVehicle(playerid, vehicleid)
{
    retornar 1;
}

público OnPlayerStateChange(playerid, newstate, oldstate)
{
    retornar 1;
}

público OnPlayerEnterCheckpoint(playerid)
{
    retornar 1;
}

público OnPlayerLeaveCheckpoint(playerid)
{
    retornar 1;
}

público OnPlayerEnterRaceCheckpoint(playerid)
{
    retornar 1;
}

público OnPlayerLeaveRaceCheckpoint(playerid)
{
    retornar 1;
}

público OnRconCommand(cmd[])
{
    retornar 1;
}

público OnPlayerRequestSpawn(playerid)
{
    retornar 1;
}

público OnObjectMoved(objectid)
{
    retornar 1;
}

público OnPlayerObjectMoved(playerid, objectid)
{
    retornar 1;
}

público OnPlayerPickUpPickup(playerid, pickupid)
{
    retornar 1;
}

público OnVehicleMod(playerid, vehicleid, componentid)
{
    retornar 1;
}

público OnVehiclePaintjob(playerid, vehicleid, paintjobid)
{
    retornar 1;
}

público OnVehicleRespray(playerid, vehicleid, color1, color2)
{
    retornar 1;
}

público OnPlayerSelectedMenuRow(playerid, row)
{
    retornar 1;
}

público OnPlayerExitedMenu(playerid)
{
    retornar 1;
}

público OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
{
    retornar 1;
}

público OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
    retornar 1;
}

público OnRconLoginAttempt(ip[], senha[], sucesso)
{
    retornar 1;
}

público OnPlayerUpdate(playerid)
{
    retornar 1;
}

público OnPlayerStreamIn(playerid, forplayerid)
{
    retornar 1;
}

público OnPlayerStreamOut(playerid, forplayerid)
{
    retornar 1;
}

public OnVehicleStreamIn(vehicleid, forplayerid)
{
    retornar 1;
}

público OnVehicleStreamOut(vehicleid, forplayerid)
{
    retornar 1;
}

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    se(dialogid == Registro)
    {
        se(resposta)
        {
            se(strlen(inputtext) == 0)
            {
                novo str[128];
                format(str, 128, "Bem Vindo Ao Servidor %s\n\nDigite Uma Senha Para Registrador", pName(playerid));
                ShowPlayerDialog(playerid, Registro, DIALOG_STYLE_INPUT, "Registro", str, "Registrador", "Sair");   
                SendClientMessage(playerid, -1, "Você Precisa Colocar Uma Senha Para Registrador");
                retornar 1;
            }
            se (strlen(inputtext) < 6 || strlen(inputtext) > 12)
            {
                novo str[128];
                format(str, 128, "Bem Vindo Ao Servidor %s\n\nDigite Uma Senha Para Registrador", pName(playerid));
                ShowPlayerDialog(playerid, Registro, DIALOG_STYLE_INPUT, "Registro", str, "Registrador", "Sair");   
                SendClientMessage(playerid, -1, "Sua Senha Deve Ter 6 Entre 12 Caracteres");
                retornar 1;   
            }
            DOF2_CreateFile(Arquivo(playerid));
            DOF2_SetString(Arquivo(playerid), "Senha", inputtext);
            DOF2_SetInt(Arquivo(playerid), "pSkin", 0);
            DOF2_SetInt(Arquivo(playerid), "pDinheiro", 5000);
            DOF2_SetInt(Arquivo(playerid), "pNivel", 0);
            DOF2_SetInt(Arquivo(playerid), "pGenero", 0);
            DOF2_SetInt(Arquivo(playerid), "pCidade", 0);
            DOF2_SalvarArquivo();
            ShowPlayerDialog(playerid, Genero, DIALOG_STYLE_LIST, "Genero", "Masculino\nFeminino", "Comfirmar", "Sair");
        }
        outro
        {
            Expulsar(id do jogador);
        }
        retornar 1;
    }
    se(dialogid == Genero)
    {
        se(resposta)
        {
            se(item da lista == 0)
            {
                DOF2_SetInt(Arquivo(playerid), "pSkin", 154);
                DOF2_SetInt(Arquivo(playerid), "pGenero", 1);
                pDados[playerid][pGenero] = 1;
                DOF2_SalvarArquivo();
                ShowPlayerDialog(playerid, Cidade, DIALOG_STYLE_LIST, "Cidade", "Los Santos\nSan Fierro", "Comfirmar", "Sair");
            }
            se(item da lista == 1)
            {
                DOF2_SetInt(Arquivo(playerid), "pSkin", 41);
                DOF2_SetInt(Arquivo(playerid), "pGenero", 2);
                pDados[playerid][pGenero] = 2;
                DOF2_SalvarArquivo();
                ShowPlayerDialog(playerid, Cidade, DIALOG_STYLE_LIST, "Cidade", "Los Santos\nSan Fierro", "Comfirmar", "Sair");
            }
        }
        outro
        {
            Expulsar(id do jogador);
        }
        retornar 1;
    }
    se(dialogid == Cidade)
    {
        se(resposta)
        {
            se(item da lista == 0)
            {
                DOF2_SetInt(Arquivo(playerid), "pCidade", 0);
                SetSpawnInfo(playerid, 0, pDados[playerid][pSkin], 1154.1761, -1768.7424, 16.5938, 2.0859, 0, 0, 0, 0, 0, 0);
                pDados[playerid][pCidade] = 0;
                DOF2_SalvarArquivo();
                novo str[128];
                format(str, 128, "Bem Vindo Novamente %s\n\nDigite Sua Senha Para Logar", pName(playerid));
                ExibirDiálogoDoJogador(idJogador, Login, DIALOG_STYLE_INPUT, "Login", str, "Logar", "Sair");              
            }
            se(item da lista == 1)
            {
                DOF2_SetInt(Arquivo(playerid), "pCidade", 1);
                SetSpawnInfo(playerid, 0, pDados[playerid][pSkin], -2702.1162, 376.1169, 4.9722, 268.9004, 0, 0, 0, 0, 0, 0);
                pDados[playerid][pCidade] = 1;
                DOF2_SalvarArquivo();
                novo str[128];
                format(str, 128, "Bem Vindo Novamente %s\n\nDigite Sua Senha Para Logar", pName(playerid));
                ExibirDiálogoDoJogador(idJogador, Login, DIALOG_STYLE_INPUT, "Login", str, "Logar", "Sair");    
            }
        }
        outro
        {
            Expulsar(id do jogador);
        }
        retornar 1;
    }
    se(dialogid == Login)
    {
        se(resposta)
        {
            se(strlen(inputtext) == 0)
            {
                novo str[128];
                format(str, 128, "Bem Vindo Novamente %s\n\nDigite Sua Senha Para Logar", pName(playerid));
                ExibirDiálogoDoJogador(idJogador, Login, DIALOG_STYLE_INPUT, "Login", str, "Logar", "Sair");     
                SendClientMessage(playerid, -1, "Você Precisa Colocar Sua Senha Para Logar");
                retornar 1;
            }
            if(strcmp(inputtext, DOF2_GetString(Arquivo(playerid), "Senha")) == 0)
            {
                if(pDados[playerid][pCidade] == 0)
                {
                    SetSpawnInfo(playerid, 0, pDados[playerid][pSkin], 1154.1761, -1768.7424, 16.5938, 2.0859, 0, 0, 0, 0, 0, 0);
                }
                if(pDados[playerid][pCidade] == 1)
                {
                    SetSpawnInfo(playerid, 0, pDados[playerid][pSkin], -2702.1162, 376.1169, 4.9722, 268.9004, 0, 0, 0, 0, 0, 0);
                }
                GerarJogador(idJogador);
                CarregarDados(playerid);
                retornar 1;
            }
            se(SenhaLogin[playerid] == 0)
            {
                novo str[128];
                format(str, 128, "Bem Vindo Novamente %s\n\nDigite Sua Senha Para Logar\n\nSenha Errada 1/3", pName(playerid));
                ExibirDiálogoDoJogador(idJogador, Login, DIALOG_STYLE_INPUT, "Login", str, "Logar", "Sair");    
                SenhaLogin[playerid] = 1;
                retornar 1;
            }
            se(SenhaLogin[playerid] == 1)
            {
                novo str[128];
                format(str, 128, "Bem Vindo Novamente %s\n\nDigite Sua Senha Para Logar\n\nSenha Errada 2/3", pName(playerid));
                ExibirDiálogoDoJogador(idJogador, Login, DIALOG_STYLE_INPUT, "Login", str, "Logar", "Sair");    
                SenhaLogin[playerid] = 2;
                retornar 1;
            }
            if(SenhaLogin[playerid] == 2)
            {
                novo str[128];
                format(str, 128, "Bem Vindo Novamente %s\n\nDigite Sua Senha Para Logar\n\nSenha Errada 3/3", pName(playerid));
                ExibirDiálogoDoJogador(idJogador, Login, DIALOG_STYLE_INPUT, "Login", str, "Logar", "Sair");    
                SenhaLogin[playerid] = 3;
                retornar 1;
            }
            if(SenhaLogin[playerid] == 3)
            {
                Expulsar(id do jogador);
                retornar 1;
            }    
        }
        outro
        {
            Expulsar(id do jogador);
        }
        retornar 1;
    }
    retornar 1;
}

público OnPlayerClickPlayer(playerid, clickedplayerid, source)
{
    retornar 1;
}

estoque pName(playerid)
{
    novo Nome[MAX_PLAYER_NAME];
    ObterNomeDoJogador(idDoJogador, Nome, NOME_MAX_DO_JOGADOR);
    Nome;
}

estoque Arquivo(playerid)
{
    novo str[128];
    format(str, 128, "Contas/%s.ini", pNome(playerid));
    compartilhar str;
}

estoque SalvarDados(playerid)
{
    if(DOF2_FileExists(Arquivo(playerid)))
    {
        DOF2_SetInt(Arquivo(playerid), "pSkin", GetPlayerSkin(playerid));
        DOF2_SetInt(Arquivo(playerid), "pDinheiro", GetPlayerMoney(playerid));
        DOF2_SetInt(Arquivo(playerid), "pNivel", GetPlayerScore(playerid));
        DOF2_SetInt(Arquivo(playerid), "pGenero", pDados[playerid][pGenero]);
        DOF2_SetInt(Arquivo(playerid), "pCidade", pDados[playerid][pCidade]);
        DOF2_SalvarArquivo();
    }
    retornar 1;
}

estoque CarregarDados(playerid)
{
    if(DOF2_FileExists(Arquivo(playerid)))
    {
  
      SetPlayerSkin(playerid, DOF2_GetInt(Arquivo(playerid), "pSkin"));
        GivePlayerMoney(playerid, DOF2_GetInt(Arquivo(playerid), "pDinheiro"));
        SetPlayerScore(playerid, DOF2_GetInt(Arquivo(playerid), "pNivel"));
        pDados[playerid][pGenero] = DOF2_GetInt(Arquivo(playerid), "pGenero");
        pDados[playerid][pCidade] = DOF2_GetInt(Arquivo(playerid), "pCidade");
        DOF2_SalvarArquivo();
    }
    retornar 1;
}


  PawnPro 3.0 — Extensão VS Code/Codium para Pawn (SA-MP / open.mp)
Posted by: NullSablex - 2026-04-19, 10:58 AM - Forum: Portuguese/Português - No Replies

[Image: logo.png]

Se você desenvolve em Pawn no VS Code ou VSCodium e ainda não tem nenhum IntelliSense decente, o PawnPro resolve isso.

A extensão tem um motor LSP escrito em Rust que roda em background e entende a sua base de código de verdade — includes transitivos, símbolos depreciados, código morto, funções não declaradas — tudo isso enquanto você digita, sem precisar compilar.

O que você ganha
  • Auto-complete — funções, macros, variáveis e callbacks de todos os includes do projeto
  • Hover e Signature Help — vê a assinatura e a documentação de qualquer função ao passar o mouse ou ao digitar [icode]([/icode]
  • Referências (CodeLens) — quantas vezes cada função é chamada, clicável
  • Diagnósticos — includes quebrados, [icode]native[/icode]/[icode]forward[/icode]/[icode]public[/icode] malformados, variáveis e stocks não usados, funções não declaradas, código marcado como [icode]@DEPRECATED[/icode]
  • Compilação — [icode]Ctrl+Alt+B[/icode] compila o arquivo atual; detecta o [icode]pawncc[/icode] automaticamente
  • Servidor — Start, Stop, Restart e RCON direto do editor, com suporte nativo a open.mp ([icode]config.json[/icode], [icode]omp-server[/icode]) e SA-MP
  • Templates e snippets — abre um Gamemode, Filterscript ou Include pronto pela barra de status
  • Temas de sintaxe — clássico e moderno, claro e escuro

Funciona em Windows, Linux e macOS (x64 e arm64).

Como instalar

Busque PawnPro nas extensões do seu editor ou acesse direto:

Dúvidas, bugs ou sugestões: github.com/NullSablex/PawnPro

A extensão está em desenvolvimento ativo. Se encontrar algum problema ou tiver sugestão, abre uma issue.


  Harmony Maps
Posted by: Harmony - 2026-04-19, 09:36 AM - Forum: Maps - No Replies

All maps are created with objects by default, they are all for roleplay
San Fierro Driving school
Link: https://payhip.com/b/pCcyj
[Image: o_1jeqipe5aui77ff62cvi11hm715.png]
[Image: o_1jeqiph9lhp91495d481ge816031b.png]

San Fierro docks
[Image: o_1jeqij2t9d8mlt3bvd18dqn71a.png]
[Image: o_1jeqij5s55h53kv1gv823i1fqe1g.png]
Asian Bar
[Image: o_1gg9d8d9o15f1aqq1b2j18hbks9s.png]
[Image: o_1gg9d991lpn81sa01t31ai81rjh12.png]
[Image: o_1gg9d87o31pgai4h1rl51kuu1ra6m.png]
There are as many paid maps as there are free ones, I hope you like them


  SOLS Roleplay (2026)
Posted by: TyDolla - 2026-04-18, 04:47 PM - Forum: Advertisements - No Replies

[Video: https://www.youtube.com/watch?v=C7sKZtXnrsg]

https://www.youtube.com/watch?v=C7sKZtXnrsg

The Streets of Los Santos (SOLS) is a journey through 90s Los Santos, blending the grit, culture, and lore of GTA: San Andreas into a living roleplay experience.

Visit our UCP and create an account on www.solsroleplay.com!


  SOLS Roleplay (Official Trailer)
Posted by: TyDolla - 2026-04-18, 04:45 PM - Forum: Videos and Screenshots - No Replies

https://www.youtube.com/watch?v=C7sKZtXnrsg


  Project: LAS VENTURAS ROLEPLAY (Heavy RP / New Video!)
Posted by: Kremzy - 2026-04-15, 12:49 AM - Forum: Advertisements - No Replies

[Image: siteBanner.jpg]


Welcome to Project: Las Venturas Roleplay.

The neon lights are back on. The desert is awake.
Begin your story.
This is your city.
The streets are yours.
Rise, Rule, Repeat.
Project: Las Venturas 🎲

Check out our latest video!
JOIN OUR DISCORD BELOW!

https://discord.gg/tEFu2ysQZJ


  Classic Party Server [ENG] - DM
Posted by: GPCServ - 2026-04-11, 10:12 PM - Forum: Advertisements - No Replies

•••ClassicPartyServer™[CPS]®24/7•••
The Legend Returns. A decade ago, the Polish SA:MP scene created a unique style of Deathmatch servers – fast, brutal, and incredibly addictive. We missed that feeling, so we rebuilt it from the ground up, translated it to English, and optimized it for today's players.
Why play here? We don't have 100MB of useless textures. We have gameplay.

    Legendary Map Layout: The classic spots you remember, optimized for high-octane fire fights.
    Old-school Atmosphere: No complicated UI, just you, your Deagle, and the score.
    Fair Play: Anti-cheat systems and active staff.
    Global Community: Meet veterans from all over the world.

"It’s not just a server; it’s a time machine to the days when SA:MP was at its peak."
Join us today:

    IP: 91.224.117.19:7777