#441 OFFLINE
Posted 23 August 2016 - 13:25
#442 OFFLINE
Posted 23 August 2016 - 14:08
vlad333000, я в курсе потому автору вопроса и дал сылку на вики.
Edited by dos622, 23 August 2016 - 14:13.
#443 OFFLINE
Posted 23 August 2016 - 23:41
_rand = N; _i = count MyMassive; while {_i > _rand} do { _randomIndex = floor (random _i); MyMassive set [_randomIndex,0]; // Вы не предполагаете такой ситуации, когда в следующем цикле окажется выбранным индекс // который уже будет больше чем реальная длинна массива? Ибо вы каждый цикл меняете размер массива MyMassive = MyMassive - [0]; _i = _i - 1; };
Цикл
Вроде выкидываем один элемент (случайный)
уменьшаем на единицу кол- во элементов
Цикл
или я что то упустил?
я тупанул, всё нормально.
Edited by SteelRat, 23 August 2016 - 23:46.
#444 OFFLINE
Posted 24 August 2016 - 05:02
at=[0,[0,1]]; _a=at select 1; at select 1 deleteRange[1,1]; hint str at; systemChat str _a;
как наиболее эргономично сделать at==[0,[0]] and _a==[0,1] ?
Edited by Ilias, 24 August 2016 - 08:11.
#445 OFFLINE
Posted 25 August 2016 - 08:24
Вопрос не совсем по скриптингу, но не хотелось создавать новую тему. Мод ace. Какое возрождение используется для этого мода? Спасибо.
#446 OFFLINE
Posted 30 August 2016 - 18:15
Можно ли гражданского через ини перевести к примеру за красных? Не могу заставить гражданского стрелять в других, выделил оружие и поинт, бесполезно. Мог бы конечно переодеть красного в гражданскую униформу, но фейс тогда поменяется.
UPD: оказывается можно назначать лицо НПС, Только сейчас заметил. Проблема решена
Edited by Sandefend, 30 August 2016 - 19:11.
#447 OFFLINE
Posted 30 August 2016 - 18:40
С гражданскими вообще проблема в этом плане. Они изначально не рассматриваются самой концепцией армы как индивидуумы ведущие боевые действия.
Что бы гражданский стал стрелять нужно в начале миссии поссорить гражданских с теми в кого они должны стрелять, но в некоторых ситуациях и это не помогает.
Но есть ещё больший фейл, если гражданский враг вашей стороне, и даже если он станет в вас стрелять, а вы в ответ грохните этого отморозка, то вы улетите прямиком в енеми сайд, если это будет второй гражданский труп. Смешно! Правда?
#448 OFFLINE
#449 OFFLINE
Posted 30 October 2016 - 06:27
Скрипт на маркеры игроков на карте.
Вопрос. После смерти маркер игрока становится фиолетовым и не виден другим игрокам. Можно сделать так, что бы после смерти (в ожидании когда тебя поднимут), маркер игрока был виден всем остальным?
if (isDedicated) exitWith {}; // is server
if (!isNil{aero_player_markers_pos}) exitWith {}; // already running
private ["_marker","_markerText","_temp","_unit","_vehicle","_markerNumber","_show","_injured","_text","_num","_getNextMarker","_getMarkerColor","_showAllSides","_showPlayers","_showAIs","_l"];
_showAllSides=false;
_showPlayers=false;
_showAIs=false;
if(count _this==0) then {
_showAllSides=false;
_showPlayers=true;
_showAIs=!isMultiplayer;
};
{
_l=toLower _x;
if(_l in ["player","players"]) then {
_showPlayers=true;
};
if(_l in ["ai","ais"]) then {
_showAIs=true;
};
if(_l in ["allside","allsides"]) then {
_showAllSides=true;
};
} forEach _this;
aero_player_markers_pos = [0,0];
onMapSingleClick "aero_player_markers_pos=_pos;";
_getNextMarker = {
private ["_marker"];
_markerNumber = _markerNumber + 1;
_marker = format["um%1",_markerNumber];
if(getMarkerType _marker == "") then {
createMarkerLocal [_marker, _this];
} else {
_marker setMarkerPosLocal _this;
};
_marker;
};
_getMarkerColor = {
[(((side _this) call bis_fnc_sideID) call bis_fnc_sideType),true] call bis_fnc_sidecolor;
};
while {true} do {
waitUntil {
sleep 0.025;
true;
};
_markerNumber = 0;
// show players or player's vehicles
{
_show = false;
_injured = false;
_unit = _x;
if(
(
(_showAIs && {!isPlayer _unit} && {0=={ {_x==_unit} count crew _x>0} count allUnitsUav}) ||
(_showPlayers && {isPlayer _unit})
) && {
_showAllSides || side _unit==side player
}
) then {
if((crew vehicle _unit) select 0 == _unit) then {
_show = true;
};
if(!alive _unit || damage _unit > 0.9) then {
_injured = true;
};
if(!isNil {_unit getVariable "hide"}) then {
_show = false;
};
if(_unit getVariable ["BTC_need_revive",-1] == 1) then {
_injured = true;
_show = false;
};
if(_unit getVariable ["NORRN_unconscious",false]) then {
_injured = true;
};
};
if(_show) then {
_vehicle = vehicle _unit;
_pos = getPosATL _vehicle;
_color = _unit call _getMarkerColor;
_markerText = _pos call _getNextMarker;
_markerText setMarkerColorLocal _color;
_markerText setMarkerTypeLocal "c_unknown";
_markerText setMarkerSizeLocal [0.8,0];
_marker = _pos call _getNextMarker;
_marker setMarkerColorLocal _color;
_marker setMarkerDirLocal getDir _vehicle;
_marker setMarkerTypeLocal "hd_dot";
_marker setMarkerTextLocal "";
if(_vehicle == vehicle player) then {
_marker setMarkerSizeLocal [0.8,1];
} else {
_marker setMarkerSizeLocal [0.5,0.7];
};
if(_vehicle != _unit && !(_vehicle isKindOf "ParachuteBase")) then {
_text = format["[%1]", getText(configFile>>"CfgVehicles">>typeOf _vehicle>>"DisplayName")];
if(!isNull driver _vehicle) then {
_text = format["%1 %2", name driver _vehicle, _text];
};
if((aero_player_markers_pos distance getPosATL _vehicle) < 50) then {
aero_player_markers_pos = getPosATL _vehicle;
_num = 0;
{
if(alive _x && isPlayer _x && _x != driver _vehicle) then {
_text = format["%1%2 %3", _text, if(_num>0)then{","}else{""}, name _x];
_num = _num + 1;
};
} forEach crew _vehicle;
} else {
_num = {alive _x && isPlayer _x && _x != driver _vehicle} count crew _vehicle;
if (_num>0) then {
if (isNull driver _vehicle) then {
_text = format["%1 %2", _text, name (crew _vehicle select 0)];
_num = _num - 1;
};
if (_num>0) then {
_text = format["%1 +%2", _text, _num];
};
};
};
} else {
_text = name _x;
};
_markerText setMarkerTextLocal _text;
};
} forEach allUnits;
// show player controlled uavs
{
if(isUavConnected _x) then {
_unit=(uavControl _x) select 0;
if(
(
(_showAIs && {!isPlayer _unit}) ||
(_showPlayers && {isPlayer _unit})
) && {
_showAllSides || side _unit==side player
}
) then {
_color = _x call _getMarkerColor;
_pos = getPosATL _x;
_marker = _pos call _getNextMarker;
_marker setMarkerColorLocal _color;
_marker setMarkerDirLocal getDir _x;
_marker setMarkerTypeLocal "hd_dot";
_marker setMarkerTextLocal "";
if(_unit == player) then {
_marker setMarkerSizeLocal [0.8,1];
} else {
_marker setMarkerSizeLocal [0.5,0.7];
};
_markerText = _pos call _getNextMarker;
_markerText setMarkerColorLocal _color;
_markerText setMarkerTypeLocal "c_unknown";
_markerText setMarkerSizeLocal [0.8,0];
_markerText setMarkerTextLocal format["%1 [%2]", name _unit, getText(configFile>>"CfgVehicles">>typeOf _x>>"DisplayName")];
};
};
} forEach allUnitsUav;
_markerNumber = _markerNumber + 1;
_marker = format["um%1",_markerNumber];
while {(getMarkerType _marker) != ""} do {
deleteMarkerLocal _marker;
_markerNumber = _markerNumber + 1;
_marker = format["um%1",_markerNumber];
};
};
#450 OFFLINE
Posted 30 October 2016 - 12:52
После смерти маркер игрока становится фиолетовым и не виден другим игрокам. Можно сделать так, что бы после смерти (в ожидании когда тебя поднимут), маркер игрока был виден всем остальным?
Нужно использовать команды с глобальным эффектом, например,
вместо createMarkerLocal.#451 OFFLINE
Posted 11 November 2016 - 15:40
В каком namespace сохраняются глобальные переменные назначенные в init.sqf ?
#453 OFFLINE
Posted 15 November 2016 - 11:39
а при missionnamespace setvariable['t','_'] создаётся|меняется на всех компьютерах?
#454 OFFLINE
Posted 15 November 2016 - 15:14
.
#456 OFFLINE
#457 OFFLINE
Posted 15 November 2016 - 21:31
Теоретически должно быть так, но кажется последний раз создавалось на всех, придётся проверять
#458 OFFLINE
Posted 23 November 2016 - 14:42
Забыл спасибо написать ) , извиняюсь
#459 OFFLINE
Posted 24 November 2016 - 02:32
Спасите пожалуйста, снова ) , почему ничего из этого не работает? (один раз что то сработало, не уверен что и из за чего)
disableChannels[]={{0,true,true},{1,true,true},{2,true,true},{3,true,false}};
disableChannels[]={0,1,2,3};
class RadioChannels{ class DirectSpeakingChannel{ level = 0; micOuts = "micOuts"; noise = "loop"; pauseAfterNumber = 0; pauseAfterUnitList = 0.05; pauseAfterWord = 0; pauseInNumber = 0; pauseInUnitList = 0; }; delete GlobalChannel; delete SideChannel; delete CommandChannel; delete GroupChannel; delete VehicleChannel; };
И как можно было бы послать выполнение чего нибудь на сервер и получить ответ(
client:
[[0,1],3]remoteexec['pushback',2]
server:
|execution|
client:
|_|==2
)
Edited by Ilias, 24 November 2016 - 02:34.
#460 OFFLINE
Posted 28 November 2016 - 00:29
Подскажите как сделать так,что бы при использовании ноутбука,я и мои товарищи могли начать закачку данных. И что бы так же само с документами. Если что в инглише тугой,не понимаю его сильно,а переводчики ересь выдают. Помогите пожалуйста.