app.js
Code: Select all
var app = require('http').createServer(handler)
, io = require('socket.io').listen(app)
, fs = require('fs')
app.listen(8470);
function handler (req, res) {
fs.readFile(__dirname + '/index.html',
function (err, data) {
if (err) {
res.writeHead(500);
return res.end('Error loading index.html');
}
res.writeHead(200);
res.end(data);
});
}
var playerlist = []
io.sockets.on('connection', function (socket) {
socket.on('disconnect2', function(room){
name = socket.clientname;
for (var i in playerlist) {
if (name === playerlist[i].name) {
if (room === playerlist[i].room) {
playerlist = playerlist.splice(i, 1);
delete playerlist[i];
}
}
}
io.sockets.emit('netreplayer', playerlist, name);
});
});
Code: Select all
var namerand = Math.floor(Math.random()*999);
var playername = "player" + namerand;
var socket = io.connect('http://localhost:8470');
socket.on('netreplayer', function (playerlist, name) {
playersinroom = []
for(var i in playerlist) {
if(playername != playerlist[i]["name"]) {
if(playerroom === playerlist[i]["room"]) {
d = playersinroom.length - 1
playersinroom[d] = playerlist[i];
playersinroom[d]["lastlocx"] = playersinroom[d]["cellx"] * 32
playersinroom[d]["lastlocy"] = playersinroom[d]["celly"] * 36
var grid = new PF.Grid(40, 18);
playersinroom[d]["path"] = finder.findPath(Math.floor(playersinroom[d]["lastlocx"] / 32), Math.floor(playersinroom[d]["lastlocy"] / 36), playersinroom[d]["cellx"], playersinroom[d]["celly"], grid)
}
}
}
});
window.addEventListener("beforeunload", function(e){
socket.emit('disconnect2', playerroom);
}, false);