[TUTz] CompanionFollower Tutorial

Post » Fri May 04, 2012 2:57 am

I can't find my script in the Quest menu, it doesn't show up.

open your script to edit it, and and make sure the 'Script type' box at the top middle says 'quest'.
User avatar
Schel[Anne]FTL
 
Posts: 3384
Joined: Thu Nov 16, 2006 6:53 pm

Post » Fri May 04, 2012 1:44 pm

Nice tutorial. This really helped except for one major reason. I can't talk to my NukaLurk Companion. Whenever I press 'E' infront of him, nothing happens. Have I done something wrong?

Edit: My Companion Mod has also made a epic (major) bug... When I talk to NPC's like Moira and I tried to skip the dialouge by Left clicking (which is obvious), Fallout 3 crashes. Seriously, someone help me...!!!
User avatar
Alexander Horton
 
Posts: 3318
Joined: Thu Oct 11, 2007 9:19 pm

Post » Fri May 04, 2012 1:32 am

I'm using this tutorial for my companion in Fallout New Vegas because I couldn't find a tutorial for the FNV GECK. And I'm having a problem, I followed the tutorial succesfully up till Step 4 with the first script. When I copy the script into the program and hit save, nothing happens! So I searched google for the solution and I found out that if the script ain't right, the GECK won't save the script. And I have no idea what the problem is, maybe the scripting in the New Vegas GECK is different?

Could someone please help me? Maybe change the script to use it in the New Vegas GECK or find the real solution.

Thanks!
User avatar
RaeAnne
 
Posts: 3427
Joined: Sat Jun 24, 2006 6:40 pm

Post » Fri May 04, 2012 7:07 am

I'm using this tutorial for my companion in Fallout New Vegas because I couldn't find a tutorial for the FNV GECK. And I'm having a problem, I followed the tutorial succesfully up till Step 4 with the first script. When I copy the script into the program and hit save, nothing happens! So I searched google for the solution and I found out that if the script ain't right, the GECK won't save the script. And I have no idea what the problem is, maybe the scripting in the New Vegas GECK is different?

Could someone please help me? Maybe change the script to use it in the New Vegas GECK or find the real solution.

Thanks!
The script won't save in NV geck if it has errors, I would suggest getting the NVGECK power up on Nexus, it adds script checking.



wolf
User avatar
roxxii lenaghan
 
Posts: 3388
Joined: Wed Jul 05, 2006 11:53 am

Post » Fri May 04, 2012 9:59 am

Thanks for this! I'v been wanting to grab a few of the NPC's in this game and make followers out of them. Hopefully with this I can just use the dialog that the NPCS use, with the character model of the NPC I want to make a follower. Great guide too.
User avatar
Maya Maya
 
Posts: 3511
Joined: Wed Jul 05, 2006 7:35 pm

Post » Fri May 04, 2012 5:59 am

I'm having an issue with this tutorial at the moment.

After writing the script for my character. I go to

Actor Data->Quest-->MyCompanionQuest

Now.. on the "Quest Data" tab, I go to "Script" and in the drop-down box, my script doesn't appear here. However, if I click on the button next to it that has "...", I can browse and open my script. However, this does nothing and I still can't input the script.

Can anyone clear up what i'm supposed to do here?
EDIT: nevermind. randomly showed up :)
User avatar
Cheryl Rice
 
Posts: 3412
Joined: Sat Aug 11, 2007 7:44 am

Post » Fri May 04, 2012 6:27 am

I'm having an issue with this tutorial at the moment.

After writing the script for my character. I go to

Actor Data->Quest-->MyCompanionQuest

Now.. on the "Quest Data" tab, I go to "Script" and in the drop-down box, my script doesn't appear here. However, if I click on the button next to it that has "...", I can browse and open my script. However, this does nothing and I still can't input the script.

Can anyone clear up what i'm supposed to do here?

I'm assuming you are talking about the script where the variables for hiring, firing, etc are declared and where you will put the bit of scripting that controls the healing after combat, etc for your NPC? You will want that to be an Object Script that is attached to the NPC himself. That is done by first going back to the script and in the dropdown box on the top right change it to an Object Script. Then go to your NPC, (Actors > NPC > Your NPC) and where you see Script and the dropdown choose your script. Now it's attached to your NPC.

:) llama
User avatar
sara OMAR
 
Posts: 3451
Joined: Wed Jul 05, 2006 11:18 pm

Post » Fri May 04, 2012 10:24 am

I'm assuming you are talking about the script where the variables for hiring, firing, etc are declared and where you will put the bit of scripting that controls the healing after combat, etc for your NPC? You will want that to be an Object Script that is attached to the NPC himself. That is done by first going back to the script and in the dropdown box on the top right change it to an Object Script. Then go to your NPC, (Actors > NPC > Your NPC) and where you see Script and the dropdown choose your script. Now it's attached to your NPC.

:) llama


That's actually the complete opposite of what I asked. And I already said I figured it out anyways. Now my NPC just isn't appearing in Canterbury commons. And talking to NPCs gives me a GREETING option which does nothing.
User avatar
dell
 
Posts: 3452
Joined: Sat Mar 24, 2007 2:58 am

Post » Fri May 04, 2012 6:10 am

That's actually the complete opposite of what I asked. And I already said I figured it out anyways. Now my NPC just isn't appearing in Canterbury commons. And talking to NPCs gives me a GREETING option which does nothing.

Wow. If you are going to be so rude I'm not sure I'm interested in helping you much.

I didn't answer the "complete opposite" of what you wrote. Your weren't clear about what was going wrong since you don't really know what you're doing. Also, I bothered to answer you before you said you had solved it yourself "anyways."

There are many, many reasons why you might be having the problems you are experiencing. If you care to explain further I might be able to help you.
User avatar
A Boy called Marilyn
 
Posts: 3391
Joined: Sat May 26, 2007 7:17 am

Post » Fri May 04, 2012 12:05 am

2 things that I know of can cause this.

One is, the script needs to be opened up and have the dropdown thing on the top be set to "Quest" instead of "Object". Object is default for scripts.

The other one is, if you have a quest window open, and while it is open you create a new script and save it, you have to okay-out of the quest, and then re-open the quest, for the script to become available in the quest's dropdown thingie.
User avatar
lolli
 
Posts: 3485
Joined: Mon Jan 01, 2007 10:42 am

Post » Fri May 04, 2012 5:56 am

I am new to using the geck and after putting the Result Script (End) I keep getting this error:

Error SCRIPTS: Script 'DefaultCompiler', line 1: Unknown variable or function 'Status'.

What am I missing?
User avatar
Add Meeh
 
Posts: 3326
Joined: Sat Jan 06, 2007 8:09 am

Post » Fri May 04, 2012 3:47 am

GECK - Companion Tutorial
By FoxtrotZulu
----------------
thank you ...thank you.....am just starting with the geck
Hello, I am Foxtrot and I have written this tutorial in the hope of teaching you a few useful GECK techniques, as well as explaining many features of the GECK. In this tutorial, we will use learn about AI Packages, Quests/Dialogue and a tiny bit of scripting, and use use them to create our own basic companion who follows, waits, returns home and lets us fiddle with their inventory. This is actually a lot more simpler to do than it looks - but I have taken care to explain each thing carefully but directly. If you have any questions, comments or whatever, please post them in this thread and I'll try my best to help you out. Good luck!

Step 1 - Creating Our Companion

First of all, you'll need to create your companion as an NPC. If you don't know how to create a new NPC, then here's how to do it - navigate to the "NPC" subcategory of the "Actors" category in the Object Window, and right-click anywhere in the many rows of NPCs. Hit "New" and the NPC Editor window will appear. From there, we will fill in the information for our NPCs. Take good care when choosing their AI Data, it ultimately decides how they fight. If they are a coward, they will leg it during combat. If they are foolhardy, they'll fight alongside you to the death. If they are unaggressive, they'll only start fighting when someone else attacks them. If they are aggressive, they will attack enemies on sight. Make sure you right-click and select "Add" on the "Factions" tab and add "PlayerFaction", so your companion will fight alongside you. You can look up in the ins and outs of NPCs http://geck.gamesas.com/index.php/NPC. Also note that you should be consistent when naming objects that you will create later in this tutorial. Always mark your objects' EditorIDs with something unique, such as "MyCompanion". This means that we can later use the filter tool to search for objects containing "MyCompanion", and list all the objects associated with this mod. So, since my companion will be called "Old Andy", I will give this NPC the EditorID "MyCompanionOldAndy".

Step 2 - Setting Up The Dialogue
Now that we have our actual NPC created, we can add dialogue to him. In Fallout 3, Oblivion and I assume Morrowind, dialogue and most general speech is handled via quests. Navigate to the "Quest" subcategory of the "Actor Data" category in the Object Window, and as before, right-click and select "New". The Quest Editor window appears. For now, just enter a name (My Companion Dialogue, or something), an EditorID (MyCompanionQuest), set priority to about 70, check the "Start Game Enabled" box and then hit "OK". Now, reopen the quest and it has been "activated", and you can now edit it properly. Since this quest will be setting variables that will be needed to take effect as soon as possible after being activated, we need to set the "Script Processing Delay" to at most "1.0000". This is how quickly scripts within that quest will take effect. By default it is 5.0000, and we do not want to have to wait 5 seconds for our companion to begin following us after telling them to.

Now move on to the "Topics" tab. Bestow, this where we will add the dialogue commands to control our companion. This is where you need to start thinking about which features you would like your companion to have. For this tutorial, let's give our companion four simple commands: "Follow me.", "Wait here.", "Go home." and "Let me access your inventory." Alright, so to start, right-click in the blank table on the left side of the window and select "Add Topic". Right-click again, anywhere on the list, and select "New". In here type an EditorID that's easy recognize for what it is. This topic will have the "Follow me." command, so I will put "MyCompanionFollow". Once it is created, highlight it and hit "OK". Now, everything apart from the list of topics (1 topic at the moment, actually), is an interface for editing your currently highlighted topic. So, highlight "MyCompanionFollow" (or obviously whatever you named it). Now, where you see "Topic Text", there is a input box next to it. This is not the EditorID, it's what the player will say ingame. So I will change it to "Follow me." It could be anything you like, "Follow me, man.", "Stay close to me." It's up to you.

Now, under "Info", right-click and select "New". You are now creating a new response. This is what a NPC will respond with if you bring up your topic. I will put, "Sure thing." Once again, it could be anything. "Okay.", "Yeah, let's get going.", "Right behind ya." Whatever. Now we must select a "response" to edit, and since the only one available is the one we just created, then we'll just select that. Click it once to highlight it. First of all, check the "Goodbye" and "Top-level" boxes. "Goodbye" means that when the response is finished being said, you will exit the dialogue menu and resume game (used throughout the main game on "I have to go now.") "Top-level" means that this topic is always available to discuss (as long as there is at least one response that meets it's own conditions, we'll learn more on that later). Now for conditions. Right-click, and select "New" in the conditions box. By default, the condition function is set as "GetIsID". This is just what we need. "GetIsID" checks if the person who is responding is who it should be. Hit the "Function Parameters" box, which by default says "INVALID" on it, and scroll down to our companion NPC. For me, it's "MyCompanionOldAndy". Once selected, hit "OK". Now with this function and most functions, 0 = false and 1 = true. So we will check if it IS Old Andy, by checking if it is true that the ID of the talking actor is "MyCompanionOldAndy". Or, more simply, "GetIsID MyCompanionOldAndy == 1".

What we have just done, to clarify, is made sure that this topic can only discussed with "MyCompanionOldAndy". But it doesn't always work like that. Let's just take a minute to learn something about dialogue. Let's say, for example, we have one topic. The player asks in this topic, "Who are you?" Now, we create four seperate responses to the same topic, and use a different condition for each of the first three: "GetIsID Johnny == 1" for the first, "GetIsID Samuel == 1" for the second and "GetIsID Rob == 1". There are no conditions to the fourth response. The first response would read something like, "Hello, I'm Johnny." The second, "Hello, I'm Samuel.", The third, "Hello, I'm Rob." And the fourth, "Hello, I'm not Johnny, Samuel or Rob." Simply put, GetIsID is used to make specific responses for specific NPCs only.

But back to our companion. So, we can only discuss the topic "MyCompanionFollow" with NPC "MyCompanionOldAndy". That's exactly what we want, because the other default followers (Jericho, Fawkes, etc.) have there own seperate topics. Here's an image of what their dialogue looks like: http://img37.imageshack.us/img37/1561/followers.png. We could simply add our new followers' responses to this quest, but it's best to keep everything in your mod seperate from vanilla resources (if you can), for compatibility reasons. Note that where is says "Speaker NPC", that's the NPC they called "GetIsID" on. Now, do the same as what we just did to create that topic to create the other dialogue commands. Let's create three new topics - "MyCompanionWait", "MyCompanionFire", "MyCompanionInventory", and just like before, fill in everything.

Now, go to create a new topic as normal, but instead of making a new one, just add one that is already there. It is called "GREETING". This topic is hardcoded so that the responses to it are said at the beginning of a conversation with someone or something. There is no need to change the topic text, as you won't see it in game, but create a response for your companion. I will put, "What shall we do now?" Use the GetIsID condition to make sure it's only your companions' greeting and don't tick goodbye (we don't want to exit the conversation after he just greeted me). After doing this, a conversation with my companion would be something like the following:


What shall we do now?								  - Wait here.									   Affirmative.								  - You're fired.									   See you around.								  - Follow me.									   Okay then.								  - Let me access your inventory.									   Right behind ya.

Step 3 - Packagin' It Up
Now, we have our NPC, and the dialogue is semi-done. There's only a little more conditionalizing and a few lines of script to add to the dialogue, but first, we must design AI Packages for our companion. AI Packages may sound like advanced things, but they are actually rather simple. They are simply tell an actor what they should be doing (actors are NPCs, creatures and talking activators, by the way). So, an actor with no AI Packages would just stand there. There are three packages we need for this tutorial - a follow package, a guard package, and a sandbox package.

3a) Follow Package
It's prety self-explanatory, a follow package tells the actor it is attached to to follow a certain actor. So let's create one that tells our new companion to follow the player. Navigate to the "Package" subcategory of the "Actor Data" category of the Object Window. Right-click and select "New". Now we have the Package Editor displayed. For the EditorID, call it something like: "MyCompanionFollowPackage". As aforementioned, it just makes it easier to know what you made and what gamesas made. On "Package Type", select "Follow". Under "Follow Target", hit "Specific Reference". Cell can be anything, 'cause the player, who we want to be followed, is detected as being in all cells. So, it doesn't matter what cell you select, just change "Ref" to "PlayerRef ('Player')". Uncheck "Start Location" and "End Location", because this companion isn't a temporary follower. Then change "Follow Distance" to how far you want your companion to follow you from. 300 is usually a good distance.

Now move onto "Flags". Everything here is quite (quite being the word) self-explanatory. Make sure you check "Continue During Combat", so your companion runs from a battle when you do. "Allow Swimming" and "Allow Falls" are also a few you might want to think about. You can head to the GECK Wiki - Packages and scroll down to see what each flag does. I'm going to keep it simple and check the "Allow Swimming", "Allow Falls" and "Continue During Combat". That is all that needs to be done for now, so close the package (and save it, if it wasn't obvious).

3b) Guard Package
This package will actually be used to make our NPC wait (or "guard" their current location). Obviously, change "Package Type" to "Guard". At the moment, we don't have an instance (copy) of our companion actually physically in a cell. So, just leave the "Reference to Guard" box. Change "Guard Location" to "Near current location" and set the radius to around the 100 mark (or 0, if you want them to stand completely still). Move onto flags and do as before. I have selected "Allow Swimming", "Allow Falls", "Continue During Combat" and "Weapon Drawn". That package is done, let's move on.

3c) SandBox Package
A sandbox package could also be called a "do whatever you want" package. Whilst this package is running, the reference will just wander around, eating, sleeping, talking - normal stuff. The great thing about this being a package, though, is that you can set a location for the reference to sandbox in. This package will tell your companion to go to wherever their "home" is, and then "sandbox" within a specified radius. I want Old Andy's home to be Canterbury Commons, so I will set his wander location to "Near Reference", then set the cell to "CanterburyNE" and the ref to "CCDinerMarker (XMarker)". Don't overthink things here. I've just selected a generic marker (there are thousands of them, they are XMarkers and XMarkerHeadings) in an exterior cell for my companion to sandbox around. I want Old Andy to sandbox through a majourity of the town, so I've set the radius to 800. As usual, move onto the flags and select your preferences. I selected "Allow Swimming", "Allow Falls" and "Weapons Unequipped".

Finally, open up your companion NPC, head to the packages tab, and add these three packages to him/her.


Step 4 - Final Conditonalization

Now, we have the packages and we have the dialogue - now we need to link them together. Here is how to do that. On your toolbar, you should see a small pencil icon. Hit it and the Script Editor will appear. Hit "Script" and then hit "New". Then instert the following script and hit save:

ScriptName MyCompanionQuestScript							   							   short Status	;1 = following, 2 = waiting, 3 = sandboxing							   short DoOnce							   							   begin GameMode								   if (DoOnce != 1)									   set Status to 3									   set DoOnce to 1								   endif							   end

Let's explain this script.
Line 1: The command "ScriptName" determines that the script's EditorID is. I decided to put MyCompanionQuestScript.
Line 3: The command "short" declares a variable a name you specify - I made a variable called Status. It has no value at the moment, but we will make the "1 = following, 2 = waiting, 3 = sandboxing" actually work later. Also note the semicolon - anything after that is not read as script, just a comment. I put it there as a reminder for the future.
Line 4: Declaring a variable called DoOnce.
Line 6: This command tells this script to "begin" during "GameMode" (normal gameplay).
Line 7: Asks if DoOnce DOES NOT (!=) equal 1.
Line 8: If DoOnce does not equal 1, set Status to 3. This will make our companion sandbox in their "home" by default.
Line 9: Sets DoOnce to 1, so that our companion won't be set to sandbox by this script anymore. Otherwise, Status would keep getting set to 3.
Line 10: Ends the IF question that began on line 7.
Line 11: Declares the end of the block that began on Line 6.


Once saved, open up your quest (that we setted up the dialogue in earlier) and next to "script" and select your script.
Now we are ready to conditionalize our packages and dialogue - and link them together.
Let's do it.

Open up your Follow Package. Hit the "Conditions" tab. In "Condition Function", find "GetQuestVariable". Hit the parameters button (should say "INVALID, UNKNOWN") and change the quest to your quest. Set the variable to "Status". Press okay.
So, 1 = following, 2 = waiting, 3 = sandboxing.
We only want this package to run, and to be followed, when "Status == 1". So set the "Comparison" to "==" and set the "Value" to 1.
That's it - this package will only run when "Status" from your quest is equal to 1.
Right-click on your "condition" that you just made and hit "Copy Condition".

Open up your other packages, hit "Conditions", paste the condition you copied and change the "1" in the condition to whatever applies (you can edit the condition by double-clicking it).
So, 2 on the wait package.
And 3 on the sandbox package.

Let's clarify quickly: by now, the "Follow" package should only run when the "Status" variable from your quest is equal to 1. The "Guard" (wait) package should only run when the "Status" variable from your quest is equal to 2. The "Sandbox" package should only run when the "Status" variable from your quest is equal to 3.

Now, open up your quest, head to "Topics". For your "Follow" topic, paste in the Condition you copied from the first package. It should appear below or above the "GetIsID" condition you implemented very early on. Double-click it to edit it. Change the comparison to "!=" (does not equal) then set the "Value" to 1. So basically, you can only tell your companion to follow you if Status does not equal 1 (if your companion is not following you). Do this for the other topics (besides GREETING and the Inventory one), with the appropriate "Value" for each one. So you can't ask your companion to wait whilst they are waiting and so you can't fire your companion whilst they are fired.

Now find the cell you want your companion to start in (Canterbury Commons for me) and actually place a copy of your companion in the cell. Make sure he's on ground level so he doesn't fall and die upon loading. Double-click him in the cell, and next to "Reference Editor ID" type "MyCompanionRef". You can put whatever, based on your NPC. "JohnCompanionRef", "OsbourneRef", whatever. I put "OldAndyRef".

Lastly, open up your "Wait" (guard) package and set the reference to your just-placed NPC. So, I would put "CanterburyNW" for cell and "OldAndyRef" for ref(erence). If "Guard Radius" resets itself, reset it to something around 500.

Part 5 - Just A Few More Lines of Script
Your companion "system" is all set up. Your companion will follow you if MyCompanionQuest.Status == 1, wait if MyCompanionQuest.Status == 2 and return home and sandbox if MyCompanionQuest.Status == 3.
Now we just need to add some final script to the dialogue topics we created earlier. The basic idea is that our "dialogue commands" will set these variables appropriately.
So, we'll script it, for example, so that when we say "Follow me.", MyCompanionQuest.Status is set to 1. It's actually extremely simple.

Open up your quest if you don't already have it up. Enter the "Topics" tab and select your "Follow" topic. At the bottom of the Quest Editor window, you should see two boxes - "Result Script (Begin)" and "Result Script (End)".
In each box you can put a script that will run at the beginning of the response or at the end (obviously depending on which box you put the script into).
In the "Result Script (End)" box, paste the following script:


set MyCompanionQuest.Status to 1							 OldAndyRef.evp

Note: Change "MyCompanionQuest" with the EditorID of your quest, and "OldAndyRef" with the "Reference Editor ID" of your NPC.
What does this do? At the end of the response, it sets the "Status" variable to "1".
The second line tells "OldAndyRef" to "evp" (evaluate packages).
EVP causes him to immediately check the conditions of all his packages to see which one he should be doing.
Usually it checks itself every 15 seconds, but we want our companion to do as told "immediately".
Copy-paste the script to the "Wait" topic and the "Fired" topic, changing what the variable is set to as appropriate.
Remember; 1 = following, 2 = waiting, 3 = sandboxing.

So for the "Wait" topic, the "Result Script (End)" should be:

set MyCompanionQuest.Status to 2						 OldAndyRef.evp
And for the "Fired" topic, should be:
set MyCompanionQuest.Status to 3						 OldAndyRef.evp

Finally, select your "Inventory" topic and for the End Script, put:
OpenTeammateContainer 1
That will open your companion's inventory, and allow you to give or take items without consequence.

You are done. You have created your own basic follower using dialogue, packages and some scripting.
Good luck in the future, I hope you learned something useful!

- FoxtrotZulu

User avatar
Daramis McGee
 
Posts: 3378
Joined: Mon Sep 03, 2007 10:47 am

Post » Fri May 04, 2012 4:56 am

-Snip-

Nevermind. Seems that the tutorial is in error.

Should Foxtrot read this comment.

He needs to change it so that it says when the person places the NPC they NEED to have it become a persistent reference.


Also another error I found was that it should say the script for the quest needs to be changed from an object script to a quest script in order for it to appear in the list.


I hope this helps.
User avatar
STEVI INQUE
 
Posts: 3441
Joined: Thu Nov 02, 2006 8:19 pm

Post » Fri May 04, 2012 6:35 am

Please note that

set QuestID.status to 1 and ActorRef.evp cannot be on the same line

so

-Example-set QuestID.status to 1                                             ActorRef.evp

it must be like this to run, or else the NPC will continue to run the Sandbox Package.

P.S. This Tutorial needs to be pinned or atleast have a link mentioned in a pinned subject.
User avatar
ashleigh bryden
 
Posts: 3446
Joined: Thu Jun 29, 2006 5:43 am

Post » Fri May 04, 2012 8:18 am

Please note that

set QuestID.status to 1 and ActorRef.evp cannot be on the same line

so
-Example-

set QuestID.status to 1
[indent][indent] [indent][indent][indent] ActorRef.evp[/indent][/indent][/indent][/indent][/indent]

it must be like this to run, or else the NPC will continue to run the Sandbox Package.

P.S. This Tutorial needs to be pinned or atleast have a link mentioned in a pinned subject.

Every time I put the ActorRef.evp on the next line I get a script error!
Can't get my companion to follow or wait! And can not fire her! Some of the dialog comes up and can get into her inventory but that's it!

Not sure what went wrong or where! :ermm:
User avatar
Josh Lozier
 
Posts: 3490
Joined: Tue Nov 27, 2007 5:20 pm

Post » Fri May 04, 2012 7:44 am

Every time I put the ActorRef.evp on the next line I get a script error!
Can't get my companion to follow or wait! And can not fire her! Some of the dialog comes up and can get into her inventory but that's it!

Not sure what went wrong or where! :ermm:

For me it had to do with that, line.

you can also make it to where its like the following

set QuestID.Status to 1ActorRef.evp 
User avatar
Floor Punch
 
Posts: 3568
Joined: Tue May 29, 2007 7:18 am

Post » Fri May 04, 2012 9:28 am

I'm such a maroon! lol Was checking out everything again And come across a error that I had overlooked.
It seams that the reason that putting the actorRef.evp on the next line was giving me an error was because I had it as actor.evp.
So now my companion follows me but still have no fired, wait or follow!
User avatar
Terry
 
Posts: 3368
Joined: Mon Jul 09, 2007 1:21 am

Post » Fri May 04, 2012 2:02 am

I'm such a maroon! lol Was checking out everything again And come across a error that I had overlooked.
It seams that the reason that putting the actorRef.evp on the next line was giving me an error was because I had it as actor.evp.
So now my companion follows me but still have no fired, wait or follow!

Good to hear.
User avatar
Veronica Martinez
 
Posts: 3498
Joined: Tue Jun 20, 2006 9:43 am

Post » Fri May 04, 2012 12:54 pm

That's actually the complete opposite of what I asked. And I already said I figured it out anyways. Now my NPC just isn't appearing in Canterbury commons. And talking to NPCs gives me a GREETING option which does nothing.


@ninjafish

I do believe you owe llamaRCA an apology, she was just trying to help you :verymad:


Glad to see this tut hasen't been lost :biggrin:


wolf
User avatar
yermom
 
Posts: 3323
Joined: Mon Oct 15, 2007 12:56 pm

Post » Fri May 04, 2012 3:21 am

hi
i have folod this tutorial i have my companion folwing me but when i leave town my companion does not follow me but returns to the player home
User avatar
e.Double
 
Posts: 3318
Joined: Tue Jul 24, 2007 11:17 pm

Post » Fri May 04, 2012 10:33 am

Im sry but wtf does this mean how the [censored] am i supposde to do that type everything or what please esxplain WAY MORE DETAILs in that part it makes no sence at all you cant copy it or anything so what the [censored]



short Status ;1 = following, 2 = waiting, 3 = sandboxing
short DoOnce

begin GameMode
if (DoOnce != 1)
set Status to 3
set DoOnce to 1
endif
end
User avatar
megan gleeson
 
Posts: 3493
Joined: Wed Feb 07, 2007 2:01 pm

Post » Fri May 04, 2012 7:37 am

PLZ [censored] TELL ME WHAT THE HELL THIS MEANS IT MAKES NNNNNOOOOOO SENCE AT ALL I THOUGH IT WAS ALREADY [censored] TOGETHER




Step 4 - Final Conditonalization
Now, we have the packages and we have the dialogue - now we need to link them together. Here is how to do that. On your toolbar, you should see a small pencil icon. Hit it and the Script Editor will appear. Hit "Script" and then hit "New". Then instert the following script and hit save:

ScriptName MyCompanionQuestScript

short Status ;1 = following, 2 = waiting, 3 = sandboxing
short DoOnce

begin GameMode
if (DoOnce != 1)
set Status to 3
set DoOnce to 1
endif
end
User avatar
Jessica Raven
 
Posts: 3409
Joined: Thu Dec 21, 2006 4:33 am

Post » Fri May 04, 2012 1:06 pm

Open up your quest if you don't already have it up. Enter the "Topics" tab and select your "Follow" topic. At the bottom of the Quest Editor window, you should see two boxes - "Result Script (Begin)" and "Result Script (End)".
In each box you can put a script that will run at the beginning of the response or at the end (obviously depending on which box you put the script into).
In the "Result Script (End)" box, paste the following script:[/color]

set MyCompanionQuest.Status to 1							 OldAndyRef.evp

Note: Change "MyCompanionQuest" with the EditorID of your quest, and "OldAndyRef" with the "Reference Editor ID" of your NPC.
What does this do? At the end of the response, it sets the "Status" variable to "1".
The second line tells "OldAndyRef" to "evp" (evaluate packages).
EVP causes him to immediately check the conditions of all his packages to see which one he should be doing.
Usually it checks itself every 15 seconds, but we want our companion to do as told "immediately".
Copy-paste the script to the "Wait" topic and the "Fired" topic, changing what the variable is set to as appropriate.
Remember; 1 = following, 2 = waiting, 3 = sandboxing.

So for the "Wait" topic, the "Result Script (End)" should be:

set MyCompanionQuest.Status to 2						 OldAndyRef.evp
And for the "Fired" topic, should be:
set MyCompanionQuest.Status to 3						 OldAndyRef.evp

Finally, select your "Inventory" topic and for the End Script, put:
OpenTeammateContainer 1
That will open your companion's inventory, and allow you to give or take items without consequence.

You are done. You have created your own basic follower using dialogue, packages and some scripting.
Good luck in the future, I hope you learned something useful!

- FoxtrotZulu



This doesn't work for me any ideas?? if i enter it it says invalid line 1/2 or somthing like that...?? help!!
User avatar
Ross
 
Posts: 3384
Joined: Thu Aug 10, 2006 7:22 pm

Post » Fri May 04, 2012 2:31 pm

What are you entering and where are you entering it?
User avatar
Sammykins
 
Posts: 3330
Joined: Fri Jun 23, 2006 10:48 am

Post » Fri May 04, 2012 1:17 pm

I'm trying to give Clover a double-barreled shotgun with unlimited ammo. Since she already has a sawed-off shotgun with unlimited ammo, and her inventory shows the "AmmoShotgunShellRobot" which gives unlimited shotgun shells, I thought that she'd automatically be able to use it, but she still uses ammo (and switches to another weapon when her shells deplete). What item do I need to put in her inventory to let her use a double-barreled shotgun without needing ammo? Thanks!
User avatar
Beat freak
 
Posts: 3403
Joined: Thu Dec 14, 2006 6:04 am

PreviousNext

Return to Fallout 3