-
Posts
1500 -
Joined
-
Last visited
Nexus Mods Profile
About dylbill

Profile Fields
-
Country
United States
Recent Profile Visitors
41709 profile views
dylbill's Achievements
-
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
-
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()
-
Add decals (TextureSet) via script
dylbill replied to mannygt's topic in Skyrim's Creation Kit and Modders
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. -
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
-
Add decals (TextureSet) via script
dylbill replied to mannygt's topic in Skyrim's Creation Kit and Modders
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. -
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()
-
RegisterForMenu should still work on a referenceAlias script.
- 25 replies
-
- 1
-
-
- crime gold
- crime/bounties
-
(and 2 more)
Tagged with:
-
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.
- 25 replies
-
- 1
-
-
- crime gold
- crime/bounties
-
(and 2 more)
Tagged with:
-
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
- 25 replies
-
- crime gold
- crime/bounties
-
(and 2 more)
Tagged with:
-
No problem, and yes, you can’t use skse if uploading your mod to xbox.
- 25 replies
-
- 1
-
-
- crime gold
- crime/bounties
-
(and 2 more)
Tagged with:
-
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
- 25 replies
-
- crime gold
- crime/bounties
-
(and 2 more)
Tagged with:
-
How to add collision to nif ports from fbx files?
dylbill replied to Wolfstorm's topic in Skyrim's Creation Kit and Modders
I've used this tutorial to add collision to nifs before: