Jump to content

Pokepunch

Premium Member
  • Posts

    54
  • Joined

  • Last visited

Everything posted by Pokepunch

  1. From my understanding, an object is persistant if it's being used by a quest or script and because of this it stays in memory. What are you trying to achieve? What about the equipped item are wanting to find out about?
  2. Actually it seems I was wrong, this had been the case for me but now it seems to be related to a bug I've encountered with quest objectives not displaying on first game load. Sorry for bumping this thread with wrong info.
  3. If you start the quest then wait a few seconds before setting objectives the quest will show up in the pipboy without showing the quest started popup.
  4. You don't use an items ID for scripts. You must add caps as a property on the script. You can do this by clicking on the "Properties" button at the bottom of the Papyrus Fragment box in the Terminal window. Then add a property. Caps are a Misc item called Caps001.
  5. The compiler log tells you everything you need. "variable f is undefined" You need to add a property called f in the Terminal Fragment window.
  6. For the ShackKey Alias you haven't select your key object in the dropdown.
  7. I was asking more about the visual aspect of only showing the player's items that can be added to the container.
  8. You've got pPlayerREF as an ObjectReference and EquipItem is an Actor function. You can get around this like so: (pPlayerREF as Actor).EquipItem(Pipboy, true)
  9. When you open the inventory of a Power Armor frame the game limits what items you can see to those that belong in PA; Armor pieces and Fusion Cores. I've looked around the CK and through Inventory and PA related scripts and found nothing. Does anybody know if this can be done for a custom container?
  10. Try changing expToGive from float to int and then remove ".GetValueInt()".
  11. So you've got your new Potion item. You'll want to make a new Magic Effect and change the Effect Archetype to Script, you'll need to click OK to create the new Magic Effect before adding a script. So open up your effect and in the bottom right click Add, then New Script. Once you've got your script on the effect you'll want to open in and add this: Float Property expToGive Auto Const Event OnEffectStart(Actor akTarget, Actor akCaster) Game.RewardPlayerXP(expToGive.GetValueInt()) EndEvent Now compile it, go into Properties and set expToGive to your desired value. Now add your Magic Effect to your Potion and you should be good to go.
  12. I'd recommend using using this function instead: Game.RewardPlayerXP(expToReward.GetValueInt()) This is how it's done in the base game scripts I've looked at.
  13. You could have each rank conditioned so that the effect doesn't apply if the player has the next rank, then each rank can set its own value.
  14. If you can't find them as conditions it's likely that you'll need to instead script them. I'll try to answer what I can. - Critical Effects: As far as I can see this is handled on a per weapon basis, look at an energy weapon like the Laser Gun. Look near the bottom of Game Data and you'll see Crit Effect. - Radiation Rate: I think this will need to be done via scripting. Here's something I put together quickly: ActorValue Property rads Auto Const Float Property radsPrevious Auto Const Float Property radMinimum = 20 Auto Const Event OnInit() RegisterForRadiationDamageEvent(Game.GetPlayer()) radsPrevious = Game.GetPlayer().GetValue(rads) EndEvent Event OnRadiationDamage(ObjectReference akTarget, bool abIngested) Float radDamage = akTarget.GetValue(rads) - radsPrevious If (radDamage >= 20) ;Do something. EndIf radsPrevious = akTarget.GetValue(rads) RegisterForRadiationDamageEvent(Game.GetPlayer()) EndEvent I haven't tested this, but it's a starting point anyway. Put this in a script attached to a quest and see if it works. I don't know how much scripting knowledge you have but hopefully this helps. - Get Carry Weight: You'll need scripting for this one too, there's a function called GetInventoryWeight(). Exactly what you need for this, simple. NOTE: This is actually an F4SE function. - Get Damage: For the player you can do something similar to the radiation damage script above, just swapping out Rads for Health and RadtionDamage event to OnHit. Getting the damage dealt to actors other than the player is tricky and quite an involved process.
  15. Try this: (Alias.GetReference() as Actor).Kill() As an ObjectReference can be any type of object and not just an Actor you might need to cast the reference as an Actor.
  16. This is quite simple, what you need to do is a add the quest as a property to the fragment box for your dialogue. Then use code like this: OtherQuest.SetStage(StageNumber)
  17. So are you trying to remove a keyword? If so you need to use RemoveKeyword and not RemoveItem.
  18. Show us your whole script, not just one line the entire thing.
  19. Please refer to the examples on the wiki. You don't need to put the type into the function. So in your example: Game.GetPlayer().RemoveItem( KeywordName , int aiCount = -1, bool abSilent = true) You don't need the "int" or "bool". It's also unnecessary to have the "aiCount" and "abSilent" like so: Game.GetPlayer().RemoveItem( KeywordName, -1, true)
  20. I don't think you understood him. He knows that can be done, he just doesn't want to duplicate the voice files. Unfortunately I don't think it's possible to do. you have to define each voice line separately.
  21. Try this: Scriptname NUHealthRec extends activemagiceffect Int Property RandomV Auto Const ActorValue Property HP Auto Const Event OnDeath(Actor akKiller) Int roll = utility.RandomInt(1, 100) If (roll <= RandomV) Float temp9 = 9999 as Float akKiller.RestoreValue(HP, temp9) Debug.MessageBox("Full HP") EndIf EndEvent Now that I know the script is being applied to the target I can see that instead of OnKill you should use OnDeath.
  22. If you need to do something when the player kills an actor you can use the OnKill event.
  23. Bethesda will probably release the source scripts for DLC05 with the next CK update. In the meantime you can use Champollion to decomplie the scripts yourself.
×
×
  • Create New...