Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <a_samp>
- #include <izcmd>
- #include <dini>
- #include <sscanf2>
- #include <streamer>
- #include <colors>
- main(){}
- #pragma unused ret_memcpy
- #pragma unused strtok
- #define DIALOG_CAR 1
- #define CHANGE_COLOR_CAR 2
- enum p_Player
- {
- p_CAR
- }
- new Player[MAX_PLAYERS][p_Player];
- new privcar[MAX_PLAYERS];
- new bool:IsPriv[1000];
- public OnPlayerConnect(playerid)
- {
- LoadPlayers(playerid);
- return 1;
- }
- public OnPlayerDisconnect(playerid, reason)
- {
- SavePlayers(playerid);
- return 1;
- }
- public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
- {
- if(dialogid == DIALOG_CAR)
- {
- if(response)
- {
- switch(listitem)
- {
- case 0: // spawn
- {
- new file[64];
- format(file, 64, "/Privcars/%s.ini", PlayerName(playerid));
- if(dini_Exists(file))
- {
- new Float:pos[4], carid;
- new color_1, color_2;
- pos[0] = dini_Float(file, "X");
- pos[1] = dini_Float(file, "Y");
- pos[2] = dini_Float(file, "Z");
- pos[3] = dini_Float(file, "r");
- carid = dini_Int(file, "CarID");
- color_1 = dini_Int(file, "C1");
- color_2 = dini_Int(file, "C2");
- privcar[playerid] = CreateVehicle(carid, pos[0], pos[1], pos[2], pos[3], color_1, color_2, 999999);
- SendClientMessage(playerid, COLOR_GREY, "Loaded vehicle");
- }
- }
- case 1: // destroy
- {
- DestroyVehicle(privcar[playerid]);
- SendClientMessage(playerid, COLOR_GREY, "The vehicle has been successfully disappeared.");
- }
- case 2: // save
- {
- new file[64], Float:x, Float:y, Float:z, Float:r;
- GetVehiclePos(privcar[playerid], x,y,z);
- GetVehicleZAngle(privcar[playerid], r);
- format(file, 64, "/Privcars/%s.ini", PlayerName(playerid));
- dini_FloatSet(file, "X", x);
- dini_FloatSet(file, "Y", y);
- dini_FloatSet(file, "Z", z);
- dini_FloatSet(file, "R", r);
- dini_IntSet(file, "CarID", GetVehicleModel(privcar[playerid]));
- DestroyVehicle(privcar[playerid]);
- SendClientMessage(playerid, COLOR_GREY, "The vehicle data has been successfully saved, it has been disappeared vehicle!");
- }
- case 3: // teleported
- {
- new Float:x, Float:y, Float:z;
- GetPlayerPos(playerid, x,y,z);
- SetVehiclePos(privcar[playerid], x,y,z);
- PutPlayerInVehicle(playerid, privcar[playerid], 0);
- SendClientMessage(playerid, COLOR_GREY, "The vehicle was teleported to you!");
- }
- case 4:
- {
- IsPriv[privcar[playerid]] = false;
- SendClientMessage(playerid, COLOR_GREY, "Open Vehicle!");
- }
- case 5:
- {
- IsPriv[privcar[playerid]] = true;
- SendClientMessage(playerid, COLOR_GREY, "Close Vehicle!");
- }
- case 6:
- {
- ShowPlayerDialog(playerid, CHANGE_COLOR_CAR, DIALOG_STYLE_LIST, "Choose color", "COLOR_BLACK\nCOLOR_WHITE", "OKAY", "CLOSE");
- }
- }
- }
- return 1;
- }
- if(dialogid == CHANGE_COLOR_CAR)
- {
- if(response)
- {
- switch(listitem)
- {
- case 0:
- {
- new file[64];
- ChangeVehicleColor(privcar[playerid], 0, 0);
- format(file, 64, "/Privcars/%s.ini", PlayerName(playerid));
- dini_IntSet(file, "C1", 0);
- dini_IntSet(file, "C2", 0);
- SendClientMessage(playerid, COLOR_GREY, "The color of the vehicle has been saved");
- }
- case 1:
- {
- new file[64];
- ChangeVehicleColor(privcar[playerid], 1, 1);
- format(file, 64, "/Privcars/%s.ini", PlayerName(playerid));
- dini_IntSet(file, "C1", 1);
- dini_IntSet(file, "C2", 1);
- SendClientMessage(playerid, COLOR_GREY, "The color of the vehicle has been saved");
- }
- }
- }
- return 1;
- }
- return 0;
- }
- CMD:privcar(playerid, params[])
- {
- new carid, color_1, color_2;
- if(sscanf(params, "ddd", carid, color_1, color_2))
- return SendClientMessage(playerid, COLOR_WHITE, "Usage: /privcar [id car] [color 1] [color 2]");
- else
- {
- new Float:x, Float:y, Float:z, Float:r;
- GetPlayerPos(playerid, x,y,z);
- GetPlayerFacingAngle(playerid, r);
- privcar[playerid] = CreateVehicle(carid, x,y,z,r,color_1,color_2,999999);
- Player[playerid][p_CAR] = 1;
- new file[64];
- format(file, 64, "/Privcars/%s.ini", PlayerName(playerid));
- if(!dini_Exists(file))
- dini_Create(file);
- dini_FloatSet(file, "X", x);
- dini_FloatSet(file, "Y", y);
- dini_FloatSet(file, "Z", z);
- dini_FloatSet(file, "R", r);
- dini_IntSet(file, "C1", color_1);
- dini_IntSet(file, "C2", color_2);
- dini_IntSet(file, "CarID", carid);
- IsPriv[privcar[playerid]] = true;
- PutPlayerInVehicle(playerid, privcar[playerid], 0);
- SendClientMessage(playerid, COLOR_GREY, "The vehicle was successfully loaded and saved, the vehicle was closed");
- }
- return 1;
- }
- CMD:carmenu(playerid, params[])
- {
- if(Player[playerid][p_CAR] == 1)
- {
- ShowPlayerDialog(playerid, DIALOG_CAR, DIALOG_STYLE_LIST, "Menu vehicle", "Spawn\nDestroy\nSave\nTeleportedj\nOpen\nClose\nChange Color", "OKAY", "CLOSE");
- }
- else
- {
- SendClientMessage(playerid, COLOR_RED, "You do not have a private vehicle!");
- }
- return 1;
- }
- stock LoadPlayers(playerid)
- {
- new string[500];
- new Gname[MAX_PLAYER_NAME];
- GetPlayerName(playerid, Gname, sizeof(Gname));
- format(string, sizeof(string), "/Players/%s.ini", Gname);
- Player[playerid][p_CAR] = dini_Int(string, "Car");
- return 1;
- }
- stock SavePlayers(playerid)
- {
- new string[500];
- new Gname[MAX_PLAYER_NAME];
- GetPlayerName(playerid, Gname, sizeof(Gname));
- format(string, sizeof(string), "/Players/%s.ini", Gname);
- dini_IntSet(string, "Car", Player[playerid][p_CAR]);
- return 1;
- }
- stock PlayerName(playerid)
- {
- new name[MAX_PLAYER_NAME];
- GetPlayerName(playerid, name, MAX_PLAYER_NAME);
- return name;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement