Перейти к содержимому


Фотография

Нужна помощь по Altis Life [Не пополняются патроны в технике]


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 6

#1 OFFLINE   Opolchenec

Opolchenec

    Рядовой

  • Пользователи
  • 10 сообщений

Отправлено 28 May 2014 - 13:14

Знакомый держит серв Altis Life.

Проблема заключается в том, что мы не можем пополнить боезапас на транспортных средствах. (будь то Ифрит/Охотник с пулеметом, или вертушка)

 

я через редактор пробовал, ситуация вышла следующая-

Если пополнять через ящики с боеприпасами для техники, то в самой технике должен быть хотя бы 1 патрон.

Если в технике ничего нет, то патроны не пополняются.

 

Как быть?

 

(Извините если не туда написал)


  • 0

#2 OFFLINE   SteelRat

SteelRat

    Полковник

  • Пользователи
  • 3241 сообщений
  • Откуда:РФ

Отправлено 28 May 2014 - 19:25

 

 

(Извините если не туда написал)

 

Ну такой вопрос имеет смысл задавать тому, кто сие чудо сотворил)

 

И естественно, если такая байда и в редакторе, предъявите BISам, это как раз именно туда)

 

PS

Однако, я удивлён геймплеем,

 

 

Ифрит/Охотник с пулеметом

 

По мне такое совсем не Life, это Афганистан минимум)


Сообщение отредактировал SteelRat: 28 May 2014 - 19:37

  • 0

#3 OFFLINE   Disab

Disab

    Ефрейтор

  • Пользователи
  • 74 сообщений

Отправлено 29 May 2014 - 13:45

Вот тебе один из вариантов сделать самому в миссии места перезарядки и ремонта любой техники -

 

1) В папке с миссией создай фаил скрипта с раширением ".sqf" (например reload.sqf)

2) Пропиши в созданном файле следующий скрипт :

_object = _this;

_type = typeOf _object;

x_reload_time_factor = 0.01;

_object setVehicleAmmo 1;

_object vehicleChat format ["Servicing %1... Please stand by...", _type];

_magazines = getArray(configFile >> "CfgVehicles" >> _type >> "magazines");

if (count _magazines > 0) then {
	_removed = [];
	{
		if (!(_x in _removed)) then {
			_object removeMagazines _x;
			_removed = _removed + [_x];
		};
	} forEach _magazines;
	{
		_object vehicleChat format ["Reloading %1", _x];
		sleep x_reload_time_factor;
		_object addMagazine _x;
	} forEach _magazines;
};

_count = count (configFile >> "CfgVehicles" >> _type >> "Turrets");

if (_count > 0) then {
	for "_i" from 0 to (_count - 1) do {
		scopeName "xx_reload2_xx";
		_config = (configFile >> "CfgVehicles" >> _type >> "Turrets") select _i;
		_magazines = getArray(_config >> "magazines");
		_removed = [];
		{
			if (!(_x in _removed)) then {
				_object removeMagazines _x;
				_removed = _removed + [_x];
			};
		} forEach _magazines;
		{
			_object vehicleChat format ["Reloading %1", _x];
			sleep x_reload_time_factor;
			_object addMagazine _x;
			sleep x_reload_time_factor;
		} forEach _magazines;
		_count_other = count (_config >> "Turrets");
		if (_count_other > 0) then {
			for "_i" from 0 to (_count_other - 1) do {
				_config2 = (_config >> "Turrets") select _i;
				_magazines = getArray(_config2 >> "magazines");
				_removed = [];
				{
					if (!(_x in _removed)) then {
						_object removeMagazines _x;
						_removed = _removed + [_x];
					};
				} forEach _magazines;
				{
					_object vehicleChat format ["Reloading %1", _x]; 
					sleep x_reload_time_factor;
					_object addMagazine _x;
					sleep x_reload_time_factor;
				} forEach _magazines;
			};
		};
	};
};
_object setVehicleAmmo 1;	// Reload turrets / drivers magazine

sleep x_reload_time_factor;
_object vehicleChat "Repairing...";
_object setDamage 0;
sleep x_reload_time_factor;
_object vehicleChat "Refueling...";
while {fuel _object < 0.99} do {
	//_object setFuel ((fuel _vehicle + 0.1) min 1);
	_object setFuel 1;
	sleep 0.01;
};
sleep x_reload_time_factor;
_object vehicleChat format ["%1 is ready...", _type];

if (true) exitWith {};

3) Дальше в самом редакторе в нужной тебе миссии, в нужных тебе местах (это будут места перезарядки) поставь на карте триггер(ы) (форму и размеры триггера по желанию - Например круга 10х10 хватит вполне)

4) В верхнем поле активации триггера выбирай нужную тебе сторону (синие, красные, независимые или гражданские - триггер будет срабатывать на выбранную тобой сторону) 

5) Ниже поставь параметр - ПОВТОРНО

6) Ниже поставь параметр - Существует

7) В поле УСЛОВИЕ пропиши:

("AllVehicles" countType thislist  > 0) && ((getpos (thislist select 0)) select 2 < 1)

8) Ниже в поле АКТИВАЦИЯ пропиши:

_xhandle= (thislist select 0) execVM "ИМЯ ТВОЕГО СКРИПТА В ПАПКЕ С МИССИЕЙ.sqf";

В данном случае - 

_xhandle= (thislist select 0) execVM "reload.sqf";

Ну и всё. Поверх триггеров для наглядности можешь поставить вертолётную площадку, Триггеры можешь размножить в нескольких нужных тебе местах на карте.


  • 2

#4 OFFLINE   Opolchenec

Opolchenec

    Рядовой

  • Пользователи
  • 10 сообщений

Отправлено 31 May 2014 - 10:08

Скрытый текст

 

 

Спасибо Вам огромное, добрый Вы человек  :)

Все получилось  :)


Сообщение отредактировал Opolchenec: 31 May 2014 - 10:08

  • 0

#5 OFFLINE   Opolchenec

Opolchenec

    Рядовой

  • Пользователи
  • 10 сообщений

Отправлено 31 May 2014 - 10:35

И к сожалению сразу же назрел второй вопрос.

Все скрипты хранятся в папке scripts.

После прописывания этого пути в "активации", (вот так)  _xhandle= (thislist select 0) execVM "reload/reload.sqf";  

В том месте где должен активироваться скрипт, выдает scripts not found

Это можно как то решить?


  • 0

#6 OFFLINE   vlad333000

vlad333000

    Полковник

  • Пользователи
  • 3224 сообщений
  • Откуда:Кострома

Отправлено 31 May 2014 - 18:10

И к сожалению сразу же назрел второй вопрос.

Все скрипты хранятся в папке scripts.

После прописывания этого пути в "активации", (вот так)  _xhandle= (thislist select 0) execVM "reload/reload.sqf";  

В том месте где должен активироваться скрипт, выдает scripts not found

Это можно как то решить?

 _xhandle= (thislist select 0) execVM "reload/reload.sqf";  ->  _xhandle= (thislist select 0) execVM "reload\reload.sqf";  


  • 0

#7 OFFLINE   SteelRat

SteelRat

    Полковник

  • Пользователи
  • 3241 сообщений
  • Откуда:РФ

Отправлено 31 May 2014 - 19:16

 

 

_xhandle= (thislist select 0) execVM "reload/reload.sqf";  ->  _xhandle= (thislist select 0) execVM "reload\reload.sqf";  

 

->

// Не корректное оформление вызова команды
_xhandle= (thislist select 0) execVM "reload/reload.sqf";

// Корректное оформление вызова команды
_xhandle= (thislist select 0) execVM "reload\reload.sqf";  

Друзья мои! Согласитесь, так намного визуально восприимчиво, по глазам же вижу, что согласны!


  • 0




Яндекс.Метрика