Случайная подборка модов
«Последний Сталкер»
4.1
GUNSLINGER mod
4.5
S.T.A.L.K.E.R. F.M.
4.4
AMK 1.4.1
4.2
We Are Not Alone
4.0
Время Альянса
2.9
Последние обновленные темы Прямой эфир Самые популярные темы Последние новости
Архив - только для чтения
Модострой:Вопросница
Российская Федерация  Аdmin
Воскресенье, 03.11.2013, 19:36 | Сообщение # 1
Статус:
Опытный:
Сообщений: 1538
Награды: 11
Регистрация: 28.03.2011

В данной теме вы можете задавать любые вопросы касательно S.T.A.L.K.E.R. моддинга.

  • Не флудить
  • Предварительно просматривайте раздел. Ответ на ваш вопрос может быть там.
  • В своем вопросе указывайте платформу моддинга - Тень Чернобыля, Чистое небо или Зов Припяти.





    У кого есть желание, создать FAQ по основным вопросам моддинга - обращаемся в ЛС.


    Архив

    Архив#2
  •   Злобная реклама
    Воскресенье, 03.11.2013, 19:36
    Статус:
    Сообщений: 666
    Регистрация: 28.03.2011
    Российская Федерация  makdm
    Пятница, 30.05.2014, 21:15 | Сообщение # 3241
    Время Альянса
    Статус:
    Опытный:
    Сообщений: 1787
    Награды: 19
    Регистрация: 22.11.2012

    antonnkz76, весь список функций содержится в файле xr_conditions.script. Советую изучить все функции, которые находятся в нём.

    Теперь, по вашей проблеме.
    Количество аптечек проверяется функцией actor_has_item_count
    В качестве аргументов указать секцию предмета и количество.
    В вашем случае { =actor_has_item_count( medkit:10 ) }
      Злобная реклама
    Пятница, 30.05.2014, 21:15
    Статус:
    Сообщений: 666
    Регистрация: 22.11.2012
    Российская Федерация  antonnkz76
    Пятница, 30.05.2014, 21:25 | Сообщение # 3242
    5 лет в Зоне
    Статус:
    Опытный:
    Сообщений: 2342
    Награды: 9
    Регистрация: 26.02.2012

    makdm, благодарю.
    Еще одна проблема: ловлю вылет при попытке взять квест у НПС.(лог: просто stack trace:)
    Структура квеста

    Структура диалога:(тут точно все правильно, опыт создания диалогов не маленький)

    Задействованные скрипты:

    Что не так?
    Сообщение отредактировал antonnkz76 - Пятница, 30.05.2014, 21:26
      Злобная реклама
    Пятница, 30.05.2014, 21:25
    Статус:
    Сообщений: 666
    Регистрация: 26.02.2012
    Российская Федерация  makdm
    Пятница, 30.05.2014, 21:40 | Сообщение # 3243
    Время Альянса
    Статус:
    Опытный:
    Сообщений: 1787
    Награды: 19
    Регистрация: 22.11.2012

    antonnkz76, я вам только что написал, как проверить, есть ли у ГГ 10 аптечек.

    Рисую ещё раз

    function gg_has_10_medkits()
    if xr_conditions.actor_has_item_count( db.actor, nil, { "medkit","10"} ) then
    return true
    end
    return false
    end
    Сообщение отредактировал makdm - Пятница, 30.05.2014, 21:41
      Злобная реклама
    Пятница, 30.05.2014, 21:40
    Статус:
    Сообщений: 666
    Регистрация: 22.11.2012
    Российская Федерация  antonnkz76
    Пятница, 30.05.2014, 21:42 | Сообщение # 3244
    5 лет в Зоне
    Статус:
    Опытный:
    Сообщений: 2342
    Награды: 9
    Регистрация: 26.02.2012

    makdm, это да. Но я же спрашивал не про скрипт, а именно как это пишется в конфиге квеста.

    Добавлено (30.05.2014, 21:42)
    ---------------------------------------------
    Сейчас попробую.

      Злобная реклама
    Пятница, 30.05.2014, 21:42
    Статус:
    Сообщений: 666
    Регистрация: 26.02.2012
    Российская Федерация  ins33
    Пятница, 30.05.2014, 23:48 | Сообщение # 3245
    Dream Reader Mod
    Статус:
    Опытный:
    Сообщений: 2269
    Награды: 1
    Регистрация: 17.01.2012

    Словил вылет, на чистом ТЧ 1.0006, который взорвал мне мозг.
    На всякий заглянул в xr_effects.script, что бы убедиться, что там нет ф-ии bar_arena_add_ammo, и само собой, её там нет. Пошёл искать дальше, кто её вызывает. Нашёл в arena_respawn_custom_data.ltx
    Стало понятно, что это нпс. Прошурстел all.spawn - пусто, нашёл в spawn_sections.ltx,
    На горизонте мелькнула надежда, что вот вот я докопаюсь до косячного нпс. Но не там то было, его нет в all.spavn-e и нет в скпиптах.
    Отсюда крик о помощи: Помогите найти, от куда идёт вызов ф-ии bar_arena_add_ammo?
    П.С. Это вопрос из разряда интересно знать. Мне не доводилось встречаться с таким глюком, да и вообще, в голове не укладывается, как ф-ия может вызваться "ни кем"
    Если, кто заинтересуется этим вопросом, буду рад услышать ваши умозаключения.
      Злобная реклама
    Пятница, 30.05.2014, 23:48
    Статус:
    Сообщений: 666
    Регистрация: 17.01.2012
    Российская Федерация  antonnkz76
    Суббота, 31.05.2014, 14:49 | Сообщение # 3246
    5 лет в Зоне
    Статус:
    Опытный:
    Сообщений: 2342
    Награды: 9
    Регистрация: 26.02.2012

    Expression : !m_error_code
    Function : raii_guard::~raii_guard
    File : D:\prog_repository\sources\trunk\xrServerEntities\script_storage.cpp
    Line : 748
    Description : ...r. - call of pripyat\gamedata\scripts\dialogs.script:114: 'for' limit must be a number

    Вот такой вот лог при активации функции:
    function zat_sich_edges_quest_done_2(first_speaker, second_speaker)
    dialogs.relocate_item_section_from_actor(first_speaker, second_speaker, "wpn_bm16", 3)
    dialogs.relocate_money_to_actor(first_speaker, second_speaker, 1400)
    dialogs.relocate_item_section(second_speaker, "medkit", 3, "in")
    end

    Шо це не так?
      Злобная реклама
    Суббота, 31.05.2014, 14:49
    Статус:
    Сообщений: 666
    Регистрация: 26.02.2012
    Российская Федерация  Geonezis
    Суббота, 31.05.2014, 15:28 | Сообщение # 3247
    Статус:
    Опытный:
    Сообщений: 1689
    Награды: 8
    Регистрация: 14.12.2011

    antonnkz76,
    Цитата antonnkz76 ()
    dialogs.relocate_item_section(second_speaker, "medkit", 3, "in")

    Добавлено (31.05.2014, 15:28)
    ---------------------------------------------
    А вообще вот http://ap-pro.ru/forum/21-2941-268663-16-1341086806
    Рекомендую к изучению если начал квесты ковырять)

      Злобная реклама
    Суббота, 31.05.2014, 15:28
    Статус:
    Сообщений: 666
    Регистрация: 14.12.2011
    Российская Федерация  makdm
    Суббота, 31.05.2014, 17:35 | Сообщение # 3248
    Время Альянса
    Статус:
    Опытный:
    Сообщений: 1787
    Награды: 19
    Регистрация: 22.11.2012

    Цитата antonnkz76 ()
    Шо це не так?


    dialogs.relocate_item_section(second_speaker, "medkit", 3, "in") ошибка здесь, должно быть

    dialogs.relocate_item_section(second_speaker, "medkit", "in", 3)
      Злобная реклама
    Суббота, 31.05.2014, 17:35
    Статус:
    Сообщений: 666
    Регистрация: 22.11.2012
    Российская Федерация  antonnkz76
    Суббота, 31.05.2014, 19:57 | Сообщение # 3249
    5 лет в Зоне
    Статус:
    Опытный:
    Сообщений: 2342
    Награды: 9
    Регистрация: 26.02.2012

    makdm, спасибо, но я уже и сам разобрался smile
      Злобная реклама
    Суббота, 31.05.2014, 19:57
    Статус:
    Сообщений: 666
    Регистрация: 26.02.2012
    Российская Федерация  ZECK
    Суббота, 31.05.2014, 22:39 | Сообщение # 3250
    Статус:
    Зевака:
    Сообщений: 24
    Награды: 0
    Регистрация: 10.10.2012

    В общем поставил новые шейдеры воды,однако они оказались кривыми,но при этом вылез неведомый мне баг с иконками и инвентарем. Старые шейдеры вернул обратно,но ничего не изменилось. Конфиги отвечающие за инвентарь на всякий пожарный заменил оригинальными.Но ничего не изменилось,баг остался.Подскажите пожалуйста где может находится баг.
    Прикрепления: 3604949.jpg (169.2 Kb)
      Злобная реклама
    Суббота, 31.05.2014, 22:39
    Статус:
    Сообщений: 666
    Регистрация: 10.10.2012
    Российская Федерация  Asfagan
    Воскресенье, 01.06.2014, 20:41 | Сообщение # 3251
    Статус:
    Бывалый:
    Сообщений: 929
    Награды: 12
    Регистрация: 01.02.2014

    На Зов Припяти. У меня такой вопрос: При спавне сталкера или мутанта с помощью скрипта (не алл.спавн) нпс или мутант не стоит в заданной точке, а все время куда-то теряется. Как им прописать соблюдение координат???
    Вот логика НПС:
    Код
    [logic]
    active = remark1
    danger = danger_ignore
    invulnerable = true

    [danger_ignore]
    ignore_distance = 0

    [remark1]
    no_move = true
    anim = sit_ass
    on_actor_dist_le = 2| remark@hello
    invulnerable = true
    meet = meet_guide

    [meet_guide]
    abuse = false
    use = true
    allow_break = false
    meet_on_talking = true

    [remark@hello]
    no-move = true
    invulnerable = true
    meet = meet_guide
    on_actor_dist_le = 10| remark1


    Вот спавн мутанта:
    Код
    function start_add_spawn()--\\
    --\\
    --
    spawn_spider_one()
    end

    function spawn_spider_one()
    local x= -19.160
    local y= 15.660
    local z= -320.138
    local level_vertex= 681358
    local game_vertex_id= 483
    alife():create("spider_normal",vector():set(x,y,z),level_vertex,game_vertex_id)
    end

    function save_variable(variable_name, value)
    xr_logic.pstor_store(db.actor, variable_name, value)
    end
    function load_variable(variable_name, value_if_not_found)
    return xr_logic.pstor_retrieve(db.actor, variable_name, value_if_not_found)
    end


    И как сделать чтобы спавн мутанта или НПС произошел токо при взятии квеста?
    Сообщение отредактировал Asfagan - Воскресенье, 01.06.2014, 23:05
      Злобная реклама
    Воскресенье, 01.06.2014, 20:41
    Статус:
    Сообщений: 666
    Регистрация: 01.02.2014
    Российская Федерация  makdm
    Воскресенье, 01.06.2014, 22:27 | Сообщение # 3252
    Время Альянса
    Статус:
    Опытный:
    Сообщений: 1787
    Награды: 19
    Регистрация: 22.11.2012

    Asfagan, Сейчас мы все дружно достанем хрустальный шар и начнём гадать:
    Что за игра у вас установлена,
    какая секция Сталкера или мутанта нужна для спавна,
    какая логика им прописана и т.д.

    Вообщем Ждите.
    Как только хрустальный шар нам всё подскажет, так сразу вам ответим.
      Злобная реклама
    Воскресенье, 01.06.2014, 22:27
    Статус:
    Сообщений: 666
    Регистрация: 22.11.2012
    Российская Федерация  Asfagan
    Воскресенье, 01.06.2014, 23:06 | Сообщение # 3253
    Статус:
    Бывалый:
    Сообщений: 929
    Награды: 12
    Регистрация: 01.02.2014

    makdm, поправил
      Злобная реклама
    Воскресенье, 01.06.2014, 23:06
    Статус:
    Сообщений: 666
    Регистрация: 01.02.2014
    Российская Федерация  ins33
    Воскресенье, 01.06.2014, 23:43 | Сообщение # 3254
    Dream Reader Mod
    Статус:
    Опытный:
    Сообщений: 2269
    Награды: 1
    Регистрация: 17.01.2012

    Asfagan, 1) Зачем ты добавил эти ф-ии save_variable и load_variable
    , если ты их даже не вызываешь?
    2) danger = danger_ignore прописывается в каждую секцию, в которой необходимо это условие.

    3) no_move = true Ну сколько можн6о об этом говорить?, ЭТО НЕ РАБОТАЕТ! А если даже в ЗП её добавили, то нпс будет стоять не двигаясь, а не стоять на одном месте.
    В remark-e если нпс уйдёт по своим делам, например сорвётся в бой, то он уже не вернётся на своё место, а останется в там, где будет закончена та работа, на которую его сорвал движок.
    Для твоей задачи используй схему к примеру walker.
    Сообщение отредактировал ins33 - Понедельник, 02.06.2014, 01:10
      Злобная реклама
    Воскресенье, 01.06.2014, 23:43
    Статус:
    Сообщений: 666
    Регистрация: 17.01.2012
    Российская Федерация  Тортик-ложь
    Понедельник, 02.06.2014, 11:44 | Сообщение # 3255
    Статус:
    Новичок:
    Сообщений: 220
    Награды: 0
    Регистрация: 19.12.2013

    Как сделать в ТЧ так, чтобы при входе НПС в спейс рестриктор выдался инфопоршень?
      Злобная реклама
    Понедельник, 02.06.2014, 11:44
    Статус:
    Сообщений: 666
    Регистрация: 19.12.2013
    Поиск: