Jump to content

Scripting troubles...


steelplate

Recommended Posts

Hey gang,

 

I'm in the middle of building a quest, I'll cut to the chase and give you the jist:

 

1. You find a tape, it triggers a quest telling you to find a NPC1.

2. You find the NPC1, triggering the quest stage completed (done using a LineOfSight condition).

3. You talk to the NPC1, you learn where he's headed and that he's carrying this item that needs to get to this other NPC2.

4. You can either escort NPC1 there, or kill him/pickpocket the item and assume his identity and deliver it yourself.

5. You find the NPC2 (again using a LineOfSight condition), upon saying a particular line, they receive the item and you/NPC1 have it removed from your container (using a result script).

6. NPC2 says thanks, you get a message confirming that they have received the item, then dun, dun, dunnnnn.... NPC3 appears with an Uzi (or something thereabouts :P)

7. NPC3 kills NPC2 (and NPC1 if you've haven't killed them) and a boss battle ensues.

8. Upon NPC3 being dead, the Quest is completed.

 

Now, here's where the troubles are happening:

 

1. Works fine.

2. Works fine.

3. Works fine.

4. Works fine.

5. It seems when the player enters the cell, the quest stage for finding them is set to complete (but that's a mistake, cause I need to fix it so it occurs when NPC2 has the item).

6. NPC3 never shows up. At the moment I have them as part of another quest that exists so they're somewhere else in the Wastelands when they're told to trigger their package to come and kill NPC2. Ultimately, even if the package was triggering right, they'll still have to travel from wherever they are at that point when the package was called. So my question on this step, is how do I instantly "warp/teleport" NPC3 to the correct Cell? Is there a function that exists that I can call?

7. Since I can't get 6 working, I don't yet know if step 7 works. But there is a UseWeapon script or something that I can get to happen right?

8. I believe I can set an OnDead command for this?

 

Anyone able to help?

Link to comment
Share on other sites

Hey gang,

Anyone able to help?

 

I know what you are going through i made a lot of similar things in FNN.

 

Some ideas:

 

5. Set the stage in the result script of the dialogue. So you can be sure thats the npc has got the item before.

 

6. make a xmarker for npc3 where he should show up (out of sight the player) and use a moveto. i.e.

 

npc3.disable 
npc3.moveto NewPosXmarker
npc3.enable
npc3.evp

 

Moveto sometimes fails or crash the game if you didnt disable the npc first. The evp command forces the npc to go through his packages and choose the one with the acrual condistions.

 

7. Look at the charon packages for a dramatic kill i used this as a guideline for my npc Dickie. Because this is a instant kill you can complete the quest with a setstage at the end of the "Use weapon package"

Link to comment
Share on other sites

Thanks for the code up and the help sesom, it works a treat. Oddly though, the characters are spawning, dying and resulting in no clothes. Was hilarious when I accidently triggered the stage early and came back to the location to find them piled on top of one another without clothing. I thought my scripting had got out of hand! :P

 

Anyways, I'm fixing it now. I think it's possibly got something to do with a package calling an item I've no longer got in there.

 

EDIT: Damn, that ain't it. Anyone have any idea why both NPC2 and NPC3 would be appearing in the cell in the correct locations, only without any of their gear on, and dead? I've investigated the corpses, they have all their gear on them, they're just not equipping it. Weird. Halp?

Link to comment
Share on other sites

Thanks for the code up and the help sesom, it works a treat. Oddly though, the characters are spawning, dying and resulting in no clothes. Was hilarious when I accidently triggered the stage early and came back to the location to find them piled on top of one another without clothing. I thought my scripting had got out of hand! :P

 

Anyways, I'm fixing it now. I think it's possibly got something to do with a package calling an item I've no longer got in there.

 

EDIT: Damn, that ain't it. Anyone have any idea why both NPC2 and NPC3 would be appearing in the cell in the correct locations, only without any of their gear on, and dead? I've investigated the corpses, they have all their gear on them, they're just not equipping it. Weird. Halp?

 

Actualy absolut no idea. I cant think of a way that it has todo with a moveto or disable. I did it in several mods (1+1=1, FNN and the new one).

 

The death is explainable if the player is near this NPC (mostly nothing happens if the player isnt near) and a creature thinks your NPC is a good breakfast. But the gear? I have no idea that anybody loots on his own in fallout.

 

Try in the console a :

 

player.moveto NPC3

 

(you need FOSE to use the editorids) at an earlier stage, before the scripted moveto to look whats going on there.

Link to comment
Share on other sites

Yeah I don't think they're being looted, it's almost as if there's some sort of miss-call happening. They do have their gear still on them when I load into the Cell, but it seems like it's not equipped on them. If I'm fast, I can see NPC3 being called into the Cell a second after me, only he's dead, ragdolling and doesn't have his clothes on.

 

Totally bizarre.

 

I'll try your test tonight, just to see what happenes when the Use Weapon Package is triggered.

Link to comment
Share on other sites

Okay, there's probably something going wrong in my stages I'm guessing. Here's the code on the QuestScript:

 

SCN QuestSCRIPT

;player has NPC1's Letter, quest begins
BEGIN GameMode
if player.getHasNote NPC1HolotapeJournal == 1
	if getStage QUEST < 10
		setStage QUEST 10
		setStage QUEST 20
		setStage QUEST 30
	endif
endif
END

;check for LOS first, then set stage complete
BEGIN GameMode
if player.GetLOS NPC1REF == 1
	setStage QUEST 15
endif
END

;player talks to NPC, learns about item, triggers stage.
BEGIN GameMode
if NPC1REF.AboutTheItem == 1
	setStage QUEST 25
endif
END

;NPC2 has Item and is in same cell, trigger stage.
BEGIN GameMode
if NPC2REF.getHasNote NPC1Holotape	
	if player.getInSameCell NPC2REF
		setStage QUEST 35
		NPC3REF.disable
		NPC3REF.moveto QUESTWarpMarker
		NPC3REF.enable
		NPC3REF.evp
	endif
endif
END

;NPC2 dies at the hands of NPC3, trigger stage (aka "Boss Battle")
BEGIN GameMode
if NPC2REF.kill NPC3REF
	setStage QUEST 40
endif
END

;player kills NPC3, quest is complete
BEGIN GameMode
if NPC3REF.kill player
	if getStage QUEST < 100
		setStage QUEST 100
	endif
endif
END

;exists purely if the primary NPC2 is killed by the player
BEGIN GameMode
if NPC2REF.kill player
	if getStage QUEST < 150
		setStage QUEST 150
	endif
endif
END

 

Is there anything wrong being done there? There's NOTHING in any of the individual NPC scripts, bar some script varible entries stating a topic has been spoken about. Other than that, is there anything I'm mucking up here? Help :(

Link to comment
Share on other sites

Okay, I'm completely stumped.

 

I've figured out all my quest script, up until I come in with the NPC's all alive. They're not alive, they're dead and they down to their drawers. What the hell is going on here?

 

I even tested it by taking the packages out and it's still happening. It has to be something in the Quest that I'm doing, but I can't figure out what! It would appear that because the MoveTo exists to be called in the Quest, both actors involved just die. This couldn't have something to do with the kill scripting could it? It shouldn't, but this is the GECK we're talking about :P

 

Ergh! 3 nights from 6pm til 3am have got me nowhere.

 

*sigh*

 

/rant

Link to comment
Share on other sites

  • Recently Browsing   0 members

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