EPDGaffney Posted March 14, 2018 Share Posted March 14, 2018 Basically. It's a little hacky, but it's much easier than any alternative I can think of. I wouldn't consider it if you weren't already modifying the script. I'm just not fond of that sort of modding, but if you include in your mod description the records you've modified, people can do their load orders accordingly and it shouldn't be a huge problem. JIP LN may have something available to modify scripts at run-time, but I don't see it at the moment. So, do that for every block to make sure nothing gets messy with unequipping. My example was just the first block. If you don't understand what I mean, let me know. Link to comment Share on other sites More sharing options...
YanL Posted March 14, 2018 Author Share Posted March 14, 2018 Dont worry. Pretty sure that 90% of the people hate the disgase system in NV (and I am one of them lol) so it's not so bad. In fact, this is the objective of the perk. "Eliminate" this mechanic, so people can use a centurion armor while work for ncr or something like that. Link to comment Share on other sites More sharing options...
EPDGaffney Posted March 14, 2018 Share Posted March 14, 2018 It works because you're already accepted by the Legion if you take that perk, but I actually do like the disguises. As a concept. I don't really like their simplified implementation, but I love the idea. It's true that I never use it really, as a result of the overall underdeveloped implementation. Link to comment Share on other sites More sharing options...
YanL Posted March 14, 2018 Author Share Posted March 14, 2018 Oh God, I´m terrible at this There is this error and I do not know how to fix it. http://i64.tinypic.com/a178nd.png Here is the script. I'm using Lady Killer just as a test because I have not created my perk yet. scn CaesarsLegionFactionOutfitWarningScript float fUpdatedNegNCR float fUpdatedNegCL float fUpdatedNegBoS float fUpdatedNegGK float fUpdatedNegPG Begin OnEquip PlayerIF PLAYER.HASPERK LadyKiller == 0;Check to see if player was wearing faction armor. if DisguiseFactionPulseQuest.bFactionArmorEquipped == 0 ;Set variable to track wearing faction armorset DisguiseFactionPulseQuest.bFactionArmorEquipped to 1 ;Player was not wearing faction armor - so we store their reputation values, we don't need to clear it here, it'll get cleared below;Store Reputationsset DisguiseFactionPulseQuest.fNCRNegReputation to GetReputation RepNVNCR 0 set DisguiseFactionPulseQuest.fLegionNegReputation to GetReputation RepNVCaesarsLegion 0 set DisguiseFactionPulseQuest.fBoSNegReputation to GetReputation RepNVBrotherhood 0 set DisguiseFactionPulseQuest.fKhanNegReputation to GetReputation RepNVGreatKhans 0 set DisguiseFactionPulseQuest.fPowderNegReputation to GetReputation RepNVPowderGanger 0 else;Get Current Faction Values and add stored valuesset DisguiseFactionPulseQuest.fNCRNegReputation to GetReputation RepNVNCR 0 + DisguiseFactionPulseQuest.fNCRNegReputation set DisguiseFactionPulseQuest.fLegionNegReputation to GetReputation RepNVCaesarsLegion 0 + DisguiseFactionPulseQuest.fLegionNegReputation set DisguiseFactionPulseQuest.fBoSNegReputation to GetReputation RepNVBrotherhood 0 + DisguiseFactionPulseQuest.fBoSNegReputation set DisguiseFactionPulseQuest.fKhanNegReputation to GetReputation RepNVGreatKhans 0 + DisguiseFactionPulseQuest.fKhanNegReputation set DisguiseFactionPulseQuest.fPowderNegReputation to GetReputation RepNVPowderGanger 0 + DisguiseFactionPulseQuest.fPowderNegReputation endif if VFactionArmorTutorial == 0ShowMessage VFactionOutfitTutorialset VFactionArmorTutorial to 1endif ShowMessage CaesarsLegionFactionOutfitWarningStartQuest DisguiseFactionPulseQuest ;Kicks the pulse placing questsetally ArmorVCaesarsLegionFaction PlayerFaction 1 1player.addtofaction ArmorVCaesarsLegionFactionEnemy 0 ;Clear ReputationsSetReputation RepNVNCR 0 0.0 SetReputation RepNVCaesarsLegion 0 0.0 SetReputation RepNVBrotherhood 0 0.0 SetReputation RepNVGreatKhans 0 0.0 SetReputation RepNVPowderGanger 0 0.0 end Begin OnUnequip Playerif Player.GetEquipped FactionGearNVCaesar == 0SetEnemy ArmorVCaesarsLegionFaction PlayerFaction 1 1player.RemoveFromFaction ArmorVCaesarsLegionFactionEnemy ShowMessage CaesarsLegionFactionOutfitWarningOff ;Restore Factions;Get Current Values and add stored valuesset fUpdatedNegNCR to GetReputation RepNVNCR 0 + DisguiseFactionPulseQuest.fNCRNegReputation set fUpdatedNegCL to GetReputation RepNVCaesarsLegion 0 + DisguiseFactionPulseQuest.fLegionNegReputation set fUpdatedNegBoS to GetReputation RepNVBrotherhood 0 + DisguiseFactionPulseQuest.fBoSNegReputation set fUpdatedNegGK to GetReputation RepNVGreatKhans 0 + DisguiseFactionPulseQuest.fKhanNegReputation set fUpdatedNegPG to GetReputation RepNVPowderGanger 0 + DisguiseFactionPulseQuest.fPowderNegReputation endif ;If the player is not wearing ANY faction armor, clear this variable.if (Player.GetEquipped FactionGearNVNCR == 0) && (Player.GetEquipped FactionGearNVCaesar == 0) && (Player.GetEquipped FactionGearNVBrotherhood == 0) && (Player.GetEquipped FactionGearNVGreatKhans == 0) && (Player.GetEquipped FactionGearNVPowder == 0) && (player.GetEquipped VMS18WhiteGloveMask == 0 || (Player.GetEquipped OutfitFormalWear == 0 && player.GetEquipped ArmorWhiteGloveSociety == 0));Clear Wearing Faction Armor Variableset DisguiseFactionPulseQuest.bFactionArmorEquipped to 0 ;Set Reputation Values to UpdatedSetReputation RepNVNCR 0 fUpdatedNegNCR SetReputation RepNVCaesarsLegion 0 fUpdatedNegCL SetReputation RepNVBrotherhood 0 fUpdatedNegBoS SetReputation RepNVGreatKhans 0 fUpdatedNegGK SetReputation RepNVPowderGanger 0 fUpdatedNegPGendif end ;Restriction on Companions Begin OnAdd CraigBooneREFShowMessage CompanionFactionArmorMsgDropMeEnd Begin OnAdd RoseofSharonCassidyREFShowMessage CompanionFactionArmorMsgDropMeEnd Begin OnAdd VeronicaREFShowMessage CompanionFactionArmorMsgDropMeEnd Begin OnAdd RaulREFShowMessage CompanionFactionArmorMsgDropMeEnd Begin OnAdd ArcadeREFShowMessage CompanionFactionArmorMsgDropMeEnd If I erase my script and copy and paste yours just like you post in your message, but only change the name of the perk to Lady Killer and when I pick this perk, the message that I dressed in Caesar´s Legion armor stop to appear. But the NCR are still hostile to me. Link to comment Share on other sites More sharing options...
EPDGaffney Posted March 14, 2018 Share Posted March 14, 2018 (edited) https://prnt.sc/ir92beYou need to put the if check in the OnUnequip block as well. As far as I can tell, the way that faction armour works is that it adds you to a faction, as per this line: player.addtofaction ArmorVCaesarsLegionFactionEnemy 0 Without this happening, and without the quest running (not getting the messages seems to indicate it's not running, though I don't think it does anything but govern the messages anyway), I'm not sure how they're handling faction armour, as this would seem to be enough. You wouldn't by any chance actually have the Lady Killer perk, or be testing with a character that already has a good reputation with the Legion...would you? I would try with a new game after you've fixed the script. Edit: So, that image is showing you where you missed the endif, which is why you're getting an error. The OnUnequip block is a separate thing that you need to do, which is simply adding your if player.HasPerk line as the first line after Begin OnUnequip and closing it with endif as the last line right before End Edited March 14, 2018 by EPDGaffney Link to comment Share on other sites More sharing options...
YanL Posted March 14, 2018 Author Share Posted March 14, 2018 ok, we almost there. At first, it worked. But I need to do a few more tests, especially on my load order, because I'm having a strange problem. Let me check that, I'll be right back. Link to comment Share on other sites More sharing options...
EPDGaffney Posted March 14, 2018 Share Posted March 14, 2018 Let me know what happens. Link to comment Share on other sites More sharing options...
YanL Posted March 14, 2018 Author Share Posted March 14, 2018 Let me know what happens. Not a bug, forget. It´s perfect now, thank you very much :cool: :cool: :cool: I'll credit you for the script :) Link to comment Share on other sites More sharing options...
EPDGaffney Posted March 14, 2018 Share Posted March 14, 2018 Fantastic. Glad to help. Link to comment Share on other sites More sharing options...
Recommended Posts