• 0
Lelouch

Антивозгарание тачек Хелп

Вопросы

Вечер в хату молодые,на связи Лелуш. Просьба опытных людей помочь мне с одной проблемкой... Суть в том что я хочу сделать что бы машина не горела как в обычной гташке и не взрывалась,мод на командном процессоре Pawn.CMD
Я так понял вся суть из-за "анти-чита" который тут очень убогий и никак не работает скажем так,но вот машину он чё-т то ли чинит то ли нет сам не понимаю.
В общем,благодаря людям из темы с Антивозгаранием Машины от DEST'a (2017ого года),я чёт подшаманил там,и теперь при достижении 300 или меньше HP Машины,система ставит 300 HP + Глушит авто. НО,что-то её чинит на 1000 HP,и потом опять на 300 и потом опять косарь,в общем - цирк... 
Всё что я знаю про это:
 

		if(IsPlayerInAnyVehicle(i))
		{
		    GetVehicleHealth(GetPlayerVehicleID(i), hp);
		    if(VEHICLE[GetPlayerVehicleID(i)][vHealth] < hp) {
			    if(GetPVarInt(i,"playerUsePaynSpray") == 0) SetVehicleHealth(GetPlayerVehicleID(i),VEHICLE[GetPlayerVehicleID(i)][vHealth]);
				if(GetPVarInt(i,"playerUsePaynSpray") != 0 && GetPlayerState(i) == PLAYER_STATE_DRIVER) {
				    setVehicleHealth(GetPlayerVehicleID(i),1000.0);
				    SetPVarInt(i,"playerUsePaynSpray",0);
				}
			}
			else VEHICLE[GetPlayerVehicleID(i)][vHealth] = hp;
			if(hp < 350) // Так и было если не ошибаюсь,а если ошибаюсь то тут было 300.
			{
				zavodis[i] = 0; // Я шаманил
				setVehicleHealth(GetPlayerVehicleID(i), 300.0); // Я шаманил
				RepairVehicle(GetPlayerVehicleID(i)); // Я шаманил,и походу это из-за данной функции он как бы чинил тачку. Ясно,надо снести её значит.
				GetVehicleParamsEx(GetPlayerVehicleID(i),engine,lights,alarm,doors,bonnet,boot,objective); // hz
				SetVehicleParamsEx(GetPlayerVehicleID(i),0,0,alarm,doors,bonnet,boot,objective); // hz
			}
		}

 

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


Ссылка на сообщение

5 ответов на этот вопрос

  • 0
10 минут назад, F1re сказал:

@Lelouch 

  открыть спойлер


setVehicleHealth(GetPlayerVehicleID(i), 300.0); // Я шаманил
RepairVehicle(GetPlayerVehicleID(i)); // Я шаманил,и походу это из-за данной функции он как бы чинил тачку. Ясно,надо снести её значит.
			

 

Судя по этому коду, у тебя на машину ставится 300 хп , и потом , следующая строчка кода - чинит до 1000, убери строку RepairVehicle.

Я уже заметил сам,через пару минут только смогу протестить на деле.

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


Ссылка на сообщение
  • 0

@Lelouch 

Спойлер

setVehicleHealth(GetPlayerVehicleID(i), 300.0); // Я шаманил
RepairVehicle(GetPlayerVehicleID(i)); // Я шаманил,и походу это из-за данной функции он как бы чинил тачку. Ясно,надо снести её значит.
			

 

Судя по этому коду, у тебя на машину ставится 300 хп , и потом , следующая строчка кода - чинит до 1000, убери строку RepairVehicle.

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


Ссылка на сообщение
  • 0

АВТОМАТИЧЕСКИ СФОРМИРОВАННОЕ СООБЩЕНИЕ:

Данная тема была перемещена модерацией или администрацией портала PAWNO-RUS.RU! 

Перемещена из: "Скриптинг PAWN > Готовые решения"

Перемещена в: "Скриптинг PAWN > Вопросы / проблемы, связанные со скриптингом"

 

С уважением, ваш Бот! 

Если вы НЕ согласны с переносом данной темы в раздел "Скриптинг PAWN > Вопросы / проблемы, связанные со скриптингом", пожалуйтесь на это сообщение в жалобе указав причины вашего недовольства. Спасибо. 

 

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


Ссылка на сообщение
  • 0
1 минуту назад, Бот сказал:

АВТОМАТИЧЕСКИ СФОРМИРОВАННОЕ СООБЩЕНИЕ:

Данная тема была перемещена модерацией или администрацией портала PAWNO-RUS.RU! 

Перемещена из: "Скриптинг PAWN > Готовые решения"

Перемещена в: "Скриптинг PAWN > Вопросы / проблемы, связанные со скриптингом"

 

С уважением, ваш Бот! 

Если вы НЕ согласны с переносом данной темы в раздел "Скриптинг PAWN > Вопросы / проблемы, связанные со скриптингом", пожалуйтесь на это сообщение в жалобе указав причины вашего недовольства. Спасибо. 

 

Звиняй бот,забыл в какой категории я создал тему :c

26 минут назад, F1re сказал:

@Lelouch 

  открыть спойлер


setVehicleHealth(GetPlayerVehicleID(i), 300.0); // Я шаманил
RepairVehicle(GetPlayerVehicleID(i)); // Я шаманил,и походу это из-за данной функции он как бы чинил тачку. Ясно,надо снести её значит.
			

 

Судя по этому коду, у тебя на машину ставится 300 хп , и потом , следующая строчка кода - чинит до 1000, убери строку RepairVehicle.

Проверил,как бы работает,НО даже если 300 хп у тачки и мотор глушится,тачку можно завести потом она опять глушится. :c Щас сижу пытаюсь это решить

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


Ссылка на сообщение
  • 0
28 минут назад, F1re сказал:

@Lelouch 

  открыть спойлер


setVehicleHealth(GetPlayerVehicleID(i), 300.0); // Я шаманил
RepairVehicle(GetPlayerVehicleID(i)); // Я шаманил,и походу это из-за данной функции он как бы чинил тачку. Ясно,надо снести её значит.
			

 

Судя по этому коду, у тебя на машину ставится 300 хп , и потом , следующая строчка кода - чинит до 1000, убери строку RepairVehicle.

Нашёл команду которая вызывает функция когда кончается Бензин видимо,решил сделать что бы и если ХП == 300 то что бы не заводился. (zavodis [0/1])
Код:

CMD:engggg(playerid, params[])
{
	if(GetPlayerVehicleID(playerid) == INVALID_VEHICLE_ID) return true;
	if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER) return true;
	if(zavodis[playerid] == 0)
	{
		new idd = GetPlayerVehicleID(playerid);
		if(Fuell[idd] <= 0) return SendClientMessage(playerid,COLOR_RED,"В машине нет бензина");
		GetVehicleParamsEx(GetPlayerVehicleID(playerid),engine,lights,alarm,doors,bonnet,boot,objective);
		SetVehicleParamsEx(GetPlayerVehicleID(playerid) ,VEHICLE_PARAMS_ON,lights,alarm,doors,bonnet,boot,objective);
		zavodis[playerid] = 1;
	}
	else if(zavodis[playerid] == 1)
	{
		GetVehicleParamsEx(GetPlayerVehicleID(playerid),engine,lights,alarm,doors,bonnet,boot,objective);
		SetVehicleParamsEx(GetPlayerVehicleID(playerid),VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
		zavodis[playerid] = 0;
	}
	new veh = GetPlayerVehicleID(playerid); // Я Шаманю...
	if(VEHICLE[veh][vHealth] == 300)// Я Шаманю...
	{
	zavodis[playerid] = 0;
	}
	return true;
}

 

Всем спасибо за помощь ! Я починил !

Для тех у кого такая-же ошибка:

В команде которую я тут выложил(которая вызывается если закончился бензин) ставьте самым первым данные строки...
И всё сработает !
Сами Строки:

	new veh = GetPlayerVehicleID(playerid); // --------------------------------|
	if(VEHICLE[veh][vHealth] == 300)//										   |
	{//																		   | ---- > Это тот самый код который чинит это, PS: SCM - SendClientMessage.
	zavodis[playerid] = 0;//												   |
	SCM(playerid, -1, "Ваша Машина сломана !");//------------------------------|
	}
// Команда должна получится такая(примерно,в зависимости от мода):
CMD:engggg(playerid, params[])
{
	new veh = GetPlayerVehicleID(playerid);
	if(VEHICLE[veh][vHealth] == 300)
	{
	zavodis[playerid] = 0;
	SCM(playerid, -1, "{adadad}Ваша Машина сломана !");
	return 0;
	}
	if(GetPlayerVehicleID(playerid) == INVALID_VEHICLE_ID) return true;
	if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER) return true;
	if(zavodis[playerid] == 0)
	{
		new idd = GetPlayerVehicleID(playerid);
		if(Fuell[idd] <= 0) return SendClientMessage(playerid,COLOR_RED,"В машине нет бензина");
		GetVehicleParamsEx(GetPlayerVehicleID(playerid),engine,lights,alarm,doors,bonnet,boot,objective);
		SetVehicleParamsEx(GetPlayerVehicleID(playerid) ,VEHICLE_PARAMS_ON,lights,alarm,doors,bonnet,boot,objective);
		zavodis[playerid] = 1;
	}
	else if(zavodis[playerid] == 1)
	{
		GetVehicleParamsEx(GetPlayerVehicleID(playerid),engine,lights,alarm,doors,bonnet,boot,objective);
		SetVehicleParamsEx(GetPlayerVehicleID(playerid),VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
		zavodis[playerid] = 0;
	}
	return true;
}

 

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


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

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

  • Похожий контент

    • Sten Developer
      От Sten Developer
      Объясню всю ситуацию, пишу систему смерти игрока но она не работает. Решил по приколу написать туда обычный вывод текста SCM(playerid, COLOR_RED, "Вы умерли");
      Но однако после смерти текст не выводиться. Не работает абсолютно все. Кто знает как решить эту проблему?
       
    • Fpfe
      От Fpfe
      Я не могу понять в чем ошибка помогите пожалуйста
      C:\Users\Deze{s\Desktop\arzdd\gamemodes\arizonarp.pwn(50864) : error 037: invalid string (possibly non-terminated string)
      Pawn compiler 3.10.8              Copyright (c) 1997-2006, ITB CompuPhase

      1 Error.
       
      Уже почитал Что в этой строке мне просто нужно было 2 запятые поставить,Кто первый ответит тому положительный оставлю