alexbeugelsdijk Posted January 9, 2014 Posted January 9, 2014 Is anyone aware of a mod that makes the accuracy of your aiming dependent on your archery skill level? It doesn't feel realistic that my level one character can snipe an enemy from 200 yards off.
torminater Posted January 9, 2014 Posted January 9, 2014 Moved to appropriate forum. I don't really recall any such mod by the name, but I am pretty sure I've heard of one. Got it, I knew I remembered Duke Patrick's Archery And Heavy Weapons Combat mod. It adds a realistic bow sway. But of course that's a whole game changing mod for just that little feature...
alexbeugelsdijk Posted January 11, 2014 Author Posted January 11, 2014 Well, I couldn't find anything on nexus so I decided to see if I could put together a simple mod for this. In my script, I'm modifying the f1PArrowTiltUpAngle, f3PArrowTiltUpAngle, etc. ini values with a random modifier depending on marksman skill level. This will adjust the vertical aim. Does anyone know the ini tweaks for adjusting the horizontal aim?? Also, I'm getting a CTD after I shoot the bow. My script is below, does anyone know what I'm doing wrong? Scriptname AimingTakesPractice extends ReferenceAlias Import Math Import Utility Actor Property PlayerRef Auto ;setup Float maxskew = 0.5 string[] aimparameters float[] defaultaims ;initialize Event OnInit() debug.messagebox("initiallizing") aimparameters = new string[4] aimparameters[0] = "f1PArrowTiltUpAngle:Combat" aimparameters[1] = "f3PArrowTiltUpAngle:Combat" aimparameters[2] = "f1PBoltTiltUpAngle:Combat" aimparameters[3] = "f3PBoltTiltUpAngle:Combat" defaultaims = new float[4] Int iElement = defaultaims.Length While iElement iElement -=1 defaultaims[iElement] = GetINIFloat(aimparameters[iElement]) EndWhile iElement = aimparameters.Length While iElement iElement -= 1 modifyaim(aimparameters[iElement], defaultaims[iElement]) EndWhile EndEvent ;update on every bowshot Event OnPlayerBowShot(Weapon akWeapon, Ammo akAmmo, float afPower, bool abSunGazing) debug.messagebox("bow is fired") Int iElement = aimparameters.Length While iElement iElement -= 1 modifyaim(aimparameters[iElement], defaultaims[iElement]) EndWhile endEvent ;performs math to randomize aim according to Marksman skill level Function modifyaim(string aimparameter, float defaultaim) Float archerylvl = PlayerRef.GetActorValue("Marksman") Float aimmodifier = maxskew * RandomFloat(-(1 - (archerylvl/100)), (1 - (archerylvl/100))) Float newaim = defaultaim + aimmodifier SetINIFloat(aimparameter, newaim) EndFunction
Glanzer Posted January 22, 2014 Posted January 22, 2014 Sorry, I can't help with the script, but I can suggest a couple things to make aiming harder and more skill based: 1) iHUD (immersive HUD by gopher): Use this mod to turn off the archery crosshair. 2) LIHUD (less intrusive HUD): Use this mod to move the sneak meter to the bottom of the screen, otherwise when you sneak the meter itself helps you aim. Another little mod I've enjoyed is "Guess the Distance - Perceptive Scouting". It allows you to identify NPCs and enemies from afar so that you have a basic idea of their hostility and level etc. I use it all the time when I see a group of people walking and I can't tell whether they're bandits and friendlies. You can also use the Telescope mod (by KettleWitch) to enhance the distance you can use your power. Since the remote NPC has to be on your crosshairs, I've used iHUD to turn on the crosshair when I have a melee weapon drawn, so I just draw my sword or dagger and then use my perception to see who the NPC is. I also use "Training Dummies and Targets - Falskaar Edition" to allow my low level characters to get some early experience with melee and archery weapons.
DanielCoffey Posted January 23, 2014 Posted January 23, 2014 The Requiem Roleplaying Overhaul affects archery at low levels. Arrows fall short and their penetration against armour is poor until perks are invested. That might be what you are looking for? You could either use Requiem as is or study it to see how the Archery changes were done.
kryptopyr Posted January 23, 2014 Posted January 23, 2014 You could also look at the following settings. I haven't experimented with them, but I suspect they might only apply to NPCs: fCombatRangedAimVariance fCombatAimProjectileRandomOffset I can't find anything that looks wrong with your script. Does the messagebox appear before the CTD? You may want to use "debug.notification" instead. I don't think it will change the CTD issue, but I find it easier for testing scripts like this, as it doesn't forcibly interrupt the game action. Unfortunately, the CTD may be a result of the script trying to alter the course of a projectile while that projectile is in flight. It may not be something the game it capable of handling. I hope you figure it out. This is a feature I would like to see. If I think of anything that could help, I'll let you know.
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