Случайная подборка модов
Call of Pripyat Complete
3.7
Погоня за Праздником
3.8
Блудный сын
2.8
Dead Autumn
4.1
Белый отряд
3.7
Soc Style Addon 2.0
4.1
Последние обновленные темы Прямой эфир Самые популярные темы Последние новости
Архив - только для чтения
Модострой:Вопросница
Российская Федерация  Wolfstalker
Понедельник, 22.10.2012, 14:58 | Сообщение # 1
Статус:
Легенда:
Сообщений: 2258
Награды: 15
Регистрация: 05.04.2010

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

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





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


    Архив

    Архив#2
  •   Злобная реклама
    Понедельник, 22.10.2012, 14:58
    Статус:
    Сообщений: 666
    Регистрация: 05.04.2010
    Российская Федерация  MoDoStRoY
    Пятница, 14.12.2012, 17:11 | Сообщение # 1486
    Статус:
    Бывалый:
    Сообщений: 602
    Награды: 4
    Регистрация: 03.04.2012

    Всем привет! Хочу сделать жажду, но для меня работа с переменными как тёмный лес... Помогите понять, что к чему

    Вот код, который будет отвечать за жажду (Warning! Таймеры писать умею, поэтому тут их не буду писать)

    -- Проверяем нужно ли попить. Вызывается каждые 2 игровые минуты
    function need_water()
    amk.save_variable("water",amk.load_variable("water",0)+1)
    amk.g_start_timer("water",0,0,2)
    need_water_degres_health()
    end

    -- Уменьшение здоровья, если долго не пил
    function need_water_degres_health()
    local tmp = amk.load_variable("water",0)
    if tmp > 2 then
    if db.actor.health > 0.15 then
    db.actor.health = - 0.15
    end
    end
    end
    -- Употребление воды
    function water_item(oid, time)
    if alife():object(oid)==nil then
    local tmp = amk.load_variable("kur",0) - time*10
    if tmp < 0 then tmp = 0 end
    amk.save_variable("water", tmp)
    need_water_degres_health()
    end
    end
    Сообщение отредактировал MoDoStRoY - Пятница, 14.12.2012, 17:12
      Злобная реклама
    Пятница, 14.12.2012, 17:11
    Статус:
    Сообщений: 666
    Регистрация: 03.04.2012
    Украина  BozKurt
    Пятница, 14.12.2012, 17:34 | Сообщение # 1487
    Статус:
    Опытный:
    Сообщений: 1753
    Награды: 3
    Регистрация: 25.05.2012

    MoDoStRoY, помочь разобраться с чем? Ты хотя бы вопрос задай.
      Злобная реклама
    Пятница, 14.12.2012, 17:34
    Статус:
    Сообщений: 666
    Регистрация: 25.05.2012
    Российская Федерация  MoDoStRoY
    Пятница, 14.12.2012, 17:42 | Сообщение # 1488
    Статус:
    Бывалый:
    Сообщений: 602
    Награды: 4
    Регистрация: 03.04.2012

    Как сделать в игре жажду, по средствам переменных, хотя если есть другой вариант с радостью выслушаю

    Добавлено (14.12.2012, 17:42)
    ---------------------------------------------
    в награду + в репу

      Злобная реклама
    Пятница, 14.12.2012, 17:42
    Статус:
    Сообщений: 666
    Регистрация: 03.04.2012
    Украина  BozKurt
    Пятница, 14.12.2012, 17:57 | Сообщение # 1489
    Статус:
    Опытный:
    Сообщений: 1753
    Награды: 3
    Регистрация: 25.05.2012

    MoDoStRoY, по средствам переменных? Никак! Нужны еще как минимум штатные функции.
    Ты не очень правильно себя позиционируешь, задавая далеко не конкретный вопрос и по сути ожидая готовый ответ. Магу подсказать алгоритм:
    Есть предмет - бутылка воды.
    Периодически проверяется время последнего приёма воды, если оно больше какого-то - начинают действовать какие-то последствия (уменьшение выносливости, уменьшение сытости или ещё чего). При этом запоминается время, для периодической проверки. Когда выпиваем воды, время сбрасывается, как и последствия. Логично, что это должно "висеть" на биндере актора или твоего собственного.
    Вот несколько абстрактно, но в то же время вполне достаточно.
    P.S. Кстати, код у тебя уже есть...
    Сообщение отредактировал ColR_iT - Пятница, 14.12.2012, 17:58
      Злобная реклама
    Пятница, 14.12.2012, 17:57
    Статус:
    Сообщений: 666
    Регистрация: 25.05.2012
    Российская Федерация  CRAZY_stalkER6665
    Пятница, 14.12.2012, 19:19 | Сообщение # 1490
    Статус:
    Новичок:
    Сообщений: 268
    Награды: 0
    Регистрация: 01.07.2012

    Столкнулся со странным вылетом.

    FATAL ERROR

    [error]Expression : fatal error
    [error]Function : CInifile::r_string
    [error]File : E:\stalker\patch_1_0004\xrCore\Xr_ini.cpp
    [error]Line : 352
    [error]Description : <no expression>
    [error]Arguments : Can't find variable 07:00:00 in [sect_radar]

    Вышло при переходе на радар. Смысл примерно таков - нету переменной 07:00:00 в секторе радар. Может это из-за погоды???

    Добавлено (14.12.2012, 19:16)
    ---------------------------------------------
    Точно нашел такую тему в погодных файлах. И что сделать?

    Добавлено (14.12.2012, 19:19)
    ---------------------------------------------
    О исправил вылет. Просто переименовал фаил погоды на янтаре. Хехе интересная вещь этот сталкер)))

      Злобная реклама
    Пятница, 14.12.2012, 19:19
    Статус:
    Сообщений: 666
    Регистрация: 01.07.2012
    Российская Федерация  Advisor890
    Пятница, 14.12.2012, 19:39 | Сообщение # 1491
    Статус:
    Отмычка:
    Сообщений: 115
    Награды: 1
    Регистрация: 07.07.2012

    Такой вопрос: Как сделать что бы НПС после определенного диалога шел в указанное место?
      Злобная реклама
    Пятница, 14.12.2012, 19:39
    Статус:
    Сообщений: 666
    Регистрация: 07.07.2012
    Российская Федерация  DarkFace
    Пятница, 14.12.2012, 20:27 | Сообщение # 1492
    Let it be
    Статус:
    Бывалый:
    Сообщений: 1169
    Награды: 2
    Регистрация: 26.03.2012

    Понимаю, всех это достало, но не дадите логику что бы НПС стоял на месте?))
      Злобная реклама
    Пятница, 14.12.2012, 20:27
    Статус:
    Сообщений: 666
    Регистрация: 26.03.2012
    Российская Федерация  Advisor890
    Пятница, 14.12.2012, 20:30 | Сообщение # 1493
    Статус:
    Отмычка:
    Сообщений: 115
    Награды: 1
    Регистрация: 07.07.2012

    DarkFace,

    [logic]
    active = remark1
    danger = danger_ignore

    [danger_ignore]
    ignore_distance = 5

    [remark1]
    no_move = true

    [smart_terrains]
    none = true
      Злобная реклама
    Пятница, 14.12.2012, 20:30
    Статус:
    Сообщений: 666
    Регистрация: 07.07.2012
    Украина  BozKurt
    Пятница, 14.12.2012, 20:32 | Сообщение # 1494
    Статус:
    Опытный:
    Сообщений: 1753
    Награды: 3
    Регистрация: 25.05.2012

    DarkFace, если хочешь, чтобы НПС всегда стоял на одном месте, то совет Advisor890 не подходит.


    Advisor890, написал не обдумано, а главное не зная что именно.
      Злобная реклама
    Пятница, 14.12.2012, 20:32
    Статус:
    Сообщений: 666
    Регистрация: 25.05.2012
    Российская Федерация  Advisor890
    Пятница, 14.12.2012, 20:34 | Сообщение # 1495
    Статус:
    Отмычка:
    Сообщений: 115
    Награды: 1
    Регистрация: 07.07.2012

    ColR_iT,

    Ну тогда я не знаю, я так всегда делал.
      Злобная реклама
    Пятница, 14.12.2012, 20:34
    Статус:
    Сообщений: 666
    Регистрация: 07.07.2012
    Российская Федерация  DarkFace
    Пятница, 14.12.2012, 20:46 | Сообщение # 1496
    Let it be
    Статус:
    Бывалый:
    Сообщений: 1169
    Награды: 2
    Регистрация: 26.03.2012

    ColR_iT, а тогда что? надо что бы он тупо стоял, и не на что не отвлекался
      Злобная реклама
    Пятница, 14.12.2012, 20:46
    Статус:
    Сообщений: 666
    Регистрация: 26.03.2012
    Украина  BozKurt
    Пятница, 14.12.2012, 21:07 | Сообщение # 1497
    Статус:
    Опытный:
    Сообщений: 1753
    Награды: 3
    Регистрация: 25.05.2012

    Advisor890, мне жаль.


    DarkFace, правильнее всего будет использовать схему walker и использовать оверрайд игнорирования боя и игрока.
      Злобная реклама
    Пятница, 14.12.2012, 21:07
    Статус:
    Сообщений: 666
    Регистрация: 25.05.2012
    Российская Федерация  chuvak1121
    Пятница, 14.12.2012, 21:16 | Сообщение # 1498
    Статус:
    Отмычка:
    Сообщений: 147
    Награды: 2
    Регистрация: 03.06.2011

    Народ что не так,почему вылет?
    Expression : !m_error_code
    Function : raii_guard::~raii_guard
    File : D:\prog_repository\sources\trunk\xrServerEntities\script_storage.cpp
    Line : 748
    Description : ...l.k.e.r. - Зов Припяти\gamedata\scripts\utils.script:469: bad argument #1 to 'gsub' (string expected, got nil)

    В заранее спасибо!
      Злобная реклама
    Пятница, 14.12.2012, 21:16
    Статус:
    Сообщений: 666
    Регистрация: 03.06.2011
    Украина  BozKurt
    Пятница, 14.12.2012, 21:22 | Сообщение # 1499
    Статус:
    Опытный:
    Сообщений: 1753
    Награды: 3
    Регистрация: 25.05.2012

    chuvak1121, не может "активироваться" какая-то из схем логики, если быть точным, то не указана схема, на которую нужно переходить.
    Вероятно, где-то не правильно составил логику, если составлял. Ведь, при каких обстоятельствах произошёл вылет, ты не удосужился сказать...
      Злобная реклама
    Пятница, 14.12.2012, 21:22
    Статус:
    Сообщений: 666
    Регистрация: 25.05.2012
    Российская Федерация  chuvak1121
    Пятница, 14.12.2012, 21:51 | Сообщение # 1500
    Статус:
    Отмычка:
    Сообщений: 147
    Награды: 2
    Регистрация: 03.06.2011

    ColR_iT,
    Давай в ЛС.
    Сообщение отредактировал chuvak1121 - Пятница, 14.12.2012, 22:17
      Злобная реклама
    Пятница, 14.12.2012, 21:51
    Статус:
    Сообщений: 666
    Регистрация: 03.06.2011
    Поиск: