Quick Test Information: This challenge plugin stays hidden until the player activates it and completes it. Once completed the challenge is deactivated/completed and the player receive the perk added to their pip-boy. Now after the perk is awarded a message pops up telling the player they have received the perk and tells them to look at the workbench for a new recipe. It is mostly meant as a test, but there are a bunch of applications for this. (Also to note this Challenge is very simple, has no ranks, and has a super short non-complex script. )
1. The Form List: I'm using a form list to draw information from so that when the player uses an item from that list the Challenge activates. In this test plugin I made a MagazineList and dragged the magazines currently in FONV into the list then saved the list.
2. The Perk: The reward for completing the challenge will be a special perk added to the player. I went into the Actor and clicked on the Perk tab to bring up the perks. Since I don't have the .bsa files extracted I do a bit of trickery where I selected an existing perk with the Pip-boy Icon I wanted and renamed it creating a new form. It is CRUCIAL that you create a new form because if you don't it will rewrite the perk you are using as the template which can create a bunch of problems. I used the Educated perk and deleted the Perk Entries and Conditions in my new Absorbed Reading Perk.
After deleting the Conditions and Perk entries I set the Num Ranks and Level to 1 since essentially the player starts out at level 1. (Note: Named the Perk ID AbsorbedReader than the name that is displayed in the Pip-Boy Absorbed Reader to keep things together, but you can put whatever you want in the name.)
3. The Message:
In the code below the "ChallengeMessageAbReader" is displayed which is a simple box message the player hits OK on. In the Message area after creating the message I wanted I left the Message Box eh Box checked which will bring up something the player has to click OK on. If you don't this simply uncheck the box and put in a time interval for which you want your message displayed to the right of the Message Box check box. Usually 4 or 6 is acceptable, but anything beyond that gets annoying.
4. The Challenge:
Setup the Name of your challenge having the NVChallenge before your name *Example: NVChallengeReading*, with the name being whatever you want *mine was Absorbed Reader*. After that is your Reward Script which mine was this:
scn ChallengeAbsorbedReadingSCRIPTbegin ScriptEffectStart player.addperk AbsorbedReader showmessage ChallengeMessageAbReaderend
When the player reads a magazine from the form list we create it will add the AbsorbedReader perk to the player and display a message box. Most Challenges will have a player.REWARDXP Amount on it to give the player a certain amount of xp for completing the challenge. Next in the list after the script is the Type of challenge.
- Acquire Item
- Acquire Item From List
- Discover Map Marker
- Do Damage
- Hit An Enemy
- Kill A Specific FormID
- Kill Any In A Category
- Kill From A FormList
- Miscellanous Stat
- Use A Skill
- Use An Item
- Use An Item From A List
From this I picked the "Use An Item From A List" which allows for a wider array of items or more complex combinations. The next part is the complicated one which is the Threshold and Interval which i'm still a bit sketchy on. For my test I set the Threshold to 1 and the Interval to 1 so that the player has to use 1 item to trigger the challenge and complete it. (It's sketchy to me because I see Threshold 200 and Int 50 or Thresh 20 and Int 5. Course the Int could mean the points at which the challenge triggers telling the player they are almost there and Threshold is the point at which it completes)
Now we click the Form List drop down box and select the Magazine list that we made which contains a list of all the New Vegas Magazines in game. (Final Note
5. The Recipe:
Now that the player has the Absorbed Reading Perk you can go to the Recipe area and create a new recipe. In the Conditions you will have the condition function set to HasPerk and select the perk you created *in my case the AbsorbedReader* perk. You will need to set this value to 1 *Boolean for YES/On* so that the game knows if the player has completed the challenge and received the perk to offer up this recipe. Otherwise if the condition is 0 and the player doesn't have the perk it won't be seen by the player.
After that you can add in whatever Ingredients you want *I did 1 sparepart Ingredient and for the output I gave the player 1 Holy Frag Grenade. It's a test plugin for fun really not doing this seriously.*
With everything done I saved the script and tested it with a Future Weapons magazine which produced the message box and allowed me to use the recipe.
Quick Summary:
Before you make the challenge you need to complete the base requirements which was the Perk, Formlist, and the Message. The Perk and Message are required because if you try to make the script first it won't save because the Perk and Message don't exist. As for the Formlist it needs to be completed before you try to make the perk so that the list shows up in the Form List drop down menu box.
The challenge is rather simple, but as noted it opens up a door to the possibilities of more complex scripts. One script that is interesting is the challenge where you go around killing everything because it adds a challenge when the current challenge is completed. So if you wanted to do successive challenges like 3 to add in a final perk or 3 perks making 1 special items you could do it that way. Example would be an Anti-Material rifle made only via recipes which shoots fatman rounds. Have the player kill 500 creatures with the AM rifle, Do X damage with the Fatman Weapon, and Make like X weapon items to reward the player with the Guns Of Glory perk which lets them make the weapon.
Anyways I hope this information helps out those that are curious like myself on how to make challenges and reward the player for completing them.
