Advertisement
Guest User

Reifendruckchanger v1.0

a guest
Mar 27th, 2010
159
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 4.89 KB | None | 0 0
  1. // This is a comment
  2. // uncomment the line below if you want to write a filterscript
  3. #define FILTERSCRIPT
  4.  
  5. #include <a_samp>
  6. #pragma tabsize 0
  7.  
  8. native GetVehicleDamageStatus(vehicleid, &panels, &doors, &lights, &tires);
  9. native UpdateVehicleDamageStatus(vehicleid, panels, doors, lights, tires);
  10.  
  11. #if defined FILTERSCRIPT
  12.  
  13. public OnFilterScriptInit()
  14. {
  15.     print("\n--------------------------------------");
  16.     print(" Reifendruckchanger by Meta");
  17.     print("--------------------------------------\n");
  18.     return 1;
  19. }
  20.  
  21. public OnFilterScriptExit()
  22. {
  23.     return 1;
  24. }
  25.  
  26. #else
  27.  
  28. main()
  29. {
  30.     print("\n----------------------------------");
  31.     print(" Blank Gamemode by your name here");
  32.     print("----------------------------------\n");
  33. }
  34.  
  35. public OnGameModeInit()
  36. {
  37.     // Don't use these lines if it's a filterscript
  38.     SetGameModeText("Blank Script");
  39.     AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
  40.     return 1;
  41. }
  42.  
  43. public OnGameModeExit()
  44. {
  45.     return 1;
  46. }
  47.  
  48. #endif
  49.  
  50.  
  51.  
  52. strtok(const string[], &index)
  53. {
  54.     new length = strlen(string);
  55.     while ((index < length) && (string[index] <= ' '))
  56.     {
  57.         index++;
  58.     }
  59.  
  60.     new offset = index;
  61.     new result[20];
  62.     while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
  63.     {
  64.         result[index - offset] = string[index];
  65.         index++;
  66.     }
  67.     result[index - offset] = EOS;
  68.     return result;
  69. }
  70.  
  71. new idx, tmp[256];
  72.  
  73. public OnPlayerCommandText(playerid, cmdtext[])
  74. {
  75.     if(strcmp(cmdtext, "/reifen", true) == 0)
  76.     {
  77.         if(IsPlayerConnected(playerid))
  78.         {
  79.             tmp = strtok(cmdtext, idx);
  80.             if(!strlen(tmp))
  81.             {
  82.                 SendClientMessage(playerid, 0xBFC0C2FF, "Verwendung: /reifen [ReifenID]");
  83.                 return 1;
  84.             }
  85.             new rID = strval(tmp);
  86.             if(rID < 0 || rID > 4) { SendClientMessage(playerid, 0xFF6347AA, "Ungültige ID! Von vorne links nach hinten rechts: 0-4 (4 = alle)"); return 1; }
  87.             if(IsPlayerInAnyVehicle(playerid))
  88.             {
  89.                 new vehicleid = GetPlayerVehicleID(playerid);
  90.                 new panels,doors,clights,tires;
  91.                 GetVehicleDamageStatus(vehicleid,panels,doors,clights,tires);
  92.                 while(panels > 16)
  93.                 {
  94.                     panels -= 16;
  95.                 }
  96.                 while(doors > 16)
  97.                 {
  98.                     doors -= 16;
  99.                 }
  100.                 while(clights > 16)
  101.                 {
  102.                     clights -= 16;
  103.                 }
  104.                 while(tires > 16)
  105.                 {
  106.                     tires -= 16;
  107.                 }
  108.                 if(rID == 0)
  109.                 {
  110.                     if(tires > 7)
  111.                     {
  112.                         UpdateVehicleDamageStatus(vehicleid, panels, doors, clights, tires-8);
  113.                     }
  114.                     else if(tires < 8)
  115.                     {
  116.                         UpdateVehicleDamageStatus(vehicleid, panels, doors, clights, tires+8);
  117.                     }
  118.                 }
  119.                 else if(rID == 1)
  120.                 {
  121.                     if(tires == 0 || tires == 1 || tires == 4 || tires == 5 || tires == 8 || tires == 9 || tires == 12 || tires == 13)
  122.                     {
  123.                         UpdateVehicleDamageStatus(vehicleid, panels, doors, clights, tires+2);
  124.                     }
  125.                     else if(tires == 2 || tires == 3 || tires == 6 || tires == 7 || tires == 10 || tires == 11 || tires == 14 || tires == 15)
  126.                     {
  127.                         UpdateVehicleDamageStatus(vehicleid, panels, doors, clights, tires-2);
  128.                     }
  129.                 }
  130.                 else if(rID == 2)
  131.                 {
  132.                     if(tires < 4 || (tires > 7 && tires < 12))
  133.                     {
  134.                         UpdateVehicleDamageStatus(vehicleid, panels, doors, clights, tires+4);
  135.                     }
  136.                     else if((tires > 3 && tires < 8) || (tires > 11 && tires < 16))
  137.                     {
  138.                         UpdateVehicleDamageStatus(vehicleid, panels, doors, clights, tires-4);
  139.                     }
  140.                 }
  141.                 else if(rID == 3)
  142.                 {
  143.                     if(tires == 0 || tires == 2 || tires == 4 || tires == 6 || tires == 8 || tires == 10 || tires == 12 || tires == 14)
  144.                     {
  145.                         UpdateVehicleDamageStatus(vehicleid, panels, doors, clights, tires+1);
  146.                     }
  147.                     else if(tires == 1 || tires == 3 || tires == 5 || tires == 7 || tires == 9 || tires == 11 || tires == 13 || tires == 15)
  148.                     {
  149.                         UpdateVehicleDamageStatus(vehicleid, panels, doors, clights, tires-1);
  150.                     }
  151.                 }
  152.                 else if(rID == 4)
  153.                 {
  154.                     UpdateVehicleDamageStatus(vehicleid, panels, doors, clights, 15-tires);
  155.                 }
  156.                 SendClientMessage(playerid, 0xFFBE00FF, "Reifendruck geändert!");
  157.             }
  158.             else
  159.             {
  160.                 SendClientMessage(playerid, 0xFF6347AA, "Du sitzt in keinem Fahrzeug!");
  161.             }
  162.         }
  163.         return 1;
  164.     }
  165.     return 0;
  166. }
  167.  
  168. public OnPlayerConnect(playerid)
  169. {
  170.     SendClientMessage(playerid, 0xFFBE00FF, "Dieser Server verwendet den Reifendruckchanger by [iLife]Meta!");
  171.     return 0;
  172. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement