lofgren Posted January 8, 2015 Share Posted January 8, 2015 You can make a plugin generated by Skyproc. Pretty much all there is. Maybe if you tell us what they do we can find a workaround. Do you not want to add them to the actor in the CK because of incompatibilities? Link to comment Share on other sites More sharing options...
Kerberus14 Posted January 8, 2015 Share Posted January 8, 2015 I don't want to add them to the actor(s) in CK because they are TOO many actors.I would have to take every Vampire/Werewolf NPC and add the perk to each one separately. It's a perk that makes an NPC/Player character immune to any damage source that isn't coming from Silver Weapons or Fire Damage. Link to comment Share on other sites More sharing options...
lofgren Posted January 8, 2015 Share Posted January 8, 2015 Since this will only rarely matter for anybody except the player, you could just give the player a perk that reduces all of his damage to 0 when attacking werewolves or vampires without silver weapons. NPCs don't have the smarts to switch to a different weapon anyway. Link to comment Share on other sites More sharing options...
Kerberus14 Posted January 8, 2015 Share Posted January 8, 2015 I could do that for the player, but then any other NPC that isn't the player would do normal damage to Vampire/Werewolf NPC's, wouldn't they? My followers would be living anti-daedras. Link to comment Share on other sites More sharing options...
lofgren Posted January 8, 2015 Share Posted January 8, 2015 Your followers aren't bright enough to switch weapons anyway. Unless you're planning to lower vampire and werewolf HP their damage calculation will remain the same anyway. It creates a lttle minigame for the player of making sure they carry the right equipment without creating the annoying situation where you have to swap all of your followers' equipment each time you hire a new person or enter a dungeon. Link to comment Share on other sites More sharing options...
Notanon81 Posted January 9, 2015 Share Posted January 9, 2015 Which slot is ammo such as an arrow or bolt located in when equipped for the sake of referencing in a script? Right hand, left hand or other? Anyone? Link to comment Share on other sites More sharing options...
Mattiewagg Posted January 9, 2015 Author Share Posted January 9, 2015 Which slot is ammo such as an arrow or bolt located in when equipped for the sake of referencing in a script? Right hand, left hand or other? Anyone?I have no idea. I'd assume Other though. Link to comment Share on other sites More sharing options...
Kerberus14 Posted January 9, 2015 Share Posted January 9, 2015 http://www.creationkit.com/InterruptCast_-_ObjectReference How can I use this to cancel a spell that I'm trying to cast? Link to comment Share on other sites More sharing options...
Mattiewagg Posted January 9, 2015 Author Share Posted January 9, 2015 http://www.creationkit.com/InterruptCast_-_ObjectReference How can I use this to cancel a spell that I'm trying to cast?Add a script to your spell: Event OnEffectStart(Actor akTarget, Actor akCaster) akCaster.InterruptSpell() EndEvent Or if you want to stop the player from casting any spells when a stage starts, just throw this in the quest stage: PlayerREF.InterruptCast() But from what I gather, it only interrupts the current cast so that wouldn't work in the quest stage if they didn't start casting at that very moment. Link to comment Share on other sites More sharing options...
Kerberus14 Posted January 9, 2015 Share Posted January 9, 2015 (edited) Spell Property Blood autoSpell Property Endurance autoSpell Property SpellRefLeft autoSpell Property SpellRefRight autoActor Property PlayerRef autoFloat Property MagickaCostRight autoFloat Property MagickaCostLeft autoSpell Function GetEquippedSpell(int aiSource) nativeEvent OnObjectEquipped(Form akBaseObject, ObjectReference akReference)akReference = PlayerRefif akBaseObject as Spellif PlayerRef.GetEquippedSpell(0) == akBaseObject as SpellSpellRefLeft=akBaseObject as Spellelseif PlayerRef.GetEquippedSpell(1) == akBaseObject as SpellSpellRefRight=akBaseObject as Spellendifendifif PlayerRef.GetEquippedSpell(0)==SpellRefLeftMagickaCostLeft=SpellRefLeft.GetMagickaCost()endifif PlayerRef.GetEquippedSpell(1)==SpellRefRightMagickaCostRight=SpellRefRight.GetMagickaCost()endifendeventEvent OnInit()RegisterForUpdate(0.1)EndEventEvent OnPlayerLoadGame()RegisterForUpdate(0.1)EndEventFunction InterruptCast() nativeEvent OnUpdate()if PlayerRef.HasSpell(Endurance)==1if PlayerRef.GetEquippedSpell(0)==SpellRefLeft && PlayerRef.GetActorValue("Stamina") PlayerRef.InterruptCast()Debug.Notification("You don't have enough Stamina.")endifif PlayerRef.GetEquippedSpell(1)==SpellRefRight && PlayerRef.GetActorValue("Stamina") PlayerRef.InterruptCast()Debug.Notification("You don't have enough Stamina.")endifendifendevent I found the solution in the meantime :D. The one you posted works too! On a completely different note though.. Are there only 10-20 people who actively mod that post on this forum? Lol, I swear I haven't seen more than that. Scriptname ScriptChecker extends ObjectReference Spell Property Blood autoSpell Property Endurance auto Spell Property SpellRefLeft autoSpell Property SpellRefRight auto Actor Property PlayerRef auto Float Property MagickaCostRight autoFloat Property MagickaCostLeft auto Float Property CastTimeRight autoFloat Property CastTimeLeft auto Spell Function GetEquippedSpell(int aiSource) native Event OnObjectEquipped(Form akBaseObject, ObjectReference akReference) akReference = PlayerRef if akBaseObject as Spellif PlayerRef.GetEquippedSpell(0) == akBaseObject as SpellSpellRefLeft=akBaseObject as Spellelseif PlayerRef.GetEquippedSpell(1) == akBaseObject as SpellSpellRefRight=akBaseObject as Spellendifendif if PlayerRef.GetEquippedSpell(0)==SpellRefLeftMagickaCostLeft=SpellRefLeft.GetMagickaCost()CastTimeLeft=SpellRefLeft.GetCastTime()endif if PlayerRef.GetEquippedSpell(1)==SpellRefRightMagickaCostRight=SpellRefRight.GetMagickaCost()CastTimeRight=SpellRefRight.GetCastTime()endif if CastTimeRight>CastTimeLeftRegisterForUpdate(CastTimeLeft)elseRegisterForUpdate(CastTimeRight)endif endevent Function InterruptCast() native Event OnUpdate() if PlayerRef.HasSpell(Endurance)==1 if PlayerRef.GetEquippedSpell(0)==SpellRefLeft && PlayerRef.GetActorValue("Stamina")<MagickaCostLeftPlayerRef.InterruptCast()endif if PlayerRef.GetEquippedSpell(1)==SpellRefRight && PlayerRef.GetActorValue("Stamina")<MagickaCostRightPlayerRef.InterruptCast()endifelseUnRegisterForUpdate() endif if PlayerRef.HasSpell(Blood)==1 if PlayerRef.GetEquippedSpell(0)==SpellRefLeft && PlayerRef.GetActorValue("Health")<MagickaCostLeftPlayerRef.InterruptCast()endif if PlayerRef.GetEquippedSpell(1)==SpellRefRight && PlayerRef.GetActorValue("Health")<MagickaCostRightPlayerRef.InterruptCast()endifelseUnRegisterForUpdate()endif endevent Tweaked the Script a bit for efficiency. Edited January 9, 2015 by Kerberus14 Link to comment Share on other sites More sharing options...
Recommended Posts