Модератор форума: Slon |
Форум РЕДАКТОР - ArmA 2 Скрипты Вопросы по скриптописанию (Тонкости написания скриптов) |
Вопросы по скриптописанию |
› Пятница
› 25.03.2016
› 07:08
› Сообщение #
Радиус - дистанция от центра до окружности
Код While {true} do { scopeName "Lop"; for "_i" from 50 to 100 step 25 do { // выбор дистанции { if (_x isKindOf "CAAnimalBase") then { // проверка класса тушки if ((_x distance Player) < _i) then {// проверки дистанции Switch _i do { case 50 : {Player say3d "Aliens3"; sleep 0.5}; case 75 : {Player say3d "Aliens2"; sleep 1.0}; case 100 : {Player say3d "Aliens1"; sleep 1.5}; }; BreakTo "Lop"; }}} ForEach playableUnits; // работа по списку }; sleep 1; }; |
› Пятница
› 25.03.2016
› 22:14
› Сообщение #
Добавил в твой скрипт еще строчку:
Я правильно понимаю что если проверяемый не принадлежит CAAnimalBase тогда будет этот звук воспроизводиться? То есть как бы получается что постоянно будет этот звук, а если кто-то рядом подходящий под условие, то в зависимости от расстояния будут добавляться другие звуки. Добавлено (25.03.2016, 18:45) Добавлено (25.03.2016, 19:14) Добавлено (25.03.2016, 20:26) Добавлено (25.03.2016, 22:14) это не на православном sqf, просто наброски... |
› Пятница
› 25.03.2016
› 22:28
› Сообщение #
Куча if нерентабельно
можно вот так _dist = _x distance Player; Switch true do { case (_dist < 25) : {hint "Aliens25"; Player say3d "Aliens3"; sleep 0.25}; case (_dist < 50) : {hint "Aliens50"; Player say3d "Aliens3"; sleep 0.5}; case (_dist < 100) : {hint "Aliens100"; Player say3d "Aliens2"; sleep 0.75}; case (_dist < 200) : {hint "Aliens200"; Player say3d "Aliens1"; sleep 1.0}; case (_dist < 300) : {hint "Aliens300"; Player say3d "Aliens1"; sleep 1.0}; case (_dist < 400) : {hint "Aliens400"; Player say3d "Aliens1"; sleep 1.25}; case (_dist < 450) : {hint "Aliens450"; Player say3d "Aliens1"; sleep 1.5}; case (_dist < 500) : {hint "Aliens500"; Player say3d "Aliens1"; sleep 2.0}; }; при первом совпадении проверка прекращается |
› Суббота
› 26.03.2016
› 00:21
› Сообщение #
оооо, а так тоже можно?
Добавлено (26.03.2016, 00:21) |
› Суббота
› 26.03.2016
› 11:30
› Сообщение #
Для бесконечного выполнения нужен цикл с неизменным условием
тут это While {true} do { // условие всегда Истинно - цикл бесконечный { if (_x isKindOf "CAAnimalBase") then { // проверка класса тушки _dist = _x distance Player; Switch true do { case (_dist < 25) : {hint "Aliens25"; Player say3d "Aliens3"; sleep 0.25}; case (_dist < 50) : {hint "Aliens50"; Player say3d "Aliens3"; sleep 0.5}; case (_dist < 100) : {hint "Aliens100"; Player say3d "Aliens2"; sleep 0.75}; case (_dist < 200) : {hint "Aliens200"; Player say3d "Aliens1"; sleep 1.0}; case (_dist < 300) : {hint "Aliens300"; Player say3d "Aliens1"; sleep 1.0}; case (_dist < 400) : {hint "Aliens400"; Player say3d "Aliens1"; sleep 1.25}; case (_dist < 450) : {hint "Aliens450"; Player say3d "Aliens1"; sleep 1.5}; case (_dist < 500) : {hint "Aliens500"; Player say3d "Aliens1"; sleep 2.0}; default {hint "ping"; Player say3d "ping"; sleep 1.5; hint _x distance Player}; // если Ничего не подошло }}} ForEach playableUnits; // работа по списку sleep 1; }; |
› Суббота
› 26.03.2016
› 13:33
› Сообщение #
Блин, Слон, ты восхитителен ))))))
Добавлено (26.03.2016, 13:22) Добавлено (26.03.2016, 13:31) Добавлено (26.03.2016, 13:33) |
› Среда
› 06.04.2016
› 17:53
› Сообщение #
Здравствуйте. У меня такой вопрос, когда срабатывает скрипт десантирования парашютистов из самолета , парашюты раскрываются на 2 секунды , потом идет свободное падение. Что с этим делать?
|
› Среда
› 06.04.2016
› 18:52
› Сообщение #
retja, а что за скрипт? может покажеш ))
|
› Среда
› 06.04.2016
› 19:06
› Сообщение #
Slon, К сожалению это зависит не от скрипта , т.к , я десантировался с самолета с места пилота в стандартном виде без всяких скриптов такая же ситуация
Добавлено (06.04.2016, 19:06) |
› Среда
› 06.04.2016
› 19:17
› Сообщение #
Ну тогда этот глюк неисправим.
|
› Среда
› 06.04.2016
› 19:24
› Сообщение #
|
› Пятница
› 08.04.2016
› 01:07
› Сообщение #
БИСова функция BIS_fnc_enemyDetected https://community.bistudio.com/wiki/BIS_fnc_enemyDetected имеет маленький радиус обнаружения врага, где то 280 - 300 метров.
Проверял следующим скриптом while {true} do { enemy_detect = leader grupatest call BIS_fnc_enemyDetected; systemChat format["Enemy det: %1", enemy_detect]; sleep 1; }; enemy_detect становиться true только с расстояния менее 290м, хотя боты уже давно, с пол километра друг друга обнаружили и вовсю перестреливаются, можно как то радиус срабатывания на обнаруженного врага задать больше? Добавлено (08.04.2016, 01:07) |
› Пятница
› 08.04.2016
› 08:53
› Сообщение #
hint str BIS_fnc_enemyDetected;
copyToClipboard str BIS_fnc_enemyDetected; hint покажет есть ли что там, а copyToClipboard скопирует в буфер обмена вставь текст в файл, редактируй и пользуйся. |
› Пятница
› 08.04.2016
› 09:38
› Сообщение #
AleksSan, ну насколько я понял, вот эта BIS_fnc_enemyDetected использует BIS_fnc_enemyTargets, которая, в свою очередь, работает через _this nearTargets 300 (автор: м-р Jiri Wainar).
|
› Среда
› 27.04.2016
› 21:45
› Сообщение #
Добрый вечер. Подскажите пожалуйста , как удалить текстуру солдату ,например каску
|
| |||
Чат сайта |