BOM glr o meu samp server funciona normalmente mais se eu entrar no sv ai fica uns 50 segundos ligado dps desliga sozinho o samp server sendo que n tem erro no GM bom й o que o compilador diz
PHP код:
// Includes //
#include <a_samp>
#include <sscanf2>
#include <zcmd>
#include <DOF2>
#include <Dini>
#include "../include/gl_common.inc"
#include <crashdetect>
// Defines //
#define Dialog_Registro 1
#define Dialog_Login 2
#define Contas "Contas/%s.ini"
#define DialogBoxEx 3
//Â enumerados
enum InfoPlayer {
    Senha,
    //Skin//
    Score,
    Matou,
    Morreu,
    Dinheiro,
    Admin,
};
new Erro[MAX_PLAYERS];
new Player[MAX_PLAYERS][InfoPlayer];
main()
{
    print("\n----------------------------------");
    print("  CIDADE LOS SANTOS CLS ");
    print("----------------------------------\n");
}
public OnGameModeInit()
{
    // Skins //
    SetGameModeText("RPG-GM FEITA DO 0");
    UsePlayerPedAnims();
    AddPlayerClass(97, 1714.5928,-1868.1558,13.5667,1.6160,0,0,0,0,0,0);
    AddPlayerClass(18, 1714.5928,-1868.1558,13.5667,1.6160,0,0,0,0,0,0);
    AddPlayerClass(138, 1714.5928,-1868.1558,13.5667,1.6160,0,0,0,0,0,0);
    AddPlayerClass(139, 1714.5928,-1868.1558,13.5667,1.6160,0,0,0,0,0,0);
    // Todos os Veiculos Publicos do servidor //
    AddStaticVehicleEx (421,1325.2660,-1382.5066,13.7866,180.5161,25,1,60); //  Carro Publico na auto Escola Posiзгo 1
    AddStaticVehicleEx (481,1695.1647,-1356.1572,16.9575,59.2948,46,46,60); //  Bicicleta Puclica na Prefeitura LS Posiзгo 1
    AddStaticVehicleEx (481,1695.3188,-1357.0515,16.9576,63.3642,3,3,60); //    Bicicleta Puclica na Prefeitura LS Posiзгo 2
    AddStaticVehicleEx (481,1695.2401,-1357.7490,16.9567,81.5593,65,9,60); //   Bicicleta Puclica na Prefeitura LS Posiзгo 3
    AddStaticVehicleEx (481,1695.2485,-1358.3706,16.9578,81.8459,14,1,60); //   Bicicleta Puclica na Prefeitura LS Posiзгo 4
    AddStaticVehicleEx (421,1742.9001,-1847.3517,13.4621,179.9568,25,1,60); //  Carro Publico no Spawn Posiзгo 1
    AddStaticVehicleEx (421,1727.6001,-1846.8923,13.4590,179.8783,25,1,60); //  Carro Publico no Spawn Posiзгo 2
    AddStaticVehicleEx (481,1729.9432,-1865.6141,13.0876,4.2418,12,9,60); //    Bicicleta Publica no Spawn Posiзгo 1
    AddStaticVehicleEx (481,1730.5961,-1865.5680,13.0873,6.1139,26,1,60); //    Bicicleta Publica no Spawn Posiзгo 2
    AddStaticVehicleEx (461,1838.0383,-1872.2009,12.9689,358.5956,0,0,60); //   Moto Publica na loja de utilitarios de LS
    AddStaticVehicleEx (421,1929.0343,-1788.6776,13.2672,270.4656,1,2,60); //   Carro branco publico no posto de LS perto da casa do smoke
    AddStaticVehicleEx (448,2122.7856,-1785.4298,12.9814,88.7441,3,3,60); //    MotoPizzaBoy1 na pizzaria de LS Posiзгo 1
    AddStaticVehicleEx (448,2122.8391,-1784.4740,12.9874,92.6145,3,3,60); //    MotoPizzaBoy2 na pizzaria de LS Posiзгo 2
    AddStaticVehicleEx (448,2122.8325,-1783.6229,12.9803,87.4128,3,3,60); //    MotoPizzaBoy3 na pizzaria de LS Posiзгo 3
    AddStaticVehicleEx (448,2122.8223,-1782.9270,12.9867,86.2832,3,3,60); //    MotoPizzaBoy4 na pizzaria de LS Posiзгo 4
    AddStaticVehicleEx (448,2122.8398,-1782.1908,12.9881,91.6781,3,3,60); //    MotoPizzaBoy5 na pizzaria de LS Posiзгo 5
    return 1;
}
    public OnGameModeExit()
    {
        DOF2_Exit();
        return 1;
    }
    public OnPlayerRequestClass(playerid, classid)
    {
        SetPlayerPos(playerid, 1679.3679,-2048.0173,21.9609);
        SetPlayerCameraPos(playerid, 1678.2139,-2056.7000,21.9609);
        SetPlayerCameraLookAt(playerid, 1691.8678,-1955.5240,8.2500);
        return 1;
    }
    public OnPlayerConnect(playerid)
    {
        // Mensagem ao conectar //
        SendClientMessage(playerid, -1, "{00F821}| SERVIDOR |{FFFFFF} Olб %s Seja Bem Vindo ao servidor {00FFF3}CIDADE LOS SANTOS CLS");
       Â
        // Sistema de login:funзгo que verifica se tem conta ou nгo //
        if(DOF2_FileExists( GetPlayerArquivo( playerid ) ) )
        {
            ShowPlayerDialog( playerid, Dialog_Login, DIALOG_STYLE_PASSWORD, "{00FFF3} [ CLS ] {FFFFFF} Login", " {FFFFFF} Digite Sua Senha Para Entrar!","Logar","Sair");
        }
        else
        {
            ShowPlayerDialog( playerid, Dialog_Registro, DIALOG_STYLE_PASSWORD, "{00FFF3}[ CLS] {FFFFFF} Registro", " {FFFFFF} Digite Sua Senha Para Registrar-se !", "Registrar","Sair");
        }
        return 1;
    }
    public OnPlayerDisconnect(playerid, reason)
    {
           // salvar a conta do player ao deslogar //
        SavePlayer(playerid);
        return 1;
    }
    public OnPlayerSpawn(playerid)
    {
        return 1;
    }
    public OnPlayerDeath(playerid, killerid, reason)
    {
        return 1;
    }
    public OnVehicleSpawn(vehicleid)
    {
        return 1;
    }
    public OnVehicleDeath(vehicleid, killerid)
    {
        return 1;
    }
    public OnPlayerText(playerid, text[])
    {
        return 1;
    }
    // Comandos //
    CMD:comandos(playerid)
    {
        new str[1100];
        format(str, sizeof(str), "Em breve tera uma lista de comandos", playerid);
        ShowPlayerDialog(playerid, DialogBoxEx, DIALOG_STYLE_MSGBOX, "Comandos Do Servidor", str, "Ok", "Voltar");
        return 1;
    }
    public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
    {
        return 1;
    }
    public OnPlayerExitVehicle(playerid, vehicleid)
    {
        return 1;
    }
    public OnPlayerStateChange(playerid, newstate, oldstate)
    {
        return 1;
    }
    public OnPlayerEnterCheckpoint(playerid)
    {
        return 1;
    }
    public OnPlayerLeaveCheckpoint(playerid)
    {
        return 1;
    }
    public OnPlayerEnterRaceCheckpoint(playerid)
    {
        return 1;
    }
    public OnPlayerLeaveRaceCheckpoint(playerid)
    {
        return 1;
    }
    public OnRconCommand(cmd[])
    {
        return 1;
    }
    public OnPlayerRequestSpawn(playerid)
    {
        return 1;
    }
    public OnObjectMoved(objectid)
    {
        return 1;
    }
    public OnPlayerObjectMoved(playerid, objectid)
    {
        return 1;
    }
    public OnPlayerPickUpPickup(playerid, pickupid)
    {
        return 1;
    }
    public OnVehicleMod(playerid, vehicleid, componentid)
    {
        return 1;
    }
    public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
    {
        return 1;
    }
    public OnVehicleRespray(playerid, vehicleid, color1, color2)
    {
        return 1;
    }
    public OnPlayerSelectedMenuRow(playerid, row)
    {
        return 1;
    }
    public OnPlayerExitedMenu(playerid)
    {
        return 1;
    }
    public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
    {
        return 1;
    }
    public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
    {
        return 1;
    }
    public OnRconLoginAttempt(ip[], password[], success)
    {
        return 1;
    }
    public OnPlayerUpdate(playerid)
    {
        return 1;
    }
    public OnPlayerStreamIn(playerid, forplayerid)
    {
        return 1;
    }
    public OnPlayerStreamOut(playerid, forplayerid)
    {
        return 1;
    }
    public OnVehicleStreamIn(vehicleid, forplayerid)
    {
        return 1;
    }
    public OnVehicleStreamOut(vehicleid, forplayerid)
    {
        return 1;
    }
    public OnPlayerCommandPerformed(playerid, cmdtext[], success)
    {
        if(!success)
        {
            new string[128];
            format(string, sizeof(string), "{FF0000}| ERRO |{FF0000} » O Comando {00FFF3} %s {FF0000} Nгo Existe !.",cmdtext);
            SendClientMessage(playerid,-1,string);
        }
        return 1;
    }
    public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    {
        switch(dialogid){
            case Dialog_Registro:
            {
                if( response )
                {
                    if( strlen( inputtext ) < 5 || strlen( inputtext ) > 20 || !strlen( inputtext ) )
                    {
                        ShowPlayerDialog( playerid, Dialog_Registro ,DIALOG_STYLE_PASSWORD, "{00FFF3}| REGISTRO | » {FFFFFF} Registro", "Sua Senha Deve Conter No Mнnimo 5 Caracteres! E No Mбximo 20!nгo Tente Novamente!","Registrar","Sair" );
                        return 1;
                    }
                    // Criar Arquivo E Colocar Os Valores //
                    DOF2_CreateFile( GetPlayerArquivo( playerid ) );
                    DOF2_SetString( GetPlayerArquivo( playerid ),"Senha", inputtext );
                    DOF2_SetInt( GetPlayerArquivo( playerid ), "Score" ,0 );
                    DOF2_SetInt( GetPlayerArquivo( playerid ), "Matou" ,0 );
                    DOF2_SetInt( GetPlayerArquivo( playerid ), "Morreu" ,0 );
                    //DOF2_SetInt( GetPlayerArquivo( playerid ), "Skin" ,0 );
                    DOF2_SetInt( GetPlayerArquivo( playerid ),"Dinheiro", 2500 );
                    DOF2_SetInt( GetPlayerArquivo( playerid ), "Admin",0 );
                    SendClientMessage(playerid, -1, "{00FF33}| REGISTRO | » Registrado Com Sucesso!.");
                    ShowPlayerDialog( playerid, Dialog_Login ,DIALOG_STYLE_PASSWORD, "{00FFF3} | CLS | {FFFFFF} Login", "Digite Sua Senha Registrada Abaixo Para Fazer O Login!","Logar","Sair" );
                }
                else Kick( playerid );
            }
            case Dialog_Login:
            {
                if( response )
                {
                    if( strlen( inputtext ) < 5 || strlen( inputtext ) > 20 || !strlen( inputtext ) )
                    {
                        SendClientMessage( playerid, -1, "{FF0000}| LOGIN | » Digite Sua Senha Corretamente!." );
                        ShowPlayerDialog( playerid, Dialog_Login, DIALOG_STYLE_PASSWORD, "{00FFF3}| LOGIN | {FF0000}","Digite Sua Senha Para Entrar!","Entrar","Sair");
                        return 1;
                    }
                    if( strcmp( inputtext, DOF2_GetString( GetPlayerArquivo( playerid ), "Senha" )) == 0 )
                    {
                        LoadPlayer( playerid );
                        SendClientMessage(playerid, -1, "{00FF22}| LOGIN | » Parabens vocк logou com sucesso !.");
                    }
                    else
                    {
                        Erro[ playerid ] ++; // Aquivo adiciona + 1 a variavel erro...
                        if ( Erro[ playerid ] == 5 ){ SavePlayer(playerid); Kick ( playerid ); } // se a variavel chegar a 5, kicka o player pois ele errou 5 vezes a senha.
                        SendClientMessage( playerid, -1, "{FF0000}| LOGIN | » Digite Sua Senha Corretamente!." );
                        ShowPlayerDialog( playerid, Dialog_Login, DIALOG_STYLE_PASSWORD, "| CLS | Login","Digite Sua Senha Para Entrar No Servidor.","Entrar","Sair");
                    }
                }
                else{
                    SavePlayer( playerid );
                    Kick( playerid );
                }
            }
        }
        return 1;
    }
    public OnPlayerClickPlayer(playerid, clickedplayerid, source)
    {
        return 1;
    }
    // Sistema de login:funзгo que salva os dados dos players e carrega depois //
    GetPlayerArquivo(playerid)
    {
        new ArquivoPlayer[ 30 ];
        format( ArquivoPlayer, sizeof( ArquivoPlayer ), Contas, GetPlayerNameEx( playerid ) );
        return ArquivoPlayer;
    }
    stock GetPlayerNameEx(playerid)
    {
        new Nome[MAX_PLAYER_NAME];
        GetPlayerName(playerid, Nome, sizeof(Nome));
        return Nome;
    }
    SavePlayer(playerid)
    {
        if( DOF2_FileExists( GetPlayerArquivo( playerid ) ) )
        {
            DOF2_CreateFile(GetPlayerArquivo(playerid));
            //DOF2_SetInt( GetPlayerArquivo( playerid ), "Skin", Player[ playerid ][ Skin ] );
            DOF2_SetInt( GetPlayerArquivo( playerid ), "Score", Player[ playerid ][ Score ] );
            DOF2_SetInt( GetPlayerArquivo( playerid ), "Matou", Player[ playerid ][ Matou ] );
            DOF2_SetInt( GetPlayerArquivo( playerid ), "Morreu", Player[ playerid ][ Morreu ] );
            DOF2_SetInt( GetPlayerArquivo( playerid ), "Dinheiro", GetPlayerMoney( playerid ));
            DOF2_SetInt( GetPlayerArquivo( playerid ), "Admin", Player[ playerid ][ Admin ] );
            DOF2_SaveFile();
        }
        return 1;
    }
    LoadPlayer(playerid)
    {
        if( DOF2_FileExists( GetPlayerArquivo( playerid ) ) )
        {
            //Player[ playerid ][ Skin ] = DOF2_GetInt( GetPlayerArquivo( playerid ), "Skin" );
            Player[ playerid ][ Score ] = DOF2_GetInt( GetPlayerArquivo( playerid ), "Score" );
            Player[ playerid ][ Dinheiro ] = DOF2_GetInt( GetPlayerArquivo( playerid ), "Dinheiro" );
            Player[ playerid ][ Admin ] = DOF2_GetInt( GetPlayerArquivo( playerid ), "Admin"  );
            Player[ playerid ][ Matou ] = DOF2_GetInt( GetPlayerArquivo( playerid ), "Matou" );
            Player[ playerid ][ Morreu ] = DOF2_GetInt( GetPlayerArquivo( playerid ), "Morreu" );
            SetPlayerScore( playerid, Player[ playerid ][ Score ] );
            GivePlayerMoney( playerid, Player[ playerid] [ Dinheiro ] );
            //SetPlayerSkin(playerid, Player[ playerid ][ Skin ] );
        }
        return 1;
    }Â