Jump to content

WalkerInShadows

Premium Member
  • Posts

    40
  • Joined

  • Last visited

Nexus Mods Profile

About WalkerInShadows

Recent Profile Visitors

16777 profile views

WalkerInShadows's Achievements

Contributor

Contributor (5/14)

  • Dedicated Rare
  • First Post
  • Collaborator Rare
  • Week One Done
  • One Month Later

Recent Badges

0

Reputation

  1. I just copied the ones that didn't work. Here's the full log:
  2. I'm using OBSE 21.5, and when I try to launch the game, it gets to the title screen and then crashes. I checked the OBSE log, and it says this:
  3. Argh. I'm not sure if I wrote the script incorrectly, or if I did something else wrong, but I still can't get the perks. The message doesn't show up, and when I check via the console, it says I don't have the perk. I tried swapping akTarget with PlayerRef, just for kicks, but that didn't work either... it's likely something else, but I'n not sure what. Edit: I'm an idiot. I mentioned before that I was working on a revision of an existing mod, but after learning how the scripts worked, it never occurred to me to go back to the original and see how *that one* worked. It's a very simple script: Scriptname AlchemyRedoneAddPerkNote extends ObjectReference Perk property PerkToAdd auto Event OnRead() Game.GetPlayer().AddPerk(PerkToAdd) EndEvent PerkToAdd is filled in for each note with the specific perk to be added. I made some tweaks, attached it to my books, filled in the proper value and - voila! - it worked. I tried making a version for the potions, but sadly, it appears that it's not possible to add perks via magic effect (believe me, I tried), so I'll just have to make books for all the perks. Anyway, I never would have learned all this if without all your help, so.... thank you.
  4. Right, but the perks are being added to the player. You know: if !PlayerRef.HasPerk(Alchemist00AlchemyRedone) PlayerRef.AddPerk(Alchemist00AlchemyRedone) So, I'd still need it, right? Or could I just change PlayerRef to akTarget? I'm not using five separate effects - it's the same script attached to five different potions. They all different perks, but that's covered in the skill check. That's the part I wanted. I didn't know you had to click on the script name. Anyway, I was checking out some other portable crafting mods and I got a working tool script: Scriptname AlchemyRedonePortable extends ObjectReference ObjectReference Property ToolReference Auto ObjectReference Property CraftingStationReference Auto Actor Property PlayerREF Auto Event OnEquipped(Actor akActor) akActor.EquipItem( ToolReference, True, True ) Utility.Wait(0.1) akActor.UnequipItem( ToolReference, False, True ) CraftingStationReference.Activate(PlayerRef, true) EndEvent
  5. Oh. Right. You have to remember I'm a novice. Sorry for being vague. There are two classes of perks I'm adding - one is added via book, and the other via potions. I made the magic effect and added the script to it - I know that much from Oblivion - then added the effect to the potion. I checked the effect against another mod I have that has potions with a script effect (changes starting spells), and they're more or less the same. This is probably a dumb question, but does PlayerRef need to be defined in every script instance? Like, if I attach the same script to five objects, I have to define it in all five? Okay. I was looking through other scripts and saw the Debug.Notification thing, but I assumed it needed to be called like a normal function. Another dumb question: when you compile a script, how do you get it to display errors? I did it once by accident, but I don't remember how I did it.
  6. It's for me, not NPCs. I'm not sure what you mean here... are you saying I only need this? Scriptname AlchemyRedonePortable extends ObjectReference ObjectReference Property ToolReference Auto ObjectReference Property CraftingStationReference Auto Event OnEquipped(Actor akActor) CraftingStationReference.Activate( akActor() ) EndEvent I have another question while I'm here. The AlchemyRedoneAddPerkPotions script doesn't seem to be working. I successfully made a potion, but when I drank it, nothing happened. I also want to add a message ("Your knowledge of alchemy has advanced.") so that the player knows the perk has been added. The wiki is less than helpful on this point - all I can find out is that I have to use Function Notification("Your knowledge of alchemy has advanced.") native global but it doesn't say anything beyond that. You'd think they'd add something like sample scripts, right? Naaah. Why would they do that?
  7. Okay, I've got a question about another script - same mod, different function. I'm using portable alchemy stations; the original mod has them as armor that is equipped, but I want to make them misc items. I cut down the original script (hence the Game.GetPlayer), but will it work as is? Scriptname AlchemyRedonePortable extends ObjectReference ObjectReference Property ToolReference Auto ObjectReference Property CraftingStationReference Auto Event OnEquipped(Actor akActor) If( akActor == Game.GetPlayer() ) CraftingStationReference.Activate( Game.GetPlayer() ) EndIf EndEvent
  8. I was looking this script over, and I realized that it would add ALL the perks at the same time. I want to add an Alchemy check to add them at specific times. I know the command (PlayerRef.GetActorValue(Alchemy)), but I'm not sure how to implement it. The wiki isn't very clear on this point - I assume it's a separate function to check for the value... but then how do I apply it to this line: if !PlayerRef.HasPerk(MedAlchemyAlchemyRedone) && PlayerRef.GetActorValue(Alchemy)
  9. Another question: How do you check for multiple conditions? I want to do this: If A && B && C AddPerk PurityAlchemyRedone I'm fairly sure Papyrus doesn't use the && operand, so how does it work now?
  10. Sorry.. for some reason, those two posts didn't show up. Like I said, I have zero expertience with Papyrus - all I know is what I've picked up from reading the wiki. I was using Game.GetPlayer because (surprise!) that's the example the wiki uses. Nice to know I had it (mostly) right the first time. :laugh: And thanks for the help.
  11. Okay. So I had an idea, and tried something new: Scriptname AlchemyRedoneAddPerkExp extends ObjectReference Perk property Alchemist00AlchemyRedone auto Perk property Experimenter30AlchemyRedone auto Perk property Experimenter50AlchemyRedone auto Perk property Experimenter70AlchemyRedone auto Perk property Experimenter90AlchemyRedone auto Event OnRead() Game.GetPlayer().AddPerk() EndEvent FunctionAddPerk() if Game.GetPlayer().HasPerk(Alchemist00AlchemyRedone) Game.GetPlayer().AddPerk(Experimenter30AlchemyRedone) elseif Game.GetPlayer().HasPerk(Experimenter30AlchemyRedone) Game.GetPlayer().AddPerk(Experimenter50AlchemyRedone) elseif Game.GetPlayer().HasPerk(Experimenter50AlchemyRedone) Game.GetPlayer().AddPerk(Experimenter70AlchemyRedone) elseif Game.GetPlayer().HasPerk(Experimenter70AlchemyRedone) Game.GetPlayer().AddPerk(Experimenter90AlchemyRedone) endif EndFunction I finally figured out how to view the compiler log (man, the CK is seriously unintuitive), and it gave me this: AlchemyRedoneAddPerkExp.psc(13,15): no viable alternative at input '('No output generated for AlchemyRedoneAddPerkExp, compilation failed. I can see it's pointing to lines 13 and 15, but beyond that, I'm lost.
  12. Yeah, I think it's because I'm converting an LE mod. I ended up just creating a new script, and it seems to have worked - it didn't throw any errors. Yay! As for this script... well, I've still got issues. I know I'm doing something wrong, but I'm not quite sure what, and the CK won't tell me. Scriptname AlchemyRedoneAddPerkExp extends ObjectReference Perk property Experimenter30AlchemyRedone auto Perk property Experimenter50AlchemyRedone auto Perk property Experimenter70AlchemyRedone auto Perk property Experimenter90AlchemyRedone auto Bool Exp30 = False Bool Exp50 = False Bool Exp70 = False Bool Exp90 = False Event OnRead() Game.GetPlayer().AddPerk() EndEvent FunctionAddPerk() if Exp30 = False Game.GetPlayer().AddPerk(Experimenter30AlchemyRedone) Exp30 = True elseif Exp50 = False Game.GetPlayer().AddPerk(Experimenter50AlchemyRedone) Exp50 = True elseif Exp70 = False Game.GetPlayer().AddPerk(Experimenter70AlchemyRedone) Exp70 = True elseif Exp90 = False Game.GetPlayer().AddPerk(Experimenter90AlchemyRedone) Exp90 = True endif EndFunction
×
×
  • Create New...