Jump to content
dsh

dsh mod

Recommended Posts

_Sk8_AsTeR_    2

@dsh, дружище, а подскажи пожалуйста вот какой момент:

dsh.script:

Скрытый текст

function is_free_logic_gulag( name )
  if free_logic_gulag[ name ] == nil then
    local cond = get_string( "dsh.gulag.free_logic", name, false )  --проблемная строка
    if cond then
      local pc = xr_logic.parse_condlist(
        nil, "dsh.gulag.free_logic", name, cond
      )
      cond = xr_logic.pick_section_from_condlist(
        db.actor_proxy, db.actor_proxy, pc
      ) ~= nil
    end
    free_logic_gulag[ name ] = cond
  end
 return free_logic_gulag[ name ]

end

 

На эту функцию вылет:

Скрытый текст

Expression    : fatal error
Function      : CScriptEngine::lua_error
File          : E:\stalker\sources\trunk\xr_3da\xrGame\script_engine.cpp
Line          : 73
Description   : <no expression>
Arguments     : LUA error: d:\games\s.t.a.l.k.e.r\gamedata\scripts\dsh.script:3704: attempt to call global 'get_string' (a nil value)

Не могу понять, откуда берется эта глобальная переменная, что не так с аргументами функции или с самой функцией?

И что это за переменная Free_logic? В каком она скрипте? Не могу сориентироваться, вводят в заблуждение синтаксис: "dsh.gulag."

Edited by _Sk8_AsTeR_

Share this post


Link to post
Share on other sites
dsh    2,599
1 hour ago, _Sk8_AsTeR_ said:

Не могу понять, откуда берется эта глобальная переменная, что не так с аргументами функции или с самой функцией?

Не обижайся, но мне кажется, что не сможешь ты эту систему адаптировать. Я-то на вопросы ответить могу, но выше головы не прыгнешь же.

 

1 hour ago, _Sk8_AsTeR_ said:
Spoiler

Arguments     : LUA error: d:\games\s.t.a.l.k.e.r\gamedata\scripts\dsh.script:3704: attempt to call global 'get_string' (a nil value)

 

Функция get_string() определена в _g.script

 

1 hour ago, _Sk8_AsTeR_ said:

И что это за переменная Free_logic?

Это не переменная. Это секция "dsh.gulag.free_logic" в одном из файлов, включенных в system.ltx, конкретнее в dsh.ltx.

 

Share this post


Link to post
Share on other sites
_Sk8_AsTeR_    2

@dsh, И так, я таки стартанул игру. Каким образом тестирую:

прямо во время игры вызываю функцию periodic_job()

Пробую ждать результатов...

Подскажи еще момент, уже мозги плавятся, где подкрутить таймер, чтобы заставить НПС побыстрее уходить с лагеря?

21 минуту назад, dsh сказал:

Это не переменная. Это секция "dsh.gulag.free_logic" в одном из файлов, включенных в system.ltx, конкретнее в dsh.ltx.

Ага, а данная секция описывает животинок, которым разрешено покидать свои "сектора обитания", насколько я понял, верно?

Share this post


Link to post
Share on other sites
dsh    2,599
14 minutes ago, _Sk8_AsTeR_ said:

где подкрутить таймер, чтобы заставить НПС побыстрее уходить с лагеря?

Это слишком глубокий вопрос, что бы вот так на него ответить. Слишком много предположений я могу домыслить, поэтому опиши подробнее, что это значит.

 

15 minutes ago, _Sk8_AsTeR_ said:

Ага, а данная секция описывает животинок, которым разрешено покидать свои "сектора обитания", насколько я понял, верно?

И это в том числе, что бы не создавать секции для каждого гулага с "dsh_walking = true", а задать все в одной секции, если от этих гулагов больше ничего не нужно. Как правило, я это использую для гулагов мутантов.

 

Share this post


Link to post
Share on other sites
_Sk8_AsTeR_    2

@dsh, если глубже описывать, то такая ситуация:

я "влюбился" в твою скриптовую фишку, которая заставляет засидевшихся в лагере НПС проваливать прочь из гулага. И вот функция, тобою выше упомянутая "periodic_job()" запускается (вручную, например). Она запускает таймер, по истечению которого будет произведен перезапуск "periodic_job()", я верно понимаю систему? И эта же функция заставляет засидевшийся НПС топать прочь? 

Я хочу понять, получилось ли у меня адаптировать твою фишку, и для этого нужно каким-то образом уменьшить время, которое НПС будет сидеть в лагере. Иными словами хочется чтобы НПС уходили из гулага как можно быстрее, типа того. 

Edited by _Sk8_AsTeR_

Share this post


Link to post
Share on other sites
В 30.11.2019 в 15:54, Haarhus сказал:

Это не оправдание. Если бы я не разжевал, на мой взгляд, очевидное,

 

Соглашусь, если уж Вы столько времени жуёте даже очевидное для Вас, то оправдаться в том, чего не понимаете, явно не получится.

 

В 30.11.2019 в 15:54, Haarhus сказал:

Если не переделал значит устраивает.

 

Это на сию минуту устраивает, что будет завтра неизвестно. Например, долгое время устраивал прежний осмотр мутантов на наличие частей. Но теперь это переделано и стало самым облегчённым осмотром в модах. 

  • Haha 1

Share this post


Link to post
Share on other sites
Vasya Glotov    203

На Янтаре с какого то перепугу срабатывает задание " Провалено задание на логово кровососов", хотя я его и не брал и соответственно падает репа с отличной до очень хорошей. Это что спецом так сделано, что бы на пустом месте снижать репу, в не зависимости от действий ГГ?

Сорри, задание ранее взял у охотника, но оно провалено, на АС еще НЕ ЗАХОДИЛ. Как такое вообще возможно? К примеру задание на снорков в ТД выполнилось, хотя я там не был в момент закрытия. Как по мне, это лютый баг, по поводу задания охотника в баре.

Если именно на него ВРЕМЯ, то об этом надо писать в диалоге.

Edited by Vasya Glotov

Share this post


Link to post
Share on other sites
dsh    2,599
20 hours ago, _Sk8_AsTeR_ said:

Она запускает таймер, по истечению которого будет произведен перезапуск "periodic_job()", я верно понимаю систему? И эта же функция заставляет засидевшийся НПС топать прочь?

Верно. Сначала заставляет топать прочь, а потом запускает таймер для следующего запуска себя.

 

20 hours ago, _Sk8_AsTeR_ said:

чтобы НПС уходили из гулага как можно быстрее

Ага, теперь понял. За это отвечает функция get_walk_npc(), которая возвращает список sobj, которых нужно выгнать из переданного смарта. В частности, вот этот вот кусочек отвечает за тех, кто пойдет, а кто останется


    for _, v in ipairs( comed_npc ) do
      local sobj = v.sobj
      if v.diff_sec < 0 then
        table.insert( not_ready_to_go, v )
      elseif is_too_bad_weather( sobj ) then
        table.insert( not_ready_to_go, v )
      elseif is_too_late( sobj ) then
        table.insert( not_ready_to_go, v )
      elseif not amk_offline_alife.is_actors_friend( sobj ) then
        table.insert( ready_to_go,     v )
      elseif math.random() < ( v.diff_sec / FRIENDS_MAX_STAY ) then
        -- свои не должны начинать гулять на текущей локации, что бы
        -- глаза не мозолить своими брожениями и зверушек не тиранить
        if sobj.level_name == level.name() then
          local obj = level.object_by_id( sobj.id )
          if
            obj and (
              obj:position():distance_to( db.actor:position() ) < 100
              or db.actor:see( obj )
            )
          then
            -- если он находится не слишком далеко или актор его видит,
            -- тогда пусть посидит еще
            table.insert( not_ready_to_go, v )
          else
            -- иначе пусть идет, его принудительно переведут в оффлайн и он
            -- исчезнет
            table.insert( ready_to_go, v )
          end
        else
          table.insert( ready_to_go, v )
        end
      end
    end

 

  • Полезно 1

Share this post


Link to post
Share on other sites
60 tv    0

Привет денис, вылет при выполнении задания на убийство ЗВЕРЯ!!!

https://dropmefiles.com/jDQZy

СЕВЫ 

 

Еще денис пока помню, ПЕРЕХОД НА РАДАР С ЯНТАРЯ ПРОПАЛ, на карте он есть когда находишься на другой локации, но с янтаря нет и не переходит!!!

 

Share this post


Link to post
Share on other sites
Haarhus    482

@60 tv, Переход с Янтарь на Радар временный. Активируется после того как перейдешь с Радара на Янтарь. Переход активен часов 12, если не ошибаюсь конечно, а потом снова пропадает.

  • Like 1
  • Полезно 2

Share this post


Link to post
Share on other sites

@dsh, доброго дня.Посмотрите, пожалуйста, возможно ли решить проблему.Весь бар облазил и никак не могу найти диск с данными для Сяка, (обычно у Бармена в столе или в комнате в сейфе) , а также Лысый не хочет вести диалог, по которому я должен получить детектор артефактов фотографу.Раньше можно было снять с трупа на АТП(локация), а теперь уже раз пять бандосов вчистую выношу- не попадается.Свой детектор когда снимаю с пояса, то "задание выполнено".
https://drive.google.com/open?id=1wok1ZBlaBC-yXqGJkl8eWE7qhZkiTIsm

Share this post


Link to post
Share on other sites
Haarhus    482

@Аркадич,  У тебя диск лежит в комнате, где Захар обитает, в тумбочке

  • Thanks 1
  • Like 1

Share this post


Link to post
Share on other sites
dsh    2,599
4 hours ago, Аркадич said:

Раньше можно было снять с трупа на АТП(локация)

Что можно было снять, детектор? Никогда такого не было. Детекторы - штука штучная.

 

4 hours ago, Аркадич said:

Лысый не хочет вести диалог, по которому я должен получить детектор артефактов фотографу

А ты с фотографом поговорил, не забыл? А Лысому клад принес из Пещеры?

 

  • Полезно 1

Share this post


Link to post
Share on other sites
60 tv    0

Денис, лога нет, в этом и суть. Сейвы я тебе скинул, вылет 100 процентный, пробовал уже много чего - перезаход на локу в другое время и тд.

Вот файл с папки лог полный

Попробуй, сейвы я тебе скинул в первом письме. Говоришь с группой призрака, на кордоне появляются бандосы и вылет.
Edited by W.A.S.P.
правописание
Добавлено  W.A.S.P.,

Следите за правописанием (п.2.5 правил форума).

Share this post


Link to post
Share on other sites

@dsh, Професор Новиков бессмертный, которого надо на Затоне в подземке спасти ?

Пошёл без мин на Юпитер, схему беспилотника забирать, раз сто пытался от монолита уйти, всё марно, пойду назад за минами :pooh_go:

Share this post


Link to post
Share on other sites
dsh    2,599
1 hour ago, 60 tv said:

лога нет в этом и суть

Как это нет, если ты в этом сообщении на него ссылку дал. Лог есть всегда.

Удали из папки mods файл haarhus_inv2.xdb. Я же писал об этом в сообщении с обновлением.

Твой вылет я поправил в тестовой версии

https://drive.google.com/open?id=1RnGD8OYlEcDumWQbXAhojyHImg16XsJW

1 hour ago, Виталий Молодцов said:

Професор Новиков

Не помню точно, но мне кажется он тебя должен дождаться в любом случае. Ага, точно, бессмертный.

 

Edited by dsh

Share this post


Link to post
Share on other sites
1 час назад, dsh сказал:

дождаться в любом случае.

Он меня ждёт, я перешёл на Зотон, сильный туман, я стелс обошёл монолит  они меня вообще не видели, как и я их, и спустился к нему, но его надо вывести. Вот я и думаю, вывести и с ним воевать или переиграть и сначала зачистить всех монолитовцев, а потом к Новикову спустится.

Share this post


Link to post
Share on other sites

@dsh, поступлю как благородный сталкер, зачищу дорогу, потом к доктору. Я на Юпитер и мины забыл и взял Гаус, но заряды у Сахара наменял и там и забыл, когда дорогу к переходу зачищал, беру пример с твоего Меченого :mebiro_01:

  • Haha 1

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Topic Moderators

  • Recently Browsing   0 members

    No registered users viewing this page.

AMK-Team.ru

×
×
  • Create New...