Try this
Blitzmax has the ability to do this properly. Not that is any help for any of us pc users at the moment.
Type players Field name$ Field first_weapon.weapons Field last_weapon.weapons End Type Type weapons Field name$ End Type Function NewWeapon.weapons(player.players) Local weapon.weapons If player <> Null weapon = New weapons If player\last_weapon <> Null Insert weapon After player\last_weapon Else player\first_weapon = weapon End If player\last_weapon = weapon Return weapon End If Return Null End Function player.players = New players player\name$ = "player1" weapon.weapons = NewWeapon(player) weapon\name$ = "gun" weapon.weapons = NewWeapon(player) weapon\name$ = "hammer" weapon.weapons = NewWeapon(player) weapon\name$ = "sword" player.players = New players player\name$ = "player2" weapon.weapons = NewWeapon(player) weapon\name$ = "flamethrower" weapon.weapons = NewWeapon(player) weapon\name$ = "gun" weapon.weapons = NewWeapon(player) weapon\name$ = "grenade" For player.players = Each players Print player\name$ ;how to loop through a players weapons weapon.weapons = player\first_weapon While weapon <> After player\last_weapon And weapon <> Null Print " - "+weapon\name$ weapon = After weapon Wend Next stop
Blitzmax has the ability to do this properly. Not that is any help for any of us pc users at the moment.