Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- ________________________________________________________________________________
- Tuning System 1.1
- by Captive
- * Crediti:
- - Drake1994 per dFile
- - Zeex per ZCMD
- --------------------------------------------------------------------------------
- Si prega agli utilizzatori di questo FS di inserire gli appositi crediti,
- grazie.
- ATTENZIONE: è altamente importate avere dfile.inc e zcmd nella cartella
- pawno ---> include e avere FileManager nella cartella plugins e sulla voce
- plugins nel server.cfg .
- Descizione:
- Questo Filterscript salva automaticamente all'uscita del Mod Shop tutti le
- modifiche apportate sul veicolo, compreso colore e verniciatura.
- Non c'è alcun bisogno creare cartelle in scriptfiles, grazie alle funzioni dfile
- se inesistente la cartella (Tuning) verrà creata automaticamente.
- Comandi:
- - /resetveicolo : Resetta ogni componente del veicolo escluso il colore e la
- verniciatura, e quindi cancella anche il file ormai inutile.
- N.B. Il colore e la verniciatura non verranno resettati ma al respawn, il
- veicolo spawnerà con il colore originale del codice della GM.
- - /tuning : Permette, tramite un dialog di aggiungere Ruote, Nitro, Idraulica,
- Stereo e cambiare colore al proprio veicolo.
- ________________________________________________________________________________
- */
- #include <a_samp>
- #include "../include/gl_common.inc"
- #define USE_PLUGIN_FUNCTIONS
- #include <dfile>
- #include <zcmd>
- #define COLOR_ERROR 0x800000FF //Rosso scuro
- #define COLOR_INFO 0xFFFF00FF //Giallo
- #define MAX_VEHICLE_COMPONENTS 14
- #define DIALOG_TUNING_MENU 1000
- #define DIALOG_TUNING_WHEELS 1100
- #define DIALOG_TUNING_NITRO 1200
- #define DIALOG_TUNING_HYDRAULICS 1300
- #define DIALOG_TUNING_COLOR 1400
- #define DIALOG_TUNING_COLOR_ID 1410
- public OnFilterScriptInit()
- {
- print("TuningSystem by Captive Loaded");
- if(!dfile_DirectoryExists("/Tuning/"))dfile_CreateDirectory("/Tuning/");
- return 1;
- }
- public OnFilterScriptExit()
- {
- return 1;
- }
- public OnPlayerConnect(playerid)
- {
- SendClientMessage(playerid, COLOR_INFO, "Tuning System v1.1 by Captive: /tuning, /resetveicolo");
- return 1;
- }
- public OnEnterExitModShop(playerid, enterexit, interiorid)
- {
- if(enterexit == 1)
- {
- if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER)return 0;
- new vehicleid = GetPlayerVehicleID(vehicleid);
- if(!dfile_FileExists(TuningFile(vehicleid)))dfile_Create(TuningFile(vehicleid));
- new str[32];
- dfile_Open(TuningFile(vehicleid));
- for(new i; i < MAX_VEHICLE_COMPONENTS; i++)
- {
- format(str, sizeof(str), "Componente_%d", i);
- dfile_WriteInt(str, GetVehicleComponentInSlot(vehicleid, i));
- }
- dfile_SaveFile();
- dfile_CloseFile();
- }
- return 1;
- }
- public OnVehicleRespray(playerid, vehicleid, color1, color2)
- {
- if(!dfile_FileExists(TuningFile(vehicleid)))dfile_Create(TuningFile(vehicleid));
- dfile_Open(TuningFile(vehicleid));
- dfile_WriteInt("Colore_1", color1);
- dfile_WriteInt("Colore_2", color2);
- dfile_SaveFile();
- dfile_CloseFile();
- return 1;
- }
- public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
- {
- if(!dfile_FileExists(TuningFile(vehicleid)))dfile_Create(TuningFile(vehicleid));
- dfile_Open(TuningFile(vehicleid));
- dfile_WriteInt("Verniciatura", paintjobid);
- dfile_SaveFile();
- dfile_CloseFile();
- return 1;
- }
- public OnVehicleSpawn(vehicleid)
- {
- if(!dfile_FileExists(TuningFile(vehicleid)))return 1;
- new str[32];
- dfile_Open(TuningFile(vehicleid));
- for(new i; i < MAX_VEHICLE_COMPONENTS; i++)
- {
- format(str, sizeof(str), "Componente_%d", i);
- AddVehicleComponent(vehicleid, dfile_ReadInt(str));
- }
- ChangeVehicleColor(vehicleid, dfile_ReadInt("Colore_1"), dfile_ReadInt("Colore_2"));
- ChangeVehiclePaintjob(vehicleid, dfile_ReadInt("Verniciatura"));
- dfile_CloseFile();
- return 1;
- }
- public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
- {
- new vehicleid;
- switch(dialogid)
- {
- case DIALOG_TUNING_MENU:
- {
- if(response)
- {
- if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER)return 0;
- vehicleid = GetPlayerVehicleID(playerid);
- switch(listitem)
- {
- case 0: ShowPlayerDialog(playerid, DIALOG_TUNING_WHEELS, DIALOG_STYLE_LIST, "Ruote", "Shadow\nMega\nRimshine\n{FFF1AA}Wires\n{FFFFFF}Classic\n{FFF1AA}Twist\n{FFFFFF}Cutter\n{FFF1AA}Switch\nGrove\nImport\n{FFF1AA}Dollar\nTrance\nAtomic\n{FFFFFF}Ahab\nVirtual\nAcces\nOffroad", "Ok", "Indietro");
- case 1: ShowPlayerDialog(playerid, DIALOG_TUNING_COLOR, DIALOG_STYLE_LIST, "Scegli il colore", "Nero\nGrigio\nBianco\n{FF0000}Rosso\n{FFAA00}Arancione\n{FFFF00}Giallo\n{00FF00}Verde\n{00FFFF}Azzurro\n{0000FF}Blu\nInserisci ID", "Ok", "Indietro");
- case 2: ShowPlayerDialog(playerid, DIALOG_TUNING_NITRO, DIALOG_STYLE_LIST, "Nitro", "Nitro x2\nNitro x5\nNitro x10", "Ok", "Indietro");
- case 3:
- {
- AddVehicleComponent(vehicleid, 1087);
- if(!dfile_FileExists(TuningFile(vehicleid)))dfile_Create(TuningFile(vehicleid));
- dfile_Open(TuningFile(vehicleid));
- dfile_WriteInt("Componente_9", GetVehicleComponentInSlot(vehicleid, CARMODTYPE_HYDRAULICS));
- dfile_SaveFile();
- dfile_CloseFile();
- SendClientMessage(playerid, COLOR_INFO, "[Info:] {FFFFFF}Idraulica Installato con successo");
- }
- case 4:
- {
- AddVehicleComponent(vehicleid, 1086);
- if(!dfile_FileExists(TuningFile(vehicleid)))dfile_Create(TuningFile(vehicleid));
- dfile_Open(TuningFile(vehicleid));
- dfile_WriteInt("Componente_8", GetVehicleComponentInSlot(vehicleid, CARMODTYPE_STEREO));
- dfile_SaveFile();
- dfile_CloseFile();
- SendClientMessage(playerid, COLOR_INFO, "[Info:] {FFFFFF}Stereo Installato con successo");
- }
- }
- }
- }
- case DIALOG_TUNING_WHEELS:
- {
- if(!response)return ShowPlayerDialog(playerid, DIALOG_TUNING_MENU, DIALOG_STYLE_LIST, "Tuning Menu", "Ruote\nCambia Colore\nNitro\nIdraulica\nStereo", "Ok", "Annulla");
- if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER)return 0;
- vehicleid = GetPlayerVehicleID(playerid);
- switch(listitem)
- {
- case 0: AddVehicleComponent(vehicleid, 1073);
- case 1: AddVehicleComponent(vehicleid, 1074);
- case 2: AddVehicleComponent(vehicleid, 1075);
- case 3: AddVehicleComponent(vehicleid, 1076);
- case 4: AddVehicleComponent(vehicleid, 1077);
- case 5: AddVehicleComponent(vehicleid, 1078);
- case 6: AddVehicleComponent(vehicleid, 1079);
- case 7: AddVehicleComponent(vehicleid, 1080);
- case 8: AddVehicleComponent(vehicleid, 1081);
- case 9: AddVehicleComponent(vehicleid, 1082);
- case 10: AddVehicleComponent(vehicleid, 1083);
- case 11: AddVehicleComponent(vehicleid, 1084);
- case 12: AddVehicleComponent(vehicleid, 1085);
- case 13: AddVehicleComponent(vehicleid, 1096);
- case 14: AddVehicleComponent(vehicleid, 1097);
- case 15: AddVehicleComponent(vehicleid, 1098);
- case 16: AddVehicleComponent(vehicleid, 1025);
- }
- if(!dfile_FileExists(TuningFile(vehicleid)))dfile_Create(TuningFile(vehicleid));
- dfile_Open(TuningFile(vehicleid));
- dfile_WriteInt("Componente_7", GetVehicleComponentInSlot(vehicleid, CARMODTYPE_WHEELS));
- dfile_SaveFile();
- dfile_CloseFile();
- SendClientMessage(playerid, COLOR_INFO, "[Info:] {FFFFFF}Nuove Ruote Installate con successo");
- }
- case DIALOG_TUNING_NITRO:
- {
- if(!response)return ShowPlayerDialog(playerid, DIALOG_TUNING_MENU, DIALOG_STYLE_LIST, "Tuning Menu", "Ruote\nCambia Colore\nNitro\nIdraulica\nStereo", "Ok", "Annulla");
- if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER)return 0;
- vehicleid = GetPlayerVehicleID(playerid);
- switch(listitem)
- {
- case 0: AddVehicleComponent(vehicleid, 1008);
- case 1: AddVehicleComponent(vehicleid, 1009);
- case 2: AddVehicleComponent(vehicleid, 1010);
- }
- if(!dfile_FileExists(TuningFile(vehicleid)))dfile_Create(TuningFile(vehicleid));
- dfile_Open(TuningFile(vehicleid));
- dfile_WriteInt("Componente_5", GetVehicleComponentInSlot(vehicleid, CARMODTYPE_NITRO));
- dfile_SaveFile();
- dfile_CloseFile();
- SendClientMessage(playerid, COLOR_INFO, "[Info:] {FFFFFF}Nitro Installato con successo");
- }
- case DIALOG_TUNING_COLOR:
- {
- if(!response)return ShowPlayerDialog(playerid, DIALOG_TUNING_MENU, DIALOG_STYLE_LIST, "Tuning Menu", "Ruote\nCambia Colore\nNitro\nIdraulica\nStereo", "Ok", "Annulla");
- if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER)return 0;
- vehicleid = GetPlayerVehicleID(playerid);
- new col = -1;
- switch(listitem)
- {
- case 0: col = 0;
- case 1: col = 11;
- case 2: col = 1;
- case 3: col = 3;
- case 4: col = 158;
- case 5: col = 6;
- case 6: col = 86;
- case 7: col = 2;
- case 8: col = 79;
- case 9: ShowPlayerDialog(playerid, DIALOG_TUNING_COLOR_ID, DIALOG_STYLE_INPUT, "Inserisci l'ID del colore", "Compreso tra 0 e 255", "Ok", "Indietro");
- }
- if(col != -1)
- {
- ChangeVehicleColor(vehicleid, col, col);
- SendClientMessage(playerid, COLOR_INFO, "[Info:] {FFFFFF}Colore Cambiato con successo");
- }
- }
- case DIALOG_TUNING_COLOR_ID:
- {
- if(!response)return ShowPlayerDialog(playerid, DIALOG_TUNING_COLOR, DIALOG_STYLE_LIST, "Scegli il colore", "Nero\nGrigio\nBianco\n{FF0000}Rosso\n{FFAA00}Arancione\n{FFFF00}Giallo\n{00FF00}Verde\n{00FFFF}Azzurro\n{0000FF}Blu\nInserisci ID", "Ok", "Indietro");
- if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER)return 0;
- vehicleid = GetPlayerVehicleID(playerid);
- if(!isNumeric(inputtext) || strval(inputtext) < 0 || strval(inputtext) > 255)
- {
- SendClientMessage(playerid, COLOR_ERROR, "[Errore:] {FFFFFF}Devi inserire un numero compreso tra 0 e 255");
- return ShowPlayerDialog(playerid, DIALOG_TUNING_COLOR_ID, DIALOG_STYLE_INPUT, "Inserisci l'ID del colore", "Compreso tra 0 e 255", "Ok", "Indietro");
- }
- ChangeVehicleColor(vehicleid, strval(inputtext), strval(inputtext));
- }
- }
- return 1;
- }
- CMD:resetveicolo(playerid, params[])
- {
- if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER)return SendClientMessage(playerid, COLOR_ERROR, "[Errore:] {FFFFFF}non stai guidando un veicolo");
- new vehicleid = GetPlayerVehicleID(playerid);
- for(new i; i < MAX_VEHICLE_COMPONENTS; i++)RemoveVehicleComponent(vehicleid, GetVehicleComponentInSlot(vehicleid, i));
- if(dfile_FileExists(TuningFile(vehicleid)))dfile_Delete(TuningFile(vehicleid));
- SendClientMessage(playerid, COLOR_INFO, "[Info:] {FFFFFF}Componenti disinstallati con successo");
- return 1;
- }
- CMD:tuning(playerid, params[])
- {
- if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER)return SendClientMessage(playerid, COLOR_ERROR, "Errore: {FFFFFF}non stai guidando un veicolo");
- ShowPlayerDialog(playerid, DIALOG_TUNING_MENU, DIALOG_STYLE_LIST, "Tuning Menu", "Ruote\nCambia Colore\nNitro\nIdraulica\nStereo", "Ok", "Annulla");
- return 1;
- }
- stock TuningFile(vehicleid)
- {
- new sfile[64];
- format(sfile, sizeof(sfile), "/Tuning/Veicolo_%d.ini", vehicleid);
- return sfile;
- }
Advertisement
Add Comment
Please, Sign In to add comment