Got it to work! The function I was looking for was get_craftable_piece_model. I also checked if the parts had a delay to being spawned in which turned out to be true so there's a check for that too when the player spawns.
Heres the code and a link to the function:
#include common_scripts\utility; #include maps\mp\_utility; #include maps\mp\zombies\_zm_utility; #include maps\mp\gametypes_zm\_hud_util; #include maps\mp\zombies\_zm_laststand; #include maps\mp\zombies\_zm_equipment; #include maps\mp\zombies\_zm_unitrigger; #include maps\mp\zombies\_zm_craftables; #include maps\mp\zombies\_zm_stats; #include maps\mp\zombies\_zm_weapons; #include maps\mp\_demo; init() { level thread onplayerconnect(); } onplayerconnect() { for(;;) { level waittill ("connecting", player); player thread onplayerspawned(); } } onplayerspawned() { self endon("disconnect"); level endon("end_game"); for (;;) { self waittill("spawned_player"); while ( level.a_uts_craftables.size == 0 ){ wait 1; } dolly = get_craftable_piece_model("alcatraz_shield_zm", "dolly"); teleportPlayer(self, dolly.origin, dolly.angles); } } teleportPlayer(player, origin, angles) { player setOrigin(origin); player setPlayerAngles(angles); }https://github.com/plutoniummod/t6-scripts/blob/d8e72bcb38d041dcd63a9447ec52dbb8bbeaeb0d/ZM/Maps/Origins/maps/mp/zombies/_zm_craftables.gsc#L2902
Thanks for your help, i would have been looking about for the function for ages 😊