Всем привет!
кто может помочь?
у меня такая проблема
есть скрипт спавна артефактов в определенных координатах заданных в массиве
ставлю триггер в EDEN редакторе имя переменной пишу sp_point1
после в скрипте получаю координаты триггера (_art_spawn1 = getPosWorld sp_point1;)
и когда запускаю скрипт в логах выдает такую ошибку
что я не так делаю, помогите пожалуйста(
1:52:38 "SPAWN LOCAL ARTIFACT : Medusa_Unstab at [[278.043,156.917,22.2639]]" 1:52:38 Error in expression <Artifact__spawnedArtifacts pushBack (_x createVehicleLocal _posRandom); diag_lo> 1:52:38 Error position: <createVehicleLocal _posRandom); diag_lo> 1:52:38 Error 1 установлено элементов, 3 ожидалось 1:52:38 File zone_server\modules\Artifact\Artifact.sqf, line 81 1:52:38 "RANDOMIZER : 100" 1:52:38 "POSITION : [[278.043,156.917,22.2639]]" 1:52:38 "SPAWN LOCAL ARTIFACT : GRAVI_Unstab at [[278.043,156.917,22.2639]]" 1:52:38 Error in expression <Artifact__spawnedArtifacts pushBack (_x createVehicleLocal _posRandom); diag_lo> 1:52:38 Error position: <createVehicleLocal _posRandom); diag_lo> 1:52:38 Error 1 установлено элементов, 3 ожидалось 1:52:38 File zone_server\modules\Artifact\Artifact.sqf, line 81
Вот сам скрипт
moduleInitStart();
module(_artifacts) = [
[
"GRAVI_Unstab","FIRE_Unstab","MEAT_Unstab","Medusa_Unstab","Item_ELECTRA_Unstab","Item_TEARS_Unstab","Item_CRYSTALL_Unstab","Item_BATTERY_Unstab"],
[100,100,100,45,25,35,25,25]
];
_art_spawn1 = getPosWorld sp_point1;
module(_spawnAreas) = [
[[_art_spawn1], 10, ["Medusa_Unstab", "GRAVI_Unstab"]] //TEST AREA
];
module(_spawnDelay) = 150;
module(_maxArtifacts) = 1500;
module(_spawnedArtifacts) = [];
module(SpawnArtifacts) = {
// foreach module(_spawnAreas)
{
_position = _x select 0;
_radius = _x select 1;
_artifacts = _x select 2;
// foreach _artifacts
{
if ((count module(_spawnedArtifacts)) < module(_maxArtifacts)) then {
if (assocGet(module(_artifacts), _x) > (random 100)) then {
private ["_posRandom"];
private ["_randomizer"];
_randomizer = _radius * 10;
diag_log format ["RANDOMIZER : %1", _randomizer];
_posRandom = _position; //vectorAdd [round(random (2*(- _randomizer))+ _randomizer), round(random (2*(- _randomizer))+ _randomizer), 0]; //_position
diag_log format ["POSITION : %1", _position];
module(_spawnedArtifacts) pushBack (_x createVehicleLocal _posRandom);
diag_log format ["SPAWN LOCAL ARTIFACT : %1 at %2", _x, _posRandom];
};
};
} foreach _artifacts;
} foreach module(_spawnAreas);
};
[] spawn {
while {true} do {
sleep module(_spawnDelay);
[] call module(SpawnArtifacts);
};
};
[] spawn {
while {true} do {
sleep 3;
{
_currentUnit = _x;
diag_log format['!!!!!!!!! %1 >>> %2 ', _currentUnit, (_currentUnit getVariable ["ARTDETECTOR", 0])];
//if ((1 == (_currentUnit getVariable ["ARTDETECTOR", 0]))) then {
// foreach nearestObjects
{
private ["_artifactClass", "_artifactPosition"];
diag_log format["IS LOCAL %1", (local _x)];
if (local _x) then {
_artifactClass = typeOf _x;
_artifactPosition = (getPos _x);
// удаляем локальный арт
deleteVehicle _x;
module(_spawnedArtifacts) = module(_spawnedArtifacts) - [_x];
// спавним артефакт глобально
diag_log format ["spawn artifact %1 for player %2 at %3", _artifactClass, _currentUnit, _artifactPosition];
// _artifactClass createVehicle _artifactPosition;
_veh = _artifactClass createVehicle _artifactPosition;
_veh setOwner (owner _currentUnit);
// "Sign_Pointer_Green_F" createVehicle _artifactPosition; // test
};
} foreach nearestObjects [_currentUnit, (module(_artifacts) select 0), 20]; // todo: заменить костнантами - класс артефакта и радиус действия детектора
//};
} forEach playableUnits;
};
};
moduleInitEnd();












