Перейти к контенту

Таблица лидеров

  1. SergeT

     SergeT

     НС


    • Баллы

      16

    • Число публикаций

      10 451


  2. Никсон

    Никсон

    Проверенные


    • Баллы

      11

    • Число публикаций

      221


  3. Zander_driver

    Zander_driver

    Жители


    • Баллы

      4

    • Число публикаций

      5 953


  4. Ded Vladimir

    Ded Vladimir

    Опытные


    • Баллы

      4

    • Число публикаций

      292


Популярные публикации

Отображает публикации с лучшим балансом оценок с 04.03.2023 во всех приложениях

  1. Рукастые мастера никуда не делись... Нужен актуальный сейв в Баре. Вытащим Осведомителя с того света... Можно сейв в личку.
    4 балла
  2. Не мучиться для подобных задач костылями на базе оригинального игрового движка и/или работающих из-под него Луа-скриптов. Они НЕ подходят для подобных задач. Я для таких и сходных задач, использовал решение путем: 0) Берем все файлы конфигов, скриптов, (а в моем случае и код движка), и закидываем в базу данных. 1) Далее путем нехитрой оболочки API на языке php, 2) И столь же нехитрой обвязки скриптами javaScript 4) Получаем в web-интерфейсе на локалке или на своем хостинге, в пару кликов выше-упомянутую или любую другую подобную информацию, по конфигам, скриптам и движку своего мода. Плюсы - как уже говорилось куча всего в духе выше-упомянутого но не только, доступна в пару-тройку кликов. В принципе вам доступна любая мыслимая аналитика ваших скриптов и конфигов (и движка) по щелчку пальца. Кроме того, если использовать свой сервер, то доступна она не только с вашего модостроительного ПК, но и с планшета/смартфона. Минусы - Для редактирования под свои нужды, надо понимать SQL, php, javaScript. А вовсе никакой не Луа. И я так понимаю, что за такие минусы здесь меня сейчас тухлыми помидорами наверное закидают, да? Или нет? ЗЫ. Мораль сей басни - для некоторых вещей и некоторых задач, разумнее оторваться взглядом от сталкера и осмотреться по другим технологиям. Авось найдется что-то намного более подходящее для того что вы хотите. P.P.S. Если тут кто-нибудь проявит позитивный интерес к такому инструменту. Готов выложить все исходники... Если хоть кому-то оно надо.
    4 балла
  3. @Pawell от галереи, где вход в Варлаб - надо двигаться вглубь Мёртвого леса придерживаясь стены обрыва по правую руку. Типа как искали труп контролёра для Филина, только немного дальше. Конечно, существует вероятность, что этот труп не заспавнился, либо заспавнился в плохой аномалии, которая его порвала. Если таким образом не найдется труп разведчика, сейв в Мёртвом лесу сюда. Думаю, можно будет нарисовать тот труп по новой.
    3 балла
  4. Доброго здоровья камрады!
    3 балла
  5. Разработчик: @imcrazyhoudini Тип: Глобальный Дискорд: тык Платформа: Clear Sky Дата релиза: 2024 Ну что ж, так как я обещал, что на 50 подписчиков на сервере в дискорде я поделюсь кое-чем интересным, значит, пришло время приоткрыть занавесу и показать то, что я разрабатываю практически полгода.
    2 балла
  6. @Pawell Ботана с ПДА откопал. Пардон, налетели человек пять кровососов - испить свежей крови. Потому потратил немного патронов. Трупы кровососов валяются вокруг, клювы у них не срезал. Сейв https://www.dropbox.com/s/hnmb5ct93ei35m9/Радар ботана с ПДА откопали.sav?dl=0 P.S. Из трупа ничего не брал.
    2 балла
  7. Вернуть Осведомителя с того света не проблема. А вот понять, с какого перепуга этот квестовый персонаж куда-то пропадает - вот тут нужны золотые руки скриптёров. Вероятно он ухитряется встрять в какие-то разборки и погибает. Например, когда наёмники Горба лезут в Бар. Таких квестовых персонажей лучше делать бессмертными в оллспавне. Это всего лишь прописать в секции Осведомителя section_name = stalker_personal В настоящее же время он самый обычный сталкер section_name = stalker Либо логику Осведомителя сделать индивидуальной и добавить туда игнор боёвки. Впрочем, это уже область работы скриптёров.
    2 балла
  8. Две паллеты вдоль. И три паллеты в высоту держат и побольше килограммов. Чем тебе не кровать? А чтобы спать помягче было, поверх паллет картона упаковочного в несколько слоев. И позвоночник тебе "спасибо" скажет. На заборе тоже пишут. А за ним дрова лежат.
    2 балла
  9. @SHAH ну на Транссмутатор как бы пофиг. Но проблема, что Осведомитель нужен по ключевым моментам для прохождения основного сюжета.
    2 балла
  10. И ему применение найдётся. У меня за компом под рукой лежит 200-граммовый, я им спину чешу в труднодоступных участках.
    2 балла
  11. Нужна (убрать нельзя, только значёк спрятать с панели быстрого доступа)! А вот другая лабуда GeForce Experience строго по желанию, я вот ни когда её не ставлю. Обновлять дрова раз в пол года, а то и реже 1 раз в год. Идёт в комплекте с дровами!
    2 балла
  12. @ranger356 В Саркофаге таки лежит "бумажка". Но опять же. Бумажка - это чем попу подтирают... А в Саркофаге недалеко от Монолита лежит ЗАПИСКА Стрелка. Которую он специально оставил для будущих вероятных сталкеров, которым удастся добраться до Монолита. Для того, чтобы записка Стрелка лежала на месте - про неё должен рассказать Болотный Доктор в ДК Припяти... И при этом появляется соответствующее задание в ПДА. Нет задания - нет записки Стрелка.
    2 балла
  13. Новости от васянов «Беларуси» Здравствуйте, товарищи игроки. Продолжаем повествовать о «Беларуси». Связь между игроками будет устраивать Radmin VPN (бесплатная программа для создания виртуальной локальной сети) или аналогичная программа на ваш вкус и выбор, где один человек создаёт общую сеть, другой человек подключается — вместе играют. В нашем случае: сначала двое запускают Radmin, затем один игрок запускает лаунчер, создаёт сервер — тыкает на соответствующую кнопку, затем тычет на «Играть», второй игрок кликает на кнопку «Играть» — подключается к первому. Всё, игрушка завелась. Обычная локальная сеть. Можно ли будет играть без интернета, если есть локальная сеть — да, если вы захотите играть именно так, то сможете это сделать. Как видите не будет никаких регистраций через Discord, анкет, собеседований и прочего бреда РП-модификаций. Мы стараемся максимально упростить запуск модификации до: ткнул на ярлык — играешь. Если от информации уже повесили нос и опустили хвост, махнули рукой на модификацию из-за показавшейся сложности запуска, то не торопитесь. На релизе мы всё обязательно подробно расскажем и покажем, если у вас вдруг возникнут сложности: сделаем видео, сделаем картинки с пошаговыми действиями, чтоб уж наверняка. Порой одиночная модификация не может похвастаться стабильностью, а тут сразу две мордашки играют. У нас работает своя система сохранений, которая автоматически сохраняет прогресс игроков без их участия. То есть, не будет никаких отдельных кнопок. Здесь вам никто не позволит жульничать с помощью F5-F9. Если вы ввязались в бой и проиграли, значит вы проиграли. Всё честно. Внезапный вылет (если он будет), конечно, расстроит, но не испортит всё остальное. Если происходит вылет, то всё ваше снаряжение, сохраненное до определенного момента (какого — узнаете потом), не будет утеряно. Если, к примеру, вы сначала умерли, а только потом происходит вылет, то, к примеру, найденное оружие пропадёт так как умерли вы честно до вылета. Может случится так, что вам понравилось играть в модификацию, а другу — нет. Если захотите продолжить играть с другим человеком, то сможете спокойно перенести прогресс и продолжить играть. Всё, что принадлежало вашему товарищу, который не захотел играть, станет принадлежать новому напарнику. Нюансы подобной процедуры оставим до релиза, но вот вам сам факт того, что это возможно. На данный момент продолжается работа над заданиями и разного рода отдельные тесты игрового процесса. Напоминаем: когда начнется полноценное тестирование — оповестим, сколько оно продлится — будем решать по ходу тестирования. От этого тестирования и будет зависеть конкретная дата релиза. На сегодня ничего не меняется и мы нацелены на релиз в 2023 году. Предоставляем скриншот нашего лаунчера и GIF-изображение (смотреть здесь) с полей разработки. На этом всё. До следующего новостного поста, товарищи сталкеры.
    2 балла
  14. S.T.A.L.K.E.R.: Беларусь Тип модификации: Кооператив для двух игроков Платформа: X-Ray Open Multiplayer (X-RAY OMP) Дата выхода: Нацелены на 2023 год Кооперативная модификация для двух игроков, предлагающая работу на благо человеческого прогресса в роли узаконенных сталкеров: трудиться на белорусскую науку плечом к плечу с товарищем на известных локациях.
    1 балл
  15. @Pawell ты там все проверь как следует. Серега, поди, забрал все с кровососов и со жмура - да и вышел с хабаром из сейва.
    1 балл
  16. @mole venomous Не всегда и спавн происходит. В техподдержке было полно сейвов, где вообще отсутствует тайник (рюкзак). Особенно часто было с тайниками Кости. Там спавн немного сложнее обычного. По той причине, что спавн тайника Кости происходит рандомно в 3-4 различных местах локации. Т.е. времени на обработку такого скрипта тратится больше. Скорее всего мощный комп прожуёт такие задержки и всё будет нормально. А бывает и недовложение в тайник при его спавне. На прошлой неделе я лечил проблему - в тайник Стрелка в Саркофаге не заспавнился телепортатор его имени. А этот спавн происходит при старте НИ... P.S. По этой причине ДО запуска НИ в настройках игры отключаю автосохранение и категорически не пользуюсь квик-сейвами.
    1 балл
  17. @vdv5549 Естественно, ведь спавн этого трупа происходит в результате диалога с Сахаровым, когда он выдаёт это задание. А почему не спавнится иногда? Да надо сказать "большое спасибо" автосохранению (либо квик сейву). На каких-то компах тупо не успевает отработать функция спавна этого трупа.
    1 балл
  18. Тоже мне, бином Ньютона. Конечно, из более плотных пород. Вот первая попавшаяся таблица плотностей разной древесины: Кстати, береза, если верить этому, тоже очень плотное дерево, почти как бук или ясень. Мы однажды получили пробную детальку для наших упаковочных ящиков от одного ИП, с которым собирались работать. Он занимался элитными лестницами. И планки у этой детальки были сделаны из ясеня). Упаковщик не мог загнать в планку саморез. Бедный был шуруповерт. При попытке закрутить пошел дым. Вот тебе и ясень...
    1 балл
  19. @otani-san у Шустрого точно есть заказной Вал.
    1 балл
  20. @Ded Vladimir ну... это в моем понимании стандартный. Я в жизни немного слесарил. Так по мелочи. Для саморазвития. С 2000-го по 2003-ий работал слесарем на станции по ремонту Бычков)). Гарантия, ТО, ТР, все дела))...
    1 балл
  21. Доставили. В деле попробую позже, пока на ощупь кажись метал среднего качества, плоски-млоски, отвертки под нагрузкой не гнутся. Чумадан вроде крепкий, а молоток действительно оказался маленьким.
    1 балл
  22. За вредительство "раньше больше давали".
    1 балл
  23. Такие чтоль... или вот Эти наборы даже дешевле. Но я хочу именно набор с плоскогубцами, отвертками, зажимом и т.д. А, куча головок мне ни к чему, и думаю что средняя трещетка вообще лишнее. Доставка моего уже сегодня, вот жду. Но, все равно спс за совет!
    1 балл
  24. TT-Z10 лежит в разбиваемом ящике на Затоне, на сухогрузе "Шевченко" на верхних палубах, либо же финальная награда Серого в ТД.
    1 балл
  25. Очень жаль, что Петрович ушел... Теперь у него совета не спросишь... А столько раз бескорыстно помогал. И советами, и делом. Светлая память!
    1 балл
  26. Поразить цель - это одно, а "пострелять" - это другое. Чтобы поразить цель - надо целиться. Милости просим:) https://www.amk-team.ru/forum/topic/14545-u-kostra/
    1 балл
  27. Если снимать на р1, то очистить альфаканал лайтмапы террейна; на р2 и выше, то сперва выключить солнце: r2_sun off. Можно поиграть значениями r2_sun_lumscale_amb / _hemi, чтобы посветлее было или обработать в фш (HDR Toning).
    1 балл
  28. Спи спокойно. Пусть земля тебе будет пухом.
    1 балл
  29. Сам спросил - сам отвечаю. Может пригодится кому. Рубиновой батарейкой заряжать намного быстрее чем остальными (около часа), и хватает её на 4.5 батареи, а требования к варке у неё минимальные. На мой взгляд вполне имеет смысл. Плазменной гусеницы хватает ровно на 1 заряд, зарядка ей ещё быстрее, варить её ещё проще, но нужны более редкие части мутантов.
    1 балл
  30. Работу новую работал. Надо было Йожа себя показать, чё умею, чаму могу обучаться... и т.д. и т.п. ЗЫ Ща с работы приехал. Завтра выходной. В воскресенье снова на работу... Короче, графика пока нету. Вернее, он есть, но выходные у Йожа пока не нормированы. Понял, нет? Я бы себе такой набор, даже в машину, не купил. Молоток там 300 грамм. Им только... комаров прихлопывать. Биты, шестигранники и звездочки одеваются на 1/4 трещотку только через переходник. Что не есть айс, там на переходнике шарик стоит, который биты стопорит... и ежели он потеряется (а он обязательно потеряется!), то биты держаться в переходнике не будут. Выпадать из переходника - таки да, станут регулярно. В нормальном наборе каждая бита жестко закреплена в своей головке 1/4. Они не теряются. P.S. Фигня набор. Его не покупай. UPD Цены на Force за последний год неоправданно выросли. Рекомендую обратить внимание на другого китайского производителя инструментов. Arnezi. В частности, на этот набор. Самые ходовые размеры головок, длинных головок, рожковых и накидных ключей, шестигранников, торксов и всевозможных бит, запаянных в свои головки, а также свечные головки обоих размеров, в наборе уже есть. Останется докупить только молоток по своей руке, плоскогубцы, бокорезы, щуп-индикатор напряжения, и вуаля - этого набора тебе хватит. И не на одну машину. Для не требующего сложности ремонта. А с более серьезными проблемами тебе так и так придется ехать на СТО.
    1 балл
  31. Уже много раз на страницах этого форума говорилось, что разработчик делает этот мод для СЕБЯ и только потом делится им с игроками. И личное дело каждого принимать ЭТУ Зону или нет, играть в этот мод или нет. Не надо потом жаловаться, что это не так или это не эдак. А косяки и баги - это субъективное мнение, многие из них не являются токовыми. А если какие-то проблемы и бывают, то разработчик всегда своевременно помогает и решает их. Если у игроков есть дельные советы в интересах мода, они также не остаются без внимания и бывают реализованы.
    1 балл
  32. Поздорову, бродяги! @дрыка , Если есть желание, а главное ПОНИМАНИЕ, что такое бета, и какие в ней бывают накладки, то уэлкам! Хотя, честно сказать, особых проблем пока не наблюдается. Уже сейчас можно вполне наслаждаться игрой, которой нет аналогов. Давай присоединяйся - будем рады! Напиши в личку свой номер для Вацап - в коем у нас создана группа мода. Что требуется? Играть, бродить, совершать неожиданные порой вещи - чтобы выявить недостатки кода, геймплея, развития событий. Требуется составлять своё обоснованное мнение о различных имеющихся-вводимых фишках игры, быть на связи и сообща творить. Текущая версия UZI в данный момент 11.4.2 В 2022 году я выпустил 98 патчей и фиксов, потихоньку развив игру с версии 2.0 (где впервые для УЗИ применил движок ОГСР) до версии 5.12.8 В текущем 2023 году я пока выпустил 63 патча и фикса, версия игры вынужденно выросла с 5.12.8 до 11.7.2 Я активно занимаюсь разработкой, шлифовкой и отладкой игры с 2021 года - сразу как только вернулся к Сталкеру от разработки своего мода для DayZ. Ворон545 - мой основной компаньон и тестировщик все эти годы. Также на нём уже лежит целый круг собственных направлений разработки игры. Мы с радостью поделимся фронтом - если увидим понимающего смысл игры S.T.A.L.K.E.R. человека. В данный момент в игре реализована уйма моих личных, и придуманных сообща с Вороном, фишек. Также мы всегда ОБЯЗАТЕЛЬНО учитываем мнение и результаты тестирования всех заинтересованных. По-хорошему, её можно уже скоро выкладывать - наверное когда круг замкнётся, и будет вновь версия 12. К 12 версии у меня уже есть заготовки, но надо полностью пройти 11-ю со всех направлений - чтобы отловить возможные баги ДО патча 12, и не затягивать процесс. Мы не торопимся - нам некуда бежать, и хотим представить вниманию сообщества полностью играбельный продукт без явных багов и недоработок.
    1 балл
  33. Новостной пост от васянов «Беларуси» Здравствуйте, граждане игроки. Подготовили для вас информационный пост, разъясняющий некоторые материалы из темы, также являющийся лаконичным пересказом уже вышедших новостей, которые вы могли пропустить, если ранее не интересовались модификацией. В новогоднем видео за 29.12.2022 мы показали игрокам следующее: — работу комплекта для добычи артефактов «Сербай» со стороны игрока вытягивающего артефакт из аномалии; — показали стрельбу по-сомалийски из-за угла и над головой от 1-го лица и как выглядят те же анимации от лица второго игрока; — Кастомизация оружия будет влиять на отдачу, эргономику, кучность стрельбы и другие тактико-технические характеристики в реальном времени. В качестве яркого примера показали влияние кастомизации на отдаче: АКМ под крупный калибр без приклада прыгает в руке, тогда как АКМ с прикладом и обвесом выглядит красиво и послушно ведёт себя в руках игрока; — продемонстрировали магазинное питание: возможность зарядить магазин любыми патронами в разном порядке. Сам процесс зарядки и связь с другой механикой пока что не показали; — Предоставили на просмотр экипировку игроков и НПС. У нас бронежилет становится бронежилетом только тогда, когда в него засунешь бронеплиты. Каждая плита имеет свою зону и уровень защиты. Аналогично обстоит дело со шлемами. Даже самые лучшие бронеплиты не защитят вас полностью от летящей свинцовой дуры, способной нанести пару единиц запреградного урона, чей размер зависит от многих факторов, начиная самой пулей и её характеристиками, заканчивая плитой и её состоянием. Что касается состояния, то это не просто цифры. Все повреждения вашей бронеплиты будут визуально отображены на модели. Локации. На релизе предоставим одну игровую локацию — Окрестности «Юпитера». Вторая, показанная в трейлере на Showcase, пока что под завесой тайны. Остальные запланированные локации, оружие, снаряжение и прочее будет добавляться патчами. Пока вы играете на одной локации, мы будем работать над другой. Какая на очереди следующая локация узнаете после выполнения всех заданий на «Юпитере». Такой подход позволит избавить вас от долгих ожиданий, нам же получить ваши отзывы, мнения, комментарии по полученному опыту от задуманного нами игрового процесса. Состояние модификации на сегодня. Недавно у нас проходили тесты первой половины игры на локации Окрестности «Юпитера», где мы ходили смотреть на работу заселения мутантской и человеческой формой жизни, также лута. Скриншоты из этих похождений размещены в теме под датой 28.01.2023. Нам осталось сделать вторую половину запланированных заданий, провести полноценное тестирование своими силами при помощи наших друзей. От хода тестирования будет зависеть конкретная дата релиза в этом году: пройдет хорошо — выйдет раньше, пройдет плохо — выйдет позже. И на последок уже упомянутый комплект для добычи артефактов под названием «Сербай», состоящий из двух модулей: первый ловит и вытягивает артефакт из аномалии, второй же захватывает его в ловушку внутри корпуса. То есть, добыть артефакт можно будет только при совместной работе вас и вашего напарника. Одному артефакт никак не добыть. Почему же игрокам нужно именно такое оборудование для добычи аномальных образований вы узнаете уже из самой модификации. Сейчас предлагаем полюбоваться на него и на другие рендеры работ, сделанные нашими ручками и лапками, которые обязательно встретите во время прохождения. Если этих ракурсов мало, то можете на остальные посмотреть в портфолио.
    1 балл
  34. На досуге включил телек и чисто случайно просмотрел фильм "Явление". Коротко о сюжете; города накрывает необъяснимое явление и начинается массовый суицид. Люди начинают бежать из больших городов, но даже в пути и полях их настигает эта напасть. Замысел интересен, сама природа включает самозащиту и начинает истреблять людей. Растения, деревья начинают вырабатывать феромоны которые приводят к таким последствиям. Фильм понравился. "Катастрофа" в необычном исполнении и заставляет задуматся об отношении к земле-матушке. Рекомендую!
    1 балл
  35. Вот теперь можно снова играть Ничего не правил под себя(кроме моделей оружия), не добавлял, всё как задумал автор.
    1 балл
  36. 1 балл
  37. 1 балл
  38. На релизе всё будет понятно. Да, безусловно. Я уже это сделал: сейчас у нас полностью рабочая сюжетная линия ТЧ/РМА, проходимая от начала и до конца. Такой она оставалась до 2020, пока я не написал свой вариант видения сюжета. То, что я сейчас делаю - это как раз отладка сюжета: добавление мелких деталей, переделка и доделка уже существующего материала.
    1 балл
  39. Доброго времени суток. Извиняюсь за редкие апдейты темы на форуме АМК. В данный момент занимаюсь уровнями и их наполнением. Помимо этого, исправил графику на втором рендере. Больше скриншотов вы можете посмотреть под спойлером. Помимо этого, вставляю сюда кое-какие наработки за 2021... На этом пока всё
    1 балл
  40. Всем добрый вечер. Обновил тему. Теперь здесь вся актуальная (на момент 05.08.2021) информация о моде.
    1 балл
  41. @Ded Vladimir, Из моей практики прохождения, полезней делать именные сейвы, как правило, возле своих нычек - положил какой то предмет и забыл куда! Это только белка помнит куда спрятала орех осенью и ведь находит его зимой под снегом, а с нашей памятью... А в этой игре - пробежался по нычкам (сейвам) и вот оно счастье, нашлась пропажа. Удачи.
    1 балл
  42. Тест погоды DX11 Это, конечно, не все скрины. Я отобрал самые (как по мне) значимые
    1 балл
  43. @Murarius огромное Вам спасибо Скрины с локации "Улицы Припяти"
    1 балл
  44. @dPlayer вот здесь ошибочка вышла... Я взял старые "проценты". На самом деле большая часть локаций (23) уже заселена. К сожалению, я не могу отредактировать пост. Так что, просьба не реагировать на эти факты @k01jan а в чём собственно проблема? Можем и переименовать, однако, зачем? Скриншоты с прошедшего бета-теста
    1 балл
  45. Вывод сообщения о малом ХП (рабочая функция) Автор статьи - Akella-96 aka SvD Всем привет, помню на Сталкер - Вики была статья про это, но насколько я знаю, она не рабочая. Сегодня я попробовал разобраться в структуре этой функции, но ни чего не понял. Вскоре я создал рабочую функцию на основе уже существующей - вывод сообщения при большой радиации Итак, начнем :
    1 балл
  46. Вот кое что от Stalk15. Авторы функций не указаны (Для ТЧ). function spawn_x14 () alife():create("Секция",vector():set(-7.32,-34.48,13.18),1542,2799) end Функции типа "Проверка на взятие предмета..." я лично использую в квестах тегами <function_complete>файл.функция</function_complete> function search_weapon_complete1(actor, npc) if db.actor ~= nil then if db.actor:object("ПРЕДМЕТ") then db.actor:give_info_portion("ПОРШЕНЬ") return true end end return false end local t_wpn = {"ПРЕДМЕТ1", "ПРЕДМЕТ1", "ПРЕДМЕТ1"} function search_ALL_weapons_complete() local gg = db.actor if gg then for i=1,#t_wpn do if not gg:object(t_wpn[i]) then return false end end gg:give_info_portion("ПОРШЕНЬ") return true end return false end Основная функция: function Actor_Has_ListItems(sSection,iNum) if not iNum then iNum = 1 end local oActor = db.actor local iCnt = 0 if oActor and sSection then oActor:iterate_inventory( function (dummy, oItem) if oItem:section() == sSection then iCnt = iCnt + 1 if iCnt >= iNum then return true --/> актор имеет N предметов end end end ,nil) end return iCnt >= iNum --/> имеет ли актор N предметов end Вызов: function search_2_bumazhki_sidr_complete() return this.Actor_Has_ListItems("medkit", 10) end function search_weapon_complete(actor, npc) if db.actor ~= nil then return db.actor:object("wpn_vintorez")~=nil end return false end function have_docs_from_x14(first_speaker, second_speaker) return first_speaker:object("ПРЕДМЕТ") ~= nil end function give_sidor_docs(first_speaker, second_speaker) dialogs.relocate_item_section(second_speaker, "ПРЕДМЕТ", "out") end function give_nagrada_x14 (trader, actor) dialogs.relocate_item_section(trader, "ПРЕДМЕТ", "in") end function have_n_m1() return ИМЯ_СКРИПТА.have_n_m("bread",2,"kolbasa",2,"conserva") end function have_n_m(section,number) local actor = db.actor if actor then local cnt = 0 actor:iterate_inventory( function (dummy, item) if item:section() == section then cnt = cnt + 1 end end ,nil) return cnt >= number end return false end function punch() -- set_inactivate_input_time(30) local snd_obj = xr_sound.get_safe_sound_object([[affects\hit_fist]]) snd_obj:play_no_feedback(db.actor, sound_object.s2d, 0, vector(), 1.0) level.add_cam_effector("camera_effects\fusker.anm", 999, false, "") end Отнимаем: function reputation_down_10(stalker, player) db.actor:change_character_reputation(db.actor:character_reputation() - 10) end Плюсуем: function reputation_up_10(stalker, player) db.actor:change_character_reputation(db.actor:character_reputation() + 10) end function malo_hp() db.actor.health = -0.3 --Минус 30% дезек end function Delete_ak74u_from_Actor() local oItem = db.actor:object("medkit") --/ определяем предмет у ГГ if oItem then --/ у ГГ есть предмет db.actor:drop_item(oItem) --/ выбрасываем предмет (опционально) alife():release(alife():object(oItem:id()), true) --/ удаляем из игры end end function dell() for a = 1,65534 do local se_obj = alife():object(a) if se_obj and se_obj:section_name() == "СЕКЦИЯ ПРЕДМЕТА" then alife():release(se_obj, true) end end end function Delete_2_bumazhki_sidora_from_Actor() local cnt = db.actor:object_count() local ch=0 for i=0, cnt-1 do local item = db.actor:object(i) if item:section() == "medkit" then local sobj = alife():object(item:id()) if sobj then alife():release(sobj,true) ch = ch+1 if ch == 7 then --7 - кол-во удаляемых аптечек break end end end end end function teleportate_to_() local a = vector() a.x = -241.71509460448 a.y = -26.742816052856 a.z = -304.54711914063 db.actor:set_actor_position(a) end function ReleaseRandomItem(num) local actor = db.actor local cnt = actor:object_count() if cnt<num then return end for i=1,num do local item = actor:object(math.random(0, cnt-1)) local sobj = alife():object(item:id()) if sobj then alife():release(sobj,true) cnt = actor:object_count() end end end вызывать так: ReleaseRandomItem(5) -- 5 - число удаляемых предметов Вызов через диалог: function RRI() имя_файла.ReleaseRandomItem(5) end Пример: <action>имя_файла.RRI</action> function join_monolith (actor, npc) -- ставить на дельта апдейт printf ("ACTOR NOW IN имя группировки COMMUNITY") if db.actor and level_id.имя уровня then -- пример l01_escape и т.п db.actor:set_character_community ("имя группировки", 0, 0) end end function habar_davay(actor, npc) treasure_manager.get_treasure_manager():give_treasure("имя тайника") end function test_index() local cnt = db.actor:object_count() for i=0, cnt-1 do local item = db.actor:object(i) local sobj = alife():object(item:id()) if sobj then alife():release(sobj,true) end end end local iTimer function Start_Timer_5_minutes() --/ (пере)запуск таймера (из диалога) iTimer = time_global() + 5*1000 --/ взводим таймер на 5cek end function Timer_N_minutes() --/ вызывается из ':update' сталкер-биндера if iTimer and iTimer < time_global() then --/ проверка текущего значения iTimer = nil --/ выключаем таймер скрипт.функция() --/ выполняем действие end end local iTimer local last function start_timer_minutes_test(seconds) if last~= nil then iTimer = time_global()+last --/ взводим таймер на остаток времени last else iTimer = time_global() + 7*1000 --/ взводим таймер например 7 сек. end end function timer_n_minutes_test() --/ вызывается из ':update' сталкер-биндера if iTimer then last=iTimer-time_global() -- присваиваем переменной остаток времени до конца работы таймера if iTimer < time_global() then iTimer = nil --/ выключаем таймер last=nil СКРИПТ.ФУНКЦИЯ--/ выполняем действие end end end -- выводим значение таймера в обратном отсчете на худ function hud_static() --/ вызывается из ':update' сталкер-биндера local hud = get_hud() local st if iTimer then st = hud:GetCustomStatic("hud_timer") if st==nil then hud:AddCustomStatic("hud_timer", true) st = hud:GetCustomStatic("hud_timer") end if last~=nil then local hours = math.floor(last/3600000) local minutes = math.floor(last/60000 - hours*60) local seconds = math.floor(last/1000 - hours*3600 - minutes*60) local text = string.format("%02d:%02d:%02d",hours,minutes,seconds) -- выводим время в формате 00:00:00 --local text=string.format("%.f",last/1000) st:wnd():SetTextST(text) end else if hud:GetCustomStatic("hud_timer")~=nil then hud:RemoveCustomStatic("hud_timer") end end end Автор:Николай ФеНиКс(ФеНиКс) if bone_index > 0 and who then if who:id() == db.actor:id() then --/ для актора local oActiveItem = db.actor:object("wpn_svd") if oActiveItem then --/ у актера проверяемое оружие local kuda = "" if bone_index == 14 or bone_index == 15 then kuda = "Ранен в глаз" elseif bone_index == 13 then kuda = "Ранен в голову" elseif bone_index == 16 then kuda = "Ранен в челюсть" elseif bone_index == 17 then kuda = "Ранен в шею" elseif bone_index == 9 or bone_index == 10 or bone_index == 11 or bone_index == 18 then kuda = "Ранен в грудь" elseif bone_index >= 1 and bone_index <= 8 then kuda = "Ранен в ногу" elseif bone_index >= 19 and bone_index <= 42 then kuda = "Ранен в руку" end news_manager.send_tip(db.actor, kuda, nil, nil, 2000) end end end Вставлять функцию в мотиватор в функцию hit_callbak. Например, после этого: if self.st.hit then xr_logic.issue_event(self.object, self.st.hit, "hit_callback", obj, amount, local_direction, who, bone_index) end function mochim_five_nps() if has_alife_info("первый_грохнут") and has_alife_info("второй_грохнут") and has_alife_info("третий_грохнут") and has_alife_info("четвертый_грохнут") and has_alife_info("и_пятый_наконец") then return true else return false end end Использование: В теле квеста пишем complete'ы: <infoportion_complete>esc_kvest_secret_merc_kill_poslannick</infoportion_complete> <function_complete>имя_файла.mochim_five_nps</function_complete> После выполнения условий функции mochim_five_nps выдается поршень esc_kvest_secret_merc_kill_poslannick и задание обновляется. local ObjId=0 function pda_killer_spawn() local obj= alife():create("pda_merc_killer_glav",vector():set(-223.700,-7.678,-129.688),17000,281) local text = "Текст метки" level.map_add_object_spot_ser(obj.id, "blue_location", text) --/blue_location - тип метки ObjId=obj.id end Эту метку можно удалить так: function delete_spot() for a=1,65534 do --Перебор айди local obj = alife():object(a) if obj and obj:section_name() == "pda_merc_killer_glav" then --/pda_merc_killer_glav -- Секция предмета или НПС level.map_remove_object_spot(obj.id,"blue_location") break end end end local obj = alife():story_object( 6 ) -- 6 - сид Волка local obj_id = obj.id function add_spot_on_map(obj_id,type,text) if obj_id then if not text then text = "no_text" end level.map_add_object_spot_ser(obj_id, type, text) end end Вызываем: function add_spot_on_map2(obj_id,type,text) имя_файла.add_spot_on_map(obj.id,"green_location","Текст") end Метку можно убрать вот так: local obj = alife():story_object( 6 ) local obj_id = obj.id function remove_spot_from_map(obj_id,type) if obj_id and level.map_has_object_spot(obj_id, type) ~= 0 then level.map_remove_object_spot(obj_id, type) end end эту вызывать: function remove_spot() this.remove_spot_from_map(obj.id,"green_location") end function kvest_search_2_bumazhki_sidr_complete() news_manager.send_tip(db.actor, "%c[255,255,128,128]Автор сообщения\n%c[default]Текст сообщения", 0, "wolf", 17000) end local text = "Здесь текст" function test() news_manager.send_tip(db.actor, text, 0, "trader", 20000) end Спавним рестриктор на координатах Волка с радиусом метра 2.Делаем логику рестриктору: [logic] active = sr_idle [sr_idle] on_actor_inside = %+esc_on_talk% ;Выдача поршня ;Или так(Выбрать одно): on_actor_inside = %=on_talk%" ;Функция Если выбрали поршень, то создаем его: <info_portion id="esc_on_talk"> <action>СКРИПТ.on_talk</action> </info_portion> Вызываем функцию и видим диалог: function on_talk() local npc = level_object_by_sid(006) db.actor:run_talk_dialog(npc) end function immotral() local npc1 = level_object_by_sid(006) --волк local npc2 = level_object_by_sid(092) --проводник local npc3 = level_object_by_sid(032)-- кузнецов local npc4= level_object_by_sid(100) --Серый if npc1 then npc1.health = 1 end if npc2 then npc2.health = 1 end if npc3 then npc3.health = 1 end if npc4 then npc4.health = 1 end end В голову дохнут. function name() local npc = level_object_by_sid(006) npc:set_character_community("имя группировки", 0, 0) end Если разговариваем с самим Волком, то вызываем эту функцию: function name(actor, npc) npc:set_character_community("имя группировки", 0, 0) end function dell_kluk_final() local se_obj = alife():object("esc_wolf") if se_obj then alife():release(se_obj, true) end end function do_something() local item = db.actor:object("antirad") if antirad then db.actor:eat(item) end end Должно быть так: function do_something() local item = db.actor:object("antirad") if item then db.actor:eat(item) end end Надет ли костюм function check_outfit() local outfit = db.actor:item_in_slot(6) if outfit:section() == "exo_outfit" then --/Если в 6 слоте присутствует "exo_outfit" тогда return true --/"exo_outfit" одет else return false --/"exo_outfit" не одет end end Не надет ли костюм function check_outfit() local outfit = db.actor:item_in_slot(6) if outfit:section() == "exo_outfit" then --/Если в 6 слоте присутствует "exo_outfit" тогда return true --/"exo_outfit" не одет else return false --/"exo_outfit" одет end end function hit_nanesti() for a=1,65635,1 do local obj=level.object_by_id(a) if obj and string.find(obj:name(),"ПРЕДМЕТ") then local h = hit (); h.power = 10000; h.direction = vector():set (0, 0, 0); h.impulse = 0; h.draftsman = obj; h.type = hit.explosion; obj:hit (h); end end end function rest() local npc = level_object_by_sid(006) --волк if npc and level.name() == "l01_escape" then return true else return false end end function go_to_marsh_complete() if level_name == "l01escape" then return true else return false end end
    1 балл
  47. В этой статье я не буду писать тупые и неинтересные уроки, которые есть в любом факе по модмейкерству, а буду помещать лишь интересные (на мой взгляд) уроки и небольшие статьи Добавим в файл config\gameplay\encyclopedia_zone.xml новую статью: <!-------------------------------- Activation - Basic -----------------------------> <article id="zone_anomalies_activation_basic" name="zone_anomalies_activation-basic" group="Anomalies"> <texture x="500" y="150" width="100" height="100">ui_icon_photo</texture> <text>enc_zone_anomalies_activation_basic</text> </article> Здесь: article id - внутреннее имя статьи, именно на него ссылаются в файлах игры name - имя статьи, отображаемое в игре, подгружается из строкового массива texture - картинка и её позиция в статье, в данном случае мы использовали обычный белый шум text - текст статьи, отображаемый в игре, подгружается из строкового массива Добавим например в config\gameplay\info_l01escape.xml (инфопорции уровня "Кордон") ссылку на получение статьи - скажем, к трупу у туннеля, при обыске которого выдается информация о аномалиях в туннеле (вы его обнаруживаете, проходя второе спецзадание от Сидоровича). Найдем эти строки и дополним их: Так как в статье у нас есть такое поле: <text>enc_zone_anomalies_activation_basic</text> Да и название тоже не написано прямо, а ссылается на определенную строку, то добавим этот самый text в config\text\rus\string_table_enc_zone.xml, в нашем случае: <string id="enc_zone_anomalies_activation-basic"> <text>Активация - базис</text> </string> <string id="enc_zone_anomalies_activation_basic"> <text>С артефактами связана, помимо всего прочего, ''(ну, и так далее, там большой текст)''...</text> </string> Дополнительно. Чтобы статья добавлялась при получении определенного задания, в ..._task.xml (вместо ... стоит название уровня) нужно прописать конструкцию вида: <article>название_задания_descr</article> <!-- труп у аномалии --> <info_portion id="esc_tutorial_dead_novice"> <article>tutorial_moving_anomaly</article> <article>zone_anomalies_activation_basic</article> </info_portion> Главное - никогда не путайте article id, name и text статьи. Я в данном примере это сделать легко. Лучше называйте их непохожими друг на друга названиями. В файле gamedata\scripts\xr_kamp.script находим: -- играть на гармошке -- if npc:object("harmonica_a") then -- self.npc[npc_id].states["play_harmonica"] = true -- self.npc[npc_id].states["wait_harmonica"] = true -- self.kamp_states["pre_harmonica"] = true -- self.kamp_states["harmonica"] = true -- self.kamp_states["post_harmonica"] = true -- else Раскомментируем эти строки, для этого удалим --. перед строками, исключения строка "-- играть на гармошке" Затем нужно добавить музыку. Например сталкерам, открываем папку gamedata\sounds\characters_voice\human_01\stalker\music и добавляем туда свою музыку. Имя файла должно быть harmonica_* (где *, 1, 2, 3 и т.д.). Формат файла должен быть *.ogg. Таким же образом добавляем музыку остальным группировкам. При заходе на экран главного меня муз. заставка будет выбираться случайно из добавленных вами. 1. В директорию gamedata\sounds\music положить два канальных ogg-файла с нужной музыкой, например: my_music_l.ogg (левый канал) и my_music_r.ogg (правый канал) 2. Открыть файл gamedata\config\ui\ui_mm_main.xml, найти в нем строку: <menu_sound random="0" > и заменить на: <menu_sound random="1" > 3. В этом же файле найти строку: <menu_music>music\wasteland2</menu_music> и ниже нее выставить следующую строку: <menu_music>music\my_music</menu_music> 4. Сохранить файл. 5. Если требуется вставить больше муз. заставок, то в параметре random укажите их количество. !!! Возьмите на заметку !!! в строке <menu_sound random="0" > вместо 0 указывайте не количество композиций, а количество композиций - 1, то есть, если вы добавили скажем еще одну мелодию, к той, что была по дефаулту у вас получится примерно так: <menu_sound random="1" > <menu_music>music\wasteland2</menu_music> <menu_music>music\my_music</menu_music> 1. Кладём ролик в папку gamedata\textures\sleep\. Собственно, в любую папку, лишь бы она была в каталоге textures. Просто в sleep лежат ролики сна в оригинале. имя файла любое, формат ogm, а разрешение ролика вроде можно сделать любое. Я не стал заморачиваться и просто скопировал существующий ролик сна с монолитом. 2. Озвучку ролика кладем по той-же схеме в папку в корневом каталогу gamedata\sounds\. У меня папка называется my_sleep. Имена файлов для левого и правого канала должны выглядеть так my_sleep_sound_l.ogg и my_sleep_sound_r.ogg длина звуков может быть разной и вообще говоря не совпадать с длиной ролика. 3. Правим файл gamedata\config\ui\ui_movies.xml. Добавляем туда что-то в этом роде: <my_dream> <play_each_item>1</play_each_item> <global_wnd x="0" y="0" width="1024" height="768"> <auto_static x="0" y="0" width="1024" height="768" stretch="1"> <window_name>back</window_name> <texture>intro\intro_back</texture> </auto_static> </global_wnd> <item type="video"> <sound>my_sleep\my_sleep_sound</sound> <pause_state>on</pause_state> <function_on_stop>sleep_manager.stopper</function_on_stop> <video_wnd x="0" y="0" width="1024" height="768" stretch="1"> <texture x="0" y="1" width="512" height="286">sleep\dream_sarcofag</texture> </video_wnd> </item> </my_dream> Название тега my_dream - это моё имя для сна. Если я верно всё понимаю, то вся эта фигня описывает окно, в котором играется видеоролик. 4. Теперь собственно добавляем сон. Правим файл gamedata\config\misc\dream.ltx. Там есть секции с именами [regular_dream#] где # - это номера снов. Сейчас там есть regular_dream1, regular_dream2 и regular_dream3. Добавляем секцию [regular_dream4] dream = my_dream probability = 40 type = happy параметры: dream - это ранее заданное имя сна (в нашем случае my_dream). probability - ясное дело, что нужно для вычисления вероятности появления именно этого сна. Но я пока не понял по какому алгоритму она вычисляется на основе этого параметра. Я просто сделал число побольше, дабы протестировать побыстрее. type - может быть nightmare, normal и happy. По названию вроде понятно, что это. Но на что влияет пока не ясно. 5. Ну и завершающий этап. В этом же файле в секцию [dreams] к параметру regular добавляем к списку новый сон regular_dream4. Вроде такого: regular = regular_dream1, regular_dream2, regular_dream3, regular_dream4 Тестируем... Опа! Новый сон. Поскольку я звуки взял случайно, то при этом в левом ухе у меня орет кот, а в правом играет мрачный эмбиент =) Ну и естественно работать будет только при установленном АМК. Что там именно сделано, для того чтобы сон вообще был, я пока не разбирался.
    1 балл
Эта таблица лидеров составлена Москва/GMT+03:00
×
×
  • Создать...