Jump to content
  • 0

De ce primesc erori cand este totul corect?


thestafy

Question

salut,am scris momentan logarea si registerul si tot primesc erori! Este dupa tutorialul lui Edison de login/register si nu inteleg,sunt deja 2 zile de cand ma chinui sa gasesc imperfectiunea! acesta este codul: 

#include <a_samp>

#include <a_mysql>
new SQL = -1, gQuery[256], gString[256];

#define function%0(%1)         forward %0(%1); public %0(%1)
#define SCM                    SendClientMessage

#define COLOR_DARKRED          0Xd80003FF
#define COLOR_NICEGREEN         0X8cc5edFF

new
    incercariParola[MAX_PLAYERS];

enum pInfo {
    pSQLID,
    pName[MAX_PLAYER_NAME],
    pPassword[32],
    pEmail[32],
    pGender
}
new PlayerInfo[MAX_PLAYERS][pInfo];

enum {
    //REGISTER
    DIALOG_REGISTER,
    DIALOG_EMAIL,
    DIALOG_GENDER,

    //LOGIN
    DIALOG_LOGIN
};

main() { print("Se initiaza gamemodeul..."); }

public OnGameModeInit()
{
    SQL = mysql_connect("localhos", "root", "sv", "");
    // Don`t use these lines if it`s a filterscript
    SetGameModeText("gmv1.0");
    AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
    return 1;
}


public OnPlayerRequestClass(playerid, classid)
{
    TogglePlayerSpectating(playerid, false);
    SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
    SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
    SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
    return 1;
}

public OnPlayerConnect(playerid){
    incercariParola[playerid] = 0;

    gQuery[0] = EOS;
     mysql_format(SQL, gQuery, sizeof(gQuery), "SELECT * FROM `users` WHERE `Name` = `%s` LIMIT 1", GetName(playerid));
        mysql_tquery(SQL, gQuery, "checkAccount" , "i" , playerid);
     return 1;
}

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) {
    switch(dialogid) {
    case DIALOG_REGISTER: {
            if(!response)
                return Kick(playerid);

            if(strlen(inputtext) <4 || strlen(inputtext) > 32)
            return ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_PASSWORD, "Register", "Scrie o parola pentru a iti crea contul:", "Select", "Cancel");

            gQuery[0] = EOS;
            mysql_format(SQL, gQuery, sizeof(qQuery), "INSERT INTO `users` (`Name`, `Password`) VALUES (`%s` , `%s`)", GetName(playerid), inputtext);
            mysql_tquery(SQL, gQuery, "insertAccount", "i" , playerid );

            gString[0] = EOS;
            format(gString, sizeof(gString), "Parola ta contine %d caractere." strlen(inputtext));
            SCM(playerid, -1 , gString);

            format(PlayerInfo[playerid][pPassword], 32 , inputtext);

            ShowPlayerDialog(playerid, DIALOG_EMAIL, DIALOG_STYLE_INPUT, "EMAIL", "Te rugam sa-ti setezi adresa de email:", "Select", "Cancel");
        }
        case DIALOG_EMAIL: {
            if(!response)
                return Kick(playerid);

            if(strlen(inputtext) <4 || strlen(inputtext) > 32)
            return ShowPlayerDialog(playerid, DIALOG_EMAIL, DIALOG_STYLE_INPUT, "EMAIL", "Te rugam sa-ti setezi adresa de email:", "Select", "Cancel");

            gQuery[0] = EOS;
            mysql_format(SQL, gQuery, sizeof(qQuery), "UPDATE `Users` SET `Email = `%s` WHERE `ID` = `%d`" , inputtext, PlayerInfo[playerid][pSQLID]);
            mysql_tquery(SQL, gQuery, "", "" );

            gString[0] = EOS;
            format(gString, sizeof(gString), "Email setat %s" strlen(inputtext));
            SCM(playerid, -1 , gString);

            format(PlayerInfo[playerid][pEmail], 32 , inputtext);

            ShowPlayerDialog(playerid, DIALOG_GENDER, DIALOG_STYLE_MSGBOX, "GENDER", "Seteaza-ti sexul:", "Masculin", "Feminin");
        }
        case DIALOG_GENDER: {
            switch(response) {
                case 0: {
                    PlayerInfo[playerid][pGender] = 1;
                    SCM(playerid, -1, "Sexul ales este Feminin");
                }
                case 1: {
                    PlayerInfo[playerid][pGender] = 0;
                    SCM(playerid, -1, "Sexul ales este Masculin");
            }
        }
        gQuery[0] = EOS;
            mysql_format(SQL, gQuery, sizeof(qQuery), "UPDATE `Users` SET `Gender = `%d` WHERE `ID` = `%d`" , PlayerInfo[playerid][pGender], PlayerInfo[playerid][pSQLID]);
            mysql_tquery(SQL, gQuery, "", "" );

            SpawnPlayer(playerid);
        }
            case DIALOG_LOGIN: {
                if(!response)
                    return Kick(playerid);

            mysql_format(SQL, gQuery, sizeof(gQuery), "SELECT * FROM `users` WHERE Name` = `%s` AND `Password`=`%s` LIMIT 1" GetName(playerid)inputtext);
            mysql_tquery(SQL, gQuery, "onlogin" , "i" , playerid);
        }
    }
    return 1;
}

function onlogin (playerid) {
    switch(cache_num_rows()) {
        case 0: {
            incercariParola[playerid] ++;

            gString[0] = EOS;
            format(gString, sizeof(gString),"Parola incorecta! (%d/3 incercari ramase)", incercariParola[playerid]);
            SCM(palyerid, COLOR_DARKRED, gString);

            if(incercariParola[playerid] == 3) Kick(playerid);
            else ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "Login", "Te rugam sa introduci parola contului tau:", "Select", "Cancel");
        }
        case 1: {
            new
                result[64];

            PlayerInfo[playerid][pSQLID] = cache_get_row_content_int("0", "ID");
            PlayerInfo[playerid][pGender] = cache_get_row_content_int("0", "Gender");

            cache_get_field_content(0, "Name" , result); format(PLayerInfo[playerid][pName], MAX_PLAYER_NAME, result);
            cache_get_field_content(0, "Password" , result); format(PLayerInfo[playerid][pPassword], 32, result);
            cache_get_field_content(0, "Email" , result); format(PLayerInfo[playerid][pEmail], 32, result);

             printf("%s (user: %d) s-a conectat. [Gender: %d, Name: %s, Password: %s, Email: %s]" , GetName(playerid), PlayerInfo[playerid][pSQLID], PlayerInfo[playerid][pGender],PlayerInfo[playerid][pPassword], PlayerInfo[palyerid][pEmail]);
            for (new i = 0; i<25; i++) SCM(playerid, -1, " ");
             SCM(palyerid, COLOR_NICEGREEN, "Bine ai venit/revenit pe server"
             
             SpawnPlayer(playerid);
        }
    }
    return 1;
}

function insertAccount(playerid) {
    PlayerInfo[playerid][pSQLID] = cache_insert_id();
    printf("%s s-a inregistrat cu SQLID-ul #%d." , GetName(playerid),PlayerInfo[playerid][pSQLID]);
    return 1;
}
function checkAccount(playerid) {
    switch(cache_num_rows()) {
     case 0; ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_PASSWORD, "Register", "Scrie o parola pentru a iti crea contul:", "Select", "Cancel");
     case 1;ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "Login", "Te rugam sa introduci parola contului tau:", "Select", "Cancel");
    }
    return 1;
}

stock GetName(playerid) {
    new playerName[MAX_PALYER_NAME];
    GetPlayerName(playerid, playerName, MAX_PLAYER_NAME);
    return playerName;
}
 

Link to comment
Share on other sites

15 answers to this question

Recommended Posts

  • 0
1 oră în urmă, iSorin[] a spus:

Pai  si noi de unde sa stim ce errori ai ? :))

 

 

1 oră în urmă, [XSR]NexT a spus:

Ce erori primesti?

ups,astea sunt erorile: 

C:\Users\danie\Dropbox\svsamp\gamemodes\Gamemode_v1.0.pwn(59) : warning 217: loose indentation
C:\Users\danie\Dropbox\svsamp\gamemodes\Gamemode_v1.0.pwn(74) : error 017: undefined symbol "qQuery"
C:\Users\danie\Dropbox\svsamp\gamemodes\Gamemode_v1.0.pwn(74) : error 029: invalid expression, assumed zero
C:\Users\danie\Dropbox\svsamp\gamemodes\Gamemode_v1.0.pwn(74) : warning 215: expression has no effect
C:\Users\danie\Dropbox\svsamp\gamemodes\Gamemode_v1.0.pwn(78) : error 001: expected token: "-string end-", but found "-identifier-"
C:\Users\danie\Dropbox\svsamp\gamemodes\Gamemode_v1.0.pwn(78) : error 001: expected token: ";", but found ")"
C:\Users\danie\Dropbox\svsamp\gamemodes\Gamemode_v1.0.pwn(78) : error 029: invalid expression, assumed zero
C:\Users\danie\Dropbox\svsamp\gamemodes\Gamemode_v1.0.pwn(78) : fatal error 107: too many error messages on one line

Compilation aborted.Pawn compiler 3.2.3664              Copyright (c) 1997-2006, ITB CompuPhase


6 Errors.
 

Link to comment
Share on other sites

  • 0
Acum 31 minute, [emy] a spus:

 mysql_format(SQL, gQuery, sizeof(qQuery), "INSERT INTO `users` (`Name`, `Password`) VALUES (`%s` , `%s`)", GetName(playerid), inputtext);

iti scrie clar, ai pus qQuery in loc de gQuery... ce e asa greu de citit?

multumesc,si raman cu astea:

C:\Users\danie\Dropbox\svsamp\gamemodes\Gamemode_v1.0.pwn(59) : warning 217: loose indentation
C:\Users\danie\Dropbox\svsamp\gamemodes\Gamemode_v1.0.pwn(78) : error 001: expected token: "-string end-", but found "-identifier-"
C:\Users\danie\Dropbox\svsamp\gamemodes\Gamemode_v1.0.pwn(78) : error 001: expected token: ";", but found ")"
C:\Users\danie\Dropbox\svsamp\gamemodes\Gamemode_v1.0.pwn(78) : error 029: invalid expression, assumed zero
C:\Users\danie\Dropbox\svsamp\gamemodes\Gamemode_v1.0.pwn(78) : fatal error 107: too many error messages on one line

Compilation aborted.Pawn compiler 3.2.3664              Copyright (c) 1997-2006, ITB CompuPhase


4 Errors.

Link to comment
Share on other sites

  • 0

schimba tot OnDialogResponse cu ce iti dau eu aici

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) {
    switch(dialogid) {
    case DIALOG_REGISTER: {
            if(!response)
                return Kick(playerid);

            if(strlen(inputtext) <4 || strlen(inputtext) > 32)
            return ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_PASSWORD, "Register", "Scrie o parola pentru a iti crea contul:", "Select", "Cancel");

            gQuery[0] = EOS;
            mysql_format(SQL, gQuery, sizeof(gQuery), "INSERT INTO `users` (`Name`, `Password`) VALUES (`%s` , `%s`)", GetName(playerid), inputtext);
            mysql_tquery(SQL, gQuery, "insertAccount", "i" , playerid );

            gString[0] = EOS;
            format(gString, sizeof(gString), "Parola ta contine %d caractere." strlen(inputtext));
            SCM(playerid, -1 , gString);

            format(PlayerInfo[playerid][pPassword], 32 , inputtext);

            ShowPlayerDialog(playerid, DIALOG_EMAIL, DIALOG_STYLE_INPUT, "EMAIL", "Te rugam sa-ti setezi adresa de email:", "Select", "Cancel");
        }
        case DIALOG_EMAIL: {
            if(!response)
                return Kick(playerid);

            if(strlen(inputtext) <4 || strlen(inputtext) > 32)
            return ShowPlayerDialog(playerid, DIALOG_EMAIL, DIALOG_STYLE_INPUT, "EMAIL", "Te rugam sa-ti setezi adresa de email:", "Select", "Cancel");

            gQuery[0] = EOS;
            mysql_format(SQL, gQuery, sizeof(gQuery), "UPDATE `Users` SET `Email = `%s` WHERE `ID` = `%d`" , inputtext, PlayerInfo[playerid][pSQLID]);
            mysql_tquery(SQL, gQuery, "", "" );

            gString[0] = EOS;
            format(gString, sizeof(gString), "Email setat %s" strlen(inputtext));
            SCM(playerid, -1 , gString);

            format(PlayerInfo[playerid][pEmail], 32 , inputtext);

            ShowPlayerDialog(playerid, DIALOG_GENDER, DIALOG_STYLE_MSGBOX, "GENDER", "Seteaza-ti sexul:", "Masculin", "Feminin");
        }
        case DIALOG_GENDER: {
            switch(response) {
                case 0: {
                    PlayerInfo[playerid][pGender] = 1;
                    SCM(playerid, -1, "Sexul ales este Feminin");
                }
                case 1: {
                    PlayerInfo[playerid][pGender] = 0;
                    SCM(playerid, -1, "Sexul ales este Masculin");
            }
        }
        gQuery[0] = EOS;
            mysql_format(SQL, gQuery, sizeof(gQuery), "UPDATE `Users` SET `Gender = `%d` WHERE `ID` = `%d`", PlayerInfo[playerid][pGender], PlayerInfo[playerid][pSQLID]);
            mysql_tquery(SQL, gQuery, "", "" );

            SpawnPlayer(playerid);
        }
            case DIALOG_LOGIN: {
                if(!response)
                    return Kick(playerid);

            mysql_format(SQL, gQuery, sizeof(gQuery), "SELECT * FROM `users` WHERE Name` = `%s` AND `Password`=`%s` LIMIT 1" GetName(playerid)inputtext);
            mysql_tquery(SQL, gQuery, "onlogin" , "i" , playerid);
        }
    }
    return 1;
}

mai multa atentie data viitoare

Link to comment
Share on other sites

  • 0
Acum 14 minute, [emy] a spus:

schimba tot OnDialogResponse cu ce iti dau eu aici


public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) {
    switch(dialogid) {
    case DIALOG_REGISTER: {
            if(!response)
                return Kick(playerid);

            if(strlen(inputtext) <4 || strlen(inputtext) > 32)
            return ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_PASSWORD, "Register", "Scrie o parola pentru a iti crea contul:", "Select", "Cancel");

            gQuery[0] = EOS;
            mysql_format(SQL, gQuery, sizeof(gQuery), "INSERT INTO `users` (`Name`, `Password`) VALUES (`%s` , `%s`)", GetName(playerid), inputtext);
            mysql_tquery(SQL, gQuery, "insertAccount", "i" , playerid );

            gString[0] = EOS;
            format(gString, sizeof(gString), "Parola ta contine %d caractere." strlen(inputtext));
            SCM(playerid, -1 , gString);

            format(PlayerInfo[playerid][pPassword], 32 , inputtext);

            ShowPlayerDialog(playerid, DIALOG_EMAIL, DIALOG_STYLE_INPUT, "EMAIL", "Te rugam sa-ti setezi adresa de email:", "Select", "Cancel");
        }
        case DIALOG_EMAIL: {
            if(!response)
                return Kick(playerid);

            if(strlen(inputtext) <4 || strlen(inputtext) > 32)
            return ShowPlayerDialog(playerid, DIALOG_EMAIL, DIALOG_STYLE_INPUT, "EMAIL", "Te rugam sa-ti setezi adresa de email:", "Select", "Cancel");

            gQuery[0] = EOS;
            mysql_format(SQL, gQuery, sizeof(gQuery), "UPDATE `Users` SET `Email = `%s` WHERE `ID` = `%d`" , inputtext, PlayerInfo[playerid][pSQLID]);
            mysql_tquery(SQL, gQuery, "", "" );

            gString[0] = EOS;
            format(gString, sizeof(gString), "Email setat %s" strlen(inputtext));
            SCM(playerid, -1 , gString);

            format(PlayerInfo[playerid][pEmail], 32 , inputtext);

            ShowPlayerDialog(playerid, DIALOG_GENDER, DIALOG_STYLE_MSGBOX, "GENDER", "Seteaza-ti sexul:", "Masculin", "Feminin");
        }
        case DIALOG_GENDER: {
            switch(response) {
                case 0: {
                    PlayerInfo[playerid][pGender] = 1;
                    SCM(playerid, -1, "Sexul ales este Feminin");
                }
                case 1: {
                    PlayerInfo[playerid][pGender] = 0;
                    SCM(playerid, -1, "Sexul ales este Masculin");
            }
        }
        gQuery[0] = EOS;
            mysql_format(SQL, gQuery, sizeof(gQuery), "UPDATE `Users` SET `Gender = `%d` WHERE `ID` = `%d`", PlayerInfo[playerid][pGender], PlayerInfo[playerid][pSQLID]);
            mysql_tquery(SQL, gQuery, "", "" );

            SpawnPlayer(playerid);
        }
            case DIALOG_LOGIN: {
                if(!response)
                    return Kick(playerid);

            mysql_format(SQL, gQuery, sizeof(gQuery), "SELECT * FROM `users` WHERE Name` = `%s` AND `Password`=`%s` LIMIT 1" GetName(playerid)inputtext);
            mysql_tquery(SQL, gQuery, "onlogin" , "i" , playerid);
        }
    }
    return 1;
}

mai multa atentie data viitoare

ammm,chiar nu inteleg unde e greseala,am inlocuit si asta

C:\Users\danie\Dropbox\svsamp\gamemodes\Gamemode_v1.0.pwn(59) : warning 217: loose indentation
C:\Users\danie\Dropbox\svsamp\gamemodes\Gamemode_v1.0.pwn(78) : error 001: expected token: "-string end-", but found "-identifier-"
C:\Users\danie\Dropbox\svsamp\gamemodes\Gamemode_v1.0.pwn(78) : error 001: expected token: ";", but found ")"
C:\Users\danie\Dropbox\svsamp\gamemodes\Gamemode_v1.0.pwn(78) : error 029: invalid expression, assumed zero
C:\Users\danie\Dropbox\svsamp\gamemodes\Gamemode_v1.0.pwn(78) : fatal error 107: too many error messages on one line

Compilation aborted.Pawn compiler 3.2.3664              Copyright (c) 1997-2006, ITB CompuPhase


4 Errors.

Link to comment
Share on other sites

  • 0
4 minutes ago, thestafy said:

ammm,chiar nu inteleg unde e greseala,am inlocuit si asta

C:\Users\danie\Dropbox\svsamp\gamemodes\Gamemode_v1.0.pwn(59) : warning 217: loose indentation
C:\Users\danie\Dropbox\svsamp\gamemodes\Gamemode_v1.0.pwn(78) : error 001: expected token: "-string end-", but found "-identifier-"
C:\Users\danie\Dropbox\svsamp\gamemodes\Gamemode_v1.0.pwn(78) : error 001: expected token: ";", but found ")"
C:\Users\danie\Dropbox\svsamp\gamemodes\Gamemode_v1.0.pwn(78) : error 029: invalid expression, assumed zero
C:\Users\danie\Dropbox\svsamp\gamemodes\Gamemode_v1.0.pwn(78) : fatal error 107: too many error messages on one line

Compilation aborted.Pawn compiler 3.2.3664              Copyright (c) 1997-2006, ITB CompuPhase


4 Errors.

Nu ai pus bine la DIALOG_GENDER acolada.

 

 case DIALOG_GENDER: {
            switch(response) {
                case 0: {
                    PlayerInfo[playerid][pGender] = 1;
                    SCM(playerid, -1, "Sexul ales este Feminin");
                }
                case 1: {
                    PlayerInfo[playerid][pGender] = 0;
                    SCM(playerid, -1, "Sexul ales este Masculin");
            }
        }
        gQuery[0] = EOS;
            mysql_format(SQL, gQuery, sizeof(gQuery), "UPDATE `Users` SET `Gender = `%d` WHERE `ID` = `%d`", PlayerInfo[playerid][pGender], PlayerInfo[playerid][pSQLID]);
            mysql_tquery(SQL, gQuery, "", "" );

            SpawnPlayer(playerid);

Asta trebuie sa fie asa:

 case DIALOG_GENDER: {
            switch(response) {
                case 0: {
                    PlayerInfo[playerid][pGender] = 1;
                    SCM(playerid, -1, "Sexul ales este Feminin");
                }
                case 1: {
                    PlayerInfo[playerid][pGender] = 0;
                    SCM(playerid, -1, "Sexul ales este Masculin");
            }
        	gQuery[0] = EOS;
            mysql_format(SQL, gQuery, sizeof(gQuery), "UPDATE `Users` SET `Gender = `%d` WHERE `ID` = `%d`", PlayerInfo[playerid][pGender], 	PlayerInfo[playerid][pSQLID]);
            mysql_tquery(SQL, gQuery, "", "");
            SpawnPlayer(playerid);
}

 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. For more details you can also review our Terms of Use and Privacy Policy.