#include #include #define MAX_SPEEDO_TEXTDRAWS 3 static PlayerText:VehicleSpeedo[MAX_PLAYERS][MAX_SPEEDO_TEXTDRAWS]; static PlayerBar:VehicleFuel[MAX_PLAYERS]; static bool:IsSpeedoShowing[MAX_PLAYERS]; timer SpeedTimer[50](playerid, vehicleid) { if(IsSpeedoShowing[playerid] && GetPlayerVehicleID(playerid) == vehicleid) { Speedo_Update(playerid, vehicleid); defer SpeedTimer(playerid, vehicleid); } } hook OnPlayerConnect(playerid) { Speedo_Create(playerid); } hook OnPlayerDisconnect(playerid, reason) { DestroyPlayerProgressBar(playerid, VehicleFuel[playerid]); } hook OnPlayerStateChange(playerid, newstate, oldstate) { if(newstate == PLAYER_STATE_DRIVER || newstate == PLAYER_STATE_PASSENGER) { new vehicleid = GetPlayerVehicleID(playerid); if(!IsSpeedoShowing[playerid] && IsEngineVehicle(vehicleid)) { Speedo_Show(playerid); defer SpeedTimer(playerid, vehicleid); } } else if(IsSpeedoShowing[playerid]) { Speedo_Hide(playerid); } } stock Speedo_Create(playerid) { IsSpeedoShowing[playerid] = false; // Fuel Text VehicleSpeedo[playerid][0] = CreatePlayerTextDraw(playerid, 549.000000, 80.000000, "FL"); PlayerTextDrawFont(playerid, VehicleSpeedo[playerid][0], 2); PlayerTextDrawLetterSize(playerid, VehicleSpeedo[playerid][0], 0.316664, 1.049996); PlayerTextDrawTextSize(playerid, VehicleSpeedo[playerid][0], 626.000000, 16.000000); PlayerTextDrawSetOutline(playerid, VehicleSpeedo[playerid][0], 1); PlayerTextDrawSetShadow(playerid, VehicleSpeedo[playerid][0], 0); PlayerTextDrawAlignment(playerid, VehicleSpeedo[playerid][0], 1); PlayerTextDrawColor(playerid, VehicleSpeedo[playerid][0], -2016478465); PlayerTextDrawBackgroundColor(playerid, VehicleSpeedo[playerid][0], 255); PlayerTextDrawBoxColor(playerid, VehicleSpeedo[playerid][0], 50); PlayerTextDrawUseBox(playerid, VehicleSpeedo[playerid][0], 0); PlayerTextDrawSetProportional(playerid, VehicleSpeedo[playerid][0], 1); PlayerTextDrawSetSelectable(playerid, VehicleSpeedo[playerid][0], 0); // Speedo Text VehicleSpeedo[playerid][1] = CreatePlayerTextDraw(playerid, 549.000000, 94.000000, "SD"); PlayerTextDrawFont(playerid, VehicleSpeedo[playerid][1], 2); PlayerTextDrawLetterSize(playerid, VehicleSpeedo[playerid][1], 0.316664, 1.049996); PlayerTextDrawTextSize(playerid, VehicleSpeedo[playerid][1], 626.000000, 16.000000); PlayerTextDrawSetOutline(playerid, VehicleSpeedo[playerid][1], 1); PlayerTextDrawSetShadow(playerid, VehicleSpeedo[playerid][1], 0); PlayerTextDrawAlignment(playerid, VehicleSpeedo[playerid][1], 1); PlayerTextDrawColor(playerid, VehicleSpeedo[playerid][1], -2016478465); PlayerTextDrawBackgroundColor(playerid, VehicleSpeedo[playerid][1], 255); PlayerTextDrawBoxColor(playerid, VehicleSpeedo[playerid][1], 50); PlayerTextDrawUseBox(playerid, VehicleSpeedo[playerid][1], 0); PlayerTextDrawSetProportional(playerid, VehicleSpeedo[playerid][1], 1); PlayerTextDrawSetSelectable(playerid, VehicleSpeedo[playerid][1], 0); // Speed VehicleSpeedo[playerid][2] = CreatePlayerTextDraw(playerid, 576.000000, 94.000000, "101MPH"); PlayerTextDrawFont(playerid, VehicleSpeedo[playerid][2], 2); PlayerTextDrawLetterSize(playerid, VehicleSpeedo[playerid][2], 0.262499, 1.049998); PlayerTextDrawTextSize(playerid, VehicleSpeedo[playerid][2], 626.000000, 16.000000); PlayerTextDrawSetOutline(playerid, VehicleSpeedo[playerid][2], 1); PlayerTextDrawSetShadow(playerid, VehicleSpeedo[playerid][2], 0); PlayerTextDrawAlignment(playerid, VehicleSpeedo[playerid][2], 1); PlayerTextDrawColor(playerid, VehicleSpeedo[playerid][2], -2016478465); PlayerTextDrawBackgroundColor(playerid, VehicleSpeedo[playerid][2], 255); PlayerTextDrawBoxColor(playerid, VehicleSpeedo[playerid][2], 50); PlayerTextDrawUseBox(playerid, VehicleSpeedo[playerid][2], 0); PlayerTextDrawSetProportional(playerid, VehicleSpeedo[playerid][2], 1); PlayerTextDrawSetSelectable(playerid, VehicleSpeedo[playerid][2], 0); // Fuel Bar VehicleFuel[playerid] = CreatePlayerProgressBar(playerid, 575.000000, 83.000000, 47.000000, 4.000000, -2016478465, 100.000000, 0); SetPlayerProgressBarValue(playerid, VehicleFuel[playerid], 50.000000); // DEFAULT VALUE } stock Speedo_Show(playerid) { for(new i; i < MAX_SPEEDO_TEXTDRAWS; i++) { PlayerTextDrawShow(playerid, VehicleSpeedo[playerid][i]); } ShowPlayerProgressBar(playerid, VehicleFuel[playerid]); IsSpeedoShowing[playerid] = true; } stock Speedo_Hide(playerid) { for(new i; i < MAX_SPEEDO_TEXTDRAWS; i++) { PlayerTextDrawHide(playerid, VehicleSpeedo[playerid][i]); } HidePlayerProgressBar(playerid, VehicleFuel[playerid]); IsSpeedoShowing[playerid] = false; } stock Speedo_Update(playerid, vehicleid) { new speed[10]; format(speed, sizeof(speed), "%.0fMPH", GetVehicleSpeed(vehicleid)); PlayerTextDrawSetString(playerid, VehicleSpeedo[playerid][2], speed); }