Перейти к контенту

sergej5500

Пользователи
  • Число публикаций

    12
  • Регистрация

  • Последнее посещение

  • AMKoin

    100 [Подарить AMKoin]

Сообщения опубликованы sergej5500

  1. Добрый вечер. 

    Если в оригинале Зова Припяти выкинуть на землю ствол, то можно увидеть, что мимо обреза сталкеры пройдут, презрительно отвернув лицо, а за пулеметом ломанутся с другого конца локации.  Вопрос такой:

    Какие параметры влияют на выбор сталкером оружия, если доступно несколько вариантов?  Убойность ствола, коэффициент убойности патрона, точность, дальность, скорострельность?  Или движок как то комбинирует эти параметры и обсчитывает общий рейтинг ствола?  Какие функции этим занимаются?

  2. Добрый день.  Возник вопрос.   

    1.  Есть секция апгрейда.  Допустим, эта -    up_sect_firsta_novice_outfit 

    2. Есть секция апгрейда - up_sect_firstc_novice_outfit    Ветвь апгрейда та же.  Другой ряд.

     

    Я разблокировал все апгрейды у бронекостюма.  В оригинале ЗП у части агрейдов приходится выбирать один апгрейд из двух.

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

     

    3. В файле stalker_urprage_info  прописаны разрешения конкретным механикам делать тот или иной апгрейд.

     

    up_sect_firsta_novice_outfit  = true

     

    Вопрос такой.  Можно ли составить функцию, проверяющую, установлен или нет конкретный апгрейд на предмете.  Что то вроде:

     

    up_sect_firstc_novice_outfit = {=проверка_наличия_апгрейда(up_sect_firsta_novice_outfit)} true, false.

     

    Как составить такую функцию?

  3. Всем добрый день. Я сделал в СДК прожектор и поставил его на локации. Обнаружил, что при близких взрывах прожектор гаснет. Далее выяснил, что так обстоят тела со всеми источниками света.  Можно ли на уровне конфигов или скриптов сделать так, что бы лампочки не гасли?

     

    Пока я нашёл один способ сделать "вечную" лампочку.  Ставить на локацию физический объект, изображающий лампу. Сам источник света делать без визуала и накладывать на объект - лампу.

  4.  

     

    Если я правильно понял, то не найдено какое-то описание ножа. Как с этим можно побороться?

     

    Не задан параметр splash1_hits_count   в файле  gamedata\configs\weapons\w_knife.

     

    В оригинальном ЗП он равен 3.    Нужно этот параметр задать.

  5. Добрый вечер.

     

    Я пытаюсь добавить в Зов Припяти мины, которые мог бы устанавливать игрок. Мины должны реагировать на монстров и сталкеров.  Базовый элемент мины - объект класса inventory_box. Спавнится объект под ногами игрока при юзании бустера (мины) в инвентаре ГГ.

     

    Логика мины

     

     

     

    [logic]
    active = ph_idle

    [ph_idle]
    nonscript_usable = false
    on_info = {=dist_to_actor_ge(45)}
    ph_idle@1

    [ph_idle@1]
    nonscript_usable = false
    on_game_timer = 30 | ph_idle@2

    [ph_idle@2]
    nonscript_usable = false
    on_info = ph_idle@1
    %=mine_control%

     

     

     

    Функция подрыва

     

     

    function mine_control(obj1,obj)
    for i = 1,65534 do
      local obj1 =
    alife():object(i)
      if obj1 then
       if (obj1==IsStalker or
    obj1==IsMonster) then
        if distance_between(obj1,obj)<15
    then
        
    alife():create("remote_explosive_bomb_1",vector():set(obj:position()),obj:level_vertex_id(),obj:game_vertex_id())
        
    level.add_call(
        
    function()
          if
    get_story_object("remote_explosive_bomb_1") ~= nil
    then
           return
    true
          end
        
    end,
         function()
         
    expl_obj =
    get_story_object("remote_explosive_bomb_1")
         
    expl_obj:explode(0)
         end
        
    )
         local sobj =
    alife():object(obj:id())
         if sobj
    then
         
    alife():release(sobj,true)
         end
       
    end
       end
      end
    end
    end

     

     

    Функция подрыва должна проверить, не находится ли ближе 15 метров к мине монстр или сталкер. Если ближе есть живой объект, то заспавнить заряд взрывчатки и взорвать его. Функция не срабатывает. 

     

    Где я допустил ошибку?

  6. Добрый день.

     

    Для Зова Припяти нужна функция в xr_conditions.  Функция вызывается их логики объекта inventiory_box.  Функция должна выдать true, если ближе 10 метров к этому inventory_box окажется любой сталкер или монстр.  Какой функцией можно воспользоваться? Или как её правильно составить?

  7. Не запаковывается all.spawn. Спасе рестриктор увидеть не может

     

    Я распаковал оригинальный Затон из чистой игры. Секция.

     

     

     

    [1073]

    ; cse_abstract properties

    section_name = space_restrictor

    name = zat_a2_spot

    position = 143.491851806641, -2.58686804771423, 184.982131958008

    direction = 0, 0, 0

    id = 65535

    version = 128

    script_version = 12

    spawn_id = 1348

    ; cse_alife_object properties

    game_vertex_id = 0

    level_vertex_id = 293223

    object_flags = 0xffffff3e

    custom_data =<<END

    [story_object]

    story_id = zat_a2_spot

    END

    ; cse_shape properties

    shapes = 1

    shape_0:type = sphere

    shape_0:offset = 0,0,0

    shape_0:radius = 1

    ; cse_alife_space_restrictor properties

    restrictor_type = 3

     

     

     

    В сравнении с Вашим кодом видна заметная разница.

     

     

     

     

    У Вас

     

     

     

    custom_data = <[story_object]

    story_id = esc_b1_spot

    END

     

     

     

    В оригинале

     

     

     

    custom_data = <<END

    [story_object]

    story_id = zat_a2_spot

    END

     

     

     

    У Вас

     

     

     

    shapes = shape0

    shape0:type = sphere

    shape0:offset = 0,0,0

    shape0:radius = 1

     

     

     

    В оригинале

     

     

     

    shapes = 1

    shape_0:type = sphere

    shape_0:offset = 0,0,0

    shape_0:radius = 1

     

     

     

    Попробуйте исправить свой рестриктор и посмотрите, что будет.

  8. Добрый вечер.

    Я создал спавн-пойнт для игрового объекта.

     


    [esc_utilizator_box_spawn]
    points = p0
    p0:name = wp00
    p0:position = -182.350006103516,-20.2800006866455,-162.5
    p0:game_vertex_id = 1620
    p0:level_vertex_id = 67494

     

     

    Объект без проблем спавнился, где нужно.

     

    Затем я в СДК поставил на локации несколько аномалий.  Собрал полный спавн  средствами СДК.  После чего игра вылетела.  Разобрал спавн и увидел это.

     




    [esc_utilizator_box_spawn]
    points = p0
    p0:name = wp00
    p0:position = -182.350006103516,-20.2800006866455,-162.5
    p0:game_vertex_id = 50896
    p0:level_vertex_id = 4294967295

     

     

    Левел и гейм вертексы приняли "запредельные" значения.  После исправления вертексов и сборки спавна с помощью ACDC  игра загрузилась нормально.

     

    В связи с этим возник вопрос.

     

    Можно ли добавить в ACDC функцию проверки вертексов в файлах alife и  way.  Если гейм вертекс больше определенного значения (например, для Затона 316), то принудительно выставить 316.  Для левел-вертекса выставлять максимальное реальное значение для текущей локации.

  9. Добрый вечер.

     

    Есть два вопроса.

     

    1. Допустим, я разобрал all.spawn на level.game и  level.spawn.  Открыл локацию с моими правками в СДК.  Вставил 2-3 аномалии и 5-6 путей для артефактов. Или добавил инвентарный ящик.  Сохранил изменения.  Получились два файла part (spawn и way)  в папке rawdata\levels.  Компилировать локацию долго. Быстрее напрямую добавить нужные секции в all.spawn, взяв нужные координаты из файлов part.

     

    2. Можно ли полученные файлы part преобразовать в level.game и  level.spawn?  И самое главное,  можно ли из набора файлов level.game и  level.spawn для отдельных локаций собрать полноценный all.spawn?

    То есть решить обратную задачу (Разбивка all.spawn на level.spawn).

  10. Добрый день. Возникли следующие вопросы по ACDC - 1.37.

     

    1. Решил подключить к СГМ 2.1 для ЗП Кордон от ЧН (чистая игра версии 1.5.10). ACDC немного подправил для своих нужд.
    Добавил туда файл sections от СГМ и попрравил way_prefixes (прописал там локи, существующие в моде).
    Спавн от СГМ собирается и разбирается без проблем и глюков.

    2. Спавн от ЧН ACDC разобрал. Потом собрал. Но новособранный спавн от ЧН разбирать отказался.
    Пишет в логе это.

    Universal ACDC v.1.37
    checking version of new.spawn...
    This is a spawn of S.T.A.L.K.E.R. Clear Sky (1.5.04 - 1.5.10)
    opening new.spawn...
    reading header...
    reading alife objects...
    handling error with sim_faction, template C

    FATAL ERROR!
    Function: stkutils::data_packet::error_handler
    Line: 1548
    Description: unhandled exception

    В спавне ЧН ничего не трогал. Просто пробовал сборку-разборку.

    3. Взял файлы Кордона из разобранного спавна. Из alife_escape вырезал объекты, не используемые в ЗП.
    На этапе пересчета вертексов получил лог.

    Universal ACDC v.1.37
    parsing all_2/alife_escape.ltx...
    importing alife objects from all_2/alife_escape.ltx
    Undefined subroutine &main::fix_versions called at C:\Users\Сергей\Desktop\Compiler COP\universal_acdc.pl line 1577.

    Команда в батнике

    universal_acdc.pl -parse all_2/alife_escape.ltx -old 472 -new 1598 -way -log
    pause

    Ссылки на спавны и файлы.

    http://yadi.sk/d/-nTmw016NSJB3
    http://yadi.sk/d/keDm5e2BNQtm7

     

     

     

    Вопрос, как произвести пересчет вертексов?

  11. Добрый вечер. При разборке спавна от СГМ 2.1 с помощью ACDC - 1.36-1.37  возникают непонятные файлы.  way__level_unknown   и  way_l11_pripyat.  В файлах  точки, относящиеся у Юпитеру и Припяти.  Если перенести содержимое этих файлов в файлы путей Юпитера и Припяти, убрать ссылки на них в all,  собрать спавн и разобрать его по новой, то файлы появляются вновь.

    Так же дает ошибку разбор спавна по локациям на level.game и  level.spawn.  Как настроить компилятор?  Ссылки на ACDC брал отсюда.  Заранее благодарен за советы. 

AMK-Team.ru

×
×
  • Создать...