#set dir import os import sys #check if we are running linux if os.name == "posix": f = open(os.environ["HOME"] + "/.bnet.conf","r") thedir = f.read() while 1: try: sys.path.remove(thedir) except: break sys.path.append(thedir) if os.name == "nt": sys.path.append(os.getcwd()) ########################################### ########################################### ########################################### ########################################### import client from socket import * from bsock import * import libpac import GameLogic class client_sock(tcp_bsock): def __init__(self,port = 8501, debug = 1, blocking = 1, transfer = 0, libpac = libpac, len = len,int = int,GameLogic = GameLogic, float = float): tcp_bsock.__init__(self,port,debug,blocking,transfer) self.libpac = libpac self.len = len self.int = int self.servername = "" self.ID = 0 self.GL = GameLogic self.cont = self.GL.getCurrentController() self.float = float self.owner = self.cont.getOwner() def run(self): self.write()#stupid function, user write_raw from now on self.filter(self.read2()) def filter(self,packet): libpac = self.libpac if packet[0] == 0 and packet[1] == 0 and packet[2] == 0: pass else: header = packet[0] ID = packet[1] data = packet[2] data = data[1:self.len(data)] if header == libpac.PAC_AUTH_LOGINGOOD: print "Login Good!" info = data.split(":") print "You are on " + info[1] + " with the ID of " + info[0] self.ID = self.int(info[0]) self.servername = info[1] elif header == libpac.PAC_AUTH_LOGINBAD: print "Bad username or password" print data self.owner.init = -1 elif header == libpac.PAC_AUTH_SERVERFULL: self.owner.init = -1 print "Server is full" elif header == libpac.PAC_AUTH_ALREADYLOGGEDIN: print "You are already logged in" self.owner.init = -1 elif header == libpac.PAC_AUTH_CLIENTLOGGEDIN: print data + " has logged in." self.append_sndbuff(libpac.PAC_GAME_REQGAMESETUP,self.ID) elif header == libpac.PAC_AUTH_CLIENTLOGGEDOUT: print data + " has logged out." elif header == libpac.PAC_GAME_MSG: info = data.split(":") username = info[0] msg = info[1] print username + " says: " + msg elif header == libpac.PAC_GAME_SPAWN: info = data.split(":") obj = info[1] posx = self.float(info[1]) posy = self.float(info[2]) posz = self.float(info[3]) velx = self.float(info[4]) vely = self.float(info[5]) velz = self.float(info[6]) self.owner.setPosition([posx,posy,posz]) spawn = self.cont.getActuator("spawn") spawn.setObject(obj) spawn.setLinearVelocity(velx,vely,velz) print spawn.getLinearVelocity() self.GL.addActiveActuator(spawn,1) self.GL.addActiveActuator(spawn,0) else: print header,data #insert your code here owner = GameLogic.getCurrentController().getOwner() owner.Init = 1 GameLogic.client_sock = client_sock()