Advertisement
Guest User

Kilometerzähler

a guest
Sep 29th, 2014
522
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 3.50 KB | None | 0 0
  1. /*==================================================================================================
  2. ====================================================================================================
  3. ============= VIELEN DANK, DASS SIE SICH DAS FILTERSCRIPT VON PILLE ENTSCHIEDEN HABEN. =============
  4. ====================================================================================================
  5. ====================== ICH WÜNSCHE VIEL SPAß MIT IHREM NEUEN KILOMETERZÄHLER. ======================
  6. ====================================================================================================
  7. =========== DAS LÖSCHEN DIESES TEXTES IST VERBOTEN UND FÜHRT ZU SCHLECHTEM GEWISSEN. ===============
  8. ====================================================================================================
  9. ====================================== V 2.0 =======================================================
  10. ====================================================================================================*/
  11.  
  12.  
  13. #include <a_samp>
  14.  
  15. new Float:distance[MAX_PLAYERS];
  16. new Float:Pos[MAX_PLAYERS][3];
  17. new meter[MAX_PLAYERS];
  18. new bool:IsInVehicle[MAX_PLAYERS];
  19. new PlayerText:Textdraw[MAX_PLAYERS];
  20.  
  21. public OnFilterScriptInit()
  22. {
  23.     print("\n----------------------------------");
  24.     print(" Kilometerzähler Copyright by Pille.");
  25.     print("----------------------------------\n");
  26.     SetTimer("Kilometertimer",200,true);
  27. }
  28.  
  29. public OnPlayerStateChange(playerid, newstate, oldstate)
  30. {
  31.     if(newstate==PLAYER_STATE_DRIVER)
  32.     {
  33.         new string[32];
  34.         format(string,sizeof(string),"%i,%i KM",floatround((float(meter[playerid])/10),floatround_floor),meter[playerid]%10);
  35.         PlayerTextDrawSetString(playerid,Textdraw[playerid],string);
  36.         PlayerTextDrawShow(playerid,Textdraw[playerid]);
  37.         GetPlayerPos(playerid,Pos[playerid][0],Pos[playerid][1],Pos[playerid][2]);
  38.         IsInVehicle[playerid]=true;
  39.     }
  40.     if(newstate==PLAYER_STATE_ONFOOT)
  41.     {
  42.         IsInVehicle[playerid]=false;
  43.         PlayerTextDrawHide(playerid,Textdraw[playerid]);
  44.     }
  45.     return 1;
  46. }
  47.  
  48. public OnPlayerDisconnect(playerid,reason)
  49. {
  50.     IsInVehicle[playerid]=false;
  51.     Pos[playerid][0]=0.0;
  52.     Pos[playerid][1]=0.0;
  53.     Pos[playerid][2]=0.0;
  54.     distance[playerid]=0.0;
  55.     return 1;
  56. }
  57.  
  58. public OnPlayerConnect(playerid)
  59. {
  60.     Textdraw[playerid]=CreatePlayerTextDraw(playerid,508.000000, 383.000000, "0,0 KM");
  61.     PlayerTextDrawBackgroundColor(playerid,Textdraw[playerid],255);
  62.     PlayerTextDrawFont(playerid,Textdraw[playerid],2);
  63.     PlayerTextDrawLetterSize(playerid,Textdraw[playerid],0.639999,2.399999);
  64.     PlayerTextDrawColor(playerid,Textdraw[playerid],16711935);
  65.     PlayerTextDrawSetOutline(playerid,Textdraw[playerid],1);
  66.     PlayerTextDrawSetProportional(playerid,Textdraw[playerid],1);
  67.     return 1;
  68. }
  69.  
  70. forward Kilometertimer();
  71. public Kilometertimer()
  72. {
  73.     new string[16];
  74.     new Float:tmpdistance;
  75.     new vehicleid;
  76.     for(new i=0;i<MAX_PLAYERS;i++)
  77.     {
  78.         if(IsInVehicle[i]==false) continue;
  79.         vehicleid=GetPlayerVehicleID(i);
  80.         tmpdistance=GetVehicleDistanceFromPoint(GetPlayerVehicleID(i),Pos[i][0],Pos[i][1],Pos[i][2]);
  81.         if(tmpdistance>100) continue; // Wenn jemand teleportiert wird, wird die Strecke nicht addiert.
  82.         distance[i]+=tmpdistance;
  83.         GetVehiclePos(vehicleid,Pos[i][0],Pos[i][1],Pos[i][2]);
  84.         if(distance[i]>100.0)
  85.         {
  86.             meter[i]++;
  87.             distance[i]-=100.0;
  88.             format(string,sizeof(string),"%i,%i KM",floatround((float(meter[i])/10),floatround_floor),meter[i]%10);
  89.             PlayerTextDrawSetString(i,Textdraw[i],string);
  90.         }
  91.     }
  92.     return 1;
  93. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement