sirisi 36 Posted May 21, 2016 добрый день помогите пж с компиляцией мода его клиентской частью выбивает ошибку и все тут import astimport zlibimport binasciiimport cPickleimport timeimport randomimport marshalimport tracebackimport functoolsimport threadingimport socketimport urllib2import Mathimport helpersimport BigWorldfrom Avatar import PlayerAvatarfrom Vehicle import Vehiclefrom Account import PlayerAccountfrom AvatarInputHandler import mathUtilsfrom ConnectionManager import connectionManagerfrom PlayerEvents import g_playerEventsfrom BattleReplay import g_replayCtrlfrom gui.app_loader import g_appLoaderfrom gui.battle_control import g_sessionProviderclass mod_PNShared(object):__autor__ = 'ProstoNoob'__build__ = '00.0000.00 Beta'def __init__(self, *args):self.clientLanguage = helpers.getClientLanguage()self.clientPatchVersion = helpers.getFullClientVersion()self.__addrr__ = args[0]def add_playerEvents_onAvatarReady(*args, **kwargs):passdef add_playerEvents_onArenaPeriodChange(*args, **kwargs):if args[0] == 2:self.context = g_sessionProvider.getCtx()self.arenaDatabase = g_sessionProvider.getArenaDP()self.battle = g_appLoader.getDefBattleApp()self.player = BigWorld.player()self.playerTeam = self.player.teamself.arenaBattle = self.player.arenaself.vehicleID = self.player.playerVehicleIDself.arenaUniqueID = self.player.arenaUniqueIDself.arenaFormatBattle = self.player.arena.guiTypeself.arenaVehicles = self.player.arena.vehiclesself.clientVehicle = dict()self.modelsVehicle = dict()self.serverTeam = self.playerTeam - 1for vehicleID, vehicleDescriptor in self.arenaVehicles.items():if vehicleDescriptor['isAlive']:if vehicleDescriptor['team'] != self.playerTeam:descriptorType = vehicleDescriptor['vehicleType']self.modelsVehicle.update({vehicleID: {'chassis': {'servo': Math.Matrix(),'descr': descriptorType.chassis['hullPosition'],'model': BigWorld.Model(descriptorType.chassis['models']['undamaged'])},'hull': {'servo': Math.Matrix(),'descr': descriptorType.hull['turretPositions'][0],'model': BigWorld.Model(descriptorType.hull['models']['undamaged'])},'turret': {'servo': Math.Matrix(),'descr': descriptorType.turret['gunPosition'],'model': BigWorld.Model(descriptorType.turret['models']['undamaged'])},'gun': {'servo': Math.Matrix(),'model': BigWorld.Model(descriptorType.gun['models']['undamaged'])}}})self.battleMinimap = self.battle.minimapself.battleMarkerManager = self.battle.markersManagerif args[0] in [2, 3]:self.startedFunction()def new_ConnectionManager_serverResponseHandler(*args, **kwargs):pre_ConnectionManager_serverResponseHandler(*args, **kwargs)if args[0] == 1 and args[1] == 'LOGGED_ON':self.userDatabaseID = self.decodedFunction('literal', args[2])['token2'].split(':')[0]pre_ConnectionManager_serverResponseHandler = connectionManager._ConnectionManager__serverResponseHandlerconnectionManager._ConnectionManager__serverResponseHandler = new_ConnectionManager_serverResponseHandlerdef new_PlayerAvatar_onEnterWorld(cls, *args, **kwargs):pre_PlayerAvatar_onEnterWorld(cls, *args, **kwargs)pre_PlayerAvatar_onEnterWorld = PlayerAvatar.onEnterWorldPlayerAvatar.onEnterWorld = new_PlayerAvatar_onEnterWorlddef new_PlayerAvatar_onLeaveWorld(cls, *args, **kwargs):pre_PlayerAvatar_onLeaveWorld(cls, *args, **kwargs)pre_PlayerAvatar_onLeaveWorld = PlayerAvatar.onLeaveWorldPlayerAvatar.onLeaveWorld = new_PlayerAvatar_onLeaveWorlddef new_PlayerAccount_onBecomePlayer(cls, *args, **kwargs):pre_PlayerAccount_onBecomePlayer(cls, *args, **kwargs)pre_PlayerAccount_onBecomePlayer = PlayerAccount.onBecomePlayerPlayerAccount.onBecomePlayer = new_PlayerAccount_onBecomePlayerg_playerEvents.onAvatarReady += add_playerEvents_onAvatarReadyg_playerEvents.onArenaPeriodChange += add_playerEvents_onArenaPeriodChangedef threadDecorate(object):def decorate(*args, **kwargs):th = threading.Thread(target=object, args=args, kwargs=kwargs)th.setName = object.func_nameth.setDaemon = Trueth.start()return decoratedef encodedFunction(self, *args):if args[0] == 'zlib':return zlib.compress(str(args[1]))elif args[0] == 'binascii':return binascii.hexlify(str(args[1]))elif args[0] == 'cPickle':return cPickle.dumps(args[1], 1)def decodedFunction(self, *args):if args[0] == 'zlib':return zlib.decompress(args[1])elif args[0] == 'literal':return ast.literal_eval(args[1])elif args[0] == 'cPickle':return cPickle.loads(args[1])elif args[0] == 'binascii':return binascii.unhexlify(args[1])def mappingFunction(self, *args):matrixTranslate = Math.Matrix()matrixTranslate.setTranslate((0, 0, 0))markerScaleSize = self.battleMinimap._Minimap__markerScalecoordinateMatrix = Math.Matrix()coordinateMatrix.setTranslate(Math.Matrix(matrixTranslate).applyPoint(args[0]))if not markerScaleSize:return coordinateMatrixelse:scaleMatrix = Math.Matrix()scaleMatrix.setScale(Math.Vector3(markerScaleSize, markerScaleSize, markerScaleSize))return mathUtils.MatrixProviders.product(scaleMatrix, coordinateMatrix)def textureFunction(self, *args):ModelA = Math.Matrix()ModelB = Math.Matrix()ModelB.setRotateY(args[1][0])ModelA.preMultiply(ModelB)ModelB = Math.Matrix()ModelB.setRotateX(args[1][1])ModelA.preMultiply(ModelB)ModelB = Math.Matrix()ModelB.setRotateZ(args[1][2])ModelA.preMultiply(ModelB)ModelA.translation = args[2]ModelC = Math.Matrix()ModelC.setTranslate(Math.Vector3(0, 0, 0))ModelA.preMultiply(ModelC)args[0]['chassis']['servo'].setIdentity()args[0]['chassis']['servo'].preMultiply(ModelA)ModelC = Math.Matrix()ModelC.translation = args[0]['chassis']['descr']ModelD = Math.Matrix(ModelA)ModelD.preMultiply(ModelC)args[0]['hull']['servo'].setIdentity()args[0]['hull']['servo'].preMultiply(ModelD)ModelC = Math.Matrix()ModelC.setRotateY(args[1][6])ModelC.translation = args[0]['hull']['descr']ModelE = Math.Matrix(ModelD)ModelE.preMultiply(ModelC)args[0]['turret']['servo'].setIdentity()args[0]['turret']['servo'].preMultiply(ModelE)ModelC = Math.Matrix()ModelC.setRotateX(args[1][7])ModelC.translation = args[0]['turret']['descr']ModelF = Math.Matrix(ModelE)ModelF.preMultiply(ModelC)args[0]['gun']['servo'].setIdentity()args[0]['gun']['servo'].preMultiply(ModelF)@threadDecoratedef startedFunction(self):if not getattr(self, 'startedSocket', None):self.startedSocket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)self.startedSocket.settimeout(1.5)try:self.startedSocket.sendto(str(self.serverTeam) + str(self.arenaUniqueID), (self.__addrr__, 10100))if self.arenaBattle.period == 3:recive, address = self.startedSocket.recvfrom(1024)startedDecode = int(recive)if startedDecode:self.tracingFunction()self.receiptFunction()self.processFunction()except Exception as error:if not isinstance(error, socket.timeout):print traceback.print_exc()finally:self.startedSocket = self.startedSocket.close()if self.arenaBattle.period == 3:if not locals().get('startedDecode'):if getattr(self.player, 'isOnArena', None):loadingPlayer = 0for vehicleID, vehicleDescriptor in self.arenaVehicles.items():if vehicleDescriptor['team'] is not self.playerTeam:loadingPlayer -= 1if vehicleDescriptor['isAvatarReady']:loadingPlayer += 1if loadingPlayer:BigWorld.callback(0.1,functools.partial(self.startedFunction))@threadDecoratedef tracingFunction(self):if not getattr(self, 'tracingSocket', None):self.tracingSocket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)self.tracingSocket.settimeout(1.5)while getattr(self.player, 'isOnArena', None):try:clientVehicle = list()for vehicleID, vehicleDescriptor in BigWorld.entities.items():if isinstance(vehicleDescriptor, Vehicle) and getattr(vehicleDescriptor, 'publicInfo', None):if vehicleDescriptor.publicInfo.team == self.playerTeam:if vehicleDescriptor.isAlive():coordinateVehicle = vehicleDescriptor.positionclientVehicle.append((vehicleID, (vehicleDescriptor.yaw,vehicleDescriptor.pitch,vehicleDescriptor.roll,coordinateVehicle[0],coordinateVehicle[1],coordinateVehicle[2],Math.Matrix(vehicleDescriptor.appearance.turretMatrix).yaw,Math.Matrix(vehicleDescriptor.appearance.gunMatrix).pitch)))if clientVehicle:self.tracingSocket.sendto(str(self.serverTeam) + self.encodedFunction('zlib', self.encodedFunction('cPickle', clientVehicle)), (self.__addrr__, 10200))except Exception as error:if not isinstance(error, socket.timeout):print traceback.print_exc()finally:pass #time.sleep(0.05)else:self.tracingSocket = self.tracingSocket.close()@threadDecoratedef receiptFunction(self):if not getattr(self, 'receiptSocket', None):self.receiptSocket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)self.receiptSocket.settimeout(1.5)while getattr(self.player, 'isOnArena', None):try:self.receiptSocket.sendto(str(self.serverTeam), (self.__addrr__, 10300))recive, address = self.receiptSocket.recvfrom(2048)decodedRecive = self.decodedFunction('cPickle', self.decodedFunction('zlib', recive))for vehicleID, vehicleDescriptor in decodedRecive:coordinateVehicle = Math.Vector3(vehicleDescriptor[3:6])clientVehicle = self.clientVehicle.get(vehicleID)modelsVehicle = self.modelsVehicle.get(vehicleID)if clientVehicle:self.textureFunction(modelsVehicle, vehicleDescriptor, coordinateVehicle)if clientVehicle['coordinateVehicle'] != coordinateVehicle:mappingFunction = self.mappingFunction(coordinateVehicle)self.battleMinimap._Minimap__ownUI.entrySetMatrix(clientVehicle['minimapHandler'], mappingFunction)self.clientVehicle[vehicleID].update({'coordinateVehicle': coordinateVehicle})else:if not BigWorld.entities.get(vehicleID):if not self.arenaBattle.positions.get(vehicleID):for vehicleModel, modelsDescriptor in modelsVehicle.items():self.player.addModel(modelsDescriptor['model'])modelsDescriptor['model'].visible = TruemodelsDescriptor['model'].addMotor(BigWorld.Servo(modelsDescriptor['servo']))vehicleInfo = self.arenaDatabase.getVehicleInfo(vehicleID).vehicleTypeminimapHandler = self.battleMinimap._Minimap__ownUI.addEntry(self.mappingFunction(coordinateVehicle), vehicleID)self.battleMinimap._Minimap__ownUI.entryInvoke(minimapHandler,('init', ['enemy', 'enemy', vehicleInfo.classTag, '', vehicleInfo.shortNameWithPrefix]))self.clientVehicle.update({vehicleID: {'minimapHandler': minimapHandler, 'coordinateVehicle': coordinateVehicle}})except Exception as error:if not isinstance(error, socket.timeout):print traceback.print_exc()finally:pass #time.sleep(0.05)else:self.tracingSocket = self.tracingSocket.close()@threadDecoratedef processFunction(self):while getattr(self.player, 'isOnArena', None):try:if self.clientVehicle:for vehicleID, vehicleDescriptor in self.clientVehicle.items():if BigWorld.entities.get(vehicleID) or self.arenaBattle.positions.get(vehicleID):self.battleMinimap._Minimap__ownUI.delEntry(vehicleDescriptor['minimapHandler'])for vehicleModel, modelsDescriptor in self.modelsVehicle[vehicleID].items():self.player.delModel(modelsDescriptor['model'])del self.clientVehicle[vehicleID]except Exception as error:if not isinstance(error, socket.timeout):print traceback.print_exc()finally:pass #time.sleep(0.05)else:self.processWhile = False#if not g_replayCtrl.isPlaying:PNShared = mod_PNShared('87.117.37.129') сразу говорю мои знания в программирование ровны 0 делаю все по инфе с интернета мертвый форум 1 6 Quote Share this post Link to post Short link Share on other sites
SkepticalFox 1,445 #328080 Posted May 21, 2016 @sirisi, мда... Python34 явно не скомпилирует скрипт созданный для Python27 Quote Share this post Link to post Short link Share on other sites
sirisi 36 #328143 Posted May 22, 2016 и без вас разобрался бесполезный форум 2 4 Quote Share this post Link to post Short link Share on other sites
Ekspoint 2,122 #328150 Posted May 22, 2016 ФОРУМ НЕ ДЛЯ ЧИТЕРОВ 1 Quote Share this post Link to post Short link Share on other sites
BoBaH 13 57 #328233 Posted May 22, 2016 Деньчик Пупкин взял то в соседней ветке, а кричишь что бесполезный форум. Тему получше почитай до конца http://www.koreanrandom.com/forum/topic/30746-pnshared-%D0%BE%D1%82%D0%BE%D0%B1%D1%80%D0%B0%D0%B6%D0%B5%D0%BD%D0%B8%D0%B5-%D0%BF%D1%80%D0%BE%D1%82%D0%B8%D0%B2%D0%BD%D0%B8%D0%BA-%D0%B1%D0%B5%D0%B7-%D0%B7%D0%B0%D1%81%D0%B2%D0%B5%D1%82%D0%B0/page-4 Quote Share this post Link to post Short link Share on other sites
Ekspoint 2,122 #328241 Posted May 22, 2016 Деньчик Пупкин взял то в соседней ветке, а кричишь что бесполезный форум. Тему получше почитай до конца http://www.koreanrandom.com/forum/topic/30746-pnshared-%D0%BE%D1%82%D0%BE%D0%B1%D1%80%D0%B0%D0%B6%D0%B5%D0%BD%D0%B8%D0%B5-%D0%BF%D1%80%D0%BE%D1%82%D0%B8%D0%B2%D0%BD%D0%B8%D0%BA-%D0%B1%D0%B5%D0%B7-%D0%B7%D0%B0%D1%81%D0%B2%D0%B5%D1%82%D0%B0/page-4 да тут для него все бесполезны Quote Share this post Link to post Short link Share on other sites