[Ajuda] Problema com variaveis.
#1

Galera, estou fazendo um GM de TDM em que existem os time Azul e Vermelho.

Eu criei o seguinte enum para armazenar os dados de cada player:

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

new ArrayDados[playerid][pDados];
e no comando /teste aparecera uma dialog:

pawn Код:
if (strcmp("/teste", cmdtext, true, 10) == 0)
    {
        new str[200] = "Teste 1\nTeste 2\nTeste 3";
        ShowPlayerDialog(playerid, DialogTimes, DIALOG_STYLE_LIST, "Times", str, "Azul", "Vermelho");
        return 1;
    }
e se o player escolher Azul vai mudar a variavel pTime para 1, se escolher Vermelho vai mudar pTime para 2.

pawn Код:
if(dialogid == DialogTimes)
    {
        if(response)
        {
            SendClientMessage(playerid, -1, "Seu time e Azul");
                ArrayDados[playerid][pTime] = 1;
            }
           else
           {
               SendClientMessage(playerid, -1, "Seu time e Vermelho");
               ArrayDados[playerid][pTime] = 2;
           }
    }
    return 1;
mas da esse erro:

pawn Код:
C:\Users\Usuario\Desktop\Nova pasta\gamemodes\dialog.pwn(122) : error 017: undefined symbol "ArrayDados"
C:\Users\Usuario\Desktop\Nova pasta\gamemodes\dialog.pwn(122) : warning 215: expression has no effect
C:\Users\Usuario\Desktop\Nova pasta\gamemodes\dialog.pwn(122) : error 001: expected token: ";", but found "]"
C:\Users\Usuario\Desktop\Nova pasta\gamemodes\dialog.pwn(122) : error 029: invalid expression, assumed zero
C:\Users\Usuario\Desktop\Nova pasta\gamemodes\dialog.pwn(122) : 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.

ta aqui o GM (ainda nao tem nada):

pawn Код:
#include <a_samp>

#define DialogTimes                                                              100

#if defined FILTERSCRIPT

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

new ArrayDados[playerid][pDados];

public OnFilterScriptInit()
{
    print("\n--------------------------------------");
    print(" Blank Filterscript by your name here");
    print("--------------------------------------\n");
    return 1;
}

public OnFilterScriptExit()
{
    return 1;
}

#else

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

#endif

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)
{
    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("/teste", cmdtext, true, 10) == 0)
    {
        new str[200] = "Teste 1\nTeste 2\nTeste 3";
        ShowPlayerDialog(playerid, DialogTimes, DIALOG_STYLE_LIST, "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

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

new ArrayDados[MAX_PLAYERS][pDados];
Reply
#3

Quote:
Originally Posted by Smith.
Посмотреть сообщение
pawn Код:
enum pDados
{
    pNome,
    pDinheiro,
    pTime,
    pAdmin,
    pMatou,
    pMorreu
};

new ArrayDados[MAX_PLAYERS][pDados];
ae da esse erro

pawn Код:
C:\Users\Usuario\Desktop\Nova pasta\gamemodes\dialog.pwn(122) : error 017: undefined symbol "ArrayDados"
C:\Users\Usuario\Desktop\Nova pasta\gamemodes\dialog.pwn(122) : warning 215: expression has no effect
C:\Users\Usuario\Desktop\Nova pasta\gamemodes\dialog.pwn(122) : error 001: expected token: ";", but found "]"
C:\Users\Usuario\Desktop\Nova pasta\gamemodes\dialog.pwn(122) : error 029: invalid expression, assumed zero
C:\Users\Usuario\Desktop\Nova pasta\gamemodes\dialog.pwn(122) : 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.
Reply
#4

Quote:
Originally Posted by Smith.
Посмотреть сообщение
pawn Код:
enum pDados
{
    pNome,
    pDinheiro,
    pTime,
    pAdmin,
    pMatou,
    pMorreu
};

new ArrayDados[MAX_PLAYERS][pDados];
ae da esse erro:

pawn Код:
C:\Users\Usuario\Desktop\Nova pasta\gamemodes\dialog.pwn(122) : error 017: undefined symbol "ArrayDados"
C:\Users\Usuario\Desktop\Nova pasta\gamemodes\dialog.pwn(122) : warning 215: expression has no effect
C:\Users\Usuario\Desktop\Nova pasta\gamemodes\dialog.pwn(122) : error 001: expected token: ";", but found "]"
C:\Users\Usuario\Desktop\Nova pasta\gamemodes\dialog.pwn(122) : error 029: invalid expression, assumed zero
C:\Users\Usuario\Desktop\Nova pasta\gamemodes\dialog.pwn(122) : 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.
Reply
#5

Tenta agora

pawn Код:
#include <a_samp>

#define DialogTimes                                                              100

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

new ArrayDados[MAX_PLAYERS][pDados];



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)
{
    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("/teste", cmdtext, true, 10) == 0)
    {
        new str[200] = "Teste 1\nTeste 2\nTeste 3";
        ShowPlayerDialog(playerid, DialogTimes, DIALOG_STYLE_LIST, "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
#6

ae, deu certo +rep
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)