Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #define FILTERSCRIPT
- #define TACHOTIMER 1000 // Definen die Zeit wie oft sich der TachoTimer wiederholt
- #include <a_samp>
- new Text:Tacho[MAX_PLAYERS]; // Variable für das TextDraw
- new Float:X1[MAX_PLAYERS],Float:Y1[MAX_PLAYERS],Float:Z1[MAX_PLAYERS]; //Unsere Floats zum errechnen der Geschwindigkeit
- new Float:X2[MAX_PLAYERS],Float:Y2[MAX_PLAYERS],Float:Z2[MAX_PLAYERS];
- new timer; //Unsere Variable für den Timer
- forward UpdateTacho(); // Forward für den Timer
- #if defined FILTERSCRIPT
- public OnFilterScriptInit()
- {
- print("\n--------------------------------------");
- print("Tacho by xKrUsE6x");
- print("--------------------------------------\n");
- for(new x = 0;x<MAX_PLAYERS;x++) // Gehen eine Forschleife durch, weil wir hier kein Playerid verwenden können
- {
- Tacho[x] = TextDrawCreate(357.000,340.000,"EGAL"); //Einstellungen für unser TextDraw
- TextDrawLetterSize(Tacho[x],0.4,1.1);
- TextDrawFont(Tacho[x],1);
- TextDrawSetShadow(Tacho[x],1);
- TextDrawSetOutline(Tacho[x],1);
- }
- timer = SetTimer("UpdateTacho",1000,true);//Timer zum Updaten des Tachos
- return 1;
- }
- public OnFilterScriptExit()
- {
- for(new i = 0;i<MAX_PLAYERS;i++)
- {
- TextDrawHideForPlayer(i,Tacho[i]);
- KillTimer(timer);
- }
- return 1;
- }
- #endif
- public UpdateTacho() //Tacho Public
- {
- for(new i = 0;i<MAX_PLAYERS;i++) //Forschleife
- {
- if(IsPlayerConnected(i) && GetPlayerState(i) == PLAYER_STATE_DRIVER && !IsPlayerNPC(i)) //Abfrgae ob Spieler in Car sitzt
- {
- new Float:Strecke,Float:Geschwindigkeit; //Neue Variablen
- GetVehiclePos(GetPlayerVehicleID(i),X1[i],Y1[i],Z1[i]); //Geben dem Auto die erste Position
- Strecke = floatsqroot(floatpower(floatabs(floatsub(X1[i],X2[i])),2)+floatpower(floatabs(floatsub(Y1[i],Y2[i])),2)+floatpower(floatabs(floatsub(Z1[i],Z2[i])),2));//Rechnen die Geschwindigkeit aus
- Geschwindigkeit = (Strecke / (TACHOTIMER /1000)) * 3.6; //Teilen das durch unseren TACHOTIMER define. Danach durch 1000 und dann mal 3,6. Damit es in Killometer ausgegeben wird.
- new string[60]; //definen unseren String
- format(string, 50,"Geschwindigkeit: %d km/h",floatround(Geschwindigkeit)); //Geben unseren TextDraw aus
- TextDrawSetString(Tacho[i],string); //Updaten unseren Tacho
- GetVehiclePos(GetPlayerVehicleID(i),X2[i],Y2[i],Z2[i]); //Geben dem Auto die zweite Position
- TextDrawShowForPlayer(i,Tacho[i]); //Zeigen unserem Player den Tacho
- }
- else //Wenn er kein Fahrer ist oder in keinem Auto sitzt oder er NPC ist, passiert folgendes
- {
- TextDrawHideForPlayer(i,Tacho[i]); //TextDraw wird nicht angezeigt
- }
- }
- return 1;
- }
Advertisement
Add Comment
Please, Sign In to add comment