Horizontal Teleporters

Questions and answers about the how and why of making maps.
Post Reply
User avatar
Dontkillme
Private First Class
Private First Class
Posts: 69
Joined: Thu May 15, 2008 4:42 pm
Location: Germany

Horizontal Teleporters

Post by Dontkillme »

I'm trying to make horizontal teleporters for 3.0 but they won't work.
Does anyone know how to make horizontal teleporters?
tobylane
Private First Class
Private First Class
Posts: 130
Joined: Thu Jan 29, 2009 4:21 pm

Re: Horizontal Teleporters

Post by tobylane »

One recent svn revision had a basic description, I think there's more somewhere on the forums or wiki or will be soon.
User avatar
Spazzy McGee
Sergeant Major
Sergeant Major
Posts: 1405
Joined: Mon Mar 21, 2005 4:59 pm
Location: Planet MoFo, Sheffield Division; United Kingdom

Re: Horizontal Teleporters

Post by Spazzy McGee »

Please explain what you are trying, and what is going wrong. I have made 'horizontal teleporters' in 3.0. You use a mesh face as a teleporter, so in reality they can be any shape, size or angle, just like a mesh.

There ARE docs around somewhere that explain the additions to the mesh which allow you do do this. Not only are there options to use mesh faces as teles; you can choose to allow just tanks, or just shots; only allow tanks from a specific team; have multiple teles in one link; choose whether or not to display the tele on the radar, and whether or not you see the 'glowing' effect when you approach it.
"Life is what happens to you while you're busy making other plans." - John Lennon
trepan
Dev Wizard
Dev Wizard
Posts: 704
Joined: Fri Feb 21, 2003 7:50 pm

Re: Horizontal Teleporters

Post by trepan »

Something that should be added to the bzw.5 manpage:
MeshFace teleporter links use the drivethrough and shootthrough
properties to determine the types of objects can pass through
the links.


A few notes about horizontal teleporters:

1. linkSrcTouch is probably the best approach (without 'passable')

2. Because a tank with no horizontal velocity could just bounce
indefinitely between horizontal teles (assuming no linked
vertical ones), you can use the tankMinAngle to make sure
that only tanks with a horizontal velocity can use a teleporter.

3. To make a surface that forces tanks to jump if they go too
quickly, you can use the tankMinSpeed parameter, and force them
to jump if they successfully pass through the teleporter (just send
it back to the same mesh face, with some geometry inversions and
a tankDstVelOffset). There are actually lots of tricks along this vein
that can be done with the new teleporters.



Excerpts from the current bzw.5 manpage...

BZW.5 'face' section:

Code: Select all

         face  # start a face   (repeatable)
           # the front-face winding is counter-clockwise
           vertices 1 4 0 3 5   # list of vertices (requires at least three)
           normals 2 6 0 4 7    # list of normals              (optional)
           texcoords 0 3 2 4 9  # list of texture coordinates  (optional)
           phydrv example_phydrv  # assign a physics driver

           # special parameters
           baseTeam 1  # the base team number

           # zone parameters
           zoneTeam 1          # equivalent to the zone 'team' parameter
           zoneSafety 0 1 2 3  # equivalent to the zone 'safety' parameter
           zoneFlag SW         # equivalent to the zone 'flag' parameter
           zoneFixedFlag 1 GM  # equivalent to the zone 'fixedFlag' parameter
           zoneHeight 1.0 GM   # specify the zone's height (for weight factor)
           zoneWeight 0.0 GM   # directly the zone's weight
           zoneCenter          # spawns always occur in the zone's center

           # link parameters
           linkName myLink  # the name use for linkage
           linkSrcTouch     # touching the face will cause teleportation
                            # (tanks do not have to pass through the face)
           linkSrcRebound   # tanks rebound when the far side of the
                            # link is blocked (instead of dropping)
           linkSrcNoGlow    # do not render the foggy 'glow'
           linkSrcNoSound   # do not play the teleport sound
           linkSrcNoEffect  # do not render shot or tank teleported effects
           linkSrcCenter 0  # vertex index
           linkSrcSdir   0  # normal index  ("Side"  normal)
           linkSrcTdir   0  # normal index  ("Top"   normal)
           linkSrcPdir   0  # normal index  ("Plane" normal)
           linkSrcSscale 1.0
           linkSrcTscale 1.0
           linkSrcPscale 0.0
           linkDstCenter 0  # vertex index
           linkDstSdir   0  # normal index  ("Side"  normal)
           linkDstTdir   0  # normal index  ("Top"   normal)
           linkDstPdir   0  # normal index  ("Plane" normal)
           linkDstSscale 1.0
           linkDstTscale 1.0
           linkDstPscale 0.0
         endface  # end the face
BZW.5 link section:

Code: Select all

       The Link object
       Adds a route to teleport between a linkSrc and a linkDst.

       # Teleporter names are terminated with either :f (forward)
       # or :b (backwards). The forwards link points to 0 degrees,
       # and the backwards link points to 180. Mesh defined links
       # use their face ':linkName' string instead of ':f' or ':b'.
       # Links are made by pattern matching the teleporter names.
       # The '*' and '?' globbing characters can be used to make
       # multiple matches. If there are multiple destination matches,
       # the destination will be selected randomly from the list
       # of unblocked candidates. If links are created in a group
       # definition, they can link to teleporters outside of the
       # definition using the absolute linking syntax (prefix the
       # teleporter name with the '/' character, for example:
       # '/other_group/shinyTele:f').

       # NOTE: "bzfs -setforced debugLinks 3" will print the linkage table.

       link
         name example_link
         # this will link all teleporters randomly to all other teleporters
         src *
         dst *
         # cumulative labels
         addSrc src1 src2 ...
         addDst src1 src2 ...
         # physics parameters
         # make the output speed the same as the input speed
         sameSpeed
         shotSameSpeed
         tankSameSpeed
         # source position scale
         srcPosScale      x y z
         shotSrcPosScale  x y z
         tankSrcPosScale  x y z
         # source velocity scale
         srcVelScale      x y z
         shotSrcVelScale  x y z
         tankSrcVelScale  x y z
         # destination velocity offset (using linkDst's S/T/P vectors)
         dstVelOffset     x y z
         shotDstVelOffset x y z
         tankDstVelOffset x y z
         # angle control
         tankAngle  degrees
         tankAngleOffset degrees
         tankAngleScale scale
         tankAngVel degrees_per_second
         tankAngVelOffset degrees_per_second
         tankAngVelScale scale
         # speed blocks
         shotMinSpeed speed
         shotMaxSpeed speed
         tankMinSpeed speed
         tankMaxSpeed speed
         # angle blocks
         shotMinAngle degrees
         shotMaxAngle degrees
         tankMinAngle degrees
         tankMaxAngle degrees
         # team blocks
         blockTeams 1 2 3
         shotBlockTeams 1 2 3
         tankBlockTeams 1 2 3
         allowTeams 1 2 3
         shotAllowTeams 1 2 3
         tankAllowTeams 1 2 3
         # flag blocks
         shotBlockFlags GM ST OO
         tankBlockFlags GM ST OO
         shotAllowFlags GM ST OO
         tankAllowFlags GM ST OO
         # BZDB variable blocks
         blockVar varName
         shotBlockVar varName
         tankBlockVar varName
         # Pass messages
         passText pass message for shots and tanks
         shotPassText pass message for shots
         tankPassText pass message for tanks
         tankPassSound soundFile  # pass sound for tanks ('none' to disable)
       end

       #  or,  to  link   between  known  teleporters  examp_tele1(front)  and
       examp_tele2(back)

       link
         name  example_realLink
         src examp_tele1:f
         dst examp_tele2:b
       end

       #  you can also use the linkSet object, which allows you to define mul-
       tiple links in one block, re-using the state within the block.

       linkSet
         # this state will be used by all links
         shotBlockFlags ST CL
         tankBlockFlags ST CL
         srcPosScale 0 0 0

         addSrc centerTele1:*
         addSrc centerTele2:*

         dst teleTeam1:*
         allowTeams 1
         addBiDir  # adds bidirectional links between current srcs and dsts

         dst teleTeam2:*
         allowTeams 2
         addBiDir  # adds bidirectional links between current srcs and dsts

         blockTeams  # reset the team blocking state

         src topTele:*   # reset the srcs
         dst voidTele:*  # reset the dsts
         addLink   # adds a single unidirectional link
       end
User avatar
optic delusion
Special Forces
Special Forces
Posts: 1052
Joined: Sat Sep 25, 2004 2:29 pm
Location: Planet MoFo
Contact:

Re: Horizontal Teleporters

Post by optic delusion »

Here's some working bzw code. Maybe it will help.
Attachments
299_tele_test.bzw
notice -setforced debugLinks 3
(20.73 KiB) Downloaded 107 times
Take a look at my Defender game mode concept.

Thinking is not an automatic process. A man can choose to think or to let his mind stagnate, or he can choose actively to turn against his intelligence, to evade his knowledge, to subvert his reason. If he refuses to think, he courts disaster: he cannot with impunity reject his means of perceiving reality.
User avatar
Dontkillme
Private First Class
Private First Class
Posts: 69
Joined: Thu May 15, 2008 4:42 pm
Location: Germany

Re: Horizontal Teleporters

Post by Dontkillme »

Thanks, but it won't work:

Code: Select all

# Exported from Wings 3D 1.0.2


world
name tele_test
end
options
-setforced debugLinkDraw 1
-setforced debugLinks 3
-setforced debugShotSegments 1
-setforced debugMotion 1
#-setforced shotBlockVar 1
#-setforced tankBlockVar 0
-set _forbidDebug 0
end

define tele
mesh
  name cylinder8
  #96 vertices, 82 faces
  vertex 1.0000 0.0000 0.0666
  vertex 0.9239 -0.3827 0.0666
  vertex 0.7071 -0.7071 0.0666
  vertex 0.3827 -0.9239 0.0666
  vertex 0.0000 -1.0000 0.0666
  vertex -0.3827 -0.9239 0.0666
  vertex -0.7071 -0.7071 0.0666
  vertex -0.9239 -0.3827 0.0666
  vertex -1.0000 -0.0000 0.0666
  vertex -0.9239 0.3827 0.0666
  vertex -0.7071 0.7071 0.0666
  vertex -0.3827 0.9239 0.0666
  vertex -0.0000 1.0000 0.0666
  vertex 0.3827 0.9239 0.0666
  vertex 0.7071 0.7071 0.0666
  vertex 0.9239 0.3827 0.0666
  vertex 1.0000 -0.0000 -0.0666
  vertex 0.9239 -0.3827 -0.0666
  vertex 0.7071 -0.7071 -0.0666
  vertex 0.3827 -0.9239 -0.0666
  vertex 0.0000 -1.0000 -0.0666
  vertex -0.3827 -0.9239 -0.0666
  vertex -0.7071 -0.7071 -0.0666
  vertex -0.9239 -0.3827 -0.0666
  vertex -1.0000 -0.0000 -0.0666
  vertex -0.9239 0.3827 -0.0666
  vertex -0.7071 0.7071 -0.0666
  vertex -0.3827 0.9239 -0.0666
  vertex -0.0000 1.0000 -0.0666
  vertex 0.3827 0.9239 -0.0666
  vertex 0.7071 0.7071 -0.0666
  vertex 0.9239 0.3827 -0.0666
  vertex 0.8315 -0.3444 0.0666
  vertex 0.9000 -0.0000 0.0666
  vertex 0.8315 0.3444 0.0666
  vertex 0.6364 0.6364 0.0666
  vertex 0.3444 0.8315 0.0666
  vertex -0.0000 0.9000 0.0666
  vertex -0.3444 0.8315 0.0666
  vertex -0.6364 0.6364 0.0666
  vertex -0.8315 0.3444 0.0666
  vertex -0.9000 -0.0000 0.0666
  vertex -0.8315 -0.3444 0.0666
  vertex -0.6364 -0.6364 0.0666
  vertex -0.3444 -0.8315 0.0666
  vertex 0.0000 -0.9000 0.0666
  vertex 0.3444 -0.8315 0.0666
  vertex 0.6364 -0.6364 0.0666
  vertex 0.9000 -0.0000 -0.0666
  vertex 0.8315 -0.3444 -0.0666
  vertex 0.6364 -0.6364 -0.0666
  vertex 0.3444 -0.8315 -0.0666
  vertex 0.0000 -0.9000 -0.0666
  vertex -0.3444 -0.8315 -0.0666
  vertex -0.6364 -0.6364 -0.0666
  vertex -0.8315 -0.3444 -0.0666
  vertex -0.9000 -0.0000 -0.0666
  vertex -0.8315 0.3444 -0.0666
  vertex -0.6364 0.6364 -0.0666
  vertex -0.3444 0.8315 -0.0666
  vertex -0.0000 0.9000 -0.0666
  vertex 0.3444 0.8315 -0.0666
  vertex 0.6364 0.6364 -0.0666
  vertex 0.8315 0.3444 -0.0666
  vertex 0.8165 -0.3382 0.0252
  vertex 0.8838 -0.0000 0.0252
  vertex 0.8165 0.3382 0.0252
  vertex 0.6249 0.6249 0.0252
  vertex 0.3382 0.8165 0.0252
  vertex -0.0000 0.8838 0.0252
  vertex -0.3382 0.8165 0.0252
  vertex -0.6249 0.6249 0.0252
  vertex -0.8165 0.3382 0.0252
  vertex -0.8838 -0.0000 0.0252
  vertex -0.8165 -0.3382 0.0252
  vertex -0.6249 -0.6249 0.0252
  vertex -0.3382 -0.8165 0.0252
  vertex 0.0000 -0.8838 0.0252
  vertex 0.3382 -0.8165 0.0252
  vertex 0.6249 -0.6249 0.0252
  vertex 0.8838 -0.0000 -0.0252
  vertex 0.8165 -0.3382 -0.0252
  vertex 0.6249 -0.6249 -0.0252
  vertex 0.3382 -0.8165 -0.0252
  vertex 0.0000 -0.8838 -0.0252
  vertex -0.3382 -0.8165 -0.0252
  vertex -0.6249 -0.6249 -0.0252
  vertex -0.8165 -0.3382 -0.0252
  vertex -0.8838 -0.0000 -0.0252
  vertex -0.8165 0.3382 -0.0252
  vertex -0.6249 0.6249 -0.0252
  vertex -0.3382 0.8165 -0.0252
  vertex -0.0000 0.8838 -0.0252
  vertex 0.3382 0.8165 -0.0252
  vertex 0.6249 0.6249 -0.0252
  vertex 0.8165 0.3382 -0.0252
  normal 0.7002 0.0000 0.7139
  normal 0.6469 -0.2680 0.7139
  normal 0.4951 -0.4951 0.7139
  normal 0.2680 -0.6469 0.7139
  normal 0.0000 -0.7002 0.7139
  normal -0.2680 -0.6469 0.7139
  normal -0.4951 -0.4951 0.7139
  normal -0.6469 -0.2680 0.7139
  normal -0.7002 -0.0000 0.7139
  normal -0.6469 0.2680 0.7139
  normal -0.4951 0.4951 0.7139
  normal -0.2680 0.6469 0.7139
  normal -0.0000 0.7002 0.7139
  normal 0.2680 0.6469 0.7139
  normal 0.4951 0.4951 0.7139
  normal 0.6469 0.2680 0.7139
  normal 0.7002 0.0000 -0.7139
  normal 0.6469 -0.2680 -0.7139
  normal 0.4951 -0.4951 -0.7139
  normal 0.2680 -0.6469 -0.7139
  normal 0.0000 -0.7002 -0.7139
  normal -0.2680 -0.6469 -0.7139
  normal -0.4951 -0.4951 -0.7139
  normal -0.6469 -0.2680 -0.7139
  normal -0.7002 -0.0000 -0.7139
  normal -0.6469 0.2680 -0.7139
  normal -0.4951 0.4951 -0.7139
  normal -0.2680 0.6469 -0.7139
  normal -0.0000 0.7002 -0.7139
  normal 0.2680 0.6469 -0.7139
  normal 0.4951 0.4951 -0.7139
  normal 0.6469 0.2680 -0.7139
  normal -0.5165 0.2139 0.8291
  normal -0.5591 0.0000 0.8291
  normal -0.5165 -0.2139 0.8291
  normal -0.3953 -0.3953 0.8291
  normal -0.2139 -0.5165 0.8291
  normal 0.0000 -0.5591 0.8291
  normal 0.2139 -0.5165 0.8291
  normal 0.3953 -0.3953 0.8291
  normal 0.5165 -0.2139 0.8291
  normal 0.5591 0.0000 0.8291
  normal 0.5165 0.2139 0.8291
  normal 0.3953 0.3953 0.8291
  normal 0.2139 0.5165 0.8291
  normal 0.0000 0.5591 0.8291
  normal -0.2139 0.5165 0.8291
  normal -0.3953 0.3953 0.8291
  normal -0.5591 -0.0000 -0.8291
  normal -0.5165 0.2139 -0.8291
  normal -0.3953 0.3953 -0.8291
  normal -0.2139 0.5165 -0.8291
  normal 0.0000 0.5591 -0.8291
  normal 0.2139 0.5165 -0.8291
  normal 0.3953 0.3953 -0.8291
  normal 0.5165 0.2139 -0.8291
  normal 0.5591 0.0000 -0.8291
  normal 0.5165 -0.2139 -0.8291
  normal 0.3953 -0.3953 -0.8291
  normal 0.2139 -0.5165 -0.8291
  normal 0.0000 -0.5591 -0.8291
  normal -0.2139 -0.5165 -0.8291
  normal -0.3953 -0.3953 -0.8291
  normal -0.5165 -0.2139 -0.8291
  normal -0.6742 0.2792 0.6838
  normal -0.7297 0.0000 0.6838
  normal -0.6742 -0.2792 0.6838
  normal -0.5160 -0.5160 0.6838
  normal -0.2792 -0.6742 0.6838
  normal 0.0000 -0.7297 0.6838
  normal 0.2792 -0.6742 0.6838
  normal 0.5160 -0.5160 0.6838
  normal 0.6742 -0.2792 0.6838
  normal 0.7297 0.0000 0.6838
  normal 0.6742 0.2792 0.6838
  normal 0.5160 0.5160 0.6838
  normal 0.2792 0.6742 0.6838
  normal 0.0000 0.7297 0.6838
  normal -0.2792 0.6742 0.6838
  normal -0.5160 0.5160 0.6838
  normal -0.7297 -0.0000 -0.6838
  normal -0.6742 0.2792 -0.6838
  normal -0.5160 0.5160 -0.6838
  normal -0.2792 0.6742 -0.6838
  normal 0.0000 0.7297 -0.6838
  normal 0.2792 0.6742 -0.6838
  normal 0.5160 0.5160 -0.6838
  normal 0.6742 0.2792 -0.6838
  normal 0.7297 0.0000 -0.6838
  normal 0.6742 -0.2792 -0.6838
  normal 0.5160 -0.5160 -0.6838
  normal 0.2792 -0.6742 -0.6838
  normal 0.0000 -0.7297 -0.6838
  normal -0.2792 -0.6742 -0.6838
  normal -0.5160 -0.5160 -0.6838
  normal -0.6742 -0.2792 -0.6838
  #matref cylinder8 # group?_default
  matref default
  face
    vertices 0 16 31 15
    normals 0 16 31 15
  endface
  face
    vertices 0 33 32 1
    normals 0 33 32 1
  endface
  face
    vertices 1 17 16 0
    normals 1 17 16 0
  endface
  face
    vertices 1 32 47 2
    normals 1 32 47 2
  endface
  face
    vertices 2 18 17 1
    normals 2 18 17 1
  endface
  face
    vertices 2 47 46 3
    normals 2 47 46 3
  endface
  face
    vertices 3 19 18 2
    normals 3 19 18 2
  endface
  face
    vertices 3 46 45 4
    normals 3 46 45 4
  endface
  face
    vertices 4 20 19 3
    normals 4 20 19 3
  endface
  face
    vertices 4 45 44 5
    normals 4 45 44 5
  endface
  face
    vertices 5 21 20 4
    normals 5 21 20 4
  endface
  face
    vertices 5 44 43 6
    normals 5 44 43 6
  endface
  face
    vertices 6 22 21 5
    normals 6 22 21 5
  endface
  face
    vertices 6 43 42 7
    normals 6 43 42 7
  endface
  face
    vertices 7 23 22 6
    normals 7 23 22 6
  endface
  face
    vertices 7 42 41 8
    normals 7 42 41 8
  endface
  face
    vertices 8 24 23 7
    normals 8 24 23 7
  endface
  face
    vertices 8 41 40 9
    normals 8 41 40 9
  endface
  face
    vertices 9 25 24 8
    normals 9 25 24 8
  endface
  face
    vertices 9 40 39 10
    normals 9 40 39 10
  endface
  face
    vertices 10 26 25 9
    normals 10 26 25 9
  endface
  face
    vertices 10 39 38 11
    normals 10 39 38 11
  endface
  face
    vertices 11 27 26 10
    normals 11 27 26 10
  endface
  face
    vertices 11 38 37 12
    normals 11 38 37 12
  endface
  face
    vertices 12 28 27 11
    normals 12 28 27 11
  endface
  face
    vertices 12 37 36 13
    normals 12 37 36 13
  endface
  face
    vertices 13 29 28 12
    normals 13 29 28 12
  endface
  face
    vertices 13 36 35 14
    normals 13 36 35 14
  endface
  face
    vertices 14 30 29 13
    normals 14 30 29 13
  endface
  face
    vertices 14 35 34 15
    normals 14 35 34 15
  endface
  face
    vertices 15 31 30 14
    normals 15 31 30 14
  endface
  face
    vertices 15 34 33 0
    normals 15 34 33 0
  endface
  face
    vertices 16 48 63 31
    normals 16 48 63 31
  endface
  face
    vertices 17 49 48 16
    normals 17 49 48 16
  endface
  face
    vertices 18 50 49 17
    normals 18 50 49 17
  endface
  face
    vertices 19 51 50 18
    normals 19 51 50 18
  endface
  face
    vertices 20 52 51 19
    normals 20 52 51 19
  endface
  face
    vertices 21 53 52 20
    normals 21 53 52 20
  endface
  face
    vertices 22 54 53 21
    normals 22 54 53 21
  endface
  face
    vertices 23 55 54 22
    normals 23 55 54 22
  endface
  face
    vertices 24 56 55 23
    normals 24 56 55 23
  endface
  face
    vertices 25 57 56 24
    normals 25 57 56 24
  endface
  face
    vertices 26 58 57 25
    normals 26 58 57 25
  endface
  face
    vertices 27 59 58 26
    normals 27 59 58 26
  endface
  face
    vertices 28 60 59 27
    normals 28 60 59 27
  endface
  face
    vertices 29 61 60 28
    normals 29 61 60 28
  endface
  face
    vertices 30 62 61 29
    normals 30 62 61 29
  endface
  face
    vertices 31 63 62 30
    normals 31 63 62 30
  endface
  face
    vertices 32 64 79 47
    normals 32 64 79 47
  endface
  face
    vertices 33 65 64 32
    normals 33 65 64 32
  endface
  face
    vertices 34 66 65 33
    normals 34 66 65 33
  endface
  face
    vertices 35 67 66 34
    normals 35 67 66 34
  endface
  face
    vertices 36 68 67 35
    normals 36 68 67 35
  endface
  face
    vertices 37 69 68 36
    normals 37 69 68 36
  endface
  face
    vertices 38 70 69 37
    normals 38 70 69 37
  endface
  face
    vertices 39 71 70 38
    normals 39 71 70 38
  endface
  face
    vertices 40 72 71 39
    normals 40 72 71 39
  endface
  face
    vertices 41 73 72 40
    normals 41 73 72 40
  endface
  face
    vertices 42 74 73 41
    normals 42 74 73 41
  endface
  face
    vertices 43 75 74 42
    normals 43 75 74 42
  endface
  face
    vertices 44 76 75 43
    normals 44 76 75 43
  endface
  face
    vertices 45 77 76 44
    normals 45 77 76 44
  endface
  face
    vertices 46 78 77 45
    normals 46 78 77 45
  endface
  face
    vertices 47 79 78 46
    normals 47 79 78 46
  endface
  face
    vertices 48 80 95 63
    normals 48 80 95 63
  endface
  face
    vertices 49 81 80 48
    normals 49 81 80 48
  endface
  face
    vertices 50 82 81 49
    normals 50 82 81 49
  endface
  face
    vertices 51 83 82 50
    normals 51 83 82 50
  endface
  face
    vertices 52 84 83 51
    normals 52 84 83 51
  endface
  face
    vertices 53 85 84 52
    normals 53 85 84 52
  endface
  face
    vertices 54 86 85 53
    normals 54 86 85 53
  endface
  face
    vertices 55 87 86 54
    normals 55 87 86 54
  endface
  face
    vertices 56 88 87 55
    normals 56 88 87 55
  endface
  face
    vertices 57 89 88 56
    normals 57 89 88 56
  endface
  face
    vertices 58 90 89 57
    normals 58 90 89 57
  endface
  face
    vertices 59 91 90 58
    normals 59 91 90 58
  endface
  face
    vertices 60 92 91 59
    normals 60 92 91 59
  endface
  face
    vertices 61 93 92 60
    normals 61 93 92 60
  endface
  face
    vertices 62 94 93 61
    normals 62 94 93 61
  endface
  face
    vertices 63 95 94 62
    normals 63 95 94 62
  endface
  face
linkName telefront
linkSrcTouch
    vertices 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 64
    normals 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 64
  endface
  face
linkName teleback
linkSrcTouch
    vertices 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 80
    normals 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 80
  endface
end
enddef

group tele
shift 0 0 0.8
scale 20 20 20
end

teleporter normaltele
  position 100.0 100.0 0.0 
  size 0.125 5 20
  rotation 0.0
  border 1.12
end

link
src /cylinder8:telefront
dst normaltele
end

link 
src /cylinder8:teleback
dst normaltele
end
User avatar
McSpider
Private First Class
Private First Class
Posts: 49
Joined: Mon May 11, 2009 10:11 pm
Location: Yukon Canada
Contact:

Re: Horizontal Teleporters

Post by McSpider »

You need correct links
When I started your map file it outputted this:

Code: Select all

linkdefs: link
linkdefs:   addSrc /cylinder8:telefront
linkdefs:   addDst normaltele
linkdefs: end

linkdefs: link
linkdefs:   addSrc /cylinder8:teleback
linkdefs:   addDst normaltele
linkdefs: end

LinkSrcIDs:
  linkSrc 0: /normaltele:b
  linkSrc 1: /normaltele:f

LinkDstIDs:
  linkDst 0: /normaltele:f
  linkDst 1: /normaltele:b

Potential Links:
  /normaltele:b
  /normaltele:f
  /$g_tele_0/cylinder8:telefront
  /$g_tele_0/cylinder8:teleback

LinkMap:
  src normaltele:b
    dst normaltele:f
  src normaltele:f
    dst normaltele:b
So you need to change your links to this:

Code: Select all

link
src /$g_tele_0/cylinder8:telefront
dst normaltele:f
end

link 
src /$g_tele_0/cylinder8:teleback
dst normaltele:b
end
And you'll need return links if you want the normal tele to go to the cylinder:

Code: Select all

link
src normaltele:f
dst /$g_tele_0/cylinder8:telefront
end

link
src normaltele:b
dst /$g_tele_0/cylinder8:teleback
end
McSpider - BZFlag Maps
Post Reply