Jump to content

tunaisafish

Premium Member
  • Posts

    544
  • Joined

  • Last visited

Everything posted by tunaisafish

  1. Did you remember to assign the property to the Ref in the CK? {*1} If you did, then make sure you're testing with a clean save. If it still isn't working add debug line in front of the line that is going wrong. In this case you'll want... Debug.Notification("Running RemoveAllItems on " + GarbageContainer) {*1} If you're using a linked Ref, then you shouldn't need to do that anyway, as you can use GetLinkedRef() instead.
  2. I found that note on the wiki, it was on the page Luke mentioned, but it's larger than the one you are having trouble with. Luckily the Tab works as normal on the Reference Alias page, or to put that another way it's just weird that the tab button is crippled on the NPC page. I just had it up trying to see if there was a another keyboard shortcut, but didn't get anywhere. Unless you can up your res, yeah I think you're screwed :(
  3. Ah, okay gotcha :) In the last script you posted just move the line... int initialValue = killmoveEnabled.GetValue() to the first line of the OnHit Event. That will compile ok then, as you can use calculated assignments in variable declarations within functions and Events (just not at the script level as you'd tried). It will also read the value at the start of each OnHit, which I think you are wanting to do anyway.
  4. Somewhere on the wiki it tells you how many times to press TAB so that the off screen OK button is highlighted. Sorry, I can't find where I read that now though.
  5. The error is because of the 'int initialValue' declaration. You can't use functions to set the value. literal values are fine though (as you found out). If the bug you talk about is because you end up with too many OnHit's running, then there's a far more efficient way to ensure only one runs at a time if you use states. Using a globalVariable is unneeded. Scriptname myscript extends ObjectReference Event OnHit(ObjectReference akAggressor, Form akSource, Projectile akProjectile, bool abPowerAttack, bool abSneakAttack, bool abBashAttack, bool abHitBlocked) GotoState("busy") Debug.Notification("Onhit has triggered") ; more stuff here GotoState("") EndEvent State busy Event OnHit(ObjectReference akAggressor, Form akSource, Projectile akProjectile, bool abPowerAttack, bool abSneakAttack, bool abBashAttack, bool abHitBlocked) ; ignore OnHit's while still processing EndEvent EndState
  6. It might not be as impossible as you think. You can change the type of some of the base objects without problems. So if you create the activator as Chuck says, then edit the FormID of that to whatever the FormID of he tree is, all those tree-ref's in the wasteland will be using your new base object. No guarantees that this will work as I've not tried Static->Activator. I can say that Activator->Container works without a hitch though.
  7. I'm way too cool to press all those [show] buttons :P Looking great so far :)
  8. You can rename a mod and SKSE won't care. However, to your savefiles it would be as if you deleted the mod, and then installed a completely new one. As it's a house mod you'd want to clear all your stuff out first. So uninstall the mod you have. Open your saved game to see that's it's gone, and then do a clean save. Now re-install the mod, changing the esp name (and bsa name to match - if there is one). BTW, if you've edited the mod and only added stuff, then you could probably just put those changes in your own personal mod. It wouldn't matter then if the author updates theirs.
  9. If you mean BSA file, it's under File->Create Archive
  10. There's a pinned thread in the New Vegas Mod Talk forum that will probably help.
  11. It may just be mod overload. Some ppl experience random stuff like this at 80 mods, and some can go much higher 140+. So if you have a heap of mods and remove some and it goes away, then don't think the mods you just removed were the cause. It may be the total count of mods.
  12. You can avoid placing a dumb Ref in the world and declare the Base Object property as a Form. See Setting a Form as a Property works OK It's not actually that hard to do even if you have to edit the FormID of the VNAM. If you want to go that route and it's not clear then feel free to ask :) --- The PlaceAtMe always makes a new Ref. MoveTo would relocate the orig.
  13. I know a few modders have been looking into this, but I don't think there's a satisfactory solution yet. When SKSE has papyrus support it will become a lot simpler to implement.
  14. The only "pony girl" I've met was in SL. So, like this, but with a bridle and saddle?
  15. Jeez, I wish I'd known you'd made 2 threads for this. There' replies in the other one too now.
  16. You can spawn a scripted activator from your magic effect with PlaceAtMe(). Make it so you can see while you're testing, and later turn it into an invisible ball object. In the activator script you'd have an OnActivate event something like... ScriptName MyTPScript extends ObjectReference ObjectReference Property SomeMarker Auto Event OnActivate(ObjectReference akActionRef) If (Game.GetPlayer() == akActionRef) akActionRef.MoveTo(SomeMarker) Delete() EndIf EndEvent
  17. You'd missed setting a properties in your magic effect scripts to the questscript. Also, you don't need to define functions in the quest, as an Auto property does that for you :)
  18. OnInit will have no knowledge of what skill just increased, if that's important. In general you also want to keep OnInit short and sweet. Use OnReset for more complex tasks. I rewrote the quest script so it would work as either start game enabled, or story manager fired. 1/ Looked OK to me. 2/ You don't need fragments here. But think of them as events that can run at specific points in your quest. kmyQuest is an Alias for the main script (eg. ESG_AdvSkillMagic). So it's easy to access properties/functions from the fragment. eg. String origVal = kMyQuest.SchoolOfMagic kMyQuest.SchoolOfMagic = "foo" kMyQuest.GivePerks() 3/ Use the Start Game Enabled variant, so it will poll every 2 mins. 4/ Remember to Stop() quests if you want the story manager Event to fire again. I've not looked at the rest of your post yet. Will if I get time.
  19. You'll no doubt recognize it when you see it.
  20. Why not bypass the problem, and store the Actor variables directly. So instead of globals, you'll make some Actor properties in a quest script. Scriptname MyVariableQuest extends Quest Actor Property target1 Auto Actor Property target2 Auto The replace your global refs in your code with ones to the quest. MyVariableQuest Property MyGlobals Auto MyGlobals.target1 = aktarget
  21. yvw, and you're one up on me there. I have the modelling and artistic abilities of a dung beetle :)
  22. Gotcha :) To be compatible with other mods then you really want to limit editing NPC's directly where you can help it. Two ways around this, The Quest with an Alias to the player. You can then add scripts and inventory, spells etc to the Alias. The other way if you just want a script, is to use a magic effect ability, although you've got to use some way of adding that though. (A quest Script or an object that the player interacts with are probably the most common.) For the actual task of Location change, then you don't need to attach a script at all. Use the OnStoryChangeLocation Event. That can start your quest (with your location Alias in it) for you. But you'd need to stop that quest for the story manager to start it again. Probably a combination of the 2 will work best. Quest starts when you change location after your mod is installed. That grabs the location and player alias. So now you have your script on the player from the 1st post. (extends AliasReferenceAlias this time though) Each time the player changes location you'd use Alias_YrLocAlias.ForceRefTo(akNewLoc). (I think) any messages you show() from then on will be able to use the location text. Edit: Fixed ReferenceAlias. When I typo script names in my editor I can tell right away from the colour.
  23. In the sleeping quest script from what I recall. Yep. PlayerSleepQuestScript.psc Change... If CHScript.PlayerHasBeastBlood == 1 ; Debug.Trace(Self + "Player is werewolf; no restedness on sleep.") RemoveRested() BeastBloodMessage.Show() ElseIf Game.GetPlayer().HasSpell(pDoomLoverAbility) == 0 To... ; If CHScript.PlayerHasBeastBlood == 1 ; Debug.Trace(Self + "Player is werewolf; no restedness on sleep.") ; RemoveRested() ; BeastBloodMessage.Show() If Game.GetPlayer().HasSpell(pDoomLoverAbility) == 0
×
×
  • Create New...