Skyrim Teleport Network - Questions.

Post » Thu Jun 21, 2012 6:00 pm

Firstly, I have the important part of this mod - the teleportation - working after following the numerous tutorials out there on the 'net.

I'd like to polish things up a little before I build out the entire teleportation network, so I have a couple of questions:

1) I'd like to have some kind of "Teleport to XXXX" appear on the screen as the user approaches a teleport (my teleports actually use a hit box to trigger the teleport when a player steps into the hit box - seems a better solution than making the player click on an object to teleport). How do I make this appear when the player is a short distance away from a teleport?

2) What's the standard way to make sure my follower(s) are teleported along with me?

Any help would be appreciated.
User avatar
Laura Wilson
 
Posts: 3445
Joined: Thu Oct 05, 2006 3:57 pm

Post » Thu Jun 21, 2012 5:33 pm

1) There is a MOD already made for this (choose destination to teleport to) - Details are either in just a post on here, or in the stickied Tutorials topic at the top of this board (I can't remember where I saw it). If you can find those details it may help you get No1 sorted.

2) I believe it depends what Script Commands you use to do the move (vanilla door-teleports transport any active followers by default, as does Fast Travel) ... I have never tried ... but - if not - you could rig this up by testing the CurrentFollowerFaction and moving any applicable NPC(s)
User avatar
maya papps
 
Posts: 3468
Joined: Mon Aug 07, 2006 3:44 pm

Post » Thu Jun 21, 2012 7:57 am

I'm using the following to perform the move:

Scriptname SC001Teleport extends ObjectReference  ObjectReference Property TeleportDestination  Auto  Event OnTriggerEnter(ObjectReference akActionRef)    if (akActionRef == Game.GetPlayer())        Game.GetPlayer().MoveTo(TeleportDestination)    EndIfEndEvent

I use the OnTriggerEnter instead of OnActivate so that the user doesn't have to click anything to teleport. Not sure how I would test for CurrentFollowerFaction without iterating through every NPC in the game, which seems awfully inefficient...
User avatar
Maria Garcia
 
Posts: 3358
Joined: Sat Jul 01, 2006 6:59 am

Post » Thu Jun 21, 2012 8:09 pm

(I don't see another way to test for ActiveFollower ... that said, check out the FollowerDialogue Quest ... see if there is any hint how to detect a current follower ... But I don't think there is ... )

Have you thought about using player.FastTravel (http://www.creationkit.com/FastTravel_-_Game). Does that auto move any active followers (should work same way as MoveTo)??
User avatar
kyle pinchen
 
Posts: 3475
Joined: Thu May 17, 2007 9:01 pm

Post » Thu Jun 21, 2012 8:27 am

Since you're creating a teleport system with fixed points, why not just use doors? The auto load doors do not require any clicking (they're the ones you see leading in and out of caves).
User avatar
JR Cash
 
Posts: 3441
Joined: Tue Oct 02, 2007 12:59 pm

Post » Thu Jun 21, 2012 12:18 pm

I think what this guy wants is a teleport with many fixed destination, and i have a system exactly like this, the player steps on a area and it triggers a menu to pop up and then the player chooses where they want to go and it opens a portal to where they chose.

So your question about having the player trigger a trigger while close to a trigger has a simple answer, create another trigger box just before the other trigger box...
(sorry that sounds confusing)
User avatar
rheanna bruining
 
Posts: 3415
Joined: Fri Dec 22, 2006 11:00 am

Post » Thu Jun 21, 2012 8:05 am

Not quite. Each teleporter will go to a fixed location, but I am planning on putting three or four teleports outside cities, maybe two in smaller settlements such as Riverwood or Dragon Bridge and a single teleport in places such as High Hrothgar that are a pain in the butt to reach otherwise. Therefore a player might need multiple "hops" to get to their destination.

I will investigate the cave door trigger - sounds like it has the potential to do what I want.

Eventually I'd like to set up a system where a Grand Soul gem is required to activate each teleport thus necessitating that the player visits each location on foot before the teleport can be used, but that's in the future.
User avatar
Sudah mati ini Keparat
 
Posts: 3605
Joined: Mon Jul 23, 2007 6:14 pm

Post » Thu Jun 21, 2012 12:54 pm

So I have figured out how to determine if an actor is a follower, but how do I get the list of actors in the game? I see nothing in the Creation Kit wiki that would help.
User avatar
Agnieszka Bak
 
Posts: 3540
Joined: Fri Jun 16, 2006 4:15 pm

Post » Thu Jun 21, 2012 6:54 pm

Not sure I understand the question. To get a list of all actors, open the CK, and click "Actors". To find NPCs near you, you could use FindClosestActorFromRef() or FindRandomActorFromRef(), though there may be a more elegant solution for this.
User avatar
Ice Fire
 
Posts: 3394
Joined: Fri Nov 16, 2007 3:27 am

Post » Thu Jun 21, 2012 10:18 am

game.fasttravel will move your entire party with you, but it has limited use, depending on navmesh (most of the time the origin point has to be sitting on a navmesh from an esm).

another way to teleport with entire party is to use a loaddoor.activate(game.getplayer()). it will be as if the player is remotely accessing a load door into your desired area (load doors are already perma-persistent so there is no risk of dirty editing on your mod when referncing it in a property)

since fasttravel does not work when the destination is indoors, you can use the door trick and it works fine.


the downside of the door trick is that it only lets you end up on the door's destination teleport marker. you cannot specify where in the cell to teleport to.
User avatar
Vera Maslar
 
Posts: 3468
Joined: Wed Sep 27, 2006 2:32 pm

Post » Thu Jun 21, 2012 9:32 pm

You could make the equivalent of a http://en.wikipedia.org/wiki/Stargate_%28device%29#Dial-Home_Device that the player would need to activate to open the portal (Having the teleport always on wouldn't make much sense anyway...if I were designing a teleporter, I'd want to make sure that Sabre Cats and Mammoths weren't getting teleported just because they wandered into the pickup area)
User avatar
Sheila Esmailka
 
Posts: 3404
Joined: Wed Aug 22, 2007 2:31 am

Post » Thu Jun 21, 2012 4:19 pm

@Redwood Elf: LOL, that would be amusing, and I have thought of trying that out. But I put a reference check in my teleport code to make sure only the player would be teleported.
User avatar
Shannon Marie Jones
 
Posts: 3391
Joined: Sun Nov 12, 2006 3:19 pm

Post » Thu Jun 21, 2012 9:00 pm

So a couple of things after experimenting with auto load doors last night:

1) Only partial success with followers. My guess is that I need to finalize the navmesh under the destination marker. Correct?

2) My teleports pop up the message "To Skyrim". Is there any way to change the default message?
User avatar
BRIANNA
 
Posts: 3438
Joined: Thu Jan 11, 2007 7:51 pm

Post » Thu Jun 21, 2012 2:57 pm

1. Technically the Actor will walk so navmeshes must be in place to reach the destination on foot. (MoveTo or Amethyst's method are really more ideal)

2. Create a http://www.creationkit.com/Message to change that default text. Anything in the Title will be used as a "Text Override" replacing the interior/exterior name.
User avatar
CHARLODDE
 
Posts: 3408
Joined: Mon Apr 23, 2007 5:33 pm

Post » Thu Jun 21, 2012 12:36 pm

OK, Issues 1 and 2 solved. I now have teleporting followers and I can change the pop-up text to read "To PlaceName".

Final issue before I'm ready for prime time. It looks like (using AutoLoadDoor01) the teleport is activated from some distance away. I'd prefer to be very close to the teleport or (preferably) have to step onto it before it activates. Is there any way to change the radius of detection for the AutoLoadDoor object? I've tried playing with several settings (scale, test radius) but nothing seems to be affected.
User avatar
Andrea Pratt
 
Posts: 3396
Joined: Mon Jul 31, 2006 4:49 am

Post » Thu Jun 21, 2012 7:27 pm

you can try scaling the auto door smaller, but somehow i vaguely remember already trying it and it not working.

you can also try rotating the door (so that it is more vertical than horizontal). i think the areas above and below the door are not as "big" as the circular radius around it (if that makes sense). an auto door doesnt actually need to lay flat on a surface to work. it can be upside down, sideways or whatever
User avatar
GEo LIme
 
Posts: 3304
Joined: Wed Oct 03, 2007 7:18 pm

Post » Thu Jun 21, 2012 3:24 pm

OK, Issues 1 and 2 solved. I now have teleporting followers and I can change the pop-up text to read "To PlaceName".

Final issue before I'm ready for prime time. It looks like (using AutoLoadDoor01) the teleport is activated from some distance away. I'd prefer to be very close to the teleport or (preferably) have to step onto it before it activates. Is there any way to change the radius of detection for the AutoLoadDoor object? I've tried playing with several settings (scale, test radius) but nothing seems to be affected.

AzSteve, what was your solution for finding the followers <= plurual?

I also need to find the followers for my mod (carriage travel), but it hasn't been working.
User avatar
Donatus Uwasomba
 
Posts: 3361
Joined: Sun May 27, 2007 7:22 pm

Post » Thu Jun 21, 2012 3:50 pm

@Members - Yes, it works correctly with multiple followers. I used an AutoLoadDoor01 - you'll require two at minimum since they need to be linked to each other.

@Amethyst Deceiver - I think the issue is with the collision mesh, which I believe is not changed with the scaling. Which means I need some way to import/export the .nif to/from Blender in order to change the mesh geometry.
User avatar
louise fortin
 
Posts: 3327
Joined: Wed Apr 04, 2007 4:51 am

Post » Thu Jun 21, 2012 2:21 pm

AzSteve, what was your solution for finding the followers <= plurual?

I also need to find the followers for my mod (carriage travel), but it hasn't been working.

Auto load doors are just doors. They don't require anything on our part to find followers. You don't need a mod in order to make followers follow you through doors, do you?

Your questions about carriages actually got me to try making a drivable carriage (before I found out it was already made) and the way I detected followers was to start a quest when the cart is activated.

The quest would have 4 optional reference aliases (since there are only 4 seats in the cart) with the match conditions:

GetFactionRank CurrentFollowerFaction >= 0
IsRidingHorse == 0

The reference aliases had an attached script that told the actors to use SetVehicle and PlayIdle in the OnInit event.
User avatar
Cccurly
 
Posts: 3381
Joined: Mon Apr 09, 2007 8:18 pm

Post » Thu Jun 21, 2012 6:50 pm

>Auto load doors are just doors. They don't require anything on our part to find followers. You don't need a mod in order to make followers follow you through doors, do you?
He's the one who said he was looking to get the followers... so I just asked.

I have some follow up questions, but instead of tacking them on to this thread, I started a new thread at:
http://www.gamesas.com/index.php?showtopic=1377939
User avatar
patricia kris
 
Posts: 3348
Joined: Tue Feb 13, 2007 5:49 am

Post » Thu Jun 21, 2012 6:34 pm

You don't need a mod in order to make followers follow you through doors, do you?
Correct. The critical part is making sure that you finalize the NavMesh underneath the door destination marker so that a blue triangle appears.
User avatar
Tinkerbells
 
Posts: 3432
Joined: Sat Jun 24, 2006 10:22 pm

Post » Thu Jun 21, 2012 7:39 am

Dang, this is making me crazy! I played around with NifSkope to scale down the AutoLoadDoor01 marker (copied to a different ID, of course). It looks like the collision radius may be hard coded in the game engine, although it's possible that NifSkope is not handling the collision meshes correctly. Either way, this seems to be doomed to failure.

The other method I used involved a trigger mesh and an XMarkerHeading destination marker. However, the destination marker doesn't seem to play well with the NavMesh finalization, therefore I cannot get any followers to teleport with me. But it does at least allow me to fine-tune the point at which teleportation takes place.

Extremely annoying...
User avatar
Nick Tyler
 
Posts: 3437
Joined: Thu Aug 30, 2007 8:57 am

Post » Thu Jun 21, 2012 2:57 pm

I'm not sure if this could be done, but I think one of the scripting gurus could possibly make it happen.

Each teleport has a self activate trigger surrounding it. When activated, the message pops up and asks you where you want to go and gives you the options. Each teleport will teleport you to same empty cell, where there are more self activated trigger boxes/planes aligned, one on top of the other. Each trigger in this cell will teleport you to a specific destination. Depending on the option you choose, all trigger boxes in the cell are de-activated, apart from the one that corresponds to your choice. When you fall onto it, it teleports you to your chosen destination.

Diagram -
   o/|\ /\ ______ Trigger 1 - Riften______ Trigger 2 - Solitude______ Trigger 3 - Morthal______ Trigger 4 - Whiterun
When you fall in the void, you will hit the active trigger and be teleported to the destination.
I had a similar setup in my mod, but the trigger planes were side by side and were active at all times. (I don't do scripting) :(

Just a thought
User avatar
Melanie
 
Posts: 3448
Joined: Tue Dec 26, 2006 4:54 pm

Post » Thu Jun 21, 2012 8:21 am

So I can get a trigger to work using Game.FastTravel(TeleportDestination). Followers come along for the ride too. Now my issue is that the game "helpfully" calculates the time that would've been taken to reach the location on foot and updates the game time. I would much rather have instantaneous teleportation. Is there any way to "slow down" the game clock for the duration of the fast travel to minimize the in-game time change?

Since my intent is to keep my teleports in outside (fast travel enabled) locations, using fast travel shouldn't be a problem. Except for the time change.
User avatar
Lizs
 
Posts: 3497
Joined: Mon Jul 17, 2006 11:45 pm

Post » Thu Jun 21, 2012 10:57 am

So I can get a trigger to work using Game.FastTravel(TeleportDestination). Followers come along for the ride too. Now my issue is that the game "helpfully" calculates the time that would've been taken to reach the location on foot and updates the game time. I would much rather have instantaneous teleportation. Is there any way to "slow down" the game clock for the duration of the fast travel to minimize the in-game time change?

Since my intent is to keep my teleports in outside (fast travel enabled) locations, using fast travel shouldn't be a problem. Except for the time change.
No, sadly we don't appear to be able to play with time :(

So you have a choice of two evils ... Either an Auto-Door that will behave badly, or a 7-hour teleport which then isn't really a teleport.
User avatar
Harry Leon
 
Posts: 3381
Joined: Tue Jun 12, 2007 3:53 am

Next

Return to V - Skyrim