Jump to content

Book adding a perk


JimmyRyder

Recommended Posts

Yeah but I don't get why it doesn't work.

 

Everything is explained here:

 

 

Sorry it's in french but if you're familiar with Fallout universe there should be no troubles understand the point.

Edited by JimmyRyder
Link to comment
Share on other sites

By the description on that video frame, you are using "quick load". That's your problem, I think. "Quick load" does not clear out the game memory. Various flags (and apparently your "Perk") remain "active". You have to exit all the way to the desktop for them to get "cleared". This is an example of why the advice is to ALWAYS exit to the desktop when reloading.

 

-Dubious-

Link to comment
Share on other sites

Ah ya ... the quick load is a problem ... but I just realized another problem you have.

 

Your "AddPerk" line needs to be "Player.AddPerk" And there is no flag option for it , so leave the "1" off

 

And your "ShowMessage" line ... I don't think you are using it's flag option correct. But I don't think you should need any number there. Try it without like this "showmessage EnglishBookMESSAGE"

Edited by Mktavish
Link to comment
Share on other sites

Is EnglishBook01 yet another book? If not, then I would leave the equipitem function out, since you are already equipping the book.
Also not sure why you have the '1' after the perk. If there are problems, I would be more specific on functions like addperk and equipitem and specify the actorREF it's being applied to (player).
I also don't like to remove objects that are running the script, in the same frame as its important functions. I always wait a frame or two after everything is done before a function like 'removeme' and guard it so there is no possibility of it repeating.
scn EnglishBookSCRIPT

int bDoOnce

begin OnAdd player

setobjectivecompleted MamboQuest01 70 1
setobjectivedisplayed MamboQuest01 75 1

end


begin OnEquip player

If GetStage MamboQuest01 > 0

if bDoOnce
else;if bDoOnce == 0
set bDoOnce to 1

player.Equipitem EnglishBook01 ;redundant/problematic?
player.addperk EnglishBookPERK
setobjectivecompleted MamboQuest01 75 1
showmessage EnglishBookMESSAGE 0

endif
endif

end

 begin menumode

if (bDoOnce == 1)
set bDoOnce to 2;skip a frame
elseif (bDoOnce == 2)
set bDoOnce to 3
removeme
endif

end

 

Link to comment
Share on other sites

 


player.Equipitem EnglishBook01 ;redundant/problematic?  ;  Ya that should be "If GetEquipped ==1"
player.addperk EnglishBookPERK
setobjectivecompleted MamboQuest01 75 1
showmessage EnglishBookMESSAGE 0  ;  Are you sure he needs this flag set ?

endif
endif

end

 begin menumode

if (bDoOnce == 1)
set bDoOnce to 2;skip a frame
elseif (bDoOnce == 2)
set bDoOnce to 3
removeme
endif

end

 

 

 

 

player.Equipitem EnglishBook01 ;redundant/problematic? ; Ya that should be "If GetEquipped ==1"

 

But specifically "If Player.GetEquipped EnglishBook == 1" ; he needs the condition question

 

showmessage EnglishBookMESSAGE 0 ; Are you sure he needs this flag set ?

 

Sorry had to add edit to make sure you saw my additions/question within the script.

Edited by Mktavish
Link to comment
Share on other sites

Regarding your perk not showing in the pip-boy; make sure the perk isn't flagged as hidden. You don't need to select either the playable or hidden flags on a perk if it's intended to be seen by the player but not chosen at level up and is awarded by other means, in this case, reading the book.

Link to comment
Share on other sites

  • Recently Browsing   0 members

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