Здесь задают вопросы и получают на них ответы. Прежде чем задать вопрос, воспользуйтесь поиском по разделу, ответ на него, вероятно, уже есть.
Если у вас произошёл вылет, проверьте лог и поищите информацию об ошибке в справочнике. Также будет полезно посмотреть справочник ошибок. Если у Вас вылетает какой-то мод, то следует написать в тему этого мода.
Грамотно оформляйте свой пост, чётко доносите суть своего вопроса (ответа).
Благодарность выражаем в личке или же ставим плюсик в историю репутации. Подобные посты будут удаляться.
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
Функция проверяет у актора указанное количество предметов, у которых начало названия секции совпадает с переданной строкой.
Ты поэкспериментируй. Я даже немного засомневался, что постоянно будет итерироваться инвентарь из-за такой вот проверки. Если не прокатит, не будет нормально работать, сделаем через счётчик.
Играет роль dcb_doc_1 или dcb_1_doc..??? Просто для проверки в конфигах то исправить без проблем, а на локах у меня уже под именами разложены dcb_1_doc - dcb_12_doc, не проблема открыть в сдк локи и переложить, вопрос стоит это делать или нет, или всё таки цифра должна быть в конце обязательно?
[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
это мне нужно вносить в скрипты или уже там есть???
function actor_has_need_docs(actor, npc, p) if p and p[ 1 ] then local count = tonumber( p[ 1 ] ) local m = 0 local need_item = {} need_item["dcb_01_doc"] = true need_item["dcb_02_doc"] = true need_item["dcb_03_doc"] = true need_item["dcb_04_doc"] = true need_item["dcb_05_doc"] = true need_item["dcb_06_doc"] = true need_item["dcb_07_doc"] = true need_item["dcb_08_doc"] = true need_item["dcb_09_doc"] = true need_item["dcb_10_doc"] = true need_item["dcb_11_doc"] = true need_item["dcb_12_doc"] = true for k,v in pairs( need_item ) do if actor:object( k ) ~= nil then m = m + 1 end end return m >= count end return false end
По поводу уборщика.Квестовых мутантов вроде нет( точно не знаю),поскольку играю в Зов Припяти в первый раз и пока только на Затоне.Почему спррсил про уборщик трупов.У меня стоит неофициальный патч версии 1.0 от Юрок+Атмосфер+Динамик Худ+новые визуалы+аи твиакс+мясник+Шокер мод 1.0.И то ли из-за того что когда собирал все моды в кучу,попался какой-то мод,который увеличивает спавн монстров и сталкеров, то ли проделки Монолита,но монстры постоянно попадаются пачками,да и сталкеры тоже.С одной строны не плохо,есть с кем повоевать,да и хабара полно.Но с другой стороны валяющиеся трупы раздражают,да и как я понял,это не есть гуд для производительности.Но в любом случае,попробовал уже способ,описанный в инете.....и вуаля,тушки исчезают гораздо быстрее.Буду тестировать дальше,а там видно будет.В любом случае,благодарю за инфу.
Народ! Вылезла неприятность, позвонил товарищ который тестирует и задал вопрос который вогнал меня в ступор. Разбиваемые деревянные и железные ящики, по сдк это box_wood_01 и box_metall_01, он поинтересовался, прошёл 4 локации и почему то все ящики пустые, а я что то даже не думал про них. В ТЧ в кастом дате писалось что лежит в этих ящиках, при прогонке лок через сдк я не трогал кастом дату у них, там осталось то что было в ТЧ и ЧН, менял только визуал на ЗПешный, чтоб не городить лишние папки из ТЧ и ЧН.... Как эта функция работает в ЗП??? Так же нужно писать в нужных ящиках в кастом дате, просто другой принцип раз родные данные не работают, или есть какой то скрипт в ЗП который рандомно раскидывает? Ну и до кучи просто для информации, при абгрейде есть позиции в которых доступен только 1 вариант из двух, в каком то моде видел что открыты все позиции для абгрейда. Это движковые правки, скриптовые или просто конфиги???
Сообщение отредактировал Policai - Пятница, 24.08.2018, 15:59
Expression : !((E->get_killer_id() != ALife::_OBJECT_ID(-1)) && g_Alive()) Function : CEntity::net_Spawn File : Entity.cpp Line : 167 Description : server entity [sim_default_ecolog_327725][27725] has an killer [27725] and not dead
У меня только один вопрос! Как мне запретить передвижение перса оффлайн? В скрипте se_stalker.script этот sim_default_ecolog как будет называться? То есть:
--printf("registering stalker %s ", self:name()) --' Отключаем старый метод выбора смарттеррейнов. self:brain():can_choose_alife_tasks(false) f get_clsid(self) == clsid.sim_default_ecolog? then -- необходимо запретить передвижение в оффлайне if self:move_offline() then self:move_offline(false) end end
Цитатаmakdm ()
В ЗП персы оффлайн не ходят. Это вам не ТЧ
Это Dead Air! База СоС!
Сообщение отредактировал eLTesto - Пятница, 24.08.2018, 19:06
Есть готовый мод, который накатывается на ЗП и правит сразу все. В инете найдешь.
Ага нашёл, спасибо.. А по ящикам я на ютубе какие то ролики видел. там моды на зп и ящики рабиваются с подарком некоторые, хотя может там и движок правленый как в дет эер