Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #define FILTERSCRIPT
- #include <a_samp>
- #include <sscanf2>
- #include <zcmd>
- #define MAX_DCARS 501
- new DB:Database,Query[512];
- enum dcarinfo
- {
- Float:dX,
- Float:dY,
- Float:dZ,
- Float:dA,
- dC1,
- dC2,
- dModel,
- dVeh,
- }
- new DCarInfo[MAX_DCARS][dcarinfo];
- public OnFilterScriptInit()
- {
- Database = db_open("db.db");
- db_query(Database,"CREATE TABLE IF NOT EXISTS `dcars`(`X`,`Y`,`Z`,`A`,`C1`,`C2`,`MODEL`,`ID`)");
- LoadCars();
- return 1;
- }
- public OnFilterScriptExit()
- {
- SaveCars();
- db_close(Database);
- return 1;
- }
- CMD:createveh(playerid,params[])
- {
- if(!IsPlayerAdmin(playerid)) return 0;
- new model,c1,c2;
- if(sscanf(params,"iii",model,c1,c2)) return SendClientMessage(playerid,0xFFFFFFFF,"USAGE: /createveh <model> <color 1> <color 2>");
- if(model < 400 || model > 611) return SendClientMessage(playerid,0xFF0000FF,"Invalid model specified! (Models are between 400 and 611)");
- if(c1 < 0 || c1 > 255) return SendClientMessage(playerid,0xFF0000FF,"Invalid color 1! (Colors are between 0 and 255!)");
- if(c2 < 0 || c2 > 255) return SendClientMessage(playerid,0xFF0000FF,"Invalid color 2! (Colors are between 0 and 255!)");
- for(new i=1; i<MAX_DCARS; i++)
- {
- if(DCarInfo[i][dModel]) continue;
- GetPlayerPos(playerid,DCarInfo[i][dX],DCarInfo[i][dY],DCarInfo[i][dZ]);
- GetPlayerFacingAngle(playerid,DCarInfo[i][dA]);
- DCarInfo[i][dModel] = model;
- DCarInfo[i][dC1] = c1;
- DCarInfo[i][dC2] = c2;
- DCarInfo[i][dVeh] = CreateVehicle(DCarInfo[i][dModel], DCarInfo[i][dX], DCarInfo[i][dY], DCarInfo[i][dZ], DCarInfo[i][dA], DCarInfo[i][dC1],DCarInfo[i][dC2], 30000);
- format(Query,sizeof(Query),"INSERT INTO `dcars`(`X`,`Y`,`Z`,`A`,`C1`,`C2`,`MODEL`,`ID`) VALUES('%f','%f','%f','%f','%d','%d','%d','%d')",
- DCarInfo[i][dX],DCarInfo[i][dY],DCarInfo[i][dZ],DCarInfo[i][dA],DCarInfo[i][dC1],DCarInfo[i][dC2],DCarInfo[i][dModel],i);
- db_query(Database,Query);
- format(Query,sizeof(Query),"Car Created! (ID %d)",i);
- SendClientMessage(playerid,0x00FF00FF,Query);
- format(Query,sizeof(Query),"");
- return 1;
- }
- return 1;
- }
- CMD:deleteveh(playerid,params[])
- {
- if(!IsPlayerAdmin(playerid)) return 0;
- new id;
- if(sscanf(params,"i",id)) return SendClientMessage(playerid,0xFFFFFFFF,"USAGE: /deleteveh <id>");
- if(!DCarInfo[id][dModel]) return SendClientMessage(playerid,0xFF0000FF,"Invalid ID specified!");
- DestroyVehicle(DCarInfo[id][dVeh]);
- DCarInfo[id][dX] = 0;
- DCarInfo[id][dY] = 0;
- DCarInfo[id][dZ] = 0;
- DCarInfo[id][dA] = 0;
- DCarInfo[id][dC1] = 0;
- DCarInfo[id][dC2] = 0;
- DCarInfo[id][dModel] = 0;
- format(Query,sizeof(Query),"DELETE FROM `dcars` WHERE `ID` = '%d'",id);
- db_query(Database,Query);
- format(Query,sizeof(Query),"Car Deleted! (ID %d)",id);
- SendClientMessage(playerid,0x00FF00FF,Query);
- format(Query,sizeof(Query),"");
- return 1;
- }
- stock SaveCars()
- {
- new id = 1;
- while(id < MAX_DCARS)
- {
- if(DCarInfo[id][dModel])
- {
- format(Query,sizeof(Query),"UPDATE `dcars` SET X = '%f', Y = '%f', Z = '%f', A = '%f', C1 = '%d', C2 = '%d', MODEL = '%d' WHERE `ID` = '%d'",
- DCarInfo[id][dX],DCarInfo[id][dY],DCarInfo[id][dZ],DCarInfo[id][dA],DCarInfo[id][dC1],DCarInfo[id][dC2],DCarInfo[id][dModel],id);
- db_query(Database,Query);
- }
- id ++;
- }
- format(Query,sizeof(Query),"");
- return 1;
- }
- stock LoadCars()
- {
- new id = 1,Field[64];
- while(id < MAX_DCARS)
- {
- format(Query,sizeof(Query),"SELECT * FROM `dcars` WHERE `ID` = '%d'",id);
- new DBResult:Result = db_query(Database,Query);
- if(db_num_rows(Result))
- {
- db_get_field_assoc(Result, "X", Field, 64);
- DCarInfo[id][dX] = floatstr(Field);
- db_get_field_assoc(Result, "Y", Field, 64);
- DCarInfo[id][dY] = floatstr(Field);
- db_get_field_assoc(Result, "Z", Field, 64);
- DCarInfo[id][dZ] = floatstr(Field);
- db_get_field_assoc(Result, "A", Field, 64);
- DCarInfo[id][dA] = floatstr(Field);
- db_get_field_assoc(Result, "C1", Field, 64);
- DCarInfo[id][dC1] = strval(Field);
- db_get_field_assoc(Result, "C2", Field, 64);
- DCarInfo[id][dC2] = strval(Field);
- db_get_field_assoc(Result, "MODEL", Field, 64);
- DCarInfo[id][dModel] = strval(Field);
- DCarInfo[id][dVeh] = CreateVehicle(DCarInfo[id][dModel], DCarInfo[id][dX], DCarInfo[id][dY], DCarInfo[id][dZ], DCarInfo[id][dA], DCarInfo[id][dC1],DCarInfo[id][dC2], 30000);
- }
- db_free_result(Result);
- id ++;
- }
- format(Query,sizeof(Query),"");
- return 1;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement