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

ремонт машины в сто

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

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

Всем привет зделал в сто есть ремонт авто а какнибудь можно сделать чтоб фракционые авто бесплатно ремонтировались?

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


Ссылка на сообщение
Поделиться на другие сайты
noname_idk
@АЛЕКСАНДР МАМАЕВ, при снятии денег проверку добавьте, не является ли авто фракционным. Транспортные средства фракций в базе данных прописаны или в моде? Если в базе, покажите их загрузку. Если в моде, покажите как они объявлены.

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


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

,

new gov_car[2];//МАШИНЫ ПРАВИТЕЛЬСТВА
new army_car[2];//МАШИНЫ АРМИИ
new police_car[2];//МАШИНЫ ПОЛИЦИИ
new Bus[2];//Автобусы
new Gazel[2];//Маршрутки
new taxi[2];//такси
new hospital_car[2];//МАШИНЫ МЕДИКОВ
new fsb_car[2];//МАШИНЫ ФСБ
new smi_car[2];//МАШИНЫ РЕПОРТЁРОВ
new rostov_car[2];//МАШИНЫ ЮЖНОГО ОПГ
new maykop_car[2];//МАШИНЫ ЭДОВСКОГО ОПГ 

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


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

@АЛЕКСАНДР МАМАЕВ, в конец мода:

stock IsTheVehicleFrac(vehicleid)
{
	for(new idx; idx < sizeof(gov_car); idx++)
	{
		if(vehicleid == gov_car[idx]) return true;
	}
	for(new idx; idx < sizeof(army_car); idx++)
	{
		if(vehicleid == army_car[idx]) return true;
	}
	for(new idx; idx < sizeof(police_car); idx++)
	{
		if(vehicleid == police_car[idx]) return true;
	}
	for(new idx; idx < sizeof(Bus); idx++)
	{
		if(vehicleid == Bus[idx]) return true;
	}
	for(new idx; idx < sizeof(Gazel); idx++)
	{
		if(vehicleid == Gazel[idx]) return true;
	}
	for(new idx; idx < sizeof(taxi); idx++)
	{
		if(vehicleid == taxi[idx]) return true;
	}
	for(new idx; idx < sizeof(hospital_car); idx++)
	{
		if(vehicleid == hospital_car[idx]) return true;
	}
	for(new idx; idx < sizeof(fsb_car); idx++)
	{
		if(vehicleid == fsb_car[idx]) return true;
	}
	for(new idx; idx < sizeof(smi_car); idx++)
	{
		if(vehicleid == smi_car[idx]) return true;
	}
	for(new idx; idx < sizeof(rostov_car); idx++)
	{
		if(vehicleid == rostov_car[idx]) return true;
	}
	for(new idx; idx < sizeof(maykop_car); idx++)
	{
		if(vehicleid == maykop_car[idx]) return true;
	}
	return false;
}

(табуляция немного слетела, нет времени поправлять).

И использовать так:

if(IsTheVehicleFrac(GetPlayerVehicleID(playerid))) {/*если авто фракционное*/}

if(!IsTheVehicleFrac(GetPlayerVehicleID(playerid))) {/*если авто не фракционное*/}

В вашем случае:

if(!IsTheVehicleFrac(GetPlayerVehicleID(playerid))) /*функция снятия денег*/

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


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

, может не в то место вставил нехочет работать

case dialog_CTO:
	{
		if(!response) return true;
		if(response)
		{
			switch(listitem)
			{
			case 0:
				{
				   new carid = GetPlayerVehicleID(playerid);
				   new Float:hpc;
				   if(!IsTheVehicleFrac(GetPlayerVehicleID(playerid)))
				   if(hpc == 1000.0) return SendClientMessage(playerid, COLOR_WARNING, "Ваш автомобиль находиться в идеальном состоянии!");
				   GetVehicleHealth(carid,hpc);
				   SetVehicleHealth(carid,1000.0);
				   RepairVehicle(carid);
				   if(get_player_money(playerid) < 15000) return SendClientMessage(playerid, COLOR_WARNING, "У вас недостаточно денег на руках!");
				   give_player_money(playerid, -15000, "#83");
			   	   kazna += 15000;
			       SaveWarehouse();
				   SendClientMessage(playerid, COLOR_WHITE, "Ваш транспорт отремонтирован за 15000 руб.");
				} 

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


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

if(!IsTheVehicleFrac(GetPlayerVehicleID(playerid)))

Замените на

if(!IsTheVehicleFrac(GetPlayerVehicleID(playerid))) return true;

И восклицательный знак уберите.. забыл

if(IsTheVehicleFrac(GetPlayerVehicleID(playerid))) return true;

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


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

, всеровно снимаються деньги 

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


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

 

 


 

Ну так еще убирай снятия денег:

if(get_player_money(playerid) < 15000) return SendClientMessage(playerid, COLOR_WARNING, "У вас недостаточно денег на руках!");
give_player_money(playerid, -15000, "#83");
SendClientMessage(playerid, COLOR_WHITE, "Ваш транспорт отремонтирован за 15000 руб.");

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


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

@Wеb, сделал второй пункт без денег ну чтоб фракционные ченились  хоть так пишу if(IsTheVehicleFrac(GetPlayerVehicleID(playerid))) 

хоть так 

if(!IsTheVehicleFrac(GetPlayerVehicleID(playerid))) 

всеровно чинит все подрят тачки даже обычнее нефракционные

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


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

Попробуй так:

case 0:
{
	new
	    Float: carhealth;
		
	if(carhealth == 1000.0)
	    return SendClientMessage(playerid, COLOR_WARNING, !"Ваш автомобиль находится в идеальном состоянии!");
		
        if(!IsFractionVehicle(playerid) && get_player_money(playerid) < 15000)
	    return SendClientMessage(playerid, COLOR_WARNING, !"У вас недостаточно денег на руках!");
		
	if(IsFractionVehicle(playerid))
	{
            RepairVehicle(GetPlayerVehicleID(playerid));
 	}
	else
	{
	    RepairVehicle(GetPlayerVehicleID(playerid));
            give_player_money(playerid, -15000, "#83");
	    kazna += 15000;
	    SaveWarehouse();
	    SendClientMessage(playerid, COLOR_WHITE, !"Ваш транспорт отремонтирован за 15000 руб.");
	}
}
stock IsFractionVehicle(playerid)
{
    if(GetPlayerVehicleID(playerid) == gov_car
    || GetPlayerVehicleID(playerid) == army_car
    || GetPlayerVehicleID(playerid) == police_car
    || GetPlayerVehicleID(playerid) == Bus
    || GetPlayerVehicleID(playerid) == Gazel
    || GetPlayerVehicleID(playerid) == taxi
    || GetPlayerVehicleID(playerid) == hospital_car
    || GetPlayerVehicleID(playerid) == fsb_car
    || GetPlayerVehicleID(playerid) == smi_car
    || GetPlayerVehicleID(playerid) == rostov_car
    || GetPlayerVehicleID(playerid) == maykop_car) return 1;
		
    return 0;
}

Если в стоке выдаст ошибку, то попробуй вот этот вариант, он будет точно работать.

stock IsFractionVehicle(playerid)
{
    if(gov_car[0] <= GetPlayerVehicleID(playerid) <= gov_car[1]
    || army_car[0] <= GetPlayerVehicleID(playerid) <= army_car[1]
    || police_car[0] <= GetPlayerVehicleID(playerid) <= police_car[1]
    || Bus[0] <= GetPlayerVehicleID(playerid) <= Bus[1]
    || Gazel[0] <= GetPlayerVehicleID(playerid) <= Gazel[1]
    || taxi[0] <= GetPlayerVehicleID(playerid) <= taxi[1]
    || hospital_car[0] <= GetPlayerVehicleID(playerid) <= hospital_car[1]
    || fsb_car[0] <= GetPlayerVehicleID(playerid) <= fsb_car[1]
    || smi_car[0] <= GetPlayerVehicleID(playerid) <= smi_car[1]
    || rostov_car[0] <= GetPlayerVehicleID(playerid) <= rostov_car[1]
    || maykop_car[0] <= GetPlayerVehicleID(playerid) <= maykop_car[1]) return 1;

    return 0;
}
  • Like 1

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


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

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

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

×

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

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