Welcome Guest ( Log In | Register )

> Renee's Modding Thread
Renee
post Feb 25 2018, 01:30 PM
Post #1


Councilor
Group Icon
Joined: 19-March 13
From: Ellicott City, Maryland



Mod-making thread basically, which focuses heavily on quest-making. The first two tutorials (How to make a fetch quest and how to make a kill quest) are very hand-holdy. They are designed for those who are just starting to learn the art of quest-making. Other tutorials get more advanced, as my wacky ideas have pushed their boundaries.

Just click on any of the links in the post below this one. smile.gif


Bethesda Units. (How distance compares in-game to real-life).

Xpadder Walkthrough page. Xpadder is a site which allows gaming controllers to mimic the key & mouse functions. Xpadder, or similar programs such as Joy to Keys, are absolutely crucial to get the most out of older games such as Arena, Daggerfall, Morrowind, and Oblivion, for those who prefer controllers. They can also be used for newer games (Fallout 3/NV or Skyrim) to provide alternate controlling scenarios during times when a game's native D-pad arrangement needs to be shut off.




This post has been edited by Renee: Apr 16 2024, 06:27 PM


--------------------
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
 
Reply to this topicStart new topic
Replies
Renee
post Jan 23 2022, 07:24 PM
Post #2


Councilor
Group Icon
Joined: 19-March 13
From: Ellicott City, Maryland



How to make a ForceGreet. Game: TES V: Skyrim

This one is going to teach how to make an NPC ForceGreet the player. What this means is the player (us) is greeted by an NPC. And when this NPC greets us, it pauses our ability to do anything else but answer the NPC's question, fulfill the NPC's demand, or whatever. Think of when we first enter Dragonsreach, and Irilith stalks up to us, blade in hand. "What's the meaning of this interruption?" she demands. And our ability to do almost anything else is temporarily disabled. Our options at that point are to continue the conversation, or back out of it entirely, and go back to whatever we were doing.

Note that only the Player-Character can be greeted in such a way. An NPC cannot forcegreet another NPC, they can only play part of one of Skyrim's scripted Scenes.

So, this assumes an NPC has already been made, because it's best to test this kind of stuff on our own custom-made people first. Make sure the NPC has a Voice Type which is supported (see the list below), and place him or her into a cell or worldspace.

MaleEvenTonedAccented
FemaleSultry
MaleDrunk
FemaleDarkElf
MaleDarkEfl
MaleNord
FemaleCommander
MaleBrute
MaleArgonian
MaleKhajiit
FemaleOrc
FemaleCondescending
MaleEvenToned
FemaleEvenToned
MaleYoungEager
FemaleYoungEager

I have found the best place to test this sort of item is in QASMoke, which is similar to the Testing Hall cell found in Oblivion. Here is a list of cells which might be safe to test.


RENDER window
1a). If the NPC being used for the ForceGreet is being added into the game (in other words, is not a vanilla NPC) double left-click on him or her in the Render window. Click on the Persist Location tab, and find the cell he or she is located, in the Persistence Location scroll-bar. Click OK.

If we don't do that, sometimes NPCs have a habit of disappearing once we add the package to them. mad.gif

OBJECT window > Character > Quest
1b). Make a quest, and give it an ID. I am calling this quest aaaForceGreetQuest.

Priority can be 60. Start Game Enabled and Run Once should be on. Use the Type scroll-bar to choose a type of quest. I am choosing Side Quests.

Note: --This quest going to be a very short example, which does not show in the Quest Journal once we're back in the game. So Quest Name is not necessary.


2). Click OK, closing the Quest window. Save. Reopen the quest.

3). In the Quest Stages tab, make three stages: 0, 1, and 2. Right-click into the Log Entry window for each of these so all three say EMPTY.

Stage 0 should have Start Up Stage toggled. This is the pre-stage, and the NPC will greet us during this stage, once we get near enough to him or her. "Do I know you? You look familiar" is what is in my game. After he or she says this, the quest bumps to 1.

Stage 1 "Afraid not," we answer. "Oh my mistake," the NPC says, and walks away, bumping the quest to 2. Note that in many cases, ForceGreets will automatically make an NPC Sandbox (walk away, sit down, eat, etc.) once the conversation ends.

Stage 2 should have Shut Down Stage toggled, as well as Complete Quest.


4). Click on the Dialogue Views or Player Dialogue tab. I am going to describe how this is done in Dialogue Views.

5). Right-click into the Editor ID window and choose New. Type a unique ID.

6a). Highlight the ID, and right-click > Create Branch in the larger window. Give the Branch an ID, Click OK, and OK again, closing the Quest window. Save.

6b). Reopen the quest. Now, open the same dialog window. Right-click into the gray box and select Edit Topic. The Topic panel pops up.

7a). Give the Topic a unique ID. And very important: Change the Priority slot from 50.00 to 100.00, if the ForceGreet is definitely supposed to happen.

7b) Type something into the Topic Text slot, which is what our character will say to the NPC after being greeted. I wrote "Afraid not" up above, and you can type whatever is desired.

7c). Change the Subtype scroll-bar from Custom to ForceGreet.

Click OK, and click OK again (closing the panel).

--Note also that so far, this dialog-making process seems backwards. Why didn't we type the NPC's greeting first? unsure.gif We'll see why in a few.

8a). Reopen the Topic panel, and right-click > New into the huge window area. Okay, now follow all the typical methods for making dialog. For those who have never made dialog in Skyrim (or have forgotten how) scroll down to step 5h of this post. This is the part where the NPC says "Oh, my mistake" in my example above.

Don't forget to make a recording. The process can be found in step 11n of this post, and we don't have to actually record any voice to make the dialog work once we are back in the game. smile.gif

8b). Toggle Has LIP File, Say Once, and Force Subtitle on, if you are like me, and do not use actual voice recordings. smile.gif For those who do use voice, only Has LIP File and Say Once are needed. I think.

9). There should be two conditions:

GetIsID aaaYourNPC == 1.00
GetStage aaaForceGreetQuest == 1.00


Copy All both of them.

10). Type GetOwningQuest().SetStage (2) into the End: Papyrus Fragment box.

11). Click OK, click OK again (closing the Quest window) and Save.

12). Reopen the quest, but this time click on the Misc tab. Right-click > New into the white Editor ID (tall, vertical window) and find Hello in the scroll-bar which is over this window.

13). Now's the time to make the dialog which will be our forcegreet. "Do I know you? You look familiar." Follow all steps for recording.

14). Paste the two conditions into the Conditions window, but change the GetStage to GetStage aaaForceGreetQuest < 1.00. And also add IsInDialogueWithPlayer.

Overall, the conditions should look like this...

GetStage aaaForceGreetQuest < 1.00 AND
GetIsID aaaNPC == 1.00 AND
IsInDialogueWithPlayer == 1.00


15). Type GetOwningQuest().SetStage (1) into the End: Papyrus Fragment box. Click OK, and OK again, and Save.


OBJECT window > Character > Package
16). Make a new package. Give it an ID.

17). Change the Package Template scroll-bar to ForceGreet. There are also ForceGreetFromSitting and ForceGreetWaitSitting, if the NPC is to greet us while sitting (for example, a Jarl on a throne). With ForceGreet, the NPC can walk toward us before saying their greeting if we choose for this to happen. With ForceGreetWhileSitting, they will simply continue to sit.

Do NOT touch the Owner Quest scroll-bar. Leave it at NONE or whatever. Changing this only works if other things get set up in advance, otherwise the package will not work if this has a quest's ID name here. rolleyes.gif

Package Tab
In the Public Package Data window there are a bunch of datas we have the option to manipulate: Topic, NPC Wait Location, Trigger Location, and so on.

-- Topic: click on this. By default this is set to [HELLO], and we are going to leave it there. This is obviously so the game engine picks up on the HELLO we just wrote.

-- NPC Wait Location is, of course, where the NPC will stay until we get near enough for him or her to start the ForceGreet package. Left click on this choice, and then select the button which says 'Near package wait location, radius 150'. The Location panel pops up. There are a bunch of options where the NPC can stay while waiting for us. For convenience, choose Near Self if we don't need a specific place for them to stay. Or, a referenced marker (such as an XMarkerHeading) can be chosen. For now, just leave this alone.

-- Trigger Location can be left at 'Near package start location, radius 500', or it can be increased. This is the area which causes the ForceGreet package to activate. The package activates, and begins processing so that the NPC gets ready to walk to us. Trigger Location can be changed larger than 500: Irilith, the NPC who accosts us as we first enter Dragonsreach for instance, has a Trigger Location of 3000, which is why she is already moving toward us to say the "jarl will not be receiving visitors" way before we even notice her.

-- Forcegreet Distance is the distance (in Bethesda units) of how far away the NPC will greet. Leave this on PlayerRef, of course. Radius is 300, but can be also changed larger or smaller. Don't make Radius too small though, or the NPC won't be able to greet properly.

--- Player must be detected. By default this is False. If this is set to True, it means the NPC will give their Hello only if they see our character. Oddly, I have found this quest works best while it stays False. If it stays False, all that matters is the Trigger Location and Forcegreet Distance. They don't have to physically see our character at all.



Flags tab

-- Toggle Preferred Speed on, and change this to Walk, Fast Walk, Jog, or Run.

-- It helps to toggle everything else off: all the "Fallout" stuff EXCEPT for Hellos to Player. Make sure Hellos to Player stays toggled, since we'll need the Hello written before to trigger the ForceGreet package.

-- Must Complete can also be tried, but only if the package seems not to be working.


Conditions tab
-- Set these as per whatever conditions are required. I am putting GetStage aaaForceGreetQuest < 1.00.


18). Click OK, closing the Package window. If OK cannot be seen, click on the package's ID name, and press ENTER or RETURN on the keyboard.

19). Open up the NPC from the Object or Render windows. Now we can either drag the new package into his or her AI Package window, or right-click > Add the package in there.

Go into the game and make sure everything works.


Final notes: It is also possible to use the Quest window's Quest Alias tab, add the NPC as Unique Actor, and attach the package into the lower right window. Bethesda does it this way, rather than attaching the package to the NPC itself. I got this to work ONCE, but have been unsuccessful at seeing it happen again. mad.gif The reason we might want the package to work this way is it's a little smoother, and there is less lag between the NPC walking toward us, and finally greeting.

Below is a script which also promises to make forcegreets happen, although I have not tried it yet.

Quest Property YourQuest Auto
Actor Property NPC Auto

Event OnTriggerEnter(ObjectReference AkActivator)

If(game.getPlayer()==AkActivator && YourQuest.GetStage() == 40)
YourQuest.SetStage(50)
NPC.EvaluatePackage()
Endif
EndEvent

This post has been edited by Renee: May 10 2023, 02:12 AM


--------------------
User is offlineProfile CardPM
Go to the top of the page
+Quote Post

Posts in this topic
Renee   Renee's Modding Thread   Feb 25 2018, 01:30 PM
Lady Saga   Tip: For Oblivion, Always use [url=https://www.nex...   Feb 25 2018, 01:35 PM
Renee   The Fetch Quest, Game: TES IV: Oblivion. So this...   Feb 25 2018, 01:51 PM
ghastley   The problem with the YouTube tutorials is that the...   Feb 25 2018, 04:25 PM
Renee   Awesome, ghastley. The problem with the YouTube...   Feb 25 2018, 05:18 PM
SubRosa   Excellent fetch tutorial Renee! I will probabl...   Feb 25 2018, 05:41 PM
Renee   Thank you. I tend to write up everything I do step...   Feb 25 2018, 11:40 PM
Renee   [color=green]The Kill Quest, Map Markers, and X ma...   Mar 2 2018, 11:16 PM
Turija   Great thread. I will have to think about what I c...   Mar 7 2018, 11:58 PM
Renee   Sweet Turija! See, I just learned a few new th...   Mar 8 2018, 02:53 AM
Renee   [b]How to repair Hair, Game: TES IV: Oblivion Thi...   Mar 13 2018, 02:27 AM
Renee   [color=#FF6600]How to make an NPC Vendor & Mec...   Mar 18 2018, 06:29 PM
Renee   [color=white]How to fix "Missing flowchartx32...   Mar 25 2018, 05:20 PM
ghastley   FWIW, you CAN paste into the command prompt window...   Mar 26 2018, 03:06 PM
Renee   Okay thanks, ghastley. I'll see if this works ...   Mar 29 2018, 05:18 PM
Renee   How to make a Fetch Quest (with multiple items). G...   Mar 31 2018, 11:36 PM
Renee   Each exterior cell is 4096 units by 4096 units or ...   Apr 3 2018, 02:56 PM
ghastley   At some time in the past I did a tutorial on how t...   Apr 10 2018, 07:33 PM
Renee   That'd be great. :)   Apr 10 2018, 08:15 PM
Renee   [color=#009900]Making a weather-changing item. Gam...   Apr 24 2018, 12:19 AM
Renee   [color=#996633]Faction-changing Armor and Clothing...   May 13 2018, 07:53 PM
Renee   Making an NPC Follower Game: Fallout 3 Note: this...   May 29 2018, 01:25 AM
Renee   Timer Scripts. Game: TES IV: Oblivion or Fallout 3...   Jun 10 2018, 11:53 PM
Renee   [b]Making a house for sale or rent. Game: TES IV: ...   Jun 24 2018, 03:37 AM
Renee   Cripes, it's been since JUNE since I've ad...   Aug 12 2018, 04:13 PM
Renee   [color=#CC9933]Gun Tutorial Game: Fallout 3 This ...   Aug 26 2018, 08:52 PM
SubRosa   Ignores Normal Weapon Resistance is a holdover fro...   Aug 26 2018, 08:59 PM
Renee   Thanks. I changed the info in my previous post. ...   Sep 2 2018, 12:55 PM
Renee   Another tip for making these bounty quests: I like...   Sep 29 2018, 06:50 PM
Renee   This post goes with the one above, and is going to...   Oct 12 2018, 02:41 AM
Renee   [color=green]Lizard Men! -- Game: TES IV: Obli...   Oct 25 2018, 10:59 PM
Lopov   Nice! :goodjob: I'll be using this mod whe...   Oct 25 2018, 11:25 PM
Renee   So it's possible to encounter them in Lake Ru...   Oct 26 2018, 12:04 AM
Renee   Making an NPC Vendor / Repairist. Game: TES IV: Ob...   Oct 28 2018, 02:08 AM
Renee   [b]SEQ Files, Game: TES V: Skyrim Requires the TE...   Oct 29 2018, 12:17 AM
Renee   [color=#996633]Making FOMODs through Fallout Mod M...   Nov 11 2018, 04:32 PM
Renee   ` Making an NPC follower Game: TES V: Skyrim ...   Dec 1 2018, 06:40 PM
Renee   [b]Making an NPC Vendor Game: TES V: Skyrim [b]1...   Dec 5 2018, 02:59 AM
Renee   Making a Book bump a quest stage Game: TESV: Skyri...   Dec 15 2018, 02:39 AM
Renee   [b]Skyrim Quest Tutorial (WORK IN PROGRESS, do no...   Dec 17 2018, 12:02 AM
Renee   Repeatable Bounty Quests II (innkeeper involvemen...   Dec 29 2018, 04:04 PM
mALX   This is an Awesome thread, Renee!!!   Jan 14 2019, 07:56 PM
Renee   Awesome, thanks so much. :) --------------------...   Jan 19 2019, 08:25 PM
Renee   Setting up a gamepad controller Game: Elder Scroll...   May 15 2019, 12:53 AM
mALX   Awesome! You got it working! By the wa...   May 15 2019, 01:55 AM
Renee   Awesome, thanks. I have noticed there's TONS o...   May 15 2019, 01:05 PM
Renee   Game: Fallout 3, How to use Zone Triggers to set q...   Jun 19 2019, 02:28 AM
Renee   How to transfer saves from Xbox to PC, Games: Obli...   Jun 26 2019, 12:10 PM
Renee   Making a generic NPC Enemy, [color=white] Game: TE...   Oct 29 2019, 10:53 PM
Renee   Repeatable Bounty Quests Game: [color=white]TESV: ...   Jan 5 2020, 05:47 AM
Renee   Repeatable Bounty Quests, How to add new locations...   Jan 29 2020, 01:46 AM
mALX   These are awesome tips! Thanks Renee!   Jan 5 2020, 06:26 PM
SubRosa   Wow. That is amazing.   Jan 5 2020, 07:54 PM
Renee   aw, well thanks. I appreciate your encouragement,...   Jan 5 2020, 10:48 PM
Renee   SetActorOwner https://www.creationkit.com/index.p...   Apr 1 2020, 11:43 PM
SubRosa   You can use this at the console. It is a great way...   Apr 2 2020, 12:28 AM
Renee   You can use this at the console. It is a great wa...   Apr 2 2020, 12:33 AM
Renee   USE THIS idea for Fallout3_Jail.esp. We're goi...   May 31 2020, 05:11 PM
Renee   Adding a Jail and enhancing Fallout's Crime Sy...   Jun 4 2020, 08:25 PM
Renee   Making a Patrol package. [color=#993300]Game: Fall...   Jun 20 2020, 04:55 PM
Renee   Horse Rentals. Game: [color=#006600]TES IV: Oblivi...   Jul 26 2020, 06:07 PM
Renee   Getting an Xbox controller to work on PC. Game: [c...   Jun 11 2021, 12:47 AM
Renee   [color=#996633]Trigger Zones, Game: Fallout 3 Fal...   Sep 27 2020, 12:47 AM
Renee   https://www.youtube.com/watch?v=wj6qGCT4isg...nnel...   Sep 28 2020, 02:55 PM
Renee   https://web.archive.org/web/20130429160307/...Obje...   Oct 29 2020, 11:17 PM
Renee   I have found a really good Daggerfall tutorial whi...   Nov 28 2020, 03:00 AM
Renee   More Dynamic NPCs! Game: [color=#663366]TES II...   Jun 24 2021, 02:36 AM
Renee   Getting the Take All button to work, Game: [color=...   Aug 20 2021, 06:40 PM
Renee   Setting fallback cell (instead of Tiber Septim) h...   Sep 1 2021, 01:12 PM
Pseron Wyrd   https://web.archive.org/web/20200218144220/...a-s...   Sep 1 2021, 04:32 PM
Renee   I agree, Wyrd. Now that I know why random stuff sh...   Sep 2 2021, 01:58 AM
Renee   Random Console Commands, Game: TES V: Skyrim This...   Jan 23 2022, 03:36 PM
Lena Wolf   I thought this thread was for Oblivion? ;) Never m...   Jan 25 2022, 03:57 PM
Acadian   I thought this thread was for Oblivion? ;) ... P...   Jan 25 2022, 05:30 PM
Lena Wolf   Well, there are of course a lot of similarities be...   Jan 25 2022, 05:41 PM
Renee   Lena has a point. Maybe this thread can be moved t...   Jan 25 2022, 06:12 PM
Acadian   Okay, the mod projects forum is simply a collectio...   Jan 25 2022, 07:22 PM
Renee   Thanks, paladin!   Jan 25 2022, 08:44 PM
Renee   How to use the PC's face for an NPC. [color=wh...   Mar 13 2022, 10:11 PM
Renee   How to add a bounty to the Player via script. Gam...   Apr 1 2022, 01:21 AM
Renee   How to add the Player or NPC into a Faction via sc...   Apr 3 2022, 02:39 AM
Renee   How to fix "failed to load snowflake: Meshes...   Nov 27 2022, 04:20 PM
Renee   Installing Morrowind from Scratch Recently I had ...   Dec 3 2022, 02:53 AM
macole   Those Intervention scrolls sure come in handy. I ...   Dec 3 2022, 07:59 AM
Renee   Oops, I screwed up. :whistle: Was cleaning the nex...   Dec 3 2022, 02:26 PM
Renee   Get a Job! Game: [color=white]TES V: Skyrim I...   Dec 11 2022, 11:41 PM
Renee   Traveling with an NPC. Game: TES V: Skyrim Here...   Jan 21 2023, 07:32 PM
Renee   Traveling with an NPC, Additional Locations. Game:...   Feb 10 2023, 03:07 PM
Renee   Traveling with an NPC, Additional NPCs. Game: [col...   Feb 13 2023, 01:58 AM
Renee   Dialog Speech Checks Game: [color=#FFFFFF]TES V: S...   Mar 3 2023, 03:58 AM
Renee   Map Marker Tutorial, Game: Fallout 3 Firstly, wit...   Mar 19 2023, 05:52 PM
Renee   Repeatable Enemy Raids, Game: Fallout 3 I love ge...   Mar 26 2023, 07:31 PM
Renee   Repeatable Enemy Raids, Additional Locations. Game...   Apr 2 2023, 06:36 PM
Renee   Gray Face bug. Game: [color=#FFFFFF]TES V: Skyrim ...   Apr 23 2023, 01:50 AM
Renee   Script Fragments. Game: [color=white]TES V: Skyrim...   May 19 2023, 06:54 PM
Renee   Fixing the Sideways Glasses Bug, Game: [color=#663...   May 26 2023, 10:29 PM
Renee   Nexus Mod Manager - installing and uninstalling Y...   Jun 8 2023, 08:02 PM
Renee   Breton Magic Resistance Tweak, Game: [color=#66333...   Jun 21 2023, 12:03 PM
Renee   Manipulating Leveled Lists Here is how to change ...   Jun 24 2023, 07:29 PM
2 Pages V  1 2 >


Reply to this topicStart new topic
5 User(s) are reading this topic (5 Guests and 0 Anonymous Users)
0 Members:

 

- Lo-Fi Version Time is now: 29th April 2024 - 12:48 AM