Caliban44 Posted September 26, 2015 Posted September 26, 2015 is there a patch for sl hormones yet? i dl'ed techbanes patch from page six, but there was nothing in there for hormones i asked over on the hormones page about this and here is the response i got Caliban44, on 17 Sept 2015 - 11:01 PM, said: sktrimii, i don't know if this has been answered or not but are you going to make a C.A.N.S. patch for sl hormones? I don't plan to make a patch for CANS (too much to do in my mods right now to invest time learning another but). That said, if someone wants to make a patch between Hormones and CANS, I will be happy to add mod events or other signals in Hormones to make that patch possible. i would do it but i know nothing about scripting, i can do small mods but i can't do mods that requires me to script, so i put it out to the LL community can someone make a cans patch for sl hormones?
foreveraloneguy Posted September 27, 2015 Posted September 27, 2015 Looking for some guidance here... I have CANS .14.1.1 installed along with milk mod economy 2015-09-19. When I set the scaling to CANS, the breasts don't seem to change scale. It does work if I set MME to NIO. So what types of debug prints (without digging through everyone's scripts) would I be looking for from CANS to tell what the issue might be? And it may have already been discussed, but I'm also seeing in the CANS MCM that it's managing 2 mods, but I only have MME active and set to CANS and no mods are listed under "deactivate". So does CANS print the mods it thinks it's managing in the debug? Can't provide serious support since I'm out of town this weekend, check to make sure things appear in the uninstall menu on CANS, check to make sure the breasts should actually be growing, since CANS is going to ignore anything that's 1.0 or below. CANS debug logging is kinda poor right now (being redone for the 1.0) but anything it prints should be prefaced with "CANS:" or "CANS Framework:" OK, then we're on to something. CANS says it's managing 2 mods, but neither mod shows up in uninstall menu. Nodes should definitely be growing. In MME, the breast nodes are listed as being at 2.3.
Feliks Posted September 27, 2015 Author Posted September 27, 2015 Looking for some guidance here... I have CANS .14.1.1 installed along with milk mod economy 2015-09-19. When I set the scaling to CANS, the breasts don't seem to change scale. It does work if I set MME to NIO. So what types of debug prints (without digging through everyone's scripts) would I be looking for from CANS to tell what the issue might be? And it may have already been discussed, but I'm also seeing in the CANS MCM that it's managing 2 mods, but I only have MME active and set to CANS and no mods are listed under "deactivate". So does CANS print the mods it thinks it's managing in the debug? Can't provide serious support since I'm out of town this weekend, check to make sure things appear in the uninstall menu on CANS, check to make sure the breasts should actually be growing, since CANS is going to ignore anything that's 1.0 or below.CANS debug logging is kinda poor right now (being redone for the 1.0) but anything it prints should be prefaced with "CANS:" or "CANS Framework:" OK, then we're on to something. CANS says it's managing 2 mods, but neither mod shows up in uninstall menu. Nodes should definitely be growing. In MME, the breast nodes are listed as being at 2.3. Two questions: are you sure it isn't listing negative 2? Because that's what it's going to show when nothing's registered. Did you install CANS on an existing save? Was MME already installed and running? Is anything in the papyrus log from CANS?
foreveraloneguy Posted September 27, 2015 Posted September 27, 2015 Looking for some guidance here... I have CANS .14.1.1 installed along with milk mod economy 2015-09-19. When I set the scaling to CANS, the breasts don't seem to change scale. It does work if I set MME to NIO. So what types of debug prints (without digging through everyone's scripts) would I be looking for from CANS to tell what the issue might be? And it may have already been discussed, but I'm also seeing in the CANS MCM that it's managing 2 mods, but I only have MME active and set to CANS and no mods are listed under "deactivate". So does CANS print the mods it thinks it's managing in the debug? Can't provide serious support since I'm out of town this weekend, check to make sure things appear in the uninstall menu on CANS, check to make sure the breasts should actually be growing, since CANS is going to ignore anything that's 1.0 or below.CANS debug logging is kinda poor right now (being redone for the 1.0) but anything it prints should be prefaced with "CANS:" or "CANS Framework:" OK, then we're on to something. CANS says it's managing 2 mods, but neither mod shows up in uninstall menu. Nodes should definitely be growing. In MME, the breast nodes are listed as being at 2.3. Two questions: are you sure it isn't listing negative 2? Because that's what it's going to show when nothing's registered. Did you install CANS on an existing save? Was MME already installed and running? Is anything in the papyrus log from CANS? Well, it is -2, which is what threw me off since it says it's managing -1 actor. In that case, the MME implementation of CANS would appear to be broken or there's a conflict somewhere else. I'll have to dig around in the debug logs. Haven't had much of a chance to do that yet.
Feliks Posted September 27, 2015 Author Posted September 27, 2015 Looking for some guidance here... I have CANS .14.1.1 installed along with milk mod economy 2015-09-19. When I set the scaling to CANS, the breasts don't seem to change scale. It does work if I set MME to NIO. So what types of debug prints (without digging through everyone's scripts) would I be looking for from CANS to tell what the issue might be? And it may have already been discussed, but I'm also seeing in the CANS MCM that it's managing 2 mods, but I only have MME active and set to CANS and no mods are listed under "deactivate". So does CANS print the mods it thinks it's managing in the debug? Can't provide serious support since I'm out of town this weekend, check to make sure things appear in the uninstall menu on CANS, check to make sure the breasts should actually be growing, since CANS is going to ignore anything that's 1.0 or below.CANS debug logging is kinda poor right now (being redone for the 1.0) but anything it prints should be prefaced with "CANS:" or "CANS Framework:" OK, then we're on to something. CANS says it's managing 2 mods, but neither mod shows up in uninstall menu. Nodes should definitely be growing. In MME, the breast nodes are listed as being at 2.3.Two questions: are you sure it isn't listing negative 2? Because that's what it's going to show when nothing's registered. Did you install CANS on an existing save? Was MME already installed and running? Is anything in the papyrus log from CANS? Well, it is -2, which is what threw me off since it says it's managing -1 actor. In that case, the MME implementation of CANS would appear to be broken or there's a conflict somewhere else. I'll have to dig around in the debug logs. Haven't had much of a chance to do that yet. What about my other question though? Was MME installed on this save before you installed this specific version of CANS
foreveraloneguy Posted September 28, 2015 Posted September 28, 2015 Looking for some guidance here... I have CANS .14.1.1 installed along with milk mod economy 2015-09-19. When I set the scaling to CANS, the breasts don't seem to change scale. It does work if I set MME to NIO. So what types of debug prints (without digging through everyone's scripts) would I be looking for from CANS to tell what the issue might be? And it may have already been discussed, but I'm also seeing in the CANS MCM that it's managing 2 mods, but I only have MME active and set to CANS and no mods are listed under "deactivate". So does CANS print the mods it thinks it's managing in the debug? Can't provide serious support since I'm out of town this weekend, check to make sure things appear in the uninstall menu on CANS, check to make sure the breasts should actually be growing, since CANS is going to ignore anything that's 1.0 or below.CANS debug logging is kinda poor right now (being redone for the 1.0) but anything it prints should be prefaced with "CANS:" or "CANS Framework:" OK, then we're on to something. CANS says it's managing 2 mods, but neither mod shows up in uninstall menu. Nodes should definitely be growing. In MME, the breast nodes are listed as being at 2.3.Two questions: are you sure it isn't listing negative 2? Because that's what it's going to show when nothing's registered. Did you install CANS on an existing save? Was MME already installed and running? Is anything in the papyrus log from CANS? Well, it is -2, which is what threw me off since it says it's managing -1 actor. In that case, the MME implementation of CANS would appear to be broken or there's a conflict somewhere else. I'll have to dig around in the debug logs. Haven't had much of a chance to do that yet. What about my other question though? Was MME installed on this save before you installed this specific version of CANS This is a new game with both MME and CANS active at the start.
Ed86 Posted September 28, 2015 Posted September 28, 2015 well.... there is apparently something wrong, If Plugin_CANS && BreastScale == 1 CANS_Framework CANS = Quest.GetQuest("CANS") as CANS_Framework if CANS if !(akActor.HasMagicEffect(Game.GetFormFromFile(0x5e49, "CANS.esp") as MagicEffect)) ;The target does not have the effect. if (akActor.HasSpell(Game.GetFormFromFile(0x5e48, "CANS.esp") as Spell)) ;The target has the spell but not the effect, something was called incorrectly and the effect was dispelled but not the spell akActor.RemoveSpell(Game.GetFormFromFile(0x5e48, "CANS.esp") as Spell) ;Now the target neither has the spell nor the effect EndIf akActor.AddSpell(Game.GetFormFromFile(0x5e48, "CANS.esp") as Spell, false) ;Adds the spell, does not notify if it is added to the Player (Game.GetFormFromFile(0x5e48, "CANS.esp") as Spell).Cast(akActor, akActor) ;Activates the spell and applies the framework EndIf CANS.RegisterMyMod(akActor, "Milk Mod Economy", "Milking") CANS.Breast(akActor, "Milk Mod Economy", CurrentSize) else Debug.notification("Something is wrong with CANS, it might have been updated and is no longer working with MME") endif Papyrus log: [09/28/2015 - 07:57:49PM] Error: (CB005E48): Spell is permanent (e.g. an ability/addiction/disease) and cannot be Cast.. stack: [ (CB005E48)].SPELL.Cast() - "<native>" Line ? [MME_MilkQUEST (CA00E209)].milkquest.CurrentSize() - "MilkQUEST.psc" Line 738 [alias thePlayerRef on quest MME_MilkQUEST (CA00E209)].MilkPlayerLoadGame.UpdateSize() - "MilkPlayerLoadGame.psc" Line 275 [alias thePlayerRef on quest MME_MilkQUEST (CA00E209)].MilkPlayerLoadGame.OnPlayerLoadGame() - "MilkPlayerLoadGame.psc" Line 59 [09/28/2015 - 07:57:49PM] Error: Array index -1 is out of range (0-127) stack: [CANS (CB0012CD)].cans_framework.RegisterMyMod() - "CANS_Framework.psc" Line 56 [MME_MilkQUEST (CA00E209)].milkquest.CurrentSize() - "MilkQUEST.psc" Line 740 [alias thePlayerRef on quest MME_MilkQUEST (CA00E209)].MilkPlayerLoadGame.UpdateSize() - "MilkPlayerLoadGame.psc" Line 275 [alias thePlayerRef on quest MME_MilkQUEST (CA00E209)].MilkPlayerLoadGame.OnPlayerLoadGame() - "MilkPlayerLoadGame.psc" Line 59 [09/28/2015 - 07:57:49PM] Error: Cannot call RegisterMod() on a None object, aborting function call stack: [CANS (CB0012CD)].cans_framework.RegisterMyMod() - "CANS_Framework.psc" Line 75 [MME_MilkQUEST (CA00E209)].milkquest.CurrentSize() - "MilkQUEST.psc" Line 740 [alias thePlayerRef on quest MME_MilkQUEST (CA00E209)].MilkPlayerLoadGame.UpdateSize() - "MilkPlayerLoadGame.psc" Line 275 [alias thePlayerRef on quest MME_MilkQUEST (CA00E209)].MilkPlayerLoadGame.OnPlayerLoadGame() - "MilkPlayerLoadGame.psc" Line 59 [09/28/2015 - 07:57:49PM] Error: Array index -1 is out of range (0-127) stack: [CANS (CB0012CD)].cans_framework.RegisterMyMod() - "CANS_Framework.psc" Line 75 [MME_MilkQUEST (CA00E209)].milkquest.CurrentSize() - "MilkQUEST.psc" Line 740 [alias thePlayerRef on quest MME_MilkQUEST (CA00E209)].MilkPlayerLoadGame.UpdateSize() - "MilkPlayerLoadGame.psc" Line 275 [alias thePlayerRef on quest MME_MilkQUEST (CA00E209)].MilkPlayerLoadGame.OnPlayerLoadGame() - "MilkPlayerLoadGame.psc" Line 59 [09/28/2015 - 07:57:49PM] Error: Array index -1 is out of range (0-127) stack: [CANS (CB0012CD)].cans_framework.RegisterMyMod() - "CANS_Framework.psc" Line 75 [MME_MilkQUEST (CA00E209)].milkquest.CurrentSize() - "MilkQUEST.psc" Line 740 [alias thePlayerRef on quest MME_MilkQUEST (CA00E209)].MilkPlayerLoadGame.UpdateSize() - "MilkPlayerLoadGame.psc" Line 275 [alias thePlayerRef on quest MME_MilkQUEST (CA00E209)].MilkPlayerLoadGame.OnPlayerLoadGame() - "MilkPlayerLoadGame.psc" Line 59 [09/28/2015 - 07:57:49PM] Error: Array index -1 is out of range (0-127) stack: [CANS (CB0012CD)].cans_framework.RegisterMyMod() - "CANS_Framework.psc" Line 75 [MME_MilkQUEST (CA00E209)].milkquest.CurrentSize() - "MilkQUEST.psc" Line 740 [alias thePlayerRef on quest MME_MilkQUEST (CA00E209)].MilkPlayerLoadGame.UpdateSize() - "MilkPlayerLoadGame.psc" Line 275 [alias thePlayerRef on quest MME_MilkQUEST (CA00E209)].MilkPlayerLoadGame.OnPlayerLoadGame() - "MilkPlayerLoadGame.psc" Line 59 [09/28/2015 - 07:57:49PM] Error: Cannot call BreastUpdate() on a None object, aborting function call stack: [CANS (CB0012CD)].cans_framework.Breast() - "CANS_Framework.psc" Line 115 [MME_MilkQUEST (CA00E209)].milkquest.CurrentSize() - "MilkQUEST.psc" Line 741 [alias thePlayerRef on quest MME_MilkQUEST (CA00E209)].MilkPlayerLoadGame.UpdateSize() - "MilkPlayerLoadGame.psc" Line 275 [alias thePlayerRef on quest MME_MilkQUEST (CA00E209)].MilkPlayerLoadGame.OnPlayerLoadGame() - "MilkPlayerLoadGame.psc" Line 59 738 line is (Game.GetFormFromFile(0x5e48, "CANS.esp") as Spell).Cast(akActor, akActor) ;Activates the spell and applies the framework while it does give error, it should still work with line 737, right? it seems problem is in ( CANS_Frames[aCount] as CANS_Core ).RegisterMod(ModName, zTarget)
Feliks Posted September 28, 2015 Author Posted September 28, 2015 well.... there is apparently something wrong, If Plugin_CANS && BreastScale == 1 CANS_Framework CANS = Quest.GetQuest("CANS") as CANS_Framework if CANS if !(akActor.HasMagicEffect(Game.GetFormFromFile(0x5e49, "CANS.esp") as MagicEffect)) ;The target does not have the effect. if (akActor.HasSpell(Game.GetFormFromFile(0x5e48, "CANS.esp") as Spell)) ;The target has the spell but not the effect, something was called incorrectly and the effect was dispelled but not the spell akActor.RemoveSpell(Game.GetFormFromFile(0x5e48, "CANS.esp") as Spell) ;Now the target neither has the spell nor the effect EndIf akActor.AddSpell(Game.GetFormFromFile(0x5e48, "CANS.esp") as Spell, false) ;Adds the spell, does not notify if it is added to the Player (Game.GetFormFromFile(0x5e48, "CANS.esp") as Spell).Cast(akActor, akActor) ;Activates the spell and applies the framework EndIf CANS.RegisterMyMod(akActor, "Milk Mod Economy", "Milking") CANS.Breast(akActor, "Milk Mod Economy", CurrentSize) else Debug.notification("Something is wrong with CANS, it might have been updated and is no longer working with MME") endif Papyrus log: [09/28/2015 - 07:57:49PM] Error: (CB005E48): Spell is permanent (e.g. an ability/addiction/disease) and cannot be Cast.. stack: [ (CB005E48)].SPELL.Cast() - "<native>" Line ? [MME_MilkQUEST (CA00E209)].milkquest.CurrentSize() - "MilkQUEST.psc" Line 738 [alias thePlayerRef on quest MME_MilkQUEST (CA00E209)].MilkPlayerLoadGame.UpdateSize() - "MilkPlayerLoadGame.psc" Line 275 [alias thePlayerRef on quest MME_MilkQUEST (CA00E209)].MilkPlayerLoadGame.OnPlayerLoadGame() - "MilkPlayerLoadGame.psc" Line 59 [09/28/2015 - 07:57:49PM] Error: Array index -1 is out of range (0-127) stack: [CANS (CB0012CD)].cans_framework.RegisterMyMod() - "CANS_Framework.psc" Line 56 [MME_MilkQUEST (CA00E209)].milkquest.CurrentSize() - "MilkQUEST.psc" Line 740 [alias thePlayerRef on quest MME_MilkQUEST (CA00E209)].MilkPlayerLoadGame.UpdateSize() - "MilkPlayerLoadGame.psc" Line 275 [alias thePlayerRef on quest MME_MilkQUEST (CA00E209)].MilkPlayerLoadGame.OnPlayerLoadGame() - "MilkPlayerLoadGame.psc" Line 59 [09/28/2015 - 07:57:49PM] Error: Cannot call RegisterMod() on a None object, aborting function call stack: [CANS (CB0012CD)].cans_framework.RegisterMyMod() - "CANS_Framework.psc" Line 75 [MME_MilkQUEST (CA00E209)].milkquest.CurrentSize() - "MilkQUEST.psc" Line 740 [alias thePlayerRef on quest MME_MilkQUEST (CA00E209)].MilkPlayerLoadGame.UpdateSize() - "MilkPlayerLoadGame.psc" Line 275 [alias thePlayerRef on quest MME_MilkQUEST (CA00E209)].MilkPlayerLoadGame.OnPlayerLoadGame() - "MilkPlayerLoadGame.psc" Line 59 [09/28/2015 - 07:57:49PM] Error: Array index -1 is out of range (0-127) stack: [CANS (CB0012CD)].cans_framework.RegisterMyMod() - "CANS_Framework.psc" Line 75 [MME_MilkQUEST (CA00E209)].milkquest.CurrentSize() - "MilkQUEST.psc" Line 740 [alias thePlayerRef on quest MME_MilkQUEST (CA00E209)].MilkPlayerLoadGame.UpdateSize() - "MilkPlayerLoadGame.psc" Line 275 [alias thePlayerRef on quest MME_MilkQUEST (CA00E209)].MilkPlayerLoadGame.OnPlayerLoadGame() - "MilkPlayerLoadGame.psc" Line 59 [09/28/2015 - 07:57:49PM] Error: Array index -1 is out of range (0-127) stack: [CANS (CB0012CD)].cans_framework.RegisterMyMod() - "CANS_Framework.psc" Line 75 [MME_MilkQUEST (CA00E209)].milkquest.CurrentSize() - "MilkQUEST.psc" Line 740 [alias thePlayerRef on quest MME_MilkQUEST (CA00E209)].MilkPlayerLoadGame.UpdateSize() - "MilkPlayerLoadGame.psc" Line 275 [alias thePlayerRef on quest MME_MilkQUEST (CA00E209)].MilkPlayerLoadGame.OnPlayerLoadGame() - "MilkPlayerLoadGame.psc" Line 59 [09/28/2015 - 07:57:49PM] Error: Array index -1 is out of range (0-127) stack: [CANS (CB0012CD)].cans_framework.RegisterMyMod() - "CANS_Framework.psc" Line 75 [MME_MilkQUEST (CA00E209)].milkquest.CurrentSize() - "MilkQUEST.psc" Line 740 [alias thePlayerRef on quest MME_MilkQUEST (CA00E209)].MilkPlayerLoadGame.UpdateSize() - "MilkPlayerLoadGame.psc" Line 275 [alias thePlayerRef on quest MME_MilkQUEST (CA00E209)].MilkPlayerLoadGame.OnPlayerLoadGame() - "MilkPlayerLoadGame.psc" Line 59 [09/28/2015 - 07:57:49PM] Error: Cannot call BreastUpdate() on a None object, aborting function call stack: [CANS (CB0012CD)].cans_framework.Breast() - "CANS_Framework.psc" Line 115 [MME_MilkQUEST (CA00E209)].milkquest.CurrentSize() - "MilkQUEST.psc" Line 741 [alias thePlayerRef on quest MME_MilkQUEST (CA00E209)].MilkPlayerLoadGame.UpdateSize() - "MilkPlayerLoadGame.psc" Line 275 [alias thePlayerRef on quest MME_MilkQUEST (CA00E209)].MilkPlayerLoadGame.OnPlayerLoadGame() - "MilkPlayerLoadGame.psc" Line 59 738 line is (Game.GetFormFromFile(0x5e48, "CANS.esp") as Spell).Cast(akActor, akActor) ;Activates the spell and applies the framework while it does give error, it should still work with line 737, right? it seems problem is in ( CANS_Frames[aCount] as CANS_Core ).RegisterMod(ModName, zTarget) Few quick questions about this, when exactly is this happening? Right on startup? Or when it tries to register a new actor? I'm finishing up revisions on the framework and core script, and this part was definitely touched, I'll toss the revision up, and I'm gonna modify the implementation guide too. The guide as it stands should work, but the magic effect became a go between a few updates ago and I'm going to modify the implementation to have people just go around it. Hopefully this should prevent these problems. Weird that not everyone had them.
Antonio121989 Posted September 29, 2015 Posted September 29, 2015 Do I still need to look into the forun to find the patches, or they are already included in CANS? Also does it support SO3?
Feliks Posted September 29, 2015 Author Posted September 29, 2015 Do I still need to look into the forun to find the patches, or they are already included in CANS? Also does it support SO3? CANS doesn't provide native support for anything, that would risk breaking way too many things. Some mods (MME, Beeing Female, etc) provide native support for CANS. The patches provided in this thread should be considered broken until further testing. I believe the SGO one worked but do not report any popping witnessed while using it. I'm not sure what SO3 is so unless they've got an option for CANS somewhere, no.
Ed86 Posted September 29, 2015 Posted September 29, 2015 well.... there is apparently something wrong, If Plugin_CANS && BreastScale == 1 CANS_Framework CANS = Quest.GetQuest("CANS") as CANS_Framework if CANS if !(akActor.HasMagicEffect(Game.GetFormFromFile(0x5e49, "CANS.esp") as MagicEffect)) ;The target does not have the effect. if (akActor.HasSpell(Game.GetFormFromFile(0x5e48, "CANS.esp") as Spell)) ;The target has the spell but not the effect, something was called incorrectly and the effect was dispelled but not the spell akActor.RemoveSpell(Game.GetFormFromFile(0x5e48, "CANS.esp") as Spell) ;Now the target neither has the spell nor the effect EndIf akActor.AddSpell(Game.GetFormFromFile(0x5e48, "CANS.esp") as Spell, false) ;Adds the spell, does not notify if it is added to the Player (Game.GetFormFromFile(0x5e48, "CANS.esp") as Spell).Cast(akActor, akActor) ;Activates the spell and applies the framework EndIf CANS.RegisterMyMod(akActor, "Milk Mod Economy", "Milking") CANS.Breast(akActor, "Milk Mod Economy", CurrentSize) else Debug.notification("Something is wrong with CANS, it might have been updated and is no longer working with MME") endifPapyrus log: [09/28/2015 - 07:57:49PM] Error: (CB005E48): Spell is permanent (e.g. an ability/addiction/disease) and cannot be Cast.. stack: [ (CB005E48)].SPELL.Cast() - "" Line ? [MME_MilkQUEST (CA00E209)].milkquest.CurrentSize() - "MilkQUEST.psc" Line 738 [alias thePlayerRef on quest MME_MilkQUEST (CA00E209)].MilkPlayerLoadGame.UpdateSize() - "MilkPlayerLoadGame.psc" Line 275 [alias thePlayerRef on quest MME_MilkQUEST (CA00E209)].MilkPlayerLoadGame.OnPlayerLoadGame() - "MilkPlayerLoadGame.psc" Line 59 [09/28/2015 - 07:57:49PM] Error: Array index -1 is out of range (0-127) stack: [CANS (CB0012CD)].cans_framework.RegisterMyMod() - "CANS_Framework.psc" Line 56 [MME_MilkQUEST (CA00E209)].milkquest.CurrentSize() - "MilkQUEST.psc" Line 740 [alias thePlayerRef on quest MME_MilkQUEST (CA00E209)].MilkPlayerLoadGame.UpdateSize() - "MilkPlayerLoadGame.psc" Line 275 [alias thePlayerRef on quest MME_MilkQUEST (CA00E209)].MilkPlayerLoadGame.OnPlayerLoadGame() - "MilkPlayerLoadGame.psc" Line 59 [09/28/2015 - 07:57:49PM] Error: Cannot call RegisterMod() on a None object, aborting function call stack: [CANS (CB0012CD)].cans_framework.RegisterMyMod() - "CANS_Framework.psc" Line 75 [MME_MilkQUEST (CA00E209)].milkquest.CurrentSize() - "MilkQUEST.psc" Line 740 [alias thePlayerRef on quest MME_MilkQUEST (CA00E209)].MilkPlayerLoadGame.UpdateSize() - "MilkPlayerLoadGame.psc" Line 275 [alias thePlayerRef on quest MME_MilkQUEST (CA00E209)].MilkPlayerLoadGame.OnPlayerLoadGame() - "MilkPlayerLoadGame.psc" Line 59 [09/28/2015 - 07:57:49PM] Error: Array index -1 is out of range (0-127) stack: [CANS (CB0012CD)].cans_framework.RegisterMyMod() - "CANS_Framework.psc" Line 75 [MME_MilkQUEST (CA00E209)].milkquest.CurrentSize() - "MilkQUEST.psc" Line 740 [alias thePlayerRef on quest MME_MilkQUEST (CA00E209)].MilkPlayerLoadGame.UpdateSize() - "MilkPlayerLoadGame.psc" Line 275 [alias thePlayerRef on quest MME_MilkQUEST (CA00E209)].MilkPlayerLoadGame.OnPlayerLoadGame() - "MilkPlayerLoadGame.psc" Line 59 [09/28/2015 - 07:57:49PM] Error: Array index -1 is out of range (0-127) stack: [CANS (CB0012CD)].cans_framework.RegisterMyMod() - "CANS_Framework.psc" Line 75 [MME_MilkQUEST (CA00E209)].milkquest.CurrentSize() - "MilkQUEST.psc" Line 740 [alias thePlayerRef on quest MME_MilkQUEST (CA00E209)].MilkPlayerLoadGame.UpdateSize() - "MilkPlayerLoadGame.psc" Line 275 [alias thePlayerRef on quest MME_MilkQUEST (CA00E209)].MilkPlayerLoadGame.OnPlayerLoadGame() - "MilkPlayerLoadGame.psc" Line 59 [09/28/2015 - 07:57:49PM] Error: Array index -1 is out of range (0-127) stack: [CANS (CB0012CD)].cans_framework.RegisterMyMod() - "CANS_Framework.psc" Line 75 [MME_MilkQUEST (CA00E209)].milkquest.CurrentSize() - "MilkQUEST.psc" Line 740 [alias thePlayerRef on quest MME_MilkQUEST (CA00E209)].MilkPlayerLoadGame.UpdateSize() - "MilkPlayerLoadGame.psc" Line 275 [alias thePlayerRef on quest MME_MilkQUEST (CA00E209)].MilkPlayerLoadGame.OnPlayerLoadGame() - "MilkPlayerLoadGame.psc" Line 59 [09/28/2015 - 07:57:49PM] Error: Cannot call BreastUpdate() on a None object, aborting function call stack: [CANS (CB0012CD)].cans_framework.Breast() - "CANS_Framework.psc" Line 115 [MME_MilkQUEST (CA00E209)].milkquest.CurrentSize() - "MilkQUEST.psc" Line 741 [alias thePlayerRef on quest MME_MilkQUEST (CA00E209)].MilkPlayerLoadGame.UpdateSize() - "MilkPlayerLoadGame.psc" Line 275 [alias thePlayerRef on quest MME_MilkQUEST (CA00E209)].MilkPlayerLoadGame.OnPlayerLoadGame() - "MilkPlayerLoadGame.psc" Line 59 738 line is (Game.GetFormFromFile(0x5e48, "CANS.esp") as Spell).Cast(akActor, akActor) ;Activates the spell and applies the framework while it does give error, it should still work with line 737, right? it seems problem is in ( CANS_Frames[aCount] as CANS_Core ).RegisterMod(ModName, zTarget) Few quick questions about this, when exactly is this happening? Right on startup? Or when it tries to register a new actor? I'm finishing up revisions on the framework and core script, and this part was definitely touched, I'll toss the revision up, and I'm gonna modify the implementation guide too. The guide as it stands should work, but the magic effect became a go between a few updates ago and I'm going to modify the implementation to have people just go around it. Hopefully this should prevent these problems. Weird that not everyone had them. Happens every time mod tries to update breast
Feliks Posted October 1, 2015 Author Posted October 1, 2015 Howdy y'all, here's the deal: This week has been living hell. Schoolwork and other commitments have been killing me. This is what I get for trying to take a vacation for a weekend I guess. CANS is getting another re-work. It should be fairly quick compared to the last one. v 0.16 will solve the current problems as well as (hopefully) removing the actor limit altogether. Work will commence in full sometime tomorrow (gods willing) and proceed in force through friday and sunday. Saturday is fucked for me, but everything else should work. Plan is to have v 0.16 ready (or at least nearly so) by monday morning, and tested by tuesday morning.
Feliks Posted October 2, 2015 Author Posted October 2, 2015 Alright everyone this is the big announcement, the second to last big one in CANS lifestyle probably. The CANS rewrite begins now. I'm rewriting the entire thing from scratch essentially, retooling, removing, revamping, and improving almost every single aspect of it. It's going to come with better tracelogging, easier troubleshooting, and better functioning. This means something important: Remove CANS 0.15 and lower. Maybe not just now, but you're gonna need a clean save before upgrading to the next release. See you on the other side.
Feliks Posted October 7, 2015 Author Posted October 7, 2015 Hey guys, sorry for the bump but I needed to update the OP and figured I could ask for help/feedback at the same time. It's all being rewritten. All of it. I expect the MCM to take the most time just because of how long it got last time. We'll see. I'm writing the new node update functions right now, and intend to modify the way Additive works. Of course you can still allow straight additive, but I was looking at some results in testing (Just pushing things to the limit to see how they end up) and discovered that things get a tad... ridiculous real quick. I'm thinking that what I'll do is take the highest value plus 1/x * the next highest and then 1/x^2 * the third and 1/x^3 * the fourth and so on to create a descending additive type thing. x would be configurable in the mcm with a default value of 2 or 3 (a value of 1 would disable this). This way instead of 4 mods requesting a scale of 3 and returning breasts at a scale of 12 (roughly the size of the Hindenburg) it would return something in the neighborhood of 5-7 (depending on the default value and how bad my mental math was just now). Any thoughts on that idea? And are there any features (besides compatibility patches) you guys would like to see in the next release or so? Because now is the time to get them in. Edit: Oh, and new features/info comin' in below the break: Unlimited actors. Seriously. up to (theoretically) 384 mods supported. Could be more, but since you can only load 254 (assuming you only load Skyrim.esm and CANS.esp) I figured adding support up to 512 was a tad ridiculous. If you guys want it though, I can deliver. No more hidden items/magiceffects/questaliases/extra scripts. The magic effect will be preserved for backwards compatibility, but everything will now be handled by one script. This "One Script" paradigm may be removed if CANS seems to slow down under stress. CANS will instead be modified to multi-thread for updates as soon as I can find a good way to dynamically attach scripts to actors/aliases without any of the issues once present. New configuration options Significantly improved trace-logging and therefore troubleshooting.
Lauralin Posted October 7, 2015 Posted October 7, 2015 I'm thinking that what I'll do is take the highest value plus 1/x * the next highest and then 1/x^2 * the third and 1/x^3 * the fourth and so on to create a descending additive type thing. x would be configurable in the mcm with a default value of 2 or 3 (a value of 1 would disable this). This way instead of 4 mods requesting a scale of 3 and returning breasts at a scale of 12 (roughly the size of the Hindenburg) it would return something in the neighborhood of 5-7 (depending on the default value and how bad my mental math was just now). This is similar to something I played around with. Only suggestion I have is to also include something that accumulates anything that scales a node down in a separate value and then gets combined somehow with the accumulated value of everything scaling the node up. I just subtracted the value that decreased the scale from the value that increased it. For example, if the scale increase ended up being 1.5 and the scale decrease 0.8, the final value used would be 1.5 - (1 - 0.8) = 1.3. This made it so that an increase could easily swamp a decrease but not as easily as it would have been had all of them had been combined and the decrease was say the 3rd or 4th highest value.
Arhon Posted October 7, 2015 Posted October 7, 2015 Oh that damn red wall of text .... you got me there...
Feliks Posted October 7, 2015 Author Posted October 7, 2015 Oh that damn red wall of text .... you got me there... Sorry mate, just a few more days tops.
Arhon Posted October 7, 2015 Posted October 7, 2015 Oh that damn red wall of text .... you got me there... Sorry mate, just a few more days tops. At least i didnt open the beer , I was like 1 sec away from opening it to congratulate the mods release.
Marauderrr Posted October 7, 2015 Posted October 7, 2015 Hey guys, sorry for the bump but I needed to update the OP and figured I could ask for help/feedback at the same time. It's all being rewritten. All of it. I expect the MCM to take the most time just because of how long it got last time. We'll see. I'm writing the new node update functions right now, and intend to modify the way Additive works. Of course you can still allow straight additive, but I was looking at some results in testing (Just pushing things to the limit to see how they end up) and discovered that things get a tad... ridiculous real quick. I'm thinking that what I'll do is take the highest value plus 1/x * the next highest and then 1/x^2 * the third and 1/x^3 * the fourth and so on to create a descending additive type thing. x would be configurable in the mcm with a default value of 2 or 3 (a value of 1 would disable this). This way instead of 4 mods requesting a scale of 3 and returning breasts at a scale of 12 (roughly the size of the Hindenburg) it would return something in the neighborhood of 5-7 (depending on the default value and how bad my mental math was just now). Any thoughts on that idea? And are there any features (besides compatibility patches) you guys would like to see in the next release or so? Because now is the time to get them in. Edit: Oh, and new features/info comin' in below the break: Unlimited actors. Seriously. up to (theoretically) 384 mods supported. Could be more, but since you can only load 254 (assuming you only load Skyrim.esm and CANS.esp) I figured adding support up to 512 was a tad ridiculous. If you guys want it though, I can deliver. No more hidden items/magiceffects/questaliases/extra scripts. The magic effect will be preserved for backwards compatibility, but everything will now be handled by one script. This "One Script" paradigm may be removed if CANS seems to slow down under stress. CANS will instead be modified to multi-thread for updates as soon as I can find a good way to dynamically attach scripts to actors/aliases without any of the issues once present. New configuration options Significantly improved trace-logging and therefore troubleshooting. I like what your thinking with the values there...sounds good.
Feliks Posted October 7, 2015 Author Posted October 7, 2015 I'm thinking that what I'll do is take the highest value plus 1/x * the next highest and then 1/x^2 * the third and 1/x^3 * the fourth and so on to create a descending additive type thing. x would be configurable in the mcm with a default value of 2 or 3 (a value of 1 would disable this). This way instead of 4 mods requesting a scale of 3 and returning breasts at a scale of 12 (roughly the size of the Hindenburg) it would return something in the neighborhood of 5-7 (depending on the default value and how bad my mental math was just now). This is similar to something I played around with. Only suggestion I have is to also include something that accumulates anything that scales a node down in a separate value and then gets combined somehow with the accumulated value of everything scaling the node up. I just subtracted the value that decreased the scale from the value that increased it. For example, if the scale increase ended up being 1.5 and the scale decrease 0.8, the final value used would be 1.5 - (1 - 0.8) = 1.3. This made it so that an increase could easily swamp a decrease but not as easily as it would have been had all of them had been combined and the decrease was say the 3rd or 4th highest value. Thanks for the advice, I'd kind of forgotten that I'd have to account for decreases in this mode. On a related note, values of 1.0. Currently they're just completely ignored by the calculation, do you think they should be included in modes other than the additive? The weighted average mode (That I don't think anyone uses) specifically.
sunhawken Posted October 7, 2015 Posted October 7, 2015 Can you please help with these I read your FAQ and i'm totally confused... Scriptname BodyScaleRandomizerScript Extends Quest Import StorageUtil Import SexLabFramework Actor Property PlayerRef Auto Spell Property BSRKickSpell Auto Spell Property BSRGetSetSpell Auto Spell Property BSRLoadSpell Auto ;MagicEffect Property BSRSetScaleEffect Auto String Property LBreastNode = "NPC L Breast" AutoReadOnly String Property RBreastNode = "NPC R Breast" AutoReadOnly String Property GenitalsNode = "NPC Genitals01 [Gen01]" AutoReadOnly String Property ScrotumNode = "NPC GenitalsScrotum [GenScrot]" AutoReadOnly String Property BellyNode = "NPC Belly" AutoReadOnly String Property LButtNode = "NPC L Butt" AutoReadOnly String Property RButtNode = "NPC R Butt" AutoReadOnly Faction Property BSRInitialized Auto Int Property GetActorKey = 49 Auto Hidden Int Property ReRandomizeKey = 50 Auto Hidden Int Property NeckGapModKey Auto Hidden Float Property UpdateInterval = 10.00 Auto Hidden Bool Property BustRandomizeEnable = True Auto Hidden Bool Property PenisRandomizeEnable = True Auto Hidden Bool Property ButtRandomizeEnable Auto Hidden Bool Property BellyRandomizeEnable Auto Hidden Bool Property HeightRandomizeEnable Auto Hidden Bool Property WeightRandomizeEnable Auto Hidden Float Property BustMin = 0.80 Auto Hidden Float Property BustMax = 1.50 Auto Hidden Float Property PenisMin = 0.80 Auto Hidden Float Property PenisMax = 1.50 Auto Hidden Float Property ButtMin = 0.80 Auto Hidden Float Property ButtMax = 1.50 Auto Hidden Float Property BellyMin = 1.00 Auto Hidden Float Property BellyMax = 2.00 Auto Hidden Float Property HeightMinMale = 0.97 Auto Hidden Float Property HeightMaxMale = 1.07 Auto Hidden Float Property HeightMinFemale = 0.94 Auto Hidden Float Property HeightMaxFemale = 1.04 Auto Hidden Float Property WeightMin = 0.00 Auto Hidden Float Property WeightMax = 100.00 Auto Hidden Float Property HeightDevArgonianMaxFemale = 0.00 Auto Hidden Float Property HeightDevArgonianMinFemale = 0.00 Auto Hidden Float Property HeightDevBretonMaxFemale = 0.00 Auto Hidden Float Property HeightDevBretonMinFemale = 0.00 Auto Hidden Float Property HeightDevDarkElfMaxFemale = 0.00 Auto Hidden Float Property HeightDevDarkElfMinFemale = 0.00 Auto Hidden Float Property HeightDevHighElfMaxFemale = 0.00 Auto Hidden Float Property HeightDevHighElfMinFemale = 0.00 Auto Hidden Float Property HeightDevImperialMaxFemale = 0.00 Auto Hidden Float Property HeightDevImperialMinFemale = 0.00 Auto Hidden Float Property HeightDevKhajiitMaxFemale = 0.00 Auto Hidden Float Property HeightDevKhajiitMinFemale = 0.00 Auto Hidden Float Property HeightDevNordMaxFemale = 0.00 Auto Hidden Float Property HeightDevNordMinFemale = 0.00 Auto Hidden Float Property HeightDevOrcMaxFemale = 0.00 Auto Hidden Float Property HeightDevOrcMinFemale = 0.00 Auto Hidden Float Property HeightDevRedguardMaxFemale = 0.00 Auto Hidden Float Property HeightDevRedguardMinFemale = 0.00 Auto Hidden Float Property HeightDevWoodElfMaxFemale = 0.00 Auto Hidden Float Property HeightDevWoodElfMinFemale = 0.00 Auto Hidden Float Property HeightDevArgonianMaxMale = 0.00 Auto Hidden Float Property HeightDevArgonianMinMale = 0.00 Auto Hidden Float Property HeightDevBretonMaxMale = 0.00 Auto Hidden Float Property HeightDevBretonMinMale = 0.00 Auto Hidden Float Property HeightDevDarkElfMaxMale = 0.00 Auto Hidden Float Property HeightDevDarkElfMinMale = 0.00 Auto Hidden Float Property HeightDevHighElfMaxMale = 0.00 Auto Hidden Float Property HeightDevHighElfMinMale = 0.00 Auto Hidden Float Property HeightDevImperialMaxMale = 0.00 Auto Hidden Float Property HeightDevImperialMinMale = 0.00 Auto Hidden Float Property HeightDevKhajiitMaxMale = 0.00 Auto Hidden Float Property HeightDevKhajiitMinMale = 0.00 Auto Hidden Float Property HeightDevNordMaxMale = 0.00 Auto Hidden Float Property HeightDevNordMinMale = 0.00 Auto Hidden Float Property HeightDevOrcMaxMale = 0.00 Auto Hidden Float Property HeightDevOrcMinMale = 0.00 Auto Hidden Float Property HeightDevRedguardMaxMale = 0.00 Auto Hidden Float Property HeightDevRedguardMinMale = 0.00 Auto Hidden Float Property HeightDevWoodElfMaxMale = 0.00 Auto Hidden Float Property HeightDevWoodElfMinMale = 0.00 Auto Hidden Float Function GetRaceDev(Actor ActorRef, Int flag) If (ActorRef == None) return 0.0 EndIf String sRaceName = ActorRef.GetLeveledActorBase().GetRace().GetName() Int iSex = ActorRef.GetLeveledActorBase().GetSex() If (sRaceName == "Argonian") If (flag == 0) If (iSex == 0) return HeightDevArgonianMinMale Else return HeightDevArgonianMinFemale EndIf Else If (iSex == 0) return HeightDevArgonianMaxMale Else return HeightDevArgonianMaxFemale EndIf EndIf ElseIf (sRaceName == "Breton") If (flag == 0) If (iSex == 0) return HeightDevBretonMinMale Else return HeightDevBretonMinFemale EndIf Else If (iSex == 0) return HeightDevBretonMaxMale Else return HeightDevBretonMaxFemale EndIf EndIf ElseIf (sRaceName == "Dark Elf") If (flag == 0) If (iSex == 0) return HeightDevDarkElfMinMale Else return HeightDevDarkElfMinFemale EndIf Else If (iSex == 0) return HeightDevDarkElfMaxMale Else return HeightDevDarkElfMaxFemale EndIf EndIf ElseIf (sRaceName == "High Elf") If (flag == 0) If (iSex == 0) return HeightDevHighElfMinMale Else return HeightDevHighElfMinFemale EndIf Else If (iSex == 0) return HeightDevHighElfMaxMale Else return HeightDevHighElfMaxFemale EndIf EndIf ElseIf (sRaceName == "IMPERIAL") If (flag == 0) If (iSex == 0) return HeightDevImperialMinMale Else return HeightDevImperialMinFemale EndIf Else If (iSex == 0) return HeightDevImperialMaxMale Else return HeightDevImperialMaxFemale EndIf EndIf ElseIf (sRaceName == "Khajiit") If (flag == 0) If (iSex == 0) return HeightDevKhajiitMinMale Else return HeightDevKhajiitMinFemale EndIf Else If (iSex == 0) return HeightDevKhajiitMaxMale Else return HeightDevKhajiitMaxFemale EndIf EndIf ElseIf (sRaceName == "Nord") If (flag == 0) If (iSex == 0) return HeightDevNordMinMale Else return HeightDevNordMinFemale EndIf Else If (iSex == 0) return HeightDevNordMaxMale Else return HeightDevNordMaxFemale EndIf EndIf ElseIf (sRaceName == "Orc") If (flag == 0) If (iSex == 0) return HeightDevOrcMinMale Else return HeightDevOrcMinFemale EndIf Else If (iSex == 0) return HeightDevOrcMaxMale Else return HeightDevOrcMaxFemale EndIf EndIf ElseIf (sRaceName == "Redguard") If (flag == 0) If (iSex == 0) return HeightDevRedguardMinMale Else return HeightDevRedguardMinFemale EndIf Else If (iSex == 0) return HeightDevRedguardMaxMale Else return HeightDevRedguardMaxFemale EndIf EndIf ElseIf (sRaceName == "Wood Elf") If (flag == 0) If (iSex == 0) return HeightDevWoodElfMinMale Else return HeightDevWoodElfMinFemale EndIf Else If (iSex == 0) return HeightDevWoodElfMaxMale Else return HeightDevWoodElfMaxFemale EndIf EndIf Else return 0.0 EndIf EndFunction Function ReLoad() If PlayerRef.HasSpell(BSRKickSpell) BSRLoadSpell.Cast(PlayerRef) EndIf EndFunction Function GetRandomScale(Actor ActorRef) GetRandomBust(ActorRef) GetRandomPenis(ActorRef) GetRandomButt(ActorRef) GetRandomBelly(ActorRef) GetRandomHeight(ActorRef) GetRandomWeight(ActorRef) ActorRef.AddToFaction(BSRInitialized) EndFunction Function GetRandomBust(Actor ActorRef) Float Random = 0.0 If NetImmerse.HasNode(ActorRef, LBreastNode, False) && NetImmerse.HasNode(ActorRef, RBreastNode, False) Random = Utility.RandomFloat(BustMin, BustMax) SetFloatValue(ActorRef.GetLeveledActorBase(), "BSR_Bust", Random) EndIf EndFunction Function GetRandomPenis(Actor ActorRef) Float Random = 0.0 If NetImmerse.HasNode(ActorRef, GenitalsNode, False) && NetImmerse.HasNode(ActorRef, ScrotumNode, False) Random = Utility.RandomFloat(PenisMin, PenisMax) SetFloatValue(ActorRef.GetLeveledActorBase(), "BSR_Penis", Random) EndIf EndFunction Function GetRandomButt(Actor ActorRef) Float Random = 0.0 If NetImmerse.HasNode(ActorRef, LButtNode, False) && NetImmerse.HasNode(ActorRef, RButtNode, False) Random = Utility.RandomFloat(ButtMin, ButtMax) SetFloatValue(ActorRef.GetLeveledActorBase(), "BSR_Butt", Random) EndIf EndFunction Function GetRandomBelly(Actor ActorRef) Float Random = 0.0 If NetImmerse.HasNode(ActorRef, BellyNode, False) Random = Utility.RandomFloat(BellyMin, BellyMax) SetFloatValue(ActorRef.GetLeveledActorBase(), "BSR_Belly", Random) EndIf EndFunction Function GetRandomHeight(Actor ActorRef) Float Random = 0.0 Float HeightMin = 0.0 Float HeightMax = 0.0 If ActorRef.GetLeveledActorBase().GetSex() == 0 HeightMin = HeightMinMale + GetRaceDev(ActorRef, 0) HeightMax = HeightMaxMale + GetRaceDev(ActorRef, 1) Random = Utility.RandomFloat(HeightMin, HeightMax) Else HeightMin = HeightMinFemale + GetRaceDev(ActorRef, 0) HeightMax = HeightMaxFemale + GetRaceDev(ActorRef, 1) Random = Utility.RandomFloat(HeightMin, HeightMax) EndIf SetFloatValue(ActorRef.GetLeveledActorBase(), "BSR_Height", Random) EndFunction Function GetRandomWeight(Actor ActorRef) Float WeightOrg = ActorRef.GetLeveledActorBase().GetWeight() Float Random = Utility.RandomFloat(WeightMin, WeightMax) Float NeckGapCorrection = (WeightOrg-Random)/100.0 SetFloatValue(ActorRef.GetLeveledActorBase(), "BSR_Weight", Random) SetFloatValue(ActorRef.GetLeveledActorBase(), "BSR_NeckGapCorrection", NeckGapCorrection) EndFunction Function SetActorScale(Actor ActorRef) If BustRandomizeEnable SetScaleBust(ActorRef) EndIf If PenisRandomizeEnable SetScalePenis(ActorRef) EndIf If ButtRandomizeEnable SetScaleButt(ActorRef) EndIf If BellyRandomizeEnable SetScaleBelly(ActorRef) EndIf If (!ActorRef.IsDead()) If HeightRandomizeEnable SetScaleHeight(ActorRef) EndIf If WeightRandomizeEnable SetScaleWeight(ActorRef) EndIf EndIf EndFunction Function SetScaleBust(Actor ActorRef) Float NewBust = 0.0 If GetIntValue(ActorRef.GetLeveledActorBase(), "BSR_BustNot") != 1 If GetIntValue(ActorRef.GetLeveledActorBase(), "PRG_IsPregnant") != 1 || GetIntValue(ActorRef.GetLeveledActorBase(), "PRG_IsPregnant") == 1 && GetIntValue(ActorRef.GetLeveledActorBase(), "PRG_BreastExclude") == 1 NewBust = GetFloatValue(ActorRef.GetLeveledActorBase(), "BSR_Bust") EndIf EndIf If NetImmerse.HasNode(ActorRef, LBreastNode, False) && NetImmerse.HasNode(ActorRef, RBreastNode, False) && (NewBust > 0.0) NetImmerse.SetNodeScale(ActorRef, LBreastNode, NewBust, False) NetImmerse.SetNodeScale(ActorRef, RBreastNode, NewBust , False) EndIf EndFunction Function SetScalePenis(Actor ActorRef) Float NewPenis = 0.0 If GetIntValue(ActorRef.GetLeveledActorBase(), "BSR_PenisNot") != 1 NewPenis = GetFloatValue(ActorRef.GetLeveledActorBase(), "BSR_Penis") EndIf If NetImmerse.HasNode(ActorRef, GenitalsNode, False) && NetImmerse.HasNode(ActorRef, ScrotumNode, False) && (NewPenis > 0.0) NetImmerse.SetNodeScale(ActorRef, GenitalsNode, NewPenis, False) NetImmerse.SetNodeScale(ActorRef, ScrotumNode, NewPenis / 1.5 , False) EndIf EndFunction Function SetScaleButt(Actor ActorRef) Float NewButt = 0.0 If GetIntValue(ActorRef.GetLeveledActorBase(), "BSR_ButtNot") != 1 NewButt = GetFloatValue(ActorRef.GetLeveledActorBase(), "BSR_Butt") EndIf If NetImmerse.HasNode(ActorRef, LButtNode, False) && NetImmerse.HasNode(ActorRef, RButtNode, False) && (NewButt > 0.0) NetImmerse.SetNodeScale(ActorRef, LButtNode, NewButt, False) NetImmerse.SetNodeScale(ActorRef, RButtNode, NewButt, False) EndIf EndFunction Function SetScaleBelly(Actor ActorRef) Float NewBelly = 0.0 If GetIntValue(ActorRef.GetLeveledActorBase(), "PRG_IsPregnant") != 1 || GetIntValue(ActorRef.GetLeveledActorBase(), "PRG_IsPregnant") == 1 && GetIntValue(ActorRef.GetLeveledActorBase(), "PRG_BellyExclude") == 1 If GetIntValue(ActorRef.GetLeveledActorBase(), "BSR_BellyNot") != 1 NewBelly = GetFloatValue(ActorRef.GetLeveledActorBase(), "BSR_Belly") EndIf EndIf If NetImmerse.HasNode(ActorRef, BellyNode, False) && (NewBelly > 0.0) NetImmerse.SetNodeScale(ActorRef, BellyNode, NewBelly, False) EndIf EndFunction Function SetScaleHeight(Actor ActorRef) Float NewHeight = 0.0 If GetIntValue(ActorRef.GetLeveledActorBase(), "BSR_HeightNot") != 1 NewHeight = GetFloatValue(ActorRef.GetLeveledActorBase(), "BSR_Height") EndIf If !ActorRef.IsOnMount() && (NewHeight > 0) && (!SexLabUtil.IsActorActive(ActorRef)) ActorRef.GetLeveledActorBase().SetHeight(NewHeight) ActorRef.QueueNiNodeUpdate() ActorRef.SetScale(NewHeight) EndIf EndFunction Function SetScaleWeight(Actor ActorRef) Float NewWeight = 0.0 Float OrgWeight = 0.0 Float NeckDelta = 0.0 Float NeckDeltaCorrection = 0.0 If GetIntValue(ActorRef.GetLeveledActorBase(), "BSR_WeightNot") != 1 NewWeight = GetFloatValue(ActorRef.GetLeveledActorBase(), "BSR_Weight") OrgWeight = ActorRef.GetLeveledActorBase().GetWeight() NeckDeltaCorrection = GetFloatValue(ActorRef.GetLeveledActorBase(), "BSR_NeckGapCorrection") EndIf If !ActorRef.IsOnMount() && (NewWeight > 0.0) && (OrgWeight > 0.0) NeckDelta = (OrgWeight - NewWeight ) / 100.0 + NeckDeltaCorrection ActorRef.GetLeveledActorBase().SetWeight(NewWeight) ActorRef.QueueNiNodeUpdate() ActorRef.UpdateWeight(NeckDelta) EndIf EndFunction
Feliks Posted October 7, 2015 Author Posted October 7, 2015 Can you please help with these I read your FAQ and i'm totally confused... Scriptname BodyScaleRandomizerScript Extends Quest Import StorageUtil Import SexLabFramework Actor Property PlayerRef Auto Spell Property BSRKickSpell Auto Spell Property BSRGetSetSpell Auto Spell Property BSRLoadSpell Auto ;MagicEffect Property BSRSetScaleEffect Auto String Property LBreastNode = "NPC L Breast" AutoReadOnly String Property RBreastNode = "NPC R Breast" AutoReadOnly String Property GenitalsNode = "NPC Genitals01 [Gen01]" AutoReadOnly String Property ScrotumNode = "NPC GenitalsScrotum [GenScrot]" AutoReadOnly String Property BellyNode = "NPC Belly" AutoReadOnly String Property LButtNode = "NPC L Butt" AutoReadOnly String Property RButtNode = "NPC R Butt" AutoReadOnly Faction Property BSRInitialized Auto Int Property GetActorKey = 49 Auto Hidden Int Property ReRandomizeKey = 50 Auto Hidden Int Property NeckGapModKey Auto Hidden Float Property UpdateInterval = 10.00 Auto Hidden Bool Property BustRandomizeEnable = True Auto Hidden Bool Property PenisRandomizeEnable = True Auto Hidden Bool Property ButtRandomizeEnable Auto Hidden Bool Property BellyRandomizeEnable Auto Hidden Bool Property HeightRandomizeEnable Auto Hidden Bool Property WeightRandomizeEnable Auto Hidden Float Property BustMin = 0.80 Auto Hidden Float Property BustMax = 1.50 Auto Hidden Float Property PenisMin = 0.80 Auto Hidden Float Property PenisMax = 1.50 Auto Hidden Float Property ButtMin = 0.80 Auto Hidden Float Property ButtMax = 1.50 Auto Hidden Float Property BellyMin = 1.00 Auto Hidden Float Property BellyMax = 2.00 Auto Hidden Float Property HeightMinMale = 0.97 Auto Hidden Float Property HeightMaxMale = 1.07 Auto Hidden Float Property HeightMinFemale = 0.94 Auto Hidden Float Property HeightMaxFemale = 1.04 Auto Hidden Float Property WeightMin = 0.00 Auto Hidden Float Property WeightMax = 100.00 Auto Hidden Float Property HeightDevArgonianMaxFemale = 0.00 Auto Hidden Float Property HeightDevArgonianMinFemale = 0.00 Auto Hidden Float Property HeightDevBretonMaxFemale = 0.00 Auto Hidden Float Property HeightDevBretonMinFemale = 0.00 Auto Hidden Float Property HeightDevDarkElfMaxFemale = 0.00 Auto Hidden Float Property HeightDevDarkElfMinFemale = 0.00 Auto Hidden Float Property HeightDevHighElfMaxFemale = 0.00 Auto Hidden Float Property HeightDevHighElfMinFemale = 0.00 Auto Hidden Float Property HeightDevImperialMaxFemale = 0.00 Auto Hidden Float Property HeightDevImperialMinFemale = 0.00 Auto Hidden Float Property HeightDevKhajiitMaxFemale = 0.00 Auto Hidden Float Property HeightDevKhajiitMinFemale = 0.00 Auto Hidden Float Property HeightDevNordMaxFemale = 0.00 Auto Hidden Float Property HeightDevNordMinFemale = 0.00 Auto Hidden Float Property HeightDevOrcMaxFemale = 0.00 Auto Hidden Float Property HeightDevOrcMinFemale = 0.00 Auto Hidden Float Property HeightDevRedguardMaxFemale = 0.00 Auto Hidden Float Property HeightDevRedguardMinFemale = 0.00 Auto Hidden Float Property HeightDevWoodElfMaxFemale = 0.00 Auto Hidden Float Property HeightDevWoodElfMinFemale = 0.00 Auto Hidden Float Property HeightDevArgonianMaxMale = 0.00 Auto Hidden Float Property HeightDevArgonianMinMale = 0.00 Auto Hidden Float Property HeightDevBretonMaxMale = 0.00 Auto Hidden Float Property HeightDevBretonMinMale = 0.00 Auto Hidden Float Property HeightDevDarkElfMaxMale = 0.00 Auto Hidden Float Property HeightDevDarkElfMinMale = 0.00 Auto Hidden Float Property HeightDevHighElfMaxMale = 0.00 Auto Hidden Float Property HeightDevHighElfMinMale = 0.00 Auto Hidden Float Property HeightDevImperialMaxMale = 0.00 Auto Hidden Float Property HeightDevImperialMinMale = 0.00 Auto Hidden Float Property HeightDevKhajiitMaxMale = 0.00 Auto Hidden Float Property HeightDevKhajiitMinMale = 0.00 Auto Hidden Float Property HeightDevNordMaxMale = 0.00 Auto Hidden Float Property HeightDevNordMinMale = 0.00 Auto Hidden Float Property HeightDevOrcMaxMale = 0.00 Auto Hidden Float Property HeightDevOrcMinMale = 0.00 Auto Hidden Float Property HeightDevRedguardMaxMale = 0.00 Auto Hidden Float Property HeightDevRedguardMinMale = 0.00 Auto Hidden Float Property HeightDevWoodElfMaxMale = 0.00 Auto Hidden Float Property HeightDevWoodElfMinMale = 0.00 Auto Hidden Float Function GetRaceDev(Actor ActorRef, Int flag) If (ActorRef == None) return 0.0 EndIf String sRaceName = ActorRef.GetLeveledActorBase().GetRace().GetName() Int iSex = ActorRef.GetLeveledActorBase().GetSex() If (sRaceName == "Argonian") If (flag == 0) If (iSex == 0) return HeightDevArgonianMinMale Else return HeightDevArgonianMinFemale EndIf Else If (iSex == 0) return HeightDevArgonianMaxMale Else return HeightDevArgonianMaxFemale EndIf EndIf ElseIf (sRaceName == "Breton") If (flag == 0) If (iSex == 0) return HeightDevBretonMinMale Else return HeightDevBretonMinFemale EndIf Else If (iSex == 0) return HeightDevBretonMaxMale Else return HeightDevBretonMaxFemale EndIf EndIf ElseIf (sRaceName == "Dark Elf") If (flag == 0) If (iSex == 0) return HeightDevDarkElfMinMale Else return HeightDevDarkElfMinFemale EndIf Else If (iSex == 0) return HeightDevDarkElfMaxMale Else return HeightDevDarkElfMaxFemale EndIf EndIf ElseIf (sRaceName == "High Elf") If (flag == 0) If (iSex == 0) return HeightDevHighElfMinMale Else return HeightDevHighElfMinFemale EndIf Else If (iSex == 0) return HeightDevHighElfMaxMale Else return HeightDevHighElfMaxFemale EndIf EndIf ElseIf (sRaceName == "IMPERIAL") If (flag == 0) If (iSex == 0) return HeightDevImperialMinMale Else return HeightDevImperialMinFemale EndIf Else If (iSex == 0) return HeightDevImperialMaxMale Else return HeightDevImperialMaxFemale EndIf EndIf ElseIf (sRaceName == "Khajiit") If (flag == 0) If (iSex == 0) return HeightDevKhajiitMinMale Else return HeightDevKhajiitMinFemale EndIf Else If (iSex == 0) return HeightDevKhajiitMaxMale Else return HeightDevKhajiitMaxFemale EndIf EndIf ElseIf (sRaceName == "Nord") If (flag == 0) If (iSex == 0) return HeightDevNordMinMale Else return HeightDevNordMinFemale EndIf Else If (iSex == 0) return HeightDevNordMaxMale Else return HeightDevNordMaxFemale EndIf EndIf ElseIf (sRaceName == "Orc") If (flag == 0) If (iSex == 0) return HeightDevOrcMinMale Else return HeightDevOrcMinFemale EndIf Else If (iSex == 0) return HeightDevOrcMaxMale Else return HeightDevOrcMaxFemale EndIf EndIf ElseIf (sRaceName == "Redguard") If (flag == 0) If (iSex == 0) return HeightDevRedguardMinMale Else return HeightDevRedguardMinFemale EndIf Else If (iSex == 0) return HeightDevRedguardMaxMale Else return HeightDevRedguardMaxFemale EndIf EndIf ElseIf (sRaceName == "Wood Elf") If (flag == 0) If (iSex == 0) return HeightDevWoodElfMinMale Else return HeightDevWoodElfMinFemale EndIf Else If (iSex == 0) return HeightDevWoodElfMaxMale Else return HeightDevWoodElfMaxFemale EndIf EndIf Else return 0.0 EndIf EndFunction Function ReLoad() If PlayerRef.HasSpell(BSRKickSpell) BSRLoadSpell.Cast(PlayerRef) EndIf EndFunction Function GetRandomScale(Actor ActorRef) GetRandomBust(ActorRef) GetRandomPenis(ActorRef) GetRandomButt(ActorRef) GetRandomBelly(ActorRef) GetRandomHeight(ActorRef) GetRandomWeight(ActorRef) ActorRef.AddToFaction(BSRInitialized) EndFunction Function GetRandomBust(Actor ActorRef) Float Random = 0.0 If NetImmerse.HasNode(ActorRef, LBreastNode, False) && NetImmerse.HasNode(ActorRef, RBreastNode, False) Random = Utility.RandomFloat(BustMin, BustMax) SetFloatValue(ActorRef.GetLeveledActorBase(), "BSR_Bust", Random) EndIf EndFunction Function GetRandomPenis(Actor ActorRef) Float Random = 0.0 If NetImmerse.HasNode(ActorRef, GenitalsNode, False) && NetImmerse.HasNode(ActorRef, ScrotumNode, False) Random = Utility.RandomFloat(PenisMin, PenisMax) SetFloatValue(ActorRef.GetLeveledActorBase(), "BSR_Penis", Random) EndIf EndFunction Function GetRandomButt(Actor ActorRef) Float Random = 0.0 If NetImmerse.HasNode(ActorRef, LButtNode, False) && NetImmerse.HasNode(ActorRef, RButtNode, False) Random = Utility.RandomFloat(ButtMin, ButtMax) SetFloatValue(ActorRef.GetLeveledActorBase(), "BSR_Butt", Random) EndIf EndFunction Function GetRandomBelly(Actor ActorRef) Float Random = 0.0 If NetImmerse.HasNode(ActorRef, BellyNode, False) Random = Utility.RandomFloat(BellyMin, BellyMax) SetFloatValue(ActorRef.GetLeveledActorBase(), "BSR_Belly", Random) EndIf EndFunction Function GetRandomHeight(Actor ActorRef) Float Random = 0.0 Float HeightMin = 0.0 Float HeightMax = 0.0 If ActorRef.GetLeveledActorBase().GetSex() == 0 HeightMin = HeightMinMale + GetRaceDev(ActorRef, 0) HeightMax = HeightMaxMale + GetRaceDev(ActorRef, 1) Random = Utility.RandomFloat(HeightMin, HeightMax) Else HeightMin = HeightMinFemale + GetRaceDev(ActorRef, 0) HeightMax = HeightMaxFemale + GetRaceDev(ActorRef, 1) Random = Utility.RandomFloat(HeightMin, HeightMax) EndIf SetFloatValue(ActorRef.GetLeveledActorBase(), "BSR_Height", Random) EndFunction Function GetRandomWeight(Actor ActorRef) Float WeightOrg = ActorRef.GetLeveledActorBase().GetWeight() Float Random = Utility.RandomFloat(WeightMin, WeightMax) Float NeckGapCorrection = (WeightOrg-Random)/100.0 SetFloatValue(ActorRef.GetLeveledActorBase(), "BSR_Weight", Random) SetFloatValue(ActorRef.GetLeveledActorBase(), "BSR_NeckGapCorrection", NeckGapCorrection) EndFunction Function SetActorScale(Actor ActorRef) If BustRandomizeEnable SetScaleBust(ActorRef) EndIf If PenisRandomizeEnable SetScalePenis(ActorRef) EndIf If ButtRandomizeEnable SetScaleButt(ActorRef) EndIf If BellyRandomizeEnable SetScaleBelly(ActorRef) EndIf If (!ActorRef.IsDead()) If HeightRandomizeEnable SetScaleHeight(ActorRef) EndIf If WeightRandomizeEnable SetScaleWeight(ActorRef) EndIf EndIf EndFunction Function SetScaleBust(Actor ActorRef) Float NewBust = 0.0 If GetIntValue(ActorRef.GetLeveledActorBase(), "BSR_BustNot") != 1 If GetIntValue(ActorRef.GetLeveledActorBase(), "PRG_IsPregnant") != 1 || GetIntValue(ActorRef.GetLeveledActorBase(), "PRG_IsPregnant") == 1 && GetIntValue(ActorRef.GetLeveledActorBase(), "PRG_BreastExclude") == 1 NewBust = GetFloatValue(ActorRef.GetLeveledActorBase(), "BSR_Bust") EndIf EndIf If NetImmerse.HasNode(ActorRef, LBreastNode, False) && NetImmerse.HasNode(ActorRef, RBreastNode, False) && (NewBust > 0.0) NetImmerse.SetNodeScale(ActorRef, LBreastNode, NewBust, False) NetImmerse.SetNodeScale(ActorRef, RBreastNode, NewBust , False) EndIf EndFunction Function SetScalePenis(Actor ActorRef) Float NewPenis = 0.0 If GetIntValue(ActorRef.GetLeveledActorBase(), "BSR_PenisNot") != 1 NewPenis = GetFloatValue(ActorRef.GetLeveledActorBase(), "BSR_Penis") EndIf If NetImmerse.HasNode(ActorRef, GenitalsNode, False) && NetImmerse.HasNode(ActorRef, ScrotumNode, False) && (NewPenis > 0.0) NetImmerse.SetNodeScale(ActorRef, GenitalsNode, NewPenis, False) NetImmerse.SetNodeScale(ActorRef, ScrotumNode, NewPenis / 1.5 , False) EndIf EndFunction Function SetScaleButt(Actor ActorRef) Float NewButt = 0.0 If GetIntValue(ActorRef.GetLeveledActorBase(), "BSR_ButtNot") != 1 NewButt = GetFloatValue(ActorRef.GetLeveledActorBase(), "BSR_Butt") EndIf If NetImmerse.HasNode(ActorRef, LButtNode, False) && NetImmerse.HasNode(ActorRef, RButtNode, False) && (NewButt > 0.0) NetImmerse.SetNodeScale(ActorRef, LButtNode, NewButt, False) NetImmerse.SetNodeScale(ActorRef, RButtNode, NewButt, False) EndIf EndFunction Function SetScaleBelly(Actor ActorRef) Float NewBelly = 0.0 If GetIntValue(ActorRef.GetLeveledActorBase(), "PRG_IsPregnant") != 1 || GetIntValue(ActorRef.GetLeveledActorBase(), "PRG_IsPregnant") == 1 && GetIntValue(ActorRef.GetLeveledActorBase(), "PRG_BellyExclude") == 1 If GetIntValue(ActorRef.GetLeveledActorBase(), "BSR_BellyNot") != 1 NewBelly = GetFloatValue(ActorRef.GetLeveledActorBase(), "BSR_Belly") EndIf EndIf If NetImmerse.HasNode(ActorRef, BellyNode, False) && (NewBelly > 0.0) NetImmerse.SetNodeScale(ActorRef, BellyNode, NewBelly, False) EndIf EndFunction Function SetScaleHeight(Actor ActorRef) Float NewHeight = 0.0 If GetIntValue(ActorRef.GetLeveledActorBase(), "BSR_HeightNot") != 1 NewHeight = GetFloatValue(ActorRef.GetLeveledActorBase(), "BSR_Height") EndIf If !ActorRef.IsOnMount() && (NewHeight > 0) && (!SexLabUtil.IsActorActive(ActorRef)) ActorRef.GetLeveledActorBase().SetHeight(NewHeight) ActorRef.QueueNiNodeUpdate() ActorRef.SetScale(NewHeight) EndIf EndFunction Function SetScaleWeight(Actor ActorRef) Float NewWeight = 0.0 Float OrgWeight = 0.0 Float NeckDelta = 0.0 Float NeckDeltaCorrection = 0.0 If GetIntValue(ActorRef.GetLeveledActorBase(), "BSR_WeightNot") != 1 NewWeight = GetFloatValue(ActorRef.GetLeveledActorBase(), "BSR_Weight") OrgWeight = ActorRef.GetLeveledActorBase().GetWeight() NeckDeltaCorrection = GetFloatValue(ActorRef.GetLeveledActorBase(), "BSR_NeckGapCorrection") EndIf If !ActorRef.IsOnMount() && (NewWeight > 0.0) && (OrgWeight > 0.0) NeckDelta = (OrgWeight - NewWeight ) / 100.0 + NeckDeltaCorrection ActorRef.GetLeveledActorBase().SetWeight(NewWeight) ActorRef.QueueNiNodeUpdate() ActorRef.UpdateWeight(NeckDelta) EndIf EndFunction Aight, if you want me to help you troubleshoot 431 lines of code you need to give me more info than "I'm confused." Is the compiler throwing errors? Is your script not functioning? Is the game crashing when you load it? Also, please use spoilers if you're going to copy/paste large things. Especially 431 lines of code. [spoiler] Like this, just in case you weren't sure [/spoiler] EDIT: Furthermore, why exactly are you asking for my help? Are you trying to make that CANS compatible? Because I don't see a single reference to CANS in there.
sunhawken Posted October 7, 2015 Posted October 7, 2015 Yes I'm trying to make it CANS compatible and attach the magic effect .
Feliks Posted October 7, 2015 Author Posted October 7, 2015 Yes I'm trying to make it CANS compatible and attach the magic effect . The CANS magic effect is now irrelevant. When 0.18 rolls out the implementation post will be rewritten as well to reflect the changes. To make this compatible add the CANS_Framework property up at the top, CANS.RegisterMyMod function wherever the effect/quest/script starts affecting a new actor, and replace the NiOverride calls to the Belly, Breast, and Butt nodes with CANS.Belly, CANS.Breast, and CANS.Butt calls.
sunhawken Posted October 7, 2015 Posted October 7, 2015 Yes I'm trying to make it CANS compatible and attach the magic effect . The CANS magic effect is now irrelevant. When 0.18 rolls out the implementation post will be rewritten as well to reflect the changes. To make this compatible add the CANS_Framework property up at the top, CANS.RegisterMyMod function wherever the effect/quest/script starts affecting a new actor, and replace the NiOverride calls to the Belly, Breast, and Butt nodes with CANS.Belly, CANS.Breast, and CANS.Butt calls. Thank You
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now