Jump to content

dylbill

Premium Member
  • Posts

    1500
  • Joined

  • Last visited

Nexus Mods Profile

1 Follower

About dylbill

Profile Fields

  • Country
    United States

Recent Profile Visitors

41709 profile views

dylbill's Achievements

Mentor

Mentor (12/14)

  • Reacting Well
  • Dedicated
  • Conversation Starter
  • First Post
  • Collaborator

Recent Badges

26

Reputation

  1. Ah, so your script knows what to do with vanilla markers but not with mod added markers. What you can do is save the markers in an array and their locations in another array, make sure the indexes match, then find the vanilla marker by comparing the mod added marker's current location. Something like this: Location[] Property VanillaBountyLocations Auto ObjectReference[] Property VanillaBountyLocationMarkers Auto ObjectReference function GetVanillaMapMarkerForLocation(location akLocation) int index = VanillaBountyLocations.find(akLocation) if index > -1 return VanillaBountyLocationMarkers[index] else debug.trace("map marker for location " + akLocation + " not found", 2) return none Endif EndFunction ReferenceAlias property refAlias Auto Event OnSomeEvent() ObjectReference ref = refAlias.GetReference() if ref int index = VanillaBountyLocationMarkers.find(ref) if index == -1 ;ref not found in expected vanilla map markers location akLocation = ref.GetCurrentLocation() ref = GetVanillaMapMarkerForLocation(aklocation) if ref ;vanilla ref found Endif Endif Endif EndEvent
  2. I'm not really sure what the issue is. Is this a papyrus script issue? Aren't the bounty quests repeatable? To get a reference you should just be able to use GetReference()
  3. Hmm, looks like this doesn't work the same via script, there must be something else going on in the creation kit to make it display, so you'll have to find a workaround. You could cast a spell that has an explosion that has a placed object set maybe, or play an art object on an objectReference.
  4. No problem if you need another example my mod NPC Death Alerts uses that event. Happy modding!
  5. Lol true. I will admit I only skimmed the original comment, but you can use my papyrus functions mod to do this: Event OnInit() ;register this script (self) for when the player kills anyone DbSkseEvents.RegisterFormForGlobalEvent("OnDeathGlobal", self, Game.GetPlayer(), 1) EndEvent Event OnDeathGlobal(Actor Victim, Actor Killer) Debug.Notification(Killer.GetDisplayName() + " killed " + Victim.GetDisplayName()) EndEvent
  6. PlaceAtMe has an abInitiallyDisabled parameter. Set this to true. This will make the placed reference invisible until you want it to be visible. Then use .enable() (after moveto) to make them visible.
  7. I would add that for objectReferences there is GetWorldModelNthTextureSet and SetWorldModelNthTextureSet, for armorAddon there is GetModelNthTextureSet and SetModelNthTextureSet. Note that to use these there must already be a textureSet applied to the model in the creation kit. The set functions can't apply a textureSet to models that don't already have one.
  8. Fragments are a special case. If you want separate functions you have to put them in a separate script. You can attach another script to the same quest then do: (GetOwningQuest() as YourScriptName).EnableObjectsAtFirstStop()
  9. To "convert" an NPC into another, just disable / delete the npc and use PlaceActorAtMe or MoveTo to replace it with another. I use resurrect in my NPC Death Alerts mod. Here's how I do it. npcdeathalerttransferchest is just an empty container base form. objectreference transferchest = npcdeathalertchestref.placeatme(npcdeathalerttransferchest, 1) armor helmet = victim.getwornform(0x00000001) as armor armor clothes = victim.getwornform(0x00000004) as armor armor gloves = victim.getwornform(0x00000008) as armor armor amulet = victim.getwornform(0x00000020) as armor armor ring = victim.getwornform(0x00000040) as armor armor boots = victim.getwornform(0x00000080) as armor armor shield = victim.getwornform(0x00000200) as armor armor circlet = victim.getwornform(0x00001000) as armor utility.wait(0.2) victim.removeallitems(transferchest, true, true) ;utility.wait(0.2) ;transferchest.activate(playerRef) utility.wait(0.75) victim.resurrect() utility.wait(0.75) victim.removeallitems() utility.wait(0.2) transferchest.removeallitems(victim, true, true) utility.wait(0.2) if helmet != none victim.equipitem(helmet) endif if clothes != none victim.equipitem(clothes) endif if gloves != none victim.equipitem(gloves) endif if amulet != none victim.equipitem(amulet) endif if ring != none victim.equipitem(ring) endif if boots != none victim.equipitem(boots) endif if shield != none victim.equipitem(shield) endif if circlet != none victim.equipitem(circlet) endif utility.wait(0.2) transferchest.disable() transferchest.delete()
  10. The user doesn't need the source files at all, they only need the .pex files in data/scripts. In your CreationKitCustom.ini, you can add this: [Papyrus] sScriptSourceFolder = ".\Data\Scripts\Source" But you will still need to copy the files from Data\Source\Scripts to there cause that's where the creation kit will have unzipped the source files to, and then re-install skse after to overwrite the .psc files. I just always make sure all source .psc files are in both folders so I don't have to worry about it.
  11. Most likely your source scripts aren’t in the right folder. In SE they changed the source folder to data/source/scripts while in le it was data/scripts/source. I just always make sure all the source .psc scripts are in both folders
  12. No problem, and yes, you can’t use skse if uploading your mod to xbox.
  13. xkkmEl is correct. I'd recommend something like this. May need to be tweaked because I'm not sure how fast crime gold is updated. no skse version Faction Property CrimeFactionWinterhold Auto Event OnActivate(ObjectReference akActionRef) if akActionRef == Game.GetPlayer() if IsLocked() int crimeGold = CrimeFactionWinterhold.GetCrimeGold() Utility.Wait(2) ;wait for lock picking menu to close int newCrimeGold = CrimeFactionWinterhold.GetCrimeGold() int diff = newCrimeGold - crimeGold if diff > 0 ;player was likely caught CrimeFactionWinterhold.SetCrimeGold(newCrimeGold + 100) ;add 100 to crime gold Endif Endif Endif EndEvent skse version Faction Property CrimeFactionWinterhold Auto int crimeGold Event OnActivate(ObjectReference akActionRef) if akActionRef == Game.GetPlayer() if UI.IsMenuOpen("Lockpicking Menu") crimeGold = CrimeFactionWinterhold.GetCrimeGold() RegisterForMenu("Lockpicking Menu") Endif Endif EndEvent Event OnMenuClose(string menuName) if menuName == "Lockpicking Menu" UnRegisterForMenu("Lockpicking Menu") Utility.Wait(2) int newCrimeGold = CrimeFactionWinterhold.GetCrimeGold() int diff = newCrimeGold - crimeGold if diff > 0 ;player was likely caught CrimeFactionWinterhold.SetCrimeGold(newCrimeGold + 100) ;add 100 to crime gold Endif Endif EndEvent
  14. I've used this tutorial to add collision to nifs before:
×
×
  • Create New...