Pipboy Readius

Post » Thu Feb 10, 2011 8:30 pm

I've been getting some complaints on my Powered Power Armor comments section regarding Pipboy Readius. For some reason, a script in that mod removes the players armor, then re-adds and re-equips it. It does it immediately after exiting the pipboy. Apparently, that will occasionally prevent fast travel - when the armor is removed, and it's carry weight bonus is lost, the player will become overburdened, sometimes preventing fast travel. There's also a power armor upgrade that unequips itself when the armor is removed, and when the armor is then re-equipped, several seconds are needed for that upgrade to charge itself back up, meaning it suddenly becomes unavailable for use after fast traveling.

I'm not sure why the script is doing that with the armor. I've tried commenting out the lines of code responsible, and nothing seems to change. I know removing the equipped armor can cause a reevaluation of inventory, but I'm not sure why that would be necessary in this case. The 1st and 3rd person model seems to update itself fine without forcing an inventory reevaluation.

Does anybody know why this would be done? I'd like to upload a compatibility patch that tweaks that script, but I'm not sure if I can just do away with the armor removal.
User avatar
Gavin boyce
 
Posts: 3436
Joined: Sat Jul 28, 2007 11:19 pm

Post » Thu Feb 10, 2011 4:10 pm

Wild mass guessing here, but doesn't Readius remove the default Pipboy without leaving anything in its stead by default and then use scripts to equip the new Readius device whenever the player enters the menu, and then unequips it and requips your previous armor when you exit the menu? Note: wild mass guessing
User avatar
RUby DIaz
 
Posts: 3383
Joined: Wed Nov 29, 2006 8:18 am

Post » Thu Feb 10, 2011 12:07 pm

I know when you unequip/remove the pipboy from an NPC that is wearing one, it leaves a gap of thin air where it was - you have to unequip the armor for a few frames then re-equip it. I would assume it is the same for the player when the PDA is removed/unequipped
User avatar
Rachel Cafferty
 
Posts: 3442
Joined: Thu Jun 22, 2006 1:48 am

Post » Thu Feb 10, 2011 8:17 pm

It does that - equips the pipboy when you hit the Enter Pipboy key, then unequips it again shortly after you exit the Pipboy. But it doesn't remove/reequip the armor until after that - so your armor remains equipped the entire time the pipboy is equipped, which is why you'll see different gloves holding the pipboy depending on what armor you're wearing. They may have been seeing some sort of bug after the Pipboy was removed - maybe something fixed by a later patch of Fallout 3. The mod hasn't been updated in a while, and is no longer supported by its original modders.

I went ahead and just uploaded a "compatibility patch" that removes those remove/unequip lines, with the caveat that its experimental.

*Edit -

I know when you unequip/remove the pipboy from an NPC that is wearing one, it leaves a gap of thin air where it was - you have to unequip the armor for a few frames then re-equip it. I would assume it is the same for the player when the PDA is removed/unequipped


I'm pretty sure that's only the case for the arm mounted Pipboy though - the PDA version doesn't interfere with any aspect of the player's equipped gear. It's held in your hand like a weapon. I also checked to see if it messed up the weapon models at all with those lines commented out, but it didn't.
User avatar
Claire Vaux
 
Posts: 3485
Joined: Sun Aug 06, 2006 6:56 am

Post » Thu Feb 10, 2011 10:57 am

The problem is that when the player opens the pip boy, it has to be reequipped. If it is not reequipped, you will just take a look at your arm. However, when it is just reequipped, sometimes the armor arm will shadow the pip boy, so that parts of the screen is not visible. To stop this, you have to unequip the armor. And here we get to an annoying gotcha with the EquipItem function. If you use the "hidden" flag while the pip boy is active, the graphics will not update, so either the user has to look at equip/unequip messages whenever the pip boy is opened, or you will have to let the player have no armor on. I know, because I had the exact same problem with my Equipable Pip Boy mod.
User avatar
butterfly
 
Posts: 3467
Joined: Wed Aug 16, 2006 8:20 pm

Post » Thu Feb 10, 2011 12:47 pm

The problem is that when the player opens the pip boy, it has to be reequipped. If it is not reequipped, you will just take a look at your arm. However, when it is just reequipped, sometimes the armor arm will shadow the pip boy, so that parts of the screen is not visible. To stop this, you have to unequip the armor.


Here's the code, edited to show the part that handles entering the Pipboy.

1) During gamemode, the "enter Pipboy" key is pressed, pipKeyState goes to 1, phase 0 gets executed (pipboy gets equipped), phase set to 2 (no phase 1 apparently)
2) Then in menumode (while you're in the pipboy) phase gets set to 3, and a timer gets initialized
3) Back in gamemode again, after exiting the pipboy and a brief delay, phase 3 happens (armor gets removed and pipboy gets unequipped), phase set to 4
4) Phase 4, armor gets reequipped, phase reset to 0

So armor doesn't get removed until after you've exited the pipboy. The armor doesn't interfere with viewing the Readius version of the Pipboy because its a PDA that's held in the player's hand - unless you were wearing a glove with freakishly large thumbs, nothing would be obscured. The only thing I can think of is that sometimes the Pipboy maybe doesn't disappear properly when unequipped, and they have to force a reevaluation of the equipped gear by removing the armor. But in my play testing, that wasn't necessary, everything worked/looked fine.




Spoiler

begin Gamemode.........	;Normal functionality	elseif (UninstallFlag == 0 && player.getItemCount Pipboy != 0 && getPlayerControlsDisabled 0 1 == 0)		if (PipSpamTimer > 0)			set PipSpamTimer to PipSpamTimer - getSecondsPassed		endif		;Pip-Boy callup hook		if (PipKeyState == 0 && PipSpamTimer <= 0)			if (isControlPressed 14 == 1)				set pipKeyState to 1			endif		elseif (PipKeyState == 1)			if (Phase == 0)				set PipKeyState to 1				player.EquipItem Pipboy 1 1				resetPipboyManager				set Phase to 2			elseif (Phase == 3)				if (PipVanishTimer > 0)					set PipVanishTimer to PipVanishTimer - getSecondsPassed				else					player.unEquipItem Pipboy 1 1					set EquippedItem to player.getEquippedObject 2					if (EquippedItem != 0)						set EquippedCondition to (player.getEquippedCurrentHealth 2 / getHealth EquippedItem)						player.removeItem EquippedItem 1 1						set Phase to 4					else						set Phase to 0						set PipKeyState to 0					endif				endif			elseif (Phase == 4)				player.addItemHealthPercent EquippedItem 1 EquippedCondition 1				player.equipItem EquippedItem 0 1				set Phase to 0				set PipKeyState to 0			endif		endif		;If the player loses the Pip-Boy, remove the light, if it had been on.	elseif (UninstallFlag == 0 && player.getItemCount Pipboy == 0 && player.hasPerk BIDEpipLightPerk == 1)		player.removePerk BIDEpipLightPerk	endifendendbegin Menumode	if (Phase == 2 && Menumode == 1)		set Phase to 3		set PipSpamTimer to 0.3		set PipVanishTimer to 0.35	endifend


User avatar
kitten maciver
 
Posts: 3472
Joined: Fri Jun 30, 2006 2:36 pm

Post » Thu Feb 10, 2011 12:50 pm

The problem that caused the whole armor unequip/reequip was that sometimes the armor segment that cut away to show the pip-boy stayed cut when you exited the menu and the pip-boy was removed. Reequipping the armor fixed it every time, so that was what the solution was.
User avatar
Hayley Bristow
 
Posts: 3467
Joined: Tue Oct 31, 2006 12:24 am

Post » Thu Feb 10, 2011 10:54 pm

This has been annoying for FWE as well (as much as I love using the PDA mod) . . . as the armor unequip/reequip was screwing with out armor weight reduction bonus scripts. I don't know if it will help, but we added a short delay in our scripting so the functionality we wanted didn't kick for half a second until after the pipboy/pda was put away. This allowed time for the PDA script to do it's thing before our script started.
User avatar
Alexander Horton
 
Posts: 3318
Joined: Thu Oct 11, 2007 9:19 pm

Post » Thu Feb 10, 2011 1:22 pm

This has been annoying for FWE as well (as much as I love using the PDA mod) . . . as the armor unequip/reequip was screwing with out armor weight reduction bonus scripts. I don't know if it will help, but we added a short delay in our scripting so the functionality we wanted didn't kick for half a second until after the pipboy/pda was put away. This allowed time for the PDA script to do it's thing before our script started.


This sounds like its the way to go, though I wonder if that would resolve the carryweight reduction issue - for PPA it would, but FWE adds it's own significant carryweight boost to the armor itself, and that would be lost temporarily. Either way, what I'm going to do is leave my compatibility patch up, but keep it and Pipboy Readius in my load order while I play test for the next release. If I can catch the bug, maybe I can figure out another way around it.

*Edit - OK, gave it a try with power armor this time, and the forearm disappeared right away. Equipping and removing a slotless piece of dummy armor didn't work, so looks like FWE's method it is.
User avatar
Natalie Harvey
 
Posts: 3433
Joined: Fri Aug 18, 2006 12:15 pm

Post » Thu Feb 10, 2011 12:50 pm

I think I've figured out a better way to handle this, at least for the problems PPA was having with it. Rather than letting it just remove and then re-equip the player's armor, I'm going to change the Readius script so that it equips an alternate set of power armor, then switches back again a few frames later (possibly only when the player's equipped armor is power armor). That way you're always wearing power armor. I'll use a custom set of armor with a high enough carryweight boost that it won't effect fast travel.
User avatar
Penny Wills
 
Posts: 3474
Joined: Wed Sep 27, 2006 6:16 pm

Post » Thu Feb 10, 2011 8:32 am

well as for not effecting fast travel, why not before you take off the clothes, you add some carry weight? (equal to 100% of the clothes would cover all occasions, and im fairly sure that wouldnt screw anything else up)

As for the PPA stuff, why not include a small wait, until AFTER the unequipping armor is done to check status of if power armor is equipped?
User avatar
rolanda h
 
Posts: 3314
Joined: Tue Mar 27, 2007 9:09 pm

Post » Thu Feb 10, 2011 12:13 pm

There are a LOT of scripts I would need to add delays too, and several of the scripts are too complicated to look at as it is. So if I can fix the problem with a minor edit to the Readius script I'd definitely prefer to go that route.

I guess I could offset the lost carry weight directly via script, in fact that might be a better way to go since always adding a piece of armor with the same carryweight boost might sometimes provide too much of a boost, letting you fast travel when you shouldn't be able to. I'd still replace the unequipped armor with a suit of power armor temporarily, but I would use a set without an object effect.
User avatar
April
 
Posts: 3479
Joined: Tue Jun 20, 2006 1:33 am

Post » Thu Feb 10, 2011 10:55 am

ah :\ i thought there was some nice easy script that decides if PA is equipped or not, that you could add a delay too. Then yeah, editing the readius would be considerably easier.

Also, I was under the impression you couldnt fast travel if you were overencumbered while looking at the pipboy? it shouldnt matter, in theory, how high you add carryweight once the pipboy closes..
User avatar
Soraya Davy
 
Posts: 3377
Joined: Sat Aug 05, 2006 10:53 pm

Post » Thu Feb 10, 2011 4:39 pm

I'm not really sure about the carryweight thing. I know it does a weight check inside the pipboy as soon as you click your destination, but I think it does another one in game mode after you exit the pipboy - I have had reports though of fast travel failing, particularly when UnderArmor was equipped. I thought it happened to me a couple of times as well, but just now I haven't been able to reproduce it.
User avatar
oliver klosoff
 
Posts: 3436
Joined: Sun Nov 25, 2007 1:02 am

Post » Thu Feb 10, 2011 4:19 pm

I tried it out, at first it worked, but then later on my arm dissappeared.

For the meantime, Readius is out of my Load Order. I kind of missed the Pip-Boy anyway.

I never 'hated' the pip-boy, just the damn glove, and I got a mod to take care of that.

I think that's the one thing they didn't learn from us when making New Vegas: PIP-BOY GLOVE svckS.
User avatar
Khamaji Taylor
 
Posts: 3437
Joined: Sun Jul 29, 2007 6:15 am

Post » Thu Feb 10, 2011 9:54 pm

I've written up the updated Readius patch, I should go ahead and upload it. Also, unequipping and the equipping your armor via hotkey once you're outside of the pipboy fixed the disappearing arm (it basically does the same thing that the Readius script was doing, though of course it faces the same problem).
User avatar
Nims
 
Posts: 3352
Joined: Thu Jun 07, 2007 3:29 pm

Post » Thu Feb 10, 2011 8:31 pm

I haven't tried this, but how about using http://fose.silverlock.org/fose_command_doc.html#GetObjectEffect to find the ObjectEffect of the currently equipped armor? This effect could be added to the player by using http://geck.gamesas.com/index.php/AddSpell when the pip boy is opened and the armor removed. When the pip boy is closed, the script that reequips the armor could start by removing the added effect by using http://geck.gamesas.com/index.php/RemoveSpell.
User avatar
Kelly Tomlinson
 
Posts: 3503
Joined: Sat Jul 08, 2006 11:57 pm

Post » Fri Feb 11, 2011 12:00 am

Thanks, I was unaware of that command. What I had written works more or less the same though, I just have it check the players carryweight before and after removing the armor, and "modav" carryweight accordingly. The new patch has just been uploaded.
User avatar
carley moss
 
Posts: 3331
Joined: Tue Jun 20, 2006 5:05 pm


Return to Fallout 3