[Error] PlayerInfo
#1

Hola pueden solucionarme este problema, el motivo de este script es para que vea si el nombre del player es Federico Blanco haga una acciуn, aquн esta el enum de PlayerInfo y lo que he definido:

pawn Код:
enum pInfo
{
    pFedericoB
}

new
    PlayerInfo[ MAX_PLAYERS ][ pInfo ];
Y esto puse en OnPlayerConnect para que vea si su nombre es Federico Blanco, y le agrege un punto si lo es:

pawn Код:
if (!GetPlayerName(playerid, "Federico_Blanco", 32)) return SendClientMessage(playerid, -1,"No eres Federico, no podrбs acceder a su casa");
    PlayerInfo[playerid][pFedericoB] ++;
Y aquн el scripts de las puertas que eso ya lo tengo hecho, donde pongo el PlayerInfo:

pawn Код:
if (strcmp("/afede", cmdtext, true) == 0)
    {
        if (!IsPlayerConnected(playerid)) return SendClientMessage(playerid, -1, "Debes estar logeado!");
        if (PlayerInfo[playerid][pFedericoB] < 1) return SendClientMessage(playerid, -1, "No tienes el control remoto!");
        if (!IsPlayerInRangeOfPoint(playerid, 50, 664.90002441406, -1309.5999755859, 15.199999809265)) return SendClientMessage(playerid, -1, "CFedeScript: Debes estar cerca de la puerta");
        MoveObject(Pfede, 664.90002441406, -1309.5999755859, 9.6000003814697, 3.0);
        return SendClientMessage(playerid, 0x28F943FF, "Has abierto la puerta de la casa de Federico");
    }

    if (strcmp("/cfede", cmdtext, true) == 0)
    {
        if (!IsPlayerConnected(playerid)) return SendClientMessage(playerid, -1, "Debes estar logeado!");
        if (PlayerInfo[playerid][pFedericoB] < 1) return SendClientMessage(playerid, -1, "No tienes el control remoto!");
        if (!IsPlayerInRangeOfPoint(playerid, 50, 664.90002441406, -1309.5999755859, 15.199999809265)) return SendClientMessage(playerid, -1, "CFedeScript: Debes estar cerca de la puerta");
        MoveObject(Pfede, 664.90002441406, -1309.5999755859, 15.199999809265, 3.0);
        return SendClientMessage(playerid, 0xFF0000FF, "Has cerrado la puerta de la casa de Federico");
    }

    if (strcmp("/afede2", cmdtext, true) == 0)
    {
        if (!IsPlayerConnected(playerid)) return SendClientMessage(playerid, -1, "Debes estar logeado!");
        if (PlayerInfo[playerid][pFedericoB] < 1) return SendClientMessage(playerid, -1, "No tienes el control remoto!");
        if (!IsPlayerInRangeOfPoint(playerid, 50, 785.20001220703, -1152.4000244141, 25.299999237061)) return SendClientMessage(playerid, -1, "CFedeScript: Debes estar cerca de la puerta");
        MoveObject(Pfede2, 785.20001220703, -1152.4000244141, 19.700000762939, 3.0);
        return SendClientMessage(playerid, 0x28F943FF, "Has abierto la puerta de la casa de Federico");
    }

    if (strcmp("/cfede2", cmdtext, true) == 0)
    {
        if (!IsPlayerConnected(playerid)) return SendClientMessage(playerid, -1, "Debes estar logeado!");
        if (PlayerInfo[playerid][pFedericoB] < 1) return SendClientMessage(playerid, -1, "No tienes el control remoto!");
        if (!IsPlayerInRangeOfPoint(playerid, 50, 785.20001220703, -1152.4000244141, 25.299999237061)) return SendClientMessage(playerid, -1, "CFedeScript: Debes estar cerca de la puerta");
        MoveObject(Pfede2, 785.20001220703, -1152.4000244141, 25.299999237061, 3.0);
        return SendClientMessage(playerid, 0xFF0000FF, "Has cerrado la puerta de la casa de Federico");
    }

    if (strcmp("/afede3", cmdtext, true) == 0)
    {
        if (!IsPlayerConnected(playerid)) return SendClientMessage(playerid, -1, "Debes estar logeado!");
        if (PlayerInfo[playerid][pFedericoB] < 1) return SendClientMessage(playerid, -1, "No tienes el control remoto!");
        if (!IsPlayerInRangeOfPoint(playerid, 50, 660.099609375, -1227.5, 17.5)) return SendClientMessage(playerid, -1, "CFedeScript: Debes estar cerca de la puerta");
        MoveObject(Pfede3, 660.09997558594, -1227.5, 11.89999961853, 3.0);
        return SendClientMessage(playerid, 0x28F943FF, "Has abierto la puerta de la casa de Federico");
    }

    if (strcmp("/cfede3", cmdtext, true) == 0)
    {
        if (!IsPlayerConnected(playerid)) return SendClientMessage(playerid, -1, "Debes estar logeado!");
        if (PlayerInfo[playerid][pFedericoB] < 1) return SendClientMessage(playerid, -1, "No tienes el control remoto!");
        if (!IsPlayerInRangeOfPoint(playerid, 50, 660.099609375, -1227.5, 17.5)) return SendClientMessage(playerid, -1, "CFedeScript: Debes estar cerca de la puerta");
        MoveObject(Pfede3, 660.099609375, -1227.5, 17.5, 3.0);
        return SendClientMessage(playerid, 0xFF0000FF, "Has cerrado la puerta de la casa de Federico");
No me aparecen errores en el compile, pero cuando entro al servidor con otro nombre que no sea Federico Blanco me deja abrirla, yo quiero que solo Federico Blanco pueda, me pueden ayudar por favуr? gracias
Reply
#2

Lo que pasa es que para el compilador la variable pFedericoB es un integrer. Tъ lo tienes que definir como un nombre osea
pawn Код:
enum pInfo
{
    pFedericoB[MAX_PLAYER_NAME]
}

new
    PlayerInfo[ MAX_PLAYERS ][ pInfo ];
pawn Код:
if (!GetPlayerName(playerid, "Federico_Blanco", 32)) return SendClientMessage(playerid, -1,"No eres Federico, no podrбs acceder a su casa");
    PlayerInfo[playerid][pFedericoB] ++;
Esto lo veo innecesario. Ya que el GM no dejarб entrar a otro jugador que no sea federico. Osea le mandarб el error. Lo tendrнas que utilizar en el cmd de las casas. En fin.
Reply
#3

Quote:
Originally Posted by JustBored
Посмотреть сообщение
Lo que pasa es que para el compilador la variable pFedericoB es un integrer. Tъ lo tienes que definir como un nombre osea
pawn Код:
enum pInfo
{
    pFedericoB[MAX_PLAYER_NAME]
}

new
    PlayerInfo[ MAX_PLAYERS ][ pInfo ];
pawn Код:
if (!GetPlayerName(playerid, "Federico_Blanco", 32)) return SendClientMessage(playerid, -1,"No eres Federico, no podrбs acceder a su casa");
    PlayerInfo[playerid][pFedericoB] ++;
Esto lo veo innecesario. Ya que el GM no dejarб entrar a otro jugador que no sea federico. Osea le mandarб el error. Lo tendrнas que utilizar en el cmd de las casas. En fin.
EDITADO

Acabй de entrar con Federico_Blanco y no me deja, me dice que No tengo el control remoto, їpor quй es eso?
Reply
#4

pawn Код:
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, sizeof(name));
if(!strcmp(name, "Federico_Blanco", true))return SendClientMessage(playerid, -1,"No eres Federico, no podrбs acceder a su casa");
    PlayerInfo[playerid][pFedericoB] ++;
Reply
#5

En OnPlayerConnect
pawn Код:
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, sizeof(name));
if(!strcmp(name, "Federico_Blanco"))
    PlayerInfo[playerid][pFedericoB]  = 1;
y en OnPlayerDisconnect
pawn Код:
if(PlayerInfo[playerid][pFedericoB])  PlayerInfo[playerid][pFedericoB]  = 0;
Reply
#6

Quote:
Originally Posted by GROVE22
Посмотреть сообщение
pawn Код:
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, sizeof(name));
if(!strcmp(name, "Federico_Blanco", true))return SendClientMessage(playerid, -1,"No eres Federico, no podrбs acceder a su casa");
    PlayerInfo[playerid][pFedericoB] ++;
Sigue sin funcionarme, asн lo tengo en el comienzo:

pawn Код:
enum pInfo
{
    pFedericoB[MAX_PLAYER_NAME]
}

new
    PlayerInfo[ MAX_PLAYERS ][ pInfo ];
Y asн en OnPlayerConnect:

pawn Код:
new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid, name, sizeof(name));
    if(!strcmp(name, "Federico_Blanco", true))return SendClientMessage(playerid, -1,"No eres Federico, no podrбs acceder a su casa");
    PlayerInfo[playerid][pFedericoB] ++;
Sorry si hice alguna estupidez mundial es que soy nuevo en esto D:

EDIT:

Quote:
Originally Posted by Daniel-92
Посмотреть сообщение
En OnPlayerConnect
pawn Код:
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, sizeof(name));
if(!strcmp(name, "Federico_Blanco"))
    PlayerInfo[playerid][pFedericoB]  = 1;
y en OnPlayerDisconnect
pawn Код:
if(PlayerInfo[playerid][pFedericoB])  PlayerInfo[playerid][pFedericoB]  = 0;
Muchisimas gracias me funciono, cierren tema, .
Reply
#7

por si acaso dejaste el pInfo de esta forma.
pawn Код:
enum pInfo
{
    pFedericoB[MAX_PLAYER_NAME]
}
quitale el [MAX_PLAYER_NAME]
Reply
#8

Ok, me funcionу con [MAX_PLAYER_NAME] pero bueno, si tъ dices que debe estar sin eso ok xD, gracias.

EDIT: Rep+ para los dos por ayudar
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)