Этот сайт использует файлы cookies и сервисы сбора технических данных посетителей (данные об IP-адресе, местоположении и др.) для обеспечения работоспособности и улучшения качества обслуживания. Продолжая использовать наш сайт, вы автоматически соглашаетесь с использованием данных технологий.
Описание: Это скорее API, а не сам мод. Он предназначен для использования другими разработчиками Sims 4 в качестве основы для своих кодовых баз. Если у вас уже установлен мод, который требует использования этой библиотеки, то вы можете установить ее. В противном случае, установка не является обязательной.
Русский перевод от Helvetica: Скачать (3.17) Русский перевод от Origamika: Скачать (10/28/2020)
- Vanilla Tuning identifiers for: - Buffs - Interactions - Relationship Bits - Relationship Tracks - Short-Term Relationship Bits - Motives - Many Others! - Logging - Log messages to a file - Log custom exceptions - Log the current stack trace, find out who or what is calling your functions! - Useful when debugging code! - Enable / Disable logs via a command in-game. `s4clib.enable_log < log_name >` - Exception Handling - Log to a file exceptions that are thrown - Catch exceptions within your functions via a decorator - Custom Dialogs - Ok / Cancel Dialog - Choose Object Dialog
- Choose Sim Dialog - Custom Icons: - Right Arrow - Navigate Into Arrow - Question Mark - Six Sided Dice - Checked Box - Unchecked Box - Notifications - Sim Icons - Warnings - Errors - Info - Story Dialogs (Add custom buttons, add sim icons) - Sim Picker - Prompt the player to choose a sim or a number of sims from a dialog. - Custom Notifications - Basic Notification - Display a notification with a title and description of varying urgency. - Interactions - Registration - Register Interactions to: - Terrain - Ocean - Objects (Sims, Furniture, etc.) - Custom Interactions - Create interactions the run Python code in their backends - Interaction Types: - CommonInteraction - Inherit from this to hook into an interaction and add python functionality to its functions - Immediate Super Interaction - An interaction that doesn't require a target to perform. It is started immediately and without an animation. - Super Interaction - Like the Immediate Super interaction but these require a target to perform. (sim_chat is one example of a Super Interaction) - Mixer Interaction - Use this for custom Mixer interactions. - Social Mixer Interaction - Use this for custom Social Mixer interactions. - Terrain Interaction - Use for interactions that appear when clicking on the ground. - Perform logical checks to determine whether or not to show an interaction - Or display an interaction as disabled, with a displayed tooltip that shows when the player hovers the interaction. - Run Python code when an interaction is started, cancelled, or has finished. - Custom Interaction Tooltips - Display tooltips on interactions that display on hover. - Locate CommonInteraction for an example of how to utilize custom tooltips in your own interactions. - Event Handling - Create, Dispatch, and Handle Dynamic Events - Handle events without needing a reference to the code that sends the event. - Decouple that code! - Interval Events - Run functions on millisecond intervals. - Run functions once, after an amount of time has passed. - Interaction events (Queued, Started, Ended, Interaction Outcomes) - Sim - Spawn - Occurs when a Sim spawns or is born into the world. - Initialization - Occurs when a Sim is initialized (before being spawned). - Occult Swapping - Occurs when a Sim changes to a different Occult (i.e. Human to Mermaid or Human to Vampire or vice verse) - Zone Events - Zone Update - Occurs every time the zone updates. (Basically every time the game ticks) - Zone Teardown - Occurs every time the zone is torn down. Occurs before a loading screen, but only after a Zone had been previously loaded. (See Zone Early/Late Load) - Zone Save - Occurs every time a zone is saved. This occurs before the game saves for the player. Be careful with this one! - Zone Early Load - Occurs when a zone is loaded, but before the players household has loaded. - Zone Late Load - Occurs when a zone is loaded, but after the players household has loaded. - Utilities - Sim utilities - Get the Active Sim - Get Sim Info, Sim Instance, and Sim Ids - Get All Sims nearby and filter which types of sims to get (Age, Species, Occult, Traits, Buffs, etc.) - Occults - Check Occult Types of sims. - Ages - Get/Set/Check Ages of sims. - Genders - Get/Set/Check Genders of sims. - Species - Get/Set/Check Species of sims. - Buffs - Add/Remove/Check Buffs of sims. - Traits - Add/Remove/Check Traits of sims. - Sim State - Check various states of sims. (Wearing towel, Dying, etc.)
- Sim Spawn/Despawn - Spawn, Despawn, and Delete Sims. - CAS - Outfit - Set/Get/Update/Check the current outfit of sims. - CAS Utils - Attach/Detach/Check cas parts of a sims outfit. You can put any cas part in any BodyType via these. - Components - Get various components of objects (Statistics, Traits, Buffs, etc.) - Resources - Load Resources or Tuning files by their identifiers. (Buffs, Traits, Statistics, Snippets, etc.) - Icons - Load Icons provided by S4CL or your own Icons. - Types - Determine the type of objects without needing to use isinstance or having a reference to the type itself in your own code. - Time - Manage time. Pause the game, get/change the current game speed, get/set the time of day, etc. - Collections - Determine if an object is a collection, combine collections, flatten collections, etc. - Injection - Inject custom functionality into functions - IO (Input/Output) - Write string data to a file or load string data from a file. - Stack Trace - Retrieve the complete and full stack trace. - Localization utilities - Retrieve LocalizedStrings from StringTables of .package files. - Format tokens into LocalizedStrings - Display text in specific colors (Colors can be added by request) - Blue - Green - Red - Create Localized Tooltips - Use to display tooltips on interactions (while also displaying the interaction) - These can be useful to give more information to the player about why something cannot be performed, instead of simply hiding that something. - Weather - Statistics - Motives
- Many more! - Testing Framework - Write tests to test your python code and run the tests via a command within the game. - The results will be logged to the 'Documents/The Sims 4/mod_logs' folder - A single function can handle multiple tests utilizing the same code with different arguments. - Run tests via the command: `s4clib.run_tests <class_names_separated_by_a_space>` - Class Names are the names of the classes decorated with 'test_class' - If no class names are provided, all of the tests will run.
Installation: - Download the latest zip archive above. - Unpack the archive using your favorite archiving tool. - Drag the files and folders to your The Sims 4/Mods directory. So `mod_data` will be at `The Sims 4/Mods/mod_data` and the other files will be at `The Sims 4/Mods`. Overwrite All if asked! - Keep in mind that the ts4script file must be either a top level (directly in the Mods / < ts4script file > folder) or one deep folder (Mods / Blah / < ts4script file>). Even deeper, and nothing will come of it.
Не рабочая ссылка? Или знаете о выходе новой версии? Сообщите нам в комментариях ниже. Спасибо! Если вы хотите стать автором публикации или опубликовать свой перевод, пожалуйста, воспользуйтесь формой обратной связи.
Не получается скачать файл?
Если у вас возникают проблемы со скачиванием с Modsfire, пожалуйста, оставьте комментарий под модом. Я проверю ссылку и по возможности перезалью файл на другое зеркало. Спасибо за понимание!
Да и получив "опыт", скажем, в автономии, то какой тогда смысл в нем, если "дубиной" игрок это всё перечеркивает (а ведь так примерно и будет)? Многие вообще не парятся и глушат "свободу воли" и получают в игре те самые эмоциональные качели, а потом ПКМ накидывают им уровни романтики и дружбы, тк, условно, эта парочка вообще не пара и игра стремиться всё это увести в минус.
Главное понять, для кого это мод. Если тебе не нужна "воля" у сима - то моды на автономность не нужны вовсе))
Мод не предназначен для борьбы с игроком или ограничивать его в чём либо. Он нужен лишь для "имитации жизни" инструмент для усиления автономии, а не для её подавления.
Если игрок отключит свободу у симов, мод ему не помешает, ведь ручные команды всегда в приоритете.
Если же оставить симов самих на себя и наблюдать, то тут мод и раскроется в полной мере.
Тут как бы игра такая, можно пытаться реализовывать потребности симов, а можно забить на это болт. Они сами справятся без участия игрока.
И вот игрок почитерит, и накидает отношений тем кто ну вот совсем не пара, у них будут накоплены счётчики вражды, стресс от общения друг с другом. И как только они будут предоставлены самим себе, они с высокой вероятностью начнут ссориться и разрушать то, что насильно создали. Это создаёт интересный конфликт между волей игрока и характером персонажа.
Иначе говоря, мы предлагаем вам глубокий опыт, если вы в нём заинтересованы.
Какой в этом смысл?
Смысл ровно в том, для чего люди смотрят сериалы или читают книги: наблюдать за развитием характеров и историй, которые не полностью подконтрольны зрителю.
Для тех, кто оставляет свободу воли включённой, мод превращает случайные действия в психологически обоснованные. Вы увидите, как застенчивый сим наконец-то решается подойти к объекту воздыхания после долгих колебаний - и это будет результатом его внутренних изменений. Для тех, кто управляет вручную, мод добавляет "вес" вашим решениям. Вы знаете, что если заставите симов, которые ненавидят друг друга, пожениться, вам придётся постоянно "тушить пожары" их автономных ссор. Это добавляет глубины даже в ручное управление. Дубина игрока всегда перевесит, этого не отнять, да и никто не собирался как бы.
Я хотел чтобы симы помнили, о том что с ними происходит и действовали исходя из прошлого опыта.
Вообще по поводу преодолений страхов, это тема довольно интересна.
Как это работает сейчас:
При столкновении с объектом страха, например, готовка при боязни огня, сим получает стресс и бафф страха. Это сделано для того, чтобы избегание было естественной реакцией, а преодоление требовало усилий. Однако ручное управление всегда позволяет заставить сима действовать вопреки страху, но с указанными негативными последствиями.
Но можно это дополнить и доработать.
Каждое успешное или просто совершённое взаимодействие с объектом страха постепенно снижает его интенсивность.
После нескольких "смелых" поступков страх может ослабнуть или исчезнуть вовсе, например удалится соответствующий трейт или желание.
Важно, чтобы эффект зависел от контекста, если сим идёт на это в спокойном состоянии при низком стрессе, шанс на преодоление выше, если с высоким стрессом - страх может только усилиться. Это позловолило бы лечить страхи симов целенаправленными действиями.
На данном этапе, мод поощряет избегание стресса. Думаю этим и займусь в ближайшее время.
А пока, ручные команды всегда работают, и сим сделает всё, что ему приказать, даже если ему страшно - просто ему будет от этого плохо.
Тут речь о вероятностях. И не блокировка дейтвия, а его отмена.
Вычисляется итоговая вероятность, к примеру 0.4, это значит, что в 40% случаев сим всё равно может совершить действие, даже если все факторы "против". Это оставляет пространство для случайности и неожиданных решений.
Показатели дружбы и романтичности не вечны, например романтический интерес без взаимной симпатии - угасает, а успешная дружба перевесит недавнюю ссору. Ну и трейты никто не отменял, кто-то быстрее прощают обиды, кто-то помнит их дольше.
Пример про "динамо":
Серия отказов создала состояние "interested = False" и высокий rejection_count(изменчивый показатель), если продолжить мягко ухаживать (действия не отменяются полностью, а лишь становятся реже), каждое успешное действие будет немного снижать rejection_count. Если она например романтик, то такие действия будут восприниматься ею чувствительней. А когда interested снова станет True, тогда накопленная положительная история начнёт работать.
Мод создаёт не круг, а скорее инерцию, которую можно преодолеть настойчивостью, или усугубить невнимательностью.
По поводу страхов, взять тот же страх огня, при готовке сим будет стрессовть, но всё же это действие не будет отменяться. И его можно пересилить, заплатив за это дискомфортом. Всё как в жизни, чтобы преодолеть себя, нужно выходить из зоны комфорта - а это всегда стресс.
И да, тут мы либо работаем над над преодолением, либо избегаем тригерров.
В моде нет волшебной пилюли на исцеление, а игрова механика позволяет избавляться от старых фобий и получать новые через взаимодействия. Мой мод не создаёт, а лишь учитывает. Так что преодоление возможно, а мой мод поддержит "ненакозанием" стрессом.
И да, речь в основном про автономию симов. Если дать команду приготовить еду - она будет выполнена, т.к это высокий приоритет. Вся логика on_interaction_queued работает исключительно для автономии. Эта архитектура является дополнением, а не заменой вашей воли. Вероятности, а не гарантии. Сим может "передумать", но может и не передумать. Это не бесконечные уговоры, а элемент непредсказуемости. Инерция, а не блокировка. Плохой опыт делает действия менее вероятными, но не невозможными. Хороший опыт - более вероятными. Ручной режим всегда в приоритете. Если дорого игровое время, всегда можно отдать команду, и сим её выполнит, несмотря ни на что.
Если действие противоречит накопленному негативному опыту (например, флирт с тем, кто неоднократно отказывал), сим выполнит команду, но это может усугубить его внутреннее состояние (например, повысить стресс или снизить удовлетворённость).
Основная проблема в Sims4CommunityLibrary: эта библиотека нарушает в частности работу Sim Control Hub (может быть, каких-то других модов ещё, не проверял детально) — пропадают все меню мода, проверил два раза. Без Sim Control Hub не представляю себе как играть, так что, увы...
И по мере игры, ведётся журнал, например разговор сим А - сим Б. И у кадого сима сохранится этот разговор. Будь то разговор игрока с нипом. Или нип и нип. Действия за пределами участка не учитываются, т.к их нет, там имитация жизни.
Да и получив "опыт", скажем, в автономии, то какой тогда смысл в нем, если "дубиной" игрок это всё перечеркивает (а ведь так примерно и будет)? Многие вообще не парятся и глушат "свободу воли" и получают в игре те самые эмоциональные качели, а потом ПКМ накидывают им уровни романтики и дружбы, тк, условно, эта парочка вообще не пара и игра стремиться всё это увести в минус.
К сожалению, не удалось как следует протестировать мод. То есть, игра загружается, ошибок нет, файл .json создаётся, тормозов не замечено, хотя сразу отправил сима в школу, где на участке одновременно под сотню NPC, и все норовят повзаимодействовать между собой. Основная проблема в Sims4CommunityLibrary: эта библиотека нарушает в частности работу Sim Control Hub (может быть, каких-то других модов ещё, не проверял детально) — пропадают все меню мода, проверил два раза. Без Sim Control Hub не представляю себе как играть, так что, увы... Видимо не зря пишут: "При любых проблемах в игре прежде всего удали моды от ColonolNutty!"
Как я понял из описания, скипаются только автономные действия, вручную же всегда можно заставить сима делать то, даже с чем у него связаны плохие воспоминания. Или нет?
М.б. прочел не внимательно, но не увидел ничего про рандомность (спонтанность) действий не смотря на "воспоминания", чтоб выйти из порочного круга/цикла предустановленных скриптов.
К примеру есть у меня семейная пара, когда их сводил, симка продолжительное время динамила сима. Ей вся эта игровая романтика не вставляла, думал даже переключить сима на другую претенденку в жены. Сейчас, пожалуй, эта самая крепкая семейная пара в активной семье, симка "тает" если мой сим просто находится рядом.
Тоже самое с неудачным опытом с огнем или чем-то другим, чтоб победить страх, нужно взаимодействовать с предметом фобии, а не избегать его. Что в принципе реалистично. "Психоза" у симов в игре и в багах достаточно, а тут целые воспоминания для скипа действий. Не окажется ли так, что вот это всё, со временем вызовет фобии у игрока и он тупо начнет скипать эти фобии, чтоб не терять своё игровое время на "уговаривания" симов зацикленных симов?
Думаю, сам маркет никто ломать не будет. Вопрос в другом, можно ли будет сливать то, что там будет продаваться. Сразу ждать не стоит, да и гнаться за этим тоже.
Теперь страшилка. Предположим, у вас есть свободные деньги и вы готовы сделать "инвестиции" в ЕА и добровольно поддержать всю эту "лутоманию", то можно купить все допы которые уже вышли и потом дополнять свою лицензию новыми ништяками. А вот покупать все это "новое" цифровое барахло на пиратку... не разумная трата денег. Сейчас они настроят маркет и не факт, что после или вовремя этого не попытаются заткнуть дыры с пиратскими акками, отправив всех в бан.
Привет, перевод отличный. Но у меня после установки этого мода (он единственный) не открывается меню крафта и строительства. Пишет справа внизу ERROR. Как можно это починить?
Библиотека, это как смазка. ЧТобы впихнуть невпихуемое. Турбодрайвер против смазки ничего не имеет.
Это API, инструментарий для кода. Это не шмотка или предмет. Библиотека, упрощает сложные вычислительные процессы, помогает как брать из игры, так и внедрять безопасными способами информацию. Без библиотеки, пришлось бы кодить с нуля. Это невозможно, учитывая специфику мода и что он использует.
Если уж совсем грубо, то это как построить дом, где s4cl это кирпичи и цемент. Без них, лепи всё сам, делая из того что поподётся под руку. Конечно можно, из омна и палок, как говорится, собрать, но что это будет за дом и как долго простоит?
По поводу совместимости, на то и тесты)) Смотрим, ломаем, чиним) Если не ломает, значит фиксики отдыхают.
По поводу памяти - весь мир моя песочница
Работает на всех симов без исключения. Мод отслеживает и записывает взаимодействия, изменения трейтов и другие события для каждого персонажа, который появляется в игровом мире.
Любой лот при загрузке, в которую вхож игрок, будь то общественный участок или дом, создаётся хранилище, для всей семьи, соседей и мимо проходящих туристов.
И по мере игры, ведётся журнал, например разговор сим А - сим Б. И у кадого сима сохранится этот разговор. Будь то разговор игрока с нипом. Или нип и нип. Действия за пределами участка не учитываются, т.к их нет, там имитация жизни. "всё что происходит на участке - остаётся на участке". Т.е в долгую, вы шарохаетесь по миру, общаетесь с персонажами, они в свою очередь общаются с другими, история для них пишется тоже. И если два нипа подерутся, у них этот момент сохранится. Захотите поиграть за них, в жрунале этот момент будет запечатлён.
Для тех кто появляется и исчезает, журнал со временем сотрётся. Вообщем, вся соль при взаимодействиях и активностях.
Еще немного о конфликтности. Turbodriver vs. ColonolNutty пользуют одно и тоже. От того и не совместимы. И дело не в бибилотеке, а виспользовании одних и тех же функций. Тот же DD. Он не стабилен. В нём много ошибок. Но это никакне связано с библиотекой. Сама библиотека лишь инструмент и с WW она не конфликтует, делить им нечего.
Спасибо за обстоятельный ответ! Обязательно протестирую ваш мод. Правда, немного смущает использование Sims4CommunityLibrary, не будет проблем с Turbodriver vs. ColonolNutty? И ещё вопрос: ваша система воспоминаний действует только на играемых в данный момент симов, или на NPC тоже?
У нас разный уровень игровой логики. Они не то чтобы не совместими, а скорее дополняют друг друга.
Deeper Social Autonomy изменяет то, какие социальные действия сим вообще рассматривает для совершения. Переписывают внутренние тесты. Имеет ли смысл злому симу сейчас злиться или достаточно ли у весельчака навыков комедии, чтобы пошутить. Они отвечают на вопрос: Хочу ли я это сделать?
А затем мой мод, аки прынц на белом коне, со всей своей эмоциональной спесью - "Действительно ли я это сделаю?" Да, я хочу это сделать, но... вспомнив прошлый опыт - ну его в пень.
Да эффект может быть избыточным, когда другой мод делает сима агрессивным, а мой мод еще сверху накидывает, а может и вовсе отменить какую нибудь пакость, по какой-то своей причине. Никто же не крушит всё вокруг когда злятся? Не потому что такие душки, а потому что у действия будут свои последствия. Тут можно сказать так же, из за страха или стресса действие может быть отменено. Страх быть отвергнутым - в моём моде есть почти тоже самое, и вот они никак друг друга не заменяют, а будут дополнять. Никакой психолог не поможет преодолеть это переживание)) Шучу конечно, не знаю точно. Однако дубли могут быть. Что фактически усложнит процесс игры. Сделает его непрдсказуемым. Сим перестанет быть заскриптованным болваном получившим ачивку. Процесс станет глубже однозначно.
Плохо или хорошо - без понятия, потому и выложил затестить. Нужно чтобы люди "ломали его полностью", проверяли, изощрялись. А полученный результат буду анализировать и править если потребуется. Есть конечно нюансы, как вышеперечисленные, но это скорее не баг, а фитча.
Предположим, установлены моды: 1. TS3 Social Context - блокирует или открывает доступ к определённым взаимодействиям
2. Deeper Social Autonomy или/и Social Variety - какое действие сим рассматривает для выполнения.
4. Emotional Memory - подключается на финальном этапе, после того как сим выбрал действие.
И получается создаётся цепочка:
1. Могу ли я это сделать?
2. Что я хочу сделать?
3. Действительно ли я это сделаю?
Долго трепыхаясь, разговор достиг уровня когда можно страстно поцеловать, ля мур, все дела...
Сим или игрок выбирает действие... но оно может будет отменено, ведь вчера, именно с этим персонажем, была схожая ситуёвина, и его отшили, пережил болезненный отказ. Так что, повременит с этим. Это вы на кнопках все такие смелые)) Т.е вполне возможно что действие будет отменено.
Т.е я бы даже рекомендовал использоват такую связку модов. Главная цель моего мода, сделать из заскриптованных балванов if-else, что-то более разумное... пускай всё теми же скриптами, однако результат не всегда должен соответсвовать ожиданиями. Всё как в жизни.
Мой мод имеет накопительный эффект. Прям сразу никто и никаких изменений может и не заметит. Так что тестите как вашей душе угодно.
Журнал пишется с расчётом на 50 событий. Т.е повремени чуть меньше недели 3-5 дней внутриигрового времени, при средней активности. Пишется активность. Как игрока, так и нипов, для каждого из них по 50. Если будет мало, добавим.
Если ранее вы активировали свой акк, то должно сработать. Перед всеми действиями очистите куки в своём браузере или используйте второй/другой "чистый" браузер, например Firefox. Не включайте впн пока не закончите.
Пресеты к сожалению обязательны, т.к по ним по сути всё и пределяется, кто какие действия совершил. Иначе пришлось бы все состояния, все действия, все эмоции, все ситуации прописывать GUID вручную. Для мода который призван интуитивно понимать происходящее это нелогично. Да и трудозатратно.
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.