Проблема со спидометром
#1

Здравствуйте решил сделать простой спидометр но столкнулся с такой проблемой при проверки.
После того когда 1 игрок садиться в машину ему высвечивается текстдрайв. Все вроде нормально
но после того когда садить второй игрок в машину и он видет скорость машины 1 игрока а сам игрок стоит на месте.

Сам код:

PHP код:
new TextSpeedometer;
new 
SpeedTimer[MAX_PLAYERS];
forward SpeedometerTime(playerid);
public 
OnPlayerStateChange(playeridnewstateoldstate)
{
    if(
newstate == PLAYER_STATE_DRIVER)
    {
            
TextDrawShowForPlayer(playeridSpeedometer);
            
SpeedTimer[playerid] = SetTimerEx("SpeedometerTime"100true"d"playerid);
    }
    if(
oldstate == PLAYER_STATE_DRIVER)
    {
        
TextDrawHideForPlayer(playeridSpeedometer);
        
KillTimer(SpeedTimer[playerid]);
    }
    return 
1;
}
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;// * 213.3; | 100.3
    
return floatround(ST[3]);
}
public 
SpeedometerTime(playerid)
{
    new 
string[100];
    
format(string,sizeof(string),"KM/H: %d"SpeedVehicle(playerid));
    
TextDrawSetString(Speedometerstring);
    return 
1;

Reply
#2

Тебе надо персональные TextDraw создавать.
Reply
#3

new Text: Speedometer[MAX_PLAYERS];
TextDrawBackgroundColor(Speedometer[playerid], 255);
Так сделать?
Reply
#4

Да но с поправкой на CreatePlayerTextDraw
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)