[Ajuda] Driver-By
#1

Bom pessoal, to usando o FS de Driver-By abaixo, o problema й que quando o player й preso ele consegue usar qualquer comando normalmente, permitindo-o assim sair da prisгo .

pawn Код:
#include <a_samp>

new Nome[128],
    String[128];
new bool:Preso[128];
forward JogadorPreso(killerid);

public OnPlayerConnect(playerid)
{
    Preso[playerid] = true;
    return 1;
}

public OnPlayerDisconnect(playerid, reason)
{
    Preso[playerid] = true;
    return 1;
}

public OnPlayerDeath(playerid, killerid, reason)
{
    if(GetPlayerState(killerid) == PLAYER_STATE_DRIVER)
    {
        GetPlayerName(playerid, Nome, sizeof(Nome));
        format(String, sizeof(String), "[AVISO] %s cometeu Drive-By [PUNIDO COM: 1 Minuto na solitaria].");
        SendClientMessageToAll(0xFF0000AA, String);
        GivePlayerMoney(killerid, -3500);
        SetPlayerPos(killerid, 197.6661, 173.8179, 1003.0233);
        SetPlayerInterior(killerid, 3);
        SetTimerEx("JogadorPreso", 60000, 0, "i", killerid);
    }
    return 1;
}

public OnPlayerCommandText(playerid, cmdtext[])
{
    if (strcmp("/oimundo", cmdtext, true, 10) == 0)
    {
        if(Preso[playerid] == false)
        {
            SendClientMessage(playerid, -1, "Falha ao usar o comando. Motivo: Preso");
        }
        else
        {
            SendClientMessage(playerid, -1, "Oi Mundo!");
        }
        return 1;
    }
    return 0;
}

public JogadorPreso(killerid)
{
        new Nome[MAX_PLAYER_NAME];
    GetPlayerName(killerid, Nome, sizeof(Nome));
    SetPlayerInterior(killerid, 0);
    SpawnPlayer(killerid);
    Preso[killerid] = true;
    GameTextForPlayer(killerid, "~g~Liberado~n~   ~w~Pense no que fez", 6000, 1);
    return 1;
}
Reply
#2

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

new Nome[128],
    String[128];
new bool:Preso[128];
forward JogadorPreso(killerid);

public OnPlayerConnect(playerid)
{
    Preso[playerid] = true;
    return 1;
}

public OnPlayerDisconnect(playerid, reason)
{
    Preso[playerid] = true;
    return 1;
}

public OnPlayerDeath(playerid, killerid, reason)
{
    if(GetPlayerState(killerid) == PLAYER_STATE_DRIVER)
    {
        GetPlayerName(playerid, Nome, sizeof(Nome));
        format(String, sizeof(String), "[AVISO] %s cometeu Drive-By [PUNIDO COM: 1 Minuto na solitaria].");
        SendClientMessageToAll(0xFF0000AA, String);
        GivePlayerMoney(killerid, -3500);
        SetPlayerPos(killerid, 197.6661, 173.8179, 1003.0233);
        SetPlayerInterior(killerid, 3);
        SetTimerEx("JogadorPreso", 60000, 0, "i", killerid);
    }
    return 1;
}

public OnPlayerCommandText(playerid, cmdtext[])
{
    if (strcmp("/oimundo", cmdtext, true, 10) == 0)
    {
        if(Preso[playerid] == true)
        {
            SendClientMessage(playerid, -1, "Falha ao usar o comando. Motivo: Preso");
        }
        else
        {
            SendClientMessage(playerid, -1, "Oi Mundo!");
        }
        return 1;
    }
    return 0;
}

public JogadorPreso(killerid)
{
        new Nome[MAX_PLAYER_NAME];
    GetPlayerName(killerid, Nome, sizeof(Nome));
    SetPlayerInterior(killerid, 0);
    SpawnPlayer(killerid);
    Preso[killerid] = true;
    GameTextForPlayer(killerid, "~g~Liberado~n~   ~w~Pense no que fez", 6000, 1);
    return 1;
}
Reply
#3

Mesma coisa.
Reply
#4

Tente colocar este comando antes de todos os comandos:
pawn Код:
if(Preso[playerid] == true) return SendClientMessage(playerid, -1, "Vocк nгo pode digitar nenhum comando enquanto estiver preso!");
Ajudei? +rep
Reply
#5

Se vc nгo percebeu isso jб tem no comando, e estar acima.
Reply
#6

pawn Код:
public OnPlayerCommandText(playerid, cmdtext[])
{
    if(Preso[playerid] == 1) return SendClientMessage(playerid, -1, "Falha ao usar o comando. Motivo: Preso");
    return 0;
}
Reply
#7

Desculpa ai por tentar ajudar!

olha sua public:
pawn Код:
public OnPlayerCommandText(playerid, cmdtext[])
{
    if (strcmp("/oimundo", cmdtext, true, 10) == 0)
    {
        if(Preso[playerid] == false)
        {
            SendClientMessage(playerid, -1, "Falha ao usar o comando. Motivo: Preso");
        }
        else
        {
            SendClientMessage(playerid, -1, "Oi Mundo!");
        }
        return 1;
    }
    return 0;
}
Este й o primeiro comando
pawn Код:
if (strcmp("/oimundo", cmdtext, true, 10) == 0)
no meu GM eu estava com o mesmo problema e com o codigo parecido ao seu

bastou apenas eu colocar a if que te mandei no topo antes de qualquer comando que funcionou normalmente!

entao pensei se no meu funcionou creio que no dele ira funcionar tambem!

so tentei ajudar!
Reply
#8

vo sair agora, quando chegar eu testo.
Reply
#9

Quote:
Originally Posted by [LF]PlaYer
Посмотреть сообщение
pawn Код:
public OnPlayerCommandText(playerid, cmdtext[])
{
    if(Preso[playerid] == 1) return SendClientMessage(playerid, -1, "Falha ao usar o comando. Motivo: Preso");
    return 0;
}
Parecido com o meu, no entanto eu nao sabia que precisava da
pawn Код:
return 0;
Reply
#10

Quote:
Originally Posted by [LF]PlaYer
Посмотреть сообщение
pawn Код:
public OnPlayerCommandText(playerid, cmdtext[])
{
    if(Preso[playerid] == 1) return SendClientMessage(playerid, -1, "Falha ao usar o comando. Motivo: Preso");
    return 0;
}
pawn Код:
return 0;


Pela minha lуgica se retornar а o valor 0(false), irб dar warnning, entгo coloquei valor 1(true).

pawn Код:
return 1;
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)