Ubuntu Server - No shown the second dialog window
#1

No shown the second dialog window. Any suggestions?

No work in ubuntu server, in windows server work. Help me pls, thx ^^
Reply
#2

Paste the first and second dialog response
Reply
#3

Quote:
Originally Posted by MattSlater
Посмотреть сообщение
Paste the first and second dialog response
Is with any script. My gamemode:

Код:
#include <a_samp> 
#include <rBits> 

//---------------------------------------------------------- 
// FORWARD: 
//---------------------------------------------------------- 



//---------------------------------------------------------- 
// DEFINE: 
//---------------------------------------------------------- 

// Informacion del servidor: 
#define INFO_NOMBRE_SERVIDOR    "Server" 
#define INFO_VERSION_SERVIDOR    "1.0" 

//---------------------------------------------------------- 
// NEW: 
//---------------------------------------------------------- 

// Sistema Mysql: 
new Bit1: g_PlayerLogged <MAX_PLAYERS>; 
new Bit16: g_AdminLevel <MAX_PLAYERS>; 
new DB: Database; 

//---------------------------------------------------------- 
// CODIGO INTERNO DEL SCRIPT: 
//---------------------------------------------------------- 


public OnFilterScriptInit() 
{ 
    //-------------------------------------------------------- 
    // Sistema Mysql: 
    //-------------------------------------------------------- 
    // Conexion con la base de datos del servidor: 
    Database = db_open("ServerDatabase.db"); 
    // Creacion de tablas en la base de datos, si no existiese: 
    db_query(Database, "CREATE TABLE IF NOT EXISTS `USERS` (`NAME`, `PASSWORD`, `IP`, `SCORE`, `CASH`, `ADMINLEVEL`)"); 
     
    // Mensaje de la ejecucion del script: 
    print("Scripts del Gamemode habilitados correctamente."); 
     
    return 1; 
} 

public OnFilterScriptExit() 
{ 
    //-------------------------------------------------------- 
    // Sistema Mysql: 
    //-------------------------------------------------------- 
    // Desconexion con la base de datos del servidor: 
    for (new i; i != MAX_PLAYERS; i++) OnPlayerDisconnect(i, 1); 
    db_close(Database); 

    //Mensaje de detencion de la ejecucion del script: 
    print("Scripts del Gamemode deshabilitados correctamente."); 

    return 1; 
} 

main() 
{ 
    // Mensaje que se mostrara en la consola del servidor: 
    print("Gamemode cargado correctamente."); 
} 

//---------------------------------------------------------- 
// CODIGO EXTERNO DEL SCRIPT: 
//---------------------------------------------------------- 

public OnGameModeInit() 
{ 
    // Informacion del Servidor: 
    SetGameModeText("Server Test"); 

    // Impide que se vean en el mapa los usuarios conectados: 
    ShowPlayerMarkers(0); 

    // Las ruedas de los vehiculos pueden ser pinchadas: 
    EnableTirePopping(0); 

    // Todos los coches apagados: 
    // ManualVehicleEngineAndLights(); 

    // Skins disponibles a elegir: 
    AddPlayerClass(101,1653.5210,-2329.4944,13.5469,1.2957,-1,-1,-1,-1,-1,-1); 
    AddPlayerClass(10,1653.5210,-2329.4944,13.5469,1.2957,-1,-1,-1,-1,-1,-1); 
    AddPlayerClass(12,1653.5210,-2329.4944,13.5469,1.2957,-1,-1,-1,-1,-1,-1); 

    return 1; 
} 

public OnGameModeExit() 
{ 
    return 1; 
} 

public OnPlayerRequestClass(playerid, classid) 
{ 
    SetPlayerColor(playerid, COLOR_BLANCO); 
    SetPlayerPos(playerid, 2370.5166,2165.1321,26.9844); 
    SetPlayerCameraPos(playerid, 2374.5188,2169.5798,26.9844); 
    SetPlayerCameraLookAt(playerid, 2370.5166,2165.1321,26.9844); 
    SetPlayerFacingAngle(playerid,315.9228); 
    ApplyAnimation(playerid,"DANCING","dnce_M_b",4.1,7,5,1,1,1); 
     
    return 1; 
} 

public OnPlayerConnect(playerid) 
{ 
    //-------------------------------------------------------- 
    // Sistema Mysql: 
    //-------------------------------------------------------- 
     
    // Nuevas variables: 
    new Query[ 150 ]; 
    new DBResult: Result; 
    new name[ MAX_PLAYER_NAME ]; 

    GetPlayerName(playerid, name, sizeof(name)); 
    Bit1_Set(g_PlayerLogged, playerid, false); 

    // Lectura del usuario en la base de datos: 
    format(Query, sizeof(Query), "SELECT `NAME` FROM `USERS` WHERE `NAME` = '%s'", DB_Escape(name)); 
    Result = db_query(Database, Query); 

    // Si el nombre introducido esta registrado: 
    if (db_num_rows(Result)) 
    { 
        // Mensaje de logueo para el usuario: 
        format(Query, sizeof(Query), "Bienvenido al servidor Infernus %s(%d)! Por favor, introduzque la contraseсa de vuestra cuenta para poder loguear.", name, playerid); 
        ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, "SISTEMA DE LOGUEO", Query, "Conectar", "Salir"); 
    } 
    // Si el nombre introducido no esta registrado: 
    else 
    { 
        // Mensaje de registro para el nuevo usuario: 
        format(Query, sizeof(Query), "Bienvenido al servidor Infernus %s(%d)! Para registraros, introduzca la contraseсa para vuestra cuenta.", name, playerid); 
        ShowPlayerDialog(playerid, 0, DIALOG_STYLE_INPUT, "SISTEMA DE LOGUEO", Query, "Registrarse", "Salir"); 
    } 
    db_free_result(Result); 
     
    return 1; 
} 

public OnPlayerDisconnect(playerid, reason) 
{ 
    //-------------------------------------------------------- 
    // Sistema Mysql: 
    //-------------------------------------------------------- 
     
    // Nuevas variables: 
    new Query[ 200 ]; 
    new name[ MAX_PLAYER_NAME ]; 
     
    GetPlayerName(playerid, name, sizeof(name)); 
     
    // Almacenamiento de datos cuando se desconecta el jugador: 
    if (Bit1_Get(g_PlayerLogged, playerid) == 1) 
    { 
        // Tablas en las que se almacenara la informacion del jugador: 
        format(Query,sizeof(Query),"UPDATE `USERS` SET SCORE = '%d', CASH = '%d', ADMINLEVEL = '%d' WHERE `NAME` = '%s'", 
            GetPlayerScore(playerid),                             // Puntos del jugador. 
            GetPlayerMoney(playerid),                            // Dinero del jugador. 
            Bit16_Get(g_AdminLevel, playerid),                    // Accesslevel del jugador. 
            DB_Escape(name));                                    // Desconexion del jugador. 

        // Lectura de la desconexion: 
        db_query(Database, Query); 
        Bit1_Set(g_PlayerLogged, playerid, false); 
    } 
     
    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; 
} 

public OnPlayerCommandText(playerid, cmdtext[]) 
{ 
    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 OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) 
{ 
    //-------------------------------------------------------- 
    // Sistema Mysql: 
    //-------------------------------------------------------- 
     
    // Nuevas variables: 
    new Query[ 256 ]; 
    new DBResult: Result; 
    new name[ MAX_PLAYER_NAME ]; 
    new ip[ 16 ]; 
     
    GetPlayerName(playerid, name, sizeof(name)); 
    GetPlayerIp(playerid, ip, sizeof(ip)); 
     
    // Codigo de los dialogos (Usuario Registrado): 
    if (dialogid == 1) 
    { 
         // El jugador esta registrado: 
          if (response) 
           { 
            // Lectura del usuario en la base de datos: 
            format(Query, sizeof(Query), "SELECT * FROM `USERS` WHERE `NAME` = '%s' AND `PASSWORD` = '%s'", DB_Escape(name), DB_Escape(inputtext)); 
            Result = db_query(Database, Query); 

            // Conexion realizada correctamente: 
            if (db_num_rows(Result)) 
            { 
                // Nueva variable: 
                new Field[ 20 ]; 

                // Carga el score del jugador: 
                db_get_field_assoc(Result, "SCORE", Field, 30); 
                SetPlayerScore(playerid, strval(Field)); 

                // Carga el dinero del jugador: 
                db_get_field_assoc(Result, "CASH", Field, 30); 
                GivePlayerMoney(playerid, strval(Field)); 

                // Carga el accesslevel del jugador: 
                db_get_field_assoc(Result, "ADMINLEVEL", Field, 30); 
                Bit16_Set(g_AdminLevel, playerid, strval(Field)); 

                // El jugador loguea al servidor: 
                Bit1_Set(g_PlayerLogged, playerid, true); 
                // Mensaje de logueo en la consola del servidor: 
                SendClientMessage(playerid, -1, "Conexion realizada correctamente, disfrute! "); 
            } 
            // La contraseсa indicada es incorrecta: 
            else 
            { 
                // Mensaje de aviso de la contraseсa incorrecta: 
                   format(Query, sizeof(Query), "Actualmente ya os encontrais registrado, por favor indiquenos su contraseсa para loguear.", name, playerid); 
                ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, "SISTEMA DE LOGUEO", Query, "Conectar", "Salir"); 
                // Show the player the wrong password message. 
                SendClientMessage(playerid, -1, "Contraseсa incorrecta , intentelo de nuevo."); 
            } 
            // Actualizando base de datos: 
            db_free_result(Result); 
        } 
        else 
        { 
            return Kick(playerid); 
        } 
         
        // Codigo de los dialogos (Usuario No Registrado): 
        if (dialogid == 0) 
        { 
            // El jugador no esta registrado: 
            if (response) 
            { 
                // Sistema de seguridad del nombre: 
                if (strlen(inputtext) > 24 || strlen(inputtext) < 3) 
                { 
                    // Mensaje de aviso por el uso de un nombre no valido: 
                    format(Query, sizeof(Query), "Actualmente ya os encontrais registrado, por favor indiquenos su contraseсa para loguear.", name, playerid); 
                    ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, "SISTEMA DE LOGUEO", Query, "Conectar", "Salir"); 
                    // Send a message about the length of characters used for their password. 
                    SendClientMessage(playerid, -1, "ERROR: Vuestra contraseсa ha de tener entre 3 - 24 caracteres!"); 
                } 
                else 
                { 
                    // Creando en la base de datos al nuevo usuario: 
                    format(Query, sizeof(Query), "INSERT INTO `USERS` (`NAME`, `PASSWORD`, `IP`, `SCORE`, `CASH`, `ADMINLEVEL`) VALUES('%s','%s','%s', '0', '0', '0')", DB_Escape(name), DB_Escape(inputtext), DB_Escape(ip)); 
                    db_query(Database, Query); 

                    // El jugador loguea al servidor: 
                    Bit1_Set(g_PlayerLogged, playerid, true); 
                     
                    // Valores iniciales del jugador: 
                    GivePlayerMoney(playerid, 500);             // Dinero inicial. 
                    SetPlayerScore(playerid, 0);                // Score "0" 
                     
                     // Mensaje de conexion con el servidor: 
                    SendClientMessage(playerid, -1, "Felicidades! Habeis creado una cuenta en nuestro servidor, que comienze vuestra aventura!"); 
                } 
            } 
            else 
            { 
                return Kick(playerid); 
            } 
        } 
    } 
     
    return 1; 
} 

public OnPlayerClickPlayer(playerid, clickedplayerid, source) 
{ 
    return 1; 
} 

//---------------------------------------------------------- 
// CODIGO ADICIONAL DEL SCRIPT: 
//---------------------------------------------------------- 

// Sistema Mysql: 
stock DB_Escape(text[]) 
{ 
    new 
        ret[80 * 2], 
        ch, 
        i, 
        j; 
    while ((ch = text[i++]) && j < sizeof (ret)) 
    { 
        if (ch == '\'') 
        { 
            if (j < sizeof (ret) - 2) 
            { 
                ret[j++] = '\''; 
                ret[j++] = '\''; 
            } 
        } 
        else if (j < sizeof (ret)) 
        { 
            ret[j++] = ch; 
        } 
        else 
        { 
            j++; 
        } 
    } 
    ret[sizeof (ret) - 1] = '\0'; 
    return ret; 
}
Is new, i add only "Register System in SQLite using rBits"

---> https://sampforum.blast.hk/showthread.php?tid=278188

PD: In windows WORK, in ubuntu NO WORK.
Reply
#4

any suggestions?
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)