ka3ant1p

просмотр миссии через редактор

Вопрос

со вчера бьюсь, не могу понять, вот скажем тригер передает в скрипт массив с классами машин.
Если спавню так то работает:

_vehType = _this select 4;

_type = _vehType select 0;
_veh = createVehicle [_type, _position, [], 0, "NONE"];

если так то выдает ошибку....

_vehType = _this select 4;

_type = _vehType call BIS_fnc_selectRandom;
_veh = createVehicle [_type, _position, [], 0, "NONE"];


та же беда и с позицией, если так, то работает:
 

_triger = _this select 0;
_position = getPosATL _triger;

_veh = createVehicle [_type, _position, [], 0, "NONE"];

а так уже не хочет, и тоже выдает ошибку:
 

_triger = _this select 0;
_position = getPosATL _triger;

_posit = [_position, 10, _radius, 10, 0, 20, 0] call BIS_fnc_findSafePos;
_veh = createVehicle [_type, _posit, [], 0, "NONE"];

BIS_fnc функции вообще в редакторе работают?

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


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

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

Бред написан...

_type = _vehType call BIS_fnc_selectRandom;
_veh = createVehicle [_type, _position, [], 0, "NONE"];

 

что это? типа ТИП у тебя будет из непонятно чего выбран.

 

 

А вообще выведи в diag_log да глянь. Что ты в Тип кладешь.

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


Ссылка на сообщение
Поделиться на других сайтах
Забронировать это рекламное место


_vehType = _this select 4;
то есть получается массив с классами
а дальше рандом выборка из него

просто если написать не рандом а
_vehType = _this select 4;
_type = _vehType select 0; // или select 1 или select 2
то все работает
 

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


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

Какой еще массив? там четкая выборка типа -

_vehType = _this select 4;

 

А потом ты из единственного типа, пытаешся получить некий рандом. Да еще и нелепым образом, через бис(непонятно что он выбрать то должен)
_type = _vehType call BIS_fnc_selectRandom;

 

Если у тебя есть несколько типов в _this и ты уверен, что это массив, то надо и выбирать так -

_count = (count _this) -1;

_rnd = round(random(_count));

_type = _this select _rnd;

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


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

наверное ты не так понял, смотри есть скажем файл

script1.sqf:

//тут кусок кода
_position = [x,y,z];
_MyVehicles = ["Suv_camo","Suv_green","Suv_red"];
//тут кусок кода
[_position, _MyVehicles] EecVM "Script2.sqf"

Script2.sqf:
 

_position = _this select 0;
_types = _this select 1;

_type = _types call BIS_fnc_selectRandom;
_pos = [_position , 0, 100, 10, 0, 2000, 0] call BIS_fnc_findSafePos;

_veh = createVehicle [_type, _pos, [], 0, "NONE"];

Но при запуске такого скрипта для проверки через редактор он не работает.
Почему не работает - я разобрался.
Все дело в том что (не знаю почему) BIS функции там не работают привычным образом, и для того что бы они работали, я выдернул эти функции, закомпилировал их в ините вот так:
 

BIS_fnc_selectRandom = 			compile preprocessFileLineNumbers "fn_selectRandom.sqf";
BIS_fnc_findSafePos = 			compile preprocessFileLineNumbers "fn_findSafePos.sqf";

И тогда начали работать, единственное что пришлось fn_findSafePos подправить так как он лезет в конфиг и не работает.

А так когда запускаешь сервер и заходишь то все работает.
Меня интересовала почему не работает вызов BIS функций при просмотре через редактор

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


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

1. Ну так не скомпилированны они. Откуда им быть в редакторе.

2. [_position, _MyVehicles] EecVM "Script2.sqf"

Ошибка (от руки накидал чтоль?)

3. Вместо BIS_fnc_selectRandom можно юзать обычный рандом, - выше показал как.

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


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

2 - ага =)

3- ну я просто 2 бис функции дернул, все равно селект_рандом нужно было вынимать

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


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

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!


Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.


Войти сейчас