steelplate Posted August 30, 2009 Share Posted August 30, 2009 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 More sharing options...
sesom Posted August 30, 2009 Share Posted August 30, 2009 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 More sharing options...
steelplate Posted August 31, 2009 Author Share Posted August 31, 2009 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 More sharing options...
sesom Posted August 31, 2009 Share Posted August 31, 2009 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 More sharing options...
steelplate Posted September 1, 2009 Author Share Posted September 1, 2009 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 More sharing options...
steelplate Posted September 1, 2009 Author Share Posted September 1, 2009 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 More sharing options...
steelplate Posted September 1, 2009 Author Share Posted September 1, 2009 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 More sharing options...
Quetzlsacatanango Posted September 1, 2009 Share Posted September 1, 2009 I'm going to take a guess - you don't want "npc2ref.kill player". You want "npc2ref.iskiller player. actorref.kill kills the actorref. "actorref.iskiller player" checks to see if the ref was killed by the player. Link to comment Share on other sites More sharing options...
steelplate Posted September 1, 2009 Author Share Posted September 1, 2009 Ohhhhhhhh... See this is the kind of genius I need. That totally worked, now I'm just having an issue with some path markers and package behaviours. Thankyou so much Quetzl, you're a champ :) You too Sesom. Link to comment Share on other sites More sharing options...
steelplate Posted September 1, 2009 Author Share Posted September 1, 2009 Okay, bed time. Still have one final issue with NPC3 going nuts and refusing to stop shooting the clearly dead NPC2. I'm guessing I need to send a stop package or some sort of condition stating that that package can only happen if NPC2 is alive? I dunno, sleep :P Link to comment Share on other sites More sharing options...
Recommended Posts