Jump to content

trilioth

Supporter
  • Posts

    91
  • Joined

  • Last visited

Posts posted by trilioth

  1. I have used FOOK and WMX together. There are also some compatibility patches for FOOK and WMX. On the WMX files pages under option files you find WMX - Compatibility Grab-Bag 22-03-12. That is where you will find the compatibility patches for FOOK.
  2. is it a possibility the NPCs you fight on the quest are related to them by faction? Or you picked up something like vampireism that causes them to fear you?

     

    I am using a fresh character. I have done nothing with him. I though about setting up another character in case it had something to do with selecting the White Legs race.

     

    I had another look at the wife's Guard Package. I tried unchecking the Warn/Attack Behavior. I also used pointed the wife to an xmarker instead of the husband. Now I am not getting the problem. I am guessing it was the Warn/Attack Behavior.

     

    Edit: I tested it again with the Guard Package pointed at an xmarker and the Warn/Attack behavior enabled. I didn't get attacked. Maybe it was the fact that she was set to guard her husband and I talked to him. Weird. I waited for 24 hours, after talking to him.

     

    Edit Again: I just had to do a thorough testing of this issue. I pointed the Guard Package back to the husband and they attack me after I talk to him.

  3. I am setting up a simple quest where I have one NPC find me and ask me to help her husband. This gets kicked of by an activator being loaded, so it's like she can see me and she runs to ask me for help. She says a few lines and at the end of dialogue a map marker is revealed (in front of Goodsprings Cave, the coyotes are disabled--no worries), and she runs back to guard her husband. This is done with a Guard Package pointed at him.

     

    The husband is setup to use a FloorSitMarker until he is healed. This is accomplished with a Travel Package and a quest variable. (He is still able to get up and attack though. Anyone know how fix that?)

     

    After talking to the husband, the husband and wife start attacking. I have no idea why. Does anyone know what can cause this?

     

    The NPCs are in their own faction and with track crime checked and Ally to their own faction and GoodspringsMilitiaFaction, Neutral with GoodspringsAnimalFaction and GoodspringsBighornerFaction, as well as Friend with NCRFactionNV and GoodspringsFaction. As for AI Data, wife is Unaggressive\Neutral\Cautious, husband is Unaggressive\Pleasant\Cautious.

     

    I am testing this with a level 1 character who just stepped out of the Doc's house. The save is from before I started testing the mod.

  4. I am glad that you were able to see if fly. When it comes to new territory. It helps to take baby steps, by doing little experiments that are not exactly what you want to achieve but help you understand what works. Making small changes and testing are the kind of experiences that lend to figuring out where you went wrong.
  5. I tried several things like changing animation name to Right, tried editing my original script a bit, made vertibird persistant reference (won't appear at all when called) and i do not know what to do at all.

     

    If it would atleast seem like it is doing any animation i could work with it, but it not doing a damned thing is really starting to get on my nerves.

     

    How would a simple script calling for an animation look? Not looking at enabling/disabling or timers or whatever.

    Just seeing it fly will be enough. Maybe than i'll be able to work something out. Now it's just hanging there. Mocking me... Could not resist shooting it everytime i tested...

     

    I will try to aim this at you already having a save a location where you have the vertibird and just enough to make the animation play. I am assuming that you will need a quest script and not an object script and that the object will be enabled. This is merely for testing the animation. The object should not have a script attached to it for this test. If the object has a forward animation this should play it once:

     

    scn SimpleVertibirdFlyoverQuestScript
    
    int DoOnce
    
    Begin GameMode
    
       if DoOnce == 0
           VertibirdREF.PlayGroup Forward 1
           Set DoOnce to 1
       endif
    
    End
    

     

    For a quest script you will want to create a new quest. Set Priority 50. Check the Start Game Enabled option. Hit Ok. Open the new quest. Find you quest script in the script drop down box. Hit Ok.

     

    Also, try using a clean save. That is to: Disable you mod. Run the game. Make a new save. Close the game. Enable your mod. Run the game.

  6. I have no experience setting up a script for animating, so I don't know the ends and outs of this situation.

     

    The first thing I would have tried would have been giving a longer length of time before starting the animation. I also would have been adding to my time variable not subtracting, but that is mere personal preference.

     

    I don't see any errors in the script that DizzasterJuice gave you, although I don't see the reason for stepping through stage 2 and stage 3's conditions. You will need to replace ObjectREF with the name of a persistent reference to use it, specifically the reference id of the object you are animating.

     

    Hmm. Try removing markfordelete. It may be invalid for this purpose. The geck article states "works on actors." I am not sure, but it may not work for persistent references. I have only used that function in object scripts for actors created with PlaceAtMe.

     

    That is the extent at which I can help you without trying to implement the solution myself. If you solve the problem, it would be great if you posted the script for others to see the answer.

     

    Edit: You may have to capitalize Foreward.

  7. Edits: (This is where I will make note of the changes I make to the original post.)


    2/2/2013:

    • [step 1:] On the factions tab right click on the factions list and select new. Select DontTazeMeBroFaction. You may want to create a faction specifically for your new companion. The videos mention adding the player faction. Vanilla companions are not set with the player faction, instead they have other factions, but I have not noticed any problems with using the player faction.
    • [step 3:] Add the New AI Packages to BobComp.
    • [step 4 > FollowersFiredYes: > Result Script (Begin):] BobComp.SetPlayerTeammate 0
    • [step 4 > FollowersFiredYesSuite: > Result Script (Begin):] BobComp.SetPlayerTeammate 0
    • (I checked my mod and I didn't forget to do any of these things, thankfully.)

    2/6/2013:

    • [step 4:] I misspelled the references names in FollwersFiredYes and FollowersFiredYesSuite (see above).
    • [step 4 > FollowersFiredYes: > Result Script (Begin):] BobCompREF.SetPlayerTeammate 0
    • [step 4 > FollowersFiredYesSuite: > Result Script (Begin):] BobCompREF.SetPlayerTeammate 0
    • [step 4 > FollwersTrade: > Result Script (Begin): Didn't need the one after OpenTeammateContainer. Conditions prevent this option if the NPC is not a teammate.

    11/28/2015:

    • [step 2: Create an Object Script and an NPC script. > The Object Script:] Commented out the lines that remove and add the pencil and added the WeaponOut variable. That variable will prevent the need for the pencil trick.
    • [step 3: Create AI Packages > BobCompFollowDefault:] was "Enable Fallow Behavior" where it should have been "Enable Fallout Behavior".

     

     

     

    Other Notes: There are few issues that this tutorial does not address. (They are not necessarily problems.)


    2/2/2013:

    • The tutorial videos mention setting up the NPC in the player faction. The vanilla companions are not done this way, they have their own factions. My companion is set in the player faction. I don't know if this would cause problems or not.
    • When you first meet Victor at the entrance of the Lucky 38, Vanilla companions are set to wait, but Bob will not be set to wait.
    • There appears to be no penalty for entering Penthouse with your companion.
    • The vanilla companions when fired use ResetAI rather than EvaluatePackage in their result scripts. (Is this what causes them to simply disapper? I don't see any moveto funcitons being used. My companion simply walks to the locations set in the AI Packages.)
    • The vanilla companions when fired also have a line for removing a CompanionSuite Perk in their result scripts (example: VeronicaREF.removeperk CompanionSuite)
    • The CompanionSuite Perk is added to vanilla companions when hired.
    • I don't know what would happen if you had the custom companion with you when begining Dead Money.
    • Given my experience with this mod (spoiler warning for mod content), I am assuming that custom companions will have no trouble entering Big MT, Zion or the Divide.
    • Basically nothing is provided by this tutorial to prevent your followers from going into DLC content.
    • As stated, I did not provide the solution for limiting the number of companions you can have.

    2/6/2013:

    • I noticed some code in Boone's Object Script that handles how he gets healed at the end of combat. This tutorial doesn't cover that.
    • I am currently delving into the settings related to vanilla companions to solve the issues listed above.

    11/28/2015:

    • Two Years and 9 months later, I am getting back to this post. That's because I decided to get back into FONV after FO4 came out. (That's right. I don't have it yet. :tongue: Feel free to gift it to me. I'll tell you my steamid if you PM me with the promise. :wink: ) Since I am making a companion mod right now. I am following my own tutorial on making a companion. I wanted a legitimate pack brahmin and didn't want to wait until I got to the strip. You'll be able to purchase it in Novac.
    • Custom Companion Issues is an thread I wrote containing much about setting up a companion to follow the specific rules that vanilla companions follow. It discusses solutions that avoid editing vanilla assets.

     

     

     


    Please feel free to discuss, in general, how different things can be done for custom companions.

  8. Using the GREETING topic in a dialog package is perfectly valid, just like any other topic. As long as a quest with the GREETING topic is running and the conditions for that INFO match the actor and/or other conditions, and the conditions on the quest itself, then it will work.

     

    Thanks.

     

     

    With this topic in mind, I would think it would be something that Cass would say as soon as the conditions are met, but with it being under GREETING. my understanding is that the player would have to start conversation with Cass to hear this.

     

    I take it that all quest topics are only checked by the player initiating conversation, where conversations has to do with NPC to NPC idle chatter. I am I right?

     

     

  9. Like you said, the topic that is attached to the dialog package is empty, so even though it executes there is nothing for it to do. The first line of that OnDeath block where the variable is set presumably replaces the functionality intended by the dialog package. That variable ties into the relevant info record in the GREETING topic of that quest.

     

    Thanks a lot for your help.

  10. This will spoil a plot point:

     

     

    I found the dialog package being added to Cass in an OnDead block of AliceMcLaffertyScript,

     

     

    So far as I can tell, the package will fire under the right circumstances. Are you saying that the dialog package does nothing? I haven't actually experienced the scenario in game, and I don't mind the spoilers.

  11. You didn't say what the editor ID of the package was, you didn't say what the editor ID of the topic was, and there are a lot of topics with priority 50 in quest VDialogueCass. So it's kind of hard to provide additional input. :confused:

     

    It was an attempt not to reveal spoilers as the names are a bit revealing.

    Package: CassAliceDeadDialoguePackage

    Topic: CassCrimsonCaravanDead

     

     

     

    I am just trying to figure out how to do this kind of thing for myself by studying what the developers have done.

  12. You need to set conditions for each topic that you don't want to be displayed. What you are looking for is the conditions list pane. You can set conditions like checking the value of quest script variable.

     

    The "dialog tree" is set up by adding sub topics to the top level topics in the choices list pane. Topics that are choices under top level topics should not have the Top-Level option checked.

     

    Have a look at My Companion Tutorial and see if that helps.

     

    Edit: As for your example script, you would not check reference variables the way you did in the second if statement. If you are looking for a variable that is in the ProctionREF's object script it should look more like: If ProtectronREF.bProtectronHireable == 0.

  13. Trying to familiarize myself with AI Packages, I ran across a Dialog Package. There is a drop down box for selecting a topic. My problem is I can't find this topic.

     

    How would one create a topic for a dialog package?

     

    Are they created inside a quest?

     

    Digging through the Filter Dialog window is a pain. http://forums.nexusmods.com/public/style_emoticons/dark/wallbash.gif I can't seem to find the topic listed anywhere, where I might have a chance to edit it or look at it's settings. It's related to Cass and I have looked through everything I can find on her.

     

    Edit:


    I finally found it the topic. I just overlooked it. It is in the quest VDialogueCass under topics.

     

    What I don't understand is why the the topic doesn't have any data other than priority 50. There is nothing to suggest what Cass would say, if anything, once the Dialog Package fired.

     

    Thanks in advance for any knowledge you might have.

  14. Other than the potential to have your changes overwritten by mods further down in the load order are there any potentially serious repercussions to editing NPCs who are not tied to any quests?

     

    Are there any potential problems with moving actor markers for NPC leveled lists?

     

    I understand that placing NPCs so that they could spawn nearby and possibly kill quest related NPCs would not be a good idea. I am just wondering if moving Actor Markers or Placed NPCs in the GECK could cause any other problems for potential users. One thing I could think of is that a script or some other kind of game setting is specifically searching for a referenced NPC in a particular cell, but that is not the kind of thing I want to do.

     

    Here's an example. Let's say I wanted to move the actor markers that are located in front of the house Hunter's Farm across the road south by southwest or change them so that they no longer respawn.

     

    Let's say I wanted to choose specific locations and make it so that the player could clear the area permanently. What would be would the cleanest way to go about doing that?

     

    I wanted to check with community about this before I dove head first in hours of work only to find out later that my mod is causing people problems. Thanks in advance for any advice, information or tips.

  15. ...I would have thought that we would have seen a player home or something made with the resources I released for the Shady Sands-type architecture by now... :tongue:

    ...

     

    I just haven't gotten around to using it yet. :wink:

  16. FNV Companion Tutorial
    with functioning companion wheel

    Introduction:


    This tutorial is for users that have a decent understanding of using the GECK. This will be a basic guide for creating companions. There is more advanced things that can be done, but my intent is to keep it pretty simple. Nothing in this tutorial relates to custom voices.

    For a visual reference to this guide check out

    on creating companions. I wrote this guide after watching his videos and creating my own companion mod.

    This is not a setup to limit the number of followers you can have. I may write guide for that kind of setup later. As I have not actually tried and tested that kind of setup, I am sticking to the simple version.

    Step 1: Create an NPC and put it in the world.



    On the factions tab right click on the factions list and select new. Select DontTazeMeBroFaction. You may want to create a faction specifically for your new companion. The videos mention adding the player faction. Vanilla companions are not set with the player faction, instead they have other factions, but I have not noticed any problems with using the player faction.


    To make this simpler, I will be referring to the NPC as Bob, his Editor ID will be BobComp, and he will be located in Goodsprings in the WastelandNV worldspace. I will go along using Editor IDs, Reference IDs, Script Names to match with the name of the NPC.

    If you want your companion to have a special weapon that doesn't use ammo, like Boone's Sniper Rifle, you will need to create a new weapon, uncheck the playable option under flags and switch Ammunition to AmmoCompanion. If you do this, be sure to add it and 1 AmmoCompanion to the NPC's inventory.

    When you put the NPC in the world, be sure to give the NPC a Reference ID, such as BobCompREF.

    You will also want to create a home marker for Bob and give this marker a Reference ID, such as BobCompMarker.

    Note: I had trouble creating an "African-American" NPC. The only way I was able to resolve the body skin color not matching the race is by making the file into an esm.


    Step 2: Create an Object Script and an NPC script.



    The Object Script:

     

    scn BobCompScript
    
    int DoOnce
    
    ; These variables will be used in topic conditions.
    int HasBeenHired
    int L38
    
    ; These variables are used by the companion wheel.
    int CombatStyleRanged
    int CombatStyleMelee
    int IsFollowingDefault
    int IsFollowingLong
    int FollowerSwitchAggressive
    int Waiting
    int WeaponOut ; with this variable you won't need to a pencil (commented out below)
    
    Begin GameMode
    if DoOnce == 0
    ; Shouldn't have to set these to zero as they are set to 0 by default
    ; Set HasBeenHired to 0
    ; Set L38 to 0
    Set CombatStyleRanged to 1
    ; Set CombatStyleMelee to 0
    ; Set IsFollowingDefault to 0
    ; Set IsFollowingLong to 0
    ; Set FollowerSwitchAggressive to 0
    ; Set Waiting to 0
    ; don't need use pencil see post linked in the note below
    ; additem Pencil01 1 1
    ; removeitem Pencil01 1 1
    Set DoOnce to 1
    endif
    End

     



    Note: the additem and removeitem functions are there to make sure the NPC doesn't do something like this. I asked for help with this issue here.

    The Quest Script:

    Be sure that you set script type to Quest.
    It is my understanding that the quest requires that you have a script set. The following script doesn't do anything, but set the DoOnce variable to 1. You could however set up some other variables related to topic conditions, but I won't get into that.

     

    scn BobCompQS
    
    int DoOnce
    
    Begin GameMode
    if DoOnce == 0
    set DoOnce to 1
    endif
    End

     

     

     


    Step 3: Create AI Packages



    In the Object Window under Actor Data is a section called Packages. This is where you will need to create the new forms.

    I added some conditions to the AI Packages that the are not shown in the tutorial vidoes. These differences reflect what I see in the vanilla companions.

    You will need five AI Packages for a basic setup.

     

    • BobCompFollowDefault
    • BobCompFollowLong
    • BobCompHome
    • BobCompL38
    • BobCompWait

     


    BobCompFollowDefault:


    Set Package Type to Follow

    Follow Tab:


    Under Follow Target select Specific Reference and chose PlayerRef in Ref box. The cell box doesn't matter.
    Set Follow Distance to 330. This is a typical distance for default, which is basically the "stay close" option.


    Flags Tab:



    Check:

    • Always Run
    • Allow Swimming
    • Allow Falls
    • Continue During Combat

    Optionally you can uncheck Enable Fallout Behavior and chose your desired options. I chose to have only Friendly fire comments and Allow Idle Chatter.

     


    Conditions Tab:



    Create three conditions using the GetScriptVariable Function. The variable checks should be as follows:


    Reference: 'BobCompREF', HasBeenHired == 1 AND
    Reference: 'BobCompREF', Waiting == 0 AND
    Reference: 'BobCompREF', IsFollowingDefault == 1 AND

     

     

     

     

    BobCompFollowLong:


    To make things easier, after closing the first package open it and rename it, changing Default to Long in the Editor ID.

    Follow Tab:

    This can remain the same except change Follow Distance to 500.


    Flags Tab:


    This can remain the same or you can choose to tweak it some.


    Conditions Tab:


    Change the condition pointing to IsFollowingDefault to IsFollowingLong.

     

     

     

    BobCompHome:


    The setup for Home can vary depending on how you want the NPC to act at home, but I chose the following.

    Set Package Type to Sandbox.

    Sandbox Tab:

    Wander Location Dialog:

    Click on the button under Wander Location to bring up a Location Dialog.
    Select the Near Reference Option

    Choose Goodsprings (-18,0) in the Cell drop-down box.
    Choose BobCompMarker in the in the Ref drop-down box.

    This could be done simply using an entire cell by selecting the In Cell option.
    Set Radius for however far you want Companion to move around. I chose 500.

     

     

    Flags Tab:


    I checked the Enable Fallout Behavior option and no other option.


    Conditions Tab:


    Create two conditions using the GetScriptVariable Function.

    Reference, 'BobCompREF', HasBeenHired == 0 AND
    Reference, 'BobCompREF', L38 == 0 AND

     

     

     

     

    BobCompL38:


    Just like BobCompHome except:

    On the Sandbox Tab under Wander Location, choose the In Cell option and select Lucky38SuiteFloor22.
    On the Condtions Tab change the condition for L38 variable to equal 1.

     

     

     

    BobCompWait:


    Package Type: Guard

    Guard Tab:

    Reference to Guard: (I am not sure what effect this has.)

    Cell: Goodsprings (-18,0)
    Ref: BobCompREF


    Check Guard Location:

    Set the Near Current Location in by clicking the button underneath.
    Radius: 500 (Boone's is set to 0. I suppose the radius allows them to wander a bit.)


    Continue in Combat Behavior:

    Select Remain Near Guard Location

     


    Flags Tab:


    Continue During Combat
    Friendly Fire comments
    Allow Idle Chatter


    Conditions Tab:


    Create two conditions using the GetScriptVariable Function.

    Reference, 'BobCompREF', HasBeenHired == 1 AND
    Reference, 'BobCompREF', Waiting == 1 AND

     

     

     

     

     

    Add the New AI Packages to BobComp.

    Step 4: Dialog



    Create a new Quest with an ID such as: BobCompQuest

    Quest Data:

    Priority: 50
    Check Start Game Enabled
    Script Process Delay: Default
    Note: You will have to click OK and then open the quest again, before being able to attach a quest script. If your quest script is set as a quest script, then you will be able to find it.
    Set the Quest Script to BobCompQS


    Quest Topics:


    In the list pane on the left, right click and select Add Topic. Find and add the following topics:

     

    • FollowersFired
    • FollowersFiredNo
    • FollowersFiredYes
    • FollowersFiredYesSuite
    • FollowersHired
    • FollowersLetsGo
    • FollowersTactics
    • FollowersTacticsCombat
    • FollowersTacticsCombatAggressive
    • FollowersTacticsCombatEND
    • FollowersTacticsCombatGOODBYE
    • FollowersTacticsCombatMelee
    • FollowersTacticsCombatPassive
    • FollowersTacticsCombatRanged
    • FollowersTacticsDistance
    • FollowersTacticsDistanceDefault
    • FollowersTacticsDistanceEND
    • FollowersTacticsDistanceGOODBYE
    • FollowersTacticsDistanceLong
    • FollowersTacticsEnd
    • FollowersTrade
    • FollowersWait
    • GREETING

     

     

     

    For a basic setup I simply added one response for the top list pane. Take note of the Conditions list pane, the Choices list pane, the Goodbye checkbox and the Result Script (Begin) box. In the Choices list, the order they show up in the list is the order they will be displayed in dialog.

    Note: Some of the lines I will be showing for the Result Script (Begin) box where not covered in the tutorial videos. I found them by looking through the VNPCFollowers quest. They will be denoted with *** in a comment at the end of each line. There is also a condition for FollowersFiredSuite that was not used in the tutorial videos. This condition checks the VNPCFollowers quest to see if you have gained access to the Lucky 38.

    FollowersFired:

    Response:

    Are you sure about that?

    Conditions:

    GetScriptVariable; Reference: 'BobCompREF', HasBeenHired == 1 AND
    GetIsID; NPC: 'BobCompREF' == 1 AND

    Choices:

    FollowersFiredNo
    FollowersFiredYes
    FollowersFiredYesSuite

     

     

     

    FollowersFiredNo:

    Response:

    Ok.

    Conditions:

    GetIsID; NPC: 'BobCompREF' == 1 AND

    Check Goodbye

     

     

    FollowersFiredYes:

    Response:

    Ok.

    Conditions:

    GetIsID; NPC: 'BobCompREF' == 1 AND

    Check Goodbye

    Result Script (Begin):

    Set BobCompREF.Waiting to 0
    Set BobCompREF.L38 to 0
    Set BobCompREF.HasBeenHired to 0
    BobCompREF.SetPlayerTeammate 0
    BobCompREF.RemoveFromFaction FollowerFaction ; ***
    BobCompREF.EvaluatePackage

     

     

     

    FollowersFiredYesSuite:

    Response:

    Ok.

    Conditions:

    GetScriptVariable; Reference: 'VNPCFollowers', bSuiteAvailable == 1 AND
    GetIsID; NPC: 'BobCompREF' == 1 AND

    Check Goodbye

    Result Script (Begin):

    Set BobCompREF.Waiting to 0
    Set BobCompREF.L38 to 1
    Set BobCompREF.HasBeenHired to 0
    BobCompREF.SetPlayerTeammate 0
    BobCompREF.RemoveFromFaction FollowerFaction ; ***
    BobCompREF.EvaluatePackage

     

     

     

    FollowersHired:

    Response:

    Ok.

    Conditions:

    GetScriptVariable; Reference: 'BobCompREF', HasBeenHired == 0 AND
    GetIsID; NPC: 'BobCompREF' == 1 AND

    Check Goodbye

    Result Script (Begin):

    Set BobCompREF.HasBeenHired to 1
    Set BobCompREF.IsFollowingDefault to 1
    BobCompREF.SetPlayerTeammate 1
    BobCompREF.SetIngoreFriendlyHits 1
    BobCompREF.AddToFaction FollowerFaction 1 ; ***
    BobCompREF.SetFactionRank TeammateFaction 1 ; ***
    BobCompREF.EvaluatePackage

     

     

     

    FollowersLetsGo:

    Response:

    Ok.

    Conditions:

    GetScriptVariable; Reference: 'BobCompREF', Waiting == 1 AND
    GetScriptVariable; Reference: 'BobCompREF', HasBeenHired == 1 AND
    GetIsID; NPC: 'BobCompREF' == 1 AND

    Check Goodbye

    Result Script (Begin):

    Set BobCompREF.Waiting to 0
    BobCompREF.EvaluatePackage

     

     

     

    FollowersTactics:

    Response:

    Ok.

    Conditions:

    GetScriptVariable; Reference: 'BobCompREF', HasBeenHired == 1 AND
    GetIsID; NPC: 'BobCompREF' == 1 AND

    Choices:

    FollowersTacticsCombat
    FollowersTacticsDistance
    FollowersTacticsEnd

     

     

     

    FollowersTacticsCombat:

    Response:

    Ok.

    Conditions:

    GetIsID; NPC: 'BobCompREF' == 1 AND

    Choices:

    FollowersTacticsCombatAggressive
    FollowersTacticsCombatPassive
    FollowersTacticsCombatMelee
    FollowersTacticsCombatRanged
    FollowersTacticsCombatEND
    FollowersTacticsCombatGOODBYE

     

     

     

    FollowersTacticsCombatAggressive:

    Response:

    Ok.

    Conditions:

    GetScriptVariable; Reference: 'BobCompREF', FollowerSwitchAggressive == 0 AND
    GetIsID; NPC: 'BobCompREF' == 1 AND

    Result Script (Begin):

    Set BobCompREF.FollowerSwitchAggressive to 1

     

     

     

    FollowersTacticsCombatEND:

    Response:

    Ok.

    Conditions:

    GetIsID; NPC: 'BobCompREF' == 1 AND

     

     

     

    FollowersTacticsCombatGOODBYE:

    Response:

    Ok.

    Conditions:

    GetIsID; NPC: 'BobCompREF' == 1 AND

    Check Goodbye

     

     

    FollowersTacticsCombatMelee:

    Response:

    Ok.

    Conditions:

    GetScriptVariable; Reference: 'BobCompREF', CombatStyleMelee == 0 AND
    GetIsID; NPC: 'BobCompREF' == 1 AND

    Result Script (Begin):

    BobCompREF.SetCombatStyle FollowersCombatStyleMelee
    Set BobCompREF.CombatStyleRanged to 0
    Set BobCompREF.CombatStyleMelee to 1

     

     

     

    FollowersTacticsCombatPassive:

    Response:

    Ok.

    Conditions:

    GetScriptVariable; Reference: 'BobCompREF', FollowerSwitchAggressive == 1 AND
    GetIsID; NPC: 'BobCompREF' == 1 AND

    Result Script (Begin):

    Set BobCompREF.FollowerSwitchAggressive to 0

     

     

     

    FollowersTacticsCombatRanged:

    Response:

    Ok.

    Conditions:

    GetScriptVariable; Reference: 'BobCompREF', CombatStyleRanged == 0 AND
    GetIsID; NPC: 'BobCompREF' == 1 AND

    Result Script (Begin):

    BobCompREF.SetCombatStyle FollowersCombatStyleRanged
    Set BobCompREF.CombatStyleRanged to 1
    Set BobCompREF.CombatStyleMelee to 0

     

     

     

    FollowersTacticsDistance:

    Response:

    Ok.

    Conditions:

    GetIsID; NPC: 'BobCompREF' == 1 AND

    Choices:

    FollowerTacticsDefault
    FollowerTacticsLong
    FollowerTacticsEND
    FollowerTacticsGOODBYE

     

     

     

    FollowersTacticsDistanceDefault:

    Response:

    Ok.

    Conditions:

    GetScriptVariable; Reference: 'BobCompREF', IsFollowingDefault == 0 AND
    GetIsID; NPC: 'BobCompREF' == 1 AND

    Result Script (Begin):

    Set BobCompREF.IsFollowingLong to 0
    Set BobCompREF.IsFollowingDefault to 1
    BobCompREF.EvaluatePackage

     

     

     

    FollowersTacticsDistanceEND:

    Response:

    Ok.

    Conditions:

    GetIsID; NPC: 'BobCompREF' == 1 AND

     

     

     

    FollowersTacticsDistanceGOODBYE:

    Response:

    Ok.

    Conditions:

    GetIsID; NPC: 'BobCompREF' == 1 AND

    Check Goodbye

     

     

    FollowersTacticsDistanceLong:

    Response:

    Ok.

    Conditions:

    GetScriptVariable; Reference: 'BobCompREF', IsFollowingLong == 0 AND
    GetIsID; NPC: 'BobCompREF' == 1 AND

    Result Script (Begin):

    Set BobCompREF.IsFollowingLong to 1
    Set BobCompREF.IsFollowingDefault to 0
    BobCompREF.EvaluatePackage

     

     

     

    FollowersTacticsEnd:

    Response:

    Ok.

    Conditions:

    GetIsID; NPC: 'BobCompREF' == 1 AND

     

     

     

    FollowersTrade:

    Response:

    Ok.

    Conditions:

    GetScriptVariable; Reference: 'BobCompREF', HasBeenHired == 1 AND
    GetIsID; NPC: 'BobCompREF' == 1 AND

    Check Goodbye

    Result Script (Begin):

    BobCompREF.OpenTeammateContainer

     

     

     

    FollowersWait:

    Response:

    Ok.

    Conditions:

    GetScriptVariable; Reference: 'BobCompREF', HasBeenHired == 1 AND
    GetScriptVariable; Reference: 'BobCompREF', Waiting == 0 AND
    GetIsID; NPC: 'BobCompREF' == 1 AND

    Result Script (Begin):

    Set BobCompREF.Waiting to 1
    BobCompREF.EvaluatePackage

     

     

     

    GREETING:

    Response:

    Hello.

    Conditions:

    GetIsID; NPC: 'BobCompREF' == 1 AND

     

     

     

     

    Afterward:


    I was up all night working on this. Hopefully there are no mistakes. If you notice any discrepancies or anything missing, please let me know.
    The spoiler sections are an attempt to reduce the display length of the post. The formatting is an attempt to make this easy to read and understand.
    I recommend watching the videos mentioned at the beginning of this post. I also provided a link to my mod. It is very similar to this tutorial.
    If you are not familiar with using the GECK, then I please take the time to work through the tutorials provided at the GECK website.

  17. Looks like a common AI bug that occurs when you add an item to an NPC's inventory via a script. You can usually fix it by removing something from their inventory in the same script.

    ...

     

    It's a non-playable special weapon using companion ammo. It was added to the inventory using the GECK.

     

    Thanks for the tip, though. I might just do that to make things look right, but I hope that it would not be necessary.

     

    Edit: I know this is really a minor problem, but I want to make sure that I am doing everything right before I end up having mistakes in released work.

     

    Edit 2: I added those two lines to the NPC's object script in the original DoOnce block and it worked. Thanks again.

  18. I created a custom companion as a learning process and I got everything working right except for this one small detail. The NPC is found holding her rifle in her hand like it's a pistol. After getting her to join me, I can fix this by telling her to switch to melee or by opening her inventory. I guess this has something to do with how I setup the companion. Shouldn't she have the weapon holstered by default? Does anyone know why this happens?

     

    Here is an Image for reference.

  19. You could try out Nevada Skies. I am using the URWLified v7. It has options to make the sky look like Fallout 3. I don't know how well they did with that though. You can turn off all the weather options if you don't want them.

     

    Edit: I had another look at the menu. It seems all it does, for in reference to Fallout 3 is add the green tint.

×
×
  • Create New...