[duvida]Velocidade
#21

Ajuda-te a entender o "i" do IsPlayerInRangeOfPoint.

Sim ajuda mas й uma maneira ineficiente.
Reply
#22

Existe alguma funзao do tipo IsPlayerInAnyVehicle, mas so para o player que ta a guiar й que eu inspirei-me na funзгo do Drakon
pawn Код:
public OnPlayerUpdate(playerid)
{
    if(GetSpeedKM(playerid) >100)
    {
        new string[128];
        new sendername[MAX_PLAYER_NAME];
    GetPlayerName(playerid, sendername, sizeof(sendername));
        new suspect = GetClosestPlayer(playerid);
        if(PlayerInfo[suspect][pFaction] != 255 && DynamicFactions[PlayerInfo[suspect][pFaction]][fType] == 1)
        {
            if(GetDistanceBetweenPlayers(playerid, suspect) < 15)
            {
              if(IsPlayerInAnyVehicle(suspect))
              {
                    format(string, sizeof(string), "Acabou de passar por ti um carro que ultrapassou o limite de velocidade((Nome: %s ))", sendername);
                    SendClientMessage(suspect, COLOR_LSPD, string);
              }
            }
        }
    }
  return 1; // Send this update to other players.
}
mas da ganda spawm e se o player tiver no meu carro tb avisa
Reply
#23

Fiz agora lol e penso que a probabilidade de falhar й bem pouca.

Quote:

stock IsPlayerDriver(vehicleid)
{
for(new i = 0; i < GetMaxPlayers(); i++)
{
if(!IsPlayerConnected(i) && !IsPlayerNPC(i)) continue;
if(IsPlayerInVehicle(i, vehicleid) && GetPlayerState(i) == PLAYER_STATE_DRIVER && GetPlayerVehicleSeat(i) == 0) return 1;
}
return 0;
}

Edit:

pawn Код:
stock IsPlayerDriver(playerid)
{
    if(IsPlayerInAnyVehicle(playerid) && GetPlayerState(playerid) == PLAYER_STATE_DRIVER && GetPlayerVehicleSeat(playerid) == 0) return 1;
    return 0;
}

Edit 2:

Acho que vou tirar uma semana, sу estou a fazer porcaria. -.-'
Reply
#24

Desculpem o doble post, mas da para fazer, com que sу mande uma mensagem neste tipo de code?? da ganda spawm
pawn Код:
if(IsPlayerInAnyVehicle(playerid) == 1 && Seatbelt[playerid] == 0)
    {
      new string[128];
        new sendername[MAX_PLAYER_NAME];
    GetPlayerName(playerid, sendername, sizeof(sendername));
        new suspect = GetClosestPlayer(playerid);
        if(PlayerInfo[suspect][pFaction] != 255 && DynamicFactions[PlayerInfo[suspect][pFaction]][fType] == 1)
        {
            if(GetDistanceBetweenPlayers(playerid, suspect) < 15)
            {
              if(IsPlayerInAnyVehicle(suspect))
              {
                format(string, sizeof(string), "Acabou de passar por ti um carro com uma pessoa sem cinto((Nome: %s ))", sendername);
                    SendClientMessage(suspect, COLOR_LSPD, string);
              }
            }
        }
        return 1;
    }
    if(GetSpeedKM(playerid) >100)
    {
        new string[128];
        new sendername[MAX_PLAYER_NAME];
    GetPlayerName(playerid, sendername, sizeof(sendername));
        new suspect = GetClosestPlayer(playerid);
        if(PlayerInfo[suspect][pFaction] != 255 && DynamicFactions[PlayerInfo[suspect][pFaction]][fType] == 1)
        {
            if(GetDistanceBetweenPlayers(playerid, suspect) < 15)
            {
              if(IsPlayerInAnyVehicle(suspect))
              {
                if(IsPlayerDriver(suspect))
                {
                        format(string, sizeof(string), "Acabou de passar por ti um carro que ultrapassou o limite de velocidade((Nome: %s ))", sendername);
                        SendClientMessage(suspect, COLOR_LSPD, string);
                    }
              }
            }
        }
        return 1;
    }
Reply
#25

Nгo hб desculpa para um double post quando jб sabes as regras.
Reply
#26

Rusooooo, nгo deu tentei das duas formas
pawn Код:
if(GetSpeedKM(playerid) >100)
    {
        new string[128];
        new sendername[MAX_PLAYER_NAME];
    GetPlayerName(playerid, sendername, sizeof(sendername));
        new suspect = GetClosestPlayer(playerid);
        if(PlayerInfo[suspect][pFaction] != 255 && DynamicFactions[PlayerInfo[suspect][pFaction]][fType] == 1)
        {
            if(GetDistanceBetweenPlayers(playerid, suspect) < 15)
            {
              if(IsPlayerInAnyVehicle(playerid))
              {
                if(IsPlayerDriver(vehicle))
                {
                        format(string, sizeof(string), "Acabou de passar por ti um carro que ultrapassou o limite de velocidade((Nome: %s ))", sendername);
                        SendClientMessage(suspect, COLOR_LSPD, string);
                    }
              }
            }
        }
        return 1;
    }
Reply
#27

Quote:
Originally Posted by russooooo
Em bom portuguкs:

Um loop й uma acзгo continua/repetida que acontece (duh).

Neste caso os loops aqui no sa-mp que estamos acostumados a utilizar sгo para percorrer por exemplo todos os jogadores conectados ao servidor e fazer-lhes alguma coisa, como por exemplo dar dinheiro a todos os jogadores.

Ex:

pawn Код:
for(new i = 0; i < GetMaxPlayers(); i++) // Comeзamos um loop que percorra todos os slots do servidor (GetMaxPlayers й para indicar que o loop sу percorrerб os slots que o servidor tem).
{
    if(!IsPlayerConnected(i)) continue; // Aqui diz basicamente se o jogador nгo estб conectado para continuar.
    GivePlayerMoney(i, 5000); // Se o jogador estiver conectado receberб 5000$ (todos os jogadores). (Agora aqui o "i" tomou valor de todos os jogadores conectados).
}

Te amo =)

Coisa gay = FATO

Mas ae, tirou minhas duvidas a respeito de Loop, vlw
Reply
#28

Quote:
Originally Posted by tshadow
Rusooooo, nгo deu tentei das duas formas
pawn Код:
if(GetSpeedKM(playerid) >100)
    {
        new string[128];
        new sendername[MAX_PLAYER_NAME];
    GetPlayerName(playerid, sendername, sizeof(sendername));
        new suspect = GetClosestPlayer(playerid);
        if(PlayerInfo[suspect][pFaction] != 255 && DynamicFactions[PlayerInfo[suspect][pFaction]][fType] == 1)
        {
            if(GetDistanceBetweenPlayers(playerid, suspect) < 15)
            {
              if(IsPlayerInAnyVehicle(playerid))
              {
                if(IsPlayerDriver(vehicle))
                {
                        format(string, sizeof(string), "Acabou de passar por ti um carro que ultrapassou o limite de velocidade((Nome: %s ))", sendername);
                        SendClientMessage(suspect, COLOR_LSPD, string);
                    }
              }
            }
        }
        return 1;
    }
Reply
#29

A stock que eu fiz atй estб mal feita mas pqp tu ainda nгo sabes pegar naquilo e meter aн? Com copy/past nгo vais a lado nenhum por isso mete essa cabeзa a trabalhar.
Reply
#30

ok
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)