[Ajuda] Problemas com Arrays
#1

Galera, criei esse enum e essa Array:

pawn Код:
enum pDados
{
    pNome,
    pDinheiro,
    pTime,
    pAdmin,
    pMatou,
    pMorreu
};

new ArrayDados[MAX_PLAYERS][pDados];
e na hora de compilar da esse erro:

pawn Код:
C:\Users\Usuario\Desktop\Nova pasta\gamemodes\dialog.pwn(26) : error 032: array index out of bounds (variable "ArrayDados")
C:\Users\Usuario\Desktop\Nova pasta\gamemodes\dialog.pwn(26 -- 29) : error 029: invalid expression, assumed zero
C:\Users\Usuario\Desktop\Nova pasta\gamemodes\dialog.pwn(29) : warning 215: expression has no effect
Pawn compiler 3.2.3664          Copyright (c) 1997-2006, ITB CompuPhase


2 Errors.
ta aki meu GM:

pawn Код:
#include <a_samp>
#include <dini>

#define DialogTimes                                                              100
#define CONTAS-TDM                                                               "Contas TDM/%s"

enum pDados
{
    pNome,
    pDinheiro,
    pTime,
    pAdmin,
    pMatou,
    pMorreu
};

new ArrayDados[MAX_PLAYERS][pDados];

SalvarPlayer(playerid)
{
    new Nome[MAX_PLAYER_NAME];
    GetPlayerName(playerid, Nome, sizeof(Nome));
    new String[50];
    format(String, sizeof(String), CONTAS-TDM, Nome);
    dini_IntSet(String,"Dinheiro", GetPlayerMoney(playerid));
    dini_IntSet(String,"Time", ArrayDados[MAX_PLAYERS][pTime],
    dini_IntSet(String,"Matou", ArrayDados[MAX_PLAYERS][pMatou],
    dini_IntSet(String,"Morreu", ArrayDados[MAX_PLAYERS][pMorreu],
    return 1;
}

main()
{
    print("\n----------------------------------");
    print(" Blank Gamemode by your name here");
    print("----------------------------------\n");
}


public OnGameModeInit()
{
    // Don't use these lines if it's a filterscript
    SetGameModeText("Blank Script");
    AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
    return 1;
}

public OnGameModeExit()
{
    return 1;
}

public OnPlayerRequestClass(playerid, classid)
{
    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 OnPlayerRequestSpawn(playerid)
{
    return 1;
}

public OnPlayerConnect(playerid)
{
    return 1;
}

public OnPlayerDisconnect(playerid, reason)
{
    SalvarPlayer(playerid);
    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[])
{
    if (strcmp("/time", cmdtext, true, 10) == 0)
    {
        new str[200] = "Escolha seu time";
        ShowPlayerDialog(playerid, DialogTimes, DIALOG_STYLE_MSGBOX, "Times", str, "Azul", "Vermelho");
        return 1;
    }
    return 0;
}

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    if(dialogid == DialogTimes)
    {
        if(response)
        {
            SendClientMessage(playerid, -1, "Seu time e Azul");
            ArrayDados[playerid][pTime] = 1;
        }
        else
        {
            SendClientMessage(playerid, -1, "Vermelho");
            ArrayDados[playerid][pTime] = 2;
        }
    }
    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 OnObjectMoved(objectid)
{
    return 1;
}

public OnPlayerObjectMoved(playerid, objectid)
{
    return 1;
}

public OnPlayerPickUpPickup(playerid, pickupid)
{
    return 1;
}

public OnPlayerSelectedMenuRow(playerid, row)
{
    return 1;
}

public OnPlayerExitedMenu(playerid)
{
    return 1;
}
Reply
#2

Eu faзo assim:
pawn Код:
enum pDados
{
    pNome,
    pDinheiro,
    pTime,
    pAdmin,
    pMatou,
    pMorreu
}
new ArrayDados[MAX_PLAYERS][pDados];
Tenta ai
Reply
#3

Da o mesmo erro
Reply
#4

Quote:
Originally Posted by ViniKuliveguisky
Посмотреть сообщение
Eu faзo assim:
pawn Код:
enum pDados
{
    pNome,
    pDinheiro,
    pTime,
    pAdmin,
    pMatou,
    pMorreu
}
new ArrayDados[MAX_PLAYERS][pDados];
Tenta ai
da o mesmo erro
Reply
#5

Sera que ta dando estes erros pq vocк nгo fechou os setes ?
pawn Код:
format(String, sizeof(String), CONTAS-TDM, Nome);
    dini_IntSet(String,"Dinheiro", GetPlayerMoney(playerid));
    dini_IntSet(String,"Time", ArrayDados[MAX_PLAYERS][pTime]);
    dini_IntSet(String,"Matou", ArrayDados[MAX_PLAYERS][pMatou]);
    dini_IntSet(String,"Morreu", ArrayDados[MAX_PLAYERS][pMorreu]);
Reply
#6

Quote:
Originally Posted by mau.tito
Посмотреть сообщение
Sera que ta dando estes erros pq vocк nгo fechou os setes ?
pawn Код:
format(String, sizeof(String), CONTAS-TDM, Nome);
    dini_IntSet(String,"Dinheiro", GetPlayerMoney(playerid));
    dini_IntSet(String,"Time", ArrayDados[MAX_PLAYERS][pTime]);
    dini_IntSet(String,"Matou", ArrayDados[MAX_PLAYERS][pMatou]);
    dini_IntSet(String,"Morreu", ArrayDados[MAX_PLAYERS][pMorreu]);
Continua dando esse erro:

pawn Код:
C:\Users\Usuario\Desktop\Nova pasta\gamemodes\dialog.pwn(25) : error 032: array index out of bounds (variable "ArrayDados")
C:\Users\Usuario\Desktop\Nova pasta\gamemodes\dialog.pwn(26) : error 032: array index out of bounds (variable "ArrayDados")
C:\Users\Usuario\Desktop\Nova pasta\gamemodes\dialog.pwn(27) : error 032: array index out of bounds (variable "ArrayDados")
Pawn compiler 3.2.3664          Copyright (c) 1997-2006, ITB CompuPhase


3 Errors.
Reply
#7

Quote:
Originally Posted by 8235Danilo
Посмотреть сообщение
Continua dando esse erro:

pawn Код:
C:\Users\Usuario\Desktop\Nova pasta\gamemodes\dialog.pwn(25) : error 032: array index out of bounds (variable "ArrayDados")
C:\Users\Usuario\Desktop\Nova pasta\gamemodes\dialog.pwn(26) : error 032: array index out of bounds (variable "ArrayDados")
C:\Users\Usuario\Desktop\Nova pasta\gamemodes\dialog.pwn(27) : error 032: array index out of bounds (variable "ArrayDados")
Pawn compiler 3.2.3664          Copyright (c) 1997-2006, ITB CompuPhase


3 Errors.
Troca os MAX_PLAYERS por playerid, malz nem vi aquilo !
Reply
#8

Quote:
Originally Posted by mau.tito
Посмотреть сообщение
Troca os MAX_PLAYERS por playerid, malz nem vi aquilo !
deixei assim:

pawn Код:
new ArrayDados[playerid][pDados];

SalvarPlayer(playerid)
{
    new Nome[MAX_PLAYER_NAME];
    GetPlayerName(playerid, Nome, sizeof(Nome));
    new String[50];
    format(String, sizeof(String), CONTAS-TDM, Nome);
    dini_IntSet(String,"Dinheiro", GetPlayerMoney(playerid));
    dini_IntSet(String,"Time", ArrayDados[playerid][pTime]);
    dini_IntSet(String,"Matou", ArrayDados[playerid][pMatou]);
    dini_IntSet(String,"Morreu", ArrayDados[playerid][pMorreu]);
    return 1;
}
e da esse erro;

pawn Код:
C:\Users\Usuario\Desktop\Nova pasta\gamemodes\dialog.pwn(16) : error 017: undefined symbol "playerid"
Pawn compiler 3.2.3664          Copyright (c) 1997-2006, ITB CompuPhase


1 Error.
@EDIT

aaa, troquei
pawn Код:
new ArrayDados[MAX_PLAYERS][pDados];
por
pawn Код:
new ArrayDados[playerid][pDados];
por isso nao deu. vlw Mau.tito +rep
Reply
#9

Como esta var e globar para plyer , ele usa MAX_PLAYERS , mas quando se for usar em callback e playerid .
pawn Код:
new ArrayDados[MAX_PLAYERS][pDados];
Reply
#10

pawn Код:
SalvarPlayer(playerid)
{
    new Nome[MAX_PLAYER_NAME];
    GetPlayerName(playerid, Nome, sizeof(Nome));
    new String[50];
    format(String, sizeof(String), CONTAS-TDM, Nome);
    dini_IntSet(String,"Dinheiro", GetPlayerMoney(playerid));
    dini_IntSet(String,"Time", ArrayDados[playerid][pTime]);
    dini_IntSet(String,"Matou", ArrayDados[playerid][pMatou]);
    dini_IntSet(String,"Morreu", ArrayDados[playerid][pMorreu]);
    return 1;
}
-editado-

Nгo tinha atualizado a pбgina antes de postar...
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)