Доступ к архиву

Переход в группу "Пользователь"

300.00 ₽
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info

продажа авто игроку.

Статус
В этой теме нельзя размещать новые ответы.

igor_chupin

Компетентный
Проблема заключается в том что vbuy команда не корректно работает, а именно после покупки авто владелец не меняется.
Скрин
Компьютер покупателя авто.
Скрин
Компьютер продавца авто.
Код команды /vsellto:
PHP:
if(strcmp(cmd, "/vsellto",true) == 0)
	{
		if(Player[playerid][pCarkey1] == 0) return SendClientMessage(playerid, COLOR_RED, "[ОШИБКА] {FFFFFF}У вас нет личного транспорта!");
		if(sscanf(params, "dd", params[1], params[2])) return SendClientMessage(playerid, COLOR_WHITE, "{00BFFF}[КОМАНДЫ]{FFFFFF} /vsellto [id игрока] [цена]");
		if(!IsAOwnableVehicle(GetPlayerVehicleID(playerid))) return SendClientMessage(playerid,COLOR_RED, "[ОШИБКА] {FFFFFF}Вы должны находиться в своём транспортном средстве!");
		if(Player[params[1]][pCarkey1] != 0) return SendClientMessage(playerid, COLOR_RED, "[ОШИБКА] {FFFFFF}У этого игрока уже есть личный транспорт!");
		if((params[2] < 1000 || params[2] > 10000000) && (params[1] != playerid)) return SendClientMessage(playerid, COLOR_RED, "[ОШИБКА] {FFFFFF}Цена за авто должна составлять от 1000$ до 10000000$");
		if(!IsPlayerConnected(params[1])) return SendClientMessage(playerid, COLOR_RED, NoConnectGivePlayer);
		if(params[1] == INVALID_PLAYER_ID) return SendClientMessage(playerid,COLOR_RED, NoRules);
		if(ProxDetectorS(8.0, playerid, params[1]))
		{
			vselltoOffer[params[1]] = playerid;
			vselltoPrice[params[1]] = params[2];
			if(params[1] == playerid) return 1;
			GetPlayerName(params[1], giveplayer, sizeof(giveplayer));
			f(string, "* Ты предложил игроку %s купить ваш %s за $%d.", giveplayer,VehiclesName[GetVehicleModel(GetPlayerVehicleID(playerid))-400], params[2]);
			SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
			f(string, "* Игрок %s предлагает вам купить %s за $%d, введите (/accept vbuy) для подтверждения.", sendername(playerid), VehiclesName[GetVehicleModel(GetPlayerVehicleID(playerid))-400], params[2]);
			SendClientMessage(params[1], COLOR_LIGHTBLUE, string);
		}
		else
		{
			SendClientMessage(playerid, COLOR_RED, "[ОШИБКА] {FFFFFF}Игрок не возле тебя!");
		}
		return 1;
	}
Код команды /accept vbuy:
PHP:
if(strcmp(params[0],"vbuy",true) == 0)
		{
			if(vselltoOffer[playerid] == 999) return send(playerid, COLOR_RED, "[ОШИБКА] {FFFFFF}Никто не предлагал вам купить авто!");
			if(Player[playerid][pCarkey1] != 0)return send(playerid,COLOR_RED, "[ОШИБКА] {FFFFFF}У вас уже есть личный транспорт!");
			if(Player[playerid][pMoney] < vselltoPrice[playerid])return send(playerid,COLOR_RED, "[ОШИБКА] {FFFFFF}Недостаточно наличных для покупки авто!");
			new carkey[MAX_PLAYERS];
			GetPlayerName(vselltoOffer[playerid], giveplayer, sizeof(giveplayer));
			format(string, sizeof(string), "* Вы купили авто за $%d у игрока %s.",vselltoPrice[playerid], giveplayer);
			send(playerid, COLOR_LIGHTBLUE, string);
			format(string, sizeof(string), "* %s купил у вас авто $%d.", sendername(playerid), vselltoPrice[playerid]);
			send(vselltoOffer[playerid], COLOR_LIGHTBLUE, string);
			carkey[playerid] = Player[vselltoOffer[playerid]][pCarkey1];
			Player[vselltoOffer[playerid]][pCarkey1] = 0;
			Player[playerid][pCarkey1] = carkey[playerid];
			for(new ocar =0 ; ocar < OWNABLECARS; ocar++)
			{
				if(!strcmp(OwnableCar[carkey[playerid]-SIMPLECARS-1][ocOwner],vselltoOffer[playerid],true)) strmid(OwnableCar[ocar][ocOwner], sendername(playerid), 0, strlen(sendername(playerid)), 999);
			}
			GivePlayerKapusta(vselltoOffer[playerid],vselltoPrice[playerid]);
			GivePlayerKapusta(playerid, -vselltoPrice[playerid]);
			carkey[playerid] = 0;
			vselltoOffer[playerid] = 999;
			vselltoPrice[playerid] = 0;
			SaveOwnableCars();
			SaveAccount(vselltoOffer[playerid]);
			SaveAccount(playerid);
			return true;
		}
За помощь буду очень благодарен я весь измучился не как не выходит.С меня Спасибка и в следующей версии упомяну вас.
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу