Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
Tags

Strive for Power

Fantasy Slave Management/RPG Erotic Game · By Strive4Power

Randomportraits and portrait pack editor for the 1.0 version

A topic by Zepeteus created Sep 24, 2020 Views: 31,634 Replies: 23
Viewing posts 1 to 13
(1 edit) (+2)

I haven't had time to thoroughly test these, but they should work and a quick test didn't reveal any problems. In addition to dealing with the change to Dark Elves/Drows/Tribal Elves I've made the randomportraits mod a bit more lenient with some capitalization which caused it to miss haircolors if used with the 1.2 editor. I've also added penis size as a variable to both the editor and randomizer. Plus some other minor tweaks. Remember to set your preferred weights in the randomportraits settings file if the randomization doesn't suit you.

These are both based on Kyler2's work and I just tinkered with them a bit, so all glory to him. I'll try to check this thread if there are some problems with my additions.

Download:

http://www.mediafire.com/file/i6wiq2lrtb2du7s/portraitstuff.zip/file

Oh, and if you still have your portrait/body directories with the old Elves, just rename the directories from DarkElf->TribalElf and Drow->DarkElf. You can do it with the editor, but it doesn't recognize Drow anymore (which you could change in the settings) and it's just much faster to rename the directories.

Thank you!

I can't seem to get the mod to work, clicking on the randomize button doesn't do anything, does the mod works with version 1.0a? I'm a total newbie on this :( hope someone can help show me how it's supposed o be done please 

(2 edits)

I've just a look and you need to download this file, unzip to get the portrait editor (not needed) and randomportraits.zip. Rename away the old version of randomportraits in your mod directory, if you have it. Unzip randomportraits.zip into the mod directory to create Strive/mods/randomportraits. Start Strive, select mods from the menu,  then select randomportraits and Apply. Exit Strive, restart, and randomportraits should be creating images for new slaves and captures automatically.

Note - This does not include portrait packs. Look for those elsewhere on the forum.

(-1)

Hair wasn't working for me. I am just using some portrait packs that claimed they worked with the randomportrait mod. 

I updated my portrait.gd file with this:

hairColors = []
# TODO: Build this list of possible hair colors dynamically?
# Note: This list doubles as fur color for beastkin/halfkin as they have no hair color set.
for color in ['Auburn', 'Black', 'Black_Gray', 'Black_White', 'Blond', 'Blue', 'Brown', 'Gray', 'Green', 'Jelly', 'Orange', 'Orange_White', 'Purple', 'Red', 'White']:
    filterRegex.compile(color.replace(' ','') + "(?!skin)")
    if filterRegex.search(file):
        hairColors.append(color.to_lower())


Seemed to fix the issue. 

Thanks guys!

(1 edit)

Yeah. My version of the portraitpackeditor saves the portraits with lowercase hair colors, so that's how the mod is configured, but if one has portraitpacks with capitalized hair colors that'll fix it. It should check the lowercase versions too, but apparently that doesn't work.

I might be asking for more than I think, but is it possible for me to edit the configs so as to add more constraints and/or weights into the mod. I am curious about adding traits from the game like 'scarred' or 'ugly'. 

Otherwise, if I want the mod to include hair colour in the Race+Gender+Age abort/loosen behavior, how can I do that?

Yes, you could edit the configs, but unless you changed the code of the mod to use those new values it wouldn't change anything. The mod is not dynamic beyond its stated parameters.

Adding more scored traits or changing the mechanics of existing ones is not particularly hard, but it would likely require a small amount of programming knowledge.

(1 edit)

Adding scarred or ugly will also need you to edit your portrait/bodies file names to match.

The file mods/randomportraits/settings.gd has the weightings if you want to change your weightings for personal use.

This is a one line amendment I made to my randomportraits.gd to skip gender if gender returns zero matches. (The indentation is important.) I expect the same can be done for race.

    # Filter on Gender
    filteringPortraits = []
    for p in validPortraits:
        if p.genders.has(person.sex):
            filteringPortraits.append(p) #Add portrait that has required sex
    if portraitSettings.debug: print('Filtered on gender %s, resulted in %d portraits.' % [person.sex, filteringPortraits.size()])
    if !filteringPortraits.empty(): #Leo gender skip if zero entries
        if (filteringPortraits.size() < portraitSettings.minMatch):
            return
        validPortraits.clear()
        validPortraits = filteringPortraits

(Technical note - I seem to remember that this file needed space characters rather than tabs to indent the text. The compiler uses the white space characters to determine which statements belong to the if statements. Experiment a little with the if you have problems.)

(1 edit)

I think it would be an improvement to randomportraits for the randomizer to skip the existing portait file, so that it always generates a new image for an existing character. Perhaps that could be put into the next version. I think this line of code will do it.

    # Filter on Race
    var filteringPortraits = []
    for p in validPortraits:
        if p.file == person.imageportait: continue #Leo always find a different portrait
        if p.races.has(person.race):
            filteringPortraits.append(p)

can't seem to get the mod to work :( i followed the wiki instructions and the mod is definitely installed, but when i click it no portrait comes up. help?

If you can select a slave, go to Customization, and find a button for "Random Portrait", then the mod is successfully applied. The most likely problem for applying this mod is that thanks to recent improvements the game can recognize the location of the mod better than the mod can adapt to changes in location. So it is important that the path to the info file be exactly ".../Strive/mods/randomportraits/info.txt", any differences can cause the mod to fail (unless you have assigned a new folder for mods, in which case replace the first 2 levels with that).

Note, his mod does not come with any images, so you need to download a compatible image pack. Most image packs are compatible with the mod, though they tend to be for the pre-1.0 races (before Dark Elves became Tribal Elves, and Drow became Dark Elves). It is usually fairly straight-forward to rename the race folders to switch to the 1.0 races.

I feel like I'm going to loose my mind. I cannot for the life of me get this mod to work. No matter what I do the game doesn't assign characters portraits.

Some more things to check. Make sure that "Use random portraits" is enabled in settings. Check that the following path exists: "Strive/mods/randomportraits/info.txt". Unless you have changed the path to the "mods" folder in the mods menu from "user://mods/" to something else, it must be exactly that path. The game can apply the mod with a different path, but the mod cannot function with a different path.

Otherwise, post here the path of one of your images from the Strive folder to the file extension, so I can review that there isn't something wrong with the tags.

It is enabled, and that path does exist. I haven't changed anything regarding the pathing of the mod/portrait/body folders.

As for pathing to one of my images: Roaming > Strive > portraits > Human > Female > Adult

And these are the tags from one of the pictures in that path "auburn+brown SkinL TitsS+TitsM AssM+AssB+AssH"

Sometimes people leave mod files in an extra folder as a result of extracting the folder from the zip archive, so I try to check that. The ability to manually assign those images to slaves rules out a lot of problems. 

There appears to be nothing wrong with the tags. If a game is started with an adult human female slave, they should receive that or another similarly tagged image. You didn't post the file extension, though I doubt that is the problem. Anyways, the Godot Engine will only load images with the following extensions: png, jpg, webp.

I just realized the problem. The Bugfix V6 organizes the way races are handled. portrait.gd in this mod uses "globals.allracesarray" which was retired. It just needs to be replaced with "globals.racefile.groups.all".

Yup, that seems to have fixed it lmao. Such a simple solution to such a frustrating problem. I launched a few quick starts and asides from males (I don't really have any male portraits) and the odd adult human female (not sure why) everything seems to be populating as intended.

Thanks so much for helping me.

Sorry to bother you again, but I had a quick question regarding tagging. Are the hair colors/fur colors (for beast/halfkins) listed in the races.gd file the only ones the game will register when assigning a portrait? For example, the beastkin bunny has white and gray listed as it's two fur colors, but if I have a bunny portrait that has purple hair and the photo only has purple hair tagged, not white and/or gray, will that photo still be chosen or will it not be selected in game?

(+1)

The IRP mod tends to use local lists within the mod for colors as the global lists for colors did not exist and the author did not feel like creating code to search for them in races.gd. Therefore if you want to add new colors it will have to be in portrait.gd of the mod. However, the way the mod is coded, I do not believe it ever checks fur color as everyone has a hair color and that overrides fur color. I have not tested it, but it appears that changing in randomportraits.gd:

elif person.furcolor != null && !person.furcolor.empty():

to

if person.furcolor != null && !person.furcolor.empty():

should cause fur color to override hair color if it exists. Unfortunately, with the way that it is setup it would take significant changes to support both.

Ah okay, thanks so much!

And that's alright about the fur issue. I don't play with Beastkins/Furry characters so fur doesn't actually matter to me.

Wow, many thanks for the portrait pack editor. Makes it so easy to look at the portrait sets and figure out what's broken. All it's missing is a DELETE button for getting rid of portraits that don't have a mate or that I never want to use.

yo... i don't know if theirs anyone still lurking here still but I'm new to modding and I'm having trouble with this mod. i got the portraits to be applied but the full body i still have to do manually. i copy and paste both "portraits" and "bodies" that was and still is in my "AppData/Roaming/Strive" and put the "portraits" and "bodies" copies in "AppData\Roaming\Strive\mods" as someone above said you have to do that. i want to be able for my slaves to have there portraits and there bodies image to be applied without me having to manually doing my self every single time. what did i do wrong. or does this mod only apply portraits. i saw from someone that its supposes to apply both "portraits" and "bodies" so I'm not sure.

one more thing, if it's not to much can someone make a video showing how everything should look. it would be actually a lot more easier to see that to read and try to figure out.

Thanks in advance.

(1 edit)

The Discord (https://itch.io/t/284398/discord) is generally a better place for answers, but people occasionally check here.

I haven't seen anyone who knows what they are doing talk about putting images in ".../AppData/Roaming/Strive/mods/". They won't do anything there and it is a bad place to put them, so delete those copies. The "portraits" and "bodies" folders should be located in ".../AppData/Roaming/Strive exactly as you said you still have them. As long as you did not change the in-game paths for those folders (found through the manual image selection interface), then they should be located exactly where they need to be.

The mod files should be extracted from the zip folder and the folder called "randomportraits" should be put in ".../AppData/Roaming/Strive/mods/", so you should have ".../AppData/Roaming/Strive/mods/randomportraits/info.txt".

All together it should look like this.

  • Strive
    • portraits
      • < your images or image pack >
    • bodies
      • < your images or image pack >
    • mods
      • randomportraits
        • info.txt
        •  < rest of mod files >

To install the mod, simply start the game, open the Mods menu, select "randomportraits", press "Apply", and when the report appears with "No errors recorded." press "Exit Game". There is a guide for using and making mods if you press the "Help" button in the top right of the Mods menu.


Now to cover the likely causes of the problems you are having, as it did not appear to me that any of what you said accounted for your problem. This is because Strive comes with random portrait and body image assignment without any mods, so at the very least you should have images that match the race of the person when you start a new game. This mod adds matching for attributes of the person besides race.

If you added the images to the game folder after you started your progress, then you can either manually select the images through the "Customization" tab for the slave or you can add the Bugfix mod, which will attempt to give everyone without a portrait a random image when you load the progress.

If you do not have images assigned when starting a new progress, then your problem is most likely that your images are not tagged correctly. To tag the images they must either be in a folder named for the tag or the file name must include the tag. Without mods, the only tag needed is the race names as found in game but without spaces. For this mod, you will also need the sex and age. 

If you get portraits assigned but not full body images, then your problem is most likely that the paths of the two images do not match. They should look something like this:

.../portraits/Lamia/Female/Adult/Purple SkinL TitsM+TitsB #MGQ [bcad17e8].png
.../bodies/Lamia/Female/Adult/Purple SkinL TitsM+TitsB #MGQ [bcad17e8].png

im really annoyed this thread is below the old one