FANDOM


to-do

Plugin works with 64-bit version of 3ds Max only! Tested with 3ds Max version: 2013, 2014.

Download hdmaster's 3ds Max plugin

Copy gup into stdplugs folder of 3ds Max

Start 3ds Max

Explain snags toggle feature (placing CPs on ground)

useful key shortcuts

  • Alt+w = minimize/maximize viewport
  • g = viewport grid on/off
  • s = snaps toggle on/off
  • Ctrl+i = select inverse
  • Ctrl+d = deselect
  • Ctrl+a = select all in scene
  • space = selection lock toggle
  • Shift+h=hide/unhide helper objects

Import scene.4ds (select Files of type = 4DS Model (*.4DS))

Import (if existing) check2.bin (select Files of type = LS3D Scene (*.BIN))

Important! When exporting you have to select LS3D Navigation (*.BIN)

Meaning of CP values

Make changes with MaxScript or Listener (list of commands below)

// Checkpoints
// INFO: $ is always the current selection
 
// Seperate Connection bewteen Checkpoint001 and Checkpoint002
$Checkpoint001.Seperate $Checkpoint002
 
// Alternativ: select CP and use following command to seperate selected CP with Checkpoint002
$.Seperate $Checkpoint002
 
// Readout all values of a CP
showProperties $
 
// Edit CP values for a selection of Checkpoints
// for vehicle checkpoints use LS3DVehicleCheckpoint instead LS3DHumanCheckpoint
for obj in selection where classOf obj == LS3DHumanCheckpoint do (
    obj.Unk16 = 1
    obj.Unk18 = 64
    obj.Unk19 = 80
    obj.Unk20 = true
    obj.Unk21 = 0
    obj.Unk23 = 0
    obj.Unk24 = 0
    obj.Unk25 = 0
    obj.Unk27 = -2
    obj.Unk28 = -2
    obj.Unk29 = -2
    obj.Unk30 = -2
    obj.AIcommand = 2
    obj.link = "test"
)
 
// Unname a checkpoint
for obj in selection do obj.name = uniqueName "Checkpoint"
 
// delete all objects in scene
delete objects
 
// create human checkpoints
// vehicle CPs can be created with LS3DVehicleCheckpoint
a = LS3DHumanCheckpoint name:"a" pos:[-10,-10,0]
b = LS3DHumanCheckpoint name:"b" pos:[-10,10,0]
c = LS3DHumanCheckpoint name:"c" pos:[ 10,10,0]
d = LS3DHumanCheckpoint name:"d" pos:[ 10,-10,0]
center = LS3DHumanCheckpoint name:"Center" pos:[0,0,0]
 
// connect a with b, b with c, ...
a.Join b
b.Join c
c.Join d
d.Join a
 
// connect all checkpoints (a, b, c, d) with center CP
center.Join a
center.Join b
center.Join c
center.Join d
 
// undo connections with CP Center
for connected in center.Connections do (
   center.Seperate connected
   // or e.g. "connected.Seperate center", order does not care
)
 
// returns "true" for all human CPs and "false" for all vehilce CPs
if center.Human do (
    print ( "Checkpoint " + center.name +  " is a human checkpoint")
)
 
// returns "true" if f is connected with Center, here it's "false"
if center.Joined a then ( 
   print ( "Checkpoint " + center.name + " is connected to " + a.name )
) else (
   print ( "Checkpoint " + center.name + " is not connected to " + a.name )
)
 
// select Center
select center
 
// ..and connect with a
$.Join $a
 
// here "true"
if mitte.Joined a then ( 
   print ( "Checkpoint " + $.name + " is connected to " + a.name )
) else (
   print ( "Checkpoint " + $.name + " is not connected to " + a.name )
)

Ad blocker interference detected!


Wikia is a free-to-use site that makes money from advertising. We have a modified experience for viewers using ad blockers

Wikia is not accessible if you’ve made further modifications. Remove the custom ad blocker rule(s) and the page will load as expected.