Jump to content

Papitas

Members
  • Posts

    168
  • Joined

  • Last visited

Contact Methods

  • Website
    https://geek-of-all-trades.neocities.org/

Profile Information

  • Gender
    He/Him
  • Location
    Mexico
  • Interests
    Calisthenics, martial arts, strength training, programming, RPGs
  • Bio
    From chemical engineering to software engineering to pro fighting.
    I use the laws of physics to break skulls with my bare hands.

    ... that was no joke :P

Recent Profile Visitors

1,597 profile views
  1. Just came here to give love to this mod <3. After hundreds of hours playing with it I can confirm I have never got a CTD caused by it.
  2. Ugh. The only thing those kind of people are "contributing" to modding is to make real creators stop doing content or start registering their work. As usual, the only ones profiting from these kind of situations will be lawyers. What a mess... Me too. What can I say? I'm old fashioned :P
  3. About 500 KB. It wasn't that much in disk space usage, but it was quite a lot in saving times. A quick save took around 7 seconds (on a freaking M2 disk. So I know it's not hardware related) . In less than an hour I got the saving time slowness I would have got after 50-70 playing hours. I don't know why, but the bloat caused by NiOverride seems to make saving times way slower. I regularly use a tool to clean co-saves and it shaves at max 500 KB, but that's enough to make saves nearly instantaneous again. And I have my suspicion most of that data is NiOverride related. -------- And yeah... I'm talking about those kind of functions. The good thing about them is that they actually persist without unintentionally bloating your save games.
  4. Sorry. I didn't understand well (English is not my mother language). Are you asking why I uploaded this to this site, which is mostly concerned with sex mods? Well, I uploaded it here because I like this site. And the more people learn Skyrim Platform exists, the better.
  5. Yeah. That's another thing I don't like about Papyrus. It was obviously made for people that don't know how to code. If you come from an OOP background, their scripts seem to be class declarations, but they actually aren't. Scripts are more like a strange blend between Unity scripts and function libraries. They are more like behavior add-ons that you can attach to Forms than real classes with instances and whatnot. About persistence, it seems to work best for skin functions and node layer overrides. If you use persistence for only those cases and only on the player, you won't get bloat, but if you apply them to armors that will be unequipped over and over (and they don't remember they were "overrided") or NPCs you will surely bloat your players games pretty fast. Before I dealt with those cases, I managed to severely bloat my game in only 2 game days (around 40 minutes of real playing) . But I applied both morph and texture overrides to all NPCs I was getting close to. And... yeah... finding all names for all nodes is quite a pain in the ass. You may want to try to use skin functions, since those don't depend on node names.
  6. Ah, it's just putting variables as function parameters. Say... Scriptname MateraRaceMenuScript extends RaceMenuBase ; I do have plans for multiple tail types. Function SetTailColour(Actor akActor, bool isFem, Armor arm, ArmorAddon addon, TextureSet tex, int tailType) Global ; Beta Matera (Tail type 0) node: "TailM", Original Matera (Tail Type 1)Node: "Albino" ; Maybe other tail types in the future. If I can figure out how to have swappable tails, that would be fantastic. If(tailType == 0) AddOverrideTextureSet(akActor, isFem, arm, addon, "TailM", 6, -1, tex, true) ElseIf(tailType == 1) AddOverrideTextureSet(akActor, isFem, arm, addon, "Albino", 6, -1, tex, true) EndIf EndFunction And you call it from MateraColourChangeScript by doing MateraRaceMenuScript.SetTailColour(PlayerRef, true, MateraBody, MateraTail, TailTexture, TailType) As you can see, I extracted all the variables from the function body and put them as the function parameters. Notice how I appended the Global keyword at the end of the function definition. I don't quite remember both Java or C#, but if I'm not mistaken, that Global keyword is the equivalent to static. It makes a function a "class function"; accessible without the need of having instances of that class. By the way, how is persistence working with AddOverrideTextureSet? Is it actually remembering which textures you did override armors with?
  7. You need both Skyrim Platform and JContainers. Then you either install it with your mod manager or extract directly to your Data folder.
  8. I think I can do that. It is technically possible to catch a sex event and apply the wet texture to the SOS dick with NiOverride. But first I need to know: Do you people use schlongified armors? Applying the wet texture when equipping any of those after sex may be annoying to develop. Getting the dick wet only while having sex should be quite easy.
  9. I've seen your code and it's obvious you have been through hell as well xD And I've also noticed you solved the goddamn nodes-lack-of-info problem and found what to actually input in there. You also inadvertently solved The Pizza Hand Syndrome when checking for nails in hands! It's quite amazing how we arrived to the same conclusions by taking totally different paths. You have even the same hatred for Papyrus I have xD Btw, you might want to give Skyrim Platform a chance. The prospect of ditching Papyrus forever and use a real programming language instead (Typescript) is nothing to scoff at. It's also way damn fast. It feels like you are doing an intelligible C++ plugin. About your repeated code: have you tried to parameterize all the function? I mean, instead of using properties inside the function, you use function arguments and let the script that carries the actual info to supply all info via those function arguments.
  10. Version 0.1.2-beta

    34 downloads

    Transforms *.psc header files to *.ts files that can be used by modders in Skyrim Platform. Warning This program and libraries aren't meant to be used by mod users, but modders using Skyrim Platform for making mods only. THIS WON'T MAKE SENSE TO YOU IF YOU ARE NOT A MODDER. About This program is meant to be used to transform SKSE definition libraries to Typescript for using them in Skyrim Platform, so you can use in Typescript all your SKSE libraries the same way you would be using them in Papyrus (here's a real life usage example of using JContainers conversion for an actually working plugin). This program's aim is not to automate whole language features translation, but only function headers. If the *.psc file contains actual code (think PapyrusUtil.psc) the function header will be converted, but the rest will be output verbatim, waiting for a human to come and fix it. Usage Drag and drop all your *.psc files to the executable. It will generate *.ts files in the same folder as its input. Using converted files Put all your converted files inside some folder, then add that folder inside the folder where skyrimPlatform.ts is located. Folders in this image look like shortcuts because they are actually symlinks (the same technology Vortex uses to manage your mods). You don't need to use symlinks. You can just drop your folders there. Once folders are where they are supposed to be, import modules from Typescript as usual. import { on } from "skyrimPlatform" import * as JArray from "JContainers/JArray" // Lines irrelevant to our illustration purposes were ommited. on('update', () => { const a = JArray.object() JArray.addInt(a, 5) const t: number = JArray.getInt(a, 0) // This outputs `5`, indeed. printConsole(`Array value: ${t}`) }) I've added to my github project some converted files for libraries I use myself. Grab them at the conversions folder. BEWARE: Not all functions have been tested. Remarks This program has no way to know the intention of the humans that made the scripts, so it's always advisable to manually check all generated files to make sure everything is declared as it should. Take note the program assumes generated scripts will be put in some subfolder to the folder where skyrimPlatform.ts is found, otherwise you'll get "Cannot find module..." type of errors when coding your plugin. If you want to have your scripts in some other place, you can always just change the relative path of each importfor each *.ts file, of course. Github project page Source code here
  11. View File Papyrus-2-Typescript Transforms *.psc header files to *.ts files that can be used by modders in Skyrim Platform. Warning This program and libraries aren't meant to be used by mod users, but modders using Skyrim Platform for making mods only. THIS WON'T MAKE SENSE TO YOU IF YOU ARE NOT A MODDER. About This program is meant to be used to transform SKSE definition libraries to Typescript for using them in Skyrim Platform, so you can use in Typescript all your SKSE libraries the same way you would be using them in Papyrus (here's a real life usage example of using JContainers conversion for an actually working plugin). This program's aim is not to automate whole language features translation, but only function headers. If the *.psc file contains actual code (think PapyrusUtil.psc) the function header will be converted, but the rest will be output verbatim, waiting for a human to come and fix it. Usage Drag and drop all your *.psc files to the executable. It will generate *.ts files in the same folder as its input. Using converted files Put all your converted files inside some folder, then add that folder inside the folder where skyrimPlatform.ts is located. Folders in this image look like shortcuts because they are actually symlinks (the same technology Vortex uses to manage your mods). You don't need to use symlinks. You can just drop your folders there. Once folders are where they are supposed to be, import modules from Typescript as usual. import { on } from "skyrimPlatform" import * as JArray from "JContainers/JArray" // Lines irrelevant to our illustration purposes were ommited. on('update', () => { const a = JArray.object() JArray.addInt(a, 5) const t: number = JArray.getInt(a, 0) // This outputs `5`, indeed. printConsole(`Array value: ${t}`) }) I've added to my github project some converted files for libraries I use myself. Grab them at the conversions folder. BEWARE: Not all functions have been tested. Remarks This program has no way to know the intention of the humans that made the scripts, so it's always advisable to manually check all generated files to make sure everything is declared as it should. Take note the program assumes generated scripts will be put in some subfolder to the folder where skyrimPlatform.ts is found, otherwise you'll get "Cannot find module..." type of errors when coding your plugin. If you want to have your scripts in some other place, you can always just change the relative path of each importfor each *.ts file, of course. Github project page Source code here Submitter Papitas Submitted 10/19/2021 Category Regular Mods Requires Skyrim Platform Regular Edition Compatible No  
  12. View File Auto unequip ammo Auto unequips ammo along your (cross)bow. No quirks, no hassle, no polling. An honest and straight-forward plugin. Does literally what it says and nothing more. No quiver scaling, no constantly polling, no lists, no sets, no nothing. Recognizes all ammo from all mods. No need to register them. Submitter Papitas Submitted 10/18/2021 Category Regular Mods Requires Skyrim Platform, JContainers Regular Edition Compatible No  
  13. Version 1.0.0

    233 downloads

    Auto unequips ammo along your (cross)bow. No quirks, no hassle, no polling. An honest and straight-forward plugin. Does literally what it says and nothing more. No quiver scaling, no constantly polling, no lists, no sets, no nothing. Recognizes all ammo from all mods. No need to register them.
  14. If it was only the NSFW content I wouldn't care THAT much (who am I kidding? I would ), but many, MANY mods that fix so much stupid (bull)shit are based on SKSE. Without SKSE Skyrim is just a dull and buggy mess. And I don't think it's worth exchanging everything SKSE has brought to the game for some bullshit fishing mechanic. I've already made a backup in case of an accidental update on my part. I just hope that hypothetical accident wouldn't write some registry keys or something that renders Skyrim unplayable. And I really hope that part about SKSE developers being retired is not true. Not having SKSE around would make me totally lose all interest in Skyrim. Forever.
  15. Great. Thanks for sharing your code! I'll give it a check whenever I have time. I've been writing everything I've discovered from NiOverride so far. I suppose you don't need it anymore, but I still leave it here for reference. Things I've discovered so far: Everything about nodes. Skin functions. I've solved the problem that originally brought me here (turned out it was node related), but I haven't written about it yet. I also think what you did may help me expand it
×
×
  • Create New...