Jump to content

Quick Question - Quick Answer


Cipscis

Recommended Posts

Hopefully a quick question: Does anyone know the usage specifics of IsWeaponSkillType? I had tried using it with the syntax player.IsWeaponSkillType BigGuns - it compiled fine, but in game it seems like it's causing the script to halt.

 

What I'm looking for is a non-FOSE backup to determine the equipped weapon's skill type.

Link to comment
Share on other sites

  • Replies 804
  • Created
  • Last Reply

Top Posters In This Topic

Hi

 

I have a problem. I'm trying to make most respawnable NPCs level based. So that when I'm high level raiders are tough as well (I made raiders 1.5 mult, 2 level minimum, 15 level maximum). As I encounter a raider (15 lvl) he has armor as moded for 15th lvl, weapon and health, but his skills are as low as 2nd lvl raider's. I just don't get it.

 

If I make the same raider but with level 15 minimum and level 15 maximum - everything's fine. His primary skills are 100.

 

Where could I have gone wrong?

 

Thanks for help.

Link to comment
Share on other sites

I am trying to make a specific power armor helmet turn on a specific Imagespace Modifier when the pipboy light is turned on.

 

I would like someone to help make a script to do this.

 

Armor - CCCAPowerHelmet

Imagespace Modifier - CCCANightVsionIM

 

I do not know how to make scripts.

Link to comment
Share on other sites

@HugePinball:

That syntax looks correct to me, so I don't think that's the problem. The "Find Text" tool shows that it's only used in non-script conditions in spells and perks, so it might only work in this situation.

 

If this turns out to be the case, then you could try using CastImmediateOnSelf in order to cast a spell on the target that applies a certain scripted effect (perhaps adding a token or something) depending on the result of IsWeaponSkillType.

 

@dontpanic:

I've written a scripting tutorial for beginners, which is linked to in my signature, that you might find useful as an introduction to scripts. FOOK does this exact thing (apply an imagespace modifier when the pip-boy light is on if one of a certain set of helmets is worn), if I remember correctly they manage it by using HasMagicEffect to check if the "PipLight" effect is applied, and using RemoveSpell and ApplyImageSpaceModifier when it is turned on.

 

@sam1377:

This thread is for questions about making mods, not questions about using them (which typically require a large amount of troubleshooting). If you haven't already, I would recommend that you make a new thread in which you detail your problem so that people will be able to help you more easily.

 

Cipscis

 

EDIT:

 

This is a very late edit (over 2 years have passed), but in another thread here on the Nexus forums the solution to HugePinball's problem has been found - MenuMode script doesn't complete

 

Cipscis

Link to comment
Share on other sites

Hi Cipscis,

 

I'm having a bit of troubles with my scripts. (If that's what you want to actually call mine.) I'm a huge noob with scripts and I've been looking around the Functions on the GECK Homepage. I managed to accomplish some tasks on my own, which surprised me. But what I'm trying to do is create an alternate starting point followed by a message box, name box, and race gen. Now, I know and have the functions. What I don't get is how to put them in an order to where one happens after then next. Being the lazy noob that I am, I just stuck all the functions in the CG00 which *surprise* crashed to desktop while starting a new game. I can see why it did this, because it tried running all of them at once. I just need to know how to make them work one after the other rather then all at once. Thanks in advance to anyone who decides to help me out.

Link to comment
Share on other sites

Hey t3hf4ll0ut,

 

Yeah, calling all of those functions in the same frame will probably cause just a little bit of mayhem. In order to call them sequentially, you could try using what I like to call an "iStage" variable, like this:

int iStage

Begin GameMode

if iStage == 0
; Stage 0 code
	set iStage to 1
elseif iStage == 1
; Stage 1 code
	set iStage to 2
...
...
...
endif

End

As you can see, this will cause each section of code to run sequentially from frame to frame. Hopefully, with the functions that you're using, keeping this code in a GameMode block will prevent the code from running during MenuMode (i.e. while the menus are open) so that when the player exits one menu, they will automatically enter the next menu.

 

If this doesn't work, let me know and I'll think of something else to try.

 

Cipscis

Link to comment
Share on other sites

Before you answer, I've never scripted a single thing in my life.

I looked around on the GECK Wiki for a while, and I was wondering- Using the GECK, how do you make a message box appear when you enter a worldspace? I know how to create a message, but not how to link it to entering a worldspace.

Link to comment
Share on other sites

@EMH:

If you're interested in learning how to script, you might want to take a look at the beginner's scripting tutorial that I've written. You can find the link in my signature.

 

In Fallout 3, messages are displayed via use of the ShowMessage function. In order to make a message display when the player enters a specific worldspace, you'll want to set up a quest script (which is basically a script that runs in the background) in order to detect this. To set up a quest script, you'll need to make a quest to attach it to. Depending on how you want the quest to work, you might want to set it as "start game enabled", and you'll probably want to give it a script processing delay of about 1.

 

The script itself will be pretty simple. You'll want to use a GameMode block to check which worldspace the player is in via GetInWorldspace, and call ShowMessage and (optionally) StopQuest once the player enters your worldspace. Something like this would show the message once when the player enters the worldspace:

Begin GameMode

if player.GetInWorldspace <MyWorldspace>
	ShowMessage <MyMessage>
	StopQuest <MyQuest>
endif

End

If you want the message to display every time the player enters that worldspace, you might try using something like this:

int bInWorldspace

Begin GameMode

if bInWorldspace != player.GetInWorldspace <MyWorldspace>
	set bInWorldspace to bInWorldspace == 0
	if bInWorldspace
		ShowMessage <MyMessage>
	endif
endif

End

Cipscis

Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.

×
×
  • Create New...