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