Bonjour,
Voila je rencontre un petit problème avec mon code.
Je cherche à faire un tableau de cette forme pour mon serveur socket.io:
[Nom du lobby]:
-Objet joueur 1
-Objet joueur 2
-Objet joueur 3
[Nom du lobby 2]:
-Objet joueur 1
-Objet joueur 2
-Objet joueur 3
function LobbyPlayer(pseudo,mdp) {
this.pseudo = pseudo;
this.mdp = mdp;
}
nsp.on('connect', function(socket) {
if(lobby.indexOf(arrayserv[0]) == -1) { //Si le lobby n'est pas répertorié, je l'ajoute
lobby.push(new Array(arrayserv[0]));
}
console.log(lobby);
np = new LobbyPlayer(socket.handshake.query.pseudo,socket.handshake.query.mdp); //Je fais un objet du nouveau joueur
console.log(np);
lobby[lobby.indexOf(arrayserv[0])].push(np); //Je l'ajoute
console.log(lobby);
Je cherche donc à trouver la bonne méthode pour faire ça, étant donné que je souhaite pouvoir acceder à n'importe quel joueur selon le lobby
J'obtiens l'erreur:
lobby[lobby.indexOf(arrayserv[0])].push(np);
^
TypeError: Cannot read property 'push' of undefined
at DynamicNamespace.<anonymous> (C:\Users\Megaport\Documents\Unreal Projects\MainGame\Server\server.js:51:46)
at emitOne (events.js:116:13)
at DynamicNamespace.emit (events.js:211:7)
at DynamicNamespace.Namespace.emit (C:\Users\Megaport\Documents\Unreal Projects\MainGame\Server\node_modules\dynamic.io\node_modules\socket.io\lib\namespace.js:205:10)
at C:\Users\Megaport\Documents\Unreal Projects\MainGame\Server\node_modules\dynamic.io\node_modules\socket.io\lib\namespace.js:171:14
at _combinedTickCallback (internal/process/next_tick.js:131:7)
at process._tickCallback (internal/process/next_tick.js:180:9)
Merci pour vos eventuels aides :)
L'erreur te dit TypeError: Cannot read property 'push' of undefined cette methode appartient au array [] si tu utilise objet JSON {} ca me marchera pas, biz