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

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

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

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

Проблема с продажей авто.

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

Alex_Brooks

Ученик
Здравствуйте уважаемые пользователи pawno-info.
Мне нужна ваша помощь, так как я вообще перестал понимать смысл кода.
Я сделал команду /sellcar в свой мод (Основа GF, server diamond = Не реклама).
Только само авто не продаётся игроку ,и у того игрока , который продаёт авто, тоже не убирается.
Ниже предоставляю разные команды , которые связанные с продажей авто.
Сама команда /sellcar:
PHP:
else if(strcmp(cmd, "/sellcar", true) == 0)
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_GREY, "Введите: /sellcar [playerid/PartOfName] [Цена]");
new playa;
new money;
playa = ReturnUser(tmp);
tmp = strtok(cmdtext, idx);
money = strval(tmp);
if(money < 1 || money > 10000000) { SendClientMessage(playerid, COLOR_GREY, "Нельзя меньше 1$ и больше 10 миллионов$!"); return 1; }
if(IsPlayerConnected(playa))
{
if(playa != INVALID_PLAYER_ID)
{
if(ProxDetectorS(8.0, playerid, playa))
{
if(playa == playerid) { SendClientMessage(playerid, COLOR_GREY, "Вы не сможете продать машину самому себе!"); return 1; }
GetPlayerName(playa, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "Вы предложили %s купить вашу машину за %d$.",giveplayer,money);
SendClientMessage(playerid, 0x33CCFFAA, string);
format(string, sizeof(string), "%s предлагает вам купить его машину за %d$. Введите /accept car,чтобы совершить сделку.",sendername,money);
SendClientMessage(playa, 0x33CCFFAA, string);
CarOffer[playa] = playerid;
CarPrice[playa] = money;
}
else
{
SendClientMessage(playerid, COLOR_GREY, "Покупатель не рядом с вами!");
}
}
}
else
{
SendClientMessage(playerid, COLOR_GREY, "Great Event: Игрок не найден!");
}
return 1;
}
Покупка авто /accept car:
PHP:
   if(strcmp(x_job,"car",true) == 0)
     {
      if(CarOffer[playerid] < 999)
       {
         if(ProxDetectorS(8.0, playerid, CarOffer[playerid]))
           {
	        if(PlayerInfo[playerid][pCarKey] == -1)
	         {
             if(PlayerInfo[playerid][pMoney] < CarPrice[playerid]) return SendClientMessage(playerid, COLOR_GREY, "У вас нет столько денег на руках!");
               {
                  new vid = GetPlayerVehicleID(playerid);
                  new buycar = vid-1;
                  GetPlayerName(playerid, sendername, sizeof(sendername));
                  GetPlayerName(CarOffer[playerid], giveplayer, sizeof(giveplayer));
                  PlayerInfo[playerid][pCarKey] = PlayerInfo[CarOffer[playerid]][pCarKey];
                  PlayerInfo[playerid][pMoney] -=CarPrice[playerid];
                  PlayerInfo[CarOffer[playerid]][pMoney] +=CarPrice[playerid];
                  format(string, sizeof(string), "Вы продали машину %s за %d$!", sendername, CarPrice[playerid]);
                  SendClientMessage(CarOffer[playerid], 0x33CCFFAA, string);
                  format(string, sizeof(string), "Вы купили машину у %s за %d$!", giveplayer, CarPrice[playerid]);
                  SendClientMessage(playerid, 0x33CCFFAA, string);
                  CarsInfo[buycar][vOwned] = 1;
                  strmid(CarsInfo[buycar][vOwner], sendername, 0, strlen(sendername), 255);
                  OnPlayerSave(playerid);
                  CarOffer[playerid] = 999;
                  CarPrice[playerid] = 0;
               }
			 }
             else
             {
             SendClientMessage(playerid, COLOR_GREY, "Игрок слишком далеко от вас!");
             return 1;
             }
           }
		 }
         else
         {
         SendClientMessage(playerid, COLOR_GREY, "Вам никто не предлагал купить машину!");
         return 1;
         }
       }
Система авторынка (авто):
PHP:
// Авторынок
enum vInfo                                                                      // Для массива
{
	vOwned,                                                                     // Занята машина - 1, свободна - 0
	vOwner[MAX_PLAYER_NAME],                                                    // Владелец
	vModel,                                                                     // ИД
	Float: vPosX,                                                               // Координата спауна на авторынке X
	Float: vPosY,                                                               // Координата спауна на авторынке Y
	Float: vPosZ,                                                               // Координата спауна на авторынке Z
	Float: vAngle,                                                              // Координата спауна на авторынке Angle
	vColorOne,                                                                  // Цвет 1
	vColorTwo,                                                                  // Цвет 2
	vLock,                                                                      // Замок
	vValue,                                                                     // Цена
	Float: vParkX,                                                              // Координата спауна парка X
	Float: vParkY,                                                              // Координата спауна парка Y
	Float: vParkZ,                                                              // Координата спауна парка Z
	Float: vParkAngle,                                                          // Координата спауна парка Angle
}
Команда продажи авто штату через /mv :
PHP:
			else if(listitem == 1)
			{
	   			new sendername[MAX_PLAYER_NAME];
			    GetPlayerName(playerid, sendername, sizeof(sendername));
				if(PlayerInfo[playerid][pCarKey] != -1 && strcmp(sendername, CarsInfo[PlayerInfo[playerid][pCarKey]][vOwner], true) == 0)
		        {
		            if(IsPlayerInVehicle(playerid,PlayerInfo[playerid][pCarKey]+1))
		            {
		                GiveMoney(playerid, CarsInfo[PlayerInfo[playerid][pCarKey]][vValue]);
					    CarsInfo[PlayerInfo[playerid][pCarKey]][vOwned] = 0;
					    CarsInfo[PlayerInfo[playerid][pCarKey]][vColorOne] = -1;
					    CarsInfo[PlayerInfo[playerid][pCarKey]][vColorTwo] = -1;
					    CarsInfo[PlayerInfo[playerid][pCarKey]][vParkX] = 0.0;
					    CarsInfo[PlayerInfo[playerid][pCarKey]][vParkY] = 0.0;
					    CarsInfo[PlayerInfo[playerid][pCarKey]][vParkZ] = 0.0;
					    CarsInfo[PlayerInfo[playerid][pCarKey]][vParkAngle] = 0.0;
					    CarsInfo[PlayerInfo[playerid][pCarKey]][vLock] = 0;
					    UnLockCar(PlayerInfo[playerid][pCarKey]+1);
					    strmid(CarsInfo[PlayerInfo[playerid][pCarKey]][vOwner], "-", 0, strlen("-"), 255);
					    TogglePlayerControllable(playerid, 1); RemovePlayerFromVehicle(playerid); SetTimerEx("CarHack", 3000, false, "i", playerid);
					    SendClientMessage(playerid, COLOR_LIGHTRED, "Вы только-что продали свой транспорт!");
					    DestroyVehicle(BuyableCar[PlayerInfo[playerid][pCarKey]]);
					    BuyableCar[PlayerInfo[playerid][pCarKey]] = CreateVehicle(CarsInfo[PlayerInfo[playerid][pCarKey]][vModel], CarsInfo[PlayerInfo[playerid][pCarKey]][vPosX], CarsInfo[PlayerInfo[playerid][pCarKey]][vPosY], CarsInfo[PlayerInfo[playerid][pCarKey]][vPosZ], CarsInfo[PlayerInfo[playerid][pCarKey]][vAngle], CarsInfo[PlayerInfo[playerid][pCarKey]][vColorOne], CarsInfo[PlayerInfo[playerid][pCarKey]][vColorTwo], -1);
                        PlayerInfo[playerid][pCarKey] = -1;
						return 1;
		            }
		            else return SendClientMessage(playerid, COLOR_GREY, "Ошибка: Вы должны находится в своём транспорте.");
		        }
		        else
				{
					SendClientMessage(playerid, COLOR_GREY, "Ошибка: У вас уже есть транспорт.");
		        	TogglePlayerControllable(playerid, 1); RemovePlayerFromVehicle(playerid); SetTimerEx("CarHack", 3000, false, "i", playerid);
		        	return 1;
				}
			}
Надеюсь на вашу помощь. Каждому по плюсику за какую-либо информацию.


---------- Post added at 14:08 ---------- Previous post was at 12:22 ----------

Никто не знает, как исправить чтоли? Надеюсь , кто-нибудь да ответит :)
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу