A simple function that return the player's ID using only his name!
getplayerid function
We say :
Code:
getPlayerID(event,"playername")
Code:
The function:
function getPlayerID(event,playername){
for(var player in players){
var name = players[player].toLowerCase();
if(name.length() < playername.length())
continue;
if (playername == name.substring(0,playername.length())){
$.echo("> NAME : " + playername + " ID: " + player);
return player;
break;
}
}
}
In the OnServerPacket switch, add this :
Code:
case ID_UPDATE: {
// New objects
for (var i = 0; i < packet.newObjs.length; i++) {
var objectData = packet.newObjs[i];
var type = objectData.objectType;
if(type == 768 || type == 775 || type == 782 || type == 784 || (type >= 797 && type <= 806)){ // player classes
for (var j = 0; j < objectData.status.data.length; j++) {
var statData = objectData.status.data[j];
if(statData != null && statData.obf0 == 31){
players[objectData.status.objectId] = statData.obf2;
break;
}
}
}
}
// Removed objects
for (var i = 0; i < packet.drops.length; i++) {
var droppedObjectId = packet.drops[i];
if(players[droppedObjectId] != null){
delete players[droppedObjectId];//Remove the player that has quited from the dictionnary
}
}
break;
}