Jump to content

How can I make a bed teleport the player to another cell?


hq820

Recommended Posts

On a very general note, if you want to implement something like a vanilla quest or any other already implemented thing then you just have to locate the quest in ck and see how it achieves its goal, no need to reinvent the wheel.

Link to comment
Share on other sites

You can make an activator look like a bed and then script the rest(including replacing the activator with a real bed once you're done with it). You might be able to make a door look like a bed and skip the scripting part altogether but that depends on how you want this to function.

Link to comment
Share on other sites

How would making a new door base object with the bed mesh work? As in, a static load door, but one that looks like a bed?

 

Edit: As a disclaimer, I have not done that in Skyrim, but in Oblivion, it is definitely possible to make a door that looks like a bed, and even select a "soft" bed-like activation sound for it.

 

Edit 2: Ah Ooops. Well. Elias555 covered it already. But it is a good idea, definitely worth considering if you just need one bed in a single location that teleports player somewhere. If you want any normal bed there is to teleport the player, then you might need to make a more complicated system for it.

Edited by Contrathetix
Link to comment
Share on other sites

Those methods will result in clicking the bed and boom!, teleported. Dark brotherhood's method is much more immersive imo, more being kidnapped while sleeping and less Harry Potter portkey-bed, plus it works in any bed.

It probably registers to one of the sleep events, move the player and start the wake up scene, and it's all done already.

Link to comment
Share on other sites

Those methods will result in clicking the bed and boom!, teleported. Dark brotherhood's method is much more immersive imo, more being kidnapped while sleeping and less Harry Potter portkey-bed, plus it works in any bed.

It probably registers to one of the sleep events, move the player and start the wake up scene, and it's all done already.

Na. You make the activator force the sleeping animation(might need a second activator) onto the 'bed' and have the script fire 10seconds or so afterwards, can use a fade effect too. 200% more immersive than bethesdas method.

Link to comment
Share on other sites

I honestly don't see how it's more immersive, in bethesda you actually sleep in any bed, are teleported and without loosing immersion wake up in the destination, in yours, even if you hack all the animation, fades etc you don't get the normal sleep menu and it only works in a single specific bed. (plus the OP actually asked how to make it like the dark brotherhood quest)

 

And, second argument, massive difference in simplicity, bethesda's method is literally (removing switching some variables that are not relevant) this on a quest. Which could be reduced to a one-liner if you want teleporting without the controls and idle. In fact removing controls is only needed if you are going to play the idle, make a scene or whatever afterwards.

Event oninit() or on a specific stage
  RegisterForSleep()
EndEvent

Event OnSleepStart(float afSleepStartTime, float afDesiredSleepEndTime)
 Game.DisablePlayerControls(ablooking = true, abCamSwitch = true)
 Game.ForceFirstPerson()
 Game.GetPlayer().MoveTo(pPlayerShackMarker)
 Game.GetPlayer().PlayIdle(WakeUp)
endif
And it even includes wakeup imagespace modifier and animation. I don't see the reason to register for activation on a specific activator-bed and try to hack the feeling of sleeping when you can actually register for sleep. Seriously, what's the drawback? that bethesda did it this way so it must be wrong?
In case the OP hasn't found it, the quest you are looking for is DBEntranceQuest, which has the sleep event and starts DB02. Note the regitseforsleep() in stage 20 and unregister on 255, you will only get the event while registered.
If you what you want to achieve is a specific bed teleporting then yes, you could do an activator (you can also do it with bethesda method, just add a triggerbox around the specific bed that triggers a variable on the quest that is checke on the event, something like that) but the OP asked something like the DB quest so i asume he wants any bed to trigger and therefore OnSleepStart is probably the only way.
Link to comment
Share on other sites

  • Recently Browsing   0 members

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