dsh 3 824 Опубликовано 19 Октября 2017 @abramcumner я правильно этот пример перевел на lua? function is_actor_looking_to_pos( pos, radius ) local k = vector():sub( pos, device().cam_pos ):normalize() local b = k:dotproduct( device().cam_dir ) local c = k:dotproduct( k ) - radius * radius local d = b * b - c if d >= 0 then local sqrtfd = math.sqrt( d ) local t1 = -b + sqrtfd local t2 = -b - sqrtfd local min_t = math.min( t1, t2 ) local t = min_t > 0 and min_t or math.max( t1, t2 ) return t > 0 end return false end dsh mod: https://github.com/dsh2dsh/op2ogse Поделиться этим сообщением Ссылка на сообщение
dsh 3 824 Опубликовано 20 Октября 2017 @nasar75 я бы посоветовал не заниматься борьбой с последствиями, а один раз исправить причину этого. Вот тут можно посмотреть, в чем причина и один из вариантов исправления: https://github.com/dsh2dsh/op2ogse/commit/f726609396ce7115ee4cd86fcc7cc7a314cf1349 4 dsh mod: https://github.com/dsh2dsh/op2ogse Поделиться этим сообщением Ссылка на сообщение
dsh 3 824 Опубликовано 20 Октября 2017 @nasar75 ну дык я же как раз и показал решение, что бы в сейв не писалась нулевая логика. Тогда не понадобится все остальное. 1 dsh mod: https://github.com/dsh2dsh/op2ogse Поделиться этим сообщением Ссылка на сообщение
dsh 3 824 Опубликовано 25 Октября 2017 @Jekyll не исправит. Нужно, как минимум, разрегистрировать его в смарт террейне, если он там зарегистрирован. Ещё хорошо бы отрегистрировать его в респаунере, который его создал, если если мод был респаунером создан. Ну и в остальных местах отрегистрировать, если он ещё где-то зарегистрирован. 1 dsh mod: https://github.com/dsh2dsh/op2ogse Поделиться этим сообщением Ссылка на сообщение
dsh 3 824 Опубликовано 7 Ноября 2017 @Pir@t@s вообще, можно отбиндить соотв. кнопки. Но если 1 hour ago, Pir@t@s said: знание скриптов 0 то я бы посоветовал "ох, не ходил бы ты туда, Стрелок". Вот скрипт, который делает "поломку" ПДА с помощью отбиндивания кнопок: https://github.com/dsh2dsh/op2ogse/blob/master/gamedata/scripts/dsh_broken_pda.script Правда я сомневаюсь, что это тебе поможет. 1 dsh mod: https://github.com/dsh2dsh/op2ogse Поделиться этим сообщением Ссылка на сообщение
dsh 3 824 Опубликовано 18 Ноября 2017 Кто-то тут "полетом" занимался, @TIGER_VLAD возможно. Что-то я такое припоминаю. 1 dsh mod: https://github.com/dsh2dsh/op2ogse Поделиться этим сообщением Ссылка на сообщение
dsh 3 824 Опубликовано 23 Ноября 2017 @_Sk8_AsTeR_ вероятно потому, что на каждом апдейте ты делаешь новый level.add_call(). Вообще не понятно, зачем тебе все так сложно. Вызывай из апдейта сразу action_timer. Ведь там же есть проверка, наступило нужное время или нет. dsh mod: https://github.com/dsh2dsh/op2ogse Поделиться этим сообщением Ссылка на сообщение
dsh 3 824 Опубликовано 23 Ноября 2017 1 hour ago, _Sk8_AsTeR_ said: Оказывается почему-то что всегда переменная time_news перманентно больше игрового времени в данный момент. Как так? Ну почему, почему. Потому, что в начале функции ты делаешь её больше. time_news устанавливай снаружи функции. А потом внутри функции, внутри if-а, что бы в следующий раз выполнялась. 1 dsh mod: https://github.com/dsh2dsh/op2ogse Поделиться этим сообщением Ссылка на сообщение
dsh 3 824 Опубликовано 5 Декабря 2017 @aka_sektor db.actor не определен похоже dsh mod: https://github.com/dsh2dsh/op2ogse Поделиться этим сообщением Ссылка на сообщение
dsh 3 824 Опубликовано 6 Декабря 2017 21 minutes ago, Nazgool said: local actor = db.actor Это экономия на спичках. Имеет смысл только в очень частых и нагруженных циклах и то, сначала бы померить нужно. Возможно в условиях выполнения около 50 раз в секунду, если мы возьмем апдейт актора, это ни при каких условиях не будет иметь смысла. 3 dsh mod: https://github.com/dsh2dsh/op2ogse Поделиться этим сообщением Ссылка на сообщение
dsh 3 824 Опубликовано 7 Декабря 2017 @Dennis_Chikin все, что угодно, может стать всем, чем угодно, в результате очепятки. И actor на следующей строке с лёгкостью может стать aktor-ом. dsh mod: https://github.com/dsh2dsh/op2ogse Поделиться этим сообщением Ссылка на сообщение
dsh 3 824 Опубликовано 13 Декабря 2017 @Graff46 можно. Почему нет. Главное обратно прочитать в правильном порядке и за границу нетпакета не вылезти. 1 1 dsh mod: https://github.com/dsh2dsh/op2ogse Поделиться этим сообщением Ссылка на сообщение
dsh 3 824 Опубликовано 20 Декабря 2017 Я фигею с оригинальных скриптов -- закешируем айдишник непися local npc_id = npc:id() -- проверка непися на присутсвие в списке if self.npc_list[npc:id ()] == nil then Что за криворукие уедятлы их писали. Вот хочется взять, мордой об стол треснуть и спросить, ты какого пи-пи-пи закэшировал пи-пи-пи айдишник, как ты сам пи-пи-пи написал, и на следующей же строке не используешь. В глаза, пи-пи-пи, смотреть. И ведь такой фигни сплошь да рядом в их скриптах. Такое впечатление, что там просто выходили на улицу и О, чувак, полтинник хочешь? Давай, накатай нам тут скриптик и вали по своим делам. 1 5 dsh mod: https://github.com/dsh2dsh/op2ogse Поделиться этим сообщением Ссылка на сообщение
dsh 3 824 Опубликовано 16 Января 2018 @Graff46 в x-ray extensions есть коллбек, вызываемый перед обработкой хита. В него передается структура, в которой есть, в том числе, и тип хита. Вот только я не помню, есть расшифровка этой структуры в XE или это уже из ogse.dll. dsh mod: https://github.com/dsh2dsh/op2ogse Поделиться этим сообщением Ссылка на сообщение
dsh 3 824 Опубликовано 20 Января 2018 @Kirgudu @CRAZY_STALKER666 насколько я помню, значение параметра combat_ignore никак не используется. Наличие этого параметра с любым значением лишь включает обработку combat_ignore_cond. dsh mod: https://github.com/dsh2dsh/op2ogse Поделиться этим сообщением Ссылка на сообщение
dsh 3 824 Опубликовано 23 Января 2018 @Graff46 это вопрос, пожалуй, для другой темы. Вот пример, сейчас уже не используется, но раньше я его использовал: https://github.com/dsh2dsh/op2ogse/blob/8f94729861b177b039eb58db4ca93e48b69bdb1c/gamedata/scripts/dsh/dsh.script#L2426 1 dsh mod: https://github.com/dsh2dsh/op2ogse Поделиться этим сообщением Ссылка на сообщение
dsh 3 824 Опубликовано 24 Января 2018 (изменено) @Metro_Rus исчезновение или удаление? Это несколько разные вещи. Вот логика непися, который стоит на месте, куда поставили, после инфопоршня "dragunov_aks_done" дожидается, когда актор отойдет на 50 метров и самоудаляется: https://github.com/dsh2dsh/op2ogse/blob/master/gamedata/config/dsh/logic/l11_pripyat/dragunof_npc.ltx Вот та самая функция, которая вызывается из этой логики для удаления: https://github.com/dsh2dsh/op2ogse/blob/8f94729861b177b039eb58db4ca93e48b69bdb1c/gamedata/scripts/dsh/dsh.script#L2331 Все это, естественно, для осмысления, а не для тупого копирования. Изменено 24 Января 2018 пользователем dsh 1 dsh mod: https://github.com/dsh2dsh/op2ogse Поделиться этим сообщением Ссылка на сообщение
dsh 3 824 Опубликовано 26 Января 2018 @Dennis_Chikin obj, кстати, в выше приведенном примере совсем не нужен. Только движок лишний раз дёргает, пытаясь найти obj.script dsh mod: https://github.com/dsh2dsh/op2ogse Поделиться этим сообщением Ссылка на сообщение
dsh 3 824 Опубликовано 1 Февраля 2018 @alexsimm что-то смутно припоминаю, какая-то консольная команда sv_weather_что-то_там 1 dsh mod: https://github.com/dsh2dsh/op2ogse Поделиться этим сообщением Ссылка на сообщение
dsh 3 824 Опубликовано 11 Февраля 2018 @qwertyuiop потому, что это методы клиентского объекта, а ты тут перебираешь серверные объекты. 1 dsh mod: https://github.com/dsh2dsh/op2ogse Поделиться этим сообщением Ссылка на сообщение