Jump to content

senterpat

Premium Member
  • Posts

    677
  • Joined

  • Last visited

Everything posted by senterpat

  1. Is it a collection alias? Formlist? Some sort of wizardry? I'm trying to allow crew assignments to my player home, but the only way to add a location to the outpost list is with a manually place beacon. Or so it seems, I would love for someone to corret me.
  2. I have been at this for hours, and I'm beginning to think it's impossible. I just want to use the diamond icons on UC and above resources on some misc objects to indicate rarity. I can get the icon on it by attaching an IRES component to it, but it then sorts the Misc Object into resources in the inventory in game. There are food items that have IRES components, but they are not sorted into the resources section. I tried to base it off that, but every time I get it out of resources, it loses the icon as well. If anyone has any guidance or even ideas I would love to hear them.
  3. To recreate a cell in xEdit just right click the cell, deep copy as override into your esm. Then go to the cell and select all the references in it and change formid to your mod, lastly change the formid of the cell to your mod.
  4. I have been trying to get this to work for the past couple of days, convinced I just don't know how to use quest aliases, so I was trying to figure out what combination of tags I needed to get it to work, but after adding a debug message to GetTargetAliasFunction(), I'm not sure it's a quest alias issue as the message doesn't pop up before the error message, although I know next to nothing about creating custom events and functions, so it could just be that I'm a fool I've double and triple-checked all the instructions you placed are followed correctly, I can send you the mod with folder structure if you think that's where the issue may lie
  5. Awesome I'll test this as soon as I get a chance, your the man Also thanks for the step by step instructions, you made my life much easier edit: Got it working like a charm, took me a minute because I didn't realize Starfield and SKSE had been updated last week. One question tho, without registering the script, how can I tell the script which alias to fill?
  6. Sounds like that mod just starts a alternate unity quest, rather then reducing the players current level.
  7. That sounds good, I don't understand all of it, but I can probably work it out if the event can be triggered As for the player level issues, the level change would (optionally) happen at the beginning of a NG+, letting the player start a Unity playthrough at level 1. I'm not sure as I can't test it, but I think most things get reset when going through unity, so the leveled lists and such shouldn't be an issue, if I reset the level before the player actually enters unity.
  8. SFSE dependency is not an issue for me at all. Most of my mods end up requiring them anyways, and all mods require them right now If you could make such an event that would be neato bandito and make my life easier for sure. I didn't have too much time to mess with it yesterday. But I'm off work today and have some time to test around with it. AttachPapyrusScript does work in Starfield, I had to use it for another mod already using bat commands. edit: This is unrelated, but you may know better than most. Is there any way to reset the players level to 1? If possible it seems it would require script extension, as all my research and attempts seem to point to it being impossible.
  9. No it's going to have set the reference to almost any deco item when they place it, and set them into the reference. I set the alias type to "Find Matching Reference from Event" with FromEvent to craft item, and the EventData to CreatedObject, it seemed to me that this would be what I needed, but it doesn't seem to be working. Is that how you get it from the story manager? Or will I need to send the story event manually? It doesn't really seem like I can register for story events from looking at other scripts. I could just attach the script to each decoration item, but that would require patches for modded decor, so ideally getting the reference dynamically would be best. I'll continue to mess with it, going to dig into xEdit and see if I can figure out how story manager event nodes work.
  10. Thank you for your response This is my first real foray into using quest aliases so I'm mostly working using trial and error I do plan on cleaning it up, this was just a quick script to see if I could get it to trigger, which I'm still having trouble doing, but that is possibly because I'm assigning the Alias wrong. Right now its set up as: Name:ActiveObject Flags: Optional Unknown 00 00 00 00 I copied that from OutpostTutorial quest, as that deals with placing objects so I thought it might work I tried adding several version of alias types, as well as "Force into Alias when Filled" but none would get the second debug message to fire.
  11. Heyo, not super familiar with quest aliases and such, but what I want to do is simple I think, I just want to assign a placed workshop item to a reference alias so I can do stuff with it after being placed, the first section fires fine, but it doesn't seem to be firing when placing the item (using a vanilla asset to test). Eventually I want it set up to use the decoration category keyword rather than I specific reference, but wanted to make sure I could trigger it, but can't even get that done Scriptname TestScript extends Quest conditional ReferenceAlias Property ActiveObject Auto const Actor Property PlayerRef Auto const Activator Property Tester Auto const Event OnQuestStarted() Self.RegisterForRemoteEvent(Tester as ScriptObject, "OnWorkshopObjectPlaced") debug.messagebox("init") EndEvent Event ReferenceAlias.OnWorkshopObjectPlaced(ReferenceAlias akSource, ObjectReference akReference) ActiveObject.ForceRefTo(akReference) debug.messagebox("placed") EndEvent
  12. I've tried to find tutorials and such for blender modeling with starfield, googling it is impossible, as there are a million tutuorials for how to make a starfield in blender. My own attempts at this based off of memory from my FNV modelling days with blender have been a complete failure. If anyone can point me to a good tutorial for importing/exporting a model to blender I would appreciate it. Alternativly, if anyone just wants to cut off the middle (verically) of the male/female upperbody starborn model, that would be alot easier for me. I just want to mash it up with some other stuff, but the chest piece and boostpack are unwanted. Pretty much just want the arms and the shoulder area. If you're really bored, the same treatment for delgados outfit, with the scarf removed as well would be super sweet and be a useful resource.
  13. So, trying to make a relatively simply script, but having a few issues. 1. The player will copy the aliases appearance, but only if I call game.getplayer(), trying to use the property makes nothing happen, but I was under the impression the latter is faster, and they return the same data. 2 . The TempActor is not copying the players appearance, regardless of how I reference the player (property or game.getplayer()) The TempActor is just a blank slate essentially. Assigned in the quest as and object, pointing to the Actor data under NPC. Do I need to assign him as a reference alias as well? I'm sure the issue lies in how I'm calling the TempActor, but if I can't use a reference or actorbase, and am at a bit of a loss. Any advice is appreciated, or an alternate method to save the players appearance would be welcome. Actor Property PlayerREF Auto Const mandatory Actor Property TempActor Auto Const mandatory Function Fragment_Phase_01_End() TempActor.CopyAppearance(game.getplayer()) game.getplayer().CopyAppearance(PrimaryActorAlias.GetActorReference()) EndFunction
  14. Thanks so much! I already tried the OMOD method, sadly when I attach the keyword using that the armors model disappears. I tried doing the reverse and having it start with the keyword and having the OMOD remove it, but that didn't work at all. I never even got to the scripting process when I switched to this method, as I could never get the OMOD on without the armor disappearing, but using a different keyword worked fine. It's likely due to it being hardcoded, I can manipulate other keywords the same way in testing, but the Armor keyword I was removing let's you hide your space suit whenever the mask would be hidden, but doing so made the inventory really act up, so I wanted to add it back in the menus. Using Add/RemoveKeyword was working, but the triggers were unreliably firing. I'll keep messing with it but I'm not holding my breath.
  15. So I'm trying to work on something, but for some reason the data menu close only seems to trigger when I close the menu with the "hold to exit" option. Opening the datamenu with tab allows the debug message to show, but if I close the menu it only fires the debug message once another menu, or the data menu has opened. Upon opening the data menu a second time, I first see the debug message for closing, and then the open debug message is right underneath. The end goal of what I'm doing is to add a keyword when the menu is open to an armor item, and remove it when it closes. Is there a better way to accomplish this? Below is my current script, trying to get the framework in place: Keyword Property KeywordToRemove Auto Const Event OnInit() Self.RegisterForMenuOpenCloseEvent("DataMenu") Self.RegisterForMenuOpenCloseEvent("InventoryMenu") EndEvent Event OnMenuOpenCloseEvent(String asMenuName, Bool abOpening) If asMenuName == "DataMenu" && abOpening == True If Game.GetPlayer().WornHasKeyword(KeywordToRemove) debug.messagebox("haskeyword data open") Self.RegisterForMenuOpenCloseEvent("DataMenu") Self.unRegisterForMenuOpenCloseEvent("InventoryMenu") endif elseIf asMenuName == "DataMenu" && abOpening == False debug.messagebox(" haskeyword data close") Self.RegisterForMenuOpenCloseEvent("DataMenu") Self.RegisterForMenuOpenCloseEvent("InventoryMenu") elseIf asMenuName == "InventoryMenu" && abOpening == True If Game.GetPlayer().WornHasKeyword(KeywordToRemove) debug.messagebox("haskeyword inventory open") Self.RegisterForMenuOpenCloseEvent("DataMenu") Self.unRegisterForMenuOpenCloseEvent("InventoryMenu") endif elseIf asMenuName == "InventoryMenu" && abOpening == False debug.messagebox("haskeyword inventory close") Self.RegisterForMenuOpenCloseEvent("DataMenu") Self.RegisterForMenuOpenCloseEvent("InventoryMenu") endif EndEvent
  16. Hello, is anyone else missing a normal texture for their female swimsuit? BAE doesn't show it in any of the archives, and my swimsuit on the female body looks like it has the male normal on it. Does anyone else have this issue? Looking at pictures on google it looks like everyones swimsuits are showing up fine. links to a post with a picture: Mixed up normal map? : Starfield (reddit.com)
  17. Does anyone know where the texture (I assume it's a texture) for the dark bar at the bottom of the loading screens? In the area where the text appears.
  18. Thanks for this, my game kept deleting my custom ini on launch for some reason. That downloaded ini stayed for some reason tho. Kudos to you
  19. Yeah editing vanilla landscapes can be a bit hard if they are painted with grass, when I add to exterior cells I usually raise the ground up a bit where I'm building, the ground moves but the painted grass stays I believe. I don't know the scale of your project, but that's the only way I've been able to prevent grass clipping. I could be wrong, it's been well over a year since I messed with landscapes and could be misremembering. Another alternative is to apply the matching landscape texture to some cave balcony statics or something similar and place that over the grass and build on that.
  20. Is there a way to detect if a projectile has hit something? I don't need to get the reference of whatever it hit I just need to know if the projectile is gone so I can do something with a second projectile. I've been trying to use getposx and y, if you use getpos in the console it returns 0 after its gone, but the script doesnt seem to be registering it.
  21. Awesome. That helped out a lot. For some reason the script won't use moveto on the projectile with AI disabled (tho I can move it to the player via console while disabled). Easily circumvented by enabling AI before moving the NPC and then disabling again. I had to also add an Int to check for if the orb was active. Firing an additional spell would make the triggerbox ignore the original, causing the NPC activator to not be deleted. I tried using OnTriggerLeave, but the trigger box was proving to be a pain to get to the proper size to register the projectile without starting the effect too long after the spell was fired. So unless there is a way to tell the script to keep running on both projectiles I'll have to deal with it. Thank you so much for your help dylbill. The final script in case anyone wants to do anything similar: Projectile Property MyProjectile Auto ActorBase Property ActorMarkerHeading Auto Spell Property IceBoltSpell Auto Float Property fTRotation = 20.0 Auto Explosion Property ExplosionRef Auto Int OrbActive Int IceboltCount Actor ActorMarkerHeadingRef ObjectReference FrozenOrb Actor Player Event OnTriggerEnter(ObjectReference akActionRef) if OrbActive != 1 Form Base = akActionRef.GetBaseObject() If Base as Projectile If Base == MyProjectile FrozenOrb = akActionRef Player = Game.GetPlayer() ActorMarkerHeadingRef = FrozenOrb.PlaceActorAtme(ActorMarkerHeading) ActorMarkerHeadingRef.EnableAi(False) ;disable actor IceboltCount = 0 RegisterForSingleUpdate(0.05) OrbActive = 1 Endif Endif Endif EndEvent Event OnUpdate() if IceboltCount < 27 ActorMarkerHeadingRef.EnableAi(True) ActorMarkerHeadingRef.Moveto(FrozenOrb, abMatchRotation = False) ActorMarkerHeadingRef.EnableAi(False) ActorMarkerHeadingRef.SetAngle(ActorMarkerHeadingRef.GetAngleX(), ActorMarkerHeadingRef.GetAngleY(), (ActorMarkerHeadingRef.GetAngleZ() + fTRotation)) IceBoltSpell.RemoteCast(ActorMarkerHeadingRef, Player) IceboltCount += 1 ;add 1 to IceboltCount RegisterForSingleUpdate(0.05) else FrozenOrb.placeatme(ExplosionRef) FrozenOrb.Disable() ActorMarkerHeadingRef.Disable() ActorMarkerHeadingRef.Delete() OrbActive = 0 endif EndEvent I also had to set the casting NPC to .1 in order to get the spell to fire from the orb rather then above it. Friendly NPCs such as riverwood citizens also report the crime, but do not start combat with the player(not red on compass) but do try and attack the ActorMarkingHeadingRef. I may be able to get around this by making the ice spike magic effect painless while attaching a script that forces targets hit into combat with the player.
  22. Much appreciated for cleaning up the script, I'm no professional scripter. But after adding it in and setting it back up its functioning much better, the ice spikes are firing with the orb now, not at an even pace, but that's likely script latency and I can live with.. But its still not registering the rotation. I can't for the life of me work this out. Is there possibly a setting on the XMarkerHeadingRef I'm missing? Its just a XMarkerHeading mesh, with default settings. I used it to create the trigger box that gets teleported to the player using an ability spell. Or something on the triggerbox?
  23. So I'm using this script to try and basically recreate the frozen orb spell from Diablo II, but have reached a point where I am completely befuddled. I have an explosion that is placed as the orb moves, and that is triggering just fine, but the projectiles I tell to shoot from the same spot I placed the explosion at, for some reason are firing from the player, and not registering the rotation I'm trying to input. Hopefully someone can help me with this. So the script is as follows: scriptName patDestructFrozenOrbTriggerBoxScript extends ObjectReference ;this is the script to attach to the triggerbox i spawn Projectile Property MyProjectile Auto Activator Property XMarkerHeading Auto Spell Property IceBoltSpell Auto Float Property fTRotation = 20.0 Auto Explosion Property ExplosionRef Auto Float PosX Float PosY Float PosZ Float AngX Float AngY Float AngZ Int IceboltCount ObjectReference XMarkerHeadingRef ObjectReference FrozenOrb Actor Player Event OnTriggerEnter(ObjectReference akActionRef) Form Base = akActionRef.GetBaseObject() FrozenOrb = akActionRef If Base as Projectile If Base == MyProjectile Player = Game.GetPlayer() XMarkerHeadingRef = FrozenOrb.PlaceAtMe(XMarkerHeading) StartChain() Endif Endif EndEvent Function StartChain() RegisterForSingleUpdate(0.1) EndFunction Event OnUpdate() Bool bKeepUpdating = True if IceboltCount < 27 AngX = XMarkerHeadingRef.GetAngleX() AngY = XMarkerHeadingRef.GetAngleY() AngZ = XMarkerHeadingRef.GetAngleZ() AngZ = (AngZ + fTRotation) XMarkerHeadingRef.placeatme(ExplosionRef) XMarkerHeadingRef.Moveto(FrozenOrb, abMatchRotation = False) XMarkerHeadingRef.SetAngle(AngX, AngY, AngZ) IceBoltSpell.RemoteCast(XMarkerHeadingRef, Player) IceboltCount = (IceboltCount + 1) RegisterForSingleUpdate(0.1) else FrozenOrb.placeatme(ExplosionRef) FrozenOrb.Disable() IceboltCount = (IceboltCount + 0) endif EndEvent Originally I tried using remotecast on the projectile reference, but that ended up firing from the player as well, and had the added effect of the projectile altering course. But the explosions trigger at the location of the orb, so am I maybe using remotecast indirectly? edit: so I tried using cast instead of remote cast, which seems to be working a bit better, it is now firing the projectiles from around where the orb is. but the script is firing a bunch of projectiles in one direction, then a bunch in another direction, and doesnt seem to be able to keep up with the projectile (200 speed). Is there an issue with my Update Block that would cause it to rapid fire like that? I tried to set it up to fire one, wait a moment, and then rotate and fire another.
×
×
  • Create New...