NPC Companion Perks

There is an undocumented feature in F:NV that some modders may find useful. It is the ability to give perks to companions. Or, more accurately, it is the ability to add perks to a special list on the player that will have an effect on any active followers. Here’s how it works:

player.addperk XXXXXXXXXXXXX 1

The “1” means “put this on the special list for companions”. Companions will still not store/keep perks, but we give the player a second list of non-displayed perks that only apply to companions. If you want the effect to apply to all companions, you do not need to conditionalize the perk owner conditions for the perk’s entry points. If you want the perk to be special for the companion, check the NPC’s ID or ref in the perk owner conditions.

I recommend making special companion versions of perks even if you want to use existing effects. E.g. if you want to give Raul the equivalent of Shotgun Surgeon for some reason, make a special “RaulShotgunSurgeonPerk” that’s filtered just to him, and add it to the player with player.addperk RaulShotgunSurgeonPerk 1 the first time Raul is hired. Even if Raul leaves the party, you shouldn’t have to worry about the perk hanging out on the player as long as the perk owner conditions are filtered properly.

N.B.: The effects will ONLY work while a companion is in the party. So in the above scenario, Raul would no longer have the benefits of RaulShotgunSurgeon if he left the party.

Posted in Fallout New Vegas, Game Modding | Comments Off on NPC Companion Perks

Interesting Companion Script Ideas…

Common Companion Variables to Define:

short HasBeenHired
short WeaponOut
short CombatStyleRanged
short CombatStyleMelee
short IsFollowingDefault
short IsFollowingshort
short IsFollowingLong
short FollowerSwitchAggressive
short Waiting
short DoOnce
short bLoadedOnce;
short bTalking;
short bshortercomConversationActive;

On load, bump up sneak value:

Begin OnLoad
; set up base stats
if (bLoadedOnce == 0)
SetActorValue sneak 100;
set bLoadedOnce to 1;
evp

endif

end

Add to above to make sure we set the right combat style on loading.

;Script to make sure we set the right combat style on loading.
If (CombatStyleRanged == 1)
SunnyREF.SetCombatStyle FollowersCombatStyleRanged;
Else
SunnyREF.SetCombatStyle FollowersCombatStyleMelee;
EndIf

Refresh when combat over:

BEGIN OnCombatEND

if ( GetPlayerTeammate == 1 )
resethealth
restoreav perceptioncondition 100
restoreav endurancecondition 100
restoreav leftattackcondition 100
restoreav leftmobilitycondition 100
restoreav rightattackcondition 100
restoreav rightmobilitycondition 100
endif
END
Posted in Fallout New Vegas, Game Modding | Comments Off on Interesting Companion Script Ideas…

How to make a teleporter

The first step in this tutorial is placing your teleportation marker into the game, and naming the reference. Let’s put it in the Megaton player house, or the Tenpenny tower house, depending upon which you use. First, type Marker into the “Filter” tab in the top-left of the Object Menu tab, and select “Static” in World Objects. Near, or at the bottom you should find XMarkerHeading. Place one of these in your house, either Tenpenny or Megaton, double click it in the Cell-View window, and name it AA01TeleporterMarker.

The next step is to make the script for the item for marking your teleporter, and the item for moving to your teleportation marker. First, let’s deal with the teleporter marker. The script for this should be:

SCN AATeleporterMarkerSCRIPT

Begin OnUnequip (As with personal experience, Begin OnEquip did not work)
  AA01TeleporterMarker.MoveTo Player
end

This makes the previously placed marker move to your current location, and when you do the next script, makes it to where you move to that location. The script for the teleportation itself is just as simple. Basically, the same thing except different order, but makes all the difference. The script is:
SCN AATeleportationSCRIPT

Begin OnUnequip (As with above, OnEquip did not work for me)
  Player.MoveTo AA01TeleporterMarker
End

As for the items themselves, if you did not want to use a BSA unpacker, then copy an armor object (such as the slave collar, though you will have to make sure and check “Playable”) per item (You will need two), and change the object ID of the item, say from SlaveCollar to AATeleporterMarker01, for your marker, and SlaveCollar to AATeleporter01 for your actual teleporter. NOTE: If you do not want to screw up a part of the game itself, when you click OK after changing the ID, and the thing says “…Do you want to change the form” or something like that, click Yes. If you click No, you will be changing that item itself. Though, before you click OK, choose which script you wish to belong to that item, the Teleporter Marking script or the Teleportation script. An extra note is that I suggest you get rid of the Biped Object, by clicking edit on it itself, and clicking the edit in the window that pops up. I suggest this as that way you would not have a certain object (Like a collar) that needs to be stuck to a certain equip type, and you can, say, set something to nosering, unused01, or some other virtually unused slot in Equip Type.

For those who use the BSA unpackers, you can put, say, a sensor module for the Teleporter Object’s World Object, and a Stealth Boy model for the Marker.

Once you have followed through these instructions, you will, if by no fault of my explanation or by your following the explanation, be able to teleport wherever you want, from wherever you want, whenever you unequip the Teleportation Item, after moving the marker to wherever you want.

P.S. This same script can be applied to an infinite amount of teleporters, so you could have 1,000,000 teleporters in the game if you wanted.

Reference: http://wiki.tesnexus.com/index.php/How_to_make_a_teleporter

 

Posted in Fallout New Vegas, Game Modding | Comments Off on How to make a teleporter

NPC Start Conversation

SCN NPCCaveTriggerSCRIPT

short  doonce

BEGIN OnTriggerEnter Player ; this is so it will only trigger for the player, no other NPCs

NPCref.Startconversation player, dialogtopicname
set doonce to 1 ; so it doesnt' happen every time you trigger, only the first time

END

See reference http://geck.bethsoft.com/index.php/StartConversation

Note, reported by poster that NPC seems to always be in combat and always uses “Greeting.”

Posted in Fallout New Vegas, Game Modding | Comments Off on NPC Start Conversation

ShareC and VideoServer

The new 4GB disk just refuses to stay mounted on VideoServer. Since we were having space issues with ShareC backups I decided to swap backup disks. ShareC now has the new 4GB disk and I am manually doing rsync backup. I had previously copied the old backups to it.

The next step is to copy video server backups to the 3GB disk form ShareC.

Posted in Backups, LiM | Comments Off on ShareC and VideoServer

Repair Radio Quest Details

Script Attached to Radio Object

scn GoodspringsRadioScript

short bFixed		; 1 = Player has repaired the radio.
short Button

begin OnLoad

	if (VFreeformGoodsprings.bKnowAboutRadio == 0) && (GetDestroyed == 0)
		SetDestroyed 1
	endif

end

begin OnActivate player

	if bFixed
		Activate
	else
		ShowMessage GSBrokenRadioMsg
	endif

end

BEGIN GameMode

		set Button to GetButtonPressed

		if ( Button == 1 )
			set bFixed to 1
			ShowMessage GSFixedRadioMsg
			set VFreeformGoodsprings.bFixedRadio to 1
			RewardXP 10
			Activate
		endif
	endif

END

MESG: GSBrokenRadioMsg

Text:

An examination of the radio's internal components reveals that several parts and connections were popped loose when the radio hit the floor. It should be a fairly simple repair job to get it working again.

[Repair of 20 or greater required.]

Menu Buttons:
0: Leave it alone.
1: Repair the radio.

MESG: GSFixedRadioMsg

Text: 

You fixed the Prospector Saloon's radio.

Display time: 2

Posted in Fallout New Vegas, Game Modding | Comments Off on Repair Radio Quest Details

One-liner to Fix Folder Name Issue

Had a whole bunch of folders named “Video” that should have been “Videos.” Ran this one-liner to fix them up…

 find . -name Video -exec bash -c 'mv "$1" "$1"s' _ {} \; 
Posted in LiM, Scripts | Comments Off on One-liner to Fix Folder Name Issue

TM:Sysadmin Theme Upgrade (Basic Theme)

Had to restore the previously modified files:

  • cp Basic-old/header.php Basic
  • cp Basic-old/footer.php Basic
  • cp Basic-old/style-Red.css Basic
  • cp Basic-old/includes/default.php Basic/includes/
  • cp Basic-old/includes/468×60.php Basic/includes/
Posted in Journal | Comments Off on TM:Sysadmin Theme Upgrade (Basic Theme)

A script to play with later…

#!/bin/bash

# members -- list all members of a group
#
# SYNOPSIS
#   members groupname
#
# http://superuser.com/questions/279891/list-all-members-of-a-group-mac-os-x
#  by Arne
# Expected to work on Mac OS 10.5 and newer, tested on 10.6 and 10.7.
# It could be rewritten to work on 10.4 by using "dseditgroup -o checkmember"
# instead of "dsmemberutil checkmembership".
# By using dseditgroup, the script could also be extended to handle
# other Directory Service nodes than the default local node.
#

the_group="$1"
# Input check and usage
  if [[ $# != 1 || $1 == -* || $1 =~ [[:space:]] ]]; then
    echo "Usage: ${0##*/} groupname" >&2
    echo "Lists all members of the group." >&2
    exit 64
  elif (dsmemberutil checkmembership -U root -G "$the_group" 2>&1 \
    | grep "group .* cannot be found") >&2; then
    exit 1
  fi

# Check every user
exec dscl . -list /Users \
  | while read each_username
  do
    printf "$each_username "
    dsmemberutil checkmembership -U "$each_username" -G "$the_group"
  done \
    | grep "is a member" | cut -d " " -f 1

# eof

Grabbed from http://superuser.com/questions/279891/list-all-members-of-a-group-mac-os-x

Posted in Journal, LiM | Comments Off on A script to play with later…

To Do List

Learning in Motion

  • Software License Audit
  • Off-site Backup
  • Hardware Audit
  • E-mail Audit
  • Website Move
  • Delete bad products from website
  • Fix power cabling in conference room.
  • Add NRPE to transfer, qbserver

Personal

  • Play with Raspberry Pi
  • Cleanup Garage
  • Setup backups for websites and DBs
Posted in Journal | Comments Off on To Do List