SHARE
TWEET

Untitled

a guest Apr 17th, 2010 2,017 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  2. // Credits:
  3. // Script erstellt von Stas
  4. // Offizieller Scripter der Xtreme - RolePlay - Community
  5. // www.xtreme-roleplay.eu
  6. ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  7. // Einstellungen
  8. ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  9. #define MAX_NAGELBAENDER 15 // Maximale Anzahl von Nagelbaendern
  10. #define MAX_STRASSENSPERREN 15 // Maximale Anzahl von Strassensperren
  11. #define NAGELBAND_TIMER_INTERVALL 500 // Intervall für das Vergleichen der SpielerPosition und der Nagelband~(in Milliesekunden)
  12. ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  13. // globale Variablen
  14. ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  15. enum eNagelBand {
  16.         ID, Float:NagelBandX, Float:NagelBandY, Float:NagelBandZ, nErstellt
  17. };
  18. new NagelBand[MAX_NAGELBAENDER][eNagelBand];
  19. enum eStrassensperre {
  20.         ID, Float:StrassensperreX, Float:StrassensperreY, Float:StrassensperreZ, sErstellt
  21. };
  22. new Strassensperre[MAX_STRASSENSPERREN][eStrassensperre];
  23. ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  24. // CallBacks
  25. ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  26. forward NagelBand_Timer();
  27. public NagelBand_Timer() {
  28.         for (new playerid = 0; playerid < MAX_PLAYERS; playerid++) {
  29.                 if(!IsPlayerInAnyVehicle(playerid) || IsPlayerNPC(playerid)) continue;
  30.                 for(new i = 0; i < sizeof(NagelBand); i++) {
  31.                         if(NagelBand[i][nErstellt] == 1) {
  32.                                 if(IsPlayerInRangeOfPoint(playerid, 4, NagelBand[i][NagelBandX], NagelBand[i][NagelBandY], NagelBand[i][NagelBandZ])) {
  33.                                     if(IsPlayerInAnyVehicle(playerid)) {
  34.                                         new panels, doors, lights, tires;
  35.                                                 GetVehicleDamageStatus(GetPlayerVehicleID(playerid), panels, doors, lights, tires);
  36.                                                 tires = encode_tires(1, 1, 1, 1);
  37.                                                 UpdateVehicleDamageStatus(GetPlayerVehicleID(playerid), panels, doors, lights, tires);
  38.                                         }
  39.                                 }
  40.                         }
  41.                 }
  42.         }
  43.         return 1;
  44. }
  45. ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  46. // Funktionen
  47. ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  48. // Nagelband
  49. stock AddNagelBand(playerid) {
  50.         new Float:x, Float:y, Float:z, Float:a;
  51.         GetPlayerPos(playerid,x,y,z);
  52.         GetPlayerFacingAngle(playerid, a);
  53.         for(new i = 0; i < sizeof(NagelBand); i++) {
  54.             if(NagelBand[i][nErstellt] == 0) {
  55.                         NagelBand[i][NagelBandX] = x;
  56.                     NagelBand[i][NagelBandY] = y;
  57.                     NagelBand[i][NagelBandZ] = z - 0.7;
  58.                     NagelBand[i][nErstellt] = 1;
  59.                     NagelBand[i][ID] = CreateObject(2899, x, y, z - 0.7, 0.0, 0.0, a - 90.0);
  60.                     return 1;
  61.                 }
  62.         }
  63.         return 0;
  64. }
  65. stock RemoveNagelBand(playerid) {
  66.         for(new i = 0; i < sizeof(NagelBand); i++) {
  67.                 if(IsPlayerInRangeOfPoint(playerid, 3, NagelBand[i][NagelBandX], NagelBand[i][NagelBandY], NagelBand[i][NagelBandZ])) {
  68.                         if(NagelBand[i][nErstellt] == 1) {
  69.                                 NagelBand[i][nErstellt] = 0;
  70.                         NagelBand[i][NagelBandX] = 0.0;
  71.                         NagelBand[i][NagelBandY] = 0.0;
  72.                         NagelBand[i][NagelBandZ] = 0.0;
  73.                         DestroyObject(NagelBand[i][ID]);
  74.                 return 1;
  75.                 }
  76.             }
  77.         }
  78.         return 0;
  79. }
  80. stock RemoveAllNagelBand() {
  81.         for(new i = 0; i < sizeof(NagelBand); i++) {
  82.                 if(NagelBand[i][nErstellt] == 1) {
  83.                         NagelBand[i][nErstellt] = 0;
  84.                         NagelBand[i][NagelBandX] = 0.0;
  85.                         NagelBand[i][NagelBandY] = 0.0;
  86.                 NagelBand[i][NagelBandZ] = 0.0;
  87.                 DestroyObject(NagelBand[i][ID]);
  88.             }
  89.         }
  90.         return 0;
  91. }
  92. stock CountNagelBand() {
  93.         new anzahl = 0;
  94.         for(new i = 0; i < sizeof(NagelBand); i++) {
  95.                 if(NagelBand[i][nErstellt] == 1) anzahl++;
  96.         }
  97.         return anzahl;
  98. }
  99. // Straßensperre
  100. stock AddStrassensperre(playerid) {
  101.         new Float:x, Float:y, Float:z, Float:a;
  102.         GetPlayerPos(playerid,x,y,z);
  103.         GetPlayerFacingAngle(playerid, a);
  104.         for(new i = 0; i < sizeof(Strassensperre); i++) {
  105.             if(Strassensperre[i][sErstellt] == 0) {
  106.                         Strassensperre[i][StrassensperreX] = x;
  107.                     Strassensperre[i][StrassensperreY] = y;
  108.                     Strassensperre[i][StrassensperreZ] = z;
  109.                     Strassensperre[i][sErstellt] = 1;
  110.                     Strassensperre[i][ID] = CreateObject(1459, x, y, z - 0.6, 0.0, 0.0, a - 180.0);
  111.                     return 1;
  112.                 }
  113.         }
  114.         return 0;
  115. }
  116. stock RemoveStrassensperre(playerid) {
  117.         for(new i = 0; i < sizeof(Strassensperre); i++) {
  118.                 if(Strassensperre[i][sErstellt] == 1) {
  119.                         if(IsPlayerInRangeOfPoint(playerid, 3, Strassensperre[i][StrassensperreX], Strassensperre[i][StrassensperreY], Strassensperre[i][StrassensperreZ])) {
  120.                                 Strassensperre[i][sErstellt] = 0;
  121.                         Strassensperre[i][StrassensperreX] = 0.0;
  122.                         Strassensperre[i][StrassensperreY] = 0.0;
  123.                         Strassensperre[i][StrassensperreZ] = 0.0;
  124.                         DestroyObject(Strassensperre[i][ID]);
  125.                 return 1;
  126.                 }
  127.             }
  128.         }
  129.         return 0;
  130. }
  131. stock RemoveAllStrassensperre() {
  132.         for(new i = 0; i < sizeof(Strassensperre); i++) {
  133.                 if(Strassensperre[i][sErstellt] == 1) {
  134.                         Strassensperre[i][sErstellt] = 0;
  135.                         Strassensperre[i][StrassensperreX] = 0.0;
  136.                         Strassensperre[i][StrassensperreY] = 0.0;
  137.                 Strassensperre[i][StrassensperreZ] = 0.0;
  138.                 DestroyObject(Strassensperre[i][ID]);
  139.             }
  140.         }
  141.         return 0;
  142. }
  143. stock CountStrassensperre() {
  144.         new anzahl = 0;
  145.         for(new i = 0; i < sizeof(Strassensperre); i++) {
  146.                 if(Strassensperre[i][sErstellt] == 1) anzahl++;
  147.         }
  148.         return anzahl;
  149. }
  150. ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  151. // encode - Umwandlung
  152. ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  153. encode_tires(tires1, tires2, tires3, tires4) {
  154.  
  155.         return tires1 | (tires2 << 1) | (tires3 << 2) | (tires4 << 3);
  156.  
  157. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top