You can use this method for perks rather easily if you keep reference variables pointing to them.
scn ExampleScript short modindex ; Mod index for BuildRef ref Perk1 ; Reference variables that act as handles to perks that you can't reference by EditorID. ref Perk2 ref Perk3 ref Perk4 ref Perk5 short variable1 ; Some variables to do stuff with. float variable2 begin gamemode if(getgamerestarted) ; You only need to build your references when the game is started. if(ismodloaded "PerkMod1.esm") set modindex to getmodindex "PerkMod1.esm" set Perk1 to buildref modindex 12345 ; FormID of a perk, converted to decimal. set Perk2 to buildref modindex 12346 else set Perk1 to 0 set Perk2 to 0 endif if(ismodloaded "PerkMod2.esm") set modindex to getmodindex "PerkMod2.esm" set Perk3 to buildref modindex 21233 else set Perk3 to 0 endif if(ismodloaded "PerkMod3.esm") set modindex to getmodindex "PerkMod3.esm" set Perk4 to buildref modindex 34431 set Perk5 to buildref modindex 34432 else set Perk4 to 0 set Perk5 to 0 endif endif if(Perk1) ; Check if the perk has been retrieved from its mod before trying to call functions with it. if(player.hasperk Perk1) set variable1 to variable1 + 1 elseif(Perk2) if(player.hasperk Perk2) set variable1 to variable1 + 2 endif endif endif if(Perk3) if(player.hasperk Perk3) set variable1 to variable1 * 2 endif endif if(Perk4) if(player.hasperk Perk4) set variable2 to variable2 * 1.1 else set variable2 to variable2 * 0.8 endif endif if(Perk5) if(player.hasperk Perk5) set variable2 to 3 - variable1 endif endif player.setscale (variable1 / variable2) ; Do something with these variables. end ; gamemode



Sign In
Create Account

Back to top









