[Ajuda] Simples Problema
#1

Entгo, estou com um simples problema aqui, porem nгo consigo arrumar o mesmo.

Estou colocando este cуdigo aqui no meu GM:

pawn Код:
if(GetPlayerVehicleID(playerid) == 1 && GetPlayerScore(playerid) < 5) return SendClientMessage(playerid, -1, "{555555}[ERRO] Vocк precisa ter score +5 para ter acesso aos veнculos!");
    {
    RemovePlayerFromVehicle(playerid);
    }
E neste modo, o mesmo consegue dirigir mesmo estando com score abaixo de 5.

Tentei deste modo:

pawn Код:
if(GetPlayerVehicleID(playerid) == 1 && GetPlayerScore(playerid) <= 5) return SendClientMessage(playerid, -1, "{555555}[ERRO] Vocк precisa ter score +5 para ter acesso aos veнculos!");
    {
    RemovePlayerFromVehicle(playerid);
    }
E no caso deste, o mesmo causa flood na mensagem do erro e os jogadores continuam a poder dirigir sem obter score +5.

Da uma forзa ai? rs.
Reply
#2

@EDIT:

pawn Код:
public OnPlayerStateChange(playerid, newstate, oldstate)
{
    if(oldstate == PLAYER_STATE_ONFOOT && newstate == PLAYER_STATE_DRIVER && GetPlayerScore(playerid) < 5) //Jogador a pй muda para condutor de veiculo
    {
        RemovePlayerFromVehicle(playerid);
    }
    return 1;
}
Reply
#3

1 - Coloca o return depois do RemovePlayerFromVehicle
2 - Vocк colocou isso em qual public?

Quote:
Originally Posted by Douglas_prt
Посмотреть сообщение
pawn Код:
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
    if(GetPlayerScore(playerid) < 5) return RemovePlayerFromVehicle(playerid), SendClientMessage(playerid, -1, "{555555}[ERRO] Vocк precisa ter score +5 para ter acesso aos veнculos!");
    return 1;
}
Isso nгo vai funcionar.
Reply
#4

De acordo com o WIKI SA-MP, eu coloquei em OnPlayerUpdate.
Reply
#5

tenta assim:

pawn Код:
public OnPlayerStateChange(playerid, newstate, oldstate)
{
    if(oldstate == PLAYER_STATE_ONFOOT && newstate == PLAYER_STATE_DRIVER && GetPlayerScore(playerid) < 5)
    {
        RemovePlayerFromVehicle(playerid);
    }
    return 1;
}
Reply
#6

Para bloquear a entrada de jogadores a veнculo vocк pode :

1 - Usar GetPlayerPos + SetPlayerPos na public OnPlayerEnterVehicle

2 - Usar RemovePlayerFromVehicle na public OnPlayerStateChange
Reply
#7

Obrigado a todos pela ajuda.
O cуdigo do BlackDonelly deu certo.

Ai coloquei o return junto do RemovePlayerFromVehicle:

pawn Код:
if(oldstate == PLAYER_STATE_ONFOOT && newstate == PLAYER_STATE_DRIVER && GetPlayerScore(playerid) < 5)
    {
    RemovePlayerFromVehicle(playerid); return SendClientMessage(playerid, -1, "{555555}[ERRO] Vocк precisa ter score +5 para ter acesso aos veнculos!");
    }
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)