The ability to attach other vehicles

We have semi trucks and we have their trailers why is it that we cannot attach or tow the trailers. Either that or the ability to fully transfer a vehicle’s charge to another so that way we won’t have to worry about constantly removing batteries from cars and attaching them to our uber cars/trucks/mobiles.

Additional vehicle ideas…tires. Namely, changing them. As it stands, you need a jack to remove a tire, or the replace a fully-broken one. But INSTALLING one, like if you were replacing a damaged tire, requires welding.

I suggest having something like the swappable battery case, but for wheels. A wheel base, axle, what-have-you and also installing tires without welding.

[quote=“Random_dragon, post:2, topic:9573”]Additional vehicle ideas…tires. Namely, changing them. As it stands, you need a jack to remove a tire, or the replace a fully-broken one. But INSTALLING one, like if you were replacing a damaged tire, requires welding.

I suggest having something like the swappable battery case, but for wheels. A wheel base, axle, what-have-you and also installing tires without welding.[/quote]
I can imagine an impromptu way of doing that with suspensions. But the main thing a tire needs to be attached is a wrench nothing else.

Maybe, but still. Having to weld a tire in place every time unless you’re replacing a broke one is kinda dumb. >w>

And yus, I like the idea of power-draining. Towing and trailer hookups might be a tad more complex, but if you had a tow rope item to attach in the same way as jumper cables, some basic level of pulling vehicles with other vehicles might be less hassle to code.

[quote=“Random_dragon, post:4, topic:9573”]Maybe, but still. Having to weld a tire in place every time unless you’re replacing a broke one is kinda dumb. >w>

And yus, I like the idea of power-draining. Towing and trailer hookups might be a tad more complex, but if you had a tow rope item to attach in the same way as jumper cables, some basic level of pulling vehicles with other vehicles might be less hassle to code.[/quote]
The real issue would be getting the attached vehicle to follow the first vehicle I can imagine.

Probably, yeah. Or at least without it running into your car after you stop.

I have noticed something. We seem to be the only people posting stuff atm.

Rather unfortunate, yes.

Anyway, back on track. It might be feasible to code a rubber hose sort of item for power transfers, but unsure. Wheels for tires at least should be easier to code. o3o

[quote=“Random_dragon, post:8, topic:9573”]Rather unfortunate, yes.

Anyway, back on track. It might be feasible to code a rubber hose sort of item for power transfers, but unsure. Wheels for tires at least should be easier to code. o3o[/quote]
I think if we sorta follow the same thing as the swappable storage batteries. You know add the wheel with the welder then with a jack and a wrench attach a “swappable” wheel.

Pretty much the simplest yet most realistic option, yus. <3

I could test it out later make a mod and see if it works but in the mean time. Do you know of an easy way to make or edit a tileset and how to make one for mods?

Tileset itself can be edited via GIMP, but is a pain in the ass.

Editing tile_config to assign vehicle parts or items existing sprites is simplest.

[quote=“Random_dragon, post:12, topic:9573”]Tileset itself can be edited via GIMP, but is a pain in the ass.

Editing tile_config to assign vehicle parts or items existing sprites is simplest.[/quote]
I know there was a tileset studio but I have no idea how to use it. I also have to agree gimp is a pain in that sense.

I’ve never tried the tileset studio, hence making the Modded MShock tileset the hard way. GIMP can be annoying, but I’ve been getting used to it. owo

But yeah, just opening the tile_config in wordpad or whatever and adding sprite assignments for whatever you’re adding is easier. You have to do it ANYWAY if you’re spriting new stuff.

[quote=“Random_dragon, post:14, topic:9573”]I’ve never tried the tileset studio, hence making the Modded MShock tileset the hard way. GIMP can be annoying, but I’ve been getting used to it. owo

But yeah, just opening the tile_config in wordpad or whatever and adding sprite assignments for whatever you’re adding is easier. You have to do it ANYWAY if you’re spriting new stuff.[/quote]
I’m assuming that you have to specify the sheet or something.

Basically you have a sprite sheet image file, then the tile config defines the size of a game sprite in pixels (like 24x24), then it’s all assigning numbers to items/terrain, optional assignment of background sprite, allowing rotation or variations, etc.

You wouldn’t know of a good tutorial here would you?

Hmm. Wish I did. @_@

Let me grab you a section of tile_config, in this case from MShock24TilesetModded, though the unmodded 24 and 32 versions should be about the same:

    {
      "id": "vp_frame_wood_horizontal2",
      "fg": 2336,
      "rotates": true
    },
    {
      "id": "vp_frame_wood_vertical2",
      "fg": 2337,
      "rotates": true
    },
    {
      "id": "vp_wheel_underbody",
      "fg": 2338,
      "rotates": true
    },
    {
      "id": "vp_engine_1cyl",
      "fg": 2339,
      "rotates": false
    },
    {
      "id": "vp_engine_inline4",
      "fg": 2340,
      "rotates": true
    },
    {
      "id": "vp_engine_vtwin",
      "fg": 2341,
      "rotates": true
    },
    {
      "id": "vp_engine_v6",
      "fg": 2342,
      "rotates": true
    },
    {
      "id": "vp_engine_v8",
      "fg": 2343,
      "rotates": true
    },
    {
      "id": "vp_wheel",
      "fg": 2344,
      "rotates": true
    },
    {
      "id": "vp_wheel_armor",
      "fg": 2345,
      "rotates": true
    },
    {
      "id": "vp_wheel_bicycle",
      "fg": 2346,
      "rotates": true
    },
    {
      "id": "vp_wheel_unicycle",
      "fg": 2346,
      "rotates": true
    },
    {
      "id": "vp_wheel_caster",
      "fg": 2347,
      "rotates": true
    },
    {
      "id": "vp_wheel_motorbike",
      "fg": 2348,
      "rotates": true
    },
    {
      "id": "vp_wheel_small",
      "fg": 2349,
      "rotates": true
    },
    {
      "id": "vp_wheel_wide",
      "fg": 2350,
      "rotates": true
    },
    {
      "id": "vp_aisle_horizontal",
      "fg": 2351,
      "rotates": true
    },
    {
      "id": "vp_aisle_vertical",
      "fg": 2352,
      "rotates": true
    },
    {
      "id": "vp_basketlg",
      "fg": 2353,
      "rotates": false
    },
    {
      "id": "vp_box",
      "fg": 2353,
      "rotates": false
    },
    {
      "id": "vp_basketsm",
      "fg": 2354,
      "rotates": false
    },
    {
      "id": "basket",
      "fg": 2354
    },
    {
      "id": "vp_bed",
      "fg": 2355,
      "rotates": true
    },
    {
      "id": "vp_blade_horizontal",
      "fg": 2356,
      "rotates": true
    },
    {
      "id": "vp_blade_vertical",
      "fg": 2357,
      "rotates": true
    },
    {
      "id": "vp_board_horizontal",
      "fg": 2358,
      "rotates": true
    },
    {
      "id": "vp_hdboard_horizontal",
      "fg": 2358,
      "rotates": true
    },
    {
      "id": "vp_board_ne",
      "fg": 2359,
      "rotates": true
    },
    {
      "id": "vp_hdboard_ne",
      "fg": 2359,
      "rotates": true
    },
    {
      "id": "vp_board_nw",
      "fg": 2360,
      "rotates": true
    },
    {
      "id": "vp_hdboard_nw",
      "fg": 2360,
      "rotates": true
    },
    {
      "id": "vp_board_se",
      "fg": 2361,
      "rotates": true
    },
    {
      "id": "vp_hdboard_se",
      "fg": 2361,
      "rotates": true
    },
    {
      "id": "vp_board_sw",
      "fg": 2362,
      "rotates": true
    },
    {
      "id": "vp_hdboard_sw",
      "fg": 2362,
      "rotates": true
    },
    {
      "id": "vp_board_vertical",
      "fg": 2363,
      "rotates": true
    },
    {
      "id": "vp_hdboard_vertical",
      "fg": 2363,
      "rotates": true
    },
    {
      "id": "vp_controls",
      "fg": 2364,
      "rotates": true
    },
    {
      "id": "vp_door",
      "fg": 2366,
      "rotates": true,
      "multitile": true,
      "additional_tiles": [
        {
          "id": "broken",
          "fg": 2367
        },
        {
          "id": "open",
          "fg": 2374
        }
      ]
    },
    {
      "id": "vp_door_internal",
      "fg": 2368,
      "rotates": true,
      "multitile": true,
      "additional_tiles": [
        {
          "id": "broken",
          "fg": 2369
        },
        {
          "id": "open",
          "fg": 2370
        }
      ]
    },
    {
      "id": "vp_door_opaque",
      "fg": 2371,
      "rotates": true,
      "multitile": true,
      "additional_tiles": [
        {
          "id": "broken",
          "fg": 2372
        },
        {
          "id": "open",
          "fg": 2373
        }
      ]
    },
    {
      "id": "vp_door_sliding",
      "fg": 2378,
      "rotates": true,
      "multitile": true,
      "additional_tiles": [
        {
          "id": "broken",
          "fg": 2372
        },
        {
          "id": "open",
          "fg": 2379
        }
      ]
    },
    {
      "id": "vp_door_shutter",
      "fg": 2375,
      "rotates": true,
      "multitile": true,
      "additional_tiles": [
        {
          "id": "broken",
          "fg": 2376
        },
        {
          "id": "open",
          "fg": 2377
        }
      ]
    },
    {
      "id": "vp_door_trunk",
      "fg": 2380,
      "rotates": true,
      "multitile": true,
      "additional_tiles": [
        {
          "id": "broken",
          "fg": 2376
        },
        {
          "id": "open",
          "fg": 2381
        }
      ]
    },
    {
      "id": "vp_hatch",
      "fg": 2380,
      "rotates": true,
      "multitile": true,
      "additional_tiles": [
        {
          "id": "broken",
          "fg": 2376
        },
        {
          "id": "open",
          "fg": 2381
        }
      ]
    },
    {
      "id": "vp_engine_electric",
      "fg": 2382,
      "rotates": true
    },
    {
      "id": "vp_engine_electric_large",
      "fg": 2383,
      "rotates": true
    },
    {
      "id": "vp_external_diesel_tank",
      "fg": 2384,
      "rotates": true
    },
    {
      "id": "vp_external_gas_tank",
      "fg": 2385,
      "rotates": true
    },
    {
      "id": "vp_flamethrower",
      "fg": 2386,
      "rotates": true
    },
    {
      "id": "vp_frame_cover",
      "fg": 2388,
      "rotates": true
    },
    {
      "id": "vp_hdframe_cover",
      "fg": 2388,
      "rotates": true
    },
    {
      "id": "vp_xlframe_cover",
      "fg": 2388,
      "rotates": true
    },
    {
      "id": "vp_frame_handle",
      "fg": 2389,
      "rotates": true
    },
    {
      "id": "vp_frame_horizontal",
      "fg": 2390,
      "rotates": true
    },
    {
      "id": "vp_frame_horizontal_2",
      "fg": 2391,
      "rotates": true
    },
    {
      "id": "vp_frame_ne",
      "fg": 2392,
      "rotates": true
    },
    {
      "id": "vp_frame_nw",
      "fg": 2393,
      "rotates": true
    },
    {
      "id": "vp_frame_se",
      "fg": 2394,
      "rotates": true
    },
    {
      "id": "vp_frame_sw",
      "fg": 2395,
      "rotates": true
    },
    {
      "id": "vp_frame_vertical",
      "fg": 2396,
      "rotates": true
    },
    {
      "id": "vp_frame_vertical_2",
      "fg": 2397,
      "rotates": true
    },
    {
      "id": "vp_frame_wood_cover",
      "fg": 2398,
      "rotates": true
    },
    {
      "id": "vp_frame_wood_horizontal",
      "fg": 2399,
      "rotates": true
    },
    {
      "id": "vp_frame_wood_horizontal_2",
      "fg": 2400,
      "rotates": true
    },
    {
      "id": "vp_frame_wood_ne",
      "fg": 2401,
      "rotates": true
    },
    {
      "id": "vp_frame_wood_nw",
      "fg": 2402,
      "rotates": true
    },
    {
      "id": "vp_frame_wood_se",
      "fg": 2403,
      "rotates": true
    },
    {
      "id": "vp_frame_wood_sw",
      "fg": 2404,
      "rotates": true
    },
    {
      "id": "vp_frame_wood_vertical",
      "fg": 2405,
      "rotates": true
    },
    {
      "id": "vp_frame_wood_vertical_2",
      "fg": 2406,
      "rotates": true
    },
    {
      "id": "vp_fusion_gun",
      "fg": 2407,
      "rotates": false
    },
    {
      "id": "vp_gas_tank",
      "fg": 2408,
      "rotates": true
    },
    {
      "id": "vp_halfboard_cover",
      "fg": 2409,
      "rotates": true
    },
    {
      "id": "vp_halfboard_horizontal",
      "fg": 2410,
      "rotates": true
    },
    {
      "id": "vp_halfboard_horizontal_2",
      "fg": 2411,
      "rotates": true
    },
    {
      "id": "vp_halfboard_ne",
      "fg": 2412,
      "rotates": true
    },
    {
      "id": "vp_halfboard_nw",
      "fg": 2413,
      "rotates": true
    },
    {
      "id": "vp_halfboard_se",
      "fg": 2414,
      "rotates": true
    },
    {
      "id": "vp_halfboard_sw",
      "fg": 2415,
      "rotates": true
    },
    {
      "id": "vp_halfboard_vertical",
      "fg": 2416,
      "rotates": true
    },
    {
      "id": "vp_halfboard_vertical_2",
      "fg": 2417,
      "rotates": true
    },
    {
      "id": "vp_hdframe_horizontal",
      "fg": 2418,
      "rotates": true
    },
    {
      "id": "vp_hdframe_horizontal_2",
      "fg": 2419,
      "rotates": true
    },
    {
      "id": "vp_hdframe_ne",
      "fg": 2420,
      "rotates": true
    },
    {
      "id": "vp_hdframe_nw",
      "fg": 2421,
      "rotates": true
    },
    {
      "id": "vp_hdframe_se",
      "fg": 2422,
      "rotates": true
    },
    {
      "id": "vp_hdframe_sw",
      "fg": 2423,
      "rotates": true
    },
    {
      "id": "vp_hdframe_vertical",
      "fg": 2424,
      "rotates": true
    },
    {
      "id": "vp_hdframe_vertical_2",
      "fg": 2425,
      "rotates": true
    },
    {
      "id": "vp_hdroof",
      "fg": 2426,
      "rotates": true
    },
    {
      "id": "vp_roof",
      "fg": 2426,
      "rotates": true
    },
    {
      "id": "vp_headlight",
      "fg": 2427,
      "rotates": true
    },
    {
      "id": "vp_horn_bicycle",
      "fg": 2428,
      "rotates": true
    },
    {
      "id": "vp_horn_big",
      "fg": 2428,
      "rotates": true
    },
    {
      "id": "vp_horn_car",
      "fg": 2428,
      "rotates": true
    },
    {
      "id": "vp_hydrogen_tank",
      "fg": 2429,
      "rotates": true
    },
    {
      "id": "vp_laser_gun",
      "fg": 2430,
      "rotates": true
    },
    {
      "id": "vp_light_blue",
      "fg": 2431,
      "rotates": true
    },
    {
      "id": "vp_light_red",
      "fg": 2432,
      "rotates": true
    },
    {
      "id": "vp_m249",
      "fg": 2433,
      "rotates": true
    },
    {
      "id": "vp_minireactor",
      "fg": 2434,
      "rotates": true
    },
    {
      "id": "vp_mounted_browning",
      "fg": 2435,
      "rotates": true
    },
    {
      "id": "vp_mounted_rm298",
      "fg": 2435,
      "rotates": true
    },
    {
      "id": "vp_mounted_mk19",
      "fg": 2436,
      "rotates": true
    },
    {
      "id": "vp_mounted_rm614",
      "fg": 2437,
      "rotates": true
    },
    {
      "id": "vp_plasma_gun",
      "fg": 2438,
      "rotates": true
    },
    {
      "id": "vp_reinforced_solar_panel",
      "fg": 2439,
      "rotates": true
    },
    {
      "id": "vp_reinforced_solar_panel_v2",
      "fg": 2440,
      "rotates": true
    },
    {
      "id": "vp_reinforced_windshield",
      "fg": 2441,
      "rotates": true
    },
    {
      "id": "vp_roof_wood",
      "fg": 2442,
      "rotates": true
    },
    {
      "id": "vp_saddle",
      "fg": 2443,
      "rotates": true
    },
    {
      "id": "vp_seatbelt",
      "fg": 2444,
      "rotates": true
    },
    {
      "id": "vp_solar_panel",
      "fg": 2445,
      "rotates": true
    },
    {
      "id": "vp_solar_panel_v2",
      "fg": 2446,
      "rotates": true
    },
    {
      "id": "vp_spike",
      "fg": 2447,
      "rotates": true
    },
    {
      "id": "vp_stowboard_horizontal",
      "fg": 2448,
      "rotates": true
    },
    {
      "id": "vp_stowboard_vertical",
      "fg": 2449,
      "rotates": true
    },
    {
      "id": "vp_trunk",
      "fg": 2450,
      "rotates": true
    },
    {
      "id": "vp_trunk_floor",
      "fg": 2451,
      "rotates": true
    },
    {
      "id": "vp_water_tank",
      "fg": 2454,
      "rotates": true
    },
    {
      "id": "weldrig",
      "fg": 2455,
      "rotates": false
    },
    {
      "id": "vp_wheel_wood",
      "fg": 2456,
      "rotates": true
    },
    {
      "id": "wheel_wood",
      "fg": 2456,
      "rotates": true
    },
    {
      "id": "vp_wheel_wood_b",
      "fg": 2457,
      "rotates": true
    },
    {
      "id": "wheel_wood_b",
      "fg": 2457,
      "rotates": true
    },
    {
      "id": "vp_windshield",
      "fg": 2458,
      "rotates": true,
      "multitile": true,
      "additional_tiles": [
        {
          "id": "broken",
          "fg": 2459
        }
      ]
    },
    {
      "id": "vp_xlframe_cross",
      "fg": 2460,
      "rotates": true
    },
    {
      "id": "xlframe",
      "fg": 2460,
      "rotates": true
    },
    {
      "id": "vp_xlframe_horizontal",
      "fg": 2461,
      "rotates": true
    },
    {
      "id": "vp_xlframe_horizontal_2",
      "fg": 2462,
      "rotates": true
    },
    {
      "id": "vp_xlframe_ne",
      "fg": 2463,
      "rotates": true
    },
    {
      "id": "vp_xlframe_nw",
      "fg": 2464,
      "rotates": true
    },
    {
      "id": "vp_xlframe_se",
      "fg": 2465,
      "rotates": true
    },
    {
      "id": "vp_xlframe_sw",
      "fg": 2466,
      "rotates": true
    },
    {
      "id": "vp_xlframe_vertical",
      "fg": 2467,
      "rotates": true
    },
    {
      "id": "vp_xlframe_vertical_2",
      "fg": 2468,
      "rotates": true
    },

This shows about all the vehicle parts and their sprite assignments. If you want variations like open doors or broken versions, you’ll see it allows enabling multitile and adding sub-assignments for the variants.

how about a “Wheel Mount” item for that role? could also server the same function for brakes in the future. doing something based on axles may have to wait for a vehicle rewrite that updates power transfer to require a logical pathway. (some wheel need no axle, in wheel electric motors for instance.)

I think the main issues is programming the physics with which to make the trailer work…