Случайная подборка модов
Закоулки правды
3.6
Shadows Addon 0.8
4.1
Call of Pripyat Complete
3.7
OGSE 0.6.9.3
4.2
Двойники - Разлом Времени
3.5
Сталкер: Конец Света
3.0
Последние обновленные темы Прямой эфир Самые популярные темы Последние новости
Модератор форума: FanG, Аdmin, FantomICW, Overfirst  
[CoP] Модострой: вопросница
Российская Федерация  Overfirst
Воскресенье, 31.12.2017, 13:17 | Сообщение # 1
Статус:
Бывалый:
Сообщений: 1081
Награды: 19
Регистрация: 11.06.2015

[CoP] Модострой: вопросница

Тема посвящена моддингу на платформе Зов Припяти.

Соседние темы: Тень Чернобыля / Чистое небо.


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

  • Если у вас произошёл вылет, проверьте лог и поищите информацию об ошибке в справочнике. Также будет полезно посмотреть справочник ошибок. Если у Вас вылетает какой-то мод, то следует написать в тему этого мода.

  • Грамотно оформляйте свой пост, чётко доносите суть своего вопроса (ответа).

  • Благодарность выражаем в личке или же ставим плюсик в историю репутации. Подобные посты будут удаляться.
  •   Злобная реклама
    Воскресенье, 31.12.2017, 13:17
    Статус:
    Сообщений: 666
    Регистрация: 11.06.2015
    Российская Федерация  OP_artovod
    Пятница, 19.06.2020, 11:05 | Сообщение # 7516
    Статус:
    Отмычка:
    Сообщений: 125
    Награды: 0
    Регистрация: 28.03.2020

    denis2000, а куда её вписывать?
      Злобная реклама
    Пятница, 19.06.2020, 11:05
    Статус:
    Сообщений: 666
    Регистрация: 28.03.2020
    Российская Федерация  yobakun
    Пятница, 19.06.2020, 20:19 | Сообщение # 7517
    Статус:
    Новичок:
    Сообщений: 270
    Награды: 5
    Регистрация: 30.07.2016

    Как заспавнить предмет вне AI сетки? Если использовать функцию spawn_object для спавна на вейпоинте, то ничего не происходит.
    Сообщение отредактировал yobakun - Пятница, 19.06.2020, 20:37
      Злобная реклама
    Пятница, 19.06.2020, 20:19
    Статус:
    Сообщений: 666
    Регистрация: 30.07.2016
    Российская Федерация  sergej5500
    Пятница, 19.06.2020, 20:51 | Сообщение # 7518
    Статус:
    Новичок:
    Сообщений: 290
    Награды: 4
    Регистрация: 09.01.2017

    Цитата yobakun ()
    Как заспавнить предмет вне AI сетки?


    Можно в СДК, если отключить привязку к сетке. Или скриптом типа

    alife():create("секция предмета",vector():set(db.actor:position().x+2,db.actor:position().y,db.actor:position().z),
    db.actor:level_vertex_id(),db.actor:game_vertex_id())

    Вместо db.actor:position().x+2 пишете нужные координаты.
    Сообщение отредактировал sergej5500 - Пятница, 19.06.2020, 21:08
      Злобная реклама
    Пятница, 19.06.2020, 20:51
    Статус:
    Сообщений: 666
    Регистрация: 09.01.2017
    Российская Федерация  Overfirst
    Пятница, 19.06.2020, 21:50 | Сообщение # 7519
    Статус:
    Бывалый:
    Сообщений: 1081
    Награды: 19
    Регистрация: 11.06.2015

    Цитата sergej5500 ()
    Можно в СДК, если отключить привязку к сетке. Или скриптом

    Функция spawn_object - скриптовая функция, которая содержит в себе вызов alife():create(...), так что работает это всё по одной и той же схеме. Как вариант, можно попробовать использовать obj:use_ai_locations(false) при создании объекта. Я использовал это, когда нужно было, чтобы предметы из дроп боксов не привязывались к сетке (провалы предметов с крыш на первый этаж). Мне помогло.
      Злобная реклама
    Пятница, 19.06.2020, 21:50
    Статус:
    Сообщений: 666
    Регистрация: 11.06.2015
    Российская Федерация  sergej5500
    Пятница, 19.06.2020, 22:01 | Сообщение # 7520
    Статус:
    Новичок:
    Сообщений: 290
    Награды: 4
    Регистрация: 09.01.2017

    Цитата Overfirst ()
    spawn_object - скриптовая функция, которая содержит в себе вызов alife():create(...), так что работает это всё по одной и той же схеме


    Это так, но не совсем. Я для интереса проводил тесты. Ставил пойнт вне сетки. Вызывал spawn_object. Ничего не получалось. А вот
    alife():create с нужными координатами срабатывало. Даже вне сетки.

    Пример, СГМ. Там один из тайников на носу Скадовска на верхней палубе. Сетки там точно нет. Применялась функция alife():create.
      Злобная реклама
    Пятница, 19.06.2020, 22:01
    Статус:
    Сообщений: 666
    Регистрация: 09.01.2017
    Российская Федерация  Overfirst
    Пятница, 19.06.2020, 22:08 | Сообщение # 7521
    Статус:
    Бывалый:
    Сообщений: 1081
    Награды: 19
    Регистрация: 11.06.2015

    Можно попробовать ради интереса в конце spawn_object добавить:
    Код
    se_obj:use_ai_locations(false)

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

    Проверять уже без меня - не до тестов сейчас. Может, поможет. Всяко лучше, чем каждый раз дёргать alife():create(...) и спавнить по координатам.

    Цитата sergej5500 ()
    Я для интереса проводил тесты. Ставил пойнт вне сетки. Вызывал spawn_object. Ничего не получалось.

    Это странно. Никаких предпосылок в функции spawn_object для таких проблем нет. По крайней мере, я пока не вижу.
      Злобная реклама
    Пятница, 19.06.2020, 22:08
    Статус:
    Сообщений: 666
    Регистрация: 11.06.2015
    Российская Федерация  OP_artovod
    Пятница, 19.06.2020, 22:14 | Сообщение # 7522
    Статус:
    Отмычка:
    Сообщений: 125
    Награды: 0
    Регистрация: 28.03.2020

    Цитата denis2000 ()
    ----------------------------------------------------
    -- Ведение отдельного лог-файла
    ----------------------------------------------------

    --Инициализация лога
    function init_log_file()
    local file=io.open("gamedata//log_file.log","w")
    file:write("Start loggong on "..os.date(),"\n")
    file:close()
    end

    --Запись строки в лог
    function print_log(save_string,script_name)
    if script_name == nil then script_name = "_g.script" end
    local file=io.open("gamedata//log_file.log","a")
    file:write(os.date().."|"..script_name.."|"..save_string,"\n")
    file:close()
    end


    куда это вписывать или это можно отдельным файлом сделать
      Злобная реклама
    Пятница, 19.06.2020, 22:14
    Статус:
    Сообщений: 666
    Регистрация: 28.03.2020
    Российская Федерация  yobakun
    Пятница, 19.06.2020, 22:28 | Сообщение # 7523
    Статус:
    Новичок:
    Сообщений: 270
    Награды: 5
    Регистрация: 30.07.2016

    Код
    se_obj:use_ai_locations(false)
    работает.
    Цитата sergej5500 ()
    пишете нужные координаты.

    Это неудобно когда надо заспавнить объект через логику.

    Цитата Overfirst ()
    Это странно

    В этом то и загвоздка. В некоторых моментах функция просто ничего не создает.
      Злобная реклама
    Пятница, 19.06.2020, 22:28
    Статус:
    Сообщений: 666
    Регистрация: 30.07.2016
    Российская Федерация  Overfirst
    Пятница, 19.06.2020, 22:31 | Сообщение # 7524
    Статус:
    Бывалый:
    Сообщений: 1081
    Награды: 19
    Регистрация: 11.06.2015

    Я там обновил пост свой. Сделай лучше, как там написано в upd.
    Цитата yobakun ()
    В некоторых моментах функция просто ничего не создает.

    Встречал такое недавно, когда спавнили призрачный поезд с товарищем Policai для его мода. Впервые тогда это увидел. Раньше не сталкивался (ибо редко юзаю spawn_object).
      Злобная реклама
    Пятница, 19.06.2020, 22:31
    Статус:
    Сообщений: 666
    Регистрация: 11.06.2015
    Российская Федерация  yobakun
    Пятница, 19.06.2020, 22:36 | Сообщение # 7525
    Статус:
    Новичок:
    Сообщений: 270
    Награды: 5
    Регистрация: 30.07.2016

    Цитата Overfirst ()
    Я там обновил пост свой. Сделай лучше, как там написано в upd.

    В курсе, уже даже испробовал. При попытке заспавнить сталкера за пределами сетки с se_obj:use_ai_locations(false) сначала все ок, но стоит ему дойти до самой сетки происходит вылет biggrin
    Сообщение отредактировал yobakun - Пятница, 19.06.2020, 22:37
      Злобная реклама
    Пятница, 19.06.2020, 22:36
    Статус:
    Сообщений: 666
    Регистрация: 30.07.2016
    Российская Федерация  Policai
    Суббота, 20.06.2020, 03:55 | Сообщение # 7526
    Dead City Breakthrough
    Статус:
    Опытный:
    Сообщений: 2244
    Награды: 11
    Регистрация: 08.11.2011

    Цитата Overfirst ()
    Встречал такое недавно, когда спавнили призрачный поезд с товарищем Policai для его мода. Впервые тогда это увидел. Раньше не сталкивался (ибо редко юзаю spawn_object).


    Добавлю, если ставить обьект в СДК вне сетки, то проблем нету, тот же поезд или вертолёт, всё прекрасно работает. Но если спавнить скриптом то на точке должен быть хотя бы один нод сетки. пусть даже не связанный с общей сеткой. Видимо это особенность движка ЗП.
    Кстати пысовцы были вкурсе этой особенности, в тех местах где это происходит в оригинале ЗП, стоят отдельные ноды, например в Припяти таких нодов навалом на крышах зданий где спавнятся снайперы...
    Сообщение отредактировал Policai - Суббота, 20.06.2020, 03:57
      Злобная реклама
    Суббота, 20.06.2020, 03:55
    Статус:
    Сообщений: 666
    Регистрация: 08.11.2011
    Российская Федерация  OP_artovod
    Суббота, 20.06.2020, 09:07 | Сообщение # 7527
    Статус:
    Отмычка:
    Сообщений: 125
    Награды: 0
    Регистрация: 28.03.2020

    [error]Expression : !m_error_code
    [error]Function : raii_guard::~raii_guard
    [error]File : ..\xrServerEntities\script_storage.cpp
    [error]Line : 748
    [error]Description : ...ll of pripyat\gamedata\scripts\level_weathers.script:459: bad argument #1 to 'find' (string expected, got nil)


    stack trace:

    0023:007575D1 xrCore.dll, xrCriticalSection::raii::~raii()
    0023:072DADE1 xrGame.dll, CDialogHolder::operator=()
    мне понятней не стало
      Злобная реклама
    Суббота, 20.06.2020, 09:07
    Статус:
    Сообщений: 666
    Регистрация: 28.03.2020
    Российская Федерация  Winsor
    Суббота, 20.06.2020, 09:25 | Сообщение # 7528
    Статус:
    Отмычка:
    Сообщений: 163
    Награды: 0
    Регистрация: 22.04.2020

    OP_artovod, Смотри справочник вылетов, и будет более менее понятно.
    Как я понял, игра не может вызвать функцию find, оно имеет пустое значение либо есть опечатки.
    Либо ты не записал функцию find.
    function find (значения)
    операции....
    end
    В файле level weathers:
    Пример:
    fuinction ..(..)
    ....
    end
    if weather == cloudy then
    find(..)
    end
    Сообщение отредактировал Winsor - Суббота, 20.06.2020, 09:28
      Злобная реклама
    Суббота, 20.06.2020, 09:25
    Статус:
    Сообщений: 666
    Регистрация: 22.04.2020
    Российская Федерация  OP_artovod
    Суббота, 20.06.2020, 10:20 | Сообщение # 7529
    Статус:
    Отмычка:
    Сообщений: 125
    Награды: 0
    Регистрация: 28.03.2020

    ! Unknown command: _se_actor:_set_load_marker:_%s
    ! Unknown command: _se_actor:_LOAD_DIF:_%s
    ! Unknown command: _actor_binder:_set_load_marker:_%s
    ! Unknown command: load_game_difficulty_%s
    из-за этого может может быть краш?
      Злобная реклама
    Суббота, 20.06.2020, 10:20
    Статус:
    Сообщений: 666
    Регистрация: 28.03.2020
    Российская Федерация  Overfirst
    Суббота, 20.06.2020, 10:22 | Сообщение # 7530
    Статус:
    Бывалый:
    Сообщений: 1081
    Награды: 19
    Регистрация: 11.06.2015

    Цитата Policai ()
    в оригинале ЗП, стоят отдельные ноды, например в Припяти таких нодов навалом на крышах зданий где спавнятся снайперы...

    Ну для неписей сетка нужна в любом случае в любых местах. smile
      Злобная реклама
    Суббота, 20.06.2020, 10:22
    Статус:
    Сообщений: 666
    Регистрация: 11.06.2015
    Поиск: