Advertisement
Guest User

Rafelder

a guest
Oct 3rd, 2008
908
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.71 KB | None | 0 0
  1. #include <a_samp>
  2. new Float:Xv[MAX_VEHICLES], Float:Yv[MAX_VEHICLES], Float:Zv[MAX_VEHICLES];
  3. new Meters[MAX_VEHICLES];
  4. forward KilometerTimer();
  5.  
  6. #define COLOR_COUNTER 0x00C0FFCC
  7. //------------------------------------------------------------------------------
  8. //=====FILTERSCRIPT=============================================================
  9. //------------------------------------------------------------------------------
  10. public OnFilterScriptInit()
  11. {
  12.     print("\n--------------------------------------");
  13.     print(" Kilometer-/Meilen Z�hler by Rafelder");
  14.     print("--------------------------------------\n");
  15.     SetTimer("KilometerTimer", 1000, 1);
  16.     for(new i=0; i<MAX_VEHICLES; i++) {
  17.         Meters[i]=0;
  18.         SaveCoords(i);
  19.     }
  20.     return 1;
  21. }
  22.  
  23. public KilometerTimer()
  24. {
  25.     new string[256];
  26.     for(new i=0; i<MAX_VEHICLES; i++) {
  27.         Meters[i]+=GetDistanceToLastPoint(i);
  28.         format(string, 256, "~n~~n~~n~~n~~n~~n~~n~~y~Kilometer: ~r~%03d~n~~y~Meilen: ~r~%03d", Meters[i]/1000, Meters[i]/1609);
  29.         GameTextForVehiclePlayers(i, string, 3000, 3);
  30.         SaveCoords(i);
  31.     }
  32.     return 1;
  33. }
  34.  
  35. public OnPlayerConnect(playerid)
  36. {
  37.     SendClientMessage(playerid, COLOR_COUNTER, "Dieser Gamemode benutzt \"Rafelder's Kilometer-/Meilen Z�hlscript\"");
  38.     SendClientMessage(playerid, COLOR_COUNTER, "Tippe \"/chelp\" um das Hilfemenu zu sehen.");
  39.     return 1;
  40. }
  41.  
  42. public OnPlayerCommandText(playerid, cmdtext[])
  43. {
  44.     if(!strcmp(cmdtext, "/chelp", true))
  45.     {
  46.     SendClientMessage(playerid, COLOR_COUNTER, "Dieser Gamemode benutzt \"Rafelder's Kilometer-/Meilen Z�hlscript\"");
  47.     SendClientMessage(playerid, COLOR_COUNTER, "1 Meile = 1.609 Kilometer  <=> 1 Kilometer = 0.621 Meile");
  48.     return 1;
  49.     }
  50.     return 0;
  51. }
  52.  
  53. public OnVehicleSpawn(vehicleid)
  54. {
  55.     SaveCoords(vehicleid);
  56.     Meters[vehicleid]=0;
  57.     return 1;
  58. }
  59. //------------------------------------------------------------------------------
  60. //=====STOCK====================================================================
  61. //------------------------------------------------------------------------------
  62. stock GameTextForVehiclePlayers(vehicleid, message[], time, style)
  63. {
  64.     for(new a=0; a<MAX_PLAYERS; a++)
  65.     if (IsPlayerInVehicle(a, vehicleid)) GameTextForPlayer(a, message, time, style);
  66.     return 1;
  67. }
  68.  
  69. stock GetDistanceToLastPoint(vehicleid)
  70. {
  71.     new Float:x2, Float:y2, Float:z2, Float:output;
  72.     GetVehiclePos(vehicleid, x2, y2, z2);
  73.     output = floatsqroot(floatpower(floatabs(floatsub(x2, Xv[vehicleid])), 2)+floatpower(floatabs(floatsub(y2, Yv[vehicleid])), 2)+floatpower(floatabs(floatsub(z2, Zv[vehicleid])), 2));
  74.     return floatround(output);
  75. }
  76.  
  77. stock SaveCoords(vehicleid)
  78. {
  79.     new Float:X, Float:Y, Float:Z;
  80.     GetVehiclePos(vehicleid, X, Y, Z);
  81.     Xv[vehicleid]=X;
  82.     Yv[vehicleid]=Y;
  83.     Zv[vehicleid]=Z;
  84. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement