Getting Coordinates of Spawned Craftable Parts
-
Any idea on how to do this on MOTD?
Tried to loop through level.zombies_craftablestubs but that array is empty. I've been looking through the T6 stock scripts for ages and i cant find the logic for where the parts are randomly spawned either. Any help would be great.
-
It seems to do some quite complex work with arrays, I think it duplicates one too + it might use unitrigger dynamically spawned so it's hard to get the right target. I never got to make what I wanted work with parts too.
If I ever get it I'll let you know
If you do lmk too -
It seems to do some quite complex work with arrays, I think it duplicates one too + it might use unitrigger dynamically spawned so it's hard to get the right target. I never got to make what I wanted work with parts too.
If I ever get it I'll let you know
If you do lmk tooResxt Sure thing, it just doesn't make any sense how the parts can only spawn in certain locations but when you search through the stock scripts there's literally 0 coordinates anywhere for any parts. Very confusing
-
You could take a look at the _zm_craftables.gsc script
It has functions (or array) you could try to check (.size and IsDefined(piece))For example this
https://github.com/plutoniummod/t6-scripts/blob/d8e72bcb38d041dcd63a9447ec52dbb8bbeaeb0d/ZM/Maps/Origins/maps/mp/zombies/_zm_craftables.gsc#L2875 -
Hi again, it seems that array is still empty. Could it be because the parts aren't spawned immediately? Still trying this on MOTD. Tried looking for a waittill flag for parts being spawned but i can't seem to find anything. Still very new to GSC so not too sure what's going on here.
#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"); if (isdefined(level.a_uts_craftables)) { println(level.a_uts_craftables.size); } } }
-
Hi again, it seems that array is still empty. Could it be because the parts aren't spawned immediately? Still trying this on MOTD. Tried looking for a waittill flag for parts being spawned but i can't seem to find anything. Still very new to GSC so not too sure what's going on here.
#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"); if (isdefined(level.a_uts_craftables)) { println(level.a_uts_craftables.size); } } }
Jason_ I would wait for initial_blackscreen_passed or a long time or something like you reloading
-
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); }
Thanks for your help, i would have been looking about for the function for ages