Случайная подборка модов
Закон Дегтярева
3.5
Clear Sky - Remake
3.8
Новое Время. Научный Подход
3.8
Вектор Отчуждения
4.2
Sky anomaly
4.0
SRP mod
3.9
Последние обновленные темы Прямой эфир Самые популярные темы Последние новости
Модератор форума: 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
    Российская Федерация  zhenya4342
    Суббота, 28.07.2018, 18:03 | Сообщение # 1621
    Статус:
    Отмычка:
    Сообщений: 108
    Награды: 0
    Регистрация: 08.10.2017

    Khyzyr, не обязательно задание, + нужно, чтобы если состояние 80 и более процентов - техник сам смог сделать
    от 60 до 80 - без набора #1 не смог сделать
    от 40 до 60 - без набора #1 и #2
    и т.д., проверку на состояние я сделаю - а вот на самого техника не знаю как
    можно реализовать так на таких инфопоршнях - инфопоршень "может делать при состоянии от 60 до 80", "от 40 до 60" и т.д., но опять же - всё упирается в проверку на техника
    Сообщение отредактировал zhenya4342 - Суббота, 28.07.2018, 18:05
      Злобная реклама
    Суббота, 28.07.2018, 18:03
    Статус:
    Сообщений: 666
    Регистрация: 08.10.2017
    Российская Федерация  Khyzyr
    Суббота, 28.07.2018, 18:05 | Сообщение # 1622
    Статус:
    Неопытный:
    Сообщений: 452
    Награды: 5
    Регистрация: 19.06.2017

    zhenya4342, А вместо elseif level.name == "zaton" пробовали указать id техника?
      Злобная реклама
    Суббота, 28.07.2018, 18:05
    Статус:
    Сообщений: 666
    Регистрация: 19.06.2017
    Российская Федерация  zhenya4342
    Суббота, 28.07.2018, 18:06 | Сообщение # 1623
    Статус:
    Отмычка:
    Сообщений: 108
    Награды: 0
    Регистрация: 08.10.2017

    Khyzyr, повторяю третий раз - я не знаю, как сделать проверку на непися (техника), поэтому ясен фиг не пробовал, ибо не знаю как
    не вместо "zaton" же писать айди техника
      Злобная реклама
    Суббота, 28.07.2018, 18:06
    Статус:
    Сообщений: 666
    Регистрация: 08.10.2017
    Российская Федерация  Khyzyr
    Суббота, 28.07.2018, 18:14 | Сообщение # 1624
    Статус:
    Неопытный:
    Сообщений: 452
    Награды: 5
    Регистрация: 19.06.2017

    zhenya4342, Проверяй
    Код
    elseif (type(npc.id) == "number"
      Злобная реклама
    Суббота, 28.07.2018, 18:14
    Статус:
    Сообщений: 666
    Регистрация: 19.06.2017
    Российская Федерация  zhenya4342
    Суббота, 28.07.2018, 18:15 | Сообщение # 1625
    Статус:
    Отмычка:
    Сообщений: 108
    Награды: 0
    Регистрация: 08.10.2017

    Khyzyr, это то, что мне нужно было, спасибо, пойду проверять smile
      Злобная реклама
    Суббота, 28.07.2018, 18:15
    Статус:
    Сообщений: 666
    Регистрация: 08.10.2017
    Российская Федерация  Khyzyr
    Суббота, 28.07.2018, 18:19 | Сообщение # 1626
    Статус:
    Неопытный:
    Сообщений: 452
    Награды: 5
    Регистрация: 19.06.2017

    zhenya4342, Странный ты все равно человек, усложняешь. По функции: чекай xr_conditions функция function is_alive.
      Злобная реклама
    Суббота, 28.07.2018, 18:19
    Статус:
    Сообщений: 666
    Регистрация: 19.06.2017
    Российская Федерация  zhenya4342
    Суббота, 28.07.2018, 18:23 | Сообщение # 1627
    Статус:
    Отмычка:
    Сообщений: 108
    Награды: 0
    Регистрация: 08.10.2017

    Khyzyr, biggrin
    насчёт твоего скрипта (по нажатию на кнопку "ремонт"):

    пробовал
    Код
    elseif type(npc.id) == "jup_b217_stalker_tech" then

    и
    Код
    elseif (type(npc.id) == "jup_b217_stalker_tech") then

    ну а с твоим
    Код
    elseif (type(npc.id) == "jup_b217_stalker_tech" then

    игра и вовсе не загружается, орёт на синтаксис
    Сообщение отредактировал zhenya4342 - Суббота, 28.07.2018, 18:23
      Злобная реклама
    Суббота, 28.07.2018, 18:23
    Статус:
    Сообщений: 666
    Регистрация: 08.10.2017
    Российская Федерация  yobakun
    Суббота, 28.07.2018, 18:42 | Сообщение # 1628
    Статус:
    Новичок:
    Сообщений: 270
    Награды: 5
    Регистрация: 30.07.2016

    zhenya4342, потому что id и story id это разные вещи. А вообще тебе нужен файл configs\misc\stalkers_upgrade_info.ltx
    Сообщение отредактировал yobakun - Суббота, 28.07.2018, 18:42
      Злобная реклама
    Суббота, 28.07.2018, 18:42
    Статус:
    Сообщений: 666
    Регистрация: 30.07.2016
    Российская Федерация  zhenya4342
    Суббота, 28.07.2018, 18:48 | Сообщение # 1629
    Статус:
    Отмычка:
    Сообщений: 108
    Награды: 0
    Регистрация: 08.10.2017

    yobakun, порылся в нём, но не нашёл ничего связанного с ремонтом, поподробнее можно?

    Добавлено (28.07.2018, 19:22)
    ---------------------------------------------
    Проблема решена таким скриптом:
    Код

    function question_repair_item( item_name, item_condition, can, mechanic ) --( string, float, bool, string )
        local price = how_much_repair( item_name, item_condition )
        if(item_name=="pri_a17_gauss_rifle") then
      return false
        elseif db.actor:money() < price then
      return false
        elseif mechanic=="zat_a2_stalker_mechanic" then
      return true
        else
      return false
        end
    end

    выявил решение опытным путём - переменная mechanic возвращает айди техника, поэтому нужно было всего лишь использовать её для проверки biggrin (можете не говорить, что я глупенький)

    Добавлено (28.07.2018, 19:33)
    ---------------------------------------------
    Ну и проверку на поршни добавил, если кому интересно:

    Код
    function can_repair_item( item_name, item_condition, mechanic ) --( string, float, string )
        local price = how_much_repair( item_name, item_condition )
        if(item_name=="pri_a17_gauss_rifle") then
      return false
        elseif db.actor:money() < price then
      return false
        elseif mechanic=="zat_a2_stalker_mechanic" then
      if has_alife_info("zat_b3_tech_instrument_1_brought") then
       return true
      else
       return false
      end
        elseif mechanic=="jup_b217_stalker_tech" then
      if has_alife_info("jup_b217_tech_instrument_1_brought") then
       return true
      else
       return false
      end
        end
    end
    Сообщение отредактировал zhenya4342 - Суббота, 28.07.2018, 19:33
      Злобная реклама
    Суббота, 28.07.2018, 18:48
    Статус:
    Сообщений: 666
    Регистрация: 08.10.2017
    Российская Федерация  svo6o9a
    Суббота, 28.07.2018, 21:50 | Сообщение # 1630
    Статус:
    Новичок:
    Сообщений: 236
    Награды: 2
    Регистрация: 19.11.2017

    Использую эту функцию, как проверку на деньги у гг, нашел тут.

    Использую в диалоге

    Но вылетает при попытке диалога.
      Злобная реклама
    Суббота, 28.07.2018, 21:50
    Статус:
    Сообщений: 666
    Регистрация: 19.11.2017
    Российская Федерация  sergej5500
    Суббота, 28.07.2018, 22:30 | Сообщение # 1631
    Статус:
    Новичок:
    Сообщений: 290
    Награды: 4
    Регистрация: 09.01.2017

    Цитата svo6o9a ()
    Но вылетает при попытке диалога.


    И где лог вылета?
      Злобная реклама
    Суббота, 28.07.2018, 22:30
    Статус:
    Сообщений: 666
    Регистрация: 09.01.2017
    Российская Федерация  svo6o9a
    Суббота, 28.07.2018, 22:40 | Сообщение # 1632
    Статус:
    Новичок:
    Сообщений: 236
    Награды: 2
    Регистрация: 19.11.2017

    Цитата sergej5500 ()
    И где лог вылета?

    Ну моя ошибка, забыл что то, вот
      Злобная реклама
    Суббота, 28.07.2018, 22:40
    Статус:
    Сообщений: 666
    Регистрация: 19.11.2017
    Российская Федерация  sergej5500
    Суббота, 28.07.2018, 23:10 | Сообщение # 1633
    Статус:
    Новичок:
    Сообщений: 290
    Награды: 4
    Регистрация: 09.01.2017

    svo6o9a,

    Разрабы применяли для проверки денег такой код.

    function zat_b30_actor_has_1000(first_speaker, second_speaker)
    return db.actor:money() >= 1000
    end

    У вас

    function название функции()
    return db.actor:money()>=10000
    end

    нет first_speaker, second_speaker

    Возможно, причина в этом
      Злобная реклама
    Суббота, 28.07.2018, 23:10
    Статус:
    Сообщений: 666
    Регистрация: 09.01.2017
    Российская Федерация  Overfirst
    Суббота, 28.07.2018, 23:26 | Сообщение # 1634
    Статус:
    Бывалый:
    Сообщений: 1081
    Награды: 19
    Регистрация: 11.06.2015

    Цитата sergej5500 ()
    нет first_speaker, second_speaker

    Возможно, причина в этом

    Нет, не в этом.
      Злобная реклама
    Суббота, 28.07.2018, 23:26
    Статус:
    Сообщений: 666
    Регистрация: 11.06.2015
    Российская Федерация  sergej5500
    Суббота, 28.07.2018, 23:28 | Сообщение # 1635
    Статус:
    Новичок:
    Сообщений: 290
    Награды: 4
    Регистрация: 09.01.2017

    Цитата Overfirst ()
    Нет, не в этом.


    Тогда нужен весь диалог и все функции. Где то ошибка.
      Злобная реклама
    Суббота, 28.07.2018, 23:28
    Статус:
    Сообщений: 666
    Регистрация: 09.01.2017
    Поиск: