UGX-Mods

Call of Duty: Black Ops 3 => Help Desk => Scripting => Topic started by: DuBCraft21 on October 22, 2016, 07:25:48 pm

Title: Get All Weapons On Zombies Map
Post by: DuBCraft21 on October 22, 2016, 07:25:48 pm
I am working on a sharp shooter mod for zombies and need to get all the weapons on a map for it, which may vary from map to map as there are a lot of people working on porting weapons and they are starting to show up in increasing numbers in zombies maps. I have tried using tablelookup, but that didn't work at all. The way I searched was by using a function that DidUKnowiPwn wrote for his infected mod which can be seen below. I have tried printing out the slot names, as well as the group names and the names of each individual entry in the table, but all of these attributes turned out to be empty.

Does anyone know an alternative to this, or a way to get this working for zombies?

DidUKnowiPwn's tablelookup code that works for MP
Spoiler: click to open...
Code Snippet
Plaintext
//for this code to work you must have included scripts\shared\statstable_shared.gsh

function get_table_items( filterSlot, blackList, search ) {//ripped from DidUKnowiPwn's infected code
items = [];

for(i = 0; i < STATS_TABLE_MAX_ITEMS; i++) {
row = TableLookupRowNum( level.statsTableID, STATS_TABLE_COL_NUMBERING, i );

if ( row < 0 ) {
continue;
}

if ( isdefined( filterSlot ) ) {
slot = TableLookupColumnForRow( level.statsTableID, row, STATS_TABLE_COL_SLOT );

if ( slot != filterSlot ) {
continue;
}
}

ref = TableLookupColumnForRow( level.statsTableId, row, STATS_TABLE_COL_REFERENCE );

if(IsDefined(blackList) && array::contains(blackList, ref)) {
continue;
}

name = TableLookupIString( level.statsTableID, STATS_TABLE_COL_NUMBERING, i, STATS_TABLE_COL_NAME );

if(IsDefined(search) && search == ref) items[items.size] = name;
else items[items.size] = ref;
}

return items;
}

Thank you for any help possible!
Title: Re: Get All Weapons On Zombies Map
Post by: DuBCraft21 on October 24, 2016, 03:35:55 am
I was able to get into contact with DidUKnowiPwn and he pointed me in the direction of level.zombie_weapons which is an array of all the weapons in the game where the weapon (GetWeapon("weapon name")) is the index in the array. All of these can be accessed with GetArrayKeys. Since the keys are valid weapons, using getArrayKeys, then getting any valid index will give a gun which can be used in player GiveWeapon(). all of the rest of the details can be seen in _zm_weapons.gsc.