Jump to content

[GECK help] how to editing & add effect on certain creatures?


harimau93

Recommended Posts

hello there! I wanted to try modding, but I'm new to this, how do I buff up or add new effect on certain mutant creatures existed ? for example, I want to buff up Bloatfly in FNV to be a bit similar to it counterpart of bloatfly in FO4, in FO4 bloatfly are deadly with their projectile poison effect to player character unlike bloatfly in previous game. so how do I add poison effect on bloatfly attack ? does it using the script windows ?

 

thank you.

Link to comment
Share on other sites

What exactly do you want the poison to do , besides just add damage that is checked against poison resistance ?

 

But the place to add it would be the bloatfly's weapon ...

This base-ID "Bloatfly1HP" and give it an Object effect with all the base effects you want on it.

And probably can just use what is already available in the vanilla base effect content ... unless you want some specific stuff that needs a custom script. But there is a few poison scripts in there already , which they just look to be mostly for a visual effect and showmessage.

But keep that in mind you can put multiple base effects on the Object effect , all doing different things with their own magnitude / duration , like an initial value modifier , then a slow value modifier overtime. Even put in a condition to give random results.

Link to comment
Share on other sites

What exactly do you want the poison to do , besides just add damage that is checked against poison resistance ?

 

But the place to add it would be the bloatfly's weapon ...

This base-ID "Bloatfly1HP" and give it an Object effect with all the base effects you want on it.

And probably can just use what is already available in the vanilla base effect content ... unless you want some specific stuff that needs a custom script. But there is a few poison scripts in there already , which they just look to be mostly for a visual effect and showmessage.

But keep that in mind you can put multiple base effects on the Object effect , all doing different things with their own magnitude / duration , like an initial value modifier , then a slow value modifier overtime. Even put in a condition to give random results.

thankyou for the reply! :smile: yah, I wanted it slowly but deadly reduce player character hitpoints, you know just like in FO4, but did you meant by bloatfly1HP in creatures/ inventory windows segment in GECK ? I did see the bloatfly1hp you mention, but I don't how to give those object effect with base effect, & I could just use the cazador poison dmg for this.

http://i66.tinypic.com/icim1v.jpg

Edited by harimau93
Link to comment
Share on other sites

Ya the "Bloatfly1HP" shows up in the creature inventory , and that icon it has , shows it is a weapon.

But instead of having to look for it under "Items / Weapons " in the object tree. You can just double click it in the inventory tab of the creature. Then it will bring up the "Weapon" window ... slight delay on it though , so have to wait for it.

So on the "Weapon" window , notice the drop down menu below the name , called "Object Effect"

This is where you attach it to the weapon.

But first you have to make a custom object effect.

So go to "Game Effects / Object Effect" in the object tree. Then right click New in the right side field of the object tree list. Give it a unique base-ID , then click ok , and click ok on the popup that says it has no effects defined. Then re-open it , and right click new in the effect field. Then on the "Effect Item" window that pops up , go to the "Effect" drop down top left , and find your base effect there.

For Cazdor just add it and don't change anything else.

But then right click new in the effect field again , and go to the drop down , and find a poison damage effect. Which it has to have Duration & Magnitude.

So I think the vanilla "Poison" will work ... just select that in the drop down.

Then on the duration say like 1800 sec (30 minutes) and put 1800 in the magnitude , which will tick every second for 1 hp ( thats just a suggestion , you do what you want) But it divides the magnitude up over the duration in 1 second increments (game mode , not menu's).

 

Hope that helps ... post back if you get stuck.

Link to comment
Share on other sites

alright, so I managed to make this thanks to extensive help from you, now I tested it with my current character with 255 hp( very hard difficulty plus hardcore on ), spawned the bloatfly, but, it ticked too fast like from 100% full hp to 35%hp then my character drop dead, so yeah, what should I do to make the poison slowly tick your hp ?

Link to comment
Share on other sites

I'm not sure if it will accept less than one hp per second , but give it a try. Like keep the 1800 sec duration , but change the magnitude to 600. Or possibly it would work better without an infinite decimal place.

For example make it 2000 sec duration , and give it a 200 magnitude.

Because ya ... I forgot that every hit by the bloat fly is then running it's own damage over time.

So for just a quick smooze fix ... adjust the magnitude for an easily divisible number on the duration ... and keep going lower till you get the game side outcome you want.

 

However , we could get more complicated with it , and put in a one time DOT along with it's continuous dart damage. But try that first , just to see if it works.

Link to comment
Share on other sites

awesome! so I managed to make it manageable with ton of testing, so that it won't tick instantly,

so far so good. ah yes, how do you add the effect name on pipboy list of effect player get? when my PC got hit, I checked it out it was blank but it still shown the " - HP 8 " . also, does this can be cure/ stop by using the ingame anti poison consumable items ? thanks again. :laugh:

Link to comment
Share on other sites

Your effect will not be removed by antivenom, unfortunately. You can edit the antivenom item yourself, but that has a lot of incompatibility trouble. First, any other mod that does the same will conflict with yours, and only one mod can take effect in that case, and second, mod-added or even DLC-added antivenom items still won't recognise your poison effect.

 

So, you can do one of these two better things: first, make an antidote specific to your poison, which has a precedent in NV because Honest Hearts adds poisons and antivenoms that do not function like the base game's, or second, you can use a script to add a custom antivenom effect to every item in the game that has an antivenom effect.

 

Of the two ways I've recommended (you can do the first thing I said if you want, but...please don't?), the scripting one will be much more work, but pretty satisfying once pulled off.

 

For the scripting, this is the bulk of the hard stuff right here, in this quest script (so attach it to a quest that starts when the game is launched, by ticking the Start Game Enabled box):

scn GSBViperAntiVenomAddScript

array_var aIngestibles
array_var aEntry
ref rIngestible
int iIndex

begin MenuMode 4
	if GetGameRestarted
		let aIngestibles := GetLoadedTypeArray 47
		foreach aEntry <- aIngestibles
			let rIngestible:= aEntry["value"]
			let iIndex := GetNumEffects rIngestible
			while iIndex > 0
				let iIndex -= 1
				if GetNthEffectBase rIngestible iIndex == NVAntivenomEffect
					AddNewEffect rIngestible <EDITOR ID OF YOUR CUSTOM ANTIVENOM EFFECT> 0 0 0 0
					break
				endif
			loop
		loop
		let aIngestibles := Ar_Null
		let aEntry:= Ar_Null
	endif
end

And if you want to do the Honest Hearts ones as well:

scn GSBViperAntiVenomAddDLCScript

array_var aIngestibles
array_var aEntry
ref rIngestible
int iIndex
ref rHHAV
ref rHHAV2

begin MenuMode 4
	if GetGameRestarted
		if IsModLoaded "HonestHearts.esm"
			set rHHAV to GetFormFromMod "HonestHearts.esm" "00F94A"
			set rHHAV2 to GFFM "HonestHearts.esm" "011300"
			let aIngestibles := GetLoadedTypeArray 47
			foreach aEntry <- aIngestibles
				let rIngestible := aEntry["value"]
				let iIndex := GetNumEffects rIngestible
				while iIndex > 0
					let iIndex -= 1
					if GetNthEffectBase rIngestible iIndex == rHHAV || GetNthEffectBase rIngestible iIndex == rHHAV2
						AddNewEffect rIngestible <EDITOR ID OF YOUR CUSTOM ANTIVENOM EFFECT> 0 0 0 0
						break
					endif
				loop
			loop
			let aIngestibles := Ar_Null
			let aEntry := Ar_Null
		endif
	endif
end

Lucky for you, I just happened to have those lying around, as my own mod adds a poison. Actually, lucky for me, as I would probably have just written those from scratch because I have a compulsion.

 

You still have to make an effect that heals your new poison, which is a script effect. Basically, just look at the antivenom and reverse-engineer using that.

Edited by EPDGaffney
Link to comment
Share on other sites

Thanks for the scripts on how to add their new poison to the antivenom EPDGaffney :smile:

 

@ harimau93 The cazdor poison was suppose to be what shows in your pipboy , but then I noticed it also needs the duration set. By the way what duration and magnitude did you end up using with the poison effect ?

 

Also looks like the ISFX is turned off in the Cazdor poison script. So it is not running the image space modifier.

Also it will show incorrect names and messages , so I think you might just want to make your own custom base effect and script.

 

So take the "CazadorPoisonEffect" which is the base effect. Open it up and change the ID to something like ... "MyBloatFlyPoison" Then change the name there to what you want it to show as in the PiP Boy.

Don't change anything else yet ... click OK , and select "Yes" make new form.

Now open up the script editor with the Pencil icon on the Geck header.

Click Script / New from the header ... then select "Effect" from the "Script Type" drop down.

 

Then paste this script in it , with the Green text being what you name it , mine are just examples.

 

~~~~~~~~~~~~~~~

scn BloatFlyPoisonEffectSCRIPT
float timerEffect
ref myself
begin ScriptEffectStart
set myself to GetSelf
if myself == player
ShowWarning "Poisoned by BloatFly!"
float randomTime
set randomTime to 5.0 + 20.0/99.0 * GetRandomPercent
set timerEffect to randomTime
ShowMessage FixerDizzyMsg
endif
end
begin ScriptEffectUpdate
set myself to GetSelf
if myself == player
if timerEffect <= 0
ApplyImageSpaceModifier BarkScorpionPoisonISFX
set timerEffect to 5.0 + 20/99.0 *GetRandomPercent
else
set timerEffect to (timerEffect - GetSecondsPassed)
endif
endif
end
~~~~~~~~~~~~~~~~~~
Now open the new base effect you made from the Cazdor base effect , and go
to the "Asso. Item" drop down , And find your new script.
Now go to your Object Effect that you placed on the bloat fly weapon , Get rid of the Cazdor , and put your new base effect on it , and set it's Duration to the same as the Poison effect.
Then you should be done ...
And to clarify ... for EPDGaffney's script , what you add in there is the Editor ID of the Object Effect , none of the others.
Add edit : Although I am starting to wonder if the Damage over times are still going to keep running even after removing the object effect.
Because I think they have a one time control on them from the initial hit of the weapon.
Therefore since the effect is not controlled by a script , it is going to just run it's full duration to deliver its full magnitude. But I could be wrong , so just let me know if you still see your health dropping after you removed the Effect that applies its name , message and ISFX.
Link to comment
Share on other sites

  • Recently Browsing   0 members

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