Случайная подборка модов
«Последний Сталкер»
4.1
Золотой Обоз 2
3.0
STCoP Weapon Pack 3.3
4.4
Dream Reader - Dangerous Area
4.1
G.L.A.D.I.A.T.O.R. II Время Альянса
3.4
Альтернатива 1.2
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, 10:58 | Сообщение # 7486
    Статус:
    Отмычка:
    Сообщений: 125
    Награды: 0
    Регистрация: 28.03.2020

    а как её в лог вывести?
      Злобная реклама
    Пятница, 19.06.2020, 10:58
    Статус:
    Сообщений: 666
    Регистрация: 28.03.2020
    Российская Федерация  denis2000
    Пятница, 19.06.2020, 11:03 | Сообщение # 7487
    Время Альянса
    Статус:
    Ветеран:
    Сообщений: 4070
    Награды: 16
    Регистрация: 19.07.2013

      Злобная реклама
    Пятница, 19.06.2020, 11:03
    Статус:
    Сообщений: 666
    Регистрация: 19.07.2013
    Российская Федерация  OP_artovod
    Пятница, 19.06.2020, 11:05 | Сообщение # 7488
    Статус:
    Отмычка:
    Сообщений: 125
    Награды: 0
    Регистрация: 28.03.2020

    denis2000, а куда её вписывать?
      Злобная реклама
    Пятница, 19.06.2020, 11:05
    Статус:
    Сообщений: 666
    Регистрация: 28.03.2020
    Российская Федерация  yobakun
    Пятница, 19.06.2020, 20:19 | Сообщение # 7489
    Статус:
    Новичок:
    Сообщений: 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 | Сообщение # 7490
    Статус:
    Новичок:
    Сообщений: 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 | Сообщение # 7491
    Статус:
    Бывалый:
    Сообщений: 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 | Сообщение # 7492
    Статус:
    Новичок:
    Сообщений: 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 | Сообщение # 7493
    Статус:
    Бывалый:
    Сообщений: 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 | Сообщение # 7494
    Статус:
    Отмычка:
    Сообщений: 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 | Сообщение # 7495
    Статус:
    Новичок:
    Сообщений: 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 | Сообщение # 7496
    Статус:
    Бывалый:
    Сообщений: 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 | Сообщение # 7497
    Статус:
    Новичок:
    Сообщений: 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 | Сообщение # 7498
    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 | Сообщение # 7499
    Статус:
    Отмычка:
    Сообщений: 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 | Сообщение # 7500
    Статус:
    Отмычка:
    Сообщений: 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
    Поиск: