DremoraDream Posted June 24, 2020 Posted June 24, 2020 I'm working on a mod. Basically, I'm trying to make it so if I equip an armor, shield, or sword- I want the item that is chosen to force a spell to be equipped in the other hand. For example: if I equip a Steel Shield on my Left Hand, I want to have a specific spell force equipped to the Right Hand. No hotkeys, just straight cause/effect. Does this require a script? I've never scripted before. How would I go about this?
blank_v Posted June 24, 2020 Posted June 24, 2020 https://www.creationkit.com/index.php?title=EquipItem_-_Actor https://www.creationkit.com/index.php?title=EquipShout_-_Actor https://www.creationkit.com/index.php?title=EquipSpell_-_Actor https://www.creationkit.com/index.php?title=OnEquipped_-_ObjectReference //Edit: Ofc. u have to create Script... there is no "Just Button" to do what u want to do...
DremoraDream Posted June 24, 2020 Author Posted June 24, 2020 I'm reading through this, so I'd have to create a script that would essentially: 1) Start with objectreference 2) work with the event "on equipped" 3) add the "Equip Spell" function 4) add event "on unequipped" 5) add "unequipspell" function So would formatting this be 1 script?
blank_v Posted June 26, 2020 Posted June 26, 2020 Uploading Video for You ;D 1) even i had some problems with this script xD #ActorVsObject xD 2) I'm not sure u can handle so easy thing by yourself he he he xDD Anywaa here is Script: Spoiler Scriptname QLG_SimpleScript_EquipSpellWithArmor extends ObjectReference { Script equip selected spell to user hand when equip armor } ;===- Base Info. -===; ;Created: 2020-06-26 ;Update: 2020-06-26 ;Author: TobiPL ;Unit: M.PC<2> ;===- Var. setup -==================================================; ;===- Work Control -===; Bool Property OnlyPlayer Auto { Set to True if Script should work only for Player } Bool Property RightHand Auto { If True -> Spell will be equiped to Right Hand If False -> Spell will be equiped to Left Hand } Bool Property PowerSpell Auto { Check this if Spell is Power / LesserPower or Voice Power } ;===- Variables -===; Spell Property SpellToEquip Auto { What Spell You want to Equip } ;===============================================; ;===- Main Script -=============================; ;***********************************************; Event OnEquipped( Actor QRef ) If( OnlyPlayer ) If( QRef != Game.GetPlayer() ) Return ; OnlyPlayer but user is sm1 else, returning EndIf EndIf ;-------------------------------------------; If( PowerSpell ) QRef.EquipSpell( SpellToEquip, 2 ) Else If( RightHand ) QRef.EquipSpell( SpellToEquip, 1 ) Else QRef.EquipSpell( SpellToEquip, 0 ) EndIf EndIf EndEvent ; The End That will cost You 19,99$ :x... Money Money ❤️ he he Here is Video if u need help how to setup everything: Spoiler Example esp file: [Tobi] TestMod.esp Script File: QLG_SimpleScript_EquipSpellWithArmor.psc Discord: https://discord.gg/CDkcv22
DremoraDream Posted June 26, 2020 Author Posted June 26, 2020 16 hours ago, TobiaszPL said: Uploading Video for You ;D 1) even i had some problems with this script xD #ActorVsObject xD 2) I'm not sure u can handle so easy thing by yourself he he he xDD Anywaa here is Script: Reveal hidden contents Scriptname QLG_SimpleScript_EquipSpellWithArmor extends ObjectReference { Script equip selected spell to user hand when equip armor } ;===- Base Info. -===; ;Created: 2020-06-26 ;Update: 2020-06-26 ;Author: TobiPL ;Unit: M.PC<2> ;===- Var. setup -==================================================; ;===- Work Control -===; Bool Property OnlyPlayer Auto { Set to True if Script should work only for Player } Bool Property RightHand Auto { If True -> Spell will be equiped to Right Hand If False -> Spell will be equiped to Left Hand } Bool Property PowerSpell Auto { Check this if Spell is Power / LesserPower or Voice Power } ;===- Variables -===; Spell Property SpellToEquip Auto { What Spell You want to Equip } ;===============================================; ;===- Main Script -=============================; ;***********************************************; Event OnEquipped( Actor QRef ) If( OnlyPlayer ) If( QRef != Game.GetPlayer() ) Return ; OnlyPlayer but user is sm1 else, returning EndIf EndIf ;-------------------------------------------; If( PowerSpell ) QRef.EquipSpell( SpellToEquip, 2 ) Else If( RightHand ) QRef.EquipSpell( SpellToEquip, 1 ) Else QRef.EquipSpell( SpellToEquip, 0 ) EndIf EndIf EndEvent ; The End That will cost You 19,99$ :x... Money Money ❤️ he he Here is Video if u need help how to setup everything: Reveal hidden contents Example esp file: [Tobi] TestMod.esp Script File: QLG_SimpleScript_EquipSpellWithArmor.psc Discord: https://discord.gg/CDkcv22 Awesome, looking this all over and am going to try to apply it! Thanks for all the information and sources
DremoraDream Posted June 27, 2020 Author Posted June 27, 2020 This really is a lot of work! Thanks for the time and effort you put into it. I'm trying to get the set up to work with the spells I want in game, but it's taking me a lot of time. If I can get it to work on my end, I'll post a clip here showing my progress. Thanks again!
DremoraDream Posted June 30, 2020 Author Posted June 30, 2020 @TobiaszPL I'm looking this over and trying to tweak it to multiple armors. And I came across a new situation. So far I understand the scripts, the references, and how to set it up. Formatting is my biggest issue. But I want to add another layer. Let's say I have a Sword. I want to use this script to have a spell force equipped when I equip the sword. This script example above accomplishes that. But the new string would be: I equip a Sword (Sword of Spells or some name). Equipping the Sword pulls up a menu, which then allows the player to select a spell which is then force equipped to the free hand. How would I have an item make a menu appear? (Similar to activating a world object that brings up options?)
blank_v Posted July 1, 2020 Posted July 1, 2020 @DremoraDream Egh... Yes, you need to create Message... Bfff... Maybe if i will find some Time i write new Script for You, Tomorrow my mom visit me so i will not have time for that and Friday im in work ( 12 hours ( 19:00 -> 7:00 ) ) Wait for me ( probably Saturday ) and i will give You new Script or try to make Script by your own :)... Its not that hard ^_^
Recommended Posts
Archived
This topic is now archived and is closed to further replies.