[CoP] Модострой: вопросница
|
|
|
Overfirst
Воскресенье, 31.12.2017, 13:17 | Сообщение # 1
Статус: |
 |
Бывалый: |
 |
Сообщений: |
1081 |
Награды: |
19 |
Регистрация: |
11.06.2015 |
|
[CoP] Модострой: вопросница

Здесь задают вопросы и получают на них ответы. Прежде чем задать вопрос, воспользуйтесь поиском по разделу, ответ на него, вероятно, уже есть.
Если у вас произошёл вылет, проверьте лог и поищите информацию об ошибке в справочнике. Также будет полезно посмотреть справочник ошибок. Если у Вас вылетает какой-то мод, то следует написать в тему этого мода.
Грамотно оформляйте свой пост, чётко доносите суть своего вопроса (ответа).
Благодарность выражаем в личке или же ставим плюсик в историю репутации. Подобные посты будут удаляться.
|
|
Воскресенье, 31.12.2017, 13:17
|
Статус: |
 |
Сообщений: |
666 |
Регистрация: |
11.06.2015 |
|
|
|
|
|
Статус: |
 |
Бывалый: |
 |
Сообщений: |
929 |
Награды: |
12 |
Регистрация: |
01.02.2014 |
|
Policai, Hex редактор вот ссылка:
Добавлено (24.08.2018, 08:56) --------------------------------------------- Policai, Цитата Policai (  ) потом в конфигах заплутаешься с новым названием. много путаницы.... достаточно поменять одну букву.
Сообщение отредактировал Asfagan - Пятница, 24.08.2018, 08:54
|
|
Пятница, 24.08.2018, 08:52
|
Статус: |
 |
Сообщений: |
666 |
Регистрация: |
01.02.2014 |
|
|
|
|
|
Dead City Breakthrough
Статус: |
 |
Опытный: |
 |
Сообщений: |
2244 |
Награды: |
11 |
Регистрация: |
08.11.2011 |
|
Цитата Asfagan (  ) достаточно поменять одну букву.
Да это понятно, но там есть то что нельзя менять, то есть анимации, звуки, худ, у меня хоть и 4 глаза но с одной буквой я уверен, заплутаюсь... Квестовые предметы я в актор эдиторе делал, экспортировал оттуда, но там нет таких больших анимаций как на стволах, костей меньше, они без проблем в игре работают..
|
|
Пятница, 24.08.2018, 09:01
|
Статус: |
 |
Сообщений: |
666 |
Регистрация: |
08.11.2011 |
|
|
|
|
|
Статус: |
 |
Новичок: |
 |
Сообщений: |
369 |
Награды: |
2 |
Регистрация: |
14.02.2017 |
|
Так не меняй то что не нужно менять. Меняй название текстуры. Частенько прокатывает даже замена через Нотепад++ одной буквы. Допустим i на l. А вообще есть прога типа просмотрщика огф, но там можно менять название текстур, шейдеров и материалов. Покапаться? Во -OGF Data Changer 2.4
Сообщение отредактировал Zmey9l_63 - Пятница, 24.08.2018, 09:37
|
|
Пятница, 24.08.2018, 09:33
|
Статус: |
 |
Сообщений: |
666 |
Регистрация: |
14.02.2017 |
|
|
|
|
|
Статус: |
 |
Бывалый: |
 |
Сообщений: |
870 |
Награды: |
10 |
Регистрация: |
22.07.2013 |
|
|
|
Пятница, 24.08.2018, 09:36
|
Статус: |
 |
Сообщений: |
666 |
Регистрация: |
22.07.2013 |
|
|
|
|
|
Dead City Breakthrough
Статус: |
 |
Опытный: |
 |
Сообщений: |
2244 |
Награды: |
11 |
Регистрация: |
08.11.2011 |
|
Спасибо всем. Но наверно не возьмусь, ((( покопался в конфигах. много позиций незнакомых мне никак и в конфиге ствола и в конфигах абгрейда, много мелких нюансов. Боюсь больше гемороя добавлю чем пользы... Доделаю что смогу в моде и подарю кому нибудь, пусть доделывают... Вчера отдал на тестирование другу собраную игрушку, тест на предмет вылетов, багов, нестыковок, баланса сложности.... Без сюжета, чисто тест, расписал текстовый документ ему как будет в описании в сюжете в квестах поиск нужного, пусть проверяет и ищет. Наверно последний вопрос по конфигам. Файлы торговли всем сделал как надо у барменов только еда у медиков мед препараты и так далее, но пока без поршней, то есть сразу все варианты торговли открыты. Нужно настроить варианты торговли от прогресса в игре. Пример оригинала Зов припяти. buy_supplies = {+jup_a9_tech_way_info =counter_greater(jup_a6_actor_help_freedom:3) =wealthy_functor}sci_supplies_freedom_wealthy_tier_2,............................
Мне нужно вместо выделенного поршня, или условия, незнаю как он там правильно обзывается поставить свои, по принципу: у меня есть 12 предметов уникальных по сюжету, разбросанных по всем локам, мне нужно разделить варианты торговли на 4 этапа. Найдены 3 любых предмета из 12, открывается первый добавочный пункт в торговле, найдены 6 открывается второй... и так далее... Как это правильно реализовать?
Сообщение отредактировал Policai - Пятница, 24.08.2018, 10:04
|
|
Пятница, 24.08.2018, 10:03
|
Статус: |
 |
Сообщений: |
666 |
Регистрация: |
08.11.2011 |
|
|
|
|
|
Статус: |
 |
Бывалый: |
 |
Сообщений: |
1081 |
Награды: |
19 |
Регистрация: |
11.06.2015 |
|
Можно при помощи счётчика. В коллбеке на взятие предмета проверять взятый предмет и добавлять единицу к счётчику. В зависимости от значения счётчика выдавать инфопоршни для регулирования твоих этапов. Если ничего не понятно, покажу.
Это первое, что пришло в голову. Можно проще.
|
|
Пятница, 24.08.2018, 10:14
|
Статус: |
 |
Сообщений: |
666 |
Регистрация: |
11.06.2015 |
|
|
|
|
|
Время Альянса
Статус: |
 |
Ветеран: |
 |
Сообщений: |
4070 |
Награды: |
16 |
Регистрация: |
19.07.2013 |
|
Цитата stalker00 (  ) Нужно в gamedata\configs\creatures в файл monsters.ltx выставить меньшее количество часов до исчезновения тел.К примеру,в ванили стоит 65535 часов,поменять значение на скажем 12 часов.Но насколько этот способ эффективен?.И не сломает ли он игру( в смысле,не будут глючить квесты,не будет ли проблем с переходами на другие локации ),ну и так далее?. Да изменение параметра stay_after_death_time_interval работает, но удаление происходит когда игрок переходит с другой локации на локу с трупом у которого истек срок годности. У вас есть квестовые трупы мутантов?
По сталкерам работает скрипт release_body_manager.script, ключевой параметр self.body_max_count = 15 (максимальное количество трупов) и IDLE_AFTER_DEATH = 40000 (время после смерти в течении которого труп не удаляется). Этот же скрипт иногда заставляют убирать и тела мутантов, прописав в bind_monster.script в колбек на смерть строку:
Код release_body_manager.get_release_body_manager():moving_dead_body(self.object)
Сообщение отредактировал denis2000 - Пятница, 24.08.2018, 10:28
|
|
Пятница, 24.08.2018, 10:18
|
Статус: |
 |
Сообщений: |
666 |
Регистрация: |
19.07.2013 |
|
|
|
|
|
Dead City Breakthrough
Статус: |
 |
Опытный: |
 |
Сообщений: |
2244 |
Награды: |
11 |
Регистрация: |
08.11.2011 |
|
Цитата Overfirst (  ) Можно при помощи счётчика. В коллбеке на взятие предмета проверять взятый предмет и добавлять единицу к счётчику. В зависимости от значения счётчика выдавать инфопоршни для регулирования твоих этапов. Если ничего не понятно, покажу.
Если не сложно, как это будет выглядеть визуально? предметы прописаны везде где нужно в игре и разложены, всё работает отлично, имеют имена от dcb_01_префикс до dcb_12_ префикс
|
|
Пятница, 24.08.2018, 10:23
|
Статус: |
 |
Сообщений: |
666 |
Регистрация: |
08.11.2011 |
|
|
|
|
|
Статус: |
 |
Бывалый: |
 |
Сообщений: |
1081 |
Награды: |
19 |
Регистрация: |
11.06.2015 |
|
Policai, так. Сделай им такие имена: dcb_item_1 - dcb_item_12. Мне так удобнее будет сделать тебе твою хотелку.
|
|
Пятница, 24.08.2018, 10:30
|
Статус: |
 |
Сообщений: |
666 |
Регистрация: |
11.06.2015 |
|
|
|
|
|
Dead City Breakthrough
Статус: |
 |
Опытный: |
 |
Сообщений: |
2244 |
Награды: |
11 |
Регистрация: |
08.11.2011 |
|
Overfirst,
Как удобней так и делай, а имена я подправлю как надо. сейчас у меня dcb_01_doc - dcb_12_doc
Сообщение отредактировал Policai - Пятница, 24.08.2018, 10:38
|
|
Пятница, 24.08.2018, 10:36
|
Статус: |
 |
Сообщений: |
666 |
Регистрация: |
08.11.2011 |
|
|
|
|
|
Статус: |
 |
Бывалый: |
 |
Сообщений: |
1081 |
Награды: |
19 |
Регистрация: |
11.06.2015 |
|
Ну, что-то такое:
Код function actor_has_items_different_equal(actor, npc, p) if db.actor then local item_section = p[1] local need_count = tonumber(p[2]) local has_count = 0
local function calc(temp, item) if string.find(item:section(), item_section) ~= nil then has_count = has_count + 1 end end db.actor:iterate_inventory(calc, db.actor) return has_count >= need_count end return false end Функция проверяет у актора указанное количество предметов, у которых начало названия секции совпадает с переданной строкой.
Проще говоря:
Код buy_supplies = {=actor_has_items_different_equal(dcb_item:3) !actor_has_items_different_equal(dcb_item:6)} supplies_1, {=actor_has_items_different_equal(dcb_item:6)} supplies_2 Можешь назвать предметы dcb_doc_1 - dcb_doc_12.
Ты поэкспериментируй. Я даже немного засомневался, что постоянно будет итерироваться инвентарь из-за такой вот проверки. Если не прокатит, не будет нормально работать, сделаем через счётчик.
|
|
Пятница, 24.08.2018, 10:46
|
Статус: |
 |
Сообщений: |
666 |
Регистрация: |
11.06.2015 |
|
|
|
|
|
Dead City Breakthrough
Статус: |
 |
Опытный: |
 |
Сообщений: |
2244 |
Награды: |
11 |
Регистрация: |
08.11.2011 |
|
Цитата Overfirst (  ) Можешь назвать предметы dcb_doc_1 - dcb_doc_12.
Overfirst,
Играет роль dcb_doc_1 или dcb_1_doc..??? Просто для проверки в конфигах то исправить без проблем, а на локах у меня уже под именами разложены dcb_1_doc - dcb_12_doc, не проблема открыть в сдк локи и переложить, вопрос стоит это делать или нет, или всё таки цифра должна быть в конце обязательно?
|
|
Пятница, 24.08.2018, 11:40
|
Статус: |
 |
Сообщений: |
666 |
Регистрация: |
08.11.2011 |
|
|
|
|
|
Статус: |
 |
Бывалый: |
 |
Сообщений: |
1081 |
Награды: |
19 |
Регистрация: |
11.06.2015 |
|
Цитата Policai (  ) Играет роль dcb_doc_1 или dcb_1_doc..? Да.
|
|
Пятница, 24.08.2018, 12:11
|
Статус: |
 |
Сообщений: |
666 |
Регистрация: |
11.06.2015 |
|
|
|
|
|
Dead City Breakthrough
Статус: |
 |
Опытный: |
 |
Сообщений: |
2244 |
Награды: |
11 |
Регистрация: |
08.11.2011 |
|
Не помогло
[error]Expression : !m_error_code [error]Function : raii_guard::~raii_guard [error]File : D:\prog_repository\sources\trunk\xrServerEntities\script_storage.cpp [error]Line : 748 [error]Description : ...d city breakthrough\gamedata\scripts\xr_logic.script:612: attempt to call field '?' (a nil value)
Изменил название моделей на dcb_doc_01 - 12 названия в файлах на dcb_doc_01 - 12 \configs\misc\quest_items.ltx \configs\text\rus\st_items_quest.xml \scripts\spawn_quest_items.script \scripts\ui_si.script
и в файле торговли buy_supplies = {=actor_has_items_different_equal(dcb_item:8)} supplies_tier_4, {=actor_has_items_different_equal(dcb_item:6)} supplies_tier_3, {=actor_has_items_different_equal(dcb_item:3)}supplies_tier_2, supplies_start
Убираю эти поршни вылета нет.Добавлено (24.08.2018, 12:36) --------------------------------------------- Незнаю играет ли это роль, на локах ещё не менял, так как испытываю всё на отдельной локе на кордоне с отдельным олл спавном, а не на общем олл спавне для игры. На кордоне нет этих предметов. Добавлено (24.08.2018, 12:50) --------------------------------------------- Нет, не играет, закинул все предметы на локу, пересобрал спавн, вылет не поменялся.... что то не так с поршнями..
или....
Цитата function actor_has_items_different_equal(actor, npc, p) if db.actor then local item_section = p[1] local need_count = tonumber(p[2]) local has_count = 0
local function calc(temp, item) if string.find(item:section(), item_section) ~= nil then has_count = has_count + 1 end end db.actor:iterate_inventory(calc, db.actor) return has_count == need_count end return false end
это мне нужно вносить в скрипты или уже там есть???
|
|
Пятница, 24.08.2018, 12:27
|
Статус: |
 |
Сообщений: |
666 |
Регистрация: |
08.11.2011 |
|
|
|
|
|
makdm
Пятница, 24.08.2018, 13:12 | Сообщение # 2055
Время Альянса
Статус: |
 |
Опытный: |
 |
Сообщений: |
1787 |
Награды: |
19 |
Регистрация: |
22.11.2012 |
|
Policai, вот так попробуй:
Пишешь в xr_conditions.script фунукцию:
Условие в торговлю:
buy_supplies = {=actor_has_need_docs(12)} supplies_tier_4, {=actor_has_need_docs(8)} supplies_tier_3, {=actor_has_need_docs(4)}supplies_tier_2, supplies_start
|
|
Пятница, 24.08.2018, 13:12
|
Статус: |
 |
Сообщений: |
666 |
Регистрация: |
22.11.2012 |
|
|
|
|