Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <a_samp>
- #define COLOR_YELLOW 0xFFFF00AA
- #define COLOR_WHITE 0xFFFFFFFF
- #define COLOR_GREY 0xAFAFAFFF
- new VehRadarID [MAX_VEHICLES];
- new Text: RadarHud[MAX_PLAYERS];
- new Text: DashCamText;
- new Text: VehicleModel[MAX_PLAYERS];
- //
- new CheckingSpeed [MAX_VEHICLES];
- new OldVehID [MAX_PLAYERS];
- forward UpdateSpeed (vehid);
- forward CheckValidTextDraws();
- new VehicleModelNames[212][] ={
- "Landstalker", "Bravura", "Buffalo", "Linerunner", "Perrenial","Sentinel", "Dumper", "Firetruck", "Trashmaster", "Stretch", "Manana",
- "Infernus", "Voodoo", "Pony", "Mule", "Cheetah", "Ambulance","Leviathan", "Moonbeam", "Esperanto", "Taxi",
- "Washington", "Bobcat","Whoopee", "BF Injection", "Hunter", "Premier","Enforcer", "Securicar", "Banshee",
- "Predator", "Bus", "Rhino", "Barracks", "Hotknife","Trailer 1", "Previon", "Coach", "Cabbie", "Stallion",
- "Rumpo", "RC Bandit", "Romero", "Packer","Monster", "Admiral", "Squalo","Seasparrow", "Pizzaboy", "Tram", "Trailer 2",
- "Turismo", "Speeder", "Reefer", "Tropic","Flatbed", "Yankee", "Caddy", "Solair","Berkley's RC Van", "Skimmer", "PCJ-600", "Faggio",
- "Freeway", "RC Baron", "RC Raider","Glendale", "Oceanic", "Sanchez", "Sparrow","Patriot", "Quad", "Coastguard", "Dinghy", "Hermes",
- "Sabre", "Rustler", "ZR-350","Walton", "Regina", "Comet", "BMX", "Burrito","Camper", "Marquis", "Baggage", "Dozer", "Maverick",
- "News Chopper", "Rancher","FBI Rancher", "Virgo", "Greenwood", "Jetmax", "Hotring","Sandking", "Blista Compact", "Police Maverick",
- "Boxvillde", "Benson","Mesa", "RC Goblin", "Hotring Racer A", "Hotring Racer B","Bloodring Banger", "Rancher", "Super GT", "Elegant",
- "Journey", "Bike", "Mountain Bike", "Beagle", "Cropduster","Stunt", "Tanker", "Roadtrain", "Nebula", "Majestic", "Buccaneer",
- "Shamal", "Hydra","FCR-900", "NRG-500", "HPV1000", "Cement Truck", "Tow Truck", "Fortune","Cadrona", "FBI Truck", "Willard",
- "Forklift", "Tractor", "Combine","Feltzer", "Remington", "Slamvan", "Blade", "Freight","Streak","Vortex", "Vincent", "Bullet",
- "Clover", "Sadler", "Firetruck LA","Hustler", "Intruder", "Primo", "Cargobob", "Tampa","Sunrise", "Merit","Utility", "Nevada",
- "Yosemite", "Windsor", "Monster A", "Monster B", "Uranus", "Jester", "Sultan","Stratum", "Elegy", "Raindance","RC Tiger",
- "Flash", "Tahoma", "Savanna", "Bandito","Freight Flat", "Streak Carriage", "Kart","Mower", "Dune", "Sweeper", "Broadway",
- "Tornado", "AT-400", "DFT-30", "Huntley", "Stafford","BF-400", "News Van", "Tug", "Trailer 3", "Emperor","Wayfarer", "Euros",
- "Hotdog","Club", "Freight Carriage", "Trailer 4","Andromada", "Dodo", "RC Cam", "Launch", "Police Car (LSPD)","Police Car (SFPD)",
- "Police Car (LVPD)", "Police Ranger", "Picador", "S.W.A.T", "Alpha","Phoenix", "Glendale", "Sadler", "Luggage Trailer A",
- "Luggage Trailer B", "Stairs", "Boxville", "Tiller", "Utility Trailer" };
- public OnFilterScriptInit ()
- {
- printf (" \nCruiser speed radar made by Srdjan loaded.\n");
- SetTimer("Speedometer", 100, true);
- SetTimer ("CheckValidTextDraws", 1000, 1);
- //ffffffff
- for(new playerid;playerid<MAX_PLAYERS;playerid++)
- {
- VehRadarID [playerid] = -1;
- CheckingSpeed [playerid] = 0;
- }
- DashCamText = CreatePlayerTextDraw(playerid, 326.000000, 306.000000, "LSPD Dash Cam");
- PlayerTextDrawAlignment(playerid, DashCamText, 2);
- PlayerTextDrawBackgroundColor(playerid, DashCamText, 16909584);
- PlayerTextDrawFont(playerid, DashCamText, 1);
- PlayerTextDrawLetterSize(playerid, DashCamText, 0.500000, 1.000000);
- PlayerTextDrawColor(playerid, DashCamText, -1);
- PlayerTextDrawSetOutline(playerid, DashCamText, 1);
- PlayerTextDrawSetProportional(playerid, DashCamText, 1);
- PlayerTextDrawSetSelectable(playerid, DashCamText, 0);
- return 1;
- }
- public OnPlayerConnect(playerid)
- {
- RadarHud[playerid] = CreatePlayerTextDraw(playerid, 418.000000, 260.000000, "Speed:");
- PlayerTextDrawBackgroundColor(playerid, RadarHud[playerid], 255);
- PlayerTextDrawFont(playerid, RadarHud[playerid], 2);
- PlayerTextDrawLetterSize(playerid, RadarHud[playerid], 0.500000, 1.000000);
- PlayerTextDrawColor(playerid, RadarHud[playerid], -1);
- PlayerTextDrawSetOutline(playerid, RadarHud[playerid], 1);
- PlayerTextDrawSetProportional(playerid, RadarHud[playerid], 1);
- PlayerTextDrawSetSelectable(playerid, RadarHud[playerid], 0);
- VehicleModel[playerid] = CreatePlayerTextDraw(playerid, 96.000000, 260.000000, "Car Model:");
- PlayerTextDrawBackgroundColor(playerid, VehicleModel[playerid], 255);
- PlayerTextDrawFont(playerid, VehicleModel[playerid], 2);
- PlayerTextDrawLetterSize(playerid, VehicleModel[playerid], 0.500000, 1.000000);
- PlayerTextDrawColor(playerid, VehicleModel[playerid], -1);
- PlayerTextDrawSetOutline(playerid, VehicleModel[playerid], 1);
- PlayerTextDrawSetProportional(playerid, VehicleModel[playerid], 1);
- PlayerTextDrawSetSelectable(playerid, VehicleModel[playerid], 0);
- return 1;
- }
- public OnPlayerCommandText (playerid, cmdtext[])
- {
- if (!strcmp (cmdtext, "/placeradar"))
- {
- if (IsPlayerInAnyVehicle (playerid))
- if(IsCopSkin(playerid))
- {
- new vehid = GetPlayerVehicleID (playerid);
- if (VehRadarID [vehid] > -1) return 1;
- new Float: x, Float: y, Float: z, Float: a;
- GetVehiclePos (vehid, x, y, z);
- GetVehicleZAngle (vehid, a);
- SendClientMessage (playerid, COLOR_WHITE, "Radar Placed.");
- VehRadarID [vehid] = CreateObject (367, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 300.0);
- AttachObjectToVehicle (VehRadarID [vehid], vehid, 0.2, 0.50, 0.3, 0.0, 0.0, 90.0);
- {
- if (IsPlayerInVehicle (playerid, vehid))
- {
- TextDrawShowForPlayer(playerid,RadarHud[playerid]);
- TextDrawShowForPlayer(playerid,DashCamText);
- TextDrawShowForPlayer(playerid,VehicleModel[playerid]);
- }
- }
- }
- return 1;
- }
- if (!strcmp (cmdtext, "/removeradar"))
- {
- if (IsPlayerInAnyVehicle (playerid))
- if(IsCopSkin(playerid))
- {
- new vehid = GetPlayerVehicleID (playerid);
- if (VehRadarID [vehid] == -1) return 1;
- DestroyObject (VehRadarID [vehid]);
- SendClientMessage (playerid, COLOR_YELLOW, "Radar has been removed successfully.");
- VehRadarID [vehid] = -1;
- KillTimer (CheckingSpeed [vehid]);
- CheckingSpeed [vehid] = -1;
- {
- if (IsPlayerInVehicle (playerid, vehid))
- {
- TextDrawHideForPlayer(playerid, RadarHud[playerid]);
- TextDrawHideForPlayer(playerid, DashCamText);
- TextDrawHideForPlayer(playerid, VehicleModel[playerid]);
- }
- }
- }
- return 1;
- }
- if (!strcmp (cmdtext, "/checkspeed"))
- {
- if (IsPlayerInAnyVehicle (playerid))
- if(IsCopSkin(playerid))
- {
- new vehid = GetPlayerVehicleID (playerid);
- if (VehRadarID [vehid] == -1) return 1;
- CheckingSpeed [vehid] = SetTimerEx ("UpdateSpeed", 100, 1, "d", vehid);
- }
- return 1;
- }
- if (!strcmp (cmdtext, "/stopchecking"))
- if(IsCopSkin(playerid))
- {
- if (IsPlayerInAnyVehicle (playerid))
- {
- new vehid = GetPlayerVehicleID (playerid);
- if (CheckingSpeed [vehid] > 0)
- {
- KillTimer (CheckingSpeed [vehid]);
- CheckingSpeed [vehid] = -1;
- }
- {
- if (IsPlayerInVehicle (playerid, vehid))
- {
- TextDrawHideForPlayer(playerid, RadarHud[playerid]);
- TextDrawHideForPlayer(playerid, DashCamText);
- TextDrawHideForPlayer(playerid, VehicleModel[playerid]);
- }
- }
- }
- return 1;
- }
- return 0;
- }
- GetVehicleInfrontID (vehid)
- {
- new Float: temp = 7.0;
- new j = 0;
- for (new i = 1; i <= MAX_VEHICLES; i++)
- {
- new Float: a, Float: x1, Float: y1, Float: z1, Float: x2, Float: y2, Float: z2;
- GetVehiclePos (vehid, x1, y1, z1);
- GetVehicleZAngle (vehid, a);
- if (i != vehid)
- {
- if (GetVehiclePos (i, x2, y2, z2))
- {
- new Float: distance = floatsqroot (floatpower ((x1 - x2), 2) + floatpower ((y1 - y2), 2) + floatpower ((z1 - z2), 2));
- GetVehicleZAngle (vehid, a);
- if (distance < 300.0)
- {
- x1 = x1 + (distance * floatsin(-a, degrees));
- y1 = y1 + (distance * floatcos(-a, degrees));
- distance = floatsqroot ((floatpower ((x1 - x2), 2)) + (floatpower ((y1 - y2), 2)));
- if (temp > distance)
- {
- temp = distance;
- j = i;
- }
- }
- }
- }
- }
- if (temp < 7.0) return j;
- return -1;
- }
- public UpdateSpeed (vehid)
- {
- new id = GetVehicleInfrontID (vehid);
- if (id < 0)
- {
- for(new playerid;playerid<MAX_PLAYERS;playerid++)
- {
- PlayerTextDrawSetString (playerid,RadarHud[playerid], "Speed:-");
- PlayerTextDrawSetString (playerid,VehicleModel[playerid],"Car Model:-");
- }
- }
- else
- {
- new str[32], Float: velocityX, Float: velocityY, Float: velocityZ;
- GetVehicleVelocity (id, velocityX, velocityY, velocityZ);
- new speed = floatround (floatsqroot (floatpower (velocityX, 2) + floatpower (velocityY, 2) + floatpower (velocityZ, 2)) *200 , floatround_round);
- for(new playerid;playerid<MAX_PLAYERS;playerid++)
- {
- format (str, sizeof (str), "Speed: %d", speed);
- PlayerTextDrawSetString (playerid,RadarHud[playerid], str);
- format (str, sizeof (str), "Car Model: %s", VehicleModelNames[GetVehicleModel[playerid] (id) - 400]);
- PlayerTextDrawSetString (playerid,VehicleModel[playerid], str);
- }
- }
- for(new playerid;playerid<MAX_PLAYERS;playerid++)
- {
- if (IsPlayerInVehicle (playerid, vehid))
- {
- TextDrawShowForPlayer(playerid, RadarHud[playerid]);
- TextDrawShowForPlayer(playerid, DashCamText);
- TextDrawShowForPlayer(playerid, VehicleModel[playerid]);
- }
- }
- return 1;
- }
- public CheckValidTextDraws()
- {
- for(new playerid;playerid<MAX_PLAYERS;playerid++)
- {
- if (IsPlayerConnected (playerid))
- {
- if (IsPlayerInAnyVehicle (playerid))
- {
- new vehid = GetPlayerVehicleID (playerid);
- if (VehRadarID [vehid] > -1)
- {
- TextDrawShowForPlayer(playerid, RadarHud[playerid]);
- TextDrawShowForPlayer(playerid, DashCamText);
- if (CheckingSpeed [vehid] > 0)
- {
- TextDrawShowForPlayer(playerid, VehicleModel[playerid]);
- }
- else
- {
- TextDrawShowForPlayer(playerid, VehicleModel[playerid]);
- }
- }
- else
- {
- TextDrawShowForPlayer(playerid, RadarHud[playerid]);
- TextDrawShowForPlayer(playerid, DashCamText);
- }
- }
- else
- {
- TextDrawShowForPlayer(playerid, RadarHud[playerid]);
- TextDrawShowForPlayer(playerid, VehicleModel[playerid]);
- TextDrawShowForPlayer(playerid, DashCamText);
- OldVehID [playerid] = 0;
- }
- }
- }
- return 1;
- }
- public OnPlayerStateChange (playerid, newstate, oldstate)
- {
- if ((oldstate == PLAYER_STATE_ONFOOT) && (newstate == PLAYER_STATE_PASSENGER || newstate == PLAYER_STATE_DRIVER))
- {
- OldVehID [playerid] = GetPlayerVehicleID (playerid);
- }
- return 1;
- }
- public OnVehicleDeath (vehicleid)
- {
- DestroyObject (VehRadarID [vehicleid]);
- VehRadarID [vehicleid] = -1;
- KillTimer (CheckingSpeed [vehicleid]);
- CheckingSpeed [vehicleid] = -1;
- for(new playerid;playerid<MAX_PLAYERS;playerid++)
- {
- if (IsPlayerInVehicle (playerid, vehicleid))
- {
- TextDrawShowForPlayer(playerid, RadarHud[playerid][playerid]);
- TextDrawShowForPlayer(playerid, DashCamText);
- TextDrawShowForPlayer(playerid, VehicleModel[playerid]);
- }
- }
- }
- forward IsCopSkin(playerid);
- public IsCopSkin(playerid)
- {
- switch(GetPlayerSkin(playerid))
- {
- case 280, 281, 282, 283, 284, 285, 286, 287, 288, 265, 266, 267: return 1;
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement