jaam Posted July 13, 2015 Posted July 13, 2015   Im trying to come up with a workaround for the missile bug where missiles fired outside of VATS do no impact damage, only the explosion damage.                              I thought about turning off the explosion then using a script to implement the explosion. However, all scripts that i put on a non-hitscan projectile like a missile (such as via ammo impact scripts or via base effect scripts) it simply refuse to run.  The script itself is really simple, but it just will not run for some reason.  For example : scn MissileFixBaseEffectScriptBegin ScriptEffectStartplaceatme MissileExplosionHEEND That does absolutely nothing when i fire a missile. Any ideas?   Anyone know why the script wont run?    If you are sure you attached the script where you need it, maybe it is because "me" in PlaceAtMe does not exists. Â
phqubo Posted July 13, 2015 Posted July 13, 2015 Could always put a print inside ScriptEffectStart to make sure the event is firing.
Question Posted July 13, 2015 Posted July 13, 2015    Im trying to come up with a workaround for the missile bug where missiles fired outside of VATS do no impact damage, only the explosion damage.                              I thought about turning off the explosion then using a script to implement the explosion. However, all scripts that i put on a non-hitscan projectile like a missile (such as via ammo impact scripts or via base effect scripts) it simply refuse to run.  The script itself is really simple, but it just will not run for some reason.  For example : scn MissileFixBaseEffectScriptBegin ScriptEffectStartplaceatme MissileExplosionHEEND That does absolutely nothing when i fire a missile. Any ideas?   Anyone know why the script wont run?    If you are sure you attached the script where you need it, maybe it is because "me" in PlaceAtMe does not exists.    I'm doing it the same way the gauss rifle bug fix does it (which is to make a base effect, then attach the script to it, make an object effect with the base effect, then attach the object effect to the weapon) but it does nothing. The gauss rifle bug fix also uses "placeatme [explosion name]". If im not supposed to use "placeatme", what do i use?  I tried doing this: Begin ScriptEffectStart  Print "Missile Script Fired!"  placeatme MissileExplosionHE END I attached it to both the ammo (As an impact script) and as a script to the base effect, which is attached to an object effect, which is then attached to the weapon. Nothing happens when i fire the missile, no text pops up on my screen.  Just to make sure, i dont need to turn on any special options to get the text to show up right?
Guest Posted July 13, 2015 Posted July 13, 2015 Â Just to make sure, i dont need to turn on any special options to get the text to show up right? No. However, just to be sure: your weapon requires to make at least 1 damage.
Question Posted July 13, 2015 Posted July 13, 2015 So the script wont run at all if the missile hits a rock or something? Because the whole point of it is to cause an explosion 100% of the time without setting the projectile to have an explosion (since that causes the weapon to do no impact damage outside of VATS).
phqubo Posted July 13, 2015 Posted July 13, 2015 Yeah Impact scripts only fire if they hit an actor. Â Speaking of exploosions, Does anyone know how to resize the explosion effect(only the visual)?
Guest Posted July 13, 2015 Posted July 13, 2015 Oh I don't really know, I should try. I was more looking at when you wrote you have placed the script as weapon effect, and I remembered that weapons require to make at least 1 damage to let the effect be applied on the actor. Â So you are telling me that the explosions of missiles for example don't work outside VATS? they still visually explode, but don't cause impact damage? wow, I've never noticed that, that's... bad! Â EDIT: the explosion effect (the visual) should be in the radius of explosion, at least this is what it was told me few days ago
Question Posted July 14, 2015 Posted July 14, 2015 Yea, if you fire a missile launcher that does 125 impact and 200 explosion damage outside of VATS, it will only do the 200 explosion damage. Â I tried putting it as an impact script to the ammo but it wont fire either when i shoot a rock. Â Edit : I also did some testing and realised that damage done via effects (such as the fire damage of an incendiary grenade) are not affected by perks or skills, which makes some perks and weapons kind of underwhelming. Is there a way to change that? I know i can add conditions to an effect so it does more damage if the player has a certain perk, but that is a lot of perks and a lot of effects.
thepineapple Posted July 14, 2015 Posted July 14, 2015 I'm a beginner scripting and im looking for help to add packages to a companion via scripting. They seem to be adding fine but it seems to immediately evaluate the packages and go back to the package that it would be using.  The way I add the packages is like this: ;First I move the companion into the cell, this works veronicaRef.moveto CHLTopsCasinoMarker 0 0 0 ;Then I add the package, which according to the console output from the on begin part of the package says that it starts veronicaRef.addScriptPackage CHLTopsCasinoSandbox ;Then the default veronica lucky 38 package gets applied somehow and overrides the previous package  Also i've been having an issue where the console output is nearly unreadable. Like the horizontal space in between lines is tiny. How would I fix that?  Â
Guest Posted July 14, 2015 Posted July 14, 2015 Yea, if you fire a missile launcher that does 125 impact and 200 explosion damage outside of VATS, it will only do the 200 explosion damage.  Maybe you could try in the opposite way, then. What about adding an extra damage to the explosion itself, if you're not in VATS?  I'm a beginner scripting and im looking for help to add packages to a companion via scripting. They seem to be adding fine but it seems to immediately evaluate the packages and go back to the package that it would be using.  The way I add the packages is like this: ;First I move the companion into the cell, this works veronicaRef.moveto CHLTopsCasinoMarker 0 0 0 ;Then I add the package, which according to the console output from the on begin part of the package says that it starts veronicaRef.addScriptPackage CHLTopsCasinoSandbox ;Then the default veronica lucky 38 package gets applied somehow and overrides the previous package  The package you add with AddScriptPackage will have priority to any other package. If this doesn't happen, if can be that your package is immediately dropping after being added (because not configured in the right way or because it is impossible to be executed), or there's a running script that avoid any interference from you   Also i've been having an issue where the console output is nearly unreadable. Like the horizontal space in between lines is tiny. How would I fix that?
thepineapple Posted July 14, 2015 Posted July 14, 2015    (because not configured in the right way or because it is impossible to be executed), or there's a running script that avoid any interference from you    The package is just a basic sandbox package which checks if a float is <= a value. I've tested it by manually adding it to veronica and it worked fine. So that might mean that there is some script interference, do you know if there is any vanilla scripts which could cause this?
Swanky Posted July 14, 2015 Posted July 14, 2015 Okay now seeing this thread I think it might be a better idea of just posting the original post again here, since more people seem on readin this topic and by the looks of it seems to be the appropriate thread anyway. Hopefully someone could help a non-scripter with resolving the issue.   Hey,  some time ago I found out about these two nice little immersion mods that both work with the Courier's stash preorder items. Now thinking it might be a nice little idea to not run into the Mojave with just my pants on AND giving every bandit this side of Vegas the same chance of items, I installed BOTH. Which kinda worked - only the items are not distributed to the character afterwards, because both are using the same base script. Now I've tried and merge those two somehow... but I am not a scripter, coder... so... yes it didn't work, obviously. Then I looked at it some more and found the original selection script. It might be a nice idea to integrate the distribution of the items at the end of the selection (all of them, however, not just the selected items), but I do not know how this might be done. This might be potentially interesting for other people, too.   Yukichigai's Selector Script  scn NVDLC00SelectorQuestSCRIPTshort DoStatus ;// Tracks where we are in the dialogueshort CaravanStatusshort ClassicStatusshort MercenaryStatusshort TribalStatusshort numDLCshort ButtonBegin GameMode   if DoStatus == 0      ;//== Disable every DLC pack by default just so we don't get interrupted      set VDLCPackQuest.bCaravanItemsGiven to 1      set VDLCPackQuest.bClassicItemsGiven to 1      set VDLCPackQuest.bMercenaryItemsGiven to 1      set VDLCPackQuest.bTribalItemsGiven to 1      set VDLCPackQuest.bCaravanUninstalled to -1 ;// Used to indicate to other mods that the load list has been modified, i.e. they shouldn't just re-enable everything      SetQuestDelay NVDLC00SelectorQuest 1 ;// Add a delay      set DoStatus to 1   elseif DoStatus == 1 && VDLCPackQuest.bClassicUninstalled != -1 ;//== Unofficial way of tagging the Pre-order DLCs as disabled/do not activate now      ;//== See what DLC Packs are installed      ;//=== Actually, the IsDLCInstalled function doesn't work. Skip this for now      ;if (IsDLCInstalled "Caravan Pack")      ;   set numDLC to 1      ;else      ;   set CaravanStatus to -1      ;endif      ;if (IsDLCInstalled "Classic Pack")      ;   set numDLC to (numDLC + 1)      ;else      ;   set ClassicStatus to -1      ;endif      ;if (IsDLCInstalled "Mercenary Pack")      ;   set numDLC to (numDLC + 1)      ;else      ;   set MercenaryStatus to -1      ;endif      ;if (IsDLCInstalled "Tribal Pack")      ;   set numDLC to (numDLC + 1)      ;else      ;   set TribalStatus to -1      ;endif      ;//== Hackify it      set numDLC to 4      if numDLC > 1 ;// Show the selection message         Set DoStatus to 2         SetQuestDelay NVDLC00SelectorQuest 0.1 ;//Undo the delay for the menu         ShowMessage NVDLC00SelectorMessage CaravanStatus ClassicStatus MercenaryStatus TribalStatus      else ;// Not enough DLC installed to select anything, so lets quit         StopQuest NVDLC00SelectorQuest      endif   elseif DoStatus == 2 ;// Loop for the menu      set Button to GetButtonPressed      if Button == 1 ;// Toggle Caravan         set CaravanStatus to (CaravanStatus == 0)      elseif Button == 2 ;// Toggle Classic         set ClassicStatus to (ClassicStatus == 0)      elseif Button == 3 ;// Toggle Mercenary         set MercenaryStatus to (MercenaryStatus == 0)      elseif Button == 4 ;// Toggle Tribal         set TribalStatus to (TribalStatus == 0)      elseif Button == 5 ;// Enable all         if CaravanStatus > -1            set CaravanStatus to 1         endif         if ClassicStatus > -1            set ClassicStatus to 1         endif         if MercenaryStatus > -1            set MercenaryStatus to 1         endif         if TribalStatus > - 1            set TribalStatus to 1         endif      elseif Button == 6 ;// Disable all         if CaravanStatus > -1            set CaravanStatus to 0         endif         if ClassicStatus > -1            set ClassicStatus to 0         endif         if MercenaryStatus > -1            set MercenaryStatus to 0         endif         if TribalStatus > - 1            set TribalStatus to 0         endif      else ;// Catch-all, exit the menu         set DoStatus to 3      endif      if DoStatus != 3 ;// If the loop is still enabled, show the message again         ShowMessage NVDLC00SelectorMessage CaravanStatus ClassicStatus MercenaryStatus TribalStatus      endif   elseif DoStatus == 3 ;// Menu done      ;//== Enable the appropriate items based on our choices      set VDLCPackQuest.bCaravanItemsGiven to (CaravanStatus == 0)      set VDLCPackQuest.bClassicItemsGiven to (ClassicStatus == 0)      set VDLCPackQuest.bMercenaryItemsGiven to (MercenaryStatus == 0)      set VDLCPackQuest.bTribalItemsGiven to (TribalStatus == 0)      set VDLCPackQuest.bCaravanUninstalled to -1 ;// Used to indicate to other mods that the load list has been modified, i.e. they shouldn't just re-enable everything      ShowMessage NVDLC00SelectorDoneMSG      ;//== Stop the quest      StopQuest NVDLC00SelectorQuest   endifEnd   TheSilenced Integration Scripts  ScriptName VPreorderCaravanSCRIPTshort DoOnceint iRighttoArmBearsLoadedint iRighttoArmBearsLoadedAltint iCountint iIndexint iRefref rRefBEGIN GameMode   if (DoOnce != 0)      set DoOnce to 0      set iRighttoArmBearsLoaded to 0   endif   if IsModLoaded "GRA - The Right to Bear Arms.esp"      set iRighttoArmBearsLoaded to 1   endif   if IsModLoaded "GRA - The Right to Bear Arms -Vendors Untouched.esp"      set iRighttoArmBearsLoadedAlt to 1   endif   if (DoOnce == 0)   ; Add items to formlists      ; Shotgun      AddFormToFormList Everything WeapPreordCaravanShotgun;      AddFormToFormList NVAllWeapons WeapPreordCaravanShotgun;      AddFormToFormList WeaponListRangedALL WeapPreordCaravanShotgun;      AddFormToFormList ShotgunSurgeonWeaponsList WeapPreordCaravanShotgun;      AddFormToFormList RepairNVCaravanShotgun WeapPreordCaravanShotgun;      ; Armor      AddFormToFormList Everything PreordArmorLeather;      AddFormToFormList RepairLeatherArmor PreordArmorLeather;   ; Add items into the world      ; Armor      if (iRighttoArmBearsLoaded == 0)         AddItemToLeveledList CondLeatherArmor PreordArmorLeather 1 1 35;         AddItemToLeveledList CondLeatherArmor PreordArmorLeather 1 1 25;      elseif (iRighttoArmBearsLoaded == 1 || iRighttoArmBearsLoadedAlt == 1)         if iRighttoArmBearsLoaded == 1            set iIndex to GetModIndex "GRA - The Right to Bear Arms.esp"         endif         if iRighttoArmBearsLoadedAlt == 1            set iIndex to GetModIndex "GRA - The Right to Bear Arms -Vendors Untouched.esp"         endif         set iCount to 0         Label 1         set iCount to iCount + 1         if iCount <= 1            if iCount == 1               set iRef to 20167   ;aagCondLeatherArmor            endif            ; Piece together FormID            set rRef to BuildRef iIndex iRef            if iCount == 1               AddItemToLeveledList rRef PreordArmorLeather 1 1 25               AddItemToLeveledList rRef PreordArmorLeather 1 1 35            endif            Goto 1         endif      endif      ; Shotgun      AddItemToLeveledList CondNVCaravanShotgunLoot WeapPreordCaravanShotgun 8 1 45;      AddItemToLeveledList CondNVCaravanShotgunLoot WeapPreordCaravanShotgun 13 1 50;   ; Confirm items have been "Given"...      set VDLCPackQuest.bCaravanItemsGiven to 1;      set DoOnce to 1;      printc "Caravan Pack Intigrated"   endif   if (VDLCPackQuest.bCaravanItemsGiven == 1 && DoOnce == 1)   ; ...and stop script from running again.      Stopquest VPreorderCaravan   endifEND   ScriptName VPreorderClassicSCRIPTshort DoOnceBEGIN GameMode   if (DoOnce != 0)      set DoOnce to 0   endif   if (DoOnce == 0)   ; Add to Formlists      ; Armor      AddFormToFormList Everything PreordArmorVault13Armored;      AddFormToFormList RepairVaultSuit PreordArmorVault13Armored;      ; Canteen      AddFormToFormList Everything PreordVaultCanteen;      ; Pistol      AddFormToFormList Everything WeapPreord10mmPistol;      AddFormToFormList Repair10mmPistol WeapPreord10mmPistol;      AddFormToFormList NVAllWeapons WeapPreord10mmPistol;      AddFormToFormList WeaponListRangedALL WeapPreord10mmPistol;      AddFormToFormList NVImprovedHoldoutWeapons WeapPreord10mmPistol;      AddFormToFormList TheProfessionalWeaponsList WeapPreord10mmPistol;   ; Add items into the world      ; Pistol      AddItemToLeveledList Cond10mmPistolLoot WeapPreord10mmPistol 10 1 50;      AddItemToLeveledList Cond10mmPistolNPC WeapPreord10mmPistol 1 1 70;      AddItemToLeveledList Cond10mmPistolRaider WeapPreord10mmPistol 1 1 40;      ; Canteen      SarahVendorChestREF.AddItem PreordVaultCanteen 1 1;      ; Armor      SarahVendorChestREF.AddItem PreordArmorVault13Armored 1 1;   ; Confirm items have been "Given"...      set VDLCPackQuest.bClassicItemsGiven to 1      set DoOnce to 1;      printc "Classic Pack Intigrated"   endif   if (VDLCPackQuest.bClassicItemsGiven == 1 && DoOnce == 1)   ; ...and stop script from running again.      Stopquest VPreorderClassic   endifEND   ScriptName VPreorderMercenarySCRIPTshort DoOnceint iCountint iIndexint iRefref rRefBEGIN GameMode   if (DoOnce != 0)      set DoOnce to 0   endif   if (DoOnce == 0)   ; Add to Formlists      ; Armor      AddFormToFormList Everything PreordArmorMetal;      AddFormToFormList RepairMetalArmor PreordArmorMetal;      AddFormToFormList NVTravelLightBadArmorList PreordArmorMetal;      ; Grenade Rifle      AddFormToFormList Everything WeapPreordGrenadeRifle;      AddFormToFormList NVAllWeapons WeapPreordGrenadeRifle;      AddFormToFormList WeaponListRangedALL WeapPreordGrenadeRifle;      AddFormToFormList ExplodesGasTrapsOnHit WeapPreordGrenadeRifle;      AddFormToFormList PerkDemolitionExpertWeapons WeapPreordGrenadeRifle;      AddFormToFormList RepairNVGrenadeRifle WeapPreordGrenadeRifle;   ; Add items into the world      ; Armor      AddItemToLeveledList CondMetalArmor PreordArmorMetal 1 1 35      AddItemToLeveledList CondMetalArmor PreordArmorMetal 1 1 45      ; Grenade Rifle      AddItemToLeveledList CondNVGrenadeRifleLoot WeapPreordGrenadeRifle 5 1 40      AddItemToLeveledList CondNVGrenadeRifleLoot WeapPreordGrenadeRifle 10 1 50      ; DLC Support         if IsModLoaded "DeadMoney.esm"            set iIndex to GetModIndex "DeadMoney.esm"            set iCount to 0            Label 1            set iCount to iCount + 1            if iCount <= 1               if iCount == 1                  set iRef to 61973   ;NVDLC01ArmorVsBeamTorso               endif               ; Piece together FormID               set rRef to BuildRef iIndex iRef               if iCount == 1                  AddFormToFormList rRef PreordArmorMetal               endif               Goto 1            endif         endif                  if IsModLoaded "HonestHearts.esm"            set iIndex to GetModIndex "HonestHearts.esm"            set iCount to 0            Label 2            set iCount to iCount + 1            if iCount <= 1               if iCount == 1                  set iRef to 63094   ;NVDLC02PerkGruntWeapons               endif               ; Piece together FormID               set rRef to BuildRef iIndex iRef               if iCount == 1                  AddFormToFormList rRef WeapPreordGrenadeRifle               endif               Goto 2            endif         endif         ; Confirm items have been "Given"...      set VDLCPackQuest.bMercenaryItemsGiven to 1;      set DoOnce to 1;      printc "Mercenary Pack Intigrated"   endif   if (VDLCPackQuest.bMercenaryItemsGiven == 1 && DoOnce == 1)   ; ...and stop script from running again.      stopquest VPreorderMercenary   endifEND   ScriptName VPreorderTribalSCRIPTshort DoOnceint iCountint iIndexint iRefref rRefBEGIN GameMode   if (DoOnce != 0)      set DoOnce to 0   endif   if (DoOnce == 0)   ; Add to Formlists      AddFormToFormList Everything WeapPreordMachete;      AddFormToFormList NVAllWeapons WeapPreordMachete;      AddFormToFormList WeaponListMeleeALL WeapPreordMachete;      AddFormToFormList VPoisonWeapons WeapPreordMachete;      AddFormToFormList RepairNVMachete WeapPreordMachete;   ; Add items into the world      AddItemToLeveledList CondNVMacheteLoot WeapPreordMachete 3 1 55      ; DLC Support         if IsModLoaded "HonestHearts.esm"            set iIndex to GetModIndex "HonestHearts.esm"            set iCount to 0            Label 1            set iCount to iCount + 1            if iCount <= 1               if iCount == 1                  set iRef to 71469   ;NVDLC02DaturaPoisonWeapons               endif               ; Piece together FormID               set rRef to BuildRef iIndex iRef               if iCount == 1                  AddFormToFormList rRef WeapPreordMachete               endif               Goto 1            endif         endif                  if IsModLoaded "GunRunnersArsenal.esm"            set iIndex to GetModIndex "GunRunnersArsenal.esm"            set iCount to 0            Label 2            set iCount to iCount + 1            if iCount <= 3               if iCount == 1                  set iRef to 2647   ;NVDLC05ChallengeArmedForBearWeapons               elseif iCount == 2                  set iRef to 2624   ;NVDLC05ChallengeWhiteLineNightmareWeapons               elseif iCount == 3                  set iRef to 2639   ;NVDLC05ChallengeYouDontBelongWeapons               endif               ; Piece together FormID               set rRef to BuildRef iIndex iRef               if iCount == 1                  AddFormToFormList rRef WeapPreordMachete               elseif iCount == 2                  AddFormToFormList rRef WeapPreordMachete               elseif iCount == 3                  AddFormToFormList rRef WeapPreordMachete               endif               Goto 2            endif         endif            ; Confirm items have been "Given"...      set VDLCPackQuest.bTribalItemsGiven to 1;      set DoOnce to 1;      printc "Tribal Pack Intigrated"   endif   if (VDLCPackQuest.bTribalItemsGiven == 1 && DoOnce == 1)   ; ...and stop script from running again.      stopquest VPreorderTribal   endifEND   Thanks for your continued time and help! o/
Guest Posted July 14, 2015 Posted July 14, 2015     (because not configured in the right way or because it is impossible to be executed), or there's a running script that avoid any interference from you    The package is just a basic sandbox package which checks if a float is <= a value. I've tested it by manually adding it to veronica and it worked fine. So that might mean that there is some script interference, do you know if there is any vanilla scripts which could cause this?   The float doesn't count because the conditions are ignored when a package is added via AddScriptPackage, so the package will be always evaluated even if the conditions are false. The problem with a sandbox package is... when will it drop? I'm inclined to believe that it drops immediately because sandboxing is not like a Travel package which has a precise end. Maybe Jaam could provide a better insight on the sandboxing behaviour.
thepineapple Posted July 14, 2015 Posted July 14, 2015 Â Â Â Â Â Â Â The float doesn't count because the conditions are ignored when a package is added via AddScriptPackage, so the package will be always evaluated even if the conditions are false. The problem with a sandbox package is... when will it drop? I'm inclined to believe that it drops immediately because sandboxing is not like a Travel package which has a precise end. Maybe Jaam could provide a better insight on the sandboxing behaviour. Â Â The duration of the package would make the most sense to signify the end of the package but I have that set to something other than 0. Thanks for the insight into how package scripting works A.J. Hopefully someone else can elaborate on my issues further.Â
Guest Posted July 14, 2015 Posted July 14, 2015 Oh I had a doubt. I hope you are not using EVP after AddScriptPackage, aren't you? Â However, it could be a good idea to test it in game if you want. Click on the reference and: AddScriptPackage <hex ID of the package you can find on GECK too> and then wait few seconds and see if something changes. This at least will allow you to narrow down the problem, if it's in your script or in the package. You can check with GetCurrentAIPackage the type of package that the npc is using actually, it will answer with a value which corresponds to the package, i.e. 14 if it is setted to stay in a certain place, or 36 if it's sandboxing. This is useful because sometimes the NPC could feel bad and not sandboxing, visually speaking, but the current ai package still returns 36, this means that you did your work, it's the npc which is not doing his work
thepineapple Posted July 14, 2015 Posted July 14, 2015 Oh I had a doubt. I hope you are not using EVP after AddScriptPackage, aren't you?  However, it could be a good idea to test it in game if you want. Click on the reference and: AddScriptPackage <hex ID of the package you can find on GECK too> and then wait few seconds and see if something changes. This at least will allow you to narrow down the problem, if it's in your script or in the package. You can check with GetCurrentAIPackage the type of package that the npc is using actually, it will answer with a value which corresponds to the package, i.e. 14 if it is setted to stay in a certain place, or 36 if it's sandboxing. This is useful because sometimes the NPC could feel bad and not sandboxing, visually speaking, but the current ai package still returns 36, this means that you did your work, it's the npc which is not doing his work  No definitely not using evp after addscriptpackage.  Adding the package through the console works fine when the companion is not at the lucky 38 but when I add it manually it does the same thing it does when using the scripting method. GetCurrentAI package is just returning 36 because it keeps going back to the normal lucky38 sandbox package.   The correct way to implement what i'm aiming to do is through a script attached to a quest right?  Edit: It seems like packages re-evaluate when you change cells, which means that what I was aiming to do via scripting might no be worthwhile. I might just need to make a bunch of packages for each individual companion and just change the condition values through scripting rather than apply generic packages through scripting.
Guest Posted July 14, 2015 Posted July 14, 2015 It seems like packages re-evaluate when you change cells, which means that what I was aiming to do via scripting might no be worthwhile. This can be corrected with a proper script probably. Adding the packages to the companions is an easy way to avoid package problems, but it depends by the big picture of the things. It potentially can create conflicts since it changes vanilla IDs, so if you believe this could cause annoyance to you then it's not the right path to follow
Odessa Posted July 14, 2015 Posted July 14, 2015 Consider using AddPackageAt, as an alternative to modifying in GECK. Â It adds a package to the base form of an actor, at a given index, you can use 0 for the top, -1 for the end. Â I have found it to be more reliable than addscriptpackage, but note that: Â It will persist for the duration of the game session, so you will need to re-add it using a GetGameRestarted block. To remove you will have to find its index (See GetBasePackages) and use RemovePackageAt. Â It adds it to the base form, so applies to all references of an NPC. Since companions are unique, this is okay.
thepineapple Posted July 14, 2015 Posted July 14, 2015 Consider using AddPackageAt, as an alternative to modifying in GECK.  It adds a package to the base form of an actor, at a given index, you can use 0 for the top, -1 for the end.  I have found it to be more reliable than addscriptpackage, but note that:  It will persist for the duration of the game session, so you will need to re-add it using a GetGameRestarted block. To remove you will have to find its index (See GetBasePackages) and use RemovePackageAt.  It adds it to the base form, so applies to all references of an NPC. Since companions are unique, this is okay.  This seems have done it!  The only issue I have now is that veronica wont enter the tops when I just tell her to sandbox in the tops cell but I can use moveto to get around that I think.  Thank you so very much A.J and Odessa. You guys were amazingly helpful.
Guest Posted July 15, 2015 Posted July 15, 2015 Â but I can use moveto to get around that I think. Last time I used this solution, for 2 npcs, they both were stopping sandbox after the moveto, I don't know why. I hope it will work for you, it surely would avoid headaches
jaam Posted July 15, 2015 Posted July 15, 2015  Consider using AddPackageAt, as an alternative to modifying in GECK.  It adds a package to the base form of an actor, at a given index, you can use 0 for the top, -1 for the end.  I have found it to be more reliable than addscriptpackage, but note that:  It will persist for the duration of the game session, so you will need to re-add it using a GetGameRestarted block. To remove you will have to find its index (See GetBasePackages) and use RemovePackageAt.  It adds it to the base form, so applies to all references of an NPC. Since companions are unique, this is okay.  This seems have done it!  The only issue I have now is that veronica wont enter the tops when I just tell her to sandbox in the tops cell but I can use moveto to get around that I think.  Thank you so very much A.J and Odessa. You guys were amazingly helpful.   Did you try a travel package ?
thepineapple Posted July 16, 2015 Posted July 16, 2015 Â Â Â Did you try a travel package ? Â Â Yeah I did, they still got stuck on either side of one of the doors to the tops. I discovered this doesn't happen if I have the sandbox/travel package active on that companion when they are hired and they will go inside. Â A little weird but I just move them to the next location when they need to enter or leave the tops. Â Edit: Was just wondering if it was possible to get the actorRef that a package is attached to from within the packages result scripts?
Guest Posted July 16, 2015 Posted July 16, 2015 Â Was just wondering if it was possible to get the actorRef that a package is attached to from within the packages result scripts? Did you try GetSelf? it doesn't work in some cases, but nothing blocks you to try in game with packages and see what happens Set MyQuest.rMyREF to GetSelf Or simply use a different package per companion, maybe
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