User Tools

Site Tools


scripting:d.i.y._teleporter

How to teleport in the game

This is how you turn an ordinary object into one that will take you somewhere when you activate it.

Teleporting to a predefined UID

Below is a bench from the picnic area, obviously this method can be applied to any object in any area.

NewThing Object;
Player 4;
UID 18446741874686296153;
DefinitionType "OBJECT_BENCH";
ScriptName NULL;
ScriptData "NULL";
ThingGamePersistent FALSE;
ThingLevelPersistent FALSE;
StartCTCPhysicsStandard;
PositionX 36.311279;
PositionY 33.758057;
PositionZ 30.0;
RHSetForwardX 0.0;
RHSetForwardY 0.999994;
RHSetForwardZ 0.0;
RHSetUpX 0.0;
RHSetUpY 0.0;
RHSetUpZ 0.999994;
EndCTCPhysicsStandard;
StartCTCEditor;
EndCTCEditor;
Health 1.0;
EndThing;

Now make the changes that you see below and then change the EntranceConnectedToUID to whatever you want.

NewThing Object;
Player 4;
UID 18446742884686296695;
DefinitionType "OBJECT_BENCH";
CreateTC "CTCActionUseScriptedHook";
ScriptData "NULL";
ThingGamePersistent FALSE;
ThingLevelPersistent FALSE;
StartCTCPhysicsStandard;
PositionX 36.311279;
PositionY 33.758057;
PositionZ 30.0;
RHSetForwardX 0.0;
RHSetForwardY 0.999994;
RHSetForwardZ 0.0;
RHSetUpX 0.0;
RHSetUpY 0.0;
RHSetUpZ 0.999994;
EndCTCPhysicsStandard;
StartCTCEditor;
EndCTCEditor;
StartCTCActionUseScriptedHook;
Usable TRUE;
ReversedOnMiniMap FALSE;
HiddenOnMiniMap TRUE;
VersionNumber 1;
ForceConfirmation FALSE;
TeleportToRegionEntrance TRUE;
EntranceConnectedToUID 4443968713749693261;
SoundName "";
AnimationName "";
ReplacementObject 0;
EndCTCActionUseScriptedHook;
Health 1.0;
EndThing;

Pay special attention to these additions:

CreateTC "CTCActionUseScriptedHook";

and

StartCTCActionUseScriptedHook;
Usable TRUE;
ReversedOnMiniMap FALSE;
HiddenOnMiniMap TRUE;
VersionNumber 1;
ForceConfirmation FALSE;
TeleportToRegionEntrance TRUE;
EntranceConnectedToUID 4443968713749693261;
SoundName "";
AnimationName "";
ReplacementObject 0;
EndCTCActionUseScriptedHook;

Telporting to an area that does not have a predefined UID

You can teleport to anything in the game using the following method.

First you'll need something to use as a telporter (door, object, etc) and something to act as its destination.
(I usually use markers for this purpose).

Getting coordinates

Open up FinalAlbion.wld in notepad and find the map you'll be teleporting from.

Example:

NewMap 1;
MapX 3232;
MapY 3488;
LevelName "FinalAlbion\LookoutPoint.lev";

This will be your starting position. Now find the map you want to teleport to.

Example:

NewMap 326;
MapX 4736;
MapY 5184;
LevelName "creature_hub.lev";


Now take the x coord of the destination and subtract the starting maps x coord from it: (Creature Hub) 4736 - 3232 (LookoutPoint)

Then do the same with the Y coord: 5184 - 3488

Using the coordinates

Enter the values you got earlier into your Marker or whatever thing you are using as the destination of your teleporter.

PositionX 1504.00;
PositionY 1696.00;

It should now look something like this:

NewThing Marker;
Player 4;
UID 1844674187468630005444448;
DefinitionType "GAZE_OUT_OF_BUILDING_MARKER";
ScriptName NULL;
ScriptData "NULL";
ThingGamePersistent FALSE;
ThingLevelPersistent FALSE;
StartCTCPhysicsStandard;
PositionX 1504.00;
PositionY 1696.00;
PositionZ 12.32;
RHSetForwardX 0.927178;
RHSetForwardY -0.374605;
RHSetForwardZ 0.0;
RHSetUpX 0.000342;
RHSetUpY 0.000847;
RHSetUpZ 0.999994;
EndCTCPhysicsStandard;
StartCTCEditor;
EndCTCEditor;
StartCTCVillageMember;
VillageUID 197244689441620123;
EndCTCVillageMember;
Health 1.0;
EndThing;


Now set the EntranceConnectedToUID of your teleporter object to the UID of your destination object.

Example:

NewThing Object;
Player 4;
UID 36363632222229999777;
DefinitionType "OBJECT_OK_GARGOYLE_FEMALE_02";
CreateTC "CTCActionUseScriptedHook";
ScriptData "NULL";
ThingGamePersistent FALSE;
ThingLevelPersistent FALSE;
StartCTCPhysicsStandard;
PositionX 126.44458;
PositionY 75.484619;
PositionZ 30.163687;
RHSetForwardX -0.788017;
RHSetForwardY -0.615644;
RHSetForwardZ 0.0;
RHSetUpX 0.000301;
RHSetUpY -0.000385;
RHSetUpZ 0.999994;
EndCTCPhysicsStandard;
StartCTCEditor;
EndCTCEditor;
StartCTCActionUseScriptedHook;
Usable TRUE;
ReversedOnMiniMap FALSE;
HiddenOnMiniMap TRUE;
VersionNumber 1;
ForceConfirmation FALSE;
TeleportToRegionEntrance TRUE;
EntranceConnectedToUID 1844674187468630005444448;
SoundName "";
AnimationName "";
ReplacementObject 0;
EndCTCActionUseScriptedHook;
Health 1.0;
EndThing;


Note that when you teleport to some maps, like creature hub, you will not be able to leave unless you add either a region exit or a teleporter to the area.

Asking for confirmation

It is possible to make the telporter object ask for confirmation before sending the hero to its destination point.
To do this set up your teleporter as detailed above then make the following alterations to the object you're using as the trigger.

ScriptData "Add what ever you would like to ask right here!";
ForceConfirmation TRUE;

The teleporter object should now give you the option to confirm or decline before doing its stuff.

scripting/d.i.y._teleporter.txt · Last modified: 2006/01/15 01:58 (external edit)