SA-MP Forums Archive
[Ayuda] їPorque me salta estos errores? - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Español/Spanish (https://sampforum.blast.hk/forumdisplay.php?fid=29)
+---- Thread: [Ayuda] їPorque me salta estos errores? (/showthread.php?tid=527015)



[Ayuda] їPorque me salta estos errores? - AlexJuanpere - 20.07.2014

He creado una base de datos MySQL para un guardado de datos y me saltan estos errores, alguien podrнa ayudarme?

Quote:

C:\Users\Alex\Desktop\WesternRP\gamemodes\WesternR P.pwn(29) : warning 217: loose indentation
C:\Users\Alex\Desktop\WesternRP\gamemodes\WesternR P.pwn(40) : warning 217: loose indentation
C:\Users\Alex\Desktop\WesternRP\gamemodes\WesternR P.pwn(52) : warning 217: loose indentation
C:\Users\Alex\Desktop\WesternRP\gamemodes\WesternR P.pwn(87) : warning 213: tag mismatch
C:\Users\Alex\Desktop\WesternRP\gamemodes\WesternR P.pwn(87) : warning 202: number of arguments does not match definition
Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase


5 Warnings.

Код HTML:
#include <a_samp>
#include <a_mysql>

enum pInfo
{
    pPassword[128],
    pAdmin,
    pScore,
    Float:pVida,
    Float:pChaleco,
    Float:pPosx,
    Float:pPosy,
    Float:pPosz
};
new PlayerInfo[MAX_PLAYERS][pInfo];

#define MySQL_Servidor "localhost"
#define MySQL_Usuario "root"
#define MySQL_BD "DB"
#define MySQL_Clave "" //no le ponemos clave ya que no tendrнa sentido.

#define LOGIN 1
#define REGISTRO 2

new Conecction;
public OnGameModeInit()
{
printf("Iniciando conexiуn MySQL: (Servidor: '%s', Usuario: '%s', Clave: '%s', Base de Datos: '%s')", MySQL_Servidor, MySQL_Usuario, MySQL_Clave, MySQL_BD);
    Conecction = mysql_connect(MySQL_Servidor, MySQL_Usuario, MySQL_BD,MySQL_Clave);
    if(mysql_ping() == 1) //Comprobamos si se conectу
    {
        printf("Conexiуn a la base de datos realizada correctamente.");
    }
    else //Caso contrario:
    {
        print("Conexiуn a la base de datos no realizada.");
        mysql_close(); //Cerramos la conexiуn
        SendRconCommand("exit"); //Cerramos la consola para evitar bug's
    }
        return 1;
}

public OnPlayerConnect(playerid)
{
   CheckPlayer(playerid);
   return 1;
}

public OnQueryError(errorid, error[], callback[], query[], connectionHandle )
{
  printf("[ERROR] ID: %d - Error: %s - Callback - %s - Query: %s", errorid, error, callback, query); //Imprimimos el mensaje en la consola
    return 1;
}

forward CheckPlayer(playerid);
public CheckPlayer(playerid)
{
    new pName[24], Query[256];
    GetPlayerName(playerid, pName, 24);
    format(Query, sizeof(Query), "SELECT * FROM `usuarios` WHERE Nombre='%s'", pName);
    mysql_function_query(Conecction, Query, true, "OnQueryFinish", "ii",2, playerid);
    return 1;
}

forward OnQueryFinish(resultid, extraid, ConnectionHandle);
public OnQueryFinish(resultid, extraid, ConnectionHandle)
{
    new Rows, Field, string[256];
    if(resultid != 0)
    {
        cache_get_data(Rows, Field);
    }
    switch(resultid)
    {
        case 1:
        {
            if(Rows == 1)
            {
                new content[20];
                cache_get_field_content(0, "Password", PlayerInfo[extraid][pPassword]);
                cache_get_field_content(0, "Score", content); PlayerInfo[extraid][pScore] = strval(content);
                cache_get_field_content(0, "Vida", content); PlayerInfo[extraid][pVida] = floatstr(content);
                cache_get_field_content(0, "Chaleco", content); PlayerInfo[extraid][pChaleco] = floatstr(content);
                cache_get_field_content(0, "posX", content); PlayerInfo[extraid][pPosx] = floatstr(content);
                cache_get_field_content(0, "posY", content); PlayerInfo[extraid][pPosy] = floatstr(content);
                cache_get_field_content(0, "posZ", content); PlayerInfo[extraid][pPosz] = floatstr(content);
                SetSpawnInfo(extraid,0, PlayerInfo[extraid][pPosx],PlayerInfo[extraid][pPosy],PlayerInfo[extraid][pPosz],0.0,0,0,0,0,0,0);
                SetPlayerScore(extraid,  PlayerInfo[extraid][pScore]);
                SetPlayerArmour(extraid, PlayerInfo[extraid][pChaleco]);
            }
            else if(!Rows)
            {
               //
            }
        }
        case 2:
        {
            if(Rows == 1)
            {
                new pName[24]; GetPlayerName(extraid, pName, 24);
                cache_get_field_content(0, "Password", PlayerInfo[extraid][pPassword]);
                format(string, sizeof(string), "El personaje %s estб registrado en la base de datos. Pon los datos para iniciar sesiуn:", pName);
                ShowPlayerDialog(extraid, LOGIN, DIALOG_STYLE_PASSWORD,"Login",string,"Enviar","Salir");
            }
            else if(!Rows)
            {
                new pName[24]; GetPlayerName(extraid, pName, 24);
                format(string, sizeof(string), "El jugador %s no estб registrado en el servidor, pon aquн la contraseсa para registrarlo:", pName);
                ShowPlayerDialog(extraid, REGISTRO, DIALOG_STYLE_PASSWORD,"Registro:",string,"Enviar","Salir");
            }
        }
    }
    return 1;
}

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    new string[256];
    new pName[24], Query[256]; GetPlayerName(playerid, pName, 24);
    switch(dialogid)
    {
        case LOGIN:
        {
            if(!response)
            {
                Kick(playerid);
            }
            if(strcmp(PlayerInfo[playerid][pPassword], inputtext, true, 128) == 0)
            {
                format(Query, sizeof(Query), "SELECT * FROM `usuarios` WHERE `Nombre` = '%s'", pName);
                mysql_function_query(Conecction, Query, true, "OnQueryFinish", "ii", 1, playerid);
                SetSpawnInfo(playerid,0,0,PlayerInfo[playerid][pPosx], PlayerInfo[playerid][pPosy], PlayerInfo[playerid][pPosz],0,0,0,0,0,0,0);
                SetPlayerHealth(playerid, PlayerInfo[playerid][pVida]);
                SetPlayerArmour(playerid, PlayerInfo[playerid][pChaleco]);
                SetPlayerScore(playerid, PlayerInfo[playerid][pScore]);
                SpawnPlayer(playerid);
            }
            else
            {
                SendClientMessage(playerid, -1, "CONTRASEСA INCORRECTA");
                Kick(playerid);
            }
        }
        case REGISTRO:
        {
            if(!response)
            {
                SendClientMessage(playerid, -1, "Kicked");
                Kick(playerid);
            }
            if(response)
            {
                if(!strlen(inputtext))
                {
                    Kick(playerid);
                }
                new string2[128];
                format(string2, sizeof(string2), "%s", inputtext); PlayerInfo[playerid][pPassword] = string2;
                format(Query, sizeof(Query), "INSERT INTO `usuarios` (Nombre, Contraseсa) VALUES ('%s', '%s')",pName, PlayerInfo[playerid][pPassword]);
                mysql_function_query(Conecction, Query, true, "OnQueryFinish", "ii", 0, playerid);
                format(string, sizeof(string), "Has registrado el personaje %s en nuestro servidor.\n\nAhora inicia sesiуn", pName);
                ShowPlayerDialog(playerid, LOGIN, DIALOG_STYLE_PASSWORD,"Iniciar sesiуn",string,"Enviar","Salir");
            }
        }
    }
    return 1;
}

public OnPlayerDisconnect(playerid, reason)
{
    SaveAccount(playerid);
    return 1;
}

forward SaveAccount(playerid);public SaveAccount(playerid)
{
    new query[200];GetPlayerPos(playerid, PlayerInfo[playerid][pPosx], PlayerInfo[playerid][pPosy], PlayerInfo[playerid][pPosz]);
    new pName[24]; GetPlayerName(playerid, pName, 24); GetPlayerHealth(playerid, PlayerInfo[playerid][pVida]), GetPlayerArmour(playerid, PlayerInfo[playerid][pChaleco]);
    format(query, 200, "UPDATE `usuarios` SET `Vida`='%f', `Chaleco`='%f', `Admin`='%d', `Score`='%d', `Posx`='%f', `Posy`='%f', `Posz`='%f' WHERE `Nombre`='%s'", PlayerInfo[playerid][pVida], PlayerInfo[playerid][pChaleco],
    PlayerInfo[playerid][pAdmin], PlayerInfo[playerid][pScore], PlayerInfo[playerid][pPosx], PlayerInfo[playerid][pPosy], PlayerInfo[playerid][pPosz], pName);
    mysql_function_query(Conecction, query, true, "OnQueryFinish", "ii", 0, playerid);
    return 1;
}



Respuesta: [Ayuda] їPorque me salta estos errores? - Juance - 20.07.2014

їY los errores papб?


Respuesta: [Ayuda] їPorque me salta estos errores? - AlexJuanpere - 20.07.2014

Ahн los tienes, se me olvidу poner-los, mas bien son warnings no errores, espero que puedas ayudar-me.


Respuesta: [Ayuda] їPorque me salta estos errores? - Juance - 20.07.2014

Los 'loose identiation' son porque hay cуdigos mal tabulados, es decir que todos estбn en lineas diferentes, mala organizaciуn por asн decirlo. No afectan en nada, supongo.

En la lнnea 87 estбs agregando un parбmetro de mбs, o te falta agregar un parбmetro.

Pasa la lнnea 87.


Respuesta: [Ayuda] їPorque me salta estos errores? - AlexJuanpere - 20.07.2014

No te entiendo amigo, que es lo que tengo que hacer?


Respuesta: [Ayuda] їPorque me salta estos errores? - Juance - 20.07.2014

Busca la lнnea 87 y pegala acб.


Respuesta: [Ayuda] їPorque me salta estos errores? - AlexJuanpere - 20.07.2014

Ahora te entiendo, aquн tienes la linea 87:

Quote:

SetSpawnInfo(extraid,0, PlayerInfo[extraid][pPosx],PlayerInfo[extraid][pPosy],PlayerInfo[extraid][pPosz],0.0,0,0,0,0,0,0);




Respuesta: [Ayuda] їPorque me salta estos errores? - Juance - 20.07.2014

No uses SetSpawnInfo ahн.

En OnPlayerSpawn usa SetPlayerPos y ahн coloca las variables .

pawn Код:
SetPlayerPos(playerid,PlayerInfo[playerid][pPosx],PlayerInfo[playerid][pPosy],PlayerInfo[playerid][pPosz]);
Borra el SetSpawnInfo.

Fijate de que las variables carguen correctamente.


Respuesta: [Ayuda] їPorque me salta estos errores? - AlexJuanpere - 20.07.2014

Gracias, solucionado, +rep!


Respuesta: [Ayuda] їPorque me salta estos errores? - Alex15 - 20.07.2014

Quote:
Originally Posted by AlexJuanpere
Посмотреть сообщение
Ahн los tienes, se me olvidу poner-los, mas bien son warnings no errores, espero que puedas ayudar-me.
No lo digo de malas, pero el guiуn en ponerlos y ayudarme sobra.