Adding a Player
In Torque3D we call the object that you are moving when you press keys the ControlObject
and the Player
is one instance of such a ControlObject. So, let's define a PlayerData
datablock, place the following in the file data/CoinCollection/datablocks/player.tscript
:
datablock
this is very similar to a struct, basically in a datablock you define a set of default values which will get referenced by the spawned objects upon creation.
PlayerData(
CoinCollectorPlayer )
here we state that we want to create a datablock of the type PlayerData, for creating new Players. We call this new datablock CoinCollectorPlayer .
ShapeAsset
here it is a reference to the asset Playerbot_shape
in the Prototyping module. But it could be set to any ShapeAsset in any module. We'll cover assets later in the tutorial.
cameraMaxDist
defines the maximum distance from the Player shape to the Camera
this will essentially allow us to zoom out a bit.
And we need to register this datablock, do this in the onCreateGameServer
function in data/CoinCollection/CoinCollection.tscript
:
We use the method registerDatablock
because the core
module has a lot of clever logic about loading/unloading/updating datablocks which we can't take advantage of if we just use the exec
function.
Now we have a PlayerData
that we can use, but in order to actually use it, we have to create a Player
instance whenever a player enters the game. We do that in data/CoinCollection/server/gamemode.tscript
, first let's create a helper method that creates the Player
using the CoinCollectorPlayer
datablock and assigns it as the client's Control Object:
Now that's just a helper method, in order to actually activate it we should call it from the onClientEnterGame
function that we will add in that same file:
And let's make sure to delete the player object when they leave:
Now, run the level again and see that you can move around and jump with your newly created Player
object!
Last updated