Jump to content

How do I add an speed run effect on an existing chem?


YanL

Recommended Posts

Hello.

 

I want to add a 50% more run speed to Rushing water.

 

I made this:

 

http://i65.tinypic.com/1z1hc28.jpg

 

Dont work. The effect is apply when the char consume a rushing water, but never disaper, the char is forever 50% more faster. Now, If I understand right, this is a temporary perk, why dont work?

 

Anyway, I try another thing, with the original perk restaured, I opening the rushing water and see this entry:

 

+50% Attack Speed (null)

 

This is a Base Effect, the "NVDLC04DummyRushingWater"

So, I try to make my own. I create a new base effect, copy everything from "NVDLC04DummyRushingWater" but change the name to +50% Run Speed, and the ID is "aaaRushingWaterSpeedrun"

 

After that, I create a new entry in the Rushing Water and associate with this new base effect. This is the result

 

http://i63.tinypic.com/2mpwor9.jpg

 

Nothing has changed. No speed run bonus.

 

 

So, how would I do this?

 

Thanks :)

Link to comment
Share on other sites

The reason it lasts indefinitely is because the perk itself has no time tracker ... so you must use another effect means that tracks the time. And looking at it ... it seems the entry point of a perk is the best way to modify run speed. Didn't look at the DLC ... But here is my suggestion to make your own run speed chem.

 

1 - You make the perk , using entry point of modify Run Speed , multiply by 1.5 ... err I guess 2.0 if your wanting it to be faster.

 

2 - Make a new script like this ... select it as an "Effect" type script ...

 

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

SCN MyRunSpeedScript
Begin ScriptEffectStart
Player.AddPerk MySpeedPerk
End
Begin ScriptEffectFinish
Player.RemovePerk MySpeedPerk
End
~~~~~~~~~~~~~~~~
3 - Make a base effect ... Select "Script" as the "Effect Archetype" , And select your new script as the "Associated Item" in it's drop down.
Name it what you want to display for what it does ... Example : Increase Runspeed 100%
Flag it ... Recover , Self,Touch,Target ... No magnitude ... Display Name Only
Save it.
4 - Now make your ingestible ... and in the Results field ... right click new ... and then on the Effect drop down , find your base effect you made. Then fill in the duration you want it to last. Click Ok ... then Ok saving the Ingestible.
Now you can place the ingestible in game and it will give the Perk for the duration specified.
What is happening ... is when the player consumes the ingestible ... It calls to the base effect to run , which is a script that gives the perk to the player. The effect of the ingestible is keeping track of the time ... and then when it is done ... The script says to remove the perk from the player.
Edited by Mktavish
Link to comment
Share on other sites

Thanks friend, your post was a great help.

 

I made just like you said (excepted that I still apply the perk into rushing water) and works...........more or less :laugh:

 

I decide to add two effects in the perk. Run speed and reload speed.......and thing get complicated.

 

After I use the item, I have the bonus: attack speed (base game), reload speed an run speed (last two from my perk). But after the effect of the chem passes, the run speed never fade away if I´m not:

 

a) Reload

b) change weapon

c) draw the weapon or low it

d) took some leg damage, like falling from great high (I bet that other effects, like knockdown for example works too)

 

So I change the perk and leave only the run speed. The result is the same. :ohmy:

 

One final touch is missing for this item to work perfectly. You or anyone can resolve this?

Edited by YanL
Link to comment
Share on other sites

You're better modifying the actor value "SpeedMult", which is divided by 100 and applied as a multiplier to player speed (so 100 is normal speed, 1000 is 10x speed, etc). To update the player's movement speed after changing this AV, simply modify their left or right leg mobility condition by 0 to make the game recalculate their speed e.g. PlayerREF.ModAV RightMobilityCondition 0.

 

Throw those elements into a simple timed effect script and blah blah, you probably get the rest. Much cleaner than using a perk.

 

I used this method for the sprint feature in JSawyer Ultimate and it works flawlessly.

Edited by PushTheWinButton
Link to comment
Share on other sites

e.g. PlayerREF.ModAV RightMobilityCondition 0.

 

 

 

haha, this is it :D Now it´s working perfect ^^

 

I can work on my mod now. Thanks, bouth of you guys.

 

Moderation, please dont close this topic, maybe I need more help in the future.

Link to comment
Share on other sites

Hmmm ... I admit I didn't test it. But thought the entry point would work without having to recheck the mobility.

As I knew ModAV would have to. I was imagining doing something like making the player crouch then stand back up.

But with this line working "PlayerREF.ModAV RightMobilityCondition 0" Not having to mess with a perk is better. :thumbsup:

Edited by Mktavish
Link to comment
Share on other sites

Just to add, using the "ModAV # 0" trick works for making the game re-calc any parameter which is derived from an actor value. Another example would be if you change the settings which effect how effective food or medicine are in a script (using SetNumericGameSetting). The effects on the items won't actually change until you call "ModAV Survival/Medicine 0".

Link to comment
Share on other sites

Going back to the OP, the problem is that the Rushing Water perk is actually permanently added to the player, BUT its attack speed effect is conditionalized so it only works while Rushing Water is active on him. If you double click the Modify Attack Speed entry point, you'll see a condition 'IsSpellTarget NVDLC04RushingWater == 1' in it. So if you want to add a modify run speed entry point to the perk, just be sure to copy that condition to it.

 

That effect you replicated on Rushing Water is a dummy, for displaying info in the pip boy. It doesn't do anything on its own.

Link to comment
Share on other sites

So a condition on the entry point would have worked ???

I guess my thinking of how the entry point was working , as if it was actively putting another variable to the player movement (like the police song of "Everystep you take , I'll be watching you )

Would have been horrendessly processor intensive. To then have it stop modifying player movement by removing the perk .

Edited by Mktavish
Link to comment
Share on other sites

thanks guys. Now, another doubt.

 

I wanna make my own legendary bloatfly.

 

This is the script for the glowing effect after a reload

 

 

scn NVDLC03LegendaryBloatflyCodeBoxSCRIPT

; Reapplies the shader to the Legendary Bloatfly after a load.
; JSH 02/08/11
Short bActive ; Code box is only active while the Legendary Bloatfly lives.
Short bApplyShader ; Determine whether or not to apply the shader.
BEGIN OnLoad
NVDLC03LegendarBloatflyREF.PlayMagicShaderVisuals GlowingOneFXShader;
END
BEGIN MenuMode 1007
If ( bActive == 1 )
If ( bApplyShader == 0 )
Set bApplyShader to 1;
EndIf
Endif
END
BEGIN GameMode
If ( NVDLC03LegendarBloatflyREF.GetDead == 0 )
If ( bActive == 0 )
Set bActive to 1;
EndIf
If ( bApplyShader == 1 )
NVDLC03LegendarBloatflyREF.PlayMagicShaderVisuals GlowingOneFXShader;
Set bApplyShader to 0;
EndIf
Else
Set bActive to 0;
Disable;
MarkForDelete;
EndIf
END

 

I dont get it.

 

His ID is NVDLC03LegendaryBloatfly

Why the Ref is NVDLC03LegendarBloatfly

?

 

Because when I try to replicate this script, I have this message:

 

http://i66.tinypic.com/2nb6r12.jpg

 

What could it be?

Link to comment
Share on other sites

  • Recently Browsing   0 members

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