Might just be me but the 'Weapon Handling' perk won't work with this, because the mod uses getWeaponRequiredStrength which uses the weapons default str requirement & not the the altered number (-2 str requirement) that weapon handling perk changes.
tried to lookinto it but i have no idea how to fix it myself, or if it's possible to fix
Just realised the comments below by nusedKeystoneGateTalent and the fix worked (after alot of headache trying to figure how to edit the script)
You will need to: -(install &) open the GECK (make sure in the GeckCustom.ini that: bAllowMultipleMasterLoads=0 is changed to bAllowMultipleMasterLoads=1
-Double click (making an 'X appear) on Fallout.esm & then click "set active" on Requirements Matter (it should say active next to it now, this is the mod changes are gonna save to). Now click ok and wait to load
-Undermiscellaneous(click on the + next to miscellaneous) findand click on scripts (to display all the scripts) (if you're unable to find the the scripts section, just click "all" at the very bottom and in the search bar at the top type 01000add)
-Find & double click on "ForCroftSkillCheckScript" to open it
-Replace the existing text with: scn ForCroftSkillCheckScript
ref rWeapon int iReqStrength int iReqSkill int iSkill int iPlayerSkill int iPlayerStrength int iWepHandPerk
Begin _GameMode set rWeapon to Player.GetEqObj 5 set iWepHandPerk to Player.HasPerk WeaponHandling if rWeapon set iReqStrength to GetReqStr rWeapon if (iWepHandPerk == 1) set iReqStrength to iReqStrength - 2 endif set iReqSkill to GetWeaponRequiredSkill rWeapon set iSkill to GetWeaponSkill rWeapon set iPlayerSkill to player.GetAV iSkill set iPlayerStrength to player.GetAV 5 if (iPlayerStrength < iReqStrength) || (iPlayerSkill < iReqSkill) player.Unequipitem rWeapon 0 1 if (iPlayerStrength < iReqStrength) && (iPlayerSkill < iReqSkill) MessageBoxEx "You are too weak and inexperienced to use this weapon" elseif (iPlayerStrength < iReqStrength) MessageBoxEx "You are too weak to use this weapon" elseif (iPlayerSkill < iReqSkill) MessageBoxEx "You are too inexperienced to use this weapon" endif endif endif End
Begin _MenuMode 1002 set rWeapon to Player.GetEqObj 5 set iWepHandPerk to Player.HasPerk WeaponHandling if rWeapon set iReqStrength to GetReqStr rWeapon if (iWepHandPerk == 1) set iReqStrength to iReqStrength - 2 endif set iReqSkill to GetWeaponRequiredSkill rWeapon set iSkill to GetWeaponSkill rWeapon set iPlayerSkill to player.GetAV iSkill set iPlayerStrength to player.GetAV 5 if (iPlayerStrength < iReqStrength) || (iPlayerSkill < iReqSkill) player.Unequipitem rWeapon if (iPlayerStrength < iReqStrength) && (iPlayerSkill < iReqSkill) MessageBoxEx "You are too weak and inexperienced to use this weapon" elseif (iPlayerStrength < iReqStrength) MessageBoxEx "You are too weak to use this weapon" elseif (iPlayerSkill < iReqSkill) MessageBoxEx "You are too inexperienced to use this weapon" endif endif endif End
-Click the normal looking "save" button(on the left) and close that script window (saving the change to the script) -Clicksave(again) in the top left (to save the changes made to the .esp/mod) -Wait for saving to Finish &close.
This mod conflicts with "The Weapon Mod Menu", when you install modifications on a weapon which you don't meet the requirements, those modifications are disappearing.
Whilst it's true you can get Weapon Requirements System and it's a bit more lenient by letting you still use the weapons at a big disadvantage, I really like this one because I think it makes sense that there are certain guns you'd have no clue how to use without a high skill.
However - does it work with the Big Guns mod that splits requirements into Big and Small guns skills? My small guns skill is at 25 and I still can't use the 10mm, so it seems like it doesn't? Is there a patch that exists/could ever exist? I know almost nothing about modding so I couldn't even attempt it.
Hey, I had the same issue while playing OWB. I wrote a script to fix it. This is my first time scripting, so it may not be perfectly optimal. Basically it is the same as before, but checks if you have the Weapon Handling perk and adjusts the ReqStr variable by -2 to reflect the perk. I would upload the esp myself, but I want permission from Xilandro before doing so. One additional note, I am thinking of releasing a companion mod to this to remove the skill requirement from the Sonic Emitter as it is 50 Energy Wep skill and is required to beat the OWB DLC, but that is down the line.
scn ForCroftSkillCheckScript
ref rWeapon int iReqStrength int iReqSkill int iSkill int iPlayerSkill int iPlayerStrength int iWepHandPerk
Begin _GameMode set rWeapon to Player.GetEqObj 5 set iWepHandPerk to Player.HasPerk WeaponHandling if rWeapon set iReqStrength to GetReqStr rWeapon if (iWepHandPerk == 1) set iReqStrength to iReqStrength - 2 endif set iReqSkill to GetWeaponRequiredSkill rWeapon set iSkill to GetWeaponSkill rWeapon set iPlayerSkill to player.GetAV iSkill set iPlayerStrength to player.GetAV 5 if (iPlayerStrength < iReqStrength) || (iPlayerSkill < iReqSkill) player.Unequipitem rWeapon 0 1 if (iPlayerStrength < iReqStrength) && (iPlayerSkill < iReqSkill) MessageBoxEx "You are too weak and inexperienced to use this weapon" elseif (iPlayerStrength < iReqStrength) MessageBoxEx "You are too weak to use this weapon" elseif (iPlayerSkill < iReqSkill) MessageBoxEx "You are too inexperienced to use this weapon" endif endif endif End
Begin _MenuMode 1002 set rWeapon to Player.GetEqObj 5 set iWepHandPerk to Player.HasPerk WeaponHandling if rWeapon set iReqStrength to GetReqStr rWeapon if (iWepHandPerk == 1) set iReqStrength to iReqStrength - 2 endif set iReqSkill to GetWeaponRequiredSkill rWeapon set iSkill to GetWeaponSkill rWeapon set iPlayerSkill to player.GetAV iSkill set iPlayerStrength to player.GetAV 5 if (iPlayerStrength < iReqStrength) || (iPlayerSkill < iReqSkill) player.Unequipitem rWeapon if (iPlayerStrength < iReqStrength) && (iPlayerSkill < iReqSkill) MessageBoxEx "You are too weak and inexperienced to use this weapon" elseif (iPlayerStrength < iReqStrength) MessageBoxEx "You are too weak to use this weapon" elseif (iPlayerSkill < iReqSkill) MessageBoxEx "You are too inexperienced to use this weapon" endif endif endif End
EDIT: Xilandro has replied to PM in regards to this. I don't like making promises for other people, so I think the best option is to use FNV edit to make the changes yourself if it does not get updated here.
Have you gotten permission to host that esp yet? Or take over this page? If I decide to take that perk I'll use your fix, but it would be nice to have an updated esp.
I wonder if anybody found a way to fix the strength bug. If your strength is, let's say, 6, and then you take the perk that lowers weapon requirements, this mod doesn't recognize that. I really wonder if anybody fixed it.
46 comments
saying it again, because people usually don't care about reading the description.
tried to lookinto it but i have no idea how to fix it myself, or if it's possible to fix
You will need to:
-(install &) open the GECK (make sure in the GeckCustom.ini that: bAllowMultipleMasterLoads=0 is changed to bAllowMultipleMasterLoads=1
-Double click (making an 'X appear) on Fallout.esm & then click "set active" on Requirements Matter (it should say active next to it now, this is the
mod changes are gonna save to). Now click ok and wait to load
-Under miscellaneous(click on the + next to miscellaneous) find and click on scripts (to display all the scripts)
(if you're unable to find the the scripts section, just click "all" at the very bottom and in the search bar at the top type 01000add)
-Find & double click on "ForCroftSkillCheckScript" to open it
-Replace the existing text with:
scn ForCroftSkillCheckScript
ref rWeapon
int iReqStrength
int iReqSkill
int iSkill
int iPlayerSkill
int iPlayerStrength
int iWepHandPerk
Begin _GameMode
set rWeapon to Player.GetEqObj 5
set iWepHandPerk to Player.HasPerk WeaponHandling
if rWeapon
set iReqStrength to GetReqStr rWeapon
if (iWepHandPerk == 1)
set iReqStrength to iReqStrength - 2
endif
set iReqSkill to GetWeaponRequiredSkill rWeapon
set iSkill to GetWeaponSkill rWeapon
set iPlayerSkill to player.GetAV iSkill
set iPlayerStrength to player.GetAV 5
if (iPlayerStrength < iReqStrength) || (iPlayerSkill < iReqSkill)
player.Unequipitem rWeapon 0 1
if (iPlayerStrength < iReqStrength) && (iPlayerSkill < iReqSkill)
MessageBoxEx "You are too weak and inexperienced to use this weapon"
elseif (iPlayerStrength < iReqStrength)
MessageBoxEx "You are too weak to use this weapon"
elseif (iPlayerSkill < iReqSkill)
MessageBoxEx "You are too inexperienced to use this weapon"
endif
endif
endif
End
Begin _MenuMode 1002
set rWeapon to Player.GetEqObj 5
set iWepHandPerk to Player.HasPerk WeaponHandling
if rWeapon
set iReqStrength to GetReqStr rWeapon
if (iWepHandPerk == 1)
set iReqStrength to iReqStrength - 2
endif
set iReqSkill to GetWeaponRequiredSkill rWeapon
set iSkill to GetWeaponSkill rWeapon
set iPlayerSkill to player.GetAV iSkill
set iPlayerStrength to player.GetAV 5
if (iPlayerStrength < iReqStrength) || (iPlayerSkill < iReqSkill)
player.Unequipitem rWeapon
if (iPlayerStrength < iReqStrength) && (iPlayerSkill < iReqSkill)
MessageBoxEx "You are too weak and inexperienced to use this weapon"
elseif (iPlayerStrength < iReqStrength)
MessageBoxEx "You are too weak to use this weapon"
elseif (iPlayerSkill < iReqSkill)
MessageBoxEx "You are too inexperienced to use this weapon"
endif
endif
endif
End
-Click the normal looking "save" button(on the left) and close that script window (saving the change to the script)
-Click save(again) in the top left (to save the changes made to the .esp/mod)
-Wait for saving to Finish & close.
Done.
However - does it work with the Big Guns mod that splits requirements into Big and Small guns skills? My small guns skill is at 25 and I still can't use the 10mm, so it seems like it doesn't? Is there a patch that exists/could ever exist? I know almost nothing about modding so I couldn't even attempt it.
scn ForCroftSkillCheckScript
ref rWeapon
int iReqStrength
int iReqSkill
int iSkill
int iPlayerSkill
int iPlayerStrength
int iWepHandPerk
Begin _GameMode
set rWeapon to Player.GetEqObj 5
set iWepHandPerk to Player.HasPerk WeaponHandling
if rWeapon
set iReqStrength to GetReqStr rWeapon
if (iWepHandPerk == 1)
set iReqStrength to iReqStrength - 2
endif
set iReqSkill to GetWeaponRequiredSkill rWeapon
set iSkill to GetWeaponSkill rWeapon
set iPlayerSkill to player.GetAV iSkill
set iPlayerStrength to player.GetAV 5
if (iPlayerStrength < iReqStrength) || (iPlayerSkill < iReqSkill)
player.Unequipitem rWeapon 0 1
if (iPlayerStrength < iReqStrength) && (iPlayerSkill < iReqSkill)
MessageBoxEx "You are too weak and inexperienced to use this weapon"
elseif (iPlayerStrength < iReqStrength)
MessageBoxEx "You are too weak to use this weapon"
elseif (iPlayerSkill < iReqSkill)
MessageBoxEx "You are too inexperienced to use this weapon"
endif
endif
endif
End
Begin _MenuMode 1002
set rWeapon to Player.GetEqObj 5
set iWepHandPerk to Player.HasPerk WeaponHandling
if rWeapon
set iReqStrength to GetReqStr rWeapon
if (iWepHandPerk == 1)
set iReqStrength to iReqStrength - 2
endif
set iReqSkill to GetWeaponRequiredSkill rWeapon
set iSkill to GetWeaponSkill rWeapon
set iPlayerSkill to player.GetAV iSkill
set iPlayerStrength to player.GetAV 5
if (iPlayerStrength < iReqStrength) || (iPlayerSkill < iReqSkill)
player.Unequipitem rWeapon
if (iPlayerStrength < iReqStrength) && (iPlayerSkill < iReqSkill)
MessageBoxEx "You are too weak and inexperienced to use this weapon"
elseif (iPlayerStrength < iReqStrength)
MessageBoxEx "You are too weak to use this weapon"
elseif (iPlayerSkill < iReqSkill)
MessageBoxEx "You are too inexperienced to use this weapon"
endif
endif
endif
End
EDIT: Xilandro has replied to PM in regards to this. I don't like making promises for other people, so I think the best option is to use FNV edit to make the changes yourself if it does not get updated here.