Some questions on questmaking

Post » Thu Jun 21, 2012 9:20 am

Hi I have some small questions on quests :


1

I have set a debug to know when a quest starts ...
I made 3 quests that are supposed to follow one after the other as I set up a condition at beginning of each of the quests after the first , that requires getquestcomplete ( name of the previousquest ) == 1

but whatever I tried I get the notification whenever I get ingame that all 3 quests have started ...


2

How I do to make the quest start only if the Player has defeated Alduin last quest?


3

how I do to make the player get welcomed in the ship ( I have set all npcs inside to treat it as their home ) only when he starts the quest?

4

how I unlock a door if a quest gets to a certain stage?

5

how I do to force time passed for when a player clicks on a bed to go to sleep? so to force the player to make pass a certan amount of time

6

how I do to make appear a popup or something?


7

I have laced a ship and the crew inside has some aipackage patrols outside , but when the quest progresses the markers of the patrols get disabled , what this would emply if I change the position of the characters?

8

When a character is on patrol how I do to make him pause on a position instead than moving continuously from marker to marker?
User avatar
Ben sutton
 
Posts: 3427
Joined: Sun Jun 10, 2007 4:01 am

Post » Thu Jun 21, 2012 1:03 pm

4. Via scripting using the "Referance.unlock" function.

6. Via scripting. Best anyone can tell you without knowing more. Information on popup windows on the CK wiki under "Message box".

8. That is covered in the AI video of the creation kit series by Bethesda.

Basically when you tell the NPC to patrol to a marker, there should be an option in the window telling them how long to wait at that marker before moving on to the next.
User avatar
D LOpez
 
Posts: 3434
Joined: Sat Aug 25, 2007 12:30 pm

Post » Thu Jun 21, 2012 7:02 am

1. make sure start game enabled is unchecked for the quests which you want to start later.

2. in your quest conditions you can use GetQuestCompeted == 1 and specify whatever MQ # is DragonSlayer (i think thats the alduin final quest). however, if you want the quest to start as soon as that MQ is finished you may need to intercept it via SM event, or run some time of continuous check to see if the quest is finished.

because if you only have the quest with the condition, it will check it once and run whether the MQ is done or not. if it is not done the quest will never run until it is checked again.

3. before the quest starts you can use ai packages for the NPCs to go on the "defensive" when a stranger enters the home (something like a sleep package with lock doors and warn player checked will do this), then after your quest have the ai package switch to a "friendly" one where there is no lock doors/warn player checked. you would need to control this via aliases.

4. use a ObjRef property point it at your door and use a script fragment doorReference.Unlock()

5. no idea, dont know if you can, as time passed is dependent on the player entering a number when they sleep

6. use message objects, then in your fragment you declare the message as a property and use messageproperty.Show()

7. again with aliases or carefully conditioned in the package itself (is very tricky to balance because load order is key), you would need to have the actor switch to a new package that has its idles pointing to the new location. you may also need to combine this with ActorRef.EvaluatePackage() to make sure they are forced to switch to the new package at exactly the moment the ref is moved so they dont get left behind

8. use patrols, and link each marker of the patrol like a domino chain, you can specify how long to pause at each patrol point



if you need specifics, the bethesda tutorials cover almost everything here in the ck wiki.

thats how i learned how to do all of these things.
User avatar
Chavala
 
Posts: 3355
Joined: Sun Jun 25, 2006 5:28 am

Post » Thu Jun 21, 2012 5:11 am

8. Open the properties for the marker you want the actor to pause on. Click the patrol data tab, check the patrol data checkbox, and change the time to the number of seconds you want the actor to use that marker.
User avatar
Kaley X
 
Posts: 3372
Joined: Wed Jul 05, 2006 5:46 pm

Post » Thu Jun 21, 2012 5:20 pm

Ok thanks a lot I will try all this but , I am concerned about something , I woudl like that the AI packages for patrol could change according to the quest so howe I do to disable also the packages in the AI and get them replaced ay another under the condition of a previous quest completed?

So since this is a ship travel , mostly the AI packages will have to change from the patrollng land around the ship to the patrolling ship to patrolling other stuff etc ... I refer mostly tto the patrols ofc....

ALso wich one is a good parol replacer that works for instead a Guard post? But one that doesn't attack the player but attacks any monster that passes by ....
User avatar
Laura Richards
 
Posts: 3468
Joined: Mon Aug 28, 2006 4:42 am

Post » Thu Jun 21, 2012 4:45 am

There are two ways. One is to stack packages on the NPCs, and give the one on the top of the stack a 'GetQuestCompleted' condition. The NPC will use the topmost package in its list which has true conditions.

The other way is to use aliases. You can give aliases packages, and while an NPC is filling that alias they will do their topmost alias package, rather than their standard package. So your quest would fill aliases, with packages, with those NPCs, and then when your quest finished they'd revert to their normal behaviour.
User avatar
Conor Byrne
 
Posts: 3411
Joined: Wed Jul 11, 2007 3:37 pm

Post » Thu Jun 21, 2012 5:30 am

I would like to use aliases but how can I do to implement them ? I am not sure to have fully understood their functioning but I understand that they could be the best solution ....

those npcs are not part active of the quest so shoudl they be listed as aliases too?

so I have 5 npcs as crew

and only one is the one that gives and interacts tthorught dialogue with the player for the quest

should I place them in as well?

I woudl also like to make them immortals for as long as the quests are on ...
User avatar
Joie Perez
 
Posts: 3410
Joined: Fri Sep 15, 2006 3:25 pm

Post » Thu Jun 21, 2012 3:47 pm

To make them immortal as long as the quest lasts, all you have to do is put them in aliases in your quest which have the Essential flag set. So yes, you want to make an alias for each of them.
User avatar
Loane
 
Posts: 3411
Joined: Wed Apr 04, 2007 6:35 am

Post » Thu Jun 21, 2012 4:54 am

ok so I make an alias for each of them , set them to essential for as long as the quest is alive ... then in what order shoudl I place them and how I set the packages so that they replace the other packages they have as basic?

Also ... once the travel is over I woudl like ot remove the crew from the ship and give them different locations in world , eventually make one or two of them even a follower ...

so I just need to disable them from inside the ship and enable them somewherelse? on a condition if Quest is finished? ( enable the character in A anddesiable in b? )
User avatar
Natalie J Webster
 
Posts: 3488
Joined: Tue Jul 25, 2006 1:35 pm

Post » Thu Jun 21, 2012 10:43 am

Give the alias packages. Alias packages always supersede Actor packages. The order depends on what the packages are, but the actor will do the topmost one whose conditions are true. So if you have a sleep package for nighttime, put it above a sandbox package that would run all day.

You could just move your NPCs with MoveTo at the end of your quest.
User avatar
No Name
 
Posts: 3456
Joined: Mon Dec 03, 2007 2:30 am

Post » Thu Jun 21, 2012 9:50 am

mm more in detail how do I edit the aliases?
User avatar
Jonny
 
Posts: 3508
Joined: Wed Jul 18, 2007 9:04 am

Post » Thu Jun 21, 2012 11:02 am

I don't really think I can tell you better than the http://www.creationkit.com/Quest_Aliases alias page. Make a new alias (in the Quest's alias tab) for each NPC, set the fill type to Unique actor (assuming they are unique), make sure Essential is ticked, and then add packages to their packages list (rightclick in the list and choose either Add or New).

Also add anything you want them to have into their inventory, and any spells, factions, and keywords that you want them to have to those lists as well. (Spells have to be dragged into the list from the Object window.)

Remember that (apart from inventory items) the NPCs will have the things you give them here only during your quest - if you want them to have spells, packages and so forth afterwards, you need to edit the NPCs, not the aliases.
User avatar
*Chloe*
 
Posts: 3538
Joined: Fri Jul 07, 2006 4:34 am

Post » Thu Jun 21, 2012 11:29 am

I dont understand how to make an alias of a package ....
User avatar
Laura Shipley
 
Posts: 3564
Joined: Thu Oct 26, 2006 4:47 am

Post » Thu Jun 21, 2012 1:09 pm

In the Reference alias window there's a list headed 'Alias package data'. You right click in that and choose Add (for an existing package) or New (to make a new one). It's just like adding packages to Actors.
User avatar
Elisha KIng
 
Posts: 3285
Joined: Sat Aug 18, 2007 12:18 am

Post » Thu Jun 21, 2012 2:42 pm

ok but in the normal npc stats for AI there is a list set of other different tasks to perform during the day , shoudl I remove all and place those into the alias for the person or instead I need only to put the patrol and in this case how does the game knows if the breackfasts come befoure the patrol etc?
User avatar
Natalie Harvey
 
Posts: 3433
Joined: Fri Aug 18, 2006 12:15 pm

Post » Thu Jun 21, 2012 10:17 am

I placed the packages in the aliases of every single actor but , they do not work they stand idle inside the ship and do nothing ... is there a reason why packages in the aliase may not work?

btw I have closed the door of the ship and the actors are all home owners , do they need the key to the door may be to get out?
User avatar
Anthony Santillan
 
Posts: 3461
Joined: Sun Jul 01, 2007 6:42 am

Post » Thu Jun 21, 2012 2:28 pm

No, leave all the NPC packages where they are - they are needed to tell the NPC what to do when they're not in your alias.

There are lots of reasons why packages might not work, the most common probably being that you haven't set them up so that the NPC can get to wherever they're meant to go, or you've put some conditions on them that aren't true. It sounds like you need to add UnlockDoors to your package(s). Difficult to say more without knowing what your packages do.
User avatar
alicia hillier
 
Posts: 3387
Joined: Tue Feb 06, 2007 2:57 am

Post » Thu Jun 21, 2012 7:22 am

I added to each

Defaulteateditorloc8x1
Patrol
Defaulteateditorloc18x1
Defaultsleepeditorloc1x8
defaulteditorhomeowner

In this exact list , The eating time may vary to give different time patrols but nothing happens ....

the patrol is like 2-3 hours patrol on markers individually placed on the ship ....

patrol is the package template
patrolstart single ref xmarker heading chosen out of ship
patrol radius 150
repeteabletrue
start at nearest tre
ride horse if possible false

to not have any conflict I deleted all packages from the actual npcs and I was thinking to give them normal ones when done ....

the Door of the ship is locked as master and leveled , shoudl I place unlocked? I don't want that the player gets in befoure needed time ....
User avatar
Rachie Stout
 
Posts: 3480
Joined: Sun Jun 25, 2006 2:19 pm

Post » Thu Jun 21, 2012 9:48 am

I tried to make a key to the main door but it didn't help to give the key to the npc in the alias ... this is not working seems ...
User avatar
Louise Dennis
 
Posts: 3489
Joined: Fri Mar 02, 2007 9:23 pm

Post » Thu Jun 21, 2012 8:42 am

In this exact list , The eating time may vary to give different time patrols but nothing happens ....

Is it only the patrol that doesn't happen, or doesn't the eating either? (If you advance the game to the times it should happen, obviously.)

patrol is the package template

Have you set UnlockDoors at package start? (In the package flags tab.)

to not have any conflict I deleted all packages from the actual npcs and I was thinking to give them normal ones when done ....

That's quite unnecessary - and how would you give them packages when the quest is over? The only way would be to put them in new aliases.
User avatar
A Lo RIkIton'ton
 
Posts: 3404
Joined: Tue Aug 21, 2007 7:22 pm

Post » Thu Jun 21, 2012 4:30 am

So far I havent decided yet what to make them do when the quest is over , but I gived the same alias packages in the sequent quest couse is done in the same place and the following quest will give other alias packages if I make this work ....

about the unlock doors there is unlock doors during the sandbox but I also tried unlocking the main door so no need to unlock , but it still does nothing , it stays inside the ship and nothing else the patrol is what woudl mainly show me that the package is working but I wait and no one comes out ....
User avatar
Andrew Perry
 
Posts: 3505
Joined: Sat Jul 07, 2007 5:40 am

Post » Thu Jun 21, 2012 6:15 am

So, no one comes out, and now you need to find out what is going wrong. That is why I asked whether the eating packages worked - it would help narrow things down. I suggest also setting the patrol location to somewhere inside the ship and seeing if that works.
User avatar
Emma
 
Posts: 3287
Joined: Mon Aug 28, 2006 12:51 am

Post » Thu Jun 21, 2012 11:32 am

strange loading a more distant gamesave it seemed to allow the packages to work , do saves influence the actual display/ work of the packages?

Also Another small problem I am having is that the quests do not follow on each other ...

I have 3 quests the first is activated when game start
the second is activated on the following condition

getquestcompleted ( the first one ) == 1

but it never start , how can I do to make it start after the previous? ?
User avatar
Siidney
 
Posts: 3378
Joined: Fri Mar 23, 2007 11:54 pm

Post » Thu Jun 21, 2012 11:08 am

Conditions aren't evaluated continuously, only when a quest might be started, either by the Story manager (you'd need to add your quest to an event node) or by you from another quest (MyNextQuest.Start())

You do need to make sure you're using old saves that are untouched by your mod.
User avatar
Timara White
 
Posts: 3464
Joined: Mon Aug 27, 2007 7:39 am

Post » Thu Jun 21, 2012 2:25 pm

I checked next quest in the end of the previous one but didnt seem to work , do I need to force the start threought a script placement in the last stage of previous quest?

DIdnt do tuts on story manager yet where is it?
User avatar
Sierra Ritsuka
 
Posts: 3506
Joined: Mon Dec 11, 2006 7:56 am

Next

Return to V - Skyrim