Случайная подборка модов
Альтернатива 1.3.1
4.0
Clear Sky: MYSTERY
4.1
Золотой Обоз 2
3.0
Dollchan 7: Inception
2.9
Кровавый закат 2
3.2
AVS "Закон Меченого" 2 части
3.4
Последние обновленные темы Прямой эфир Самые популярные темы Последние новости
Архив - только для чтения
Модострой:Вопросница
Российская Федерация  А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
    Поиск: