А использование INVALID_PLAYER_ID в данном случае нежелательно или на усмотрение каждого все же?
Вид для печати
в public OnPlayerConnect(playerid)PHP код:
if (speedometer_timer[playerid] != -1)
{
KillTimer(speedometer_timer[playerid]);
speedometer_timer[playerid] -1; //варнинг на эту строку (warning 215: expression has no effect - выражение не имеет эффекта)
}
PlayerTextDrawHide// тут скрываю ТД
if (speedometer_timer[playerid] == -1)
{
speedometer_timer[playerid] = SetTimerEx("Update_speedometer", 200, true, "i", playerid);
}
PlayerTextDrawShow// показываю ТД
forward Update_speedometer(playerid);
public Update_speedometer(playerid)
{
new fmt_str[11];
format(fmt_str, sizeof(fmt_str), "%d KM/H", SpeedVehicle(vehicle));
PlayerTextDrawSetString(playerid, TDKM[playerid], fmt_str);
PlayerTextDrawSetString(playerid, TDEngine[playerid], (zavodis[vehicle] == false ? ("~g~E") : ("E")));
PlayerTextDrawSetString(playerid, TDDoor[playerid], (gCarLock[vehicle] == false ? ("~g~U") : ("L")));
return 1;
}
в public OnPlayerDisconnect(playerid, reason)PHP код:
speedometer_timer[playerid] -1; //варнинг на эту строку (warning 215: expression has no effect - выражение не имеет эффекта)
- - - Добавлено - - -PHP код:
if (speedometer_timer[playerid] != -1)
{
KillTimer(speedometer_timer[playerid]);
speedometer_timer[playerid] -1; //варнинг на эту строку (warning 215: expression has no effect - выражение не имеет эффекта)
}
еще спидометр обновляется когда происходит какое то действие, вкл. выкл. двигатель, закрыл открыл машину. Скорость покажет и застынет на этой скорости пока не произойдёт действие
Зачем текстдравы в таймере обновлять, если все действия, которыми они управляются, подконтрольны серверу? Текстдрав двигателя обновляй в коде, ответственном за заводку двигателя, а текстдрав дверей в команде открытия/закрытия дверейЦитата:
PHP код:
PlayerTextDrawSetString(playerid, TDEngine[playerid], (zavodis[vehicle] == false ? ("~g~E") : ("E")));
PlayerTextDrawSetString(playerid, TDDoor[playerid], (gCarLock[vehicle] == false ? ("~g~U") : ("L")));