Jump to content

Search the Community

Showing results for tags 'script'.

  1. The issue has been solved, if you encountered the same problem, please refer to my second post's "Edit" section for the solution! Cheers! Hello, everyone, I've been working on procedural generation for my project, which works great up until one point, and that is having multiples of objects with a script attached firing the OnLoad event, slipping into each other, changing variables in the middle of one of them running, resulting in terrifying stuff (vehicle generations slipping into furniture generation events, resulting in vehicles spawned where furniture should have and vice versa). I read that all of this has to do with Papyrus' threading, stages and other ways to "lock" a script, and while I've been reading up on it a bunch, I'm still complete and utter 0 in this field. Below I will attach all the scripts I have, with a description of what I use them for, but my main issue/goal is to set them up in a way that each of the objects runs and finished the event before the next one starts to. Here's the main "Generator" script I have (which utilizes Data Structures framework): And here is the SWT:Libraries:Generation:Generate script that is called in the script above: I'm also attaching both of these as .psc files for anyone wanting quick access to them. Once I figure out a way to overcome this obstacle with some way to "lock" the script for each seperate object, everything else is set and done to begin work on much bigger things. This is the only thing holding my project back at the moment, so I'm thankfull for any help in advance! As a little preview that will hopefully peak more interest to this post, here's a GIF of the much advanced generation in progress (including smart surface population wip): DSWTGenerateDynamic.psc Generate.psc
  2. Hello guys. I saved Halsin, killed the goblin leaders, but before having the long rest to talk to him in camp, I've gone to act 1.5 in the creche. I read the quest log and it says Halsin is dead, I'm at act 2 now, haven't found his body neither in act 1, 1.5, camp, act 2. I wanted to know if there's a command to make his body appear close to my character? Even if it's only his dead body
  3. I'm looking to make a cheat ring version of the Aetherial Crown. Below is the Aetherial Crown Script. I was wondering if anyone knew what I would need to change in order to allow for an additional stone for a total of three active standing stones. Scriptname DLC1LD_AetherialCrownScript extends ReferenceAlias {Script for the DLC1LD Aetherial Crown reward item} ;DLC1LD Postquest quest, since we need to keep the crown on an alias. Quest property DLC1LD_Postquest Auto ;Perk that traps the Doomstone activation. Perk property DLC1LD_AetherialCrownPerk Auto ;Standard doomstone spells & perks. ;Int value used for tracking purposes. Spell property pDoomApprenticeAbility Auto ;1 Spell property pdoomApprenticeNegativeAbility Auto Spell property pDoomAtronachAbility Auto ;2 Spell property pDoomLadyAbility Auto ;3 Spell property pDoomLordAbility Auto ;4 Spell property pDoomLoverAbility Auto ;5 Spell property pDoomMageAbility Auto ;6 Spell property pDoomRitualAbility Auto ;7 Perk property pDoomRitualPerk Auto Spell property pDoomSerpentAbility Auto ;8 Spell property pDoomShadowAbility Auto ;9 Spell property pDoomSteedAbility Auto ;10 Spell property pDoomThiefAbility Auto ;11 Spell property pDoomTowerAbility Auto ;12 Spell property pDoomWarriorAbility Auto ;13 ;Standard doomstone removed messages. Message property pDoomApprenticeRemovedMSG Auto Message property pDoomAtronachRemovedMSG Auto Message property pDoomLadyRemovedMSG Auto Message property pDoomLordRemovedMSG Auto Message property pDoomLoverRemovedMSG Auto Message property pDoomMageRemovedMSG Auto Message property pDoomRitualRemovedMSG Auto Message property pDoomSerpentRemovedMSG Auto Message property pDoomShadowRemovedMSG Auto Message property pDoomSteedRemovedMSG Auto Message property pDoomThiefRemovedMSG Auto Message property pDoomTowerRemovedMSG Auto Message property pDoomWarriorRemovedMSG Auto ;Rested abilities, which have to be removed when the Lover Stone bonus is added. Spell property pRested Auto Spell property pWellRested Auto Spell property pMarriageRested Auto ;The current ability stored in the crown. int currentCrownAbility ;The current doomstone on the player. int currentDoomstoneAbility ;Internal variables for the effect stored in the crown. Spell currentSpell1 Spell currentSpell2 Perk currentPerk Message currentRemoveMessage ;Timestamp of when the player last interacted with a doomstone. float interactionTimestamp = 0.0 ;When the player equips the crown, turn on the activation-trap perk and begin tracking. Event OnEquipped(Actor akActor) if (akActor == Game.GetPlayer()) ; ;Debug.Trace("CROWN: Aetherial Crown equipped. Current Ability = " + currentCrownAbility) akActor.AddPerk(DLC1LD_AetherialCrownPerk) currentDoomstoneAbility = IdentifyCurrentDoomstoneEffect() if (currentCrownAbility != currentDoomstoneAbility) ;Reinstate the last-recorded doomstone ability. ApplyCrownEffect(True) EndIf ; ;Debug.Trace("CROWN: Aetherial Crown equip done. Current Doomstone recorded as: " + currentDoomstoneAbility) EndIf EndEvent ;When the player removes the crown, turn off the activation-trap perk. Event OnUnequipped(Actor akActor) ; ;Debug.Trace("CROWN: Aetherial Crown unequipped. Current Ability = " + currentCrownAbility) akActor.RemovePerk(DLC1LD_AetherialCrownPerk) ApplyCrownEffect(False) EndEvent ;When the perk catches a Doomstone activation, it calls this function so we can record it. ;We have to wait briefly for the player to exit the Doomstone menu so we know whether he took the new ability. Function DoomstoneActivated() ; ;Debug.Trace("CROWN: Doomstone activation received.") ; ;Debug.Trace("CROWN: Current Doomstone recorded as: " + currentDoomstoneAbility) ; ;Debug.Trace("CROWN: Registering for update.") interactionTimestamp = Utility.GetCurrentRealTime() UnregisterForUpdate() RegisterForSingleUpdate(0.5) EndFunction ;Check to see if the player changed doomstone abilities. If so, change the ability stored in the crown. Event OnUpdate() RunUpdate() EndEvent Function RunUpdate() ; ;Debug.Trace("CROWN: OnUpdate: " + currentDoomstoneAbility + " - " + IdentifyCurrentDoomstoneEffect()) ;Did the player change doomstone abilities? int identifiedEffect = IdentifyCurrentDoomstoneEffect() ; ;Debug.Trace("CROWN: We have: " + identifiedEffect + ", " + currentDoomstoneAbility + ", " + currentCrownAbility) if (identifiedEffect > 0) if (identifiedEffect != currentDoomstoneAbility) ; ;Debug.Trace("CROWN: Now updating.") ApplyCrownEffect(False) ;Remove the old ability stored in the crown. SelectNewCrownEffect(currentDoomstoneAbility) ;Determine which ability should now be stored by the crown. ApplyCrownEffect(True) ;Apply the new ability. currentDoomstoneAbility = identifiedEffect ;Record the current doomstone for reference in the next loop. ElseIf (Utility.GetCurrentRealTime() - interactionTimestamp < 60) ; ;Debug.Trace("CROWN: Re-Registering for Update, v1.") UnregisterForUpdate() RegisterForSingleUpdate(0.5) Else ; ;Debug.Trace("CROWN: Timer expired, v1.") EndIf ElseIf (Utility.GetCurrentRealTime() - interactionTimestamp < 60) ; ;Debug.Trace("CROWN: Re-Registering for Update, v2.") UnregisterForUpdate() RegisterForSingleUpdate(0.5) Else ; ;Debug.Trace("CROWN: Timer expired, v2.") EndIf EndFunction ;Add or remove the ability stored by the crown. Function ApplyCrownEffect(bool shouldAdd) if (shouldAdd) ; ;Debug.Trace("CROWN: Adding Crown ability." + currentCrownAbility + " " + currentSpell1) if (currentSpell1 != None) Game.GetPlayer().AddSpell(currentSpell1) if (currentSpell2 != None) Game.GetPlayer().AddSpell(currentSpell2) EndIf if (currentPerk != None) Game.GetPlayer().AddPerk(currentPerk) EndIf EndIf Else ; ;Debug.Trace("CROWN: Removing Crown ability for " + currentCrownAbility + " " + currentSpell1) if (currentSpell1 != None) Game.GetPlayer().RemoveSpell(currentSpell1) if (currentSpell2 != None) Game.GetPlayer().RemoveSpell(currentSpell2) EndIf if (currentPerk != None) Game.GetPlayer().RemovePerk(currentPerk) EndIf currentRemoveMessage.Show() EndIf EndIf EndFunction ;Given the int value of a new effect (see list at top, or the identifying function below), set up the new effect stored in the crown. Function SelectNewCrownEffect(int newEffect) currentCrownAbility = newEffect if (currentCrownAbility == 1) currentSpell1 = pDoomApprenticeAbility currentSpell2 = pdoomApprenticeNegativeAbility currentPerk = None currentRemoveMessage = pDoomApprenticeRemovedMSG ElseIf (currentCrownAbility == 2) currentSpell1 = pDoomAtronachAbility currentSpell2 = None currentPerk = None currentRemoveMessage = pDoomAtronachRemovedMSG ElseIf (currentCrownAbility == 3) currentSpell1 = pDoomLadyAbility currentSpell2 = None currentPerk = None currentRemoveMessage = pDoomLadyRemovedMSG ElseIf (currentCrownAbility == 4) currentSpell1 = pDoomLordAbility currentSpell2 = None currentPerk = None currentRemoveMessage = pDoomLordRemovedMSG ElseIf (currentCrownAbility == 5) ;Special case - Remove Rested bonuses for Lover. Game.GetPlayer().RemoveSpell(pRested) Game.GetPlayer().RemoveSpell(pWellRested) Game.GetPlayer().RemoveSpell(pMarriageRested) currentSpell1 = pDoomLoverAbility currentSpell2 = None currentPerk = None currentRemoveMessage = pDoomLoverRemovedMSG ElseIf (currentCrownAbility == 6) currentSpell1 = pDoomMageAbility currentSpell2 = None currentPerk = None currentRemoveMessage = pDoomMageRemovedMSG ElseIf (currentCrownAbility == 7) currentSpell1 = pDoomRitualAbility currentSpell2 = None currentPerk = pDoomRitualPerk currentRemoveMessage = pDoomRitualRemovedMSG ElseIf (currentCrownAbility == 8) currentSpell1 = pDoomSerpentAbility currentSpell2 = None currentPerk = None currentRemoveMessage = pDoomSerpentRemovedMSG ElseIf (currentCrownAbility == 9) currentSpell1 = pDoomShadowAbility currentSpell2 = None currentPerk = None currentRemoveMessage = pDoomShadowRemovedMSG ElseIf (currentCrownAbility == 10) currentSpell1 = pDoomSteedAbility currentSpell2 = None currentPerk = None currentRemoveMessage = pDoomSteedRemovedMSG ElseIf (currentCrownAbility == 11) currentSpell1 = pDoomThiefAbility currentSpell2 = None currentPerk = None currentRemoveMessage = pDoomThiefRemovedMSG ElseIf (currentCrownAbility == 12) currentSpell1 = pDoomTowerAbility currentSpell2 = None currentPerk = None currentRemoveMessage = pDoomTowerRemovedMSG ElseIf (currentCrownAbility == 13) currentSpell1 = pDoomWarriorAbility currentSpell2 = None currentPerk = None currentRemoveMessage = pDoomWarriorRemovedMSG EndIf ; ;Debug.Trace("CROWN: New crown ability selected for " + currentCrownAbility) EndFunction ;Determine which doomstone ability the player has by testing the abilities on them. int Function IdentifyCurrentDoomstoneEffect() ; ;Debug.Trace("CROWN: Now Identifying: " + currentCrownAbility) if (Game.GetPlayer().HasSpell(pDoomApprenticeAbility) && currentCrownAbility != 1 && currentDoomstoneAbility != 1) return 1 ElseIf (Game.GetPlayer().HasSpell(pDoomAtronachAbility) && currentCrownAbility != 2 && currentDoomstoneAbility != 2) return 2 ElseIf (Game.GetPlayer().HasSpell(pDoomLadyAbility) && currentCrownAbility != 3 && currentDoomstoneAbility != 3) return 3 ElseIf (Game.GetPlayer().HasSpell(pDoomLordAbility) && currentCrownAbility != 4 && currentDoomstoneAbility != 4) return 4 ElseIf (Game.GetPlayer().HasSpell(pDoomLoverAbility) && currentCrownAbility != 5 && currentDoomstoneAbility != 5) return 5 ElseIf (Game.GetPlayer().HasSpell(pDoomMageAbility) && currentCrownAbility != 6 && currentDoomstoneAbility != 6) return 6 ElseIf (Game.GetPlayer().HasSpell(pDoomRitualAbility) && currentCrownAbility != 7 && currentDoomstoneAbility != 7) return 7 ElseIf (Game.GetPlayer().HasSpell(pDoomSerpentAbility) && currentCrownAbility != 8 && currentDoomstoneAbility != 8) return 8 ElseIf (Game.GetPlayer().HasSpell(pDoomShadowAbility) && currentCrownAbility != 9 && currentDoomstoneAbility != 9) return 9 ElseIf (Game.GetPlayer().HasSpell(pDoomSteedAbility) && currentCrownAbility != 10 && currentDoomstoneAbility != 10) return 10 ElseIf (Game.GetPlayer().HasSpell(pDoomThiefAbility) && currentCrownAbility != 11 && currentDoomstoneAbility != 11) return 11 ElseIf (Game.GetPlayer().HasSpell(pDoomTowerAbility) && currentCrownAbility != 12 && currentDoomstoneAbility != 12) return 12 ElseIf (Game.GetPlayer().HasSpell(pDoomWarriorAbility) && currentCrownAbility != 13 && currentDoomstoneAbility != 13) return 13 Else return 0 EndIf EndFunction
  4. An idea I've had for a mod for those of us that have beaten the campaign so many times. It would be like this Random NPC on street "hails" you. You can choose to Stop or Not Stop. If you Stop, then you'll be given a random destination around Night City to drop them off. No timers, this shouldn't be "Crazy Taxi", it should be a relaxing end-game way of seeing the City, taking you to places you might have never gone otherwise, while making small amounts of money. It's for RolePlay Purposes. Any 4 Door Vehicle should be fine (just needs a back seat). This will make it so players can either be an official Taxi Driver, or just an "Uber" type of driver. Whatever the player wants.
  5. Error [mod0000_mergedfiles]game\player\playerwitcher.ws(11805): Could not find function 'SetRadialPotionUpperTimer' Error [mod0000_mergedfiles]game\player\playerwitcher.ws(11811): Could not find function 'SetRadialPotionLowerTimer' Warning [content0]engine\environment.ws(30): Global native function 'EnableDebugOverlayFilter' was not exported from C++ code. Warning [content0]engine\environment.ws(32): Global native function 'EnableDebugPostProcess' was not exported from C++ code. Warning [content0]engine\showflags.ws(11): Global native function 'DebugSetEShowFlag' was not exported from C++ code Can somebody help me?
  6. Hi. I'm trying to make a weapon with a script that runs on the targeted NPC. I already got the script and everything working but only when the damage is at least 1. Setting the damage to 0 makes the engine think you missed (or at least I'm guessing it does) and doesn't run the on impact script. If the weapon does do damage then the script runs, but now the NPC is angry because you shot him. Are there any simple workarounds for this issue, ideally without alerting the NPC or interrupting animations? I'm aware of the "minor crime" setting that makes the NPCs forgive you if you holster your weapon, but I don't want to have to do that after each shot.
  7. scn OvadBowScript short active short Igot short Iwant short Ineed Ref OvadArrow Begin OnEquip set OvadArrow to Player.GetEquippedObject 17 set active to 1 End Begin OnUnEquip set active to 0 End Begin GameMode If OnKeyDown 256 && Active == 1 set OvadArrow to Player.GetEquippedObject 17 Else Return endif If active == 1 set Igot to Player.GetItemCount OvadArrow set Iwant to 2 If Igot == 1 || Igot < 1 set Ineed to Iwant - Igot Player.AddItemNS OvadArrow Ineed endif endif end Begin MenuMode End So My script if for a bow to have unlimited arrows for whatever arrow is currently equipped. It works well enough, but has a major flaw. When I unequip an arrow and change arrows the bow changes the reference to the new narrow and life goes on, however, if I mistakenly unequip the bow ( whether or not the currently associated arrow remains equipped or has already been unequipped) the script seems to stop functioning. Any advice on where to look for a remedy to this headache would be greatly appreciated. I also just realized that I am posting in the wrong section, sorry I am still a bit new to all this forum stuff. I will be posting scripting questions under the mod talk construction set forum in the future.
  8. Hello! I've been working on a new hostile NPC (My RX-1) and I am really stumped on how to get him in the game and was hoping someone could help me. I've been using the Famished mod as a reference and have tried my best to reverse engineer it to see how he is injected into the RadStag level list and trying to do the same for my RX-1 with the Synth level list. I have all the templates set up appropriately leading from EncNPC01-->EncNPC02Template-->EncNPC03 through 08. I have all the leveled list together in the appropriate LChar templates (LCharRX-1, LCharRX-1Legendary, LCharRX-1AmbushLegendary, LCharRX-1Boss) under leveled list as well as having the LChar base (LCharRX-1) in a LvlNPC template. Everything mirrors a standard level list and NPC template to a T. I added the LCharRX-1 to the LCharSynth list just like it is set up in the Famished mod and can never get the RX-1 to show up in game no matter what. I can spawn all of the different variances in via console command no problem. They all have the correct weapon, skin and name as well as anatomically put together (no floating body parts, no clipping, mesh working correctly.) Is there any other key factors I'm missing or could it be that the Synth Level lists are just very picky? I don't know how to write a script and the one ActorLLInject script I found doesn't work either when set up in the creation kit via quest or created with a quest in FO4Edit. So maybe if someone knows of a good script? It's strange because I used the same script from Defective_Synth because it is very close to what I'm trying to achieve but it doesn't work when I set the public parameters in the ESP. Defective_Synth mod still works great though... When I tried the script: Load CK-->FO4.esm + DLCCoast (for robot voices) + RX-1.esp--->Quest-->New Quest-->name quest, far right tab to script-->Hit Add-->add ActorLLInject (data/scripts/ActorLLInject.pex data/scripts/source/ActorLLInject.psc)--> Set public parameters in properties--> Hit ok-->Save Plugin. side questions: Does Race and Class matter with LVL implementation because I've made my own RX-1 Race and Class and floated the values from the synth gen 1 race for the most part. Does having a custom race with the default characterassests skeleton cause problems? I wouldn't think so because most of the races use this asset and My new enemy is a full suit of armor so setting flags would cover the entire NPC.. Synths are under Raider Class. should I just keep my NPCs under Raider Class? I have armor for skin, not an outfit and do not have any ap_keywords applied to the npcs, just a single skin. Do I need to add the armor to a level list as well to get NPCs to show up at all or if the NPC injection was working and the skin wasn't I'm sure I would just see floating guns.. I apologize for the long drawn out entry and if this is in the wrong section just let me know and ill move it or delete it.
  9. Hi. I need help with a very simple quest. I am sure a lot of people know how to do this, but I can't seem to find any tutorials or information about it anywhere. I am trying to make a quest dialogue that can make the NPC give the player their (equipped) equipment and/or switch to a different outfit. I have read tutorials saying that I have to use quest aliases to "create reference to object", then I set it to "create in" the NPC. Then I have to use script fragments to "RemoveItem" and then transfer the item to the player. But this method creates the item/equipment in the NPC's inventory first, which is not what I am trying to do. I want to take the equipment that is ALREADY equipped by the NPC to begin with. I want to be able to change the Outfit (I mean the CK outfit set; the one that does not appear in the NPC inventory in game). EDIT: Sorry, I got it now. It turns out, the problem was that I was using GetReference() for actors in my script instead of GetActorReference(). Didn't know that until recently.
  10. https://www.nexusmods.com/skyrim/mods/72684/ This mod. Ohhh, this mod. I got permission from the owner to remake and update it for today's mod connoisseurs, and . . . It's almost all in French. Or bad english. Naturally, I translated as much as I could, but the scripts are confounding. I'm almost done with my mod, but one problem eludes solution: I can't figure out how victories in the arena are tracked. It's practically impossible to understand his scripts from a novice perspective, but the victory threshold needs to be lowered in order for today's more impatient gamer to stick with the mod. If anyone could look through the mod and figure out how victories are tracked, I'd be extremely grateful.
  11. Hi, Here's the thing: I want to publish my very first mod and I need some help with it. I want it to be good, not a chump's mod. I am somewhat familiar with the Creation Kit's basic functions; and I have done a couple of simple mods for myself, mods that were outclassed by other mods found on the nexus shortly after their creation. Despite my tinkering with the Creation Kit, there are many things I have no idea how to achieve, althought I know them to be possible, for other modders achieved them with ease. And that's the thing, I would like to learn what needs to be learned to complete my mod and since modding ressources are vague and hard to apply into modding (to me that is). I think my best bet is to find help for every step of my mod's developpement. And if some of you would like to pertake into the making of this mod, I'd be more than happy to let you join in! Ok here's the concept: I know it's nothing new and somewhat touchy subject, but... I would like to implement a Slavery System to enhance one's role playing experience. Fallout 4's role playing is lacking in the evil role playing department and I would like to add to it. Look I know, slavery is awful and I wish it was pure fiction, but it sadly isn't, but that's not the point. The point is: Slavery existes in the Fallout universe. It's even the main subject of Fallout 4's plot. Plot where you get to decide either to save slaves or to condamn them. And if you do condamn them, the changes that insues are quasi-inexistent. Not to get philosophical or anything, but isn't doing like nothing changed worse than to witness the consequences? Enough sidetrack here's what I want my mod to do. First: I would like to allow players to capture non essential npcs (raiders, gunners, residents, useless named npcs, etc...) and to turn them into slaves by equipping them with a shock collar. The now-slave npc would become essentially a settler to boss around. To add a difference I thought it would be neat if slaves costed less resources, something like half-food, half-water (still one bed). To equip the collar I would like to use Seb263's Knockout Framework (https://www.nexusmods.com/fallout4/mods/27086/). For this part I'm looking for people familiar with scripting. Second Idea: A Slaver Station for a raider settlement object. An object to which you can assign a Nuka World raider for them to capture, buy and sell slaves. Something like an desk covered in papers with a couple of empty cages that would fill with idle animation slaves after a while to signify a profitable venture for your slavers. The Slaver Station would produce Slave Certificate which you could sale for an efty amount, or to have a slave delivered to a settlement of your choice. For the Slaver Station to "produce" slaves you would have to contribute some ressources, I'm thinking a Shock Collar and a few Caps (i.e: 1 Shock Collar+500 Caps=1 Slave). I would also like to be able to sell already owned slaves (like the ones you captured yourself), I'm not sure how it would work, but if could it'd be neat. For this part I'm looking for people familiar with workshop objects and scripting. Third idea: The Shock Collar, a Shock Collar Detonator and Switch. The Detonator would be for exploding the slave's head and the Switch would be to shock the slave until unconscious. I'd like an original design for both and would like for them to work only on those wearing a Shock Collar (that part I'm sure I can achieve). Now for the Shock Collar, I think I'll have to script it to change the wearer's faction to become player friendly and settler ready, but my scripting skills are almost none. I failed the "Hello World!" tutorial and I need help scripting this thing, I have idea what to do, but can't script for s***. I'm not looking for someone to do it for me, just to teach me how to, although if you wish to do it with me, I think it would be fun! So there it is. My mod. I would like any help from a simple suggestion to active consultant to developper, I'm mainly looking for tutors, but I'll take whatever I can get. If you're interested, leave a comment in this thread, I'll make sure to check it every now and then to see if anybody contributed to the idea. Thanks for your attention and I hope to see your feedback very soon. -Jules927
  12. I want to improve the scripting in my Simple DLC Delay mod and I'm curious about functions and conditions etc. to avoid using in a script that is constantly running to improve performance. For example in the upcoming version I have switched from GetInGrid to GetMapMarkerVisible for when the player is near the entrances to the DLC areas and so forth, which I assume i much less taxing on the CPU. The ones I'm more curious about however are GetInWorldSpace, GetQuestCompleted and calling local variables assigned in Quest scripts from other scripts.. is there anything I should worry about with these? Thanks!
  13. I'm new to modding and I'm trying to make a script that will make the player encumbered when pressing the walk button, but I have absolutely no clue where to start. Could someone point me in the right direction?
  14. I want the player to say a certain thing and aim their weapon at an NPC at the start of the conversation. Instead of the normal hallo, or excuse me. Because it makes no sense for the player to want to interrogate a raider and start that conversation politely... Any way to make this happen? I was thinking about making a trigger that starts a scene, but I'm not sure how to set that up, as the NPC itself is patrolling an area and is not static... Maybe an event trigger that will check the distance between the NPC and the player? But then what event needs to run the script?!?
  15. IDK if there is a rule against reposting a topic in another thread, but i'm posting this under both "Mod Requests" and creation/modders because I didn't know which would be more appropriate. I've spent a lot of time over the past year pretty much mastering the process of manually combining plugins and resolving conflicts in FO4Edit. However, I still have no idea how scripting works. Can anybody make me a script that will renumber multiple selected formIDs while also redirecting their references to the new formIDs? My issue is that if two separate plugins happen to each have a references between them that shares the last six digits of any formID, then i need to change them so that they won't conflict when merged into one plugin. I've found this problem happening a ton recently, and I would save a lot of time if i could run that script instead of editing all of the formIDs manually like i've been doing the past three days. any help is appreciated, thanks!
  16. I've spent a lot of time over the past year pretty much mastering the process of manually combining plugins and resolving conflicts in FO4Edit. However, I still have no idea how scripting works. Can anybody make me a script that will renumber multiple selected records' formIDs while also redirecting their references to the new formIDs? My issue is that if two separate plugins happen to each have records between them that shares the last six digits of any formID, then i need to change them so that they won't conflict when merged into one plugin. I've found this problem happening a ton recently, and I would save a lot of time if i could run that script instead of editing all of the formIDs manually like i've been doing the past three days. any help is appreciated, thanks! edit- i just noticed i forgot to type "references" at the end of the topic title. oh, irony...
  17. Hello, I am currently creating a simple Script with a button and some lights. And i was wondering what was the command or function to use if i want to put a delay between the lights activation. I tried using wait or sleep but the script would not compile. And i don't know if i should create a function or use on already existing Scriptname LightDelay extends ObjectReference ObjectReference Property Light01 Auto ObjectReference Property Light02 Auto ObjectReference Property Light03 Auto ObjectReference Property Light04 Auto Event OnActivate(ObjectReference akActionRef) If(Light01.IsDisabled()) Light01.enable() Wait 1 second Light02.enable() Wait 1 second Light03.enable() Wait 1 second Light04.enable() Wait 1 second Else Light01.disable() Light02.disable() Light03.disable() Light04.disable() EndIf EndEvent Also is there a way to add the same script multiple times to the same buttons ? Thanks you for the time.
  18. Would it be possible to create a batch file to disable the old roads and sidewalks in Sanctuary and replace them with the clean versions? Not a texture replacement but disabling the old objects and putting a new one in the same place. There are probably a lot of one-off objects for particular stretches of road though especially since Sanctuary has road + sidewalk together. Ideally a "fix road" item in the workshop would choose from a predefined set of forms and do the same thing if you "build" it while a supported object is highlighted. Then again, if pre-war Sanctuary is flatter then you'd still get dirt bumps everywhere. A batch file wouldn't require an esp or conflict with other mods with the same cell. Either the above or write a mod with the disabled "clean" objects already created and just switch the enable/disable properties in game with an in-game tool of some kind.
  19. Ok, so in Fallout 4, weapons do no longer magically reload themselves when you switch back to them from having used another weapon, which I kind of like, but it's annoying when you're in a hectic situation and you pull out your shotgun only to realize you haven't reloaded it since your last fight. Therefore, what I think would be useful would be a mod with a script or something that automatically makes all weapons in your inventory reload themselves when you exist combat, so you don't forget to do it. It wouldn't be cheating, since it would only work out-of combat, so it wouldn't allow you to earn valuable time in-combat, all it'd do is make sure you don't forget to do it when you have the time. Could this be done?
  20. I recently built myself a new computer and reinstalled Witcher 3 through Steam, once finished I started downloading a selection on mods and installed them using the Nexus Mod manager. After I was satisfied with the mods I've chosen I launched in for the first time. Hoping the launch would go successfully, It showed me a list of errors during its script compilation. I've uninstalled the mods one by one and launched it again fully stripped of all the mods it was working fine, got to the menu screen saw my previous saved files intact but didn't bother loading it up and entering the game. Seeing the launch run smoothly that time I reinstalled the mods, but still ran into the script compilation error. I clicked retry to no avail, so I came looking for help here. Here's the list of errors that let me copy unto my clipboard, pasted it right below this. Error [content0]game\gameplay\alchemy\alchemymanager.ws(196): Could not find function 'GetUnusedMutagensCount' Error [content0]game\gameplay\alchemy\alchemymanager.ws(270): Could not find function 'RemoveUnusedMutagensCount' Error [content0]game\player\player.ws(2216): Function 'GetUserMapPinByIndex' does not take 6 param(s) Error [content0]game\player\playerwitcher.ws(730): Function 'SetItemStackable' does not take 2 param(s) Error [content0]game\player\playerwitcher.ws(735): Function 'SetItemStackable' does not take 2 param(s) Error [content0]game\player\playerwitcher.ws(740): Function 'SetItemStackable' does not take 2 param(s) Error [content0]game\player\playerwitcher.ws(745): Function 'SetItemStackable' does not take 2 param(s) Error [content0]game\player\playerwitcher.ws(785): Function 'SetItemStackable' does not take 2 param(s) Error [content0]game\player\playerwitcher.ws(789): Function 'SetItemStackable' does not take 2 param(s) Error [content0]game\player\playerwitcher.ws(793): Function 'SetItemStackable' does not take 2 param(s) Error [content0]game\player\playerwitcher.ws(797): Function 'SetItemStackable' does not take 2 param(s) Error [content0]game\player\playerwitcher.ws(5469): Function 'SplitItem' does not take 2 param(s) Error [content0]game\scenes\sceneplayer.ws(79): Could not find function 'OnCutsceneStarted' Error [content0]game\scenes\sceneplayer.ws(95): Could not find function 'OnCutsceneEnded' Error [content0]game\scenes\sceneplayer.ws(113): Could not find function 'OnCutsceneEnded' Error [content0]game\vehicles\horse\horsecomponent.ws(189): Function 'GetCategoryDefaultItem' does not take 1 param(s) Error [content0]game\gui\hud\modules\hudmoduleenemyfocus.ws(591): Function 'GetMapPinTypeByTag' does not take 1 param(s) Error [content0]game\gui\hud\modules\hudmoduleradialmenu.ws(338): Could not find function 'OnRadialOpened' Error [content0]game\gui\hud\modules\hudmoduleradialmenu.ws(399): Could not find function 'OnRadialClosed' Error [content0]game\gui\menus\charactermenu.ws(253): Could not find function 'GetFirstUnusedMutagenByName' Error [content0]game\gui\menus\charactermenu.ws(708): Could not find function 'GetUnusedMutagensCount' Error [content0]game\gui\menus\charactermenu.ws(721): Could not find function 'GetUnusedMutagensCount' Error [content0]game\gui\menus\charactermenu.ws(734): Could not find function 'GetUnusedMutagensCount' Error [content0]game\gui\menus\listbasemenu.ws(186): Could not find function 'GetUnusedMutagensCount' Error [content0]game\gui\menus\mapmenu.ws(42): Function 'GetUserPinNames' does not take 1 param(s) Error [content0]game\gui\menus\mapmenu.ws(46): Function 'GetUserMapPinLimits' does not take 2 param(s) Error [content0]game\gui\menus\mapmenu.ws(244): Unable to convert from 'void' to 'array:2,0,String' Error [content0]game\gui\menus\mapmenu.ws(397): Unable to convert from 'void' to 'Int32' Error [content0]game\gui\menus\mapmenu.ws(414): Function 'GetUserMapPinByIndex' does not take 6 param(s) Error [content0]game\gui\menus\mapmenu.ws(519): Unable to convert from 'void' to 'Bool' Error [content0]game\gui\menus\mapmenu.ws(542): Function 'IsUserPinType' does not take 1 param(s) Error [content0]game\gui\menus\mapmenu.ws(613): Function 'IsQuestPinType' does not take 1 param(s) Error [content0]game\gui\menus\mapmenu.ws(624): Property 'alternateVersion' exists but was not imported from C++ code. Error [content0]game\gui\menus\mapmenu.ws(626): Property 'alternateVersion' exists but was not imported from C++ code. Error [content0]game\gui\menus\mapmenu.ws(859): Function 'DisableMapPin' does not take 2 param(s) Error [content0]game\gui\menus\mapmenu.ws(1003): Unable to find suitable operator 'OperatorAdd' for given types (String, void) Error [content0]game\gui\menus\mapmenu.ws(1008): Unable to convert from 'void' to 'CName' Error [content0]game\gui\menus\mapmenu.ws(1013): Unable to find suitable operator 'OperatorAdd' for given types (String, void) Error [content0]game\gui\menus\mapmenu.ws(1132): Function 'ToggleUserMapPin' does not take 6 param(s) Error [content0]game\gui\menus\mapmenu.ws(1144): Function 'GetUserMapPinIndexById' does not take 1 param(s) Error [content0]game\gameplay\ability\playerabilitymanager.ws(623): Function 'SetItemStackable' does not take 2 param(s) Error [content0]game\gameplay\ability\playerabilitymanager.ws(2438): Could not find function 'OnRelevantSkillChanged' Error [content0]game\gameplay\ability\playerabilitymanager.ws(2625): Could not find function 'OnRelevantSkillChanged' Error [content0]game\gameplay\ability\playerabilitymanager.ws(4031): Could not find function 'RemoveUnusedMutagensCountById' Error [modzoomoutlhud]game\player\states\vehicles\horseriding.ws(45): Could not find function 'Log' Warning [modzoomoutlhud]game\commonmapmanager.ws(94): Native function 'IsQuestType' was not exported from class 'CCommonMapManager' in C++ code. Warning [modzoomoutlhud]game\commonmapmanager.ws(119): Native function 'GetUserMapPin' was not exported from class 'CCommonMapManager' in C++ code. Warning [modzoomoutlhud]game\commonmapmanager.ws(126): Native function 'SetPinFilterVisible' was not exported from class 'CCommonMapManager' in C++ code. Warning [modzoomoutlhud]game\commonmapmanager.ws(127): Native function 'GetPinFilterVisible' was not exported from class 'CCommonMapManager' in C++ code. Warning [content0]engine\environment.ws(30): Global native function 'EnableDebugOverlayFilter' was not exported from C++ code. Warning [content0]engine\environment.ws(32): Global native function 'EnableDebugPostProcess' was not exported from C++ code. Warning [content0]engine\showflags.ws(11): Global native function 'DebugSetEShowFlag' was not exported from C++ code.
  21. Alright, I have a series of quests made, but they won't run properly and I need some scripting advice... I have a unique actor in an alias in Quest A Upon completion of Quest A, stage 10 of Quest B will be set And in Quest B the unique actor again is filled in an alias However, because the actor is filled with an alias from Quest A, it won't fill Quest B I tried adding Alias.Clear() to the fragment of the last stage of Quest A before setting stage 10 of Quest B and upon stage 10 in Quest B added Alias.ForceRefIfEmpty(ActorWorldreference) to the fragment (Alias and ActorWorldreference would both have the right properties made, of course, the script compiles perfectly but just does not do what I want it to do) This didn't work. Does anyone have an idea on how to empty the Reference of the Quest A Alias, and make Quest B refill it? (I have to do this several times to different ReferenceObjects and Actor References in multiple quests that I really want to have their own Quest Names, so I'm not really looking for 'why not make it all one quest' answers)
  22. Hello! I recently searched for mod that prevents player from running and sprinting and found idea, that it could be realised via SKSE and controls. So I tried to make a script, that checks if user equipped specific item (my script is attached to ebony boots), it then checks if player is running or sprinting and if so, holds shift button with player controls. The problem - nothing is happening in game. I think I made something horribly wrong with code, so I need help. I made only "Forward" for testing purposes, later I want to extend script for other controls. Scriptname ForceWalk extends Form ;Actor Property PlayerREF Auto ;Armor Property EbonyBoots Auto int bEquipped = 0 Event OnEquipped(Actor akActor) if akActor == Game.GetPlayer() bEquipped = 1 RegisterForControl("Forward") endif endEvent Event OnUnequipped(Actor akActor) if akActor == Game.GetPlayer() bEquipped = 0 UnregisterForControl("Forward") endif endEvent event OnControlDown(string control) if (control == "Forward") if Game.GetPlayer().IsRunning() == 1 || Game.GetPlayer().IsSprinting() == 1 if bEquipped == 1 Input.HoldKey(42) Debug.Notification("Forward") endif endif endif endEventPlease, help.
  23. As the title says. I have a fully functional script in my unarmed weapon that works OnAnimationEvent (PlayerRef, "weaponSwing"), but if I try the same thing (even a simple debug notification) for OnAnimationEvent (PlayerRef, "blockStart") I get nothing. I have a debug on the register event which fires, so I'm fairly confident the registration is happening. I'd like my event to fire on the blocking animation, regardless of if contact with an enemy occurs. Does anyone know why I wouldn't be able to trigger on blockStart? That is the AnimEvent that occurs when you click RMB with an unarmed weapon, yes? That's what I gathered from the Animation Behaviors window. Any direction would be greatly appreciated.
  24. Dear modders of Skyrim, Currently I am working on a little project ofr myself to make clothes look wet when it rains. This is largly inspired by WetFunction Redux which does it for the body. At the moment I am still looking into changing the specular and the gloss of armors. I've got it working for the player skin, but it does not want to work for the armor. Function SetStrengthForLayerArmor(Actor target, Armor arm, bool isFemale, string node, int layer, float strength) int max = arm.GetNumArmorAddons() int i = 0 While i < max ArmorAddon addon = arm.GetNthArmorAddon(i) NiOverride.AddOverrideFloat(target, isFemale, arm, addon, node, layer, -1, strength, false) i+=1 EndWhile EndFunction So I want to use NiOverride to override the gloss and specular value of the armor addon. To this method I will provide the player as target, the Armor in the current armorslot, whether the player is female, a node, the number of the layer (2 and 3) and the strength. This method looks up all armoraddons and changes the value on that armor. The problem I have is that I have no idea what the enter as node. This is a string value and the NiOverride api provides: Function AddOverrideFloat(ObjectReference ref, bool isFemale, Armor arm, ArmorAddon addon, string node, int key, int index, float value, bool persist) native global but I could not find documentation for what the string node should be. I already know that index has no effect if the key is not 9, but I hace no idea what node should be. My script worked for the body texture because it does not require a node. Concrete my questions are: What should I enter as node in the NiOverride function?Is this even the function to use for this case?Any other suggestions you may have.A link to NiOverride could be usefull and then I can look for it myself.Thank you in advance.
  25. Alright, so someone requested that I make it possible to "send your companions to the shack and they will walk around the house and go inside it" for this mod [spoilerhttps://rd.nexusmods.com/newvegas/mods/64034?tab=posts The first thing I thought of was to tell him I'm going to start work on that feature. One issue, I have no idea how to go about it. Things I do know: -How to set up a very basic script -How to edit dialouge -How to edit/create cells -How to make doors, custom activators/new activators -How to make a basic NPC -How to make a note, key and terminal -How to create a new item (consumable, weapon/armor) Things I do not know: -How to make a basic quest, unmarked or not -How to make a more beginner script -How to make navmeshes -How to make LODs -How to put water into landscape -How to make more advanced functions/triggers Anyone willing to help? I'm looking at other methods besides dialouge with companions, if it comes to that.
×
×
  • Create New...