Перейти к содержанию
Авторизация  
АЛЕКСАНДР МАМАЕВ

проблема с командой /sellcar

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

АЛЕКСАНДР МАМАЕВ

Здравствуйте, вшил в мод команду /sellcar,

но работает не правильно Тест выявил проблему 
Продаешь свое авто человеку, он покупает

и сразу же еще одна машина такая же создается, из за чего может это быть?

case dialog_SELLCAR:
        {
        if(!response) return false;
         
        new id = GetPVarInt(playerid,"yesno_playerid"), slot = GetPVarInt(playerid, "slot_id") - 1, sum = GetPVarInt(playerid, "summ_sellcar"); // ID это тот, кто продал машину
         
        if(PLAYER_DATA[playerid][data_VEH][listitem] != INVALID_VEHICLE_ID) return SendClientMessage(playerid, COLOR_WARNING, "У Вас уже имеется автомобиль в данном слоте, сначала утилизируйте либо продайте старый");
         
        PLAYER_DATA[playerid][data_CAR][listitem] = PLAYER_DATA[id][data_CAR][slot];
        PLAYER_DATA[playerid][data_MILEAGE][listitem] = PLAYER_DATA[id][data_MILEAGE][slot];
        PLAYER_DATA[playerid][data_CARX][listitem] = PLAYER_DATA[id][data_CARX][slot];
        PLAYER_DATA[playerid][data_CARY][listitem] = PLAYER_DATA[id][data_CARY][slot];
        PLAYER_DATA[playerid][data_CARZ][listitem] = PLAYER_DATA[id][data_CARZ][slot];
        PLAYER_DATA[playerid][data_CARANGLE][listitem] = PLAYER_DATA[id][data_CARANGLE][slot];
        PLAYER_DATA[playerid][data_CAR_COLOR1][listitem] = PLAYER_DATA[id][data_CAR_COLOR1][slot];
        PLAYER_DATA[playerid][data_CAR_COLOR2][listitem] = PLAYER_DATA[id][data_CAR_COLOR2][slot];
        PLAYER_DATA[playerid][data_CARFUEL][listitem] = PLAYER_DATA[id][data_CARFUEL][slot];
         
        PLAYER_DATA[id][data_CAR][slot] = 0;
        PLAYER_DATA[id][data_MILEAGE][slot] = 0;
        PLAYER_DATA[id][data_CARX][slot] = 0;
        PLAYER_DATA[id][data_CARY][slot] = 0;
        PLAYER_DATA[id][data_CARZ][slot] = 0;
        PLAYER_DATA[id][data_CARANGLE][slot] = 0;
        PLAYER_DATA[id][data_CAR_COLOR1][slot] = 0;
        PLAYER_DATA[id][data_CAR_COLOR2][slot] = 0;
        PLAYER_DATA[id][data_CARFUEL][slot] = 0;
         
        strmid(car_NUMBER[playerid][listitem], car_NUMBER[id][slot], 0, strlen(car_NUMBER[id][slot]), 64);
                strmid(car_NUMBER[id][slot], "None", 0, strlen("None"), 20);
         
 
    if(car_label[PLAYER_DATA[id][data_VEH][slot]] != Text3D:INVALID_3DTEXT_ID)
                {
                    DestroyDynamic3DTextLabel(car_label[PLAYER_DATA[id][data_VEH][slot]]);
                    car_label[PLAYER_DATA[id][data_VEH][slot]] = Text3D:INVALID_3DTEXT_ID;
                }
 
    if(PLAYER_DATA[playerid][data_VEH][listitem] != INVALID_VEHICLE_ID)
    {
            DestroyVehicle(PLAYER_DATA[playerid][data_VEH][listitem]);
                        PLAYER_DATA[playerid][data_VEH][listitem] = INVALID_VEHICLE_ID;
                }
                 
                PLAYER_DATA[id][data_MONEY] += sum;
                PLAYER_DATA[playerid][data_MONEY] -= sum;
                 
                SavePlayerData(id);
                SavePlayerData(playerid);
                 
                LOAD_PLAYER_CAR(playerid);
                 
                SendClientMessage(id, COLOR_GREEN, "Поздравляем Вас с продажей автомобиля");
                SendClientMessage(playerid, COLOR_LBLUE, "Поздравляем Вас с приобретением автомобиля");
                SendClientMessage(playerid, COLOR_LBLUE, "Автомобиль появился на том месте, где его припарковал прежний владелец");
                SendClientMessage(playerid, COLOR_LBLUE, "Чтобы найти автомобиль, используйте: /gps -> Найти личный автомобиль");
                 
                DeletePVar(playerid, "yesno_playerid");
                DeletePVar(playerid, "yesno");
                DeletePVar(playerid, "yesno_sellcar");
                DeletePVar(playerid, "summ_sellcar");
                 
        }

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


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

Хм, 2 акк имешь тут?, не думаю что если ты написал 2 одинаковых поста  то на них ответят быстро.

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


Ссылка на сообщение
Поделиться на другие сайты
АЛЕКСАНДР МАМАЕВ

@Denis2131, 1 аккаунт почему решил что 2? 

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


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

@АЛЕКСАНДР МАМАЕВ,одинаковые темы, с 2 разных акк, точь в точь все также написано, хотя может один мод используйте.хм

Изменено пользователем Denis2131

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


Ссылка на сообщение
Поделиться на другие сайты
АЛЕКСАНДР МАМАЕВ

@Denis2131, там вопще другой код вопщето присмотрись да и проблема другая

Изменено пользователем АЛЕКСАНДР МАМАЕВ

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


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

@Denis2131,ты имел ввиду мой пост? Ты совсем? Ты смотри его регу и мою и смотри какой у меня мод и какой он скидывает xD мда 

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


Ссылка на сообщение
Поделиться на другие сайты
АЛЕКСАНДР МАМАЕВ

я понел что когда игрок продаёт авто 

его должно удаляться

и создоваться такоеже для игрока что купил 

но почемуто удаляеться авто только окгда игрок что продовал выходит с сервера

когда снова заходит всё норм

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


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

@АЛЕКСАНДР МАМАЕВ,

Попробуй этот код

		case dialog_SELLCAR:
		{
			if(!response) return 1;
			{
			   	PI[playerid][cModel] = 0;
				PI[playerid][cLock] = 1;
				PI[playerid][cColor][0] = PI[playerid][cColor][1] = 0;
				PI[playerid][cClass] = 0;
				PI[playerid][cFuel] = 45;
				PI[playerid][cPaintjob] = 3;
				PI[playerid][cProbeg] = 0.0;
				for(new i = 0; i < 14; i++) PI[playerid][cVehcoms][i] = 0;
				format(PI[playerid][cVehcom], 64, "%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d",
				PI[playerid][cVehcoms][0],PI[playerid][cVehcoms][1],PI[playerid][cVehcoms][2],
				PI[playerid][cVehcoms][3],PI[playerid][cVehcoms][4],PI[playerid][cVehcoms][5],
				PI[playerid][cVehcoms][6],PI[playerid][cVehcoms][7],PI[playerid][cVehcoms][8],
				PI[playerid][cVehcoms][9],PI[playerid][cVehcoms][10],PI[playerid][cVehcoms][11],
				PI[playerid][cVehcoms][12],PI[playerid][cVehcoms][13]);
				new string[128];
				format(string, sizeof(string), "Вы продали ваше транспортное средство за {ffcc00}%d {ffcc00} рублей", PI[playerid][cCost] / 2);
				SendClientMessage(playerid, COLOR_BLUE, string);
				TransferMoney(-1,playerid,PI[playerid][cCost] / 2);
				PI[playerid][pRegVehicle] = 0;
    			MysqlUpdatePlayerInt(playerid, "veh_reg", PI[playerid][pRegVehicle]);
    			strmid(PI[playerid][pNumberVehicle], "[ HET HOMEPOB ]", 0, strlen("[ HET HOMEPOB ]"), 20);
    			MysqlUpdatePlayerStr(playerid, "veh_number", PI[playerid][pNumberVehicle]);
    			Delete3DTextLabel(VehicleLabel[PI[playerid][PlayerCarID]]);
				format(string, sizeof(string), "Игрок %s продал транспорт %s[%i] за %d Рублей", GetName(playerid), VehicleNames[GetVehicleModel(PI[playerid][PlayerCarID])-400], GetPlayerVehicleID(playerid), PI[playerid][cCost] / 2);
				SendLog("SellCar", string);
				if(PI[playerid][PlayerCarID] != INVALID_VEHICLE_ID)
				{
					DestroyVehicle(PI[playerid][PlayerCarID]);
					PI[playerid][PlayerCarID] = INVALID_VEHICLE_ID;
				}
				PI[playerid][cCost] = 0;
			}
		} 

Только там некоторое нужно под свой поднастроить будет! может и не нужно! Если что ошибки кидай!

Изменено пользователем Marvellous

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


Ссылка на сообщение
Поделиться на другие сайты
АЛЕКСАНДР МАМАЕВ

@Marvellous, у меня с базой данных и у игрока в аккаунте 3 слота для авто

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


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

@АЛЕКСАНДР МАМАЕВ, Этот код тоже от мода с БД...

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


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

@АЛЕКСАНДР МАМАЕВ,

case dialog_SELLCAR:
{
if(!response) return false;

new id = GetPVarInt(playerid,"yesno_playerid"), slot = GetPVarInt(playerid, "slot_id") - 1, sum = GetPVarInt(playerid, "summ_sellcar"); // ID это тот, кто продал машину

if(PLAYER_DATA[playerid][data_VEH][listitem] != INVALID_VEHICLE_ID) return SendClientMessage(playerid, COLOR_WARNING, "У Вас уже имеется автомобиль в данном слоте, сначала утилизируйте либо продайте старый");

PLAYER_DATA[playerid][data_CAR][listitem] = PLAYER_DATA[id][data_CAR][slot];
PLAYER_DATA[playerid][data_MILEAGE][listitem] = PLAYER_DATA[id][data_MILEAGE][slot];
PLAYER_DATA[playerid][data_CARX][listitem] = PLAYER_DATA[id][data_CARX][slot];
PLAYER_DATA[playerid][data_CARY][listitem] = PLAYER_DATA[id][data_CARY][slot];
PLAYER_DATA[playerid][data_CARZ][listitem] = PLAYER_DATA[id][data_CARZ][slot];
PLAYER_DATA[playerid][data_CARANGLE][listitem] = PLAYER_DATA[id][data_CARANGLE][slot];
PLAYER_DATA[playerid][data_CAR_COLOR1][listitem] = PLAYER_DATA[id][data_CAR_COLOR1][slot];
PLAYER_DATA[playerid][data_CAR_COLOR2][listitem] = PLAYER_DATA[id][data_CAR_COLOR2][slot];
PLAYER_DATA[playerid][data_CARFUEL][listitem] = PLAYER_DATA[id][data_CARFUEL][slot];

PLAYER_DATA[id][data_CAR][slot] = 0;
PLAYER_DATA[id][data_MILEAGE][slot] = 0;
PLAYER_DATA[id][data_CARX][slot] = 0;
PLAYER_DATA[id][data_CARY][slot] = 0;
PLAYER_DATA[id][data_CARZ][slot] = 0;
PLAYER_DATA[id][data_CARANGLE][slot] = 0;
PLAYER_DATA[id][data_CAR_COLOR1][slot] = 0;
PLAYER_DATA[id][data_CAR_COLOR2][slot] = 0;
PLAYER_DATA[id][data_CARFUEL][slot] = 0;

strmid(car_NUMBER[playerid][listitem], car_NUMBER[id][slot], 0, strlen(car_NUMBER[id][slot]), 64);
strmid(car_NUMBER[id][slot], "None", 0, strlen("None"), 20);


if(car_label[PLAYER_DATA[id][data_VEH][slot]] != Text3D:INVALID_3DTEXT_ID)
{
DestroyDynamic3DTextLabel(car_label[PLAYER_DATA[id][data_VEH][slot]]);
car_label[PLAYER_DATA[id][data_VEH][slot]] = Text3D:INVALID_3DTEXT_ID;
}

if(PLAYER_DATA[playerid][data_VEH][listitem] != INVALID_VEHICLE_ID)
{
DestroyVehicle(PLAYER_DATA[playerid][data_VEH][listitem]);
PLAYER_DATA[playerid][data_VEH][listitem] = INVALID_VEHICLE_ID;
}

if(PLAYER_DATA[id][data_VEH][slot] != INVALID_VEHICLE_ID)
{
DestroyVehicle(PLAYER_DATA[id][data_VEH][slot]);
PLAYER_DATA[id][data_VEH][slot] = INVALID_VEHICLE_ID;
}

PLAYER_DATA[id][data_MONEY] += sum;
PLAYER_DATA[playerid][data_MONEY] -= sum;

SavePlayerData(id);
SavePlayerData(playerid);

LOAD_PLAYER_CAR(playerid);

SendClientMessage(id, COLOR_GREEN, "Поздравляем Вас с продажей автомобиля");
SendClientMessage(playerid, COLOR_LBLUE, "Поздравляем Вас с приобретением автомобиля");
SendClientMessage(playerid, COLOR_LBLUE, "Автомобиль появился на том месте, где его припарковал прежний владелец");
SendClientMessage(playerid, COLOR_LBLUE, "Чтобы найти автомобиль, используйте: /gps -> Найти личный автомобиль");

DeletePVar(playerid, "yesno_playerid");
DeletePVar(playerid, "yesno");
DeletePVar(playerid, "yesno_sellcar");
DeletePVar(playerid, "summ_sellcar");

} 
  • Like 1

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


Ссылка на сообщение
Поделиться на другие сайты
Гость
Эта тема закрыта для публикации ответов.
Авторизация  

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

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

×

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

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