#General modding chat

1 messages · Page 9 of 1

shadow iris
#

seems like the game doesn't actually use the gyro power value that modding can access apart from setting it when the slider is changed

#

no, BAD dyno!!

#
if block.GetName() == "PFB_GyroActuator [Server]" or block.GetName() == "PFB_GyroStabilizer [Server]" then
    if block.GetGyroPower() ~= power then
        block.SetGyroPower(power)
        tm.playerUI.AddSubtleMessageForPlayer(0, "Bugs!!! I hate them!!", "Set gyro power to 0.1", 0.25)
    end
end
#

if power = 1, this works just fine
if power = 0.1, this constantly triggers (the set value does not match the value thats its getting compared to)

shadow iris
#

why are block colors saved with RGBA despite only taking RGB?

#

and no, the glass block skin does not use the alpha channel either

shadow iris
#

this is the best optimization to ever and you disprove me

scenic echo
shadow iris
scenic echo
shadow iris
scenic echo
shadow iris
scenic echo
shadow iris
#

Frans told me the other day that he thinks new stuff for controlling structures is cool but the code is such a trainwreck it wouldn't fit in the time with each update

#

that might includes structure relatedbl bugs idk

shadow iris
#

x_X

scenic echo
shadow iris
scenic echo
shadow iris
#

my post about engine/jet/prop power being of a strange or high value got deleted

#

but I was told to report even the NaN and math.huge bugs

formal crane
#

Doing anything with structures through modding is currently pretty hard as it depends on a lot of systems. The structure code itself is great.
Just really hard to expose it to modding as there are SO many corner cases in the game.

shadow iris
paper bone
#

Frans whats the Linux to Windows ratio like in the office?

formal crane
radiant lion
#

Too bad c# has no eval function, else you could have just given us access to that :p
I'm sure nothing bad was gonna happen

formal crane
warm canopy
#

Approved modders, have to sign some sort of agreement and you get access to more modding stuff

formal crane
radiant lion
#

Jokes apart stuff like eval is annoying to work with, a good implementation and type conversion between c# and Lua like the current api is the best... But of course slower to add stuff to

near parcel
shadow iris
shadow iris
#

saving this for UI reference later
checkpoint,subtlemessage

shadow iris
scenic echo
#

@shadow iris weren't you working on a campaign?

shadow iris
#

unnamed was just a concept

#

trailcargo had its devs suddenly disappear

#

raftmakers wasnt really a campaign but noiro got banned and then stopped playing trailmakers all together so

#

@scenic echo this guy knows whats up

scenic echo
shadow iris
scenic echo
shadow iris
#

it's just another boring fetch quest campaign with cookie cutter "oh no space pirates invaded!!"

#

the only thing it brings is a fundamentally different art style that doesn't feel like trailmakers, more generic "shoot enemy, bring box, fetch NPCs" gameplay

#

the only credit I give it is prettier sky and water. but the water doesn't even get 3d waves

#

give me something interesting, like designing vehicles to overcome fundamentals environmental hazards. Like HIGH SEAS WIND, STRANDED LAVA

#

RALLY RACE OPTIMIZATIONS

#

but pioneers is just to go faster to do the same fetch quests and shoot basic ai enemies. it's froggit grocery shopping simulator. grocery shopping isn't fun.

scenic echo
#

wow, that is a burning hot take

shadow iris
#

and dude, if the rest of the game is cool, like... I lost interest at the second settlement. you really gotta make players invested in the game besides "it's trailmakers" and "there's planes"

#

starting off a flagship work with 'bring a bunch of boxes and shoot an enemy or two for an hour" is NOT gonna make me invested

scenic echo
shadow iris
#

and pioneers is the standard now?

shadow iris
scenic echo
shadow iris
scenic echo
#

i like the grind of getting resources but that's not everyone

shadow iris
#

blocks unlocking in # to use is cool though

#

boss fight doesn't sound like trailmakers. the biggest boss I'm letting them add is the mf stranded volcano

#

that is the real final boss of trailmakers

#

that shit is legitimately difficult and it doesn't need you to be shot and space pirates invading

#

it's a big pain in the ass, but it proves that you vs the world is plenty

#

I always say that dragon lake is amazing, cause it's such a simple looking puzzle but it's deeper on the inside and has so many goofy ways to go about it. and you aren't told what to do. it's just you and your imagination to solve a well taught and well understood assignment

scenic echo
shadow iris
#

in the middle of the mud area

scenic echo
shadow iris
#

that shit is peak

#

it's primitive but that's the soul of trailmakers: primitively putting shit together with your own mind and making it work

#

and going back to pioneers art style... it doesn't feel like trailmakers

scenic echo
shadow iris
#

I want more "classic" theme maps. it's such trailmakers soul to me and it needs its soul back

#

I swear I'd even take another rally campaign. tm excels at rally racing ngl

#

and the classic art style is beautiful for that

#

everything I just said boils down to "back in my day shit was good"

#

🧓

scenic echo
#

old man rainlesssky

shadow iris
#

anyway so I kinda suddenly figured out how to replicate classic TM map style

#

all I need to do is get proper things like ramps and terrain

#

and I'll become classic flashbulb fr

scenic echo
shadow iris
dapper jay
#

these side panel things dont even make contact with the body

shadow iris
shadow iris
#

"automatic" pixel format on a grayscale 256x256 texture: 2.23kb
8bpc-graya pixel format on a grayscale 256x256 texture: 1.77kb

#

using gimp 3.0.4

#

so if you're doing stuff like subtle messages, if the icon is grayscale, USE GRAY SCALE FORMAT

#

it saves a solid amount of filesize and thus import time

shadow iris
#

if you exclude the absurdly complex muzzle, it's only 2241 total vertices

near bramble
#

Where is file name location?

cinder spruce
shadow iris
#

frans what did you do to #1123915629653667943

shadow iris
#

complex custom model bug is actually 32767 TRIANGLE limit

lean bronze
#

hello does anybody know if a mod exists where the 'laser' of the distance sensor is visualized?

regal bear
#

New version of TCP uploaded to the Workshop with some cool new features. Details:
#1242291936715608205 message

near parcel
cinder spruce
#

can’t*
typo mlem

crisp oak
#

how would i get the data from a UIText object?

#

as in when the player inputs something into the field. how would i get that value out of the textlabel

#

i've tried using the callback parameter with a function but i can't get any arguments out

near parcel
#

use the callback function, it receives an UICallbackData as parameter

crisp oak
#

this wouldn't work?

#

currently it shows an exception in the text field

near parcel
#

because that's the default tostring implementation of UICallbackData

radiant lion
#

Callbackdata holds multiple data inside it, either look at the documentation or the default spawn mod

crisp oak
#

what would the data methods be

near parcel
radiant lion
#

It should be .value, but again, documentation is for sure correct

crisp oak
#

ah i see

#

that explains alot

#

thanks

crisp oak
#

thanks again for the help btw

paper bone
#

is there any way to bind mouse wheel up / down to the input of a block?

regal bear
paper bone
shadow iris
#

how would i somewhat quickly get a block's speed
ideally without storing data for almost every single block currently in the world

#

wtf did i do

scenic echo
polar harbor
#

can anyone give me some info on how exactly to add/use custom 3d models for modded maps?

regal bear
polar harbor
#

Sweet ty, also where can I download trail edit

paper bone
#

On the workshop

polar harbor
#

after clicking on the custom models it just breaks?..

paper bone
#

Im not sure whats causing that, i had the same issue with 3d models i generated myself with my own mod. It might be that Trailmappers needs Models that draw every triangle from both sides but idk

polar harbor
#

how can i solve this texture issue

paper bone
polar harbor
#

this is how it looks through gaea 2.... and this is blender

formal crane
serene magnet
polar harbor
#

from gaea 2 it is simply an obj file and png, so im not sure why anything is different from these videos and tuts

shadow iris
shadow iris
warm canopy
#

Work in progress, making a recording tool using custom camera

shadow iris
#

maybe could do that but a bit more intense and potentially actually chase the player for trailmakers

hard shore
#

Has anyone been able to connect a g29 to trailmakers on pc?

cinder spruce
radiant lion
#

Yeah steam input is great for this kind of stuff

shadow iris
#

yet another valve coolio

shadow iris
#

once more i fight with the modding api to make AddCamera actually work

#

once more i fight with my own stupidity

paper bone
cinder spruce
paper bone
spare river
#

OHHH YEAH

#

he's making functional train tracks

paper bone
#

lmao no im not

#

roads, you drive on them with a car

spare river
#

Bruh

#

I want rails tho brother

paper bone
#

someday

spare river
#

You have to make functional highspeed rails in TM before GTA 6 man

#

@paper bone

paper bone
#

ok i have it on my list

spare river
paper bone
#

if only we could load meshes from the data_dynamic folder in Workshop mods😭

warm canopy
#

Are you sure you cant but with my cinematic maker I think the workshop version is working and that reads/writes to the dynamic folder

paper bone
#

reading and writing is not an issue

#

its loading assets that is problematic
like AddMesh or AddTexture

warm canopy
#

ah

shadow iris
#

how would one smoothly rotate an object while the mod is running at 60fps or even 30 fps

cinder spruce
shadow iris
#

lets see if SetTexture() works

#

i dont think it does ngl

#

oh

#

i doont thni k i work

#

enough to take a dragon engine from 100% to smoking

shadow iris
#

LOD created gap

#

rotation isnt smooth but it works

dapper jay
paper bone
#

For workshop mods no they cant, because in the AddMesh or AddTexture you need to give it a path that is starting at the mods root folder and since the data_dynamic folder is somewhere completely different it doesnt work

dapper jay
#

when nothing in your api works correctly

paper bone
#

I dont even understand why the data_dynamic folder needs to be in such a weird place to beginn with

near parcel
near parcel
regal bear
#

My animated StartLights box is working 🙂

cinder spruce
#

I believe the original torpedo prefab might've been modified in 2.1
can someone check if its working fine on maps that had it included?

formal crane
cinder spruce
#

Alright then :)

radiant lion
#

Do note mines are also broken

#

I haven't checked since I reported it, but it could range from just not spawning from crashing the game

paper bone
#

is the spawnStructure function broken?

warm canopy
#

Nope

paper bone
#

i guess im just too dumb to use it then

warm canopy
#

Why whats happening?

paper bone
#

i have a function to initialize all blueprints:

local function init_blueprints()
    local carList = {}
    carList = json.parse(tm.os.ReadAllText_Static("cars.json"))

    for i, carName in ipairs(carList) do
        local carPath = "assets/cars/" .. carName .. ".png"
        tm.physics.AddTexture(carPath, carName)
        table.insert(blueprints, carName)
        tm.os.Log("Loaded blueprint: " .. carName)
    end
end

and i try to spawn said blueprint

local function main()
    init_blueprints()
    init_roads()

    tm.players.SpawnStructure(1, blueprints[1], "test", tm.vector3.Create(0, 300, 0), tm.vector3.Create(1, 0, 0))


end
main()

my cars.json:

["basicPlatform"]
dapper jay
#

arent players indexed from 0?

#

the playerid youre using is 1

paper bone
#

omg your right

#

its confusing when lua always starts indexing at 1

warm canopy
#

What are you going to use for steering?

paper bone
#

hinges at or close to 0 strength and ill just turn the wheels

dapper jay
#

can you activate the engines somehow? or will you just apply a forwards force? lol

warm canopy
#

I guess the engine could always be active

paper bone
#

since EnginePower cant go below 0

dapper jay
#

oh cool

#

i assume you distinguish between the two engines by colour?

paper bone
#

yeah, atleast that is the plan, i havent actually controlled a car yet

warm canopy
#

For ground vehicles torque works ok but the moment you want an plane its a whole different thing

dapper jay
#

would be cool if we could use logic gates with no inputs to control stuff on creations

#

maybe the no inputs part isnt required but idk

paper bone
#
    local structure = tm.players.GetSpawnedStructureById(structureId)[1]
    local blocks = structure.GetBlocks()
    tm.os.Log("Structure ID: " .. structureId .. " has " .. #blocks .. " blocks.")

NO IT DOES NOT HAVE 32 BLOCKS
man what am i doing wrong now?

warm canopy
#

Doesnt look like its wrong

dapper jay
#

damn

paper bone
#

Yeah each block is listed twice

#

The list repeats itself

scenic echo
paper bone
#

turns out spawning blueprints is really buggy as soon as the player does anything with his own blueprints

#

if the player enters buildmode, each structure that gets spawned, no matter the position gets put into this buildmode at the origin. -> complexity stacks, blocks overlap
if the player Repairs his structure it is likely that atleast one of the structures spawned by the mod get also triggerd and get teleported to the players position and the player gets enterd into 2 seats at once -> game freezes

paper bone
#

why are modded server hidden by default?

formal crane
turbid creek
#

Anyone know of a way to set enable mods on test zone AND set it to deathmatch?

shadow iris
#

it really should be 😉

turbid creek
shadow iris
#

like you cant do anything to deathmatch with mods

#

that includes converting a server to deathmatch

turbid creek
scenic echo
radiant lion
#

Deathmatch is not dethrone right?

scenic echo
radiant lion
#

Than I got no clue... But judging from the track record I doubt you can have any direct interaction

warm canopy
#

Mods cannot be used with the deathmatch game mode currently

cinder spruce
#

yeah :(

scenic echo
#

they should make mods available on campaigns after you've finished them, it would be fun to make campaign specific mods

shadow iris
shadow iris
wispy crescent
#

How would one go about making a trigger box, is that even possible through the api?

shadow iris
#

i see modding got renamed to modding-forum

#

and i think the old modding text channel got renamed to modding-archive

wispy crescent
#

Yeah that answers that

scenic echo
# wispy crescent Yeah that answers that

there is this too

--- Registers a function to the collision enter callback of a game object
--- @param targetObject ModGameObject
--- @param functionName string
--- @return function
function tm.physics.RegisterFunctionToCollisionEnterCallback(targetObject, functionName) end
warm canopy
#

Been updating the modding info site, its now more of a modding portal https://mods.trailmakers.ludixi.com Work in progress currently but it has the latest info on functions/audio/spawnables available

formal crane
#

Delicious

warm canopy
#

Getting workshop mods to display on the front page was a whole kettle of fish

formal crane
#

Curious; what was the challenge? You scraping their site or whats up?

warm canopy
#

Scraping the steam workshop correctly because theirs no official method provided by steam to get the data, I really hope steam doesnt change the html layout on that workshop page LaughingDog

near parcel
#

Web development in a nutshell ||to be fair, i was completely zoomed out, by default the box borders fit are at the sides of the screen, although functions still go off screen||

formal crane
#

straight up this joke

warm canopy
#

I blame flashbulb for the long ass function names

paper bone
warm canopy
#

That sounds like a heck of alot of work lol,

#

Spawnables I could probably piggy back the screenshots from the wiki

shadow iris
#

guys im popular

#

row 3 column 1 💪

#

@warm canopy how is the most popular mods thing on the new site sorted lol

#

row 1 column 1 has 52 subscribers meanwhile row 1 column 2 has 262 subscribers

cinder spruce
#

ok it seems “most popular” means most visiting to the page. but it seems like the in game workshop doesn’t count towards that, only actual visits through steam website

shadow iris
#

do mods that extend official maps count? ;)

#

a mod i think should be on the curated list is krunch's tcp

#

maybe just maybe no repair tokens too mayyyyybeee

#

how do i submit guides?

#

i dont think the deprecated gravity and color functions should be displayed in the functions page

#

favoriting bug: only the first item you favorite on the page will be saved to favorites, you must reopen that page to add another favorite

warm canopy
#

So basically the way curated and the mods (general) and maps work is that it’s actually getting them from a workshop collection as it’s impossible otherwise to distinguish, if all types is selected then yeah that’s directly pulled from whatever is current on the workshop.

#

Im not finished with the site yet (especially the guides/library feature), open to suggestions with what should be in certain categories for mods. It’s easier to just display deprecated, as the way the site works for functions is I just feed it the lua docs.

paper bone
#

@warm canopy little bug report, the circle which im guessing is supposed to be the profile doesnt show up correctly (checked both with brave and firefox)
And the dashboard shows an api Error under My Submissions, probaply since i havent submitted anything yet

warm canopy
#

Yeah the whole login/submission side of things needs work

scenic echo
#

is it normal for raycasts with ignore trigger true to detect custom objects that are set to trigger?

formal crane
scenic echo
formal crane
#

gamedev amirite

shadow iris
warm canopy
#

Right now its just a workshop collection that I add peoples mods into

shadow iris
#

im guessing custom missles mod isn't curated due to the current api bugs it has to deal with

warm canopy
#

Yeah I was going to add it but im trying to sort through mods that arent broken

shadow iris
warm canopy
#

Updated the curated should now show

#

I think alot of the time actual mods get lost in the steam worskhop amongst the maps

shadow iris
#

the posts on the forum channel here should help with that

#

hows trailflow been going?

cinder spruce
#

maps workshop tag when

warm canopy
#

Trailflow is stuck in development hell, I refactored the code and as a result I need to "redo" the web editor, its such a huge project

shadow iris
warm canopy
#

The plan is to make more libraries-like code then that gets tied into trailflow, so that things are much more modular

shadow iris
warm canopy
#

Even tried making a trailmappers equivalent but browser-based but no bueno

shadow iris
warm canopy
#

Not really, the issue is doing transform handles in the browser

#

non-uniform scaling is almost impossible to do right

shadow iris
#

mhm

warm canopy
#

Had working vertex snapping

shadow iris
#

oh my fucking god the missing fallback preview image bug strikes again

#

frans fix RIGHT NOW ! !

paper bone
shadow iris
#

ok i did the steamcmd bs

formal crane
# shadow iris 🥶

2.1 got us super busy and we haven't had time to goof around... But i intend to bring it up after 2.1.1 😄

formal crane
shadow iris
# formal crane wha

like 90% of the time when a mod is uploaded to the workshop the fallback thumbnail isnt uploaded

#

so it just displays as the gray placeholder on steam and pure white ingame

formal crane
#

ah didn't know!

shadow iris
#

or maybe the fallback thumbnail doesnt get loaded ingame? i dont know

shadow iris
# formal crane ah didn't know!

weirdly on one session, it was working for all of my mods, even old ones; then i went to & from the blueprints tab and it stopped working

shadow iris
#

it seems like only i have this issue though?

shadow iris
#

i just realized that im pretty sure the devs dont have a similar tool like cinematic maker because i havent seen any trailer use it

#

so in theory devs could use community mods to make official trailers

#

which sounds absolutely incredible

near parcel
#

the devs have the unity editor, which is much more capable

shadow iris
near parcel
#

iirc the spacebound trailer used it, and they already have the functionality of the cinematic maker for pioneers cutscenes if they wanted that anyways

shadow iris
#

spacebound trailer definitely doesnt use the ingame options yeah

radiant lion
shadow iris
#

yet another suggestion to the list

regal bear
shadow iris
#

gamemodes like aerobatic something

#

or minigolf

regal bear
#

Those sort of curated lists would be so useful for finding good mods

shadow iris
#

tm map extensions like treasure island update

regal bear
#

yep

shadow iris
#

why did tm level designer have to leave the mountain so barren

#

i have to do like 4 entire sides of the mountain 😭

#

they have the automatic tools, i don't 😭

regal bear
shadow iris
#

id rather do forests and maybe race tracks

#

not a flat cliff they didnt feel like spending <20 minutes on

#

but, treasure island update is gonna fufill its purpose, so...

#

to fill in blank spaces... that includes blank cliffs sadly

regal bear
#

Ah well. If it's worth doing, it's worth doing it well.

shadow iris
#

i should probably remember the whole list of like 20 people who were eagerly waiting

#

so i can ping them

shadow iris
#

another gif of salvage clipping through objects!

#

right after i pressed F6, it jumped back up to here and it is not jittering whatsoever

#

only happens every few exports... and maybe its just a visual error? cause it seems like the collisions work correctly

#

IT IS!

#

it IS just a visual error!

#

take this with a grain of salt but this was something around 30 seconds until it fixed itself

#

actually no it still jitters a little bit

shadow iris
regal bear
#

weird

#

Just posted about new custom objects for TCP's next update:
#1242291936715608205 message

shadow iris
#

@warm canopy can you add a "play while game is paused" option to cinematic maker?

near parcel
near parcel
warm canopy
#

It’s impossible to bypass the games mechanics of pausing

shadow iris
near parcel
#

you can finish the current update call, but no more calls will be done. It's the same as setting the time speed to 0, unless you have a button/UI text fields to change and trigger code the mod won't run

shadow iris
near parcel
#

if you are trying to unpause the game on each frame, just know that repeatedly doing that messes up the physics rendering (which is terrible for a camera for obvious reasons), and even then i doubt setting the camera position will actually update in the client until it unpauses

shadow iris
warm canopy
shadow iris
#

i hope we get a way to use the blue background

#

also who is tmmodding again?

shadow iris
#

oh interesting, tmmodding hasnt sent anything since spacebound / pre-2.0 times

formal crane
shadow iris
#

also i see inconsistent case for the deathmatch settings names?

paper bone
#

and sublte message char limit increase🙏

shadow iris
#

or make it stupidly high at least

#

i want doom in subtle message

#

with color

#

cant take that much time to do rightttt

cinder spruce
#

all i want is to have sprites be placed on the screen for UI upateq

shadow iris
paper bone
#

transparent textures would be a dream too :P

formal crane
#

it is capped (as in pre-calculated) for proper network packaging. Otherwise it would be slow as shit (at least on our terms). String are the worst kind of data to send around so we are pretty tight with it and our network budget is already quite strict so hard to make more space for it.

(I am not arguing against increasing it, just explaing why it is there in the first place)

shadow iris
shadow iris
formal crane
#

No clue what you are referring to?

paper bone
#

when it saves and shows the long name of the replay

#

im guessing

shadow iris
#

after the replay gif recording message goes to "replay gif recorded!" or whatever and ye it shows the full file path

formal crane
#

Ah yes! Yeah that is not transmitted at all.

shadow iris
#

client side mod processing update

formal crane
#

The subtle message is lot restricted by itself. It is the remote procedure call that is constrained.

formal crane
shadow iris
#

do you know what font the game uses for headers? johannes ignored me 😭

shadow iris
paper bone
formal crane
#

No clue, but there are font detectors out there

shadow iris
formal crane
formal crane
shadow iris
#

money 🤑🤑🤑

shadow iris
paper bone
formal crane
near parcel
#

iirc it has the same char limit

shadow iris
shadow iris
formal crane
shadow iris
paper bone
#

subtle messages with 64 bytes would be awesome

#

would make it possible to actually spell entire phrases

near parcel
shadow iris
#

ooh and then because of that networking thing you mentioned, do oversized messages crash because of that?

shadow iris
near parcel
#

you have with header+content

formal crane
shadow iris
#

but i cant even fit a "press <glyph> to <action>" most of the time

#

with 32 characters

#

sounds pretty close but paid wth

near parcel
shadow iris
#

this sounds really insane but, maybe have a way to substitute text from a separate file (like translation strings i guess?)

paper bone
#

completely unrelated but does someone remember what makes text align center instead of to the left in Mod UIs?

shadow iris
#

oh its close enough (i got it off a free font website)

near parcel
shadow iris
formal crane
near parcel
near parcel
paper bone
formal crane
paper bone
near parcel
# shadow iris how?

you use format strings and pull the correct one from a table according to the currently specified language

shadow iris
#

well no, my idea was to send the translations file to the players and then send subtle messages with the translation substitute key thing, then on the clients' end it replaces it

formal crane
# paper bone to always align center i hope right?

Yes; think it is just some dumb re-enabling issue with imgui. Haven't dug into it yet.

it shouldnt be "always align center" it should just properly serialise and deserialise the state properly. So it can support whatever happens in the future.

near parcel
shadow iris
shadow iris
shadow iris
#

seems like putting the full folder path (C:\Program Files (x86)\Steam\steamapps\common\Trailmakers\mods\<MOD NAME HERE>) is significantly more reliable than doing mods/<MOD NAME HERE>

near parcel
#

i have never had an issue with mods/mod_name

shadow iris
#

a lot of the time the preview doesn't upload, and just now all files wont actually get uploaded

#

but with the full path none of those issues have happened so far

near parcel
#

maybe it's due to you using spaces in the folder name?

shadow iris
near parcel
#

if you are using spaces in folder names, you are asking for trouble. Unix style paths are likely parsed differently from windows style paths due to the different syntax

shadow iris
shadow iris
#

downloaded mod from the workshop: idk what triggers it trying to find lua but, because its a workshop mod the trailmakers/mods/ folder doesnt have the lua so it throws a load mod error

formal crane
# near parcel not sure if this is possible from your side, but bubbling it up to the mod might...

Bringing this up; what feels like a good way in lua to inform users of errors/exception handling?

I see some examples with functions returning objects in case of succes, otherwise obj can be checked for nil, but we wouldn't know what happened.

Is there some kind of pattern for Lua for exceptions that could make sense here?

Maybe each method has some kind of object+err returned (Golang style).. I would love if we could do this for all api functions actually. Of course that requires a major api change which would practically break everything. But I am just opening up a discussion here.

If anyone have some litterature on this OR other games/projects which uses lua and has some kind of handling of this, then I would love to check it out 🙂

near parcel
#

there are essentially 3 main ways of doing it:

  1. Error out with error(message [, level]): throws an error that bubbles up automatically, like exceptions in other languages. It automatically adds a stack trace of the error and where it happened. If level is 0, no location information is added, if it's 1 (default) the location is where error() was called, if it's greater than that the location is the function call on the Nth level of the stack. Not sure how this would be handled from the C# side, but moonsharp probably has an equivalent method you can call to error out (maybe C# exceptions are automatically converted to this? They do appear in the logs, but i haven't checked if they can be handled with pcall)
  2. Option monad: return a value of type T|nil. This is usually best for simple cases in which you want to get some data and there is a single obvious error case (such as trying to find a value in a list when the value doesn't exist in it). The callee can check whether the return is nil or not to figure out if there was an error
  3. Error monad: return either true, result or false, error_object. This allows the callee to check whether there was an error by checking the first return value, while the second value contains the respective data (error data if there was an error or normal result if there wasn't)

if a function uses the first error method, any callee can wrap the call in pcall(function [, args...]) to convert the return value to the third method automatically. Usually you would use the first method when the call can fail due to implementation details (or programming error), the second method when the function gets some data which might or might not exist, and the third method when the function gets some data, there are multiple possible error causes (such as file read operations, which might for example fail because the file doesn't exist or because you don't have read permissions), and you want those errors to be explicitly part of the API

shadow iris
shadow iris
#

fancy display for secondary color

summer cairn
shadow iris
#

now it shows both primary and secondary!

#

now the name is bold and it rounds weight and buoyancy! im having too much fun lol

shadow iris
#

All lines after a line that has bold text which isn't completely static (e.g. requires if checks or gets the string from a variable) flicker

#

???

#

or is it that formatted/"dynamic" lines after a bold line flicker?

#

i dont know man

#

wait no is it based on time to compute stuff? cause if i delete the stuff for the color lines, special properties stops flickering

#

if i remove the whole rest of the ui all of it stops flickering

shadow iris
#

hmm quite a lot of variance despite the same output

#

there was also that one update that took 0.7ms

near parcel
shadow iris
#

if thats the default

near parcel
#

You could try caching the state and only setting the string when it actually changes

shadow iris
#

i probably should cache all the block info and stuff too like i do in another one of my mods

#

i don't think im doing the math right

#

although when it isn't 0ms its at least plausible

#

so its plausible about 50% of the time 😆

#

the two numbers are the same but ok

#

oh i know why

shadow iris
near parcel
#

Yes

shadow iris
# near parcel Yes

when theyre subtracted they seem correct but when logged directly theyre the same

#

the math.floor is for rounding with decimal place

paper bone
#

Just use string.format()

near parcel
shadow iris
shadow iris
#

13.1ms ChirpoStatue

shadow iris
#

UI is somehow 0.00ms but that is a tomorrow problem

near parcel
#

Could be a rounding error if it's not doing much

shadow iris
#

and other things but primarily math

#

gets selected block primary and secondary color, gets selected block in general quite a lot

#

converts 0-1 RGB block colors to hex code

warm canopy
shadow iris
warm canopy
#

Didn't seem to do anything

shadow iris
#

and higher numbers???

warm canopy
#

I doubt it has any effect ingame?

shadow iris
#

ooh i should test if the get max teams thing change

#

so far an 9th player hasnt ojoined

#

ah it only lets 8 players in still

scenic echo
#

would have been epic, i guess the devs saw this coming

shadow iris
#

frans add player id 8 when

#

frans add team 9 when

cinder spruce
shadow iris
#

so maybe its limited by the size of the pid

#

also only 8 teams exist but idk whether it would matter

#

lowercase sebi jumpscare

scenic echo
shadow iris
cinder spruce
#

didnt change anything :(

cinder spruce
#

are you able to put both at the same time?

shadow iris
#

ye try that

cinder spruce
#

as server host

shadow iris
#

lets see

#

itll probably fail due to maximum sizes in pionet

#

aj can you join me

#

RainlessSky / does THIS allow 12 players?

#

wait how

#

aj was 2nd ofc

#

but how did team 4 get before team 3

#

nobody at that team count left i think

scenic echo
cinder spruce
#

im trying to join with 8 ppl now

warm canopy
#

That's how we count in trailmakers 1,4,3,5

shadow iris
cinder spruce
#

unfortunate

#

it didnt work

#

it took a while to load tho

shadow iris
#

damnit

shadow iris
cinder spruce
shadow iris
#

maan

#

OH

#

maybe it was playerid thing

scenic echo
#

i guess the devs are smart

shadow iris
cinder spruce
#

chat i did something funky

#

clicking it just says there's no servers available

#

what's the difference between host server and start server?

shadow iris
#

@scenic echo server died

shadow iris
#

two server regions is inzane

shadow iris
#

your game hosts it

#

but start makes dedicate server?

#

i dont kno

cinder spruce
#

also this exists now

#

im slightyl cofnused

shadow iris
#

its for console

#

i wonder if you can use -MaxBuildComplexity= to get increased comp without mods enabled

shadow iris
#

what did you do to get the cloud hosting stuff

#

-ForceEnableHostServer=
-ForceEnableRequestServer=
-ForceEnableCreateServer=

cinder spruce
#

-nographics
i wonder what this does

#

oh it literally just launches the game without a window

shadow iris
#

what happens if i edit a server hosting preset to put mods enabled on a campaign for example

scenic echo
#

that is something i want

shadow iris
#

crazy font size

#

oh @cinder spruce start server is cloud hosting

#

host server seems to be the normal hosting

cinder spruce
#

so theres start server and request cloud server button?

#

why both

shadow iris
#

maybe for changing region?

shadow iris
cinder spruce
#

i bet you can make the game think you're on console or something

shadow iris
#

but you have to sign in

#

wait

#

-mode=Server -UseMods=true -WorldId=Exploration -GameModeId=Sandbox -ServerName="RainlessSky / "

#

this sounds like dedicated server

#

and then thats what nographics is for

#

or batchmode?

scenic echo
#

let's try it

shadow iris
#

ye my game has blackscreened now with -mode=Server

#

join that server name

#

oh it is fs doing something

cinder spruce
shadow iris
#

ooh in the errorlogs theres a logged db of all the block names

#

wait wrong screenshot

near parcel
shadow iris
shadow iris
cinder spruce
# shadow iris

i always see that when i ever peak into logs i dont think its anything special

shadow iris
#

"why is this zero?" as i floor a small decimal

shadow iris
#

speed up finding block names for mods

near parcel
shadow iris
shadow iris
#

the launcho ption for server name could be interesting

near parcel
#

this has nothing to do with mods though

cinder spruce
#

fair enough

shadow iris
#

does general chat want to hear about this

cinder spruce
#

how about a group DM if we want to experiment with this really

shadow iris
#

tru

#

@warm canopy where did you get this launch options list and when was it made?

warm canopy
#

From an old version of the game around 2021

shadow iris
#

oh it does work??

summer cairn
formal crane
# shadow iris frans add player id 8 when

i know it is all fun and games; but I am getting a little annoyed at these kind of messages at this point.

I am trying to create some comfort in communicating here, but this makes it more of a struggle to see literally everyday
I just hope you realise that funny texts can be received at the other end in ways you might not have expected... You dont know whats going on here, and try to keep a compassionate spirit in mind. It feels extremely entitled to write these kinds of message.

It is just personally a little bit too much with these kinds of joke request.. Or continuous. HEY CAN YOU DO X; Y Z.

Just wanna have a respect chat about the game. I know you guys are passionate - but keep things nice 🙂

EDIT: to be clear. Of course you are welcome to make suggestions. Just keep it constructive and legitimate!

summer cairn
#

hey frans while youre here could you check out #1390459419980201995 ?

#

no pressure

shadow iris
#

i think i got the ui profiling to work

#

so cap

shadow iris
#

interesting

#

the last two are when i spawned a build

#

ui only costs a fuckton when its first created or?

#

maybe just my code

shadow iris
#

even on 1/1 target delta time

#

ok the ui has ceased function

#

broke it on the dragon engine and now this has happene

#

it still hasnt corrected itself by the time i sent that

#

ohh wait

#

is it a bandwidth limit

#

so it takes more than 1 frame to add ui

#

thus causing the flickering

#

this is why it gets even worse at 1/60

#

but idk why it outright freezes

#

yeahhh its flickering less on 1/5 vs 1/10

#

yeah if i remove the color parts, which have a lot of characters, the last line can run at 1/60 just fine

#

i think it could be bandwidth limit of some sort?

#

@formal crane i may have figured out what causes the flickering ui bug

#

changing the blank spacer line ("") to a colored square ("<color#bd1c1c>█</color> 150cc") causes the whole ui to start flickering

#

sometimes itll start lagging behind on actions by multiple seconds but not flicker (including adding any new lines or clearing ui)

#

oh this is stupidly close to the threshold without primary color, its <6 bytes from bugging

#

ooh i got it right on the threshold where long block names lag the ui and short ones dont

#

nvm it was literally 2 minutes behind on only half of the ui

#

yeah after it flickers it needs to play catch up for a long time

#

this is roughly 25 bytes from being buggy

shadow iris
#

uses the same method as brainrot vehicle detector

scenic echo
shadow iris
scenic echo
#

Cool

shadow iris
#

involved setting engine power and wheel buoyancy

#

and also maybe engine power based on # of wheels

scenic echo
shadow iris
scenic echo
shadow iris
#

but also antimatter has a life so I'm the only actual dev

#

cause the project lead keeps putting off learning modding

scenic echo
#

Let him be in his never ending mapping bubble

shadow iris
shadow iris
shadow iris
#

@warm canopy glyph 33 is still listed twice

dusty pelican
#

how do you get the x y and z components from a modvector3

shadow iris
near parcel
#

yes

dusty pelican
#

to frans or alvaroping, how exactly is gravity done in trailmakers?

i am trying to make a wallride mod for kartmakers but right now the way i apply gravity it's like a band aid implementation, half working and jittery

here's a little code snippet of my gravity code

shadow iris
radiant lion
dusty pelican
#

how do i run it every frame though

shadow iris
#

are you setting targetmoddeltatime

radiant lion
#

setModTargetDeltaTime(1/60)

shadow iris
#

keep in mind this will make the server lag a lot more

dusty pelican
#

gruh

#

oh

shadow iris
#

bc its running like 6x faster assuming its still 10hz

#

if its 30hz then its 2x faster

radiant lion
#

And tm.os.GetModDeltaTime() gets the time passed since the last update

shadow iris
#

are these numbers actually accurate i honestly cant tell

scenic echo
shadow iris
shadow iris
#

if i use tm.playerUI.RemoveUI() on each individiual ui window line, it lags like crazy. if i use tm.playerUI.ClearUI() it's fine, but subtle messages won't work

#

what can i do to fix this?

scenic echo
shadow iris
paper bone
shadow iris
shadow iris
#

would that lag less than adding it?

#

cause youre still sending the same amount of data basically

paper bone
shadow iris
#

btw when i mean lag i mean the ui flicker

scenic echo
shadow iris
#

well

paper bone
#

didnt we just have a talk with Frans about the UI beeing one of the most bandwidth demanding things of mods? so try to atleast optimize your UI on your end

shadow iris
#

i suppose so because it doesnt have to create it

#

so theres no time when its blank

formal crane
paper bone
#

let me rephrase that

#

ok i misrememberd, it was the Strings that are the issue, not the UI itself, my fault

formal crane
shadow iris
#

im currently rewriting ui to only add ui when it has to

formal crane
#

(--snipped-- False statement)I would recommend just to be smart with the set values instead.¨

#

I am putting in a task to revisit this, I think we can do better with that because clearing a is a bit of PITA due to Subtle Messages and Window elements both being part of ClearUI.

I believe someone made the proposal to have a flag or similiar for which you want to be cleared instead.

shadow iris
#

similar, not similiar

#

unless im being dumb and that actually is correct

formal crane
#

I am unsure how exactly we could stop the flickering, would mean we would have to stop the window from being disposed which would be weird behaviour if you actually wanted to remove the behaviour after removing all the elements.

near parcel
shadow iris
#

cause even at 1/1 update rate if i send a lot of stuff, it still takes a couple frames to add it all

near parcel
formal crane
#

And it does become particular a problem when it is in the context of RPC's so timings are hard.

#

If we did batched UI commands we could perhaps fix it, but thats a longer story,.

shadow iris
#

not agaiiin

shadow iris
#

i think i messed up the rewrite, it runs absurdly slowly and crashes the game after like 10 seconds

#

and no, there arent thousands of ui lines being rendered

warm canopy
#

What'd you making?

shadow iris
# warm canopy What'd you making?

ui window in build mode that gives vehicle stats
always visible (numbers only calculated when structure is udpated):

  • total weight
  • total buoyancy
    selected block
  • <empty line>
  • name
  • weight
  • buoyancy
  • if it's an engine, show engine power. otherwise, show empty line
#

ahh its some thing with removing ui

#

see i can use errorlogs to my advantage

warm canopy
#

If you can use setui thats probably the safest bet

shadow iris
#

for some reason i had 2 copies of the update ui code and one was old and still removed & readded a line

#

and then that i guess detonated itself or the 2nd copy thats actually up to date

#

works beautifully but now i have to keep a blank line for the engine power

#

otherwise i'd have to remove/add it and thats messy

near parcel
#

you can set it to N/A if you don't want it empty

shadow iris
#

oh how i wish we could use <c> as shorthand for <color>

#

that would free up so many characters

scenic echo
#

block blob, i'm making my old combat mod compatible with the blocks added since 2.0

dusty pelican
radiant lion
#

Pretty sure it works just like that, make sure the force is multiplied by the weight

dusty pelican
#

weight is scanned with a custom function

shadow iris
#

but only by <1kg usually

#

and that should reduce the applied gravity

shadow iris
#

i don't think thats working as intended

#

(theres a concrete wall roughly where the orb is)

#

Another case of: #1226065444364877835 message
Re-exported a Trailmappers map and the player / player structure was deleted
Vehicle becomes entirely unresponsive and once leaving the structure, cannot be interacted with whatsoever. Entire structure has no collision besides the top of wheels (alike sometimes in build mode)
Makertool targets many blocks at once (but stopped some time after i tabbed out?) (https://cdn.discordapp.com/attachments/1140936220487192587/1392323854067564657/image.png?ex=686f1e22&is=686dcca2&hm=c32b1565ae0370f415a5a94f2aca43f76b01a308b9ec3b1c55f3905a962a5014&)
Player is unable to enter build mode, repair, transform, or respawn.

happens rarely and has happened on 2 trailmappers maps now, i don't think its specifically a map issue

#

happens rarely and has happened on 2 trailmappers maps now, i don't think its specifically a map issue

radiant lion
#

i'm sure it worked, it's been a while, but when i tested it it behaved exactly like normal gravity

#

defauly should be a direction of 0,-14,0

shadow iris
#

when did modder role be super duper shiny?

#

its too low to ever show up for anyone though 😢

shadow iris
# formal crane No clue!

i was told by terrorsoul that you were the one editing the modder role, is that correct? if so, is it possible that you could move the modder role up in priority so its color(s!) can shine?

shadow iris
#

with/without multiplying by delta time me and @dusty pelican's custom gravity still jitters every now and then. how could i fix this?

dusty pelican
shadow iris
#

this delta time is absolutely diabolical

shadow iris
#

its not the amount of force, its when/how often its applied fluctuating

shadow iris
#

and besides, the gravity strength is basically 1:1 with official gravity

#

so i dont want to change that

#

the point is that its the same EXCEPT you can go on the walls

dusty pelican
#

yees'

radiant lion
#

are you still using odd refresh rates or have you gone to 60hz?

#

cause i'm relatively sure the jittering is caused by that, physics is stuck at 60hz, so some physic frames lack the actual addForce, while some get it, i am mostly sure the force can't get applied between frames

#

30hz might also work, since you always skip a frame, but i don't see why not to keep it at 60

shadow iris
#

idk why

#

even on old code

shadow iris
#

i clicked a ui button that spawns a subtle message

#

and now none of them are showing up

shadow iris
formal crane
shadow iris
#

wait did you make it be solid blue now?

#

oh the gradient on the roles list doesn't render correctly on mobile

radiant lion
#

We'll just have to find a new modder that's been here between 2 and 4 weeks to see the color

serene magnet
#

Huh?

formal crane
#

Currently doing another pass on the spawnables and oh man this one made me understand the issue with Race Island and updating it.

radiant lion
#

Are you... Actually handling it as a prefab and not as an asset generated by a script given the shape...?

formal crane
#

Oh wait I see what you mean; so those barriers are actually generated using Houdini! But thats kind of the thing. They are not prefabs and I cannot extract them as they are an absolutely massive mesh object that covers the whole level DoggoScream

shadow iris
#

houdini in 2024 mentioned

formal crane
#

They were generated at the time Race Island was made. Now they are just.. there..

radiant lion
#

I'm guessing creating them real time with lua function would be too hard..? Also too specific, I'd much prefer custom tris

formal crane
#

Not impossible, but you pretty much have to reinvent a bunch of things for Lua. We dont have any procedural generated meshes for Trailmakers and we dont have access to the houdini part any longer, so not like we can just hook those up either.

paper bone
#

When mesh loader upgrade? ||jk||

shadow iris
#

when modding vs pionet update

#

i think that sort of stuff is limited by pionet, bc strings ui are limited to 32 characters so why wouldnt custom assets be limited too

formal crane
#

Strings arent in general limited to 32 chars. It was just specifically ui lements for modding that it was set to that.

#

Custom asset transfer uses chunks of byte arrays

radiant lion
radiant lion
formal crane
radiant lion
#

Cool :) I'm definitely in on the soft fail

shadow iris
shadow iris
#

oh thats cool heres a subtle message error from it trying to set the icon of it before its custom texture has loaded

#

this is also a silent error only seen in ErrorLogs and not the mod's logs

#

but this one isnt as bad because often that's not gonna get spammed

shadow iris
#

alright well i did like 9 runs with checking errorlog and i think i fixed all the silent removeui errors... if i didnt then i give up trying to fix them for now because god this absolutely sucks to debug

regal bear
#

~~I think there could be an issue with despawning objects that have been set to trigger.

Something invisible is being left behind, like a convex hull perhaps. The player camera is clipped by these 'ghost' objects after they have been despawned.

I will write this up properly in vote-modding-features when I have some time but just wanted to see if anyone else has noticed something like this?~~

Edit: It may have been an error in my code. I seem to have fixed it by doing things a different way.

shadow iris
shadow iris
#

more player events would go hard, like player respawn, player teleport, player enter/exit/ejected seat

shadow iris
cinder spruce
#

@novel maple
test just for signal
i have no clue how im going to work in a proper lifting gate arm yet

regal bear
shadow iris
novel maple
scenic echo
paper bone
#

You just need the arms and the base to be seperate objects. Preferably have the pivot of the arm be at the connection to the base. When closing/opening you just need to use setRotation() on the arm.

radiant lion
#

You don't even need the pivot to be at the base, so long as you know how to use sin and cos

paper bone
#

I wish mods could save a players blueprint in the data_dynamic folder

#

And then load it from there too

#

Never gonna happen :(

paper bone
#

Imagine all the possibilities, mods could be so much more interactive. Having the option to save a players blueprint and beeing able to load them again could make modding a lot more interesting, imagine beeing able to come across vehicles that you made in your world.
You could have mods that automatically give you the blueprint you last used when the mod was active, this would be huge for custom campaigns

summer cairn
radiant lion
#

||we need Frans to leak the encoding code||

#

||and the protobuf description file..?||

near parcel
#

In practice the ton of issues that would appear from hacked blocks far outweigh anything good you could do with it

serene magnet
#

Don't have the back up as a gif rn but I basically just make a call once it reaches the end of the swing to another function that just rotates it back

#

But you could also setup a timer to count down till the second function is called

warm canopy
#

Anyone got any better ideas at detecting a respawn?, In the past i've just be relying on backspace being pressed for a certain amount of time, similar situation with detecting repair

scenic echo
#

for backspace maybe you can check if the player went from multiple structures to only one, but idk how well that would work

warm canopy
#

Perhaps my keydown approach is best then for backspace currently, I just worry how it translates to people using controllers

paper bone
#

im pretty sure it doesnt translate at all

near parcel
#

Anything else will mean doing work on each frame, which adds more load in the game

#

Maybe add triggers to spawnpoints? You will still need to do extra checks when triggered to make sure they aren't just driving there, but at least you don't run code for all players on each frame

radiant lion
scenic echo
#

is there any way of completly stopping a blueprint from moving?

shadow iris
scenic echo
shadow iris
scenic echo
shadow iris
#

i find it painful how modstructures only have addforce meanwhile modblocks have addtorque and its variants

radiant lion
#

Making it static, nor setting position can't be done, no, so adding forces is your best bet

dapper jay
#

I have gotten a great idea that im sure will work flawlessly

shadow iris
#

@warm canopy you could add the emojis from the guides to the category selector

scenic echo
#

i'm having trouble with tm.players.SpawnStructure(playerId, blueprint, structureId, position, rotation), when i try to spsawn a structure, in the log, it says this Blueprint with id Blueprint.png not found. does anyone know what i'm doing wrong. This is my code tm.players.SpawnStructure(playerId.playerId, "Blueprint.png", 10, tm.players.GetPlayerTransform(playerId.playerId).GetPosition(), tm.players.GetPlayerTransform(playerId.playerId).GetRotation())

radiant lion
#

Iirc you have to first load the png, like you'd do with custom objects

scenic echo
#

so like tm.physics.AddTexture(filename, resourceName)

radiant lion
#

Yeah

#

Then use resource name

scenic echo
#

spawning a blueprint that crashes the game, with mods, still crashes the game

warm canopy
#

Im having a literal nightmare with structures in terms of getting a flying structure to follow a path.

#

Ground structure is fine as your not dealing with lots of rotations

#

But flying ones I’m not even sure I can fully make it work with the api we have

#

Torque just isnt adequate enough

scenic echo
warm canopy
#

I cant get it to stay level

#

Constantly doing barrel rolls

scenic echo
warm canopy
#

Its supposed to be flying in a straight line along the road with very little elevation

scenic echo
scenic echo
warm canopy
#

No

radiant lion
#

A pid and some cheating with add force would probably make it work perfectly

scenic echo
warm canopy
#

Yeah give me a second, let me package all the stuff up

scenic echo
warm canopy
#

^_^, Its the physics library that handles the movement of the structures

warm canopy
scenic echo
#

rollTorque and pitchTorque are doing some wierd stuff and i have no idea why

scenic echo
shadow iris
#

yippeeee

#

wait wtf there isnt even a Crash!!!!

dapper jay
#

how are you getting internal game errors

shadow iris
#

but the server did crash right as the mod did a thing

shadow iris
#

especially related to UI because its client side

#

ngl i might want to try single process server to see if i can get more errors

dapper jay
#

Are the server logs not in there?

shadow iris
#

no info in AppData\Local\Temp\Flashbulb\Trailmakers\Crashes so

radiant lion
shadow iris
#

i misspoke a bit

shadow iris
shadow iris
#

tell me WHY

#

my servers keep crashing now

#

are these even my fault or what??

regal bear
#

A friend has been getting a bit carried away while testing all the new stuff in TCP for me 🤓

dapper jay
#

will you also make ip?

regal bear
cinder spruce
shadow iris
#

ah shit here we go again

regal bear
shadow iris
#

i think tcp is networking...

near parcel
#

Tcp is the most common transport layer protocol

regal bear
shadow iris
near parcel
#

No idea, but it would make sense with values >1

shadow iris
#

oh god this is beautiful

#

so compact compared to the old way i did it

#

old way, but add SetMass with the similar values to each

#

decoration is replaced by drag btw, but now its dynamic

shadow iris
scenic echo
#

can we get the drag of blocks with mods?

near parcel
#

No

scenic echo
#

being able to set it but not know it is painful

dapper jay
#

☹️

dapper jay
topaz arrow
scenic echo
radiant lion
#

Did I really end up not uploading the mod i tested with... Man i did a shoddy job

shadow iris
dapper jay
#

you used string.sub and string.find

shadow iris
#

@scenic echo fix my code
sometimes build mode UI is added even when it already exists and sometimes it tries to remove ui that doesnt exist
ui is contained in data_static\KM_UpdateUI

#

you can find remove ui errors in your client's ErrorLogs

scenic echo
shadow iris
#

the ui errors in errorlogs dont tell you where it is or what the id is

#

its just

#

"RemoveUIElement failed"

#

"have fun!! :DDD"

scenic echo
#

does it crash when that happens?

shadow iris
shadow iris
#

maybe depends how long you have banned blocks error running

#

happens more often in multiplayer

#

i feel like the duplicate ui / remove ui errors COULD be a race condition

#

@scenic echo would this start at 0?

#

like i=0 for the first iteration

#

which is why it gives a removeui error

#

because error.banned_blocks-0 NEVER exists

scenic echo
#

maybe, you can try changing that

shadow iris
scenic echo
#

what is the i used for in that for loop?

shadow iris
#

(unrelated to the mod i just noticed this)

#

wow that is a lot of blueprints

#

ohh its probably trying to view all the blueprints in build mode before theyve loaded

shadow iris
#

i didnt get any errors

scenic echo
# shadow iris it might have worked?

ok, found a bug still, if you have more than one engine then you delete it and then you place it back, the weight and bouyancy ui will still show up and when you get out of build mode the error ui will vanish

shadow iris
#

@dapper jay like this?

near parcel
dapper jay
dapper jay
#

crashed my game with a string too long award

#

if i want a permanent subtle message, do I just make it last really long?

shadow iris
#

roughly 9.2 hours

dapper jay
radiant lion
#

Now when I do my usual 32million years session it's gonna disappear, way to ruin immersion :p

shadow iris
dapper jay
dapper jay
#

my mouse click function seems to die randomly..?

#

im not deregistering it, but its no longer working

#

bruh really