Overf1rst 1 498 Опубликовано 1 июля, 2020 Тема посвящена моддингу на платформе Зов Припяти. Правила темы: Здесь задают вопросы и получают на них ответы. Прежде чем задать вопрос, воспользуйтесь поиском, ответ на него, вероятно, уже есть. Если у вас произошёл вылет, проверьте лог и поищите информацию об ошибке в справочнике. Также будет полезно посмотреть справочник ошибок. Если у Вас вылетает какой-то мод, то следует написать в тему этого мода. Грамотно оформляйте свой пост, чётко доносите суть своего вопроса (ответа). Благодарность выражаем в личке или же ставим реакцию. Посты с благодарностями в теме будут удаляться. 19 9 1 1 2 6 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Arkada 428 Опубликовано 6 ноября, 2021 Спойлер function get_symbol_pos(str,num) if type(num) == "string" then num = string.byte(num) end for i = 1, #str do --перебираем строку if string.byte(str,i) == num then return i end end return 0 end 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
vader_33 1 142 Опубликовано 6 ноября, 2021 Paradox27kms local section = item.sect_item local obj = db.actor:object(section) if obj then local sobj = alife():object(obj:id()) local cost = system_ini():r_s32(section, "cost") --или local cost = tonumber(system_ini():r_string(section, "cost")) alife():release(sobj, true) db.actor:give_money(cost) end 1 В беге за рассветом приближаешь свой закат Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Paradox27kms 15 Опубликовано 6 ноября, 2021 12 минут назад, vader_33 сказал: Paradox27kms local section = item.sect_item local obj = db.actor:object(section) if obj then local sobj = alife():object(obj:id()) local cost = system_ini():r_s32(section, "cost") --или local cost = tonumber(system_ini():r_string(section, "cost")) alife():release(sobj, true) db.actor:give_money(cost) end Благодарю) А можно сделать условие если не хватает у ГГ суммы на предмет то выполнялся скрипт, в моём случае вывод сообщения на экран (последнее я к счастью знаю как вывести :)) просто нужно выполнение скрипта Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
vader_33 1 142 Опубликовано 6 ноября, 2021 Paradox27kms if db.actor:money() < число then и дальше действие 1 В беге за рассветом приближаешь свой закат Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Сталкер из прошлого 115 Опубликовано 6 ноября, 2021 Да, я знаю что я нуб, но всё же: в каких файлах лежит иммунитет рандомных НПС? Перерыл creatures, на изменения в m_stalker.ltx игре пофигу, оружие из Сткопа как с двух пуль убивало, так и осталось. Хочу пулестойкость НПС повысить, и понижать урон в конфигах оружия очень не хочется. ASUS z87-k, I5-4670 @3.40GHz, MSI GTX 1050ti, 16gb ОЗУ, SSD 100gb, 2xHDD 500gb, Windows 10 Pro. Аномали на ультрах летает. Вместе с компом по комнате. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
ian98 243 Опубликовано 6 ноября, 2021 AlNaz по-моему нужно менять это в неком файле с названием damage или damages. Плюс иммунитеты вшиты в скинах, это где-то в папке configs/models 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
TMM team 98 Опубликовано 7 ноября, 2021 Всем привет! Есть три вопроса. 1. Что отвечает за дальность прорисовки мира? Как в атмосфере? 2. Какие текстуры отвечают за ЧАЭС на горизонте ( в небе типо )? 3. Что это за текстура призрак на фото? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Tolich 14 Опубликовано 7 ноября, 2021 39 минут назад, TMM team сказал: Какие текстуры отвечают за ЧАЭС на горизонте ( в небе типо )? Это нарисовано на самом скай-боксе, которые разделены по часам. Для каждого скай-бокса, свой рисунок ЧАЭС и пр. того что отображается на горизонте. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
TMM team 98 Опубликовано 7 ноября, 2021 (изменено) 1 минуту назад, Tolich сказал: Это нарисовано на самом скай-боксе, которые разделены по часам. Для каждого скай-бокса, свой рисунок ЧАЭС и пр. того что отображается на горизонте. спасибо за ответ, буду искать Изменено 7 ноября, 2021 пользователем TMM team Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Tolich 14 Опубликовано 7 ноября, 2021 (изменено) 57 минут назад, TMM team сказал: Что отвечает за дальность прорисовки мира? Как в атмосфере? Папка gamedata\configs\environment\weathers\ там файлы пораметров погоды. По умолчанию смотрим af3_slight_ например af3_slight_clear_4 и т.д. Для каждого часа смотрим параметры far_plane и fog_distance Дальность (fog_distance): при тумане обычно 150-300, в ясную 800-1000 57 минут назад, TMM team сказал: Что это за текстура призрак на фото? Вот чего не понял, где там призрак отображен? Или ты имеешь ввиду как бы эффект линзы (шестигранника) от солнца? Дополнено 2 минуты спустя 14 минут назад, TMM team сказал: спасибо за ответ, буду искать Да искать особо не надо. Открой любой скай-бокс, (для начала) ясную погоду, в дневное время (папка af3_clear) и посмотри фотошопом в самом низу любого фрагмента. Дополнено 49 минуты спустя 19 часов назад, Hoperise сказал: но стеклянный шкаф на базе ученых (именно стекла) сместились со своих мест Скрин хоть покажи.. Изменено 7 ноября, 2021 пользователем Tolich Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Contentic 11 Опубликовано 7 ноября, 2021 Привет, подскажите как использовать эту функцию get_time_days(). Хочу изменить количество прожитых дней в зоне? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
TMM team 98 Опубликовано 7 ноября, 2021 1 час назад, Tolich сказал: Вот чего не понял, где там призрак отображен? Или ты имеешь ввиду как бы эффект линзы (шестигранника) от солнца? прямо, почти по центру в далеке, какое-то здания которого нет Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Tolich 14 Опубликовано 7 ноября, 2021 (изменено) В 07.11.2021 в 15:30, TMM team сказал: какое-то здания которого нет Возможно оно есть в файле level_lods.dds (смотрим gamedata\levels\ выбираем папку с соответствующей локацией) Изменено 25 ноября, 2021 пользователем Tolich 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Paradox27kms 15 Опубликовано 7 ноября, 2021 (изменено) В 06.11.2021 в 19:52, vader_33 сказал: Paradox27kms local section = item.sect_item local obj = db.actor:object(section) if obj then local sobj = alife():object(obj:id()) local cost = system_ini():r_s32(section, "cost") --или local cost = tonumber(system_ini():r_string(section, "cost")) alife():release(sobj, true) db.actor:give_money(cost) end Привет а как в данном скрипте убрать проверку на нахождение предметов в инвентаре на просто предметы из списка? т.е убрать проверку окрашенную цветом и заменить её на предметы из списка (нужно для спавна в рюкзак гг как в повелителе зоны) Спойлер function ui_mm_mod:FillListOther() local name db.actor:iterate_inventory(function (tmp, item) local sect = item:section() if tbl[sect] then local inv_name = game.translate_string(system_ini():r_string(sect, "inv_name")) local inv_weight = system_ini():r_string(sect, "inv_weight") local cost = system_ini():r_string(sect, "cost") local name = inv_name..", "..cost.."RU, "..inv_weight.."kg" self:AddItemToListOther(name, sect) end end,obj) end Спойлер local section = item.sect_item local obj = db.actor:object(section) if obj then local sobj = alife():object(obj:id()) local cost = tonumber(system_ini():r_string(section, "cost")) alife():release(sobj, true) db.actor:give_money(cost) end P.S мне нужно именно Вашим методом, так как другие рабочие способы я уже подсмотрел но там спавн только по тексту а он там должен быть на анг и конкретный по типу wpn_pm Спойлер function ui_mm_mod:OnButton_buy_clicked() if self.list_shop:GetSize()==0 then return end local item = self.list_shop:GetSelectedItem() if item == nil then self.file_caption:SetText("") self.file_data:SetText("") local r = self.picture:GetTextureRect() self.picture:InitTexture ("ui\\ui_noise") self.picture:SetTextureRect(Frect():set(r.x1,r.y1,r.x2,r.y2)) return end local item_text = item.text:GetText() self.file_caption:SetText(item_text) self.file_caption:SetEllipsis(true) self.file_data:SetText(main_listbox(item_text)) local r = self.picture:GetTextureRect() self.picture:InitTexture("ui\\ui_noise") self.picture:SetTextureRect(Frect():set(r.x1,r.y1,r.x2,r.y2)) local id if self.check:GetCheck() then - это галочка (не обращайте внимания) id = db.actor:id() else id = -1 end alife():create(item_text, db.actor:position(), 0, 0, id) end Спойлер function ui_mm_mod:FillListShop(tbl) for i = 1, #tbl do self:AddItemToListShop(tbl) end end Изменено 7 ноября, 2021 пользователем Paradox27kms Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
vader_33 1 142 Опубликовано 8 ноября, 2021 (изменено) Paradox27kms если я правильно понял Спойлер --если таблица вида local tbl = { ["секция"] = true, ["секция2"] = true, } function ui_mm_mod:FillListOther() for i,v in pairs(tbl) do local inv_name = game.translate_string(system_ini():r_string(i, "inv_name")) local inv_weight = system_ini():r_string(i, "inv_weight") local cost = system_ini():r_string(i, "cost") local name = inv_name..", "..cost.."RU, "..inv_weight.."kg" self:AddItemToListOther(name, i) end end --если таблица такая local tbl = { "секция", "секция2" } function ui_mm_mod:FillListOther() for i,v in pairs(tbl) do local inv_name = game.translate_string(system_ini():r_string(v, "inv_name")) local inv_weight = system_ini():r_string(v, "inv_weight") local cost = system_ini():r_string(v, "cost") local name = inv_name..", "..cost.."RU, "..inv_weight.."kg" self:AddItemToListOther(name, v) end end Спойлер local section = item.sect_item alife():create(section,db.actor:position(),db.actor:level_vertex_id(),db.actor:game_vertex_id(),db.actor:id()) Изменено 8 ноября, 2021 пользователем vader_33 В беге за рассветом приближаешь свой закат Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Arkada 428 Опубликовано 8 ноября, 2021 Как сделать так, чтобы симуляционные монстры не бегали по всей локации а были на одной какой-то территории? Логика одного из симуляционных смартов (у меня на локации все симуляционные смарты сделаны по данной аналогии): Спойлер [smart_terrain] squad_id = 8 max_population = 1 respawn_params = respawn@boars [respawn@boars] sim_boars [sim_boars] spawn_squads = simulation_boar spawn_num = {!is_day} 1, 0 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Neptun 884 Опубликовано 8 ноября, 2021 1 минуту назад, liner сказал: Как сделать так, чтобы симуляционные монстры не бегали по всей локации а были на одной какой-то территории? Логика одного из симуляционных смартов (у меня на локации все симуляционные смарты сделаны по данной аналогии): Скрыть контент [smart_terrain] squad_id = 8 max_population = 1 respawn_params = respawn@boars [respawn@boars] sim_boars [sim_boars] spawn_squads = simulation_boar spawn_num = {!is_day} 1, 0 Как вариант, создать эксклюзивные логики для них с ограничением mob_home Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Paradox27kms 15 Опубликовано 8 ноября, 2021 (изменено) 40 минут назад, Neptun сказал: Как вариант, создать эксклюзивные логики для них с ограничением mob_home Проще же сделать эксклюзивный сквад монстров и со своим target_smart не? или вдобавок её дописать ему spawn_point. Да, разумеется если использовать единичный сквад.... Изменено 8 ноября, 2021 пользователем Paradox27kms 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Hoperise 210 Опубликовано 9 ноября, 2021 Доброго времени суток! Перекомпилировал локацию Юпитер, все работает, но стеклянный шкаф на базе ученых (именно стекла) сместились со своих мест. Как можно это исправить? Спойлер Если не ошибаюсь, то они должны быть единым .object объектом со всем бункером. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Paradox27kms 15 Опубликовано 9 ноября, 2021 (изменено) В 08.11.2021 в 15:34, vader_33 сказал: Paradox27kms если я правильно понял добавление в список (Показать контент) --если таблица вида local tbl = { ["секция"] = true, ["секция2"] = true, } function ui_mm_mod:FillListOther() for i,v in pairs(tbl) do local inv_name = game.translate_string(system_ini():r_string(i, "inv_name")) local inv_weight = system_ini():r_string(i, "inv_weight") local cost = system_ini():r_string(i, "cost") local name = inv_name..", "..cost.."RU, "..inv_weight.."kg" self:AddItemToListOther(name, i) end end --если таблица такая local tbl = { "секция", "секция2" } function ui_mm_mod:FillListOther() for i,v in pairs(tbl) do local inv_name = game.translate_string(system_ini():r_string(v, "inv_name")) local inv_weight = system_ini():r_string(v, "inv_weight") local cost = system_ini():r_string(v, "cost") local name = inv_name..", "..cost.."RU, "..inv_weight.."kg" self:AddItemToListOther(name, v) end end спавн при клике (Показать контент) local section = item.sect_item alife():create(section,db.actor:position(),db.actor:level_vertex_id(),db.actor:game_vertex_id(),db.actor:id()) в данной функции значение section отсутствует следовательно при клике ничего не работает function ui_mm_mod:FillListOther() for i,v in pairs(tbl) do local inv_name = game.translate_string(system_ini():r_string(i, "inv_name")) local inv_weight = system_ini():r_string(i, "inv_weight") local cost = system_ini():r_string(i, "cost") local name = inv_name..", "..cost.."RU, "..inv_weight.."kg" self:AddItemToListOther(name, i) end end Изменено 9 ноября, 2021 пользователем Paradox27kms Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
vader_33 1 142 Опубликовано 9 ноября, 2021 (изменено) 48 минут назад, Paradox27kms сказал: в данной функции значение section отсутствует следовательно при клике ничего не работает в этой? 48 минут назад, Paradox27kms сказал: local section = item.sect_item alife():create(section,db.actor:position(),db.actor:level_vertex_id(),db.actor:game_vertex_id(),db.actor:id()) Как выложили кусок кода для изменения, так я и ответил Спойлер В 07.11.2021 в 16:19, Paradox27kms сказал: local section = item.sect_item local obj = db.actor:object(section) if obj then local sobj = alife():object(obj:id()) local cost = tonumber(system_ini():r_string(section, "cost")) alife():release(sobj, true) db.actor:give_money(cost) end Дополнено 3 минуты спустя В 07.11.2021 в 15:25, Contentic сказал: подскажите как использовать эту функцию get_time_days() level.get_time_days() Изменено 9 ноября, 2021 пользователем vader_33 В беге за рассветом приближаешь свой закат Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
TMM team 98 Опубликовано 9 ноября, 2021 Всем привет! Напомню, это ЗП. Подскажите пожалуйста, а как сделать выбрасывание трупа, чтобы он отлетал или перемещался. Это как с кровососом, во время сценки с долговцем на агропроме. (в чистом небе). Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Paradox27kms 15 Опубликовано 9 ноября, 2021 12 минут назад, vader_33 сказал: в этой? Как выложили кусок кода для изменения, так я и ответил Скрыть контент Да, именно этой Спойлер local section = item.sect_item alife():create(section,db.actor:position(),db.actor:level_vertex_id(),db.actor:game_vertex_id(),db.actor:id()) Нужно зарегистрировать данный параметр в ui_mm_mod:FillListOther() по логике... Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
vader_33 1 142 Опубликовано 9 ноября, 2021 Paradox27kms всё точно также, как и с удалением, добавить в init списка self.sect_item = sect, передавать секцию _itm = mod_main_menu(22, секция), также получать сначала local item = self.list_other:GetSelectedItem() потом уже local section = item.sect_item Дополнено 2 минуты спустя TMM team в зп псевдособака из окна кбо вылетает. Вроде она pri_b303_screaming_dog 1 В беге за рассветом приближаешь свой закат Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
TMM team 98 Опубликовано 9 ноября, 2021 2 минуты назад, vader_33 сказал: в зп псевдособака из окна кбо вылетает. Вроде она pri_b303_screaming_dog опа, напомнил, спасибище. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты