Jump to content

Can't get this script to work (Please Help)


xPyroTheFox

Recommended Posts

The Script:

 

 

Scriptname DA05HircinesRingScript extends ObjectReference  

Spell Property HircinesRingPower auto
Spell Property _WLWerewolfLordForm auto
Quest Property CompanionsCentralQuest auto

Event OnEquipped(Actor akActor)
	if (akActor == Game.GetPlayer() && (CompanionsCentralQuest as CompanionsHousekeepingScript).PlayerHasBeastBlood)
		Game.GetPlayer().AddSpell(HircinesRingPower, false)
             Game.GetPlayer().AddSpell(_WLWerewolfLordForm, false)
	endif
EndEvent

Event OnUnEquipped(Actor akActor)
	if (akActor == Game.GetPlayer() && (CompanionsCentralQuest as CompanionsHousekeepingScript).PlayerHasBeastBlood)
		Game.GetPlayer().RemoveSpell(HircinesRingPower)
              Game.GetPlayer().RemoveSpell(_WLWerewolfLordForm)
	endif
EndEvent


 

 

I have checked several times, the properties are set right and it is compiling fine, but when I get in-game and equip the ring I only get HircinesRingPower not _WLWerewolfLordForm.

 

I've been working on just this issue for days and I'm honestly out of ideas and desperate for help. If I add the power with console it shows up and works fine.

 

If you need any other info let me know.

Edited by pr0t0inc
Link to comment
Share on other sites

It's hard to tell what exactly your problem is without seeing the f04edits. The script looks fine to me. Not my expertise with spells but I'm familiar enough to see any major issues. I do see one thing. You use game.getplayer a lot in your script and on the Papyrus page for that code it states that it is very very expensive. The page says it's better to pass a player reference to the Quest script and use that reference as that will be "1000 Times faster" (I'm actually quoting the page here). There may be an issue with script lag happening. If the spell works fine, then that probably is script lag. Try swapping the two lines where you add the spell and see if the problem is reversed. If it does get reversed then try passing the player as a property.

Without your esp. That's the best I got. Good luck.

Link to comment
Share on other sites

As a test, try renaming the property variable for the _WLWerewolfLordForm spell to something that does not start with an underscore. Nothing is wrong with the code syntax itself but the game might be being fickle about the leading underscore.

 

As far as what wrathmaniac said about Game.GetPlayer(), you can speed it up a little by swapping out the ones being used with the AddSpell and RemoveSpell function calls with akActor since in each event you ensure that akActor is the player. I doubt tho that that will have any affect on whether or not you get the spell.

Link to comment
Share on other sites

vanilla Skyrim script is this

 

 

Scriptname DA05HircinesRingScript extends ObjectReference  

Spell Property HircinesRingPower auto
Quest Property CompanionsCentralQuest auto

Event OnEquipped(Actor akActor)
    if (akActor == Game.GetPlayer() && (CompanionsCentralQuest as CompanionsHousekeepingScript).PlayerHasBeastBlood)
        Game.GetPlayer().AddSpell(HircinesRingPower, false)
    endif
EndEvent

Event OnUnEquipped(Actor akActor)
    if (akActor == Game.GetPlayer() && (CompanionsCentralQuest as CompanionsHousekeepingScript).PlayerHasBeastBlood)
        Game.GetPlayer().RemoveSpell(HircinesRingPower)
    endif
EndEvent

 

 

 

You only added a new spell "_WLWerewolfLordForm" as property, which should be added and remove as same as "HircinesRingPower".

You wrote: "the properties are set right and .., but when I get in-game and equip the ring I only get HircinesRingPower not _WLWerewolfLordForm."

 

Hmm.. try next if you like

 

DA05HircinesRingScriptExtender

 

Scriptname DA05HircinesRingScriptExtender extends ObjectReference  
; https://forums.nexusmods.com/index.php?/topic/8111393-cant-get-this-script-to-work-please-help/

  Spell PROPERTY sp_WLWerewolfLordForm auto     ; like IsharaMeradin, do not use leading "_" at the begin


; -- FUNCTION --

;---------------------------------------------------------------
FUNCTION myF_Spell(Actor player, Quest CCQ, Spell HRP, Bool bOK)  ; called by DA05HircinesRingScript.psc
;---------------------------------------------------------------
IF ( (CCQ as CompanionsHousekeepingScript).PlayerHasBeastBlood )
ELSE
    RETURN    ; - STOP -
ENDIF
;---------------------
IF ( sp_WLWerewolfLordForm )
ELSE
    Debug.Trace("DA05HircinesRingScript - missing werewolf spell property!")
    RETURN    ; - STOP -
ENDIF
;---------------------
    IF ( bOK )
        player.AddSpell(HRP, False)
        player.AddSpell(sp_WLWerewolfLordForm, False)
    ELSE
        player.RemoveSpell(HRP)
        player.RemoveSpell(sp_WLWerewolfLordForm)
    ENDIF
ENDFUNCTION

 

 

 

DA05HircinesRingScript

 

Scriptname DA05HircinesRingScript extends DA05HircinesRingScriptExtender
; https://forums.nexusmods.com/index.php?/topic/8111393-cant-get-this-script-to-work-please-help/

  Quest PROPERTY CompanionsCentralQuest auto
  Spell PROPERTY HircinesRingPower      auto


; -- EVENTs -- 2

EVENT OnEquipped(Actor akActor)
IF (akActor == Game.GetPlayer())
    myF_Spell(akActor, CompanionsCentralQuest, HircinesRingPower, TRUE)
ENDIF
ENDEVENT

EVENT OnUnEquipped(Actor akActor)
IF (akActor == Game.GetPlayer())
    myF_Spell(akActor, CompanionsCentralQuest, HircinesRingPower, False)
ENDIF
ENDEVENT

 

 

 

Put the extender script in the folder \ Steam \ SteamApps \ common \ skyrim \ Data \ Scripts \ Source

if Skyrim SE adjust path.

 

Open the CK make your esp loaded, look for Hircines Ring and update the papyrus code and the property "sp_WLWerewolfLordForm".

 

Compile and save your esp.

Edited by ReDragon2013
Link to comment
Share on other sites

It's a bit strange, but my tester got back to me and said the original script works, however I had already tried your script (It didn't work either infact it didn't give me either power) which gave my hunch that maybe it was something to do with the downloaded save I use to test mods and sure enough when I used a different save and equipped the ring I got both powers.

 

Thank you everyone who helped even if it did turn out to be a completely different problem. :smile:

Edited by pr0t0inc
Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...