Перейти к содержанию
Авторизация  
Demon Hunter

Продажа авто другому игроку

Рекомендуемые сообщения

Demon Hunter

(Вырезано из мода Daring RP)

В enum CarsInfo добавляем:

 	cType,

Теперь переходим к переменным:

new CarInfo[MAX_VEHICLES][CarsInfo];
new Text3D:CarLabel[MAX_VEHICLES];
new AllCars;
new query [1024];
new summapokavto[MAX_PLAYERS];
new idpokavto[MAX_PLAYERS];
enum lLogInfo
{
	lsvadb[32],
};
new PlayerlogInfo[MAX_PLAYERS][lLogInfo];

И вот, сами команды:

	if(strcmp(cmd, "/sellcarid", true) == 0)
	{
		new cars = GetPlayerVehicleID(playerid);
		if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, COLOR_GRAD2, "Вы должны быть в автомобиле!");
		if(CarInfo[cars][cType] == 2) return SendClientMessage(playerid, COLOR_GRAD1, "Покупатель еще думает (60сек)!");
		new str[128];
		if(GetRealID(cars) == -1) return SendClientMessage(playerid, COLOR_GRAD2, "Вы должны быть в своём автомобиле");
		new playa;
		if(!strcmp(CarInfo[GetRealID(cars)][cOwner],Names(playerid),true))
		{
			tmp = strtok(cmdtext, idx);
			if(!strlen(tmp))
			{
				SetPVarInt(playerid,"cars_sell",cars);
				format(str,sizeof(str),"Этот автомобиль будет продан за %d рублей",CarInfo[GetRealID(cars)][cPrice]/2);
				SendClientMessage(playerid,-1,str);
				ShowPlayerDialog(playerid,924,0,"Продажа машины","\
				Вы собираетесь продать свою машину\n\
				Автомобиль будет продан за пол.цены(смотри чат)\n\
				Можете использовать /sellcarid [ид] [сумма]\n\
				Если согласны нажмите\"Да\"\n\
				Если не согласны нажмите\"Нет\"","Да","Нет");
				return 1;
			}
			else{
				new player = strval(tmp);
				GetPlayerName(playa,giveplayer,sizeof(giveplayer));
				if(IsPlayerConnected(player))
				{
					tmp = strtok(cmdtext, idx);
					if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_WHITE, ":::Подсказка: /sellcar [id] [цена]");
					giveplayerid = ReturnUser(tmp);
					new price = strval(tmp);
					new query99[256];
					format(query99, sizeof query99, "Тебе предложено купить авто за %d рублей от игрока %s", CarInfo[GetRealID(cars)][cNumber],price, CarInfo[GetRealID(cars)][cOwner]);
					SendClientMessage(player, COLOR_GRAD1, query99);
					SendClientMessage(player, COLOR_GRAD1, "Введите /acbuycar если согласны в течении 60-ти секунд.");
					SetTimerEx("OnSellCar_Timer", 1000*60, false, "d", player);
					SetPVarInt(playerid, "SellBizPrice", price);
					GetPlayerName(playa, giveplayer, sizeof(giveplayer));
					format(query, sizeof query, "Гражданину %s отправлено сообщение о продаже авто за %d рублей",giveplayer, price);
					SendClientMessage(playerid, COLOR_GRAD1, query);
					summapokavto[player] = price;
					idpokavto[player] = playerid;
					return 1;
				}
			}
		}
		else{SendClientMessage(playerid, COLOR_GRAD2, "Этот транспорт не ваш!");}
		return 1;
	}
	//==============================================================================
	if(strcmp(cmd, "/acbuycar", true) == 0)
	{
		new carpla = 0;
		for(new i = 1; i <= AllCars; i++)
		{
			if(!strcmp(CarInfo[i][cOwner],Names(playerid),false,24)) carpla++;
		}
			if(PlayerInfo[playerid][pDonateRank] == 3)
			{
				if(carpla >= 2) return SendClientMessage(playerid, COLOR_GRAD2, "У вас слишком много машин");
			}
			else if(carpla >= 1) return SendClientMessage(playerid, COLOR_GRAD2, "У вас слишком много машин");

		new cars = GetPlayerVehicleID(idpokavto[playerid]);
		if(summapokavto[playerid] > 0)
		{
			if(!IsPlayerInAnyVehicle(idpokavto[playerid])) return SendClientMessage(playerid, COLOR_GRAD2, "Игрок должен быть в авто");
			if(!strcmp(CarInfo[GetRealID(cars)][cOwner],Names(idpokavto[playerid]),false))
			{
				if(GetPlayerMoney(playerid) < summapokavto[playerid])
				{
					SendClientMessage(playerid, COLOR_GRAD1, "Простите но у вас недостаточно денег.");
				}else{
					GiveMoney(playerid, -summapokavto[playerid]);
					GiveMoney(idpokavto[playerid],summapokavto[playerid]);
					new nemwww[24];
					GetPlayerName(playerid,nemwww, 24);
					if(!strcmp(PlayerlogInfo[playerid][lsvadb],"none",false))
					{
						strmid(CarInfo[GetRealID(cars)][cOwner],nemwww,0,strlen(nemwww),24);
					}else{
						format(CarInfo[GetRealID(cars)][cOwner],24,"%s",nemwww);
						format(CarInfo[GetRealID(cars)][cOwnerm],24,"%s",PlayerlogInfo[playerid][lsvadb]);
					}
					strmid(CarInfo[GetRealID(cars)][cOwnerm],"none",0,strlen("none"),24);
					SendClientMessage(idpokavto[playerid], COLOR_YELLOW, "Вы успешно продали свою машину!");
					SaveCar(GetRealID(cars));
					summapokavto[playerid] = 0;
					idpokavto[playerid] = 0;
					SendClientMessage(playerid, COLOR_YELLOW, "Поздравляем с покупкой авто!");
					RemovePlayerFromVehicle(playerid);
				}
			}else{SendClientMessage(playerid, COLOR_GRAD2, "Простите но он не владелец авто!");}
		}
		return 1;
	}

Автор: Неизвестный!

  • Like 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Web

Какой еще FS? Да и не универсально вообще.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Lev_Elistratov

Внимание! Эта система ТОЛЬКО для мода Геймер! На других модах, тем более на MySQL не заработает!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Alonso

Покупатель еще думает 60 сек.

Это он до рестарта будет думать без таймера

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация  

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

Мы разместили cookie-файлы на ваше устройство, чтобы помочь сделать этот сайт лучше. Вы можете изменить свои настройки cookie-файлов, или продолжить без изменения настроек.