-
Notifications
You must be signed in to change notification settings - Fork 11
Expand file tree
/
Copy pathPlayerAvatarControl.js
More file actions
57 lines (51 loc) · 2.36 KB
/
PlayerAvatarControl.js
File metadata and controls
57 lines (51 loc) · 2.36 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
var avatar = "0";
var playerList = {};
var playerListArray = [];
var room = HBInit({ roomName: "Player Avatar Control", noPlayer: true, public: false, maxPlayers: 12 });
function changePlayerAvatar(player, value) {
room.setPlayerAvatar(player.id, value);
playerList[player.name].avatar = value;
}
function getPreviousAccounts(player) {
return playerListArray.filter(p => p.auth == player.auth || p.conn == player.conn);
}
room.onPlayerJoin = function (player) {
if (playerListArray.length != 0) {
var accounts = getPreviousAccounts(player);
if (accounts.length != 0) {
var lastAccount = accounts[accounts.length - 1];
if (playerList[player.name] == undefined) {
playerList[player.name] = { name: player.name, auth: player.auth, conn: player.conn, avatar: avatar };
changePlayerAvatar(player, avatar);
playerListArray.push(playerList[player.name]);
}
else {
changePlayerAvatar(player, lastAccount.avatar);
playerListArray.push(playerList[player.name]);
}
}
else {
if (playerList[player.name] == undefined) {
playerList[player.name] = { name: player.name, auth: player.auth, conn: player.conn, avatar: avatar };
changePlayerAvatar(player, avatar);
playerListArray.push(playerList[player.name]);
}
else {
room.kickPlayer(player.id, "A player with this name already exists in the database, please join this room with your original informations.", false); //This can occur when a player changes their informations or another player with the same name tries to join the room.
playerListArray.push(playerList[player.name]);
}
}
}
else {
if (playerList[player.name] == undefined) {
playerList[player.name] = { name: player.name, auth: player.auth, conn: player.conn, avatar: avatar };
changePlayerAvatar(player, avatar);
playerListArray.push(playerList[player.name]);
}
else {
console.log("Bad"); //This is a rare situation, in fact it shouldn't occur in a logical way but I have added it.
changePlayerAvatar(player, avatar);
playerListArray.push(playerList[player.name]);
}
}
}