Overf1rst 1 449 Опубликовано 1 июля, 2020 Тема посвящена моддингу на платформе Тень Чернобыля. Правила темы: Здесь задают вопросы и получают на них ответы. Прежде чем задать вопрос, воспользуйтесь поиском, ответ на него, вероятно, уже есть. Если у вас произошёл вылет, проверьте лог и поищите информацию об ошибке в справочнике. Также будет полезно посмотреть справочник ошибок. Если у Вас вылетает какой-то мод, то следует написать в тему этого мода. Грамотно оформляйте свой пост, чётко доносите суть своего вопроса (ответа). Благодарность выражаем в личке или же ставим реакцию. Посты с благодарностями в теме будут удаляться. 6 4 1 3 1 3 6 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Stalkervernite 289 Опубликовано 11 июля, 2023 imcrazyhoudini on_info = {=actor_has_item(item)} %+info% Логику эту вписываешь в предмет? item в скобках это название предмета которое нужно написать? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
imcrazyhoudini 932 Опубликовано 11 июля, 2023 2 минуты назад, Stalkervernite сказал: Логику эту вписываешь в предмет? рестриктор на локации ставишь 2 минуты назад, Stalkervernite сказал: которое нужно написать? да Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Stalkervernite 289 Опубликовано 11 июля, 2023 imcrazyhoudini Я спавню возле арта шейп приатачиваю спейс рестриктор и пишу ту логику,так? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
imcrazyhoudini 932 Опубликовано 11 июля, 2023 Stalkervernite необязательно возле арта, а так верно вот полная логика, вдруг не знаешь: [logic] active = sr_idle [sr_idle] on_info = {+info =actor_has_item(item)} nil %+info% {+info =actor_has_item(item)} - "если есть инфопоршень info и предмет item то выдаём инфопоршень" первый info надо ставить если вдруг нужно чтобы после определённого момента это начало действовать, а не просто взял предмет и всё Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Stalkervernite 289 Опубликовано 11 июля, 2023 (изменено) imcrazyhoudini 1 info по дефолту ставим а 2 info это инфопоршень? Изменено 11 июля, 2023 пользователем Stalkervernite Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
imcrazyhoudini 932 Опубликовано 11 июля, 2023 Только что, Stalkervernite сказал: шейп приатаченый к спейсу рестриктору да Только что, Stalkervernite сказал: где угодно. да подробнее о рестрикторах:http://stalkerin.gameru.net/wiki/index.php?title=Настройка_логики._Часть_3#.D0.A1.D0.BA.D1.80.D0.B8.D0.BF.D1.82_logic 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
ScR1pt 520 Опубликовано 11 июля, 2023 Stalkervernite Желательно в радиусе а-лайфа. 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Stalkervernite 289 Опубликовано 11 июля, 2023 Я читал это все)я не мог найти саму логику насчет взятия предмета Дополнено 2 минуты спустя imcrazyhoudini А первый инфо это к примеру мы заменяем на инфопоршень,и после этого инфопоршня срабатывала эта функция? или не надо вместо info 1 инфо вписывать инфопоршень,а просто так и пишим info Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
imcrazyhoudini 932 Опубликовано 11 июля, 2023 3 минуты назад, Stalkervernite сказал: заменяем на инфопоршень ну да, на свой инфопоршень после которого ты хочешь чтобы эта проверка начала работать ну по типу, в диалоге сказали взять артефакт, вот в диалоге выдали инфопоршень, после которого проверка на артефакт уже начнёт работу Дополнено 0 минут спустя [logic] active = sr_idle [sr_idle] on_info = {+info =actor_has_item(item)} nil %+info1% где info это после чего начнёт работать проверка, а info 1 инфопоршень который будет выдан после того как возьмёшь артефакт Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Paracetamol 635 Опубликовано 11 июля, 2023 33 минуты назад, ScR1pt сказал: может, просто добавить к условию ещё инфопоршень, но с "-"? А разве так работает? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
ScR1pt 520 Опубликовано 11 июля, 2023 Paracetamol Да. Я когда-то делал так удаление персонажа. С локи. 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Paracetamol 635 Опубликовано 11 июля, 2023 ScR1pt ООО, действительно пропал, премного благодарен! 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
РСФСР 89 Опубликовано 11 июля, 2023 6 часов назад, Stalkervernite сказал: ian98 А нельзя сделать так? в сдк [spawner] cond = Я спрашиваю, потому-что плохо помню эту функцию. нельзя, пробовал. Можно вроде только если создать квестовый предмет-артефакт Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Stalkervernite 289 Опубликовано 11 июля, 2023 Привет всем. Кто знает чтобы из одного лагеря нпс шли к другому лагерю (точке). Прикол том что нпс у меня привязаны к своему смарт терейну к лагерю своему,а они идут к другому лагерю как сделать чтобы они шли к вейпоинту или в чужой смарт терейн. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
imcrazyhoudini 932 Опубликовано 11 июля, 2023 Stalkervernite ну со смарта смарт в например [smart_terrains] smart1 = {-info} smart2 = {+info} когда получит info перейдёт в другой смарт Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Stalkervernite 289 Опубликовано 11 июля, 2023 imcrazyhoudini+ - это при когда что либо получаем а - что такое? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
imcrazyhoudini 932 Опубликовано 11 июля, 2023 Stalkervernite в данной ситуации при получения этого инфопоршня уйдём Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Stalkervernite 289 Опубликовано 11 июля, 2023 imcrazyhoudini smart1 smart 2 место этого пишим свои названия смартов? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
imcrazyhoudini 932 Опубликовано 11 июля, 2023 Stalkervernite да Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
РСФСР 89 Опубликовано 11 июля, 2023 29 минут назад, imcrazyhoudini сказал: Stalkervernite ну со смарта смарт в например [smart_terrains] smart1 = {-info} smart2 = {+info} когда получит info перейдёт в другой смарт а нельзя если прописано [smart_terrains] none= true в другой смарт по инфо? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
imcrazyhoudini 932 Опубликовано 11 июля, 2023 РСФСР я обычно использовал такое [smart_terrains] smart = {+info} то есть бродит себе или использует персональную логику, а потом под смарт Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
РСФСР 89 Опубликовано 11 июля, 2023 Вот функция, которая при разговоре с арни перемещает барохло актора в ящик и спавнит всяких хлам для выступлений в инвентарь: function bar_arena_teleport ( actor, npc) db.actor:give_info_portion("bar_arena_entrance") inv_box_1 = level_object_by_sid (573) out_object = actor in_object = inv_box_1 actor:inventory_for_each(transfer_object_item) local spawn_items = {} if has_alife_info("bar_arena_fight_1") then table.insert(spawn_items, "wpn_pm") table.insert(spawn_items, "ammo_9x18_pmm") table.insert(spawn_items, "ammo_9x18_pmm") table.insert(spawn_items, "wpn_knife") elseif has_alife_info("bar_arena_fight_2") then table.insert(spawn_items, "wpn_mp5") table.insert(spawn_items, "ammo_9x19_pbp") table.insert(spawn_items, "wpn_knife") elseif has_alife_info("bar_arena_fight_3") then table.insert(spawn_items, "wpn_toz34") table.insert(spawn_items, "ammo_12x70_buck") table.insert(spawn_items, "ammo_12x70_buck") table.insert(spawn_items, "wpn_knife") elseif has_alife_info("bar_arena_fight_4") then table.insert(spawn_items, "wpn_ak74") table.insert(spawn_items, "ammo_5.45x39_ap") table.insert(spawn_items, "ammo_5.45x39_ap") table.insert(spawn_items, "wpn_knife") table.insert(spawn_items, "bandage") table.insert(spawn_items, "bandage") elseif has_alife_info("bar_arena_fight_5") then table.insert(spawn_items, "wpn_abakan") table.insert(spawn_items, "ammo_5.45x39_ap") table.insert(spawn_items, "ammo_5.45x39_ap") table.insert(spawn_items, "ammo_5.45x39_ap") table.insert(spawn_items, "wpn_knife") table.insert(spawn_items, "bandage") table.insert(spawn_items, "medkit") table.insert(spawn_items, "svoboda_light_outfit") elseif has_alife_info("bar_arena_fight_6") then table.insert(spawn_items, "wpn_groza") table.insert(spawn_items, "ammo_9x39_ap") table.insert(spawn_items, "ammo_9x39_ap") table.insert(spawn_items, "ammo_9x39_ap") table.insert(spawn_items, "wpn_knife") table.insert(spawn_items, "grenade_f1") table.insert(spawn_items, "specops_outfit") elseif has_alife_info("bar_arena_fight_7") then table.insert(spawn_items, "wpn_knife") table.insert(spawn_items, "bandage") table.insert(spawn_items, "grenade_f1") table.insert(spawn_items, "grenade_f1") table.insert(spawn_items, "grenade_f1") table.insert(spawn_items, "grenade_f1") elseif has_alife_info("bar_arena_fight_8") then table.insert(spawn_items, "wpn_g36") table.insert(spawn_items, "ammo_5.56x45_ap") table.insert(spawn_items, "ammo_5.56x45_ap") table.insert(spawn_items, "ammo_5.56x45_ap") table.insert(spawn_items, "ammo_5.56x45_ap") table.insert(spawn_items, "exo_outfit") table.insert(spawn_items, "wpn_knife") end local k,v = 0,0 for k,v in pairs(spawn_items) do alife():create(v, db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(), db.actor:id()) end end Пытаюсь сделать на основе нее функцию, вызываемую через логику рестриктора для простого перемещения всего барахла в ящик. Получилось пока такое, и само собой не рабочее: function escape_rob_actor ( actor, npc) inv_box_1 = level_object_by_sid (051) out_object = actor in_object = inv_box_1 actor:inventory_for_each(transfer_object_item) end Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Yara 77 Опубликовано 12 июля, 2023 РСФСР Использую такую, с вариантом по имени: function relocate_actor_inventory_to_box(actor, npc, p) local function transfer_object_item(item) --# Секции, которые не перемещать if item:section() ~= "wpn_binoc" and item:section() ~= "wpn_knife" and item:section() ~= "device_torch" and item:section() ~= "device_pda" then db.actor:transfer_item(item, inv_box_1) end end --# (отключено) Вариант по сиду: %=relocate_actor_inventory_to_box(123)% --# inv_box_1 = level_object_by_sid(p[1]) --# Вариант по имени: %=relocate_actor_inventory_to_box(esc_inventory_box_0123)% local s_obj = alife():object(p[1]) inv_box_1 = level.object_by_id(s_obj.id) --# actor:inventory_for_each(transfer_object_item) end 1 https://sites.google.com/view/xray-sdk-0-4-smg Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Stalkervernite 289 Опубликовано 12 июля, 2023 (изменено) imcrazyhoudini Привет, а как ускорить нпс? что бы когда он шел он е медленно шел,а бегал, как такое реализовать? Изменено 12 июля, 2023 пользователем Stalkervernite Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
imcrazyhoudini 932 Опубликовано 12 июля, 2023 Stalkervernite либо в вэйпоинт прописать wp00|a=run либо в логику если это walker def_state_moving1 = run подробнее: http://stalkerin.gameru.net/wiki/index.php?title=Настройка_логики._Часть_1#.D0.A1.D1.85.D0.B5.D0.BC.D0.B0_walker Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты