SA-MP Forums Archive
Vehicle purchase... - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: SA-MP Scripting and Plugins (https://sampforum.blast.hk/forumdisplay.php?fid=8)
+--- Forum: Scripting Help (https://sampforum.blast.hk/forumdisplay.php?fid=12)
+--- Thread: Vehicle purchase... (/showthread.php?tid=372360)



Vehicle purchase... - viddo - 26.08.2012

I already have a vehicle purchase script but the player must enter a "sales vehicle" that is actually created in game then buy it from inside and the other car that he owned appears, I need to make it that he won't need to enter a car to purchase the same model, example: /v buy [Vehid].. i am really stuck in this.


The normal purchase cmd i got:

Код:
	        else if(strcmp(x_nr,"buy",true) == 0)
	        {
	            new car = 1;
	            new model = GetVehicleModel(idcar);
	            if(IsASalesVehicle(idcar))
	            {
	                if(PlayerInfo[playerid][pLevel] < 1)
			    	{
                    	SendClientMessage(playerid, COLOR_GREY, "You need to be level 1 to buy a vehicle!");
                    	return 1;
			    	}
			    	if(PlayerInfo[playerid][pPcarkey] == 9999 || PlayerInfo[playerid][pPcarkey2] == 9999) { }
			    	else return SendClientMessage(playerid, COLOR_GREY,"* You already own Two cars!");
					if(GetPlayerMoney(playerid) >= GetVehiclePrice(idcar))
					{
					    if(PlayerInfo[playerid][pCarLic] == 1)
					    {
							for(new h = 1; h < sizeof(CarInfo); h++)
							{
								if(CarInfo[h][cOwned] == 0)
								{
									car = h;
									h = 9999;
								}
							}
							format(string, sizeof(string),"LARP/Vehicles/%d.ini",car)
							dini_Create(string);

							if(PlayerInfo[playerid][pPcarkey] != 9999) { PlayerInfo[playerid][pPcarkey2] = car; }
							else { PlayerInfo[playerid][pPcarkey] = car; }
							CarInfo[car][cOwned] = 1;
							strmid(CarInfo[car][cOwner], sendername, 0, strlen(sendername), 999);
							SafeGivePlayerMoney(playerid,-GetVehiclePrice(idcar));
							if(IsModelAPlane(idcar) || IsModelAHeli(idcar))
							{
							    new Float:plocx,Float:plocy,Float:plocz,Float:ploca;
		        				GetPlayerPos(playerid, plocx, plocy, plocz);
		        				GetPlayerFacingAngle(playerid,ploca);
       							CarInfo[car][cLocationx] = plocx+8;
								CarInfo[car][cLocationy] = plocy;
								CarInfo[car][cLocationz] = plocz;
								CarInfo[car][cAngle] = ploca;
								SendClientMessage(playerid, COLOR_YELLOW2, "Congratulations, Don't forget to set your Plane's code.");
							}
							else if(IsModelABoat(idcar))
							{
			    				new Float:plocx,Float:plocy,Float:plocz,Float:ploca;
		        				GetPlayerPos(playerid, plocx, plocy, plocz);
		        				GetPlayerFacingAngle(playerid,ploca);
							    CarInfo[car][cLocationx] = plocx+8;
								CarInfo[car][cLocationy] = plocy;
								CarInfo[car][cLocationz] = plocz;
								CarInfo[car][cAngle] = ploca;
								SendClientMessage(playerid, COLOR_YELLOW2, "Congratulations, Don't forget to set your boat's code.");
							}
							else
							{
			    				new Float:plocx,Float:plocy,Float:plocz,Float:ploca;
		        				GetPlayerPos(playerid, plocx, plocy, plocz);
		        				GetPlayerFacingAngle(playerid,ploca);
                                CarInfo[car][cLocationx] = plocx+8;
								CarInfo[car][cLocationy] = plocy;
								CarInfo[car][cLocationz] = plocz;
								CarInfo[car][cAngle] = ploca;
								SendClientMessage(playerid, COLOR_YELLOW2, "Congratulations, Don't forget to set your vehicle's code.");
							}
							CarInfo[car][cModel] = model;
							CarInfo[car][cVirWorld] = 0;
							CarInfo[car][cPaintjob] = 999;

							CarInfo[car][cColorOne] = 1;
							CarInfo[car][cColorTwo] = 1;

							CarInfo[car][cComponent0] = 0;
							CarInfo[car][cComponent1] = 0;
							CarInfo[car][cComponent2] = 0;
							CarInfo[car][cComponent3] = 0;
							CarInfo[car][cComponent4] = 0;
							CarInfo[car][cComponent5] = 0;
							CarInfo[car][cComponent6] = 0;
							CarInfo[car][cComponent7] = 0;
							CarInfo[car][cComponent8] = 0;
							CarInfo[car][cComponent9] = 0;
							CarInfo[car][cComponent10] = 0;
							CarInfo[car][cComponent11] = 0;
							CarInfo[car][cComponent12] = 0;
							CarInfo[car][cComponent13] = 0;
							CarInfo[car][cAlarm] = 0;
							
							DestroyVehicle(car);
							ownedcar[car] = CreateVehicle(CarInfo[car][cModel],CarInfo[car][cLocationx],CarInfo[car][cLocationy],CarInfo[car][cLocationz],90.0,1,1,30000);
							PlayerPlayMusic(playerid);
							SendClientMessage(playerid, COLOR_GRAD2, "Congratulations on your new purchase!");
							SendClientMessage(playerid, COLOR_GRAD2, "Type /vehiclehelp to view the vehicle manual!");
							gEngine[playerid] = 0;
							engineOn[GetPlayerVehicleID(playerid)] = false;
							new pass[24];
							format(pass, sizeof(pass),"%d%d%d",random(9),random(9),random(9));
							CarInfo[car][cCode] = strval(pass);
							OnPropUpdate(4,car);
							OnPlayerUpdateEx(playerid);
						}
						else
						{
							SendClientMessage(playerid, COLOR_WHITE, "* a Driving License is needed to buy a car!");
							return 1;
						}
					}
					else
					{
					    SendClientMessage(playerid, COLOR_GREY, "  You don't have enough cash with you ! ");
					    return 1;
					}
	            }
	        }