Как реализовать?
#1

PHP код:
stock SpeedVehicle(playerid)
{
    new 
Float:ST[4];
    if(
IsPlayerInAnyVehicle(playerid))
    
GetVehicleVelocity(GetPlayerVehicleID(playerid),ST[0],ST[1],ST[2]);
    else 
GetPlayerVelocity(playerid,ST[0],ST[1],ST[2]);
    
ST[3] = floatsqroot(floatpower(floatabs(ST[0]), 2.0) + floatpower(floatabs(ST[1]), 2.0) + floatpower(floatabs(ST[2]), 2.0)) * 100.3;
    return 
floatround(ST[3]);

Эта функция которая вычисляет скорость автомобиля.
Как можно реализовать. Примерно в OnPlayerUpdate

PHP код:
if(SpeedVehicle >= 50)
{

Вот примерно как сделать чтобы при скорости в отметке 50, скорость больше не повышалась, то есть типо ограничителя
Reply
#2

https://sampwiki.blast.hk/wiki/SetVehicleVelocity
Reply
#3

pawn Код:
stock GetVehicleSpeed(vehicleid)
{
    new Float:x, Float:y, Float:z;
    GetVehicleVelocity(vehicleid, x, y, z);
    return floatround(floatsqroot(x*x+y*y+z*z)*195);
}
stock setVehicleSpeed ( vehicleid, speed_mph )
{
  if ( speed_mph < 1 ) speed_mph = 1;

  new Float: v[3], cur_speed_mph;
  GetVehicleVelocity( vehicleid, v[0], v[1], v[2] );
  cur_speed_mph = floatround( 200.0 * floatsqroot( v[0]*v[0] + v[1]*v[1] + v[2]*v[2] ), floatround_floor );

  if ( cur_speed_mph <= 0 )
  {
    new Float: zAngle;
    GetVehicleZAngle( vehicleid, zAngle );

    new Float: newVelX = floatcos( (zAngle -= 270.0), degrees ) * speed_mph / 200.0;
    SetVehicleVelocity( vehicleid, newVelX, floattan(zAngle,degrees) * newVelX, 0.0 );

    return;
  }

  new Float: vMultiplier = float(speed_mph) / float(cur_speed_mph);
  SetVehicleVelocity( vehicleid, v[0] * vMultiplier, v[1] * vMultiplier, v[2] * vMultiplier );
}
а в OnPlayerUpdate:
pawn Код:
if(IsPlayerInAnyVehicle(playerid))
{
    new veh = GetPlayerVehicleID(playerid);
    if(GetVehicleSpeed(veh) > 50) SetVehicleSpeed(veh, 49);
}
как-то так
Reply
#4

есть же FS'ы ограничители скорости) гуглите)
Reply
#5

EvgeN 1137, спасибо вам! И всем спс что помогаете
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)