[Pomoc] Errori (Reg/Log system, define i ostalo)


Započeo Dinox[â„¢], Septembar 04, 2014, 13:41:02 POSLE PODNE

prethodna tema - sledeća tema

0 članova i 1 gost pregledaju ovu temu.

Skripta koju koristim: Od nule, ali to ja se čim tako da sam uzeo neki tutorijal  za Reg/Log system, i imam nekih errora
Detaljan opis problema: Errore koje dobivam
Dio skripte: Dobro to sredim. I sada mi izbacuje slijedeće errore
D:\DINO\SAMP\Norton RolePlay\gamemodes\NRP.pwn(32) : error 029: invalid expression, assumed zero
D:\DINO\SAMP\Norton RolePlay\gamemodes\NRP.pwn(32) : warning 215: expression has no effect
D:\DINO\SAMP\Norton RolePlay\gamemodes\NRP.pwn(32) : error 001: expected token: ";", but found "]"
D:\DINO\SAMP\Norton RolePlay\gamemodes\NRP.pwn(32) : error 029: invalid expression, assumed zero
D:\DINO\SAMP\Norton RolePlay\gamemodes\NRP.pwn(32) : fatal error 107: too many error messages on one line


29 forward LoadUser_data(playerid,name[],value[]);
30 public LoadUser_data(playerid,name[],value[])
31 {
32    INI_Int("Lozinka",PlayerInfo[playerid][pLozinka]);
33    INI_Int("Novac",PlayerInfo[playerid][pNovac]);
34    INI_Int("Admin",PlayerInfo[playerid][pAdmin]);
35    INI_Int("Ubojstva",PlayerInfo[playerid][pUbojstva]);
36    INI_Int("Smrti",PlayerInfo[playerid][pSmrti]);
37    return 1;
38  }

Neke slike/video za lakse dobivanje pomoci(neobavezno):
Smoke Weed Every Day
HNK Hajduk Split
SAMO DIÅ PET SAMO FORCA SAMO HAJDUK SAMO TORCA


D:\DINO\SAMP\Norton RolePlay\gamemodes\NRP.pwn(32) : error 017: undefined symbol "INI_String"
D:\DINO\SAMP\Norton RolePlay\gamemodes\NRP.pwn(32) : warning 215: expression has no effect
D:\DINO\SAMP\Norton RolePlay\gamemodes\NRP.pwn(32) : error 001: expected token: ";", but found "]"
D:\DINO\SAMP\Norton RolePlay\gamemodes\NRP.pwn(32) : error 029: invalid expression, assumed zero
D:\DINO\SAMP\Norton RolePlay\gamemodes\NRP.pwn(32) : fatal error 107: too many error messages on one line

Evo sada errora..


evo cijela skripta..
//#includovi
#include <a_samp>
#include <YSI\y_ini>
#include <YSI\y_commands>
//#definicije
#define PlayerInfo
#define DIALOG_REGISTRACIJA 1
#define DIALOG_LOGIN 2
#define DIALOG_USPJESNOA 3
#define DIALOG_USPJESNOB 4
#define PATH "/Korisnici/%s.ini"


//Regyster i Login System

enum pInfo
{
    pLozinka,
    pNovac,
    pAdmin,
    pUbojstva,
    pSmrti
}

forward LoadUser_data(playerid,name[],value[]);
public LoadUser_data(playerid,name[],value[])
{
    INI_String("Lozinka",PlayerInfo[playerid][pLozinka]);
    INI_Int("Novac",PlayerInfo[playerid][pNovac]);
    INI_Int("Admin",PlayerInfo[playerid][pAdmin]);
    INI_Int("Ubojstva",PlayerInfo[playerid][pUbojstva]);
    INI_Int("Smrti",PlayerInfo[playerid][pSmrti]);
    return 1;
}
stock UserPath(playerid)
{
    new string[32],playername[MAX_PLAYER_NAME];
    GetPlayerName(playerid,playername,sizeof(playername));
    format(string,sizeof(string),PATH,playername);
    return string;
}
stock udb_hash(buf[]) {
    new length=strlen(buf);
    new s1 = 1;
    new s2 = 0;
    new n;
    for (n=0; n<length; n++)
    {
       s1 = (s1 + buf[n]) % 65521;
       s2 = (s2 + s1)     % 65521;
    }
    return (s2 << 16) + s1;
}
new PlayerInfo[MAX_PLAYERS][pInfo];

public OnPlayerConnect(playerid)
{
    if(fexist(UserPath(playerid)))
    {
        INI_ParseFile(UserPath(playerid), "LoadUser_%s", .bExtra = true, .extra = playerid);
        ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT,"{FF9000}Login","{FF9000}Upisi svoju lozinku za ulazak u igru.","Login","Odustani");
    }
    else
    {
        ShowPlayerDialog(playerid, DIALOG_REGISTRACIJA, DIALOG_STYLE_INPUT,"{FF9000}Registracija",{FF9000}Upisi lozinku koju ces koristiti za pristup accountu.","Registracija","Odustani");
    }
    return 1;
}

public OnPlayerDisconnect(playerid, reason)
{
    new INI:File = INI_Open(UserPath(playerid));
    INI_SetTag(File,"data");
    INI_WriteInt(File,"Novac",GetPlayerMoney(playerid));
    INI_WriteInt(File,"Admin",PlayerInfo[playerid][pAdmin]);
    INI_WriteInt(File,"Ubojstva",PlayerInfo[playerid][pUbojstva]);
    INI_WriteInt(File,"Smrti",PlayerInfo[playerid][pSmrti]);
    INI_Close(File);
    return 1;
}

public OnPlayerDeath(playerid, killerid, reason)
{
    PlayerInfo[killerid][pUbojstva]++;
    PlayerInfo[playerid][pSmrti]++;
    return 1;
}

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    switch( dialogid )
    {
        case DIALOG_REGISTRACIJA:
        {
            if (!response) return Kick(playerid);
            if(response)
            {
                if(!strlen(inputtext)) return ShowPlayerDialog(playerid, DIALOG_REGISTRACIJA, DIALOG_STYLE_INPUT, "{FF9000}Registracija","{FF9000}[!]Upisao si pogresnu lozinku.\n"{FF9000}Upisi lozinku koju ces koristiti za pristup accountu.","Registracija","Odustani");
                new INI:File = INI_Open(UserPath(playerid));
                INI_SetTag(File,"data");
                INI_WriteInt(File,"Lozinka",udb_hash(inputtext));
                INI_WriteInt(File,"Novac",0);
                INI_WriteInt(File,"Admin",0);
                INI_WriteInt(File,"Ubojstva",0);
                INI_WriteInt(File,"Smrti",0);
                INI_Close(File);

                SetSpawnInfo(playerid, 0, 0, 1958.33, 1343.12, 15.36, 269.15, 0, 0, 0, 0, 0, 0);
                SpawnPlayer(playerid);
                ShowPlayerDialog(playerid, DIALOG_USPJESNOA, DIALOG_STYLE_MSGBOX,"{FF9000}Registracija uspjesna!","{FF9000}Registracija uspjesna, otidite relog da se vas account spremi!","Uredu","");
            }
        }

        case DIALOG_LOGIN:
        {
            if ( !response ) return Kick ( playerid );
            if( response )
            {
                if(udb_hash(inputtext) == PlayerInfo[playerid][pPass])
                {
                    INI_ParseFile(UserPath(playerid), "LoadUser_%s", .bExtra = true, .extra = playerid);
                    GivePlayerMoney(playerid, PlayerInfo[playerid][pNovac]);
                    ShowPlayerDialog(playerid, DIALOG_USPJESNOB, DIALOG_STYLE_MSGBOX,"{FF9000}Uspjesno ste se logirali u vas account!","Uredu","");
                }
                else
                {
                    ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT,"{FF9000}Login","{FF9000}[!]Upisao si pogresnu lozinku..\n"{FF9000}Upisi svoju lozinku za pristup accountu.","Login","Odustani");
                }
                return 1;
            }
        }
    }
    return 1;
}
Smoke Weed Every Day
HNK Hajduk Split
SAMO DIÅ PET SAMO FORCA SAMO HAJDUK SAMO TORCA

Citat: Drobnjak poslato Septembar 04, 2014, 13:53:08 POSLE PODNE
INI_String ti ide na lozinku, ne INI_Int..

Ne ide string, ide integer jer koristi udb_hash on sve pretvara u brojcane podatke..

Gdje ti je greska?

Ti si stavio #define PlayerInfo, ne, ne trebas tako nego ovako:

new PlayerInfo[MAX_PLAYERS][pInfo];

Citat: Lenon poslato Septembar 04, 2014, 14:08:47 POSLE PODNE
new PlayerInfo[MAX_PLAYERS][pInfo];


Gdje ovo da stavim ? Jer ako stavim izmeÄ'u //definicija i //Reg/Log systema onda mi izbacuje ove errore
D:\DINO\SAMP\Norton RolePlay\gamemodes\NRP.pwn(17) : error 017: undefined symbol "pInfo"
D:\DINO\SAMP\Norton RolePlay\gamemodes\NRP.pwn(17) : error 009: invalid array size (negative, zero or out of bounds)
D:\DINO\SAMP\Norton RolePlay\gamemodes\NRP.pwn(34) : error 017: undefined symbol "INI_String"
D:\DINO\SAMP\Norton RolePlay\gamemodes\NRP.pwn(60) : error 021: symbol already defined: "PlayerInfo"
D:\DINO\SAMP\Norton RolePlay\gamemodes\NRP.pwn(120) : error 017: undefined symbol "FF9000"
D:\DINO\SAMP\Norton RolePlay\gamemodes\NRP.pwn(120) : error 017: undefined symbol "Upisi"
D:\DINO\SAMP\Norton RolePlay\gamemodes\NRP.pwn(120) : error 017: undefined symbol "lozinku"
D:\DINO\SAMP\Norton RolePlay\gamemodes\NRP.pwn(120) : fatal error 107: too many error messages on one line

Ako ga stavim poslije enum izbacuje slijedeće, ali u redu je ovo new PlayerInfo.. imam slijedeće errore kada stavim to
D:\DINO\SAMP\Norton RolePlay\gamemodes\NRP.pwn(31) : error 017: undefined symbol "INI_String"
D:\DINO\SAMP\Norton RolePlay\gamemodes\NRP.pwn(57) : error 021: symbol already defined: "PlayerInfo"
D:\DINO\SAMP\Norton RolePlay\gamemodes\NRP.pwn(117) : error 017: undefined symbol "FF9000"
D:\DINO\SAMP\Norton RolePlay\gamemodes\NRP.pwn(117) : error 017: undefined symbol "Upisi"
D:\DINO\SAMP\Norton RolePlay\gamemodes\NRP.pwn(117) : error 017: undefined symbol "lozinku"
D:\DINO\SAMP\Norton RolePlay\gamemodes\NRP.pwn(117) : fatal error 107: too many error messages on one line

Smoke Weed Every Day
HNK Hajduk Split
SAMO DIÅ PET SAMO FORCA SAMO HAJDUK SAMO TORCA

Evo ispravio sam ti sve:

//#includovi
#include <a_samp>
#include <YSI\y_ini>
#include <YSI\y_commands>
//#definicije
#define DIALOG_REGISTRACIJA 1
#define DIALOG_LOGIN 2
#define DIALOG_USPJESNOA 3
#define DIALOG_USPJESNOB 4
#define PATH "/Korisnici/%s.ini"


//Regyster i Login System

enum pInfo
{
    pLozinka,
    pNovac,
    pAdmin,
    pUbojstva,
    pSmrti
}
new PlayerInfo[MAX_PLAYERS][pInfo];

forward LoadUser_data(playerid,name[],value[]);
public LoadUser_data(playerid,name[],value[])
{
    INI_Int("Lozinka",PlayerInfo[playerid][pLozinka]);
    INI_Int("Novac",PlayerInfo[playerid][pNovac]);
    INI_Int("Admin",PlayerInfo[playerid][pAdmin]);
    INI_Int("Ubojstva",PlayerInfo[playerid][pUbojstva]);
    INI_Int("Smrti",PlayerInfo[playerid][pSmrti]);
    return 1;
}
stock UserPath(playerid)
{
    new string[32],playername[MAX_PLAYER_NAME];
    GetPlayerName(playerid,playername,sizeof(playername));
    format(string,sizeof(string),PATH,playername);
    return string;
}
stock udb_hash(buf[]) {
    new length=strlen(buf);
    new s1 = 1;
    new s2 = 0;
    new n;
    for (n=0; n<length; n++)
    {
       s1 = (s1 + buf[n]) % 65521;
       s2 = (s2 + s1)     % 65521;
    }
    return (s2 << 16) + s1;
}

public OnPlayerConnect(playerid)
{
    if(fexist(UserPath(playerid)))
    {
        INI_ParseFile(UserPath(playerid), "LoadUser_%s", .bExtra = true, .extra = playerid);
        ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT,"{FF9000}Login","{FF9000}Upisi svoju lozinku za ulazak u igru.","Login","Odustani");
    }
    else
    {
        ShowPlayerDialog(playerid, DIALOG_REGISTRACIJA, DIALOG_STYLE_INPUT,"{FF9000}Registracija","{FF9000}Upisi lozinku koju ces koristiti za pristup accountu.","Registracija","Odustani");
    }
    return 1;
}

public OnPlayerDisconnect(playerid, reason)
{
    new INI:File = INI_Open(UserPath(playerid));
    INI_SetTag(File,"data");
    INI_WriteInt(File,"Novac",GetPlayerMoney(playerid));
    INI_WriteInt(File,"Admin",PlayerInfo[playerid][pAdmin]);
    INI_WriteInt(File,"Ubojstva",PlayerInfo[playerid][pUbojstva]);
    INI_WriteInt(File,"Smrti",PlayerInfo[playerid][pSmrti]);
    INI_Close(File);
    return 1;
}

public OnPlayerDeath(playerid, killerid, reason)
{
    PlayerInfo[killerid][pUbojstva]++;
    PlayerInfo[playerid][pSmrti]++;
    return 1;
}

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    switch( dialogid )
    {
        case DIALOG_REGISTRACIJA:
        {
            if (!response) return Kick(playerid);
            if(response)
            {
                if(!strlen(inputtext)) return ShowPlayerDialog(playerid, DIALOG_REGISTRACIJA, DIALOG_STYLE_INPUT, "{FF9000}Registracija","{FF9000}[!]Upisao si pogresnu lozinku.\n{FF9000}Upisi lozinku koju ces koristiti za pristup accountu.","Registracija","Odustani");
                new INI:File = INI_Open(UserPath(playerid));
                INI_SetTag(File,"data");
                INI_WriteInt(File,"Lozinka",udb_hash(inputtext));
                INI_WriteInt(File,"Novac",0);
                INI_WriteInt(File,"Admin",0);
                INI_WriteInt(File,"Ubojstva",0);
                INI_WriteInt(File,"Smrti",0);
                INI_Close(File);

                SetSpawnInfo(playerid, 0, 0, 1958.33, 1343.12, 15.36, 269.15, 0, 0, 0, 0, 0, 0);
                SpawnPlayer(playerid);
                ShowPlayerDialog(playerid, DIALOG_USPJESNOA, DIALOG_STYLE_MSGBOX,"{FF9000}Registracija uspjesna!","{FF9000}Registracija uspjesna, otidite relog da se vas account spremi!","Uredu","");
            }
        }

        case DIALOG_LOGIN:
        {
            if ( !response ) return Kick ( playerid );
            if( response )
            {
                if(udb_hash(inputtext) == PlayerInfo[playerid][pLozinka])
                {
                    INI_ParseFile(UserPath(playerid), "LoadUser_%s", .bExtra = true, .extra = playerid);
                    GivePlayerMoney(playerid, PlayerInfo[playerid][pNovac]);
                    ShowPlayerDialog(playerid, DIALOG_USPJESNOB, DIALOG_STYLE_MSGBOX,"{FF9000}Login uspjesan!","{FF9000}Uspjesno ste se logirali u vas account!","Uredu","");
                }
                else
                {
                    ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT,"{FF9000}Login","{FF9000}[!]Upisao si pogresnu lozinku..\n{FF9000}Upisi svoju lozinku za pristup accountu.","Login","Odustani");
                }
                return 1;
            }
        }
    }
    return 1;
}
Poslednja Izmena: Septembar 04, 2014, 14:20:43 POSLE PODNE od Lenon

Citat: Lenon poslato Septembar 04, 2014, 14:17:36 POSLE PODNE
samo sec

Sada imam ove errore
D:\DINO\SAMP\Norton RolePlay\gamemodes\NRP.pwn(58) : error 021: symbol already defined: "PlayerInfo"
D:\DINO\SAMP\Norton RolePlay\gamemodes\NRP.pwn(304) : error 001: expected token: "-string end-", but found "-identifier-"
D:\DINO\SAMP\Norton RolePlay\gamemodes\NRP.pwn(304) : error 017: undefined symbol "FF9000"
D:\DINO\SAMP\Norton RolePlay\gamemodes\NRP.pwn(304) : warning 217: loose indentation
D:\DINO\SAMP\Norton RolePlay\gamemodes\NRP.pwn(304) : error 017: undefined symbol "Upisi"
D:\DINO\SAMP\Norton RolePlay\gamemodes\NRP.pwn(304) : fatal error 107: too many error messages on one line
Smoke Weed Every Day
HNK Hajduk Split
SAMO DIÅ PET SAMO FORCA SAMO HAJDUK SAMO TORCA

Ispravio sam ti sve:

//#includovi
#include <a_samp>
#include <YSI\y_ini>
#include <YSI\y_commands>
//#definicije
#define DIALOG_REGISTRACIJA 1
#define DIALOG_LOGIN 2
#define DIALOG_USPJESNOA 3
#define DIALOG_USPJESNOB 4
#define PATH "/Korisnici/%s.ini"


//Regyster i Login System

enum pInfo
{
    pLozinka,
    pNovac,
    pAdmin,
    pUbojstva,
    pSmrti
}
new PlayerInfo[MAX_PLAYERS][pInfo];

forward LoadUser_data(playerid,name[],value[]);
public LoadUser_data(playerid,name[],value[])
{
    INI_Int("Lozinka",PlayerInfo[playerid][pLozinka]);
    INI_Int("Novac",PlayerInfo[playerid][pNovac]);
    INI_Int("Admin",PlayerInfo[playerid][pAdmin]);
    INI_Int("Ubojstva",PlayerInfo[playerid][pUbojstva]);
    INI_Int("Smrti",PlayerInfo[playerid][pSmrti]);
    return 1;
}
stock UserPath(playerid)
{
    new string[32],playername[MAX_PLAYER_NAME];
    GetPlayerName(playerid,playername,sizeof(playername));
    format(string,sizeof(string),PATH,playername);
    return string;
}
stock udb_hash(buf[]) {
    new length=strlen(buf);
    new s1 = 1;
    new s2 = 0;
    new n;
    for (n=0; n<length; n++)
    {
       s1 = (s1 + buf[n]) % 65521;
       s2 = (s2 + s1)     % 65521;
    }
    return (s2 << 16) + s1;
}

public OnPlayerConnect(playerid)
{
    if(fexist(UserPath(playerid)))
    {
        INI_ParseFile(UserPath(playerid), "LoadUser_%s", .bExtra = true, .extra = playerid);
        ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT,"{FF9000}Login","{FF9000}Upisi svoju lozinku za ulazak u igru.","Login","Odustani");
    }
    else
    {
        ShowPlayerDialog(playerid, DIALOG_REGISTRACIJA, DIALOG_STYLE_INPUT,"{FF9000}Registracija","{FF9000}Upisi lozinku koju ces koristiti za pristup accountu.","Registracija","Odustani");
    }
    return 1;
}

public OnPlayerDisconnect(playerid, reason)
{
    new INI:File = INI_Open(UserPath(playerid));
    INI_SetTag(File,"data");
    INI_WriteInt(File,"Novac",GetPlayerMoney(playerid));
    INI_WriteInt(File,"Admin",PlayerInfo[playerid][pAdmin]);
    INI_WriteInt(File,"Ubojstva",PlayerInfo[playerid][pUbojstva]);
    INI_WriteInt(File,"Smrti",PlayerInfo[playerid][pSmrti]);
    INI_Close(File);
    return 1;
}

public OnPlayerDeath(playerid, killerid, reason)
{
    PlayerInfo[killerid][pUbojstva]++;
    PlayerInfo[playerid][pSmrti]++;
    return 1;
}

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    switch( dialogid )
    {
        case DIALOG_REGISTRACIJA:
        {
            if (!response) return Kick(playerid);
            if(response)
            {
                if(!strlen(inputtext)) return ShowPlayerDialog(playerid, DIALOG_REGISTRACIJA, DIALOG_STYLE_INPUT, "{FF9000}Registracija","{FF9000}[!]Upisao si pogresnu lozinku.\n{FF9000}Upisi lozinku koju ces koristiti za pristup accountu.","Registracija","Odustani");
                new INI:File = INI_Open(UserPath(playerid));
                INI_SetTag(File,"data");
                INI_WriteInt(File,"Lozinka",udb_hash(inputtext));
                INI_WriteInt(File,"Novac",0);
                INI_WriteInt(File,"Admin",0);
                INI_WriteInt(File,"Ubojstva",0);
                INI_WriteInt(File,"Smrti",0);
                INI_Close(File);

                SetSpawnInfo(playerid, 0, 0, 1958.33, 1343.12, 15.36, 269.15, 0, 0, 0, 0, 0, 0);
                SpawnPlayer(playerid);
                ShowPlayerDialog(playerid, DIALOG_USPJESNOA, DIALOG_STYLE_MSGBOX,"{FF9000}Registracija uspjesna!","{FF9000}Registracija uspjesna, otidite relog da se vas account spremi!","Uredu","");
            }
        }

        case DIALOG_LOGIN:
        {
            if ( !response ) return Kick ( playerid );
            if( response )
            {
                if(udb_hash(inputtext) == PlayerInfo[playerid][pLozinka])
                {
                    INI_ParseFile(UserPath(playerid), "LoadUser_%s", .bExtra = true, .extra = playerid);
                    GivePlayerMoney(playerid, PlayerInfo[playerid][pNovac]);
                    ShowPlayerDialog(playerid, DIALOG_USPJESNOB, DIALOG_STYLE_MSGBOX,"{FF9000}Login uspjesan!","{FF9000}Uspjesno ste se logirali u vas account!","Uredu","");
                }
                else
                {
                    ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT,"{FF9000}Login","{FF9000}[!]Upisao si pogresnu lozinku..\n{FF9000}Upisi svoju lozinku za pristup accountu.","Login","Odustani");
                }
                return 1;
            }
        }
    }
    return 1;
}

Riješeno je. Hvala vam ;)
Smoke Weed Every Day
HNK Hajduk Split
SAMO DIÅ PET SAMO FORCA SAMO HAJDUK SAMO TORCA