jbezorg Posted November 6, 2011 Posted November 6, 2011 Ok. I am trying to use some of the base effects from "Imp's More Complex Needs.esp", ( IMCN ) in my own SexoutIMCP.esp. Some info about IMCN: Healing was changed. Food & drink no longer heal, just keeps you from starving & dehydrating. To compensate, food changes character's mood giving buffs/debuffs. The base goal: Sex should improve mood. Rape make the character depressed. Do I have to convert the IMCN .esp file to an .esm? Is there a setting I can change in GECK?
Bromm83 Posted November 6, 2011 Posted November 6, 2011 You have to turn it into an ESM. We tried getting variables from other esps with the tryout mods, but it seems that Fallout won't let you do that no matter the load order. I would have made new Base effects in your own esp tho. This way your plugin won't be dependant on the IMCN. Also you can tell your plugin not to use it or use something else if IMCN is loaded with the "IsModLoaded" command so that they don't conflict.
jbezorg Posted November 6, 2011 Author Posted November 6, 2011 You have to turn it into an ESM. We tried getting variables from other esps with the tryout mods' date=' but it seems that Fallout won't let you do that no matter the load order. I would have made new Base effects in your own esp tho. This way your plugin won't be dependant on the IMCN. Also you can tell your plugin not to use it or use something else if IMCN is loaded with the "IsModLoaded" command so that they don't conflict. [/quote'] Thanks for the answer and tips. Appreciate it. At least for effects, I figured out a way to do it but it's a pain in the ass and kinda useless. As soon as you open the .esp again as the active file in GECK the references and the .esp masters are removed when saved again. These were the steps I took to hack my .esp. Edit your .esp adding in the base effects then save. While GECK is still open, open the same .esp and the .esp that you pulled the base effects from in FNVEdit. Add the source .esp as a master. The structure for the effects & conditions are still present in the items, just the EFID - Base Effect will contain an error message. You have to manually update each one. Then save. Don't save as you close GECK after. Expect it to break if the source mod is updated. Could someone point me in the correct direction on how to create an .esm file or convert a .esp to .esm? A late night search for that answer really didn't answer the question.
jaam Posted November 6, 2011 Posted November 6, 2011 You have to turn it into an ESM. We tried getting variables from other esps with the tryout mods' date=' but it seems that Fallout won't let you do that no matter the load order. I would have made new Base effects in your own esp tho. This way your plugin won't be dependant on the IMCN. Also you can tell your plugin not to use it or use something else if IMCN is loaded with the "IsModLoaded" command so that they don't conflict. [/quote'] Thanks for the answer and tips. Appreciate it. At least for effects, I figured out a way to do it but it's a pain in the ass and kinda useless. As soon as you open the .esp again as the active file in GECK the references and the .esp masters are removed when saved again. These were the steps I took to hack my .esp. Edit your .esp adding in the base effects then save. While GECK is still open, open the same .esp and the .esp that you pulled the base effects from in FNVEdit. Add the source .esp as a master. The structure for the effects & conditions are still present in the items, just the EFID - Base Effect will contain an error message. You have to manually update each one. Then save. Don't save as you close GECK after. Expect it to break if the source mod is updated. Could someone point me in the correct direction on how to create an .esm file or convert a .esp to .esm? A late night search for that answer really didn't answer the question. Easyest way I know to convert from esp to esm (and back) is to use FNVedit. Load your mod select File Header in the left pane tree, Right Clkk on Record flag in the right pane Choose Edit, approve modifying the mod, and select the first entry named ESM. After that rename the esp to esm. To make changes to your mod, reverse the procedure (preffered) or (re)name it .esp. For a more complete description of FNVedit, see: http://www.fallout3nexus.com/downloads/file.php?id=8629 As for communicating between two esp without making dependancies, you can look for reference at the GameMode entry of the MCM scripts inside the sexout plugins, but that is advanced programming and not very user friendly! (and it requires NVSE)
zippy57 Posted November 7, 2011 Posted November 7, 2011 We tried getting variables from other esps with the tryout mods' date=' but it seems that Fallout won't let you do that no matter the load order.[/quote']That's not entirely true. Fallout has no problem with looking for variables from .esps. As I recall, the problem was that after every edit to the plugin you'd have to go into FNVEdit and switch the references back manually.
prideslayer Posted November 24, 2011 Posted November 24, 2011 I thought I'd come along and update this. There is in fact a way to do this -- the same way we all use for MCM and detecting other mods. It's "fragile" in the sense that it will break if the FormID of whatever you're trying to use changes (unlikely), or the name of the ESP/ESM you're referencing changes. As a for example, SexoutNG supports the Breezes male "body suits" now. Here's how I did that (in part): ref rBreezesMBody set itmp to GetModIndex "bzBodySuits.esp" if itmp set rBreezesMBody to BuildRef itmp 3751 endif From here on out, you can use rBreezesMBody as a ref anywhere else you need it. I use the code above in the main quest script, and then in the undress script, if this body is selected (via MCM), I do this, just like normal: if rBreezesMBody && iUseBreezesBody if 0 == someRef.GetItemCount rBreezesMBody someRef.AddItem rBreezesMBody 1 1 endif someRef.EquipItem rBreezesMBody 1 1 endif Now I have not tried this when it comes to setting it equal to a quest, to get at the vars, but it should work just fine. The #3751 above is the FormID of the body from bzBodySuits.ESP If you look at it (hidden column) it's 01000EA7 Ignore the first two digits (they are the mod index, which is always 01 in the geck) and convert from hex to decimal. 0xEA7 = 3751. The important thing is that you check that the reference is good (or check a flag that you set after you know its good) every time before you use it.
Recommended Posts
Archived
This topic is now archived and is closed to further replies.