Jump to content

Quick Question - Quick Answer


Cipscis

Recommended Posts

I'm going to preface this by saying that prior to this I have no modding experience whatsoever.

Alright, so I decided to take a energy weapon from a mod and turn it into a flamer. Problem is, that in-game if I turn at all while firing this weapon, the stream of fire moves in an unexpected manner.

ie. the stream of fire shoots straight while I look straight, but as soon as I start to turn the stream starts angling upwards rather than turning with me.

Would be much appreciated if someone could offer insight or at least point me in the right direction.

 

I just wanna make sure that these things are done first, check the EquipType is correct, check the Automatic Flag is set, most importantly check the Projectile and ImpactDataSet are correct. I just checked with a Gatling Laser so it might be the weapon you are using. So check to make sure every setting is properly correct and if so it might be the weapon model/animations itself.

 

 

 

 

Is there any way to force the player to sit in a chair and still allow the player to look around? I made a script that moves the player to the chair, and forces the player to do the UseItem package, but it prevents you from looking around. I'm not entirely sure, but I think it's messing with the framerate as well.

 

How do you force the player exactly? Does it involve disabling their controls? You can for the most part just make sure looking around is enabled by using DisablePlayerControls once they are sitting check this page for more information on DisablePlayerControls and it's counterpart EnablePlayerControls

http://geck.bethsoft.com/index.php/DisablePlayerControls

Link to comment
Share on other sites

  • Replies 804
  • Created
  • Last Reply

Top Posters In This Topic

I'm going to preface this by saying that prior to this I have no modding experience whatsoever.

Alright, so I decided to take a energy weapon from a mod and turn it into a flamer. Problem is, that in-game if I turn at all while firing this weapon, the stream of fire moves in an unexpected manner.

ie. the stream of fire shoots straight while I look straight, but as soon as I start to turn the stream starts angling upwards rather than turning with me.

Would be much appreciated if someone could offer insight or at least point me in the right direction.

 

I just wanna make sure that these things are done first, check the EquipType is correct, check the Automatic Flag is set, most importantly check the Projectile and ImpactDataSet are correct. I just checked with a Gatling Laser so it might be the weapon you are using. So check to make sure every setting is properly correct and if so it might be the weapon model/animations itself.

 

 

 

 

Is there any way to force the player to sit in a chair and still allow the player to look around? I made a script that moves the player to the chair, and forces the player to do the UseItem package, but it prevents you from looking around. I'm not entirely sure, but I think it's messing with the framerate as well.

 

How do you force the player exactly? Does it involve disabling their controls? You can for the most part just make sure looking around is enabled by using DisablePlayerControls once they are sitting check this page for more information on DisablePlayerControls and it's counterpart EnablePlayerControls

http://geck.bethsoft.com/index.php/DisablePlayerControls

Nevermind.

 

"REFERENCE".Activate player works just fine.

Link to comment
Share on other sites

Can someone tell me the best way to limit a quest based on level? I'm wanting to edit various existing quests so that the player can receive the quest but can't do certain stages or the 1st stage until they reach a certain level. This would mean the player can still receive the quest so that they know its there and won't have to track it down later but prevent them from doing it too early.

 

The 1st quest I'm looking at applying this to is Mothership Zeta but I might add it to a few other non-dlc quests later on.

Link to comment
Share on other sites

My understanding is that the "HasBeenEaten" function queries some variable from the corpse actor - which variable would this be, and is there any way to reset it, other than resurrecting the actor?

 

My plan is to mod the cannibalism perk to pop limbs as you eat from corpse, as well as allowing you to eat from a corpse until it runs out of parts. My problem is that the "StartCannibal" action does not play if the HasBeenEaten variable is set to one, and it seems that the StartCannibal action itself sets that variable, not allowing me control over it in the actual script associated with the perk. Resurrecting the actor is the only way I've found that resets the HasBeenEaten variable, but it also makes the target re-grow his limbs, so it doesn't really suit my purposes. :wallbash:

 

My plans do involve some other changes, such as making the gorebag clutter (mutilated torso and the like) edible to cannibals, making the wasteland captives as well as mezzed targets devourable while still alive - you know - for a big boost of bad karma and all around short term buffs. :verymad:

Link to comment
Share on other sites

Is there any way to check whether the player is under the effect of Ant Queen Pheromones, without directly altering the Pheromone item?

 

I tried using HasMagicEffect, but apparently that won't work because Pheromones are considered a chem instead of a spell.

Link to comment
Share on other sites

I'm trying to make a safe that is only unlocked with a keypad.

 

I figured the best way to do it is to have two global variables parallel to eachother. One goes up every time a key is pressed, and the other only goes up if the keys are pushed in the right order. That way when when the enter button is pushed, it will only unlock if the sequence of buttons have been pressed in the correct order, and only a certain number of times. Pressing enter will reset the variables to 0 if the variables do not match.

 

Is there a better way to do this?

 

Also, How do I change a variable's value relatively instead of absolute?

Link to comment
Share on other sites

First off, I apologise for my recent silence. I've been fairly busy with Uni recently, and of course that always has to take priority over my activities here. I'm glad to see that a fair few of the questions were still answered in my absence, and I'll do my best to answer the others in this post. Sorry in advance for the following epic post (I've included quotes because there are so many posts that are being replied to)

 

Alright I want an NPC to show up after the player has looking into a container, so I used a script attached to the container with onActivate

 

The NPC starts disabled and I then use the editor ref ".enable" to get him to show up. the problem is he doesn't show up. Is there another way to do this?

Enable should work perfectly well here. I suggest that you make sure that your script is running by using either ShowMessage or FOSE's PrintToConsole in order to debug it. If it's working as expected, then make sure that your actor doesn't have an Enable Parent, and try setting it to be enabled by default and ensure that it appears as expected.

 

I know this issues has been throughly solved, but i can find an answer through search, so what is the accepted solution for the race bug that causes added nps to have bright white arms and bodies despite their race?
I'm not entirely certain, but as far as I know the only way to fix this currently is to use an ESM file.

 

Hey Cipscis. Thought this was worth learning and anybody I've asked doesn't know about effects.

http://thenexusforums.com/index.php?showtopic=144749

I've never made any ImageSpace Modifiers of my own, but I have had a look at those available in Fallout3.esm so I have some idea of what is possible. The fade to white should be fairly simple to create with an ImageSpace Modifier, but in order to simulate heavy breathing and environmental movement you'll almost certainly need to use animations.

 

How do i make it so that NPC's wont phase through edited terrain or walls?
Um, they definitely shouldn't be doing that... What exactly do you mean by "phasing" here? The first thing that I would check if I were you would be your navmesh, although I don't know if I've every heard of a problem like this before.

 

Really quick question-

"RefID.Set OpenState 2" opens a door in a script, any way to set it to make it inaccessible?

Not as far as I know, although I'm fairly certain this wouldn't be a difficult function for the FOSE team to implement. If you'd like, you could request it in the FOSE [RELz] thread on the official forums.

 

P.S. "Set" isn't a function, you should be using "RefID.SetOpenState 1" in order to open a door via script

 

How do I access or change "LeftMobilityCondition" or "RightMobilityCondition", exactly?
in your script just do this

 

refID.modav LeftMobilityCondition -1

refID.modav LeftMobilityCondition 1

I don't know if it will have an adverse effect if used like this, but ModActorValue tends to apply a permanent edit to AVs that can cause issues in-game. While it should work perfectly here, it would be good to get into the habit of using DamageActorValue and RestoreActorValue for things like this.

 

For more information on what different AV modifiers are used, check out the console function GetActorValueInfo.

 

I wanted to make a scripted key, and I noticed that only object scripts can be used.

So I made my script:

 

scn BlablaSCRIPT

begin OnAdd player
player.AddPerk BlablaPerk
end

;begin OnSell player
;	player.RemovePerk BlablaPerk
;end

;begin OnDrop player
;	player.RemovePerk BlaBlaPerk
;end

 

Now, when I put the item in the map as a misc item, and just go there and pick it up, it works just great, and the player gets the perk. But, when I put the key into a NPC inventory, and go pickpocket the npc, I find the key and it seems just fine, still when I pick it up it doesn't run the onadd block. Infact the player doesn't get the BlablaPerk. I've tried using GameMode, setting the ref to the container (both in the gamemode block and onadd block, but not at the same time), checking for that to be the player (also when u place a new object into a npc inv, it doesn't run the onadd block by default, only when changes to an inventory are made, i.e.: when u pickpocket the item up).

 

I would like to know why my script won't run, and if there is a way to make it work.

Btw I noticed once that the MenuMode block runs (still it's kinda fookd since you ll have to open your pipboy b4 you get your perk)...

I'm not entirely certain that I know what the problem is here - is your OnAdd block not running when you pickpocket the scripted item?

 

You might also want to have a look at the GECK Wiki's documentation of OnAdd, where it is noted that OnAdd blocks are triggered by changes to an actor's inventory, so they won't run when an item is initially placed in an actor's inventory.

 

I have a problem. I made a topic and no one answered. Ok, I was cleaning point lookout without save. (Cleaning as in using the 'Disable' console command. Then, I accidently disabled a wall and before typing 'Enable' I exited out of console commands. :wallbash:

 

I know the code for the wall: 01010c1f

 

I dont know how to get it back in game or with the geck....

 

Help? Thanks alot

You can use the PickRefByID console function to "select" a reference in the console via its RefID.

 

Found answer for my #2 question! How to make a trigger that will run a script every ingame hour (while player is not sleeping or waiting)

http://geck.bethsoft.com/index.php/GetSecondsPassed

When dealing with game-time, it is usually best to use one of the hard-coded global variables that store game-time. The most useful of these global variables is usually GameDaysPassed. If you use GetSecondsPassed for this, then your script will malfunction when "TimeScale" is not the default value of 30 or when SetGlobalTimeMultiplier is used.

 

 

Looks like I'm going to have to post this in two halves, as I've breached the maximum quote limit.

 

Cipscis

Link to comment
Share on other sites

Part 2:

 

I'm stumped. I have an armor token that I want to apply an effect shader to the wearer on equip. It seems like it should be pretty simple to me. I can go into console, select the target, then use the pms command to successfully apply the shader. When I put the exact same thing into a script and attach that script to an armor token, it doesn't work.
I noticed the same thing recently, when trying to use PlayMagicShaderVisuals and StopMagicShaderVisuals in pretty much the same way as you. One thing you could try would be to use a scripted effect to apply the shader, and using CastImmediateOnSelf in order to apply the effect.

 

Slightly confused on this I'm setting an object effect to a gun. And I'm having a paralysis effect take place when the enemy is shot. However I'm trying to set some conditions for it and am coming up quite confused.

 

First off I want to check that the player is [hidden], would I use GetDetected? If so what would be the Function Parameters and who do I run it on?

GetDetected returns whether a specific actor has been detected by another specific actor, so it will only work if you want to check if the player has been detected by a specific actor. If this is the case, then you would want to call GetDetected on the target actor, and pass "player" as its parameter.

 

Is there any way to make static collections out of dlc added content?
I would expect that this is possible in exactly the same way as with regular content. However, in order to open multiple master files simultaneously in the GECK's *.ini file. If I remember correctly, you want to change this line:
bAllowMultipleMasterLoads=1

 

Can someone tell me the best way to limit a quest based on level?
How you do this depends, of course, on exactly how you want the limitation to work. In order to detect the player's level, however, you'll want to use the GetLevel function.

 

My understanding is that the "HasBeenEaten" function queries some variable from the corpse actor - which variable would this be, and is there any way to reset it, other than resurrecting the actor?
Yeah, HasBeenEaten really was a bit of a stuff-up on Bethesda's behalf, if you ask me. Instead of implementing more annoying hard-coded stuff, they could have just used a token in order to store extra information on an actor. The same applies for the extra pointless AVs that seem to have no hard-coded functionality, but at least they can be accessed and changed via the many available AV functions.

 

If you don't want to edit the Cannibal perk to use a token instead of HasBeenEaten, then you could try using code like this in order to resurrect then kill an actor without resetting their geometry:

ResurrectActor 1
KillActor

You should note, however, that this will cause their "death cry" to play when they die again.

 

So how do I create a "cutscene" with custom cameras, showing the player doing stuff.... some setcamera command? Where to start? Has it been used somewhere in the game, where I can take a look at? Is it possible at last? It should be....
Oh, do you mean with VATS cams? As far as I know, there is no way to force their playback. Your best bet would probably to to use animations or GameSetting manipulation in order to move the camera.

 

Is there any way to check whether the player is under the effect of Ant Queen Pheromones, without directly altering the Pheromone item?

 

I tried using HasMagicEffect, but apparently that won't work because Pheromones are considered a chem instead of a spell.

Use IsSpellTarget

 

I'm trying to make a safe that is only unlocked with a keypad.

 

I figured the best way to do it is to have two global variables parallel to eachother. One goes up every time a key is pressed, and the other only goes up if the keys are pushed in the right order. That way when when the enter button is pushed, it will only unlock if the sequence of buttons have been pressed in the correct order, and only a certain number of times. Pressing enter will reset the variables to 0 if the variables do not match.

 

Is there a better way to do this?

 

Also, How do I change a variable's value relatively instead of absolute?

That method should work fine, although if you really wanted to you could probably condense that to one variable. For the sake of making the method easy to follow, however, it's probably better to keep them separate.

 

In order to change the value of a variable relative to its current value, you should use that variable in its own "set" command. For example, the following code will increment the value of "iCount" by 1:

set iCount to iCount + 1

 

Cipscis

Link to comment
Share on other sites

So how do I create a "cutscene" with custom cameras, showing the player doing stuff.... some setcamera command? Where to start? Has it been used somewhere in the game, where I can take a look at? Is it possible at last? It should be....
Oh, do you mean with VATS cams? As far as I know, there is no way to force their playback. Your best bet would probably to to use animations or GameSetting manipulation in order to move the camera.

 

 

Dude you are now me official reply-master! You do that for living? :smile: + :thumbsup:

 

About me question:

I mean a simple, "normal" cutscene, like every game uses. outside VATS. A scene with a camera, some scripted sequences, player watches is... and continues playing. You saying with all that VATS stuff and external cameras there is no "normal" way of creating one? I'm surprised...

Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.

×
×
  • Create New...