View difference between Paste ID: nmtntcYi and equH81Rc
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
}