[Ayuda] їPorque me salta estos errores?
#1

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;
}
Reply
#2

їY los errores papб?
Reply
#3

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

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.
Reply
#5

No te entiendo amigo, que es lo que tengo que hacer?
Reply
#6

Busca la lнnea 87 y pegala acб.
Reply
#7

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);

Reply
#8

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.
Reply
#9

Gracias, solucionado, +rep!
Reply
#10

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.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)