Weapons and shields wielded by other players are objects in Decal WorldFilter, therefore their GUIDs and properties can be extracted from the DSWorld dataset.

Sample code:
CODE


Constants
  PlayerName = OtherPlayersName
  Filter = 0
End

// Load the DSWorld dataset
LoadDecalWorld

// Select the player whose weapon/shield you wish to locate
Select $PlayerName

// Find records in DSWorld for items which are 'contained' by
// the player just selected
SetConst $Filter = CONTAINER = _selectedGUID
DSFilter DSWorld, $Filter



For each record returned, check the TYPE field of the dataset to determine what it is:
0 Melee weapon
1 Shield
8 Missile Weapon
32 Casting device