#General modding chat

1 messages · Page 13 of 1

smoky sierra
#

how do people remove the glossy texture from custom models in trailmappers also is there a way to add a texture to my model which changes based on height like from grassy to rocky when its at high points

elfin yarrow
#

why does it fail to invoke OnPlayerJoined?

latent pine
elfin yarrow
latent pine
elfin yarrow
latent pine
#

huh

elfin yarrow
#

i don't know how to decipher it

latent pine
#

seems like it's not getting the player object for some reason

paper bone
elfin yarrow
#

so i just move onPlayerJoined above setPlayerTeam?

paper bone
#

Sorry i got confused because youre functions have the same name

#

Try to make the names more distinct and maybe put the brackets at the function declaration right next to the function name without a space (not sure if this changes anything)

elfin yarrow
paper bone
near parcel
paper bone
#

No idea what it might be then

near parcel
#

the code seems correct. My only guesses:

  • You are testing it in singleplayer. Maybe teams don't work in singleplayer?
  • You are testing it alone in multiplayer. Maybe teams aren't initialized until the 2nd player joins?
  • Maybe you can't set the player team from onplayerjoined events? Maybe there is a race condition between initialization of the player/running the callback and initializing the teams?
warm canopy
#

function setPlayerTeam(playerId)
    tm.players.SetPlayerTeam(playerId, 0)
end

function onPlayerJoined(player)
    setPlayerTeam(player.playerId) 
end

tm.players.OnPlayerJoined.add(onPlayerJoined)```
#

Works fine for me in singleplayer

cinder spruce
#

new ui for replay mod :)

elfin yarrow
scenic echo
#

What i noticed is that with trailmappers maps if someone late joins it gives that error, but if the mod is loaded with everyone in the server it works fine

unreal rune
#

Can someone point me in the right direction:
I would like to create custom logic blocks but do not know where to get started.

  1. Is there resources on how to make such mods? (And mods in general)
  2. Does anyone have a template/example for a custom logic block?
near parcel
#

not possible

unreal rune
#

damn...

radiant lion
#

Yep, closest thing you can do for now is something like the missile mod, where it's just default blocks with some extra features, but you can't interact with logic input/output in any way

unreal rune
#

thats really unfortunate, alright :/

#

so many cool things would be possible otherwise ^^'

near parcel
#

only sensors would be, for actual gates the limitations of how the system works doesn't allow much beyond what there already is

unreal rune
#

sensors would be interesting aswell (well its part of what i was hoping would be possible 😅)

radiant lion
#

Tbh the logic update added pretty much all I would have wanted from custom logic blocks

unreal rune
#

are "consumers" possible? as in yeah i cant add another addition block, but can i add a block that takes an input and does something with it?

near parcel
#

no

#

closest thing you can do is measuring movement/rotation of blocks and guessing that comes from an input

radiant lion
#

Technically the same can be done for output, by applying a force on something seen by a sensor, but it's quite unreactive and you can't really get output that's not binary

near parcel
#

and it breaks if the creation is moving/rotating

radiant lion
#

Not really, so long as you take proper precautions

near parcel
#

even if you try to adjust for it, at high speeds it's still not reliable

unreal rune
#

sensors:

  • acceleration sensor
  • camera rotation sensor (could be used to get what direction the player is looking)
  • radio receiver
  • color sensor
  • angular rotation sensor

actuators:

  • radio sender
  • number display for player hud (constant x,y location as set in the block)
  • text display for player hud (same + constant text, can be turned on and off)
#

some ideas I had that I was hoping were possible

radiant lion
unreal rune
#

radio sender/receiver was meant as as way for creations to send/receive logic values on channels

#

but yeah

elfin yarrow
near parcel
radiant lion
#

Fair enough

unreal rune
#

interesting, where can i learn about this bug with rc transmission?

near parcel
#
Trailmakers Wiki

The RC glitch is a bug that allows a build to control one or multiple detached builds. It can be achieved in two ways, each with their own drawbacks and benefits.
The glitch relies on a bug that causes logic connections (from seats/logic blocks) towards the root of the creation weldgroups graph to not...

scenic echo
latent pine
near parcel
#

I mostly meant that not many new things would become possible

carmine flame
#

@radiant lion does the custom missiles mod work again?

scenic echo
regal bear
smoky sierra
tribal gate
#

Is this still the case

near parcel
#

it was changed already

hoary skiff
#

add to xbox

near parcel
#

not gonna happen any time soon

latent pine
smoky sierra
#

im making a new map and trying to make a custom model have a nice texture but when i put a texture in in trailmappers it stretches the texture and is basically just a single colour im wondering how people do textures on custom models like in the map mountainous airstrip

smoky sierra
#

like the ground is one big 3d model and i want it textured

hard shore
# smoky sierra im making a new map and trying to make a custom model have a nice texture but wh...

i kinda ran into this issue with a cube model that I was using to get an accurate layout of a roadway, and I found that certain positions on the texture correlate to certain faces of the model, here i'm showing the track layout, as well as where i had to position the model on the texture so that it would show up how i wanted in-game, this effect can also be seen on other textures for different models (red), I'm not sure if there's a good software that you could use that helps with making textures (blender maybe? free on steam), but i hope this can help a bit. Some solutions might be to up the resolution on your texture and shrink whatever you're doing to the texture to where the faces are using the texture. (might take a bit of time to figure out where the faces are on the texture but yk)

smoky sierra
regal bear
# smoky sierra appreciate u tryuna help but my model has over 12k faces bc of a bunch of subdiv...

Any 3d model that uses a texture needs that texture to be 'mapped' to the model. It's called UV mapping and can be done in most 3D modeling apps, such as Blender.

It can be simple or complex depending on the model and what you want to achieve.

https://all3dp.com/2/blender-uv-mapping-simply-explained/#:~:text=As mentioned%2C UV mapping is,Blender: UV Mapping

All3DP

Want to bring your 3D models to life with stunning textures? Read on to learn all about the Blender UV mapping process!

smoky sierra
regal bear
smoky sierra
regal bear
smoky sierra
smoky sierra
regal bear
#

ignore the mtl file - it's just a text file that Trailmappers and Trailmakers don't use

regal bear
# smoky sierra

Also you should export with Forward Axis: Z
and
Up Axis: Y

The pic shows the settings I use when I export to obj

smoky sierra
regal bear
#

Hopefully I understand you correctly. When you are repeating an image over a model it's called tiling.

There's a setting in the UV mapping window to make an image repeat over the whole window so try to find that.

If all your mesh elements are selected in the 3d window you should see the unwrapped elements of your mesh overlaid on the image in the in the UV mapping window.

If you select all those elements in the UV mapping window and scale them up you force the tiling to be smaller which makes each pixel appear smaller on the mapped model.

smoky sierra
#

i assume you mean this part

smoky sierra
regal bear
#

Your texture should already exist outside Blender. You just load it in to Blender so you can map it onto your model

#

OK looking again at your image it looks like you are trying to paint desert sand onto a landscape?

smoky sierra
#

yea

regal bear
#

What you actually need is a single tile of desert sand as your texture and repeat that over your landscape. This is what I've been trying to explain - but failing 😛

regal bear
#

When you say you tiled it - what do you mean?

smoky sierra
#

i added it as a brush

regal bear
#

I'll say it again. You don't need to paint in Blender to do this. You use the UV Editing window to simply map that tile onto your model

#

Here's the steps:

  • In the Layout tab select your model.

  • Select 'Edit Mode' and make sure it's on Face mode

  • Press the 'a' key to select all faces in your model

  • In the UV sub tab select 'Cube Projection'

  • Now go to the UV Editing tab

  • If your desert sand tile isn't showing use the image selector at the top to select it

  • In the view tab on the right of the window make sure Repeat Image is ticked

Let me know when you get to this point

smoky sierra
#

im at the last step

#

cant find the view tab

#

?

regal bear
#

click the little < arrow there near the hand and magnifying glass

formal crane
smoky sierra
#

is that it

formal crane
smoky sierra
#

ohhh

regal bear
#

In the left window of the split

smoky sierra
#

gotcha

regal bear
#

yep see the view tab there?

smoky sierra
#

omg thank you

#

got it

#

then i8 just scale up the faces

#

?

regal bear
#

Cool so now you can see your tile tiled right?

smoky sierra
#

yeah

regal bear
#

Yep press the 'a' key while in the UV window to selec them all

#

then use the scale tool to uniformly scale them up and up and up until it looks right

smoky sierra
#

should i clear what i did in texture paint?

regal bear
#

Yeah it won't do anything. Do you have a material setup on the model? If you want see the mapping on the model you'll need the material to use that tile as the texture, not what you were painting.

smoky sierra
#

i scaled up the selection on the right but when i deselect it shows a black box thats not scaled is this bad?

regal bear
#

Oh you don't scale the model on the right - you scale the mapping on the left.

#

We were working in the UV window on the left only

smoky sierra
#

thats what i meant

#

like i scaled up the orange selection box in the left window

regal bear
#

Yes that's right - scale it up until it's huge

smoky sierra
#

but does the black box mean anything

#

also is there a way i can see what the terrain would look like with it applied?

regal bear
#

The black box is just the border of the tile texture. Don't worry about it

smoky sierra
#

ah ok thanks

regal bear
#

To see the texture on the model you need a material setup on the model - as I said a few messages earlier 🙂

mint grove
smoky sierra
mint grove
smoky sierra
mint grove
#

Is there a way to make an invisible object

warm canopy
#

ModGameObject.SetIsVisible(false)

smoky sierra
#

in my map teh custom object takes a while to load just wondering is the load time based on the complexity of the model the size or the texture

#

like what primarily

warm canopy
#

All of the above

#

File size is one of the main factors then how many polygons a model has. Textures are also a big bottleneck, generally best to keep textures sub 800kb for fast load times

smoky sierra
#

shit my texture is 4mb

#

do you think thats the issue then

warm canopy
#

1mb max Id say. Unless you want to wait 20 minutes

smoky sierra
#

yeah it takes like 5m to load for new player which just makes people leave

warm canopy
#

Reduce texture dimensions and put it through a png compressor if its a png

#

jpegs use less space but you give up the ability to have a non reflective surface

smoky sierra
#

is there like a good model file size i should aim for like 1mb for texsture

smoky sierra
#

also is there a way to compress or reduce file size of the model

warm canopy
#

You can use blender to reduce the polygons

radiant lion
#

But as for obj files no, you can't compress them, at their core they are just txt files listing all points and tris so the only way to reduce the size is to lower their amount (there is the chance of duplicate points in the file, but I'm assuming blender is smart enough)

mint grove
dapper jay
#

i think someone did setisvisible(false) on that segment of the documentation

sturdy iris
mint grove
near parcel
#

@dapper jay transfering the assets is not what crashes the game, that's done asynchronously and you can see it from the white cubes that are initially spawned before transforming into the actual assets. What crashes the game is spawning thousands of objects on a single physics frame, which you can't get around with client mods

dapper jay
#

not always? ive had times where a normal model just crashed the game

#

and i was loading only one

near parcel
#

unless your model is stupidly big, that won't happen. People have been able to load models bigger than what the game allows (to the point of the game pruning triangles) without issues

dapper jay
#

#1140936220487192587 message
#1140936220487192587 message

#

iirc both of those were hangs that eventually lead to a crash

#

i dont have the assets anymore but they were well within the limits

near parcel
#

i have seen some very rare instances of specific assets crashing the game when spawned for unknown reasons, but those have nothing to do with transfer time and could be fixed by re-exporting the object

ivory agate
tribal gate
#

anyone know how to compare structures

paper bone
#

Like compare block placement of structures?

tribal gate
#

no check if two structures are the same over the course of multiple frames

#

== doesn't work since its always true

#

also ideally it would give the same result even if half of the structure has been destroyed

near parcel
#

store a reference to the structure, although not sure if you can check if a reference is still valid (maybe do error checking on getting its blocks)

unkempt yoke
#

How many blueprints could you have loaded in with a mod at once?

scenic echo
zenith lark
#

Hello, where does trailmakers store its default assets

vernal cedar
#

Praying they give the xbox app version of trailmakers a mod manager i cant afford to rebuy all my dlc on steam

near parcel
#

not gonna happen any time soon

sturdy iris
paper bone
serene magnet
#

Technically there's stuff like the menu video stored in the game file but most assets are packed

regal bear
#

Railmakers City releasing soon!
#1446840402274684968 message

regal bear
#

Railmakers City is now released!
#1446840402274684968 message

regal bear
#

@willow breach Welcome to the modding role 🙂

scenic echo
#

Is there any way of making the trailmaker faster without just adding force?

radiant lion
#

Fly mod uses teleportation iirc, I believe these are the only methods to speed up a player

regal bear
#

yeah Fly Mod is pretty convincing for a fast moving player as the teleportation is interpolated nicely

scenic echo
radiant lion
scenic echo
hoary skiff
#

@devs add mods to Xbox with ability to create maps their as well

willow breach
#

@formal crane hey I have a genuine question about how the statistics on the steam workshop are being tracked. If my content gets recommend to people in the in game workshop is that being tracked or not? Just wondering how it works.

cinder spruce
willow breach
near parcel
#

in game views aren't counted at all

willow breach
formal crane
formal crane
#

My gut feeling is word-of-mouth/organic marketing... But it is honestly a question we have ourselves 🙂

willow breach
formal crane
willow breach
formal crane
formal crane
# elfin yarrow what is it? (reddit blocked)

What do I want more than anything else? Thermal updrafts.

This is my favorite build- a replica of the Eta Sailplane. I love flying this thing. But even using no-drag, I still have to use the mounted jet to speed up and gain altitude. Thermals would really help.

latent pine
#

you should be able to activate upwards wind depending on the location right?

idk how easy it would be but you could even use a greyscale image to indicate how strong the wind is at every spot

radiant lion
#

don't remember how well it works, but one option would be the wind assets

latent pine
#

if you need it to work in multiplayer that's your only choice probably

#

unless you feel like doing drag calculation entirely by yourself in the mod ig

radiant lion
#

the others would be using AddForce, but you can't really detect covered block, nor see how wide they are, so it won't really act as wind

latent pine
#

in sp you can fake local wind by changing the global wind

radiant lion
#

iirc there is only a get for wind, no set

latent pine
#

pretty sure there is a set :p

formal crane
#

There is a set but it is global to the world

latent pine
#

yeah so it would only work in sp

radiant lion
#

yep...

formal crane
#

But yeah I imagined something with AddForce in sort of zones.

latent pine
#

differential equations for wind when

formal crane
radiant lion
#

just simulate every single air molecule and allow us to add force to them

formal crane
latent pine
formal crane
radiant lion
#

i have a vague memory of seeing a wind map texture, but i'm not sure if it was real or if it's what's actually used to set the wind

elfin yarrow
sturdy iris
elfin yarrow
sturdy iris
dapper jay
#

there should be wind that follows the graph of tan

jolly steppe
#

hi

dapper jay
#

Welcome to the Aperture Science Enrichment Centre

tribal gate
#

are there any ways to format intrusive messages other than <color=>

fallow fox
tribal gate
#

yeah thanks

covert pilot
#

Yo is there a way to mod the campaigns because I feel like a stranded randomizer or even archipelago would be really fun

formal crane
elfin yarrow
formal crane
#

And I gave him a concrete answer, that you can't!

elfin yarrow
#

aw

covert pilot
#

Are there any plans to let us mod campaigns or no

formal crane
covert pilot
#

Sad

unkempt yoke
#

How does one make a trailmappers object move on a set path

sturdy iris
unkempt yoke
sturdy iris
#

i mean you could use wind but it moves everything

unkempt yoke
# sturdy iris nope

Looks like ill just have to attach some builds to the thing and move it that way

near parcel
#

You can set possition of objects, but not within trailmappers. You need to modify the loader mod

jolly steppe
tribal gate
#

Is there any way to accurately get a blocks health

sturdy iris
#

It might be a broken function I don't remember but this is currently the only way

tribal gate
#

Yeah it is broken since I tried using it and it seemed like set health sometimes made blocks stronger but didn’t change the health value, get health returns the same thing all the time and starting health is set to either current health or the last set health

elfin yarrow
#

i just took wind mod code and jerry rigged it to change player scale instead

scenic echo
scenic echo
scenic echo
elfin yarrow
#

atp might as well start fresh

scenic echo
elfin yarrow
#

attempt to call a nil value

#

..?

scenic echo
elfin yarrow
#

i don't know

scenic echo
elfin yarrow
#

that's addUiForPlayer in the onPlayerJoined function

#

i honestly don't see the issue with that line

#

OOH NVM

scenic echo
elfin yarrow
#

it was calling addUiForPlayer but the function is called addUIForPlayer

elfin yarrow
#

not again !

#

playerscale 0 0 042364 💀

#

oh wait no that's just 0 0 0, i haven't even made the function to change player scale what am i doing

elfin yarrow
#

how does one fix this

scenic echo
#

I need the documentation

scenic echo
elfin yarrow
#

oki

scenic echo
elfin yarrow
scenic echo
elfin yarrow
#

hmm

#

i mean, it works fine if you set the scale using the text ui

scenic echo
elfin yarrow
#

yes

#

just the resetplayerscale button outputs that

scenic echo
#

Ohh

scenic echo
elfin yarrow
#

it works smiley_guy_tm

#

thanks for the help

scenic echo
elfin yarrow
#

what's the correct way to use the id thingy tho

#

cuz like

#

there's playerId or player.playerId

#

nil value where

formal crane
elfin yarrow
scenic echo
elfin yarrow
formal crane
elfin yarrow
#

i should really check capitalization more often -_-

formal crane
scenic echo
elfin yarrow
scenic echo
formal crane
formal crane
#

Which uses snake_case

scenic echo
#

Never knew languages had style guides

formal crane
#

Anyway, infinite hole to dig into :p

elfin yarrow
#

okay so the mod works but it seems to sometimes give the scale to the wrong player..

#

i am not 100% sure if that's the case tho

scenic echo
#

Hmmm

dapper jay
tribal gate
dapper jay
#

we've been "i hope itll be fixed in the next update" for the last like 5 updates

tribal gate
#

Well that’s a shame

elfin yarrow
dapper jay
#

iirc the last info we got was "maybe in 2.3"

#

personally ive been disappointed by way too many maybes sooo

sturdy iris
dapper jay
#

no smallmaker??

elfin yarrow
# dapper jay no smallmaker??

you can but setting the Y value to something between 1 and 0 causes your character to fly upwards at extreme speeds, 0 and negative numbers somewhat work though

#

scratch that, between 1 and -0.45 ish

#

and numbers on the extreme edge of those two numbers ascend slower

regal bear
elfin yarrow
#

why does this not work

#

i mean, it displays something but that something is "00 0"

near parcel
#

tm.os.log takes a single argument

dapper jay
#

☹️

elfin yarrow
fallow fox
fallow fox
latent pine
#

you can either do string concatonation or send multiple log messages

near parcel
near parcel
tribal gate
#

How likely is this to happen #1126534304764264480 message

#

also can anyone tell me how blueprints hold block data and whether or not it is possible to make a useable blueprint by creating an image and adding block data to it

near parcel
#

they have a binary blob encoded into transparent pixels. You can't make functional blueprints manually.

tribal gate
#

Are there any plans to allows mods to save spawned structures and spawn them later instead of having to load a specific blueprint file

#

because it is a lot simpler to set the position of structures by just spawning them at a different location than it is to move it using AddForce

#

and it would also avoid the issue of AddForce destroying structures by moving them too fast

unkempt yoke
serene magnet
#

Is anyone having issues with OnPlayerJoined events not firing?

elfin yarrow
serene magnet
#

I was having issues with my event not firing and I wanted to figure out if it was an API issue or if its my code

serene magnet
regal bear
# serene magnet Yeah just failing to run when a player joins

If you try to get the player's position, rotation, etc. straight away when the player joins it fails. There is a delay between the onPlayerJoined event being triggered and the player actually being given a presence in the world. I check if those params are nil in the playerUpdate function so that I can determine when they actually become available.

serene magnet
#

Ah. Ill just add some checks. Thanks for the help

#

Currently my player join fails to invoke, which doesn't create my player data table I need, which causes update to fail when it tries to call it, which drops the server to 5 fps

regal bear
#

Yeah that can depend on the order of things within your onPlayerJoined function. If the calls that fail are after creating the player data table then at least that will still be done.

crisp oak
#

2 days of work

#

135 lines of code

sturdy iris
# crisp oak 135 lines of code

That's a lot of lines actually for 2 days LaughingDog (depending on what I'm doing I write roughly 75 lines of code per 4 hours of work)

dapper jay
#

well actually i write 12 trillion lines of code per cpu cycle at 5Ghz so L + ratio

radiant lion
#

I kinda hate using lines of code as a metric
I can write 10 lines in 2 minutes if i'm setting up a table
Same way I can write 10 lines in 2 hours if it involves odd math, like the missile leading system

dapper jay
#

I remember having like a 12+ hour coding session where i genuinely got nothing done

#

I was having issues with some math and just couldnt figure anything out

#

iirc i was trying to convert local yaw and pitch values into a global quat for a turret
I wanted the rotation to not be tied to the turret's base, but i just gave up

unkempt yoke
#

what's the max poly count the game can handle before the model spaghettifies?

scenic echo
mint grove
elfin yarrow
unkempt yoke
#

Yeah I was asking at what point that happens

sturdy iris
scenic echo
#

Mod idea: While in build mode and selecting a block, show an arrow that points in the direction the block is pointing.

elfin yarrow
#

imagine weldgroup visualizer mod

elfin yarrow
#

why are these ones not showing up?

scenic echo
elfin yarrow
#

i'm just gonna release the mod without the function to set player scale range and fix it later

radiant lion
#

what do you mean that shouldn't happen? tempARN is < 1 so the if statement is false, so it calls the else

sturdy iris
elfin yarrow
#

anyways thanks for the help i'll finish that part Later™

elfin yarrow
#

i just had a W idea for later
instead of using tm.os.log i can just send the stuff to in-game chat for debugging

#

why didn't i think of this earlier LaughingDog

dapper jay
#

logging everything as a permanent subtle message

dapper jay
#

or a very long intrusive message

#

has anyone tested if RegisterFunctionToCollisionEnterCallback works with any gameobj?

unkempt yoke
#

By a certain distance, or at a certain speed, or for a certain time, just anything, not full 360 rotation but like, just a lil bit

sturdy iris
#

can someone link me how i post a mod with a front picture?

fallow fox
radiant lion
#

Make sure it's less than 1MB

sturdy iris
elfin yarrow
#

dimensions just whatever lets you go under 1mb

#

also you can just use the same method as blueprints if you want, that's what i did

scenic echo
elfin yarrow
sturdy iris
#

help?

#

it uploaded but no picture

#

ah i see why

#

how do i remove my old mod??

#

oh i already found it

dapper jay
#

would it be possible to make 1:1 recreations of vanilla maps with trailmappers?

scenic echo
scenic echo
sturdy iris
scenic echo
#

no way

sturdy iris
#

yes way

scenic echo
elfin yarrow
elfin yarrow
#

@sturdy iris

scenic echo
#

wait you want to despawn all mlvins?

elfin yarrow
scenic echo
elfin yarrow
scenic echo
elfin yarrow
#

oh guh

#

not seem to be working

#

i mean like

latent pine
elfin yarrow
latent pine
elfin yarrow
latent pine
elfin yarrow
#

yes

scenic echo
latent pine
#

or

for i in range(16) do

end

if i am not misremembering lua

latent pine
latent pine
#

if you want to go backwards

scenic echo
#

lua is so much simpler than c++

latent pine
#

simple does not mean easy

brainfuck is very simple LaughingDog

elfin yarrow
latent pine
#

in c++ you can just leave out everything lol

for (;;) {

}

my beloved

latent pine
#

it's the same as

while (true) {

}
formal crane
#

Usually the lua.org has decent examples of how things work 🙂

elfin yarrow
elfin yarrow
formal crane
elfin yarrow
#

i shall continue working on my plane now

latent pine
#

easiest way to find out stuff very often

#

sometimes helpful to look at the official docs as well

crisp oak
#

i come from a roblox studio background

#

lua is love

#

lua is life

#

❤️‍🩹

elfin yarrow
#

i don't, i have like 15m of java experience

crisp oak
#

first thing you should learn is metatables

#

very important

#

(do not listen to me)

sturdy iris
#

I come from a python and C# environment. Lua still feels weird

elfin yarrow
crisp oak
#

it's a substitute for OOP

#

cuz lua isn't normally object oriented but with metatables you can make it act like it is

elfin yarrow
crisp oak
spiral raven
#

is it possible to unload meshes

#

like say remove the pioneers map

fallow fox
spiral raven
#

what if i turn the entire island into a deformable then use a big bomb to blow it away

#

I yearn for a pioneers skybox + pioneers water empty map

sturdy iris
spiral raven
#

Hell yeah

#

or what if

#

we just changed the skybox atmosphere and water on all maps to the pioneers ones

#

its a free map so theres no money loss

#

also the game would look better

sturdy iris
radiant lion
#

With its stupid ranges

sturdy iris
#

Range is fun but also annoying

latent pine
sturdy iris
dapper jay
#

is there a way to spawn blueprints at their center by default or do i have to manually figure out the offset?

dapper jay
#

seems like ive been asking the toughest questions of all time

spiral raven
#

i dont know how to mod but id say no

radiant lion
#

I mean, I've seen easier questions...
You can try moving the blueprint in build mode before saving, but I doubt that will change anything, so the answer is most likely no, just make a little function that given the direction vector and offset vector returns the final offset, it shouldn't be too hard, especially since iirc blueprints don't support rotation on the Z axis

sturdy iris
dapper jay
#

darn!

elfin yarrow
#

how big is one vector unit actually

#

for globalwind

dapper jay
#

1 meter probably

mint grove
#

Is there a way to add images to the UI?

#

I was just wondering

warm canopy
#

Nope

paper bone
#

You can use custom icons in the subtle messages but thats it as far as i know

sturdy iris
#

what are the differences between the .addforce .addforceimpulse .addforceacceleration .addvelocitychange? and which dirrections are the X Y and Z?

#

because im trying to make a missile mod v2 (missile launcher instead of making the missile)

radiant lion
dapper jay
ivory agate
#

What about slapping a textured quad in world space?

#

I guess you'd get lighting interaction that way so it wouldn't work that well

dapper jay
#

cant get camera position so good luck

radiant lion
#

Maybe if you flicker the camera really fast between default and a place where you have the UI could work

#

It either gives you epilepsy or has a mediocre result where the gui is half transparent and the rest of the screen has a permanent filter on it, I'd say worthed

ivory agate
elfin yarrow
acoustic plover
#

how do i upload maps to test map that i made

#

nvm

serene magnet
#

I realized I created trailmakers hell

#

Uploaded this a couple days ago as a render of an upcoming map. Everything is made with a procedural generation script... everything is a unique model...

#

2-3 days ahh load time

icy oyster
#

since trailmakers got rid of it, a mod to add back the silence when you break the sound barrier again would be nice

formal crane
serene magnet
#

I might include a copy of shrek just to kill time while it loads though

mint grove
latent pine
serene magnet
serene magnet
#

I just realized that if we have mapmakers 2026 I cant compete because I don't think they wanna wait 15 minutes for my map to load

warm canopy
#

Tempted to make the first doom lvl in trailmakers

dapper jay
warm canopy
#

Actual level

scenic echo
#

It would be even more impressive than when you made golf

dapper jay
#

oh neat

#

i tried making guns but i didnt make my own fake player for it

#

wouldve been a bit better if i did but that wasnt the mod idea

warm canopy
#

I should probably revisit my golf mod at some point, I think its broken in multiplayer

gritty wave
#

in mapmakers is there any way to

  1. edit a map besides test zone?
  2. have water?
mint grove
gritty wave
#

how?

mint grove
gritty wave
#

very helpful thx

radiant lion
#

No, graphically In trail mapper you can't load other maps

wind sinew
#

Hi i'm interested in making a map wich would just be a simple racetrack without timer or anything that would require scripting.
I know Trailmapper is a thing but i wanted to ask first if there's a better or alternative ways to make map that would let me have more freedom.
I'm experienced using blender, unity, etc.

If anyone knows of alternative ways of making maps or ressources i could use to learn the best ways to create in trailmaker. Please ping me.

mint grove
scenic echo
mint grove
paper bone
mint grove
paper bone
#

Yes

mint grove
dusty umbra
#

VS Code is really nice for LUA, you can import the LUA file we create to get autocomplete and it has more plugins that are free

mint grove
#

What is it even for😭 😭 😭

paper bone
#

Mostly for compiled code like c#

latent pine
#

lots of other alternatives with lsp integration as well

#

zed and neovim for example

#

(zed is just a strict upgrade over vscode imo)

sturdy iris
#

I personally prefer visual Studio Code as it's just way faster and can be used for more things from my experience

latent pine
#

i do not believe that vscode is faster than zed lmao
only major reason for staying on vscode imo is the more mature plugin ecosystem since it's just older

sturdy iris
#

I don't even know zed lmao

latent pine
scenic echo
fast oyster
#

loading a large amount of models is so slow i doubt anythings even happening

formal crane
fast oyster
#

the what?

#

i just use trailmappers😭

formal crane
# fast oyster i just use trailmappers😭

ah right; it doesn't come with any mod window 🤷‍♂️

context: when mods add ui elements, a window appears that is exclusive the the mod itself. When it is on, the transferring of custom assets are shown

fast oyster
#

ahh ok, my mod is chewing up 17 gigs of ram lmao

#

is there a chance that the mod is so big trailmakers got hung up on something?, theres a model that is 16 kb so it might that model

#

idk tho

elfin yarrow
dapper jay
mint grove
#

:p

fast oyster
serene magnet
serene magnet
latent pine
sturdy iris
serene magnet
#

Pulsar for the win

mint grove
#

I wonder how long and hard it would be to make a racetrack with similar gameplay mechanics to motorstorm apocalypse

fast oyster
#

loading time shouldnt like exceed 10 mins right?

dapper jay
#

theres no standard for loading time

regal bear
# fast oyster loading time shouldnt like exceed 10 mins right?

It can due to the texture loading system using geological time. If we could use jpg without the default reflection then texture sizes would be 10 times smaller. Instead we are forced to use 32bit png just to have an alpha channel that can remove the reflectivity.

oblique bone
#

is any way to import a model with its textures. or will i have to split up the model and get textures separately for each part?

formal crane
oblique bone
oblique bone
#

dose making a platform smaller lag less (trailmappers), i have my floor covering the whole testzone, at 250x250 strech. i changed it to 150x150 and idk if there is any dif

radiant lion
#

There shouldn't be

oblique bone
#

okay

fast oyster
#

might the mod not load due to an amount of models? cause rn i have 16 models in my mod, is that it?

#

and it hung up on 6% according to trailmappers mod ui

#

and it just cubes but it is like that for most stuff, so not suprised there

#

ima let it load a bit more

#

like wait

#

and then see what happens

#

actually might optimize the bigger models in the mod meanwhile

#

fixed it after optimizing

#

i think

#

its at 43% now

#

CMON

#

GO UP

#

PLEASE

#

it crashed..

#

back to optimizing ig

ivory agate
ivory agate
spiral raven
#

my buildings are melting

regal bear
regal bear
# spiral raven help

That is the auto-LOD system in Trailmakers. To get around this you can add an extra face about 500m below the rest of the model. That makes the game think it's a bigger object and pushes the LOD distance out a lot further.

spiral raven
#

If i could kiss you i would

#

In a thankful manner of course

regal bear
#

Of course

fast oyster
mint grove
oblique bone
#

and why do i keep geting this error, it also dose not spawn at the right spawn pos even when i change he pos in the main.lua

mint grove
oblique bone
#

sucks buns icl

#

are there alternatives?

mint grove
oblique bone
#

like export the full texture from blender in to a png?

mint grove
oblique bone
#

iv only done solid textures for my sand ground

#

i gota try that thanks

#

going to add a airfield to my dunes map

mint grove
oblique bone
#

do yk how to fix the spawning issue aswell?

mint grove
oblique bone
#

i just set it up i think it fixd it

#

avent goten alot of testing done tho

#

but ty

mint grove
#

I love being helpful

oblique bone
#

it looks like ppl still spawn below the desegnated spawn thing, i havent used the spawnpoint obj cus it didnt work when i tryd

#

it still spawns em at the floor

#

@mint grove

mint grove
oblique bone
#

ikik

mint grove
oblique bone
#

i have and it didnt spawn players there anyways

#

dang okay

oblique bone
#

dosnt work for me il try fix the lua code ig

onyx wing
#

hey

#

is there a mod that lets me put modifications higher then the value limit

#

like put rocket engine to the value of 10

onyx wing
mint grove
#

What value limit

onyx wing
#

set the values higher then the normal limit

mint grove
mint grove
onyx wing
#

the speed in the block configuration

#

of both the rocket and the thrusters

#

they are limited at 1 for rocket and thrusters

onyx wing
mint grove
onyx wing
#

so there isnt one

near parcel
#

you can increase the power of thrusters through mods, but it's not saved to blueprints

regal bear
oblique bone
regal bear
regal bear
scenic echo
dapper jay
#

hashtag so mysterious

onyx wing
#

thank u

scenic echo
#

this is fun

dim spruce
#

function onModLoaded()
tm.os.Log("Oganesson started")
tm.playerUI.AddSubtleMessageForAllPlayers(
"Oganesson started",
"Press tab for Oganesson menu",
2.5,
""
)
end

tm.events.onModLoaded.add(onModLoaded)

Why doesnt htis work

warm canopy
#

Because onModLoaded isnt a thing

dim spruce
#

Bruh

warm canopy
#

If you want it to run when a mod loads, you dont need to wrap it in an function

dim spruce
#

ok thanks

#

multiple guides claimed onModLoaded to be an internal function

#

probably deprecated

formal crane
dim spruce
#

I found it on ludixi

#

didnt work

#

then asked chatgpt about it and it also claimed it was real and said my code should work

#

idrk

warm canopy
#

Its on their?

dim spruce
#

ludixi?

#

im not used to using lua for modding i though an internal function that ran on mod loding should work

warm canopy
#

Yeah?

dim spruce
#

makes sense

dim spruce
warm canopy
#

Ah I see where youve seen it

dim spruce
#

theres basically a restating of the api docs

#

with definitions fopr each fuinction and calss

#

class

#

i saw it on there

#

but thanks

#

OKAY WELL IVE GOT ANOTHER ISSUE

#

oops caps

warm canopy
dim spruce
#

yeah

#

is onPlayerjoined real?

warm canopy
#

Yup

dim spruce
#

ah

near parcel
near parcel
dim spruce
#

odd

warm canopy
#

Maybe you was getting confuseed with the function being called OnModLoaded in that example

dim spruce
#

oh yeah i also did try just running the function but that didnt work

#

im assuming top level functions that arent system functions dont work or similar

#

but i gtg

#

brb

near parcel
#

Learn how lua works, then try again

dim spruce
#

sounds kinda backhanded lol

#

and yes i know basic lua im just not familiar with it for modding

mint grove
dim spruce
#

i also program in python, javascript, c# and rust

near parcel
dim spruce
#

dude i just misinterpreted a guide chill

#

yeah i got a system functon wrong of course its gonna give me an error

#

i know very basic code structure and hierarchy outside of that

#

if ive been programming trailmakers mods for longer maybe i would know most common functions for mod and player initiation etc etc

#

you dont have to be rude about it

#

im outta here

dapper jay
# scenic echo

i admit i have never once thought of comparing quaternions

regal bear
# dim spruce im outta here

There should be a mod API lua file in your mods directory (trailmakers_docs.lua). It will show you all the available functions in the API.

mint grove
#

This would probably fit more into #general-trailmakers

primal frost
#

Too shy to put it there lol

mint grove
scenic echo
#

is having 3000 trees on a map a bad idea?

paper bone
#

Naah

#

Should be fine

scenic echo
#

@serene magnet how many trees do you have on iron wood?

paper bone
#

Iirc he had about 20 000 trees

serene magnet
#

Yeah it was about 20k. Its probably less now but it was able to run with 20k

#

Im approaching a similar number with snowbound currently

oblique bone
#

how do u go about placing 20k trees?

#

ik there is a mod for it but it dosntwork anymore i think

#

i need to add some dead trees and cactuses over my desert map :-/

elfin yarrow
#

and then deleting the ones that spawn in inconvenient places

oblique bone
paper bone
paper bone
oblique bone
#

ty

serene magnet
#

I used sprinkletool for Ironwood but im probably gonna develop something for Snowbound

dusty viper
#

has the server mod button thing moved or am i stupid? can't seem to find it and i most definitely have mods enabled

mint grove
warm canopy
#

Sometime this month the whole ludixi trailmakers stuff and modding page etc will be down. As I'm moving to self hosting the website. Current host keeps sneakily increasing the monthly cost ^_^

radiant lion
#

Self hosting Is really good, especially with few visits

#

I might have used a broken e-reader for that

primal plaza
#

i'm probably the best to ever do lua ever, took only a brisk 6 hours and the sacrifice of my firstborn child

fast oyster
#

how does one change the playermodel like this

fallow fox
fast oyster
#

it is?

#

i really cant tell

#

shadows seem mostly accurate

fallow fox
#

I am not sure but, it was posted right after the same person posted some thing obviously ai

fast oyster
#

there doesnt seem to be any ai artifacts that cant be chopped up to AA errors on the feathers

radiant lion
#

I don't think it's ai, but it does look like a chicken png just slapped on there

fast oyster
#

looking at the shadow direction it might be a modified picture in some way, compare the direction of the shadow on the chicken to the shadow on the car, they seem very different, no?

#

he addmitted to using photshop in general so its most likely that, damn good job in that case

#

what a shame

scenic echo
near parcel
#

If you actually wanted to do it, you can make the player model very small and spawn a 3d asset that follows the players' position

scenic echo
sturdy iris
scenic echo
willow breach
#

@formal crane Can I ask something in PM?

serene magnet
#

These trees are gonna make me actually crash out

willow breach
#

Breath in the fresh air of the trees

scenic echo
sturdy iris
#

https://www.youtube.com/watch?v=kAEvcRcVJMo my mod actually got featured by scrapman!

Welcome to another episode of Trailmakers! Today, we are evolving race cars, but we are using the Chaos Mod, which changes a random game condition!

kAN's video: TBD

Tons More Trailmakers: https://www.youtube.com/watch?v=mwTCzFXIjVg&list=PLjtiR7dM6Lgp2qrCaaHCTjAmW-vC_IO5T

My Most Popular Videos (for whatever reason): https://www.youtube.com/pl...

▶ Play video
shell ridge
#

i think that if you can set the position of a no collision 3d model of that to your characters position at all times it might work

regal bear
#

Posted a video demonstrating one of the new missions:
#1446840402274684968 message

formal crane
#

<@&1123912996406706277> 2.3.1 modding changelog

Known Issues

  • ModBlock.GetJetPower() throws exception

Changes

  • Removed ModColor.RGBtoHSV()

Features

  • Added tm.enums namespace that contains built-in enums: RespawnReason, `
  • Added new player related events: playerExitSeat, playerEnterSeat, playerSpawned, playerKilledPlayer, playerChangedTeam, playerEnterBuilder and playerExitBuilder
  • Added tm.players.ForceExitSeat(playerId) to force player out of their seat
  • Added tm.players.SetBlockLimit(guid, limit) to set block type limit request
  • Added tm.physics.GetAllBlockMetaData() which returns a list of all block types and related information such as guid, name and description
  • Added ModBlock.GetBlockMetaData() to get BlockMetaData of specific Block
  • Added subscribable alternative to OnKeyPressed and OnKeyReleased that returns ModPlayer and Key Name. request
  • Added various quaternion operations such as normalize, addition, subtraction, multiply with scalar [request](#1441204155137130648 message)
  • Added ModBlock health related functions such get SetFullHealth(), DoDamageAmount(), Revive(), InstantKill()

Fixes

  • Fixed quaternion equality operators giving incorrect results [request](#1441202495081808054 message)
  • Fixed issue where UI Labels would be center aligned after minimising and maximising mod window [request](#1372195980753240194 message)
  • Fixed issue with input registration not working if registered on first mod update frame
  • Fixed and reworked health related functions for ModBlock request
  • Less malformed Lua Docs generation
regal bear
#

Thank you for these fixes and additions 🙂

With this one...

"Fixed issue where UI Labels would be center aligned after minimising and maximising mod window"

Unfortunately it looks a misderstanding has occured. labels are now always remaining left justified. I was expecting that the left justified mode would be removed leaving labels to always show as centre justified.

scenic echo
formal crane
scenic echo
regal bear
formal crane
#

Ah shoot. I will get something in for the next hotfix - since this behaviour should not have been changed, but simple not be affected by the window minimizing.

#

Thanks for reporting!

regal bear
serene magnet
#

Thank you devs for the content

formal crane
mint grove
#

I love the new Events

regal bear
formal crane
formal crane
regal bear
scenic echo
#

i cannot figure out how to change the health of blocks with the updated functions

formal crane
# scenic echo i cannot figure out how to change the health of blocks with the updated function...

Some quick examples from me that I will put on Wiki as well.

Example – Revive Low-Health Blocks on Key Press

local ReviveLowHealthBlocks = function(player, keyDown)
    if keyDown ~= "k" then
        return
    end
    local structures = tm.players.GetPlayerStructures(player.playerId)
    for _, structure in ipairs(structures) do
        local blocks = structure.GetBlocks()
        for _, block in ipairs(blocks) do
            local fullHealth = block.GetFullHealth()
            local currentHealth = block.GetCurrentHealth()
            if currentHealth < fullHealth * 0.5 then
                block.Revive()
                local newHealth = block.GetCurrentHealth()
                tm.os.Log("Revived " .. block.GetBlockMetaData().Name() .. 
                          " health from " .. string.format("%.2f", currentHealth) ..
                          " to " .. string.format("%.2f", newHealth))
            end
        end
    end
end
tm.input.OnPlayerKeyDown.add(ReviveLowHealthBlocks)
#

This of course only uses Revive which full revives the block.

scenic echo
formal crane
warm canopy
#
"Generic"
"Impact"
"Explosion"
"Lava"
"Projectile"
"Electric"
"JointTear"
"ExitSeat"
"Emp"
"SpaceBlaster"
"MechanicalFailure"
"HarvestBasic"
"HarvestMineral"
"HarvestMineral2"
"HarvestOrganic"
]]

local TriggerEMP = function(player, keyDown)
    if keyDown ~= "k" then
        return
    end
    
    local structures = tm.players.GetPlayerStructures(player.playerId)
    if not structures then 
        return 
    end

    for _, structure in ipairs(structures) do
        for _, block in ipairs(structure.GetBlocks()) do
            block.DoDamageAmount(1, player.playerId, "Emp")
        end
    end

    tm.playerUI.AddSubtleMessageForPlayer(player.playerId, "Applied damage", "", 1, "")

end

tm.input.OnPlayerKeyDown.add(TriggerEMP)```
Heres an example of the new damage amount function
spiral raven
scenic echo
#

When does playerspawned trigger? When you backspace or when the player joins the server?

scenic echo
oblique bone
sturdy iris
sturdy iris
latent pine
#

probably stealing the blueprint a player is in

sturdy iris
#

...

oblique bone
near parcel
oblique bone
#

stop their vehicle, revive their blocks, teleport myself to them, kick them out of their seat, then pin them in place for 10 sec

sturdy iris
#

You can also just make a mod to compare owner ID and player ID to kick people out of the server if they're not the same

oblique bone
sturdy iris
#

I mean that's also definitely possible lmao

mint grove
#

kinda of topic but somebody wanna try my simple python code

near parcel
#

#off-topic

mint grove
scenic echo
#

is there any way to know which blocks were banned by the player?

formal crane
oblique bone
paper bone
#

You could do that with a simple mod, so i dont really see the need

oblique bone
#

take like 10 min to get a full server and im at the top of the list aswell

paper bone
#

Then suggest it in #suggestions

oblique bone
#

mmmm

paper bone
#

Its not really modding related

oblique bone
#

cool

mint grove
scenic echo
scenic echo
latent pine
scenic echo
latent pine
#

oh yeah johannes doesn't care lmao

scenic echo
latent pine
#

I should continue working on my command mod

#

kinda neglected it lmao

#

I'm going to be busy for the next few weeks but I can work on it again after that

#

haven't had much inspiration for tm builds so that should be more fun

scenic echo
latent pine
#

I alr have a kick command lol

#

also very redundant

#

though the blacklist command can be pretty useful

scenic echo
latent pine
#

oh yeah true

#

that's actually pretty useful

scenic echo
latent pine
#

first thing I'll do is rework the mod structure though

#

make things more modular so that any "package" can just be its own header file that the mod calls

#

it would be fun if tm could use curl lol

#

that way I could make a package manager for the mod and put everything as independent files on a githuh repo

#

seems like a major security risk though :p

mint grove
#

Hmm I might as well do it here

#

@formal crane can I have <@&1123912996406706277> role?

near parcel
#

What have you worked on?

near parcel
#

#1123915629653667943 is mostly for API related things, for assets you can use #1196793172429394050

near parcel
#

Then why do you want to access #1123915629653667943 ?

mint grove
formal crane
formal crane
mint grove
# formal crane bam

Ty I'll then suggest things in the following days in #1123915629653667943 if that doesn't cause any trouble

formal crane
mint grove
near parcel
mint grove
near parcel
#

then you have currently no reason to use #1123915629653667943

near parcel
mint grove
near parcel
#

then you can get the modding role (assuming they are split) once you have the knowledge to use that channel

formal crane
near parcel
#

by that reasoning the channel should just be open to everyone. If someone has the knowledge of the programming/lua side to make API request, it will be easily apparent when they talk here, even if they haven't published any mods

oblique bone
#

this guy loves arguing 😭

regal bear
#

We've uploaded a small update to our Railmakers City map. Details here: #1446840402274684968 message

elfin yarrow
#

i gotta post everything unlisted to the ws now

serene magnet
#

Would be banger to also have force into seat so you can replace their repair build with a single seat you spawned

twin nest
#

is it posable to mod the pc gamepass version of TR? (i have it purchased)

mint grove
#

-# Also isn't it tm?

twin nest
twin nest
mint grove
# twin nest also explain

If you go into a game of trailmakers in the pause menu there should be a button to activate mods and then also to get you to the mods folder

mint grove
# near parcel no

That's surprising shouldn't trailmakers be the same over all platforms

near parcel
#

most things are, but there are platform specific things as well

twin nest
scenic echo
#

I had an evil idea, a mod that exposes the location of people by moving around position sensors with rc senders

stiff falcon
#

can someone help me with a map im trying to have something show in game at a certain spot i have the posion sensors and alt blocks to see where in the world it is and in trailmapers i do the same cords and it isnt showing

#

i got no clue i to line it up corectly with where i want it in game

stiff falcon
#

ive managed to get my rotaion lat and long correct but the alt im unsure of in game

#

is it just the alt sensor value -100?

regal bear
#

Trailmappers adds 300m on export to match Testzone

stiff falcon
regal bear
#

Just subtract 300 from the Y value

stiff falcon
#

that dont add up. in trailmapers its -99 but ubtracting 300 gets by -298

formal crane
stiff falcon
tame tulip
#

Is there like a mod to make blocks not take damage from explosions?

mint grove
tame tulip
#

which one?

mint grove
scenic echo
errant dew
#

After a long time vehicles can despawn after not having a player in there seat if they cause lag for a while. is there a mod or way to prevent that? this was not a big deal till until I started using rc. I'm in single player

sturdy iris
cinder spruce
errant dew
sturdy iris
#

ohhhh now i get it

#

i dont think there is a mod for it. i havent heard anything about it if it exists

cinder spruce
#

unfortunately i don’t know of a way to do that, the only way i know of is to prevent it is to enter the creation with a seat or just respawning the build

errant dew
#

ok thanks, it's a muti creation build making that nearly impossible or very inconvenient. Do you all know how to mod detects it? it might be similar as the game

#

Or how to know when the game is going to check for it?

cinder spruce
#

the despawn timer is 15 minutes iirc

errant dew
#

ok thanks I will try that

errant dew
#

They disappeared after about 25min.

cinder spruce
regal bear
#

Found a nasty bug in Track Creator Plus so a new version has been uploaded:
#1404642052129423466 message

scenic echo
cinder spruce
scenic echo
#

is there a way to know when a player presses left mouse button?

regal bear
#

Not as far as I'm aware

scenic echo
#

how can i make this camera smoother?

latent pine
cinder spruce
#

making a new missile mod

#

though it doesnt like like ill be able to keep the trails :(

serene magnet
cinder spruce
willow breach
scenic echo
#

how does tm.playerUI.RegisterMouseDownPositionCallback( playerId , updateUiPosition ) work?

warm canopy
stiff falcon
#

can someone help me? im trying to get a blueprint file to spawn in game but its just not working

#

i have the blueprint files inside the mod folder but i think im doing the code wrong idk

cinder spruce
night meadow
scenic echo
scenic echo
scenic echo
oblique bone
#

urs looks rly nice

oblique bone
#

lol

willow breach
# oblique bone

The missile doesnt need to know where it is, when it is everywhere

willow breach
#

nearly got burnt there

mint grove
#

so umm how can i ad sugestions for the modding api in vscode

cinder spruce
#

oh wait wdym vscode?

scenic echo
mint grove
# cinder spruce oh wait wdym vscode?

umm like you can get sugestions in vs code for example u write in python "in" and vs code willl complete your word with several options like "input"

i was wondering how to have these for tralmakers lua code

mint grove
scenic echo
#

also alvaroping might be a good person to talk with

scenic echo
mint grove