Да и вообще само появление армы 3 связано лишь с одной причиной, до бесов дошло что сидеть на девятом иксе в 2013 году это уже совсем не серьёзно, даже для чехов. По мне это единственное, что серьёзно изменило движок, и то можно поговорить на сколько изменило. Больше я не вижу ни какой разницы между двумя версиями, ну такой разницы ради которой можно сказать что, вау, это да, это действительно новая версия игры.
#1281 OFFLINE
Отправлено 20 June 2018 - 17:05
#1282 OFFLINE
Отправлено 22 June 2018 - 03:23
всем привет!недавно нужно было по кнопке сделать ротацию чисел в массиве по возрастанию и в голову лезет только один вариант вот такой
currentSelect = selectRandom [1,2,3,4]; for "_i" to 10e10 do { uisleep 1; currentSelect = [1,2,3,4]select( [1,2,3,0] select ([1,2,3,4] find currentSelect)) };
соответственно если вам нужно в обратную сторону то выбираем массив [3,0,1,2] и тоже самое будет в обратку
но хотел чисто арифметическим способ это делать но пока что не сообразил.....может у кого то есть математический талант как вариант по формуле это высчитать если это будет возможно?чисто задачка на скилл.....
P.S цикл это пример абстрактный для симуляции спама кнопки.....
Сообщение отредактировал lopster102: 22 June 2018 - 10:45
#1283 OFFLINE
Отправлено 22 June 2018 - 09:06
Syntax:seed random [x,y] (Since Arma 3 v1.67.139663) Parameters: seed: Number [x, y]: Array x: Number y: Number Return Value:Number
Сообщение отредактировал SteelRat: 22 June 2018 - 09:16
#1284 OFFLINE
Отправлено 22 June 2018 - 09:40
ЗЫ
Для понимания, кто не в танке.
Параметр seed понимайте как волшебное число с помощью которого, вы можете получать, прозвучит дико, на первый взгляд, постоянную рандомную последовательность. Суть такова, если вы определяете некую конкретную константу в параметре seed, то вам всегда будет возвращена постоянная последовательность рандомов.
Вещь полезная, например в подобных реализациях, естественно можно рандомить и сам seed.
#1285 OFFLINE
Отправлено 22 June 2018 - 09:40
Кстати, вопрос такой, - в sqm файле миссии(mission.sqm), есть такое -
randomSeed = 12032465;
У богемии, о randomSeed ни слова.
Насколько понял мой телепатор, это - инициализация генератора случайных чисел, с указанием стартовой точки?
Если это так, то второй вопрос -
А накой в mission.sqm он включается?
#1286 OFFLINE
Отправлено 22 June 2018 - 09:41
выше)
#1287 OFFLINE
Отправлено 22 June 2018 - 09:46
постоянную рандомную последовательность.
Это если генератор не включен.(на сколько я знаю)
Такую же постоянность будут выдавать и Си и Дельфи, если после подключения юнита Math, перед генерированием случайного числа, не написать - randomize();
выше)
Так seed random, и randomSeed вроде не одно и тоже? И второй то вопрос - на кой это в мишн.скм?)
#1288 OFFLINE
Отправлено 22 June 2018 - 09:53
Если класс рандомайзера, в любом движке, предусматривает инициализацию рандома, то можно и инициализировать, в противном случае применяется seed, по умолчанию, определённый в классе рандомайзера.
а так как синтаксис конструкции приведённой выше требует сид значит и указываем сид, эта технология работает везде одинаково.
И в юнити есть свой рандом, работающий абсолютно так же как и виндовый системный.
#1289 OFFLINE
Отправлено 22 June 2018 - 10:02
И второй то вопрос - на кой это в мишн.скм?)
Мой друг! Хоть бесы и чехи они тоже не чураются немножко играться с рандомизацией)
кстати меня ни сколько не удивит если результат этого вызова
_rndVal = random(100);
напрямую зависит от значения randomSeed указанного в миссии.
#1290 OFFLINE
Отправлено 12 July 2018 - 15:21
Вот пару раз запустил одну и ту же миссию (Одинаковый randomSeed) и в ее начале создавал массив из 10 чисел:кстати меня ни сколько не удивит если результат этого вызова
_rndVal = random(100);напрямую зависит от значения randomSeed указанного в миссии.
[0.167042, 0.514623, 0.984254, 0.754689, 0.510202, 0.517924, 0.733236, 0.722151, 0.746007, 0.360086]; [0.440528, 0.872701, 0.602455, 0.699479, 0.896608, 0.577708, 0.828884, 0.341693, 0.765238, 0.509733]; [0.222335, 0.50986, 0.911277, 0.348554, 0.844052, 0.253146, 0.389069, 0.177569, 0.800369, 0.991833]; [0.655154, 0.62281, 0.389609, 0.333163, 0.231396, 0.100373, 0.257022, 0.91128, 0.0702176, 0.738485]; [0.483555, 0.516674, 0.55292, 0.902555, 0.266113, 0.946917, 0.0998348, 0.577595, 0.88646, 0.19547]; [0.498068, 0.224422, 0.197162, 0.998352, 0.0722236, 0.414136, 0.693351, 0.882537, 0.0791603, 0.06654]; [0.105839, 0.324799, 0.797724, 0.831862, 0.792262, 0.655092, 0.840425, 0.60264, 0.927442, 0.746534]; [0.986392, 0.344154, 0.844283, 0.811914, 0.59757, 0.616421, 0.926218, 0.765731, 0.907304, 0.636299]; [0.361619, 0.475687, 0.791007, 0.396702, 0.473474, 0.75068, 0.805692, 0.725264, 0.375492, 0.696104]; [0.774427, 0.748357, 0.341061, 0.36795, 0.0707266, 0.631804, 0.936696, 0.00957992, 0.372784, 0.839227];Как можно заметить - все они разные, а значит randomSeed не очень то и связан с командой random
Сообщение отредактировал vlad333000: 12 July 2018 - 15:25
#1291 OFFLINE
Отправлено 12 July 2018 - 18:30
В таком случае я вижу смыслом существования параметра randomSeed с файле миссии, с одной целью, если нужно в какой то момент использовать возможность получить при каждой очередной сессии именно постоянную последовательность рандомов, при вызовах рандома из разных мест в самом движке, то этот параметр и выступает в качестве статической переменной для всех вызовов.
Я как то вообще не задавался вопросом, а вообще как то можно получить из скриптов доступ к контенту который находится в файле миссии? Всмысле если банально не парсить сам файл через какой ни будь плагин.
ЗЫ
Да и собственно сам этот параметр можно так же определить как атавизм из прошлых времён, уже не имеющий какого либо применения, но тем не менее, в силу ленивости бесов обязан присутствовать в данных миссии.
#1292 OFFLINE
Отправлено 13 July 2018 - 02:02
Я как то вообще не задавался вопросом, а вообще как то можно получить из скриптов доступ к контенту который находится в файле миссии? Всмысле если банально не парсить сам файл через какой ни будь плагин.
Ну если он не забинарен, то можно через include включить содержимое .sqm в .ext в какой-нибудь класс, там структура должна быть правильной для файла конфигурации, ну а дальше как и с остальным
#1293 OFFLINE
Отправлено 13 July 2018 - 07:20
ХМ, а что ведь вариант, пойдёт как миленький
#1294 OFFLINE
#1295 OFFLINE
Отправлено 25 July 2018 - 19:00
здрв всем!такой вопрос появился а возможно ли проверить коллизией зашел юнит в дом или нет?
Сообщение отредактировал lopster102: 25 July 2018 - 19:01
#1296 OFFLINE
Отправлено 25 July 2018 - 19:13
#1297 OFFLINE
Отправлено 25 July 2018 - 19:15
lopster102, ну есть вариант с boundingBox, а есть вариант с lineIntersaction? Вам какой?
=))мне тот что посоветуете))
а желательно чтонибудь лучше этого а пока в голову другое не лезет
[]spawn{ for "_i" to 10e10 do { uisleep 0.6; _build = nearestObject [player, "building"]; if (cameraOn == player && (_build distance player) < 6) then { if(cameraView != "Internal")then{ if(cameraView != "GUNNER" )then{ player switchCamera "Internal"; }; }; }else{ if(cameraView != "External")then{ if(cameraView != "GUNNER" )then{ player switchCamera "External"; }; }; }; }; };
Сообщение отредактировал lopster102: 25 July 2018 - 19:17
#1298 OFFLINE
#1299 OFFLINE
Отправлено 25 July 2018 - 19:58
private _up = lineIntersectsWith [eyePos player, eyePos player vectorAdd [0, 0, 100], player, objNull, false]; private _down = lineIntersectsWith [eyePos player, eyePos player vectorAdd [0, 0, -100], player, objNull, false]; private _inside = !((_up arrayIntersect _down) isEqualTo []);Суть в том, что: т. к. здание имеет крышу и пол, то логично предположить, что если линия вверх и линия вниз пересекли один и тот же объект, то мы как минимум находимся в беседке , так же тут нужно еще проверить, а не находиться ли игрок в технике (Т. к. она тоже как ни странно имеет крышу и пол), и по возможность отфильтровать объекты с которыми мы не хотим взаимодействовать
PS Ну и дальше чисто оптимизация и повышение точности:
* Проверять только наличие крыши над головой
* Ленивую проверку пересечений
* Длину линии проверки
* Больше линий проверки (В разные стороны, со сдвигом в сторону и т. д.)
* и т. д.
Сообщение отредактировал vlad333000: 25 July 2018 - 20:03
#1300 OFFLINE
Отправлено 25 July 2018 - 20:08
private["_unit", "_inside", "_building", "_relPos", "_boundingBox", "_min", "_max", "_myX", "_myY", "_myZ"]; _unit = (_this select 0); _inside = false; _building = nearestObject [_unit, "HouseBase"]; if (isNull _building) exitWith {_inside}; _relPos = _building worldToModel (getPosATL _unit); _boundingBox = boundingBox _building; _min = _boundingBox select 0; _max = _boundingBox select 1; _myX = _relPos select 0; _myY = _relPos select 1; _myZ = _relPos select 2; if ( (_myX > (_min select 0)) and (_myX < (_max select 0)) ) then { if ( (_myY > (_min select 1)) and (_myY < (_max select 1)) ) then { if ( (_myZ > (_min select 2)) and (_myZ < (_max select 2)) ) then {_inside = true;}; }; }; _inside