Quick correction; maybe it's relevant, maybe not:
Pointers are unique to the local computer... after all they refer to a local memory address. Pointers are what the 3DGS engines uses to manipulate entities.
Handles however are global to the network... they refer to a global ID that the 3DGS server assigns to all global entities. Handles are never used to manipulate entities.
Thus if you want unique identification across a network without skills:
1) you would get the pointer to the global entity you want,
2) use the handle() command to get it's handle; you now have a unique, global identifier for that entity.
3) You can send this handle over the network as a var to another client or the server (using a skill or a network var),
4) and use a ptr_for_handle() to resolve that global handle to a local point; now you have the pointer to the SAME ENTITY but on a different computer.
In this case the following snippet:
Code:
if(your.id==2)
{
target_hp=your.hp;
target_shield=your.shield;
}
etc...
Gets replaced with something like this:
Code:
player=ptr_for_handle(sent_handle);
target_hp=player.hp;
target_shield=player.shield;
etc...