Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // includes
- #include <a_samp>
- #include <tdw_vmath> // tdw library component
- //defineS
- #define FILTERSCRIPT // speedometer by Ghecco (km/h)
- #undef MAX_PLAYERS
- #define MAX_PLAYERS (100) // !
- // variables
- new PlayerText:Speedometer[MAX_PLAYERS][2]; // Player's Speedometer Textdraw
- main(){}
- //main
- public OnFilterScriptInit()
- {
- print("Speedometer Loaded");
- if(!GetPlayerPoolSize()) return 1;
- else
- {
- for(new i; i < GetPlayerPoolSize(); i++)
- {
- CreateSpeedometer(i);
- }
- }
- return 1;
- }
- // Callbacks -
- public OnPlayerConnect(playerid)
- {
- CreateSpeedometer(playerid);
- return 1;
- }
- public OnPlayerDisconnect(playerid, reason)
- {
- PlayerTextDrawDestroy(playerid, Speedometer[playerid][0]);
- PlayerTextDrawDestroy(playerid, Speedometer[playerid][1]);
- return 1;
- }
- public OnPlayerUpdate(playerid) // Update player's speedometer
- {
- if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
- {
- new string[10], Float:speed = GetVehicleSpeed(GetPlayerVehicleID(playerid));
- format(string, sizeof(string), "%d", floatround(speed));
- PlayerTextDrawSetString(playerid, Speedometer[playerid][0], string);
- }
- return 1;
- }
- public OnPlayerStateChange(playerid, newstate, oldstate)
- {
- if(oldstate != PLAYER_STATE_DRIVER && newstate == PLAYER_STATE_DRIVER) ShowSpeedometer(playerid);
- else if(oldstate == PLAYER_STATE_DRIVER && newstate != PLAYER_STATE_DRIVER) HideSpeedometer(playerid);
- return 1;
- }
- // stocks
- stock ShowSpeedometer(playerid)
- {
- PlayerTextDrawSetString(playerid, Speedometer[playerid][0], "0");
- PlayerTextDrawShow(playerid, Speedometer[playerid][0]);
- PlayerTextDrawShow(playerid, Speedometer[playerid][1]);
- return 1;
- }
- stock HideSpeedometer(playerid)
- {
- PlayerTextDrawHide(playerid, Speedometer[playerid][0]);
- PlayerTextDrawHide(playerid, Speedometer[playerid][1]);
- return 1;
- }
- stock CreateSpeedometer(playerid)
- {
- Speedometer[playerid][0] = CreatePlayerTextDraw(playerid, 512.000000, 357.000000, "0");
- PlayerTextDrawFont(playerid, Speedometer[playerid][0], 3);
- PlayerTextDrawLetterSize(playerid, Speedometer[playerid][0], 0.600000, 2.000000);
- PlayerTextDrawTextSize(playerid, Speedometer[playerid][0], 400.000000, 17.000000);
- PlayerTextDrawSetOutline(playerid, Speedometer[playerid][0], 0);
- PlayerTextDrawSetShadow(playerid, Speedometer[playerid][0], 0);
- PlayerTextDrawAlignment(playerid, Speedometer[playerid][0], 1);
- PlayerTextDrawColor(playerid, Speedometer[playerid][0], -1);
- PlayerTextDrawBackgroundColor(playerid, Speedometer[playerid][0], 255);
- PlayerTextDrawBoxColor(playerid, Speedometer[playerid][0], 50);
- PlayerTextDrawUseBox(playerid, Speedometer[playerid][0], 0);
- PlayerTextDrawSetProportional(playerid, Speedometer[playerid][0], 1);
- PlayerTextDrawSetSelectable(playerid, Speedometer[playerid][0], 0);
- Speedometer[playerid][1] = CreatePlayerTextDraw(playerid, 549.000000, 357.000000, "Km/h");
- PlayerTextDrawFont(playerid, Speedometer[playerid][1], 3);
- PlayerTextDrawLetterSize(playerid, Speedometer[playerid][1], 0.600000, 2.000000);
- PlayerTextDrawTextSize(playerid, Speedometer[playerid][1], 400.000000, 17.000000);
- PlayerTextDrawSetOutline(playerid, Speedometer[playerid][1], 0);
- PlayerTextDrawSetShadow(playerid, Speedometer[playerid][1], 0);
- PlayerTextDrawAlignment(playerid, Speedometer[playerid][1], 1);
- PlayerTextDrawColor(playerid, Speedometer[playerid][1], -2016478511);
- PlayerTextDrawBackgroundColor(playerid, Speedometer[playerid][1], 255);
- PlayerTextDrawBoxColor(playerid, Speedometer[playerid][1], 50);
- PlayerTextDrawUseBox(playerid, Speedometer[playerid][1], 0);
- PlayerTextDrawSetProportional(playerid, Speedometer[playerid][1], 1);
- PlayerTextDrawSetSelectable(playerid, Speedometer[playerid][1], 0);
- return 1;
- }
Advertisement
Add Comment
Please, Sign In to add comment