Это популярное сообщение. Dennis_Chikin 3 658 Опубликовано 16 Мая 2014 Это популярное сообщение. Поделиться Опубликовано 16 Мая 2014 Ковыряемся в файлах ТЧ Прежде чем писать в тему - внимательно читаем первый пост, и пользуемся поиском. Возможно, ответ на Ваш вопрос уже есть. Касательно телепатии: если Вы передаете Ваши файлы телепатическим путем - ответы будут передаваться тоже телепатически. Если Вы предлагаете угадать, отчего у Вас в подвале происходит странный стук - ответ будет передан стуком. 4 8 6 12 Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Ссылка на комментарий
RvP 1 Опубликовано 28 Июня 2009 Поделиться Опубликовано 28 Июня 2009 Ashmodei, пишеш скрипт с определением арта на поясе,и условие на постефект Vita sine libertate, nihil Vita sine litteris - mors est Ссылка на комментарий
Kirag 39 Опубликовано 28 Июня 2009 Поделиться Опубликовано 28 Июня 2009 Monnoroch, Garrett Спавн ВСЕМ неписям в инвентарь (затрагивает и тех, кто присутствует изначально!) Нужен файл se_stalker.script. Ищем функцию se_stalker:on_spawn() Самый простой вариант - безусловный спавн. У меня это выглядит так - добавляется перед end одна строка (для каждого предмета, само собой): spawn.inv("wpn_pkm", tonumber(self.id) or tonumber(self:id())) И сама функция спавна в инвентарь из моего файла spawn.script: function inv(item,npc_id) if npc_id == nil then npc_id = db.actor:id() end local obj = alife():create(item,vector():set(0,0,0),1,1,npc_id) return obj end Почему такие значения координат: Проверял, в случае спавна в инвентарь координаты не имеют значения. Во всяком случае, при значении геймвертекса 1000 (не выяснял, какая это локация, но точно не кордон) весь народ на кордоне (дальше не ходил) все равно получает ПКМ-ы. Далее, условия спавна. - спавнить не постоянно, а с некоторой вероятностью условие будет таким: if math.random() < N then -- N вероятность спавна от 0 до 1. 1 и выше - 100% спавн, 0 и меньше - никогда не заспавнится. сам спавн end - отлично было бы, если спавнить эти предметы зависимо от ранга неписи (например, новичку в рюкзак - "медузу", ветерану - "бабкины бусы") local npc_rank = ranks.get_obj_rank_name(npc) -- ранг НПС if npc_rank == "novice" then спавн для новичка elseif npc_rank == "veteran" then спавн для ветерана elseif... аналогично с остальными рангами. end Теперь разберемся с параметром npc. Если написать так в se_stalker.script, то скорее всего пошлет. В se_stalker.script НПС обозначен как self, т.е. тот объект, для которого вызвана функция, т.е. self и надо писать. Если же выносить спавн в функцию из отдельного файла, то вызов в se_stalker:on_spawn() будет myscript.myfunction(self), а в файлe myscript будет уже function myfunction(npc) ... end - чтобы непись мог распоряжаться при жизни этим предметом (стрелять, торговать, и. т. д.) Это самое простое. Стрелять, заряжать (если патроны есть) и т.п. НПС будет в любом случае. Единственный неоднозначный момент - торговля. Надо ее настроить в файле config\misc\trade_generic.ltx. Разреши сталкерам торговать всем подряд - и все. Само собой, условия спавна можно вкладывать друг в друга и вообще комбинировать, как считаешь нужным. Мои работы: Ночные прицелы + смена ножевого слота AI вертолетов + ПЗРК Soul Cube Работаю только с ТЧ. С ковырянием ЧН/ЗП не связываюсь ни в какой форме. Совсем. Ссылка на комментарий
Garrett 1 Опубликовано 28 Июня 2009 Поделиться Опубликовано 28 Июня 2009 (изменено) Kirag, спасибо за помощь! Как только получу плюсомёт - отблагодарю обязательно. Толбко хотелось бы уточнить один момент. Например, нужно новичку заспавнить оружие: - wpn_pm - с вероятностью 30% - wpn_pb - с вероятностью 25% - wpn_mp5 - с вероятностью 20% - wpn_ak74u - с вероятностью 15% - wpn_ak74 - с вероятностью 10% при этом, чтобы один из этих предметов спавнился обязательно, но ни в коем случае не присутствовали вместе 2 и более предмета. Можно ли организовать такое? З.Ы. Прошу простить меня за назойливость. Изменено 28 Июня 2009 пользователем Garrett Ссылка на комментарий
DiXares 1 Опубликовано 28 Июня 2009 Поделиться Опубликовано 28 Июня 2009 Сталкеры, в теме:Уроки по модостроению, есть статья: "Как вывести сообщение на экран без использования функций АМК", не подскажете как изменить цвет выдаваемого текста? Ссылка на комментарий
Malandrinus 615 Опубликовано 28 Июня 2009 Поделиться Опубликовано 28 Июня 2009 TREWKO, вставляешь в текст %c[255,238,155,23] для изменения цвета с текущего момента. Цвет в формате RGB. Четвёртый параметр не знаю зачем, возможно прозрачность. Чтобы вернуть цвет по умолчанию вставляешь %c[default] Плагины Total Commander для работы с игровыми архивами: Архиваторный плагин (для работы с одиночным архивом): link1 link2 Системный плагин (для распаковки установленной игры): link1 link2 Ссылка на комментарий
Kirag 39 Опубликовано 28 Июня 2009 Поделиться Опубликовано 28 Июня 2009 Garrett, Можно, конечно. Делается это примерно так: Сумма вероятностей: 30 + 25 + 20 + 15 + 10 = 100. В данном случае получилось 100, но в принципе это не так важно. Получившееся число пойдет в скобки у math.random Пишем примерно следующее: -- Выбор оружия local wpn if math.random(100) < 30 then -- 30 - вероятность ПМ-а wpn = "wpn_pm" elseif math.random(100) < 55 then -- 55 = 30 (ПМ, но его уже проверяли раньше, его не заспавнит) + 25 - вероятность ПБ wpn = "wpn_pb" elseif math.random(100) < 75 then -- 75 = 50 (ПМ или ПБ) + 20 - вероятность МР-5 wpn = "wpn_mp5" elseif math.random(100) < 90 then -- 90 = 75 + 15 - АКС74У wpn = "wpn_ak74u" else -- остается от 90 до 100 на АК74 wpn = "wpn_ak74" end -- Спавн выбранного оружия spawn.inv(wpn, tonumber(self.id) or tonumber(self:id())) -- Не забываем про патроны local ammo_string = system_ini():r_string(weap_sect, "ammo_class") -- Читаем патроны из конфига local ammo = "grenade_f1" -- если патроны почему-то не определятся, выбираем гранату if string.find(ammo_string, ",") == nil then -- если запятая не найдена - единственный тип боеприпаса ammo = ammo_string -- его и выбираем else ammo = string.sub(ammo_string,1,l-1) -- иначе выбираем первый боеприпас в списке end -- Спавним выбранный боеприпас spawn.inv(ammo, tonumber(self.id) or tonumber(self:id())) Мои работы: Ночные прицелы + смена ножевого слота AI вертолетов + ПЗРК Soul Cube Работаю только с ТЧ. С ковырянием ЧН/ЗП не связываюсь ни в какой форме. Совсем. Ссылка на комментарий
Garrett 1 Опубликовано 28 Июня 2009 Поделиться Опубликовано 28 Июня 2009 (изменено) Kirag, благодарствую! Даже не представляю, как тяжело было бы мне до этого дойти самому - я ведь пока лишь новичок. TREWKO, извини, хотел ответить, немного не успел... malandrinus дал верный совет. Но всё же позволю себе добавить. цвета можешь подбирать любые, это не сложно, но вот несколько уже подобранных: [064,224,096,224] Лиловый [250,244,032,016] Красный [250,250,144,044] Оранжевый сигнальный Эти цвета лучше прописывать для сообщений, которые должны быть заметными. Насчет последнего числа не уверен - подбирал методом "научного тыка" Изменено 28 Июня 2009 пользователем Garrett Ссылка на комментарий
Malandrinus 615 Опубликовано 28 Июня 2009 Поделиться Опубликовано 28 Июня 2009 -- Не забываем про патроныКогда я спавнил стволы, они уже были с патронами. И вроде в сингле так всегда. Насчёт гранат не знаю. Плагины Total Commander для работы с игровыми архивами: Архиваторный плагин (для работы с одиночным архивом): link1 link2 Системный плагин (для распаковки установленной игры): link1 link2 Ссылка на комментарий
RvP 1 Опубликовано 28 Июня 2009 Поделиться Опубликовано 28 Июня 2009 а как реализуется свечение Стрелка на теплотрассе в Чистом Небе? Vita sine libertate, nihil Vita sine litteris - mors est Ссылка на комментарий
Министр 3 Опубликовано 28 Июня 2009 Поделиться Опубликовано 28 Июня 2009 (изменено) RvP, он вроде там не светится, а от него просто молнии отходят как от ЭХ. Поэтому и реализовать такого непися можно также как и АМК Электро Химеру. ----------------------------- А теперь собственно вопрос. У меня есть переменная с присвоеным значением (это значение присвоелось после выполнения функции), после перезапуска игры это переменная обнуляется. А как сделать чтобы она не обнулялась? З.Ы. Я реализовал это с помощью amk.save_variable и amk.load_variable, мне просто интересно, существуют ли другие способы? Изменено 28 Июня 2009 пользователем Министр Ссылка на комментарий
RvP 1 Опубликовано 28 Июня 2009 Поделиться Опубликовано 28 Июня 2009 а реально ли нпс,или костюму прописать свечение по типу как свечение у арта? Vita sine libertate, nihil Vita sine litteris - mors est Ссылка на комментарий
Malandrinus 615 Опубликовано 28 Июня 2009 Поделиться Опубликовано 28 Июня 2009 З.Ы. Я реализовал это с помощью amk.save_variable и amk.load_variable, мне просто интересно, существуют ли другие способы?Нет других способов. Или точнее, нет способов, основанных на ином принципе. Если проследить, что там происходит, то мы увидим сохранение переменной нетпакетом в объекте актора. Делается это через объект-биндер. В принципе, ничто не мешает сохранять не в акторе, а в любом другом объекте. Иногда так и делается: для этого надстраивается биндер соответствующего объекта и при загрузке и сохранении там добавляется в нетпакет дополнительная информация. Но это имеет локальное применение - для дополнительных свойств конкретных объектов. А объект актора доступен всегда, поэтому в нём и удобно сохранять переменные общего характера. Плагины Total Commander для работы с игровыми архивами: Архиваторный плагин (для работы с одиночным архивом): link1 link2 Системный плагин (для распаковки установленной игры): link1 link2 Ссылка на комментарий
Kirag 39 Опубликовано 28 Июня 2009 Поделиться Опубликовано 28 Июня 2009 Когда я спавнил стволы, они уже были с патронами. И вроде в сингле так всегда. Насчёт гранат не знаю. Само собой, стволы при спавне заряжены. Я имел ввиду патроны для перезарядки. Мои работы: Ночные прицелы + смена ножевого слота AI вертолетов + ПЗРК Soul Cube Работаю только с ТЧ. С ковырянием ЧН/ЗП не связываюсь ни в какой форме. Совсем. Ссылка на комментарий
Malandrinus 615 Опубликовано 28 Июня 2009 Поделиться Опубликовано 28 Июня 2009 Само собой, стволы при спавне заряжены. Я имел ввиду патроны для перезарядки.Мне всегда казалось, что неписи не тратят патроны. Плагины Total Commander для работы с игровыми архивами: Архиваторный плагин (для работы с одиночным архивом): link1 link2 Системный плагин (для распаковки установленной игры): link1 link2 Ссылка на комментарий
Monnoroch 6 Опубликовано 28 Июня 2009 Поделиться Опубликовано 28 Июня 2009 (изменено) malandrinus, Kirag, неписи не тратят патроны - им достаточно 1 пачки. (можно и в стволе). Люди,может кто поможет - я ковыряюсь в оффлайн алайф,на эту тему есть несколько модов - так вот,надо совмещать...(довольно сложно и запутано) а у меня чтото не очень получается одна вещь6 НПС должны шмонать тайники в оффлайне,а не шмонают,гады. Вот скрипт оффлай алайф,не подскажете,кде я скривил: http://webfile.ru/3742675 ? З.Ы. проблема точно не в других скриптах. Изменено 28 Июня 2009 пользователем Monnoroch Ссылка на комментарий
RvP 1 Опубликовано 28 Июня 2009 Поделиться Опубликовано 28 Июня 2009 malandrinus, им надо обойму плюс 1 патрон,тогда они у них бесконечные Vita sine libertate, nihil Vita sine litteris - mors est Ссылка на комментарий
andrewrap 1 Опубликовано 29 Июня 2009 Поделиться Опубликовано 29 Июня 2009 Здраствуйте сталкеры! Подскажите пожалуйста как создать нового персонажа и заспавнить его на Кордон(к примеру) Разработка Andrew's Pack Mod V0.5.. Ссылка на комментарий
Vano_Santuri 33 Опубликовано 29 Июня 2009 Поделиться Опубликовано 29 Июня 2009 (изменено) andrewrap, Тебе Сюда Изменено 29 Июня 2009 пользователем Vano_Santuri Что-то кончается, что-то начинается... Ссылка на комментарий
IQDDD 5 Опубликовано 29 Июня 2009 Поделиться Опубликовано 29 Июня 2009 (изменено) Monnoroch, не скажу, что достаточно пачки. Я уже давно, когда учился создавать неписей, писал им только ствол. Патроны спавнились вместе со стволом. После того, как непись выстреливает обойму получаем: "Всё, всё, я без волыны", "Мужик, не стреляй!" Министр, в ЧН можно писать данные в файл. В ТЧ только пакетом. RvP, как вариант, создать источник света (по-моему, через all.spawn это можно сделать) и перемещать его (изменять координаты) при апдейте за неписью или другим клиентским объектом. Вот только не знаю, будет ли работать. Изменено 29 Июня 2009 пользователем IQDDD Ссылка на комментарий
Kostya V 31 Опубликовано 29 Июня 2009 Поделиться Опубликовано 29 Июня 2009 (изменено) По поводу патронов. В файле character_desk_название уровня.xml в профиле нового непися прописываем так: <supplies> [spawn] \n wpn_groza \n ammo_9x39_ap \n И патроны будут бесконечны. Искал-искал... нашёл только \gamedata\config\gameplay\character_desc_....xml Конечно xml, опечатка произошла просто. Изменено 29 Июня 2009 пользователем Kostya V Кто весел - тот смеется, кто хочет - тот добьется, кто ищет - тот всегда найдет! Ссылка на комментарий
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти