Selling Cars
#6

Код:
//--------------------------------------------------------------------------------------------------------------------------------------------
	if(strcmp(cmd, "/v", true) == 0 || strcmp(cmd, "/vehicle", true) == 0)
	{
	    if(IsPlayerConnected(playerid))
	    {
	        if(gPlayerLogged[playerid] == 0)
	        {
	            SendClientMessage(playerid, COLOR_GREY, "** you need to login first !");
	            return 1;
	        }
	        new x_nr[64];
	        x_nr = strtok(cmdtext, idx);
	        if(!strlen(x_nr))
	        {
	            SendClientMessage(playerid, COLOR_WHITE, "HINT: (/v)ehicle [name]");
	            SendClientMessage(playerid, COLOR_GREY, "Available names: park, lock(1-3), sell, sellto, color.");
	            return 1;
	        }
	        if(strcmp(x_nr,"sell",true) == 0)
	        {
	            if(IsAtDealership(playerid))
	            {
	                if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pPcarkey] || GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pPcarkey2] || GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pPcarkey3])
	                {
	                    GetPlayerName(playerid, sendername, sizeof(sendername));
	                    new ownvehkey;
	                    if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pPcarkey]) { ownvehkey = PlayerInfo[playerid][pPcarkey]; }
	                    else if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pPcarkey2]) { ownvehkey = PlayerInfo[playerid][pPcarkey2]; }
	                    else if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pPcarkey3]) { ownvehkey = PlayerInfo[playerid][pPcarkey3]; }
	                    else { return 1; }
	                    if(strcmp(sendername, CarInfo[ownvehkey][cOwner], true) == 0)
	                    {
	                        new carsellprice = CarInfo[ownvehkey][cValue] / 4 * 3;
	                        new Float:x,Float:y,Float:z;
	                        new Float:a;
	                        CarInfo[ownvehkey][cOwned] = 0;
	                        strmid(CarInfo[ownvehkey][cOwner], "Dealership", 0, strlen("Dealership"), 999);
	                        GivePlayerMoney(playerid, carsellprice);
	                        PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
	                        format(string, sizeof(string), "~w~You have sold your car for: ~n~~g~$%d", carsellprice);
	                        GameTextForPlayer(playerid, string, 10000, 3);
	                        GetVehiclePos(ownvehkey, x, y, z);
	                        GetVehicleZAngle(ownvehkey, a);
	                        CarInfo[ownvehkey][cLocationx] = x;
	                        CarInfo[ownvehkey][cLocationy] = y;
	                        CarInfo[ownvehkey][cLocationz] = z;
	                        CarInfo[ownvehkey][cAngle] = a;
	                        if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pPcarkey]) { PlayerInfo[playerid][pPcarkey] = 999; }
	                        else if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pPcarkey2]) { PlayerInfo[playerid][pPcarkey2] = 999; }
	                        else if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pPcarkey3]) { PlayerInfo[playerid][pPcarkey3] = 999; }
	                        RemovePlayerFromVehicle(playerid);
	                        TogglePlayerControllable(playerid, 1);
	                        if(PlayerInfo[playerid][pLocal] == ownvehkey)
	                        {
	                            SetPlayerInterior(playerid,0);
	                            SetPlayerPos(playerid,CarInfo[ownvehkey][cLocationx],CarInfo[ownvehkey][cLocationy],CarInfo[ownvehkey][cLocationz]);
	                            PlayerInfo[playerid][pInt] = 0;
	                        }
	                        OnPropUpdate();
	                        OnPlayerUpdate(playerid);
	                        DestroyVehicle(ownvehkey);
							CreateVehicle(CarInfo[ownvehkey][cModel],CarInfo[ownvehkey][cLocationx],CarInfo[ownvehkey][cLocationy],CarInfo[ownvehkey][cLocationz]+1.0,CarInfo[ownvehkey][cAngle],CarInfo[ownvehkey][cColorOne],CarInfo[ownvehkey][cColorTwo],60000);
	                        return 1;
	                    }
	                }
	                else
	                {
	                    SendClientMessage(playerid, COLOR_GREY, "** you have to sit at your own car to sell it!");
	                    return 1;
	                }
	            }
	            else
	            {
	                SendClientMessage(playerid, COLOR_GREY, "** you are not at a dealership");
	                return 1;
	            }
	        }
	        else if(strcmp(x_nr,"sellto",true) == 0)
	        {
				if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pPcarkey] || GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pPcarkey2] || GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pPcarkey3])
				{
				    GetPlayerName(playerid, sendername, sizeof(sendername));
				    new ownvehkey;
	                if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pPcarkey]) { ownvehkey = PlayerInfo[playerid][pPcarkey]; }
	                else if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pPcarkey2]) { ownvehkey = PlayerInfo[playerid][pPcarkey2]; }
	                else if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pPcarkey3]) { ownvehkey = PlayerInfo[playerid][pPcarkey3]; }
        			else { return 1; }
				    if(strcmp(sendername, CarInfo[ownvehkey][cOwner], true) == 0)
				    {
						tmp = strtok(cmdtext, idx);
						if(!strlen(tmp))
						{
						    SendClientMessage(playerid, COLOR_WHITE, "HINT: /v sellto [playerid/PartOfName] [price]");
						    return 1;
						}
						giveplayerid = ReturnUser(tmp);
						if(IsPlayerConnected(giveplayerid))
						{
							if(giveplayerid != INVALID_PLAYER_ID)
							{
							    if(ProxDetectorS(8.0, playerid, giveplayerid))
       							{
							    	if(PlayerInfo[giveplayerid][pPcarkey] == 999)
							    	{
							            tmp = strtok(cmdtext, idx);
							            if(!strlen(tmp))
							            {
							                SendClientMessage(playerid, COLOR_WHITE, "HINT: /v sellto [playerid/PartOfName] [price]");
							                return 1;
							            }
							            new price;
							            price = strval(tmp);
							            if(price < 1 || price > 1500000)
							            {
							                SendClientMessage(playerid, COLOR_GREY, "** Price not lower then 1 and not higher then 1500000.");
							                return 1;
							            }
							            GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
							       		format(string, sizeof(string), "* you offerd %s to buy your car for $%d", giveplayer, price);
					        			SendClientMessage(playerid, COLOR_WHITE, string);
					        			format(string, sizeof(string), "* Car Owner %s offered you to buy his/her car for $%d, type ( /accept ownablecar ) to buy.", playername, price);
					        			SendClientMessage(giveplayerid, COLOR_WHITE, string);
					        			OwnableCarOffer[giveplayerid] = playerid;
					        			OwnableCarID[giveplayerid] = ownvehkey;
					        			OwnableCarPrice[giveplayerid] = price;
					        			return 1;
							        }
							        else if(PlayerInfo[giveplayerid][pPcarkey2] == 999)
							        {
							            tmp = strtok(cmdtext, idx);
							            if(!strlen(tmp))
							            {
							                SendClientMessage(playerid, COLOR_WHITE, "HINT: /v sellto [playerid/PartOfName] [price]");
							                return 1;
							            }
							            new price;
							            price = strval(tmp);
							            if(price < 1 || price > 1500000)
							            {
							                SendClientMessage(playerid, COLOR_GREY, "** Price not lower then 1 and not higher then 1500000.");
							                return 1;
							            }
							            GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
							       		format(string, sizeof(string), "* you offerd %s to buy your car for $%d", giveplayer, price);
					        			SendClientMessage(playerid, COLOR_WHITE, string);
					        			format(string, sizeof(string), "* Car Owner %s offered you to buy his/her car for $%d, type ( /accept ownablecar ) to buy.", playername, price);
					        			SendClientMessage(giveplayerid, COLOR_WHITE, string);
					        			OwnableCarOffer[giveplayerid] = playerid;
					        			OwnableCarID[giveplayerid] = ownvehkey;
					        			OwnableCarPrice[giveplayerid] = price;
					        			return 1;
							        }
							        else if(PlayerInfo[giveplayerid][pPcarkey3] == 999)
							        {
							            tmp = strtok(cmdtext, idx);
							            if(!strlen(tmp))
							            {
							                SendClientMessage(playerid, COLOR_WHITE, "HINT: /v sellto [playerid/PartOfName] [price]");
							                return 1;
							            }
							            new price;
							            price = strval(tmp);
							            if(price < 1 || price > 1500000)
							            {
							                SendClientMessage(playerid, COLOR_GREY, "** Price not lower then 1 and not higher then 1500000.");
							                return 1;
							            }
							            GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
							       		format(string, sizeof(string), "* you offerd %s to buy your car for $%d", giveplayer, price);
					        			SendClientMessage(playerid, COLOR_WHITE, string);
					        			format(string, sizeof(string), "* Car Owner %s offered you to buy his/her car for $%d, type ( /accept ownablecar ) to buy.", playername, price);
					        			SendClientMessage(giveplayerid, COLOR_WHITE, string);
					        			OwnableCarOffer[giveplayerid] = playerid;
					        			OwnableCarID[giveplayerid] = ownvehkey;
					        			OwnableCarPrice[giveplayerid] = price;
					        			return 1;
							        }
							        else
							        {
							            SendClientMessage(playerid, COLOR_GREY, "** Player has 3 cars already !");
							            return 1;
							        }
							    }
							    else
							    {
							        SendClientMessage(playerid, COLOR_GREY, "** Player isn't near you !");
							        return 1;
							    }
							}
						}
				    }
				    else
				    {
				        SendClientMessage(playerid, COLOR_GREY, "** This isn't your car !");
				        return 1;
				    }
				}
				else
				{
				    SendClientMessage(playerid, COLOR_GREY, "** you have to sit at your own car to sell it");
				    return 1;
				}
	        }
	        else if(strcmp(x_nr,"park",true) == 0)
	        {
	            new Float:x,Float:y,Float:z;
				new Float:a;
				new carid;
				new getcarid;
				if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pPcarkey]) { carid = PlayerInfo[playerid][pPcarkey]; }
				else if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pPcarkey2]) { carid = PlayerInfo[playerid][pPcarkey2]; }
				else if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pPcarkey3]) { carid = PlayerInfo[playerid][pPcarkey3]; }
				else { return 1; }
				getcarid = GetPlayerVehicleID(playerid);
				GetPlayerName(playerid, playername, sizeof(playername));
				GetVehiclePos(carid, x, y, z);
				//GetPlayerFacingAngle(playerid, a);
				GetVehicleZAngle(carid, a);
				if(IsPlayerInVehicle(playerid,carid) && CarInfo[carid][cOwned] == 1)
				{
			   		if(PlayerInfo[playerid][pPcarkey] == 999 && PlayerInfo[playerid][pPcarkey2] == 999 & PlayerInfo[playerid][pPcarkey3])
					{
						SendClientMessage(playerid, COLOR_GREY, "** you don't own a car.");
						return 1;
					}
					if(getcarid == carid)
					{
						CarInfo[carid][cLocationx] = x;
						CarInfo[carid][cLocationy] = y;
						CarInfo[carid][cLocationz] = z;
						CarInfo[carid][cAngle] = a;
						format(string, sizeof(string), "~n~ You have parked your vehicle in this location. ~n~");
						GameTextForPlayer(playerid, "** you have parked your vehicle in this position. It will respawn here.", 10000, 3);
						OnPropUpdate();
						OnPlayerUpdate(playerid);
						DestroyVehicle(carid);
						CreateVehicle(CarInfo[carid][cModel],CarInfo[carid][cLocationx],CarInfo[carid][cLocationy],CarInfo[carid][cLocationz]+1.0,CarInfo[carid][cAngle],CarInfo[carid][cColorOne],CarInfo[carid][cColorTwo],60000);
						TogglePlayerControllable(playerid, 1);
						return 1;
   					}
				}
	        }
	        else if(strcmp(x_nr,"lock1",true) == 0)
	        {
                new keycar = PlayerInfo[playerid][pPcarkey];
                if(keycar != 999)
                {
                    new locked[256];
                    locked = strtok(cmdtext, idx);
                    if(CarInfo[keycar][cLock] == 1)
                    {
                    	for(new i = 0; i < MAX_PLAYERS; i++)
						{
							if (IsPlayerConnected(i))
							{
								SetVehicleParamsForPlayer(keycar,i,0,0);
							}
						}
						format(string, sizeof(string), "~w~Vehicle~n~~g~Unlocked");
						GameTextForPlayer(playerid, string, 4000, 3);
						CarInfo[keycar][cLock] = 0;
						OnPropUpdate();
						return 1;
					}
					else if(CarInfo[keycar][cLock] == 0)
					{
					    for(new i = 0; i < MAX_PLAYERS; i++)
						{
							if (IsPlayerConnected(i))
							{
								SetVehicleParamsForPlayer(keycar,i,0,1);
							}
						}
						format(string, sizeof(string), "~w~Vehicle~n~~r~Locked");
						GameTextForPlayer(playerid, string, 4000, 3);
						CarInfo[keycar][cLock] = 1;
						OnPropUpdate();
						return 1;
					}
                }
                else
                {
                    SendClientMessage(playerid, COLOR_GREY, "** you don't have a vehicle at slot 1");
                    return 1;
                }
	        }
	        else if(strcmp(x_nr,"lock2",true) == 0)
	        {
                new keycar = PlayerInfo[playerid][pPcarkey2];
                if(keycar != 999)
                {
                    new locked[256];
                    locked = strtok(cmdtext, idx);
                    if(CarInfo[keycar][cLock] == 1)
                    {
                    	for(new i = 0; i < MAX_PLAYERS; i++)
						{
							if (IsPlayerConnected(i))
							{
								SetVehicleParamsForPlayer(keycar,i,0,0);
							}
						}
						format(string, sizeof(string), "~w~Vehicle~n~~g~Unlocked");
						GameTextForPlayer(playerid, string, 4000, 3);
						CarInfo[keycar][cLock] = 0;
						OnPropUpdate();
						return 1;
					}
					else if(CarInfo[keycar][cLock] == 0)
					{
					    for(new i = 0; i < MAX_PLAYERS; i++)
						{
							if (IsPlayerConnected(i))
							{
								SetVehicleParamsForPlayer(keycar,i,0,1);
							}
						}
						format(string, sizeof(string), "~w~Vehicle~n~~r~Locked");
						GameTextForPlayer(playerid, string, 4000, 3);
						CarInfo[keycar][cLock] = 1;
						OnPropUpdate();
						return 1;
					}
                }
                else
                {
                    SendClientMessage(playerid, COLOR_GREY, "** you don't have a vehicle at slot 2");
                    return 1;
                }
	        }
	        else if(strcmp(x_nr,"lock3",true) == 0)
	        {
                new keycar = PlayerInfo[playerid][pPcarkey3];
                if(keycar != 999)
                {
                    new locked[256];
                    locked = strtok(cmdtext, idx);
                    if(CarInfo[keycar][cLock] == 1)
                    {
                    	for(new i = 0; i < MAX_PLAYERS; i++)
						{
							if (IsPlayerConnected(i))
							{
								SetVehicleParamsForPlayer(keycar,i,0,0);
							}
						}
						format(string, sizeof(string), "~w~Vehicle~n~~g~Unlocked");
						GameTextForPlayer(playerid, string, 4000, 3);
						CarInfo[keycar][cLock] = 0;
						OnPropUpdate();
						return 1;
					}
					else if(CarInfo[keycar][cLock] == 0)
					{
					    for(new i = 0; i < MAX_PLAYERS; i++)
						{
							if (IsPlayerConnected(i))
							{
								SetVehicleParamsForPlayer(keycar,i,0,1);
							}
						}
						format(string, sizeof(string), "~w~Vehicle~n~~r~Locked");
						GameTextForPlayer(playerid, string, 4000, 3);
						CarInfo[keycar][cLock] = 1;
						OnPropUpdate();
						return 1;
					}
                }
                else
                {
                    SendClientMessage(playerid, COLOR_GREY, "** you don't have a vehicle at slot 3");
                    return 1;
                }
	        }
	        else if(strcmp(x_nr,"color",true) == 0)
	        {
	            if(PlayerInfo[playerid][pPcarkey] == 999 && PlayerInfo[playerid][pPcarkey2] == 999 && PlayerInfo[playerid][pPcarkey3] == 999)
	        	{
	            	SendClientMessage(playerid, COLOR_GREY, "** you don't have a vehicle to respray.");
	            	return 1;
	        	}
	        	if(GetPlayerMoney(playerid) < 1000)
	        	{
	            	SendClientMessage(playerid, COLOR_GREY, "** you don't have enough money for vehicle respray.");
	            	return 1;
	        	}
	        	tmp = strtok(cmdtext, idx);
	        	if(!strlen(tmp))
				{
					SendClientMessage(playerid, COLOR_WHITE, "USAGE: /v color [ColorOneID] [ColorTwoID]");
					return 1;
				}
				new color1;
				color1 = strval(tmp);
				if(color1 < 0 && color1 > 126)
				{
			    	SendClientMessage(playerid, COLOR_GREY, "** Wrong color id !");
			    	return 1;
				}
				tmp = strtok(cmdtext, idx);
	        	if(!strlen(tmp))
				{
					SendClientMessage(playerid, COLOR_WHITE, "USAGE: /v color [ColorOneID] [ColorTwoID]");
					return 1;
				}
				new color2;
				color2 = strval(tmp);
				if(color2 < 0 && color2 > 126)
				{
			    	SendClientMessage(playerid, COLOR_GREY, "** Wrong color id !");
			    	return 1;
				}

				new vehid;
				if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pPcarkey]) { vehid = PlayerInfo[playerid][pPcarkey]; }
				else if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pPcarkey2]) { vehid = PlayerInfo[playerid][pPcarkey2]; }
				else if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pPcarkey3]) { vehid = PlayerInfo[playerid][pPcarkey3]; }
				else { return 1; }

	        	if(IsPlayerInVehicle(playerid, vehid))
	        	{
         			CarInfo[vehid][cColorOne] = color1;
	                CarInfo[vehid][cColorTwo] = color2;
	                GivePlayerMoney(playerid, -1000);
	                GameTextForPlayer(playerid, "~w~Bill for a Paint Respray~n~~r~-$1000", 5000, 1);
	                ChangeVehicleColor(vehid, color1, color2);
	                OnPropUpdate();
					OnPlayerUpdate(playerid);
					return 1;
    			}
	        	else
	        	{
	            	SendClientMessage(playerid, COLOR_GREY, "** you are not in your vehicle.");
	            	return 1;
	        	}
	        }
	        else if(strcmp(x_nr,"buy",true) == 0)
	        {
	            if(IsAnOwnableCar(idcar))
	            {
	                if(PlayerInfo[playerid][pLevel] < 3)
			    	{
                    	SendClientMessage(playerid, COLOR_GREY, "** you need to be level 3 to buy a vehicle !");
                    	return 1;
			    	}
   					if(SBizzInfo[1][sbProducts] == 0)
					{
						GameTextForPlayer(playerid, "~r~Out Of Stock", 5000, 1);
						return 1;
					}
			    	if(PlayerInfo[playerid][pPcarkey] == 999) { }
			    	else if(PlayerInfo[playerid][pPcarkey2] == 999) { }
			    	else if(PlayerInfo[playerid][pPcarkey3] == 999) { }
			    	else { SendClientMessage(playerid, COLOR_GREY, "** you already own 3 vehicles !"); return 1; }
					if(CarInfo[idcar][cOwned] == 1)
					{
				    	SendClientMessage(playerid, COLOR_GREY, "Someone already owns this car");
				    	return 1;
					}
					if(GetPlayerMoney(playerid) >= CarInfo[idcar][cValue])
					{
					    if(PlayerInfo[playerid][pPcarkey] == 999) { PlayerInfo[playerid][pPcarkey] = idcar; }
					    else if(PlayerInfo[playerid][pPcarkey2] == 999) { PlayerInfo[playerid][pPcarkey2] = idcar; }
					    else if(PlayerInfo[playerid][pPcarkey3] == 999) { PlayerInfo[playerid][pPcarkey3] = idcar; }
					    else { return 1; }
						CarInfo[idcar][cOwned] = 1;
						GetPlayerName(playerid, sendername, sizeof(sendername));
						strmid(CarInfo[idcar][cOwner], sendername, 0, strlen(sendername), 999);
						GivePlayerMoney(playerid, -CarInfo[idcar][cValue]);
Reply


Messages In This Thread
Selling Cars - by gigz - 23.07.2012, 05:35
Re: Selling Cars - by Georgi166 - 23.07.2012, 05:36
Re: Selling Cars - by JaKe Elite - 23.07.2012, 05:41
Re: Selling Cars - by gigz - 23.07.2012, 06:20
Re: Selling Cars - by Kindred - 23.07.2012, 06:53
Re: Selling Cars - by gigz - 23.07.2012, 15:48
Re: Selling Cars - by gigz - 25.07.2012, 12:07

Forum Jump:


Users browsing this thread: 2 Guest(s)