SHOW:
|
|
- or go back to the newest paste.
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 | } |