OnVehicleDamageStatusUpdate -
JoshNudock - 27.06.2015
Olб, eu estou com duvidas, tenho um codigo aqui, й usado em uma public do SA-MP, й o seguinte, caso a pessoa bate com um veiculo e nгo estiver com o cinto de seguranзa:
PHP код:
VerificarVelocidade(playerid); //Essa funзгo й chamada apenas quando o condutor ou passageiro esteja sem o cinto
Eu queria fazer com que essa funзгo seja valida para o motorista e passageiros, neste momento, estб apenas para motoristas, como eu faзo para o passageiro receber a mesma funзгo(Exemplo, a pessoa bate um veiculo, ae todos do veiculo recebe a funзгo)? muito complexo, passa alйm do SA-MP!..
PHP код:
public OnVehicleDamageStatusUpdate(vehicleid, playerid)
{
for (new i = 0; i < MAX_PLAYERS; i++)
{
if (IsPlayerInVehicle(i, vehicleid))
{
if (CintoPlayerid[i] == 0)
{
VerificarVelocidade(playerid);
}
else if (Capacetes[i] == 0 && IsAMotos(GetPlayerVehicleID(i)))
{
VerificarVelocidade(playerid);
}
}
}
}
Re: OnVehicleDamageStatusUpdate -
Gii - 27.06.2015
Nгo encontrei nada mais detalhado sobre o funcionamento desta callback, mas teoricamente ela teria de ser chamada para todos os jogadores que ocupam o veнculo.
Se fosse assim seria simples:
PHP код:
public OnVehicleDamageStatusUpdate(vehicleid, playerid) {
if ( CintoPlayerid[playerid] == 0 || ( Capacetes[playerid] == 0 && IsAMotos( GetPlayerVehicleID(playerid) ) ) )
VerificarVelocidade(playerid);
return 1;
}
Caso nгo seja como o esperado:
PHP код:
public OnVehicleDamageStatusUpdate(vehicleid, playerid) {
static i;
for ( i = GetPlayerPoolSize(); i >= 0; --i ) {
if ( IsPlayerConnected(i) && GetPlayerVehicleID(i) == vehicleid ) {
if ( CintoPlayerid[i] == 0 || ( Capacetes[i] == 0 && IsAMotos( GetPlayerVehicleID(i) ) ) )
VerificarVelocidade(i);
}
}
return 1;
}
Nгo sei ao certo se a funзгo GetPlayerVehicleID() funciona para passageiros, nгo hб nada documentado sobre isso tambйm.
Recomendo que vocк faзa um debug ao "getar" a velocidade do jogador, em alguns casos й possнvel que sua funзгo sу pegue a velocidade correta do motorista, retornando 0 para passageiros, o que comprometeria seu sistema.
#edit
Porque vocк sempre cria um tуpico na бrea portuguesa e na бrea inglesa?
Re: OnVehicleDamageStatusUpdate -
JoshNudock - 29.06.2015
Quote:
Originally Posted by Gii
Nгo encontrei nada mais detalhado sobre o funcionamento desta callback, mas teoricamente ela teria de ser chamada para todos os jogadores que ocupam o veнculo.
Se fosse assim seria simples:
PHP код:
public OnVehicleDamageStatusUpdate(vehicleid, playerid) {
if ( CintoPlayerid[playerid] == 0 || ( Capacetes[playerid] == 0 && IsAMotos( GetPlayerVehicleID(playerid) ) ) )
VerificarVelocidade(playerid);
return 1;
}
Caso nгo seja como o esperado:
PHP код:
public OnVehicleDamageStatusUpdate(vehicleid, playerid) {
static i;
for ( i = GetPlayerPoolSize(); i >= 0; --i ) {
if ( IsPlayerConnected(i) && GetPlayerVehicleID(i) == vehicleid ) {
if ( CintoPlayerid[i] == 0 || ( Capacetes[i] == 0 && IsAMotos( GetPlayerVehicleID(i) ) ) )
VerificarVelocidade(i);
}
}
return 1;
}
Nгo sei ao certo se a funзгo GetPlayerVehicleID() funciona para passageiros, nгo hб nada documentado sobre isso tambйm.
Recomendo que vocк faзa um debug ao "getar" a velocidade do jogador, em alguns casos й possнvel que sua funзгo sу pegue a velocidade correta do motorista, retornando 0 para passageiros, o que comprometeria seu sistema.
#edit
Porque vocк sempre cria um tуpico na бrea portuguesa e na бrea inglesa?
|
Nгo funcionou.. tentei aprimorar mais dб o mesmo erro... o cara sai do carro ao entrar no mesmo toda hora..