Jump to content

Fallout New Vegas GECK & Scripting Help 101


Recommended Posts

Hi there! Is there someone left who familiar with Sexout scripts? I am trying to add new animation to random picker and get some crezy results.

 

All went good with one of scripts for creatures (AddInternalAnimsD), anim added and appears in random picker sometimes (eh, very rarely, but it's because of picker itself works strange). But when I tried to do the same for solo animation, I get nothing.

 

Script itself (AddInternalAnimsA) cannot be compiled just as it provided in SO:

 

9c6e40d846.png

 

 

If I try to add my new anims (male solo 102 and 103) to it, I physically cannot do it. I tried to change variable M to iM and change it where it neccesary, didn't work. But when I removed 101 anim to look what happens - this anim is still appearing ingame O_O (of course I'm awared about Ampa version of it, but I'm talking exactly about Sexout.esm version and message in feft upper corner clearly proves it. Where the heck it even can get it if I DELETED it from script? I cheked all other AddInternalAnims scripts - there is nothig that looks like SNG101.

 

What this could be? And how I can add male solo anims to random picker? I'm sick of that only one animation and I'm able to do much much more for Sexout (I already have two brand new ones for male solo).

Link to comment

I don't know how Sexout itself works, but it seems the script doesn't like a single 'M'.  as an advise from somebody that did some programming in the past, never use single-character variables.Just rename 'M' to 'MM'

 

You can't 'search' for a single character, you'd get too many results. Calling it MM will make it searchable.

Link to comment

Problem not even in invalid (eh, how the heck did they even compiled this script then?) variable. Problem that anims that I add doesn't appear at all. Tried it with ampa.esp script and still got nothing ingame. But anims that I deleted are still there and appear ingame. It seems that solo anims picked from some other place that all other animations but I can't even imagine where to search it.

Link to comment

UPD I completely removed ALL male solo animations from InternalAnimsA and InternalAnimsAmra and this two anims still somehow appears. While none of new added don't. They are definitely stored in some completely different script which seems total nonsense for me.

Link to comment

UPD Well, this looks like natural delirium. I searched all Sexout scripts and found nothing similar to SNG101. Also I removed all sexout mods from load order except PosNew. I made bat file to call 102 solo anim and sexout said that it's invalid non-existent animation.

 

1b8576bbe0.jpg

 

But here it is. It is present in this fucking random picker script. And it is present in IdleAnims in proper category with proper condition.

 

67ee9ed7bd.png

 

 

 

 

I don't know what to do with this. This is real fucking magic. Such simple thing like just add self-made animation to mod is absolutely impossible.

Link to comment

OK, Final important UPD.

 

Through digging, testing and frustrating I found here what: backuping SexoutNG master to old version Beta 7 does the do. All added anims was properly appeared in picker and all removed ones - no. Version 97 beta 8 (as I remember this one became latest stable) and later does something ugly for modders so that strange things that I described in posts above appearing again. I dunno what causes this, I am bad scripter, but here we go. Thats how it worked for me.

 

 

Link to comment

OK here I am again. This time not specifically about Sexout, but about GECK and new Idle Anims.

 

I created animation for new creature (hillfolk from Point Lookout hehe) and I need create new top-level group for it in Idle Anims window.

 

b6982bb21a.png

 

How do I do it? It allows me only to insert child. And I cannot put created child to top-level. Google doesn't even undrestand what I need to do, lol.

Link to comment

@Allnarta

You need to add the required creature first, I think that you only need a skeleton for that w/o the model. After just save the plugin and re-load again. And if with this skeleton the geck can find an animation files inside the folders: "Locomotion", "IdleAnims" or even in the main folder with the skeleton. The geck will add the Top-Level for this creature, automatically

 

As example with a copy of deathclaw

image.png

Link to comment

Yeah, I already managed how to do that. Still can't get new creature to work, keep getting error "actor is invalid, code -8". And 99% sure that nobody left who could help with this. Eh.

Link to comment
1 hour ago, Allnarta said:

Yeah, I already managed how to do that. Still can't get new creature to work, keep getting error "actor is invalid, code -8". And 99% sure that nobody left who could help with this. Eh.

If you check the script "fnSexoutActorValid" you'll notice that "code -8" is a not valid skeleton error. I think that you can try to add your creature's skeleton if edit "fnSexoutGetSkeleton"

line 30
if eval ("alien" == skeleton)
	let skeleton := "ghoul"
elseif eval ("StreetTrog" == skeleton)
	let skeleton := "NVSporeCarrier"
elseif eval ("SMBehemoth" == skeleton)
	let skeleton := "SMSpineBreaker"
elseif eval ("SMBoneCrusher" == skeleton)
	let skeleton := "SMSpineBreaker"
elseif eval ("NameToTheFolderOfCreature" == skeleton) ;edit this line
	let skeleton := "NameOfTheActorForAnimation" ;edit this line
endif

 

"NameOfTheActorForAnimation" == "SomeCreature"

  let adj     := ar_Map "SomeOffsetVar"::SomeAngle ; Edit this for create the right offset for the animations. "HOffsetA", "VOffsetA", "HOffsetB", "VOffsetB"
  let actors  := ar_List "SomeCreatureM", "SomeCreatureF" ; edit Some Creature
  let flags   := ar_List "SomeCreature" ; if you want you can add more flags "SomeFlag1"
  let Pos     := ar_Map "A"::"SomePoseA" "B"::"SomePoseB" ; edit someposes on the poses which you want, like Sit, Prone, Stand, etc
  let animDef := ar_Map "idx"::SomeIndex "idle"::"SNGSomeIndex" "desc"::"Some Description" "actors"::actors "flags"::flags "adj"::adj "pos"::Pos
  call fnSexoutAddAnim animDef

edit: a bit edited a code for animation

Link to comment

Oh, I think that script is exactly the thing I missed! Unfortunately there is no guides how to add new creatures to sexout so I actually trying all by guess. Didn't even know about "valid skeleton" stuff.

 

I found block that I need, but to be honest can't get how to put proper value. My creature is HillFolk2/3 from DLC04/creatures/hillfolks3and3/anim/ folder. It can make things harder to put right because of that stupid Bethesda solution with "anim" subfolder after creature folder. >_>

 

But I'll give it a try. Thak You for tip! :smile:

 

 

Link to comment
9 minutes ago, Allnarta said:

Oh, I think that script is exactly the thing I missed! Unfortunately there is no guides how to add new creatures to sexout so I actually trying all by guess. Didn't even know about "valid skeleton" stuff.

 

I found block that I need, but to be honest can't get how to put proper value. My creature is HillFolk2/3 from DLC04/creatures/hillfolks3and3/anim/ folder. It can make things harder to put right because of that stupid Bethesda solution with "anim" subfolder after creature folder. >_>

 

But I'll give it a try. Thak You for tip! :smile:

 

 

All this information I grabbed from a script via dependency

 

You can use the same names as for folder as for a flag

 

You're welcome

 

p.s. Если нужно что-то еще, можешь написать в лс, могу попытаться еще с чем-нибудь помочь. Как со скриптами, так и с поиском чего-либо

Link to comment

Well, This is actually worked. Game succesfully recognised "anims" folder as root folder for sceleton and creature and succesfully recognised flag that I put for it ti recognise creatures with this skeleton!

 

So here You go, brand new creature support for Sexout (Point Lookout hillfolks).

 



 

e05757af5c.jpg

 

 

P.S. Спасибо большое за подсказку. Мне бы просто не пришло в голову копать именно в этом направлении.)

Link to comment
  • 4 weeks later...

Hello again!

 

Is someone knows, is there some way in Fallout to forcefully stop dialogue/converastion with player? Something just like StartConversation, but doing the opposite thing. Or maybe some way to forcefully exit menumode 1009. Can't find anything similar in GECK/NVSE/JIP LN functions.

Link to comment
20 hours ago, Allnarta said:

Hello again!

 

Is someone knows, is there some way in Fallout to forcefully stop dialogue/converastion with player? Something just like StartConversation, but doing the opposite thing. Or maybe some way to forcefully exit menumode 1009. Can't find anything similar in GECK/NVSE/JIP LN functions.

You can use NVSE's CAM (close all menus). It can be very dangerous, be careful.

Link to comment
  • 1 month later...

I'm making my first ingestibles and I'm wondering: What's the difference between the effects: 'damage charisma' and 'reducecharisma'.

 

Edit: Second question. 'Duration' is that ingame seconds or reallife seconds? And if reallife seconds, how do I calculate that to ingame time

Link to comment

The difference is in the checked flags. If you open both the effects you can compare them and see that one is flagged as Hostile, it can be resisted as if it was an attack; the other flag "Recover" means that it's temporary, it will be back to the original state when the effect disappears.

 

Duration should be real life, in game should be (real life * TimeScale). However there's a couple of things to consider, I'm not sure how Waiting or Resting will be treated, and npcs dispel the spell when the cell is changed

Link to comment
  • 1 month later...

Hi there i need some advice to this scripts. 

Spoiler

scn aaaPimpBoyTokenScript

ref rActor
int iAddOnce 
int iPip

Begin MenuMode 1008

	set rActor to GetContainer
	;Set iPip to rActor.GetItemCount aaaPipBoyToken 

	If rActor != Player && rActor.GetIsSex Female	
		rActor.AddItem PimpBoyNPC 1
		rActor.EquipItem PimpBoyNPC
		rActor.RemoveItem aaaPimpBoyToken 1


	ElseIf rActor != Player && rActor.GetIsSex Male	
		rActor.AddItem PimpBoyNPC 1
		rActor.EquipItem PimpBoyNPC
		rActor.RemoveItem aaaPimpBoyToken 1
	endif

End
	

scn aaaPipBoyRemoveTokenScript

ref rActor
ref rClothes

Begin MenuMode 1008

	set rActor to GetContainer
	Set rClothes to rActor.GetEquippedObject 2 

	If rActor != Player && rActor.GetIsSex Female	
		rActor.UnEquipItem PipBoyNPC
		rActor.RemoveItem PipBoyNPC 1000
		rActor.UnEquipItem PimpBoyNPC
		rActor.RemoveItem PimpBoyNPC 1000
		rActor.AddItem aaaPipBoyRemoveTokenDummyArmor 1
		;rActor.EquipItem aaaPipBoyRemoveTokenDummyArmor
		rActor.RemoveItem aaaPipBoyRemoveToken 10000


	ElseIf rActor != Player && rActor.GetIsSex Male	
		rActor.UnEquipItem PipBoyNPC
		rActor.RemoveItem PipBoyNPC 1000
		rActor.UnEquipItem PimpBoyNPC
		rActor.RemoveItem PimpBoyNPC 1000
		rActor.AddItem aaaPipBoyRemoveTokenDummyArmor 1
		;rActor.EquipItem aaaPipBoyRemoveTokenDummyArmor
		rActor.RemoveItem aaaPipBoyRemoveToken 10000

	endif

End
	

scn aaaPipBoyRemoveTokenDummyArmorScript

ref rActor

Begin MenuMode 1008

	set rActor to GetContainer

	rActor.RemoveItem aaaPipBoyRemoveTokenDummyArmor 1000

END

 

The scripts give NPC's a Pipboy or remove it. The Dummy-Armor script was needed to reset the mesh "error" of the armor/clothing. I tried to unequip and re-equip the armor in the remover script, but that did not work for some reason ....

 

 

Link to comment
4 hours ago, DocHoppfen said:

Hi there i need some advice to this scripts. 

 

The scripts give NPC's a Pipboy or remove it. The Dummy-Armor script was needed to reset the mesh "error" of the armor/clothing. I tried to unequip and re-equip the armor in the remover script, but that did not work for some reason ....

Begin "MenuMode 1008", works only if you're currently in the container menu, idk if it is, but you can try to use a "gamemode" block instead of "menumode", just put more condition to not trigger it more than one's
http://geck.bethsoft.com/index.php?title=MenuMode

Link to comment
  • 4 months later...
47 minutes ago, dborg2 said:

I want to create a function with an optional value. When omissioned it's 0, otherwise it's what's provided. How do I do that in a script?

I'm afraid you'll have to call it specifying that 0, because when you create a function that admits a parameter then you must call it with that parameter or it won't compile.

 

This function:

Begin MyFunction {iMyNumber}

; do something

End

...will be called with:

Call MyFunction SomeNumber

Then, based by the context and the circumstances, you can probably workaround the problem, but it would require more infos about the mod:

If (the player didn't provide a value)

   Set SomeNumber to 0

   Call MyFunction SomeNumber

Endif

Of course I'm assuming it's a function that you need to call from time to time, hence the need to set SomeNumber to 0, otherwise it will always be zero if nothing has setted it before.

Link to comment
48 minutes ago, A.J. said:

I'm afraid you'll have to call it specifying that 0, because when you create a function that admits a parameter then you must call it with that parameter or it won't compile.

 

This function:


Begin MyFunction {iMyNumber}

; do something

End

...will be called with:


Call MyFunction SomeNumber

Then, based by the context and the circumstances, you can probably workaround the problem, but it would require more infos about the mod:


If (the player didn't provide a value)

   Set SomeNumber to 0

   Call MyFunction SomeNumber

Endif

Of course I'm assuming it's a function that you need to call from time to time, hence the need to set SomeNumber to 0, otherwise it will always be zero if nothing has setted it before.

Thank you. It's only a bit annoying, but I can live with it. I'll just provide a 0 everytime it should be 'ommited'. (In my case it's basically a boolean. "Does outfit tear" yes or no)

Link to comment
  • 2 months later...

I'm running into a new issue.

I have a formidlist(A) with multiple forrmidlists, Like "B".

I have a script that browses through all formidlists within formidlist(A) to search for a form, and do stuff based, on it being found.

 

Now in game I have a different script that adds a form to formidlist B, but it seems that it isn't updating into formislist(A)-formidlists.

When my other script browses through FormIdList-A's formidlists, it doesn't find the new form, I added in 'B'.

 

Is thas bad programming on my side, or is it a bug from Bethesda, and what would be the best workaround?

 

Does re-adding FormidList-B to Formidlist-A fix it, or do i need to add a new formidlist-C to A?

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. For more information, see our Privacy Policy & Terms of Use