Limite de velocidade -
Pablo_Mantega - 18.01.2014
Tipo no percuso quando um Veiculo Bate-se 120km aparece-se um AVISO "VOCК PASSO LIMITE DESEJADO" й caso continua-se por 3 vezes teria que fazer o percurso denovo.
caso nгo queriam fazer so min explique quais funзхes eu teria que ter!
Darei +rep
Re: Limite de velocidade -
Gii - 18.01.2014
https://sampwiki.blast.hk/wiki/OnVehicleDamageStatusUpdate
https://sampwiki.blast.hk/wiki/GetVehicleVelocity
Re: Limite de velocidade -
Pablo_Mantega - 18.01.2014
o OnVehicleDamageStatusUpdate й sobre saъde de veнculos!
Re: Limite de velocidade -
Gii - 18.01.2014
Quote:
Originally Posted by Pablo_Mantega
o OnVehicleDamageStatusUpdate й sobre saъde de veнculos!
|
E quando um veнculo й danificado (bate) essa 'saъde' nгo diminui?
Re: Limite de velocidade -
standart - 18.01.2014
Vou dar uma sugestгo: ha maneiras mais fбceis de manter o player no limite, tipo se ele passar certo tempo no 120km/h, poderia "Sobreaquecer o motor do carro" e entгo baixar a damage do veнculo e assim faze-lo parar e esperar pra voltar ao normal.
Re: Limite de velocidade -
Pablo_Mantega - 18.01.2014
No GetVehicleVelocity como ponho um Limite Tipo 120 velocidade permitido, caso passe eu ponho um aviso.
Re: Limite de velocidade -
Bruno13 - 18.01.2014
Quote:
Originally Posted by Pablo_Mantega
No GetVehicleVelocity como ponho um Limite Tipo 120 velocidade permitido, caso passe eu ponho um aviso.
|
Variбvel para caso passar 3 vezes:
INНCIO DO GAMEMODE OU JUNTO A SUAS VARIБVEIS:
pawn Код:
new PassouLimite[MAX_PLAYERS];
Stock para sempre que quiser pegar a velocidade do player, use if(Velocidade(playerid) *Sinal* *Numero*)
FIM DO GAMEMODE:
pawn Код:
stock Velocidade(playerid)
{
new Float:Velocity[3], output[80];
GetVehicleVelocity(GetPlayerVehicleID(playerid), Velocity[0], Velocity[1], Velocity[2]);
return 1;
}
Caso seu Gamemode for GF, coloque em
OtherTimer:
pawn Код:
if(Velocidade(i) >= 120 && GetPlayerState(i) == PLAYER_STATE_DRIVER && /*Variavel aqui*/)//Aqui adicione tambйm a variбvel para ver se o player estб no teste, й sу colocar a variбvel depois do sinal '&&' que coloquei no final
{
if(PassouLimite(i) >= 3)
{
//Aqui suas funзхes para ele repitir o teste
SendClientMessage(playerid, -1, "Vocк rodou no teste, motivo: passou de 120KM 3 vezes");
PassouLimite(i) = 0;
return 1;
}
SendClientMessage(playerid, -1, "Vocк passou do limite excedido");
PassouLimite(i) += 1;
}
Agora caso nгo for GF, coloque no final do
GameMode:
pawn Код:
forward ChecarLimite();
public ChecarLimite()
{
for(new i=0; i<MAX_PLAYERS; i++)
{
if(Velocidade(i) >= 120 && GetPlayerState(i) == PLAYER_STATE_DRIVER && /*Variavel aqui*/)//Aqui adicione tambйm a variбvel para ver se o player estб no teste, й sу colocar a variбvel depois do sinal '&&' que coloquei no final
{
if(PassouLimite(i) >= 3)
{
//Aqui suas funзхes para ele repitir o teste
SendClientMessage(playerid, -1, "Vocк rodou no teste, motivo: passou de 120KM 3 vezes");
PassouLimite(i) = 0;
return 1;
}
SendClientMessage(playerid, -1, "Vocк passou do limite excedido");
PassouLimite(i) += 1;
}
}
}
E coloque tambйm, se nгo for GF, na callback(public)
OnGameModeInit:
pawn Код:
SetTimer("ChecarLimite",1000,1);//Esse time(1000) corresponde a 1 segundo, ou seja a cada 1 segundo vai ficar chegando, caso quiser pode mudar por um menor tempo, mas creio que 1 segundo й o suficiente...
OBS: Nгo compilei, mas pela lуgica ta certo...Abraзos
Re: Limite de velocidade -
DannielCooper - 18.01.2014
Quote:
Originally Posted by Bruno13
Variбvel para caso passar 3 vezes:
INНCIO DO GAMEMODE OU JUNTO A SUAS VARIБVEIS:
pawn Код:
new PassouLimite[MAX_PLAYERS];
Stock para sempre que quiser pegar a velocidade do player, use if(Velocidade(playerid) *Sinal* *Numero*)
FIM DO GAMEMODE:
pawn Код:
stock Velocidade(playerid) { new Float:Velocity[3], output[80]; GetVehicleVelocity(GetPlayerVehicleID(playerid), Velocity[0], Velocity[1], Velocity[2]); /*format(output, sizeof(output), "You are going at a velocity of X%f, Y%f, Z%f", Velocity[0], Velocity[1], Velocity[2]); SendClientMessage(playerid, 0xFFFFFFFF, output);*/ return 1; }
Caso seu Gamemode for GF, coloque em OtherTimer:
pawn Код:
if(Velocidade(i) >= 120 && GetPlayerState(i) == PLAYER_STATE_DRIVER && /*Variavel aqui*/)//Aqui adicione tambйm a variбvel para ver se o player estб no teste, й sу colocar a variбvel depois do sinal '&&' que coloquei no final { if(PassouLimite(i) >= 3) { //Aqui suas funзхes para ele repitir o teste SendClientMessage(playerid, -1, "Vocк rodou no teste, motivo: passou de 120KM 3 vezes"); PassouLimite(i) = 0; return 1; } SendClientMessage(playerid, -1, "Vocк passou do limite excedido"); PassouLimite(i) += 1; }
Agora caso nгo for GF, coloque no final do GameMode:
pawn Код:
forward ChecarLimite(); public ChecarLimite() { for(new i=0; i<MAX_PLAYERS; i++) { if(Velocidade(i) >= 120 && GetPlayerState(i) == PLAYER_STATE_DRIVER && /*Variavel aqui*/)//Aqui adicione tambйm a variбvel para ver se o player estб no teste, й sу colocar a variбvel depois do sinal '&&' que coloquei no final { if(PassouLimite(i) >= 3) { //Aqui suas funзхes para ele repitir o teste SendClientMessage(playerid, -1, "Vocк rodou no teste, motivo: passou de 120KM 3 vezes"); PassouLimite(i) = 0; return 1; } SendClientMessage(playerid, -1, "Vocк passou do limite excedido"); PassouLimite(i) += 1; } } }
E coloque tambйm, se nгo for GF, na callback(public) OnGameModeInit:
pawn Код:
SetTimer("ChecarLimite",1000,1);//Esse time(1000) corresponde a 1 segundo, ou seja a cada 1 segundo vai ficar chegando, caso quiser pode mudar por um menor tempo, mas creio que 1 segundo й o suficiente...
OBS: Nгo compilei, mas pela lуgica ta certo...Abraзos
|
Pra que isso tudo ? Cheiro de code copiado.
pawn Код:
new Float:Velocidade;
GetPlayerVelocity(playerid, Velocidade, sizeof(Velocidade));
if(Velocidade >= 120)
{
SendClientMessage(playerid, "vc ta em 120 km ou +");
// resto de seu code, й claro...
return 1;
}
Re: Limite de velocidade -
Pablo_Mantega - 18.01.2014
Quote:
Originally Posted by DannielCooper
Pra que isso tudo ? Cheiro de code copiado.
pawn Код:
new Float:Velocidade;
GetPlayerVelocity(playerid, Velocidade, sizeof(Velocidade));
if(Velocidade >= 120) { SendClientMessage(playerid, "vc ta em 120 km ou +"); // resto de seu code, й claro... return 1; }
|
carai cara vlw mesmo KKKKKKKKK
Re: Limite de velocidade -
Bruno13 - 18.01.2014
Quote:
Originally Posted by DannielCooper
Pra que isso tudo ? Cheiro de code copiado.
pawn Код:
new Float:Velocidade;
GetPlayerVelocity(playerid, Velocidade, sizeof(Velocidade));
if(Velocidade >= 120) { SendClientMessage(playerid, "vc ta em 120 km ou +"); // resto de seu code, й claro... return 1; }
|
Nгo nгo й copiado, fiz agora...Isso tudo porque primeiro, "Velocidade" pra nгo ter que definir em seu cуdigo toda vez "Velocidade" que quiser pegar a velocidade. E ele pediu para que caso passasse de 120KM 3 vezes tivesse de repetir o teste...
"Cheiro de code copiado" kakakakaka
@EDIT Preguiзa de ler o cуdigo й foda...fiz todo cуdigo pro cara, puta merda...