Это популярное сообщение. Dennis_Chikin 3 658 Опубликовано 16 Мая 2014 Это популярное сообщение. Поделиться Опубликовано 16 Мая 2014 Ковыряемся в файлах ТЧ Прежде чем писать в тему - внимательно читаем первый пост, и пользуемся поиском. Возможно, ответ на Ваш вопрос уже есть. Касательно телепатии: если Вы передаете Ваши файлы телепатическим путем - ответы будут передаваться тоже телепатически. Если Вы предлагаете угадать, отчего у Вас в подвале происходит странный стук - ответ будет передан стуком. 4 8 6 12 Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Ссылка на комментарий
Купер 2 927 Опубликовано 11 Июня 2021 Поделиться Опубликовано 11 Июня 2021 @Stalkersof , ага. Поэтому и полез уточнять, спрашивать. Наличие звука или партикла в игре можно отследить. Для постпроцесса, похоже, подобного функционала нет. @Zander_driver , полезно. Мощная штука. Но в данном случае субъективное ощущение, что "из пушки по воробьям" - "городить огородами", чтобы просто отследить активность постпроцесса? Проще уж по старинке, level.add_pp_effector() -> trigger=true, level.remove_pp_effector() -> trigger=false, с проверкой по значению trigger. Ссылка на комментарий
Colder 12 Опубликовано 11 Июня 2021 Поделиться Опубликовано 11 Июня 2021 (изменено) Можно ли заспавнить предмет в инвентарь ГГ рандомно по классу? Мне нужно что-то типо: local misc = { [clsid.obj_medkit] = true, [clsid.obj_antirad] = true } function misc_test(obj) if misc[obj:clsid()] then .... end Или как-то так. Изменено 11 Июня 2021 пользователем Colder Ссылка на комментарий
AndreySol 215 Опубликовано 11 Июня 2021 Поделиться Опубликовано 11 Июня 2021 @Colder Ф-ции движка, которые спавнят объекты, принимают секцию конфига, а явной связи между движковым clsid и конфиговой секцией нет. А в чем собственно смысл, спавнить аптечку по clsid, а не по секции? Ссылка на комментарий
Colder 12 Опубликовано 11 Июня 2021 Поделиться Опубликовано 11 Июня 2021 (изменено) Да бы не перечислять все предметы которые надо заспавнить,получиться длинющий список! Я хотел сделать это по классу что бы по короче. Ну раз нельзя.... спасибо! Другой вопрос спавню предметы и хочу получить сообщение о полученых, делаю так: Скрытый текст local partn = { "grenade_rgd5", "ammo_9x18_fmj", "bandage", "antirad", "stim_bad", "medkit" } function random_item(obj) for i = 1, 2 do local a = partn[math.random(table.getn(partn))] local sect = obj:section() local name = tostring(system_ini():r_string(obj:section(),"inv_name_short")) local text = "\\n%c[white]"..game.translate_string(tostring(name)) alife():create(a, db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(), db.actor:id()) db.actor:give_game_news(text, "ui_libery\\ui_coal_air_iconstotal", Frect():set(415,94,83,47), 0, 6000) end end Но игра вылетает... Изменено 11 Июня 2021 пользователем Colder Ссылка на комментарий
AndreySol 215 Опубликовано 11 Июня 2021 Поделиться Опубликовано 11 Июня 2021 @Colder В конфигах есть три разных аптечки, но движковый clsid у них одинаковый. И так с оружием и многими другими предметами. Как будешь выбирать, что именно спавнить? Проще сделать таблицу секций, чем городить нехилый скриптовый огород, тем более, что удобной движковой ф-ции, которая может сопоставить clsid с секцией конфига - нет. Насчет вылета - что пишет-то в логе? Ссылка на комментарий
Colder 12 Опубликовано 11 Июня 2021 Поделиться Опубликовано 11 Июня 2021 @AndreySol Скрытый текст Expression : fatal error Function : CInifile::r_string File : E:\stalker\sources\trunk\xrCore\Xr_ini.cpp Line : 352 Description : <no expression> Arguments : Can't find variable inv_name_short in [dog_weak] Пытаюсь доспавнить некоторые предметы Актору при срезании трофеев с мутантов! А он почему то считает секцию самого мутанта 24 минуты назад, AndreySol сказал(а): @Colder В конфигах есть три разных аптечки, но движковый clsid у них одинаковый. И так с оружием и многими другими предметами. Как будешь выбирать, что именно спавнить? Проще сделать таблицу секций, чем городить нехилый скриптовый огород, тем более, что удобной движковой ф-ции, которая может сопоставить clsid с секцией конфига - нет. Насчет вылета - что пишет-то в логе? А можешь пж привести пример как сделать таблицу секций или можно где то подглядеть? Ссылка на комментарий
AndreySol 215 Опубликовано 11 Июня 2021 Поделиться Опубликовано 11 Июня 2021 @Colder Ну так уже есть твой-же пример: local partn = {"grenade_rgd5", "ammo_9x18_fmj", "bandage", "antirad", "stim_bad", "medkit"} function random_item(obj) local sect = partn[math.random(table.getn(partn))] local name = system_ini():r_string(sect, "inv_name_short") local text = "%c[white]" .. name alife():create(sect, db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(), db.actor:id()) db.actor:give_game_news(text, "ui_libery\\ui_coal_air_iconstotal", Frect():set(415,94,83,47), 0, 6000) end В таком виде ф-ция будет спавнить один объект из таблицы partn и выводить сообщение с коротким названием этого объекта. Ссылка на комментарий
yurv3 1 076 Опубликовано 11 Июня 2021 Поделиться Опубликовано 11 Июня 2021 Пытаюсь создать тайник через скрипт с присвоением Сида Скрытый текст local id_inv_box_1 = 48802 function yashik_habar() local soObj = alife():create("esc_tainik_ferma",vector():set(-421.03182983398,1.2585370540619,40.20238494873),152517,3660) if soObj then id_inv_box_1 = soObj.id end end Тайник то спаунится, а вот сид не работает. Не пойму в чем ошибка? Ссылка на комментарий
Colder 12 Опубликовано 11 Июня 2021 Поделиться Опубликовано 11 Июня 2021 Да все работает, только когда приходит смс то там вот что) Скрытый текст https://yadi.sk/i/CU_Vdxuy6tWPAw @AndreySol незнаю почему Ссылка на комментарий
Stalkersof 183 Опубликовано 11 Июня 2021 Поделиться Опубликовано 11 Июня 2021 2 часа назад, Colder сказал(а): Да все работает, только когда приходит смс то там вот что) Посмотри что у тебя в конфигах предметов. А Именно в секции inv_name_short. Походу у тебя там строковые переменные. Варианта два либо в этой секции прописать нормальное название предмета либо по аналогии с остальными предметами внести строковый индификатор в конфиги. Freeplay Graphic Mod(FGM) Ссылка на комментарий
Colder 12 Опубликовано 11 Июня 2021 Поделиться Опубликовано 11 Июня 2021 @Stalkersof В том то и проблема что в конфингах все у меня нормально! @Stalkersof Я так понимаю по другому ни как? Ссылка на комментарий
Stalkersof 183 Опубликовано 11 Июня 2021 Поделиться Опубликовано 11 Июня 2021 6 минут назад, Colder сказал(а): @Stalkersof В том то и проблема что в конфингах все у меня нормально! @Stalkersof Я так понимаю по другому ни как? Почему все должно работать. У Тебя в скрипте берется название предмета из секции inv_name_short предмета. Что в этой секции то и выводиться в сообщении. Не знаю в чем проблема должно все работать. Добавлено Опричник, 11 Июня 2021 Изучите "Правила цитирования". https://www.amk-team.ru/forum/topic/13514-obyavleniya/ Устное предупреждение. Freeplay Graphic Mod(FGM) Ссылка на комментарий
Colder 12 Опубликовано 11 Июня 2021 Поделиться Опубликовано 11 Июня 2021 @Stalkersof Попробывал inv_name и: https://yadi.sk/i/0Ys1hQGBoYZTzw Я непонимаю почему так, есть подобные функции и работают нормально а эта..... Ссылка на комментарий
WinCap 316 Опубликовано 11 Июня 2021 Поделиться Опубликовано 11 Июня 2021 @Colder, может game.translate_string() добавить? 1 S.T.A.L.K.E.R. CoP Objects (upd 15.11.24) Ссылка на комментарий
Colder 12 Опубликовано 11 Июня 2021 Поделиться Опубликовано 11 Июня 2021 @WinCap Заработало: Скрытый текст Вместо: function random_partn_monsters_item(obj) local sect = partn[math.random(table.getn(partn))] local name = system_ini():r_string(sect, "inv_name_short") local text = "%c[ui_white]"..game.translate_string("st_body_knife_parts").."\\n"..name alife():create(sect, db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(), db.actor:id()) db.actor:give_game_news(text, "ui\\ui_coal_air_iconstotal", Frect():set(166,517,83,47), 0, 5000) end Сделал так: function random_partn_monsters_item(obj) local sect = partn[math.random(table.getn(partn))] local name = game.translate_string(system_ini():r_string(sect, "inv_name_short")) local text = "%c[ui_white]"..game.translate_string("st_body_knife_parts").."\\n"..name alife():create(sect, db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(), db.actor:id()) db.actor:give_game_news(text, "ui\\ui_coal_air_iconstotal", Frect():set(166,517,83,47), 0, 5000) end Результат: https://yadi.sk/i/0agThJHHTEN5Wg 2 Ссылка на комментарий
Купер 2 927 Опубликовано 12 Июня 2021 Поделиться Опубликовано 12 Июня 2021 (изменено) @yurv3, устойчивое ощущение, что так оно не взлетит. Тут либо с нетпакетами баловаться, наподобие такого или такого (там дальше есть про нюансы и подводные камни) + соответствующие модули обработки нетпакетов. Либо переползать на что-то модернизированное в плане бинарей (в X-Ray Extensions, например, добавлен метод прямой записи sid'а - assign_story_id()). p.s: нужен всё-таки story_id или id? Несколько разные вещи. Изменено 12 Июня 2021 пользователем Купер 1 Ссылка на комментарий
AndreySol 215 Опубликовано 12 Июня 2021 Поделиться Опубликовано 12 Июня 2021 @yurv3 Во первых, StoryID(sid) - свойство объекта "только для чтения", изменить его просто так не получится. Во вторых, в примере кода явная белиберда - зачем объявлять переменную, а потом присваивать ей значение ID созданного объекта? Каким боком это относится к sid? 1 1 Ссылка на комментарий
yurv3 1 076 Опубликовано 12 Июня 2021 Поделиться Опубликовано 12 Июня 2021 @AndreySol Я в скриптах полный ноль, использовал найденный на форумах. Мне нужно не изменить а присвоить StoryID(sid) созданному через скрипт тайнику на Затоне. Есть скрипты с присвоением sid НПС, монстрам или трупу. А вот к тайникам я такого не нашел. Ссылка на комментарий
Colder 12 Опубликовано 12 Июня 2021 Поделиться Опубликовано 12 Июня 2021 @yurv3 попробуй загляни сюда: http://stalkerin.gameru.net/wiki/index.php?title=Создание_тайников 1 Ссылка на комментарий
yurv3 1 076 Опубликовано 12 Июня 2021 Поделиться Опубликовано 12 Июня 2021 @Colder Создать не проблема, в присвоение сида запутался. Ссылка на комментарий
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти