Jump to content

Hemingway308

Members
  • Posts

    36
  • Joined

  • Last visited

Nexus Mods Profile

About Hemingway308

Profile Fields

  • Country
    United States

Hemingway308's Achievements

Apprentice

Apprentice (3/14)

  • First Post
  • Collaborator Rare
  • Week One Done
  • One Month Later
  • One Year In

Recent Badges

0

Reputation

  1. Afraid I don't know of any functions (doubled checked the lists) any functions that return light information. However, I speculate that the engine uses a much simpler technique to calculate actor detection based on facing angle, distance and sneak state/skill (all of which there are functions for), and light is relevant and calculated only to render the current viewport. If you want to know the chance the player will be imminently detected, you could try using GetRefs 200, -1 to grab all actors in the ugrid, and check GetDistance / GetLOS / GetHeadingAngle, etc.
  2. The C++ source code is distributed with NVSE along with an example plugin, and you can also take a look at the source of Lutana/JIP/NX. If you're not from a programming background, I'm afraid this is not a good place to start. -- What functions are you looking for? A lot of things can be achieved using UDFs if you know the existing functions well enough. I wrote most the NVSE articles on GECK wiki, so try me ;).
  3. I added category and function template. The easiest way to add a new function is copy the source text from a similar function and just change the bits that are different. Do you know what the arguments mean?
  4. Either place 1 on top of the other in the GECK, and set the second one to 'initially disabled'. Then just do "RedRef.Disable" / "GreenRef.Enable". Or use: TerminalRef.SetTexturePath "MyTexturePath/Green.dds" TerminalRef.Update3D
  5. int Status array_var Entry int LuckMod Begin _MenuMode 1003 let LuckMod := 15 - 5 * PlayerREF.GetAV "Luck" foreach Entry <- (Ar_Range 32, 45) ; barter -> unarmed code PlayerREF.ModAV *Entry, LuckMod loop let Status := 1 End
  6. So, essentially you want a function to return the 'Count' in GECK. I do not think there is one. Also, some unique NPCs are not unique (There are 3 Bennies and 2 Fantastics) and some generic named ones are. You could: 1) Create a form list "Unique NPCs" or "Non-Unique NPCS" and check actors against it. Simple, but problematic for mod-added NPCs. 2) Create an array with the names of all generic actors ("Wastelander", "Fiend", "NCR Trooper", etc), if the name of an NPC is not in it, assume they are unique. Make sure you get the names from NPCs in game rather than typing them in, if you want compatability with other language games. let Generic_Names := Ar_List $1EFiendMeleeAAM, $1ERefugeeAAF... if eval (Ar_Find $SomeActor, Generic_Names) == -1 ; SomeActor is unique, they do not have a generic name -- There could be an easier solution, what purpose do you have?
  7. Open a merchant NPC in the GECK, and click the 'Dialogue' button, then select the 'Service' tab and you will see them. Alternatively, select the 'Service' tab in the parent Quest, like "GenericAdult".
  8. NVSE has: SetWeaponAttackAnimation SetWeaponAnimMultSetWeaponAnimAttackMultI do not know what they do, but they sound worth testing. You could certainly adjust them based on ammo type via scripting, although note that changes will apply to the base form, so will affect NPC's using the weapon too. Maybe no one will really notice, otherwise I think you could avoid that using TempCloneForm... but you'll need to be comfortable getting into some complex scripting there.
  9. Its an easy mistake to make, if you create a spell with ReduceIntelligence 1 for 5 minutes, you get a penalty of 1 to int for 5 minutes. If you select DamageIntelligence instead, it permanently damages your int by 1 point every second for 5 minutes. Oops. Probably one of your mods is guilty.... the damage is permanent :(.
  10. You could give their follow package a condition, "PlayerREF.IsInInterior == 0". Except, this won't stop them continuing the package if they started outside, for this you could try forcing evp on them via some kind of OnLoad event for cell change. Alternatively you could use a dirtier way; make a quest script with 5 second delay; if player is in exterior, move an XMarker to them; otherwise, move the companion to the XMarker and cancel their follow package.
  11. I think damage must be greater than zero for onhit scripts to run with weapons. You could always deal 1 damage and then heal it again in the script.
  12. Post the whole script, if show message isn't working, you have an error or the script is crashing/stopping for some reason. A common mistake is using an int variable with GetSecondsPassed rather than a float, or spell script with a 0 duration. My standard FTB script would be to use a quest with a 1-second delay, with a template like: int iStage int iDelay Begin GameMode ; 1 second quest delay if iDelay > 0 let iDelay -= 1 return endif if iStage == 0 imod FadeToBlackPermanent set iStage to 10 set iDelay to 5 elseif iStage == 10 rimod FadeToBlackPermanent StopQuest MyFTBQuest return endif End
  13. I've done it in AKH a couple of times, and remember having some trouble. I am assuming your script seems fine, but there's no sound in game? I think that your music file must be encoded as: CBR mp3, not VBR. It may also need to be 2 channels (stereo). I am using 44.1khz and 128kbps, but vanilla seems to be 48khz and 192kbps. Both work, so maybe that part doesn't matter.
×
×
  • Create New...