Programming Skill
SCREENSHOTS
Downloaded 18,354 times
377 Thanks
169 Favourited
71,294 Views
Say Thanks!
Thanked!
Uploaded: 21st Jul 2015 at 3:27 PM
Updated: 23rd Jul 2015 at 4:46 PM - Added Polish localization
Updated: 23rd Jul 2015 at 4:46 PM - Added Polish localization
DISCLAIMER - WARNING - README
Final Note
Here is the deal with this mod: I can't guarantee is 100% safe to uninstall it and keep playingMod Info
the savegames where it has been used, there's the chance of corrupting them. I've included
detailed uninstalling instructions and all my tests were succesfull - but they were just tests
with a testing game, so it's hard to evaluate all side effects and long term consequences
you'll get on a real, long played and complex game.
Let me say one thing to you. I'll say it three times for emphasis:
- read the whole description carefully BEFORE you install it
- read the whole description carefully BEFORE you install it
- read the whole description carefully BEFORE you install it
Bottom line: use it at your own risk.
Developped and tested with game version 1.67.Mod Description
This mod was realized in collaboration with Postoyalec aka ToDoAbout.
This is a basegame compatible mod with no requirements, all the other mods
referenced here are optional (but recommended nonetheless).
This mod was inspired by TS4's programming skill and is loosely based on TS3's writing skill.
It's a custom skill that Sims can learn and use through computer's interactions.
The logic skill helps learning it faster.
During the first levels the skill can be considered just a hobby for teen+ Sims,
later it can become a reliable source of income.
Custom videos
Note 1: if you pause the game the video keeps playing. I doubt this can't be helped,
I guess it's a side effect of using custom videos in this situation (which probably is
already kinda of a stretch in the first place).
Note 2: If the game was saved while a custom video was being played on a computer
screen, then when you reload that game the video played will be reset to
Sims3PC_WordProcessor or Sims3PC_WordProcessor2
(the ones used for writing books and probably for a bunch of other things).
This too can't be helped.
Note3: just like TVs, computers come with different screen sizes and proportions,
so videos are sometimes cropped (specifically the top part) but we did our best to get
a good result on each one. There are at least 2 computers (one from ITF EP and one from
HELS SP) that flip the video horizontally.
Career
Maybe it's possible to make a skill based career out of it, even if it's a custom skill,
but I didn't even bother to check because, as far as I'm concerned, I'm satisfied by
the skill journal that already keeps track of the lifetime earnings made with programming.
You can still register a Sim as unemployed (with NRaas Careers plus its selfEmployed
module, maybe also the Ambitions EP has a similar option) so he/she won't be assigned
to another career by Story Progression (I'm thinking about non selectable Sims here)
and can focus his/her time and energy on programming.
Autonomy
Only Sims with the ComputerWiz trait have a reason to autonomously use the programming
related interactions, all the others shouldn't use them.
The autonomy is disabled for some interactions, so Sims can use the skill without "distractions"
(to make a living out of it).
The "practice" interaction is disabled once reached the max skill level because it becomes useless.
Note: Disabling completely the autonomous use of the interactions may help making the uninstall
process simpler, because then you'll have to only take care of Sims you actively play. That's why
I've included an option to enable/disable the autonomy of the mod. The default value, true, enables
the autonomy (because I like to think you will not feel the urge to uninstall the mod).
See the xml tuning section for more information.
XML Tuning
All settings have a self explanatory name so I won't go into details.
You can use S3PE (or Postal) to open the package and edit the xml resource called
"Arsil.ProgrammingSkill.Main" (with S3PE you can right click on it and select "Notepad" from the
popup menu), customize settings with the text editor, commit changes and save the package.
Be aware that carelessly raising the skillLevel threshold of an interaction, after one of your Sims
already used it, may put the system in a deadlock situation (the Sim started an activity that he/she
can no longer continue because he/she now is not "qualified" enough to). In that case, there are two options:
- restore previous settings
- enable (from the xml) an interaction disabled by default and expressely made to fix that situation
(the idea behind that interaction is also to use it in case the system gets stuck if there's a bug in the code)
As stated before, removing the autonomy from the interactions helps make the uninstall process
simpler and reduces the chances of corrupting the savegame (because you only have to worry of
the Sims you play, not of everyone - well, at least those with the ComputerWiz trait). The last tag
in the xml, kEnableAutonomy, is used to enable or disable the autonomy of the interactions.
If set to false, it will override the settings of the ITUN resources and prevent Sims to use the
interactions autonomously. Disabling the option will be useful also if you want to uninstall the mod,
see that section for more details.
Translations
English, Italian, Russian and Polish localized strings are included.
If you spot any mistakes in the Polish translation, please contact "todoabout" via PM on MTS.
Unlike the majority of my mods, this one is pretty verbose. Most strings support the male/female tags,
many support the actor as first argument - {0.*} - but to play it safe just try to use them where we did.
Feel free to upload translation files on the comments so other users will be able to download them and
use them following these simple directions (presuming the file's name is formatted correctly).
How to import a localization file:
- open the package of the mod with S3PE.
- from the "Resource" menu select "Import"+"From file", select the translation file and click on the "OK"
button in the "Resource Details" window that pops up (this will override the old localization file of the
corresponding language that contained the strings in English with the new one with the translated strings)
- save the package
Note: the fact that I won't include them (I have my reasons for that), doesn't mean I don't appreciate the time
and the effort put to translate the mod, so let me thank all those who did that for mine and everyone else mods.
Uninstallation
It's the same thing as trying to uninstall, for instance, the violin from the store and then keep playing on the
same savegames where the violin was "used". But since this skill is based on computers, very common
objects, it has the potential to "spread" even more (but, again, only Sims with the ComputerWiz trait should
use it autonomously).
The main issue and the one that can cause corruption is this: saving the game while Sims (even unselectable
ones) are using a skill related interaction then reload that game when the mod has been removed. Not only
you have to worry about your home world but, to get things more complicated, you have to worry also about
the vacation/UNI worlds where you have traveled while the mod was installed (or even regular worlds using
NRaas Traveler - but I have no first hand experience with that mod). So you have to make sure that, when
leaving a vacation/UNI world, no one is using a programming related interaction because you'll find the world
in the state it was when you left it when you'll visit it again (of course, that world is saved only if you manually
save the game - be it while you are still there or after you returned to the home world).
Maybe also the "Future World" is involved. I don't have ITF so I can't confirm it.
Short version: don't uninstall the mod.
Medium version: seriously, don't uninstall the mod.
Long version:
- Make a backup of the savegame, before installing the mod and before you try to uninstall it.
- Have NRaas ErrorTrap installed. Not sure if NRaas Overwatch helps in this scenario, but it can't hurt.
- The next steps presume that the mod is still installed. Make sure, via xml tuning (see related section), that its autonomy is disabled and the duration of a programming session is set to 5 sim-minutes.
- Do the following steps for each vacation/UNI world (or regular world, if that's how Traveler works) you have been while the mod was installed (and you plan to visit again)
- Travel to that world
- Keep the game paused (not strictly needed since we disabled the autonomy of the mod, but not every mod/interaction has that option and this procedure may be useful for uninstalling other things too)
- Make sure no interactions related to the skill are going on. You can do this in several ways:
- soft reset all Sims (console command: "ResetSim *", probably requires "testingcheatsenabled true").
PRO: quicker
CON: a global soft reset comes with its own dangers (see the related thread about uninstallation linked below)- check every Sim one by one (be careful: even if Sims are not using a computer, they still may be using the interaction, for example they are still in the routing phase) and soft reset his/her or, if possible, cancel the interaction in another way
PRO: safer
CON: slower- [SUGGESTED] We've set the max duration of a programming session via xml tuning to 5 sim-minutes or even less, so we can unPause the game to let all interactions end naturally and very quickly. Since we also disabled the autonomy of the mod, there's no risk that Sims will start a new one.
PRO: quick and safe
CON: none that I can think of- [With ErrorTrap this step seems unnecessary, but I recommend it anyway] Use NRaas Master Controller (maybe also its Cheats module is needed) to remove the skill from ALL Sims. You can use the "personal information: ability/skill" filter (or whatever is called in English, my game is localized) to select all Sims who have the skill (select all programming levels, 0 included) and then proceed to remove it from each Sim, setting the level of the skill to -1. This could be tedious and take a while (unless there's a way to do it for everyone at once, I'm not sure). Be careful: if a skill is not displayed in the skill "tab", it doesn't mean that that Sim doesn't have it (in that tab are only showed unhidden skills of level >= 1)
- [With ErrorTrap this step seems unnecessary, but I recommend it anyway] Remove all opportunities
, dreams and promisesrelated to programming (not sure if MC has a filter for those, but IIRC they are present only on Sims we have played)- Go back to the home world and save the game (the game may use a lot of memory doing more than a world at a time and this can make saving difficult, so it's important to save after cleaning each one)
- Once all worlds have been dealt with, do the same "cleaning" steps on the home world
- Save and quit the game, remove the mod, clear caches.
A procedure similar to this one can be used, mutatis mutandis (instead of removing the skill you remove something else), also
with other of my mods, particularly those involving custom stuff (skill based career, trait, roles, etc), and with script mods in general.
Related thread about uninstalling (there I've used the violin skill as example, but it's the same thing)
Maybe I should specify that with "corruption" here I mean that the involved Sims keep getting reset over and over and, apparently,
there's no way to fix them. So, yeah, I think that qualifies it as corruption.
Technical Info
Don't get the wrong impression, I'm perfectly aware of being a crappy coder, but I may have used
some interesting solutions here that I'd like to briefly (ehm...) mention, also because I may not have
the chance to discuss them in the technical area (presuming someone is interested).
First of all, I was very happy for being able to make a few custom opportunities, I just scratched
the surface as they are very simple (and you can't fail them, unless they expire), but, hey, that
also make them very easy to undertstand. As usual, custom enum entries are needed (not 100%
sure if they are strictly needed but I know one thing: they allow to trigger the opportunities with
NRaas DebugEnabler specifing their name). To be fair, I'm aware of at least another modder
who used custom opportunites, an almost unknown one named Twallan I believe, who created
some for the Mobster custom career.
On the other hand, I was disappointed and frustrated for not being able to make custom wishes or
dreams or whateverTheyAreCalledIAlwaysMixThemUp. I think I got the coding part right (instead of
partially rewriting the parser in order to use custom check and feedback functions for the primitives,
I planned to use placeholders in the xml and then replace them from the script after they have been
parsed, but I failed with their xml definition because I still don't fully understand how all that works
(and I guess using a custom skill didn't make things easier).
Related thread about DreamsAndPromises
Just like how I did for the Japanese Culture trait, here too I was able to "inject" a custom CommodityChange
to the interactionTuning of the interactions. In the case of the trait it was related to a custom motive
(to simulate the urge to perform trait related interactions when the value of the motive was low, which is
exactly how many of the default traits of the game work), while in this case it's related to a skill
(thanks to the careful choice of the guid of the enum entry of the CommodityKind) to allow to gain
skillPoints while performing the interaction (instead of simply copying the solution used by the violin from
the store - to name one - that calculates and adds them at the end of the interaction and without showing
the progressBar). Again, not the first one to do something like this, SimsMX also did something like that
for his custom trait (that mod is a modding milestone and he was amazing, just think at his way of injecting
enum's entries by reading the key/id pair directly from the xmls...).
Speaking of the progressBar, while Sims are still learning the skill, if you use an interaction about creating
some kind of software (instead of the generic practice interaction, which by the way has the advantage of
letting Sims learn the skill faster) you'll get 2 overlapping progressBars: the blue one for the skill itself
(how much it takes to reach the next level) and the green one for the developing process (how much to finish
the software). It's a bit ugly and confusing to see the 2 colors mix, but I wanted - unlike what happens with
the writing skill - Sims to learn the skill not only with the practice interaction but also with the other ones.
Final Note
You may have noticed the lack of my usual silliness in the description of this mod, because, you know,Additional Credits
I was too worried about the whole "fu**ing your 22th generation family" potential, but hopefully you'll
find some silliness in the mod itself. And, hey, look at how exquisitely I formatted this description!
All respective authors and contributors of the tools and tutorials for modding TS3.
MTS and all modders who made the game much more enjoyable.
Don_Babilon for feedback and suggestions about uninstallation.
MTS has all free content, all the time. Donate to help keep it running.
Arsil_ToDoAbout_ProgrammingSkill.package.zip
Download
Uploaded: 23rd Jul 2015, 207.2 KB.
18,333 downloads.
|
||||||||
For a detailed look at individual files, see the Information tab. |
Install Instructions
Packs Needed
None, this is Sims 3 base game compatible!
Other Information
Type:
– Skilling
– Other
Tags
#programming, #skill, #"programming skill", #"custom video", #mod
About Me
Feel free to modify my mods and/or use them for your own projects, but for mods of other authors that I've updated or mods where I collaborated with other modders/creators check also their policy.