Guest User

Tuning System v1.0 by Captive

a guest
Jun 4th, 2013
448
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. /*
  2. ________________________________________________________________________________
  3.  
  4.                              Tuning System 1.0
  5.                                 by Captive
  6.  
  7.                                * Crediti:
  8.  
  9.                       - Drake1994 per dFile
  10.                       - Zeex per ZCMD
  11. --------------------------------------------------------------------------------
  12. Si prega agli utilizzatori di questo FS di inserire gli appositi crediti,
  13. grazie.
  14.  
  15. ATTENZIONE: è altamente importate avere dfile.inc e zcmd nella cartella
  16. pawno ---> include e avere FileManager nella cartella plugins e sulla voce
  17. plugins nel server.cfg .
  18.  
  19. Descizione:
  20. Questo Filterscript salva automaticamente all'uscita del Mod Shop tutti le
  21. modifiche apportate sul veicolo, compreso colore e verniciatura; e le cariche
  22. allo spawn/respawn.
  23. Non c'è alcun bisogno creare cartelle in scriptfiles, grazie alle funzioni dfile
  24. se inesistente la cartella (Tuning) verrà creata automaticamente.
  25.  
  26. Comandi:
  27. /resetveicolo: Resetta ogni componente del veicolo escluso il colore e la
  28. verniciatura, e quindi cancella anche il file ormai inutile.
  29. N.B. Il colore e la verniciatura non verranno resettati ma al respawn, il
  30. veicolo spawnerà con il colore originale del codice della GM.
  31. ________________________________________________________________________________
  32. */
  33.  
  34. #include <a_samp>
  35. #define USE_PLUGIN_FUNCTIONS
  36. #include <dfile>
  37. #include <zcmd>
  38.  
  39. #define MAX_VEHICLE_COMPONENTS 14
  40.  
  41. public OnFilterScriptInit()
  42. {
  43.     print("TuningSystem by Captive Loaded");
  44.     if(!dfile_DirectoryExists("/Tuning/"))dfile_CreateDirectory("/Tuning/");
  45.     return 1;
  46. }
  47.  
  48. public OnFilterScriptExit()
  49. {
  50.     return 1;
  51. }
  52.  
  53. public OnEnterExitModShop(playerid, enterexit, interiorid)
  54. {
  55.     if(enterexit == 1)
  56.     {
  57.         if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER)return 0;
  58.         new vehicleid = GetPlayerVehicleID(vehicleid);
  59.         if(!dfile_FileExists(TuningFile(vehicleid)))dfile_Create(TuningFile(vehicleid));
  60.         new str[32];
  61.         dfile_Open(TuningFile(vehicleid));
  62.         for(new i; i < MAX_VEHICLE_COMPONENTS; i++)
  63.         {
  64.             format(str, sizeof(str), "Componente_%d", i);
  65.             dfile_WriteInt(str, GetVehicleComponentInSlot(vehicleid, i));
  66.         }
  67.         dfile_SaveFile();
  68.         dfile_CloseFile();
  69.     }
  70.     return 1;
  71. }
  72.  
  73. public OnVehicleRespray(playerid, vehicleid, color1, color2)
  74. {
  75.     if(!dfile_FileExists(TuningFile(vehicleid)))dfile_Create(TuningFile(vehicleid));
  76.     dfile_Open(TuningFile(vehicleid));
  77.     dfile_WriteInt("Colore_1", color1);
  78.     dfile_WriteInt("Colore_2", color2);
  79.     dfile_SaveFile();
  80.     dfile_CloseFile();
  81.     return 1;
  82. }
  83.  
  84. public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
  85. {
  86.     if(!dfile_FileExists(TuningFile(vehicleid)))dfile_Create(TuningFile(vehicleid));
  87.     dfile_Open(TuningFile(vehicleid));
  88.     dfile_WriteInt("Verniciatura", paintjobid);
  89.     dfile_SaveFile();
  90.     dfile_CloseFile();
  91.     return 1;
  92. }
  93.  
  94. public OnVehicleSpawn(vehicleid)
  95. {
  96.     if(!dfile_FileExists(TuningFile(vehicleid)))return 1;
  97.     new str[32];
  98.     dfile_Open(TuningFile(vehicleid));
  99.     for(new i; i < MAX_VEHICLE_COMPONENTS; i++)
  100.     {
  101.         format(str, sizeof(str), "Componente_%d", i);
  102.         AddVehicleComponent(vehicleid, dfile_ReadInt(str));
  103.     }
  104.     ChangeVehicleColor(vehicleid, dfile_ReadInt("Colore_1"), dfile_ReadInt("Colore_2"));
  105.     ChangeVehiclePaintjob(vehicleid, dfile_ReadInt("Verniciatura"));
  106.     dfile_CloseFile();
  107.     return 1;
  108. }
  109.  
  110. CMD:resetveicolo(playerid, params[])
  111. {
  112.     if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER)return SendClientMessage(playerid, -1, "Errore: non stai guidando un veicolo");
  113.     new vehicleid = GetPlayerVehicleID(playerid);
  114.     for(new i; i < MAX_VEHICLE_COMPONENTS; i++)RemoveVehicleComponent(vehicleid, GetVehicleComponentInSlot(vehicleid, i));
  115.     if(dfile_FileExists(TuningFile(vehicleid)))dfile_Delete(TuningFile(vehicleid));
  116.     return 1;
  117. }
  118.  
  119. stock TuningFile(vehicleid)
  120. {
  121.     new sfile[64];
  122.     format(sfile, sizeof(sfile), "/Tuning/Veicolo_%d.ini", vehicleid);
  123.     return sfile;
  124. }
Advertisement
Add Comment
Please, Sign In to add comment