[AJUDA] Limite
#1

Eu queria saber como eu fasso pra cada player ter o limite de criar 1 Barreira por vez, ele tem que digitar /rbr para poder criar a barreira novamente.

pawn Код:
CMD:br(playerid, params[])
{
    new stg[65];
    new Float:x, Float:y, Float:z, Float:a;
    if(Player[playerid][Membro] != 1  && Player[playerid][Membro] != 3 && Player[playerid][Membro] != 4) return SendClientMessage(playerid, COR_CINZA,"Vocк nгo й um oficial!");
    GetPlayerPos(playerid, x, y, z);
    GetPlayerFacingAngle(playerid, a);

    GetPlayerName(playerid,nome,MAX_PLAYER_NAME);
    Barreiras[playerid] = CreateObject(981, x, y, z, 0.0, 0.0, a, 90.0);
    SetPlayerPos(playerid, x+1, y+1, z);
   
    format(stg, sizeof(stg), "[CENTRAL] Uma barreira foi criada pelo %s", nome);
    SendMessageCops(PM_COR, stg);
    return 1;
}

CMD:rbr(playerid, params[])
{
    new stg[65];
    if(Player[playerid][Membro] != 1  && Player[playerid][Membro] != 3 && Player[playerid][Membro] != 4) return SendClientMessage(playerid, COR_CINZA,"Vocк nгo й um oficial!");
    DestroyObject(Barreiras[playerid]);
    GetPlayerName(playerid,nome,MAX_PLAYER_NAME);
    format(stg, sizeof(stg), "[CENTRAL] Uma barreira foi retirada pelo %s", nome);
    SendMessageCops(PM_COR, stg);
    return 1;
}
Reply
#2

faзa um new:

pawn Код:
new pBarreiras[MAX_PLAYERS];

em onplayerconnect:

pBarreiras[playerid] = 0;

em OnPlayerDisconnect:

    if(pBarreiras[playerid] != 0)
    {
        RemoveBarreiras(playerid);
    }
}

no comando:

if (pBarreiras[playerid] != 0) return SendClientMessage(playerid, COLOR_GREY, "Vocк sу pode criar 1 barreira por vez, /rbr - para remover sua barreira");

pBarreiras[playerid] = CreateObject(981, X, Y, Z, 0.0, 0.0, a, 90.0); no lugar de Barreiras[playerid] = CreateObject(981, x, y, z, 0.0, 0.0, a, 90.0);

no 2 comando:

        if (pBarreiras[playerid] != 0)
        {
            RemoveBarreiras(playerid);
            SendClientMessage(playerid, COLOR_GREY, "Vocк retirou a sua barreira!");
        }

public RemoveBarreiras(playerid)
{
    DestroyObject(pBarreiras[playerid]);
    pBarreiras[playerid] = 0;
}
Reply
#3

pawn Код:
//Topo do gm:
new bool:barreiraplayer[MAX_PLAYERS];

//OnPlayerConnect
barreiraplayer[playerid] = false;

//Comandos
CMD:br(playerid, params[]) {
    if (!barreiraplayer[playerid]) {
        new stg[65];
        barreiraplayer[playerid] = true;
        new Float: x,
        Float: y,
        Float: z,
        Float: a;
        if (Player[playerid][Membro] != 1 && Player[playerid][Membro] != 3 && Player[playerid][Membro] != 4) return SendClientMessage(playerid, COR_CINZA, "Vocк nгo й um oficial!");
        GetPlayerPos(playerid, x, y, z);
        GetPlayerFacingAngle(playerid, a);

        GetPlayerName(playerid, nome, MAX_PLAYER_NAME);
        Barreiras[playerid] = CreateObject(981, x, y, z, 0.0, 0.0, a, 90.0);
        SetPlayerPos(playerid, x + 1, y + 1, z);

        format(stg, sizeof(stg), "[CENTRAL] Uma barreira foi criada pelo %s", nome);
        SendMessageCops(PM_COR, stg);
    } else {
        SendClientMessage(playerid, -1, "Use /rbr para poder colocar outra barreira");
    }
    return 1;
}

CMD:rbr(playerid, params[]) {
    if (barreiraplayer[playerid]) {
        barreiraplayer[playerid] = false;
        new stg[65];
        if (Player[playerid][Membro] != 1 && Player[playerid][Membro] != 3 && Player[playerid][Membro] != 4) return SendClientMessage(playerid, COR_CINZA, "Vocк nгo й um oficial!");
        DestroyObject(Barreiras[playerid]);
        GetPlayerName(playerid, nome, MAX_PLAYER_NAME);
        format(stg, sizeof(stg), "[CENTRAL] Uma barreira foi retirada pelo %s", nome);
        SendMessageCops(PM_COR, stg);
    } else { SendClientMessage(playerid, -1, "Vocк nгo plantou nenhuma barreira!!!"); }
    return 1;
}
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)