GPCracker Posted September 22, 2017 Share Posted September 22, 2017 57 minutes ago, Serfer_78 said: Этот модуль в Bigworld или в Pythin ? Что то мало про него на форуме, а может не нашел... Он поставляется в виде устанавливаемого через pip пакета. В игре он уже по дефолту есть, используется в коде внутриигрового браузера. 1 @ Quote Link to comment Short link Share on other sites More sharing options...
Serfer_78 Posted September 26, 2017 Share Posted September 26, 2017 В 22.09.2017 в 18:34, GPCracker сказал: Он поставляется в виде устанавливаемого через pip пакета. В игре он уже по дефолту есть, используется в коде внутриигрового браузера. Понятно теперь. Спасибо GPCracker. @ Quote Link to comment Short link Share on other sites More sharing options...
Pavel3333 Posted September 29, 2017 Share Posted September 29, 2017 @Tee-m скорость - нулевое значение массива BigWorld.player().vehicle.filter.speedInfo.value[0]. Настоятельно рекомендую почитать исходники других открытых модов. Например, с репозитория Полякова Юры. 1 @ Quote Link to comment Short link Share on other sites More sharing options...
Serfer_78 Posted September 29, 2017 Share Posted September 29, 2017 (edited) В 29.09.2017 в 10:00, Pavel3333 сказал: BigWorld.player().vehicle.filter.speedInfo.value[0]. Совершенно в яблочко Pavel3333 ! Именно эту функцию я и использовал. И по неосторожности удалил. А так как писал ее почти методом "народного тыка" :) восстановить не смог , так как после написания в голове такая каша была, что вспоминать уже было бесполезно. А за ссылочку спс. Чуть не забыл, вдруг кому пригодится) def speedTank(): speed = BigWorld.player().vehicle.filter.speedInfo.value[0] speed = speed * 3.6 return '%d' % speed .или просто "return speed" возможно и это заработает , не проверял. def speedTank(): return BigWorld.player().vehicle.filter.speedInfo.value[0] * 3.6 Извиняюсь за транслит)) Edited November 18, 2017 by Serfer_78 1 @ Quote Link to comment Short link Share on other sites More sharing options...
Serfer_78 Posted October 4, 2017 Share Posted October 4, 2017 В 23.07.2014 в 06:05, GPCracker сказал: И еще. Немного инфы на тему получения информации об объектах help('modules') # Реально круто) 1 @ Quote Link to comment Short link Share on other sites More sharing options...
Serfer_78 Posted October 6, 2017 Share Posted October 6, 2017 В 07.08.2017 в 17:24, spoter сказал: import game def hookOnGeometryMapped(spaceID, path): hookedOnGeometryMapped(spaceID, path) print 'mapName: %s, mapPath: %s' % (path.split('/')[-1], path) hookedOnGeometryMapped = game.onGeometryMapped game.onGeometryMapped = hookOnGeometryMapped Доброго времени суток, оказалось можно карту без хука узнать) А вот с базой затык вышел, не отдает @ Quote Link to comment Short link Share on other sites More sharing options...
spoter Posted October 7, 2017 Share Posted October 7, 2017 teamBase = BigWorld.player().guiSessionProvider.getArenaDP().getNumberOfTeam() teamBase -= 1 1 @ Quote Link to comment Short link Share on other sites More sharing options...
Serfer_78 Posted October 7, 2017 Share Posted October 7, 2017 1 час назад, spoter сказал: teamBase -= 1 Спасибо Спотер заработало , мистика какая то)) Почти так же писал) кстати вот по карте , тоже короткая может кто искать будет def getMap(): bgpl = BigWorld.player() return bgpl.arena.arenaType.geometryName @ Quote Link to comment Short link Share on other sites More sharing options...
Serfer_78 Posted October 10, 2017 Share Posted October 10, 2017 (edited) Возникла идея написать мод который будет предупреждать о столкновении - приближении к обьекту или падении в яму с водой когда находишься в арт режиме . Скажем играю на бишопе, арта имбовая, кидает за препятствия на ура, есть бронька и сведение - перезарядка быстрая, но вот беда, приходится часто ездить т.к дальнобойность не большая.. Так вот уже не раз во время прицеливания увлекшись боем падал в воду на разных картах, а еще несколько раз убивал сам себя, почти упершись в дом или камень и несколько раз близко стоящих союзников.. Вообщем идея такая, при наличии ямы с водой или камня или союзника на критическом расстоянии выводить надпись в центре экрана "GUI.addRoot(text)" "Внимание впереди | справа | слева - яма | камень | дом | танк союзника" вообщем по ситуации.. Как получать и работать с координатами разобрался, вот только не пойму как определить где от тебя находится объект в данный момент а именно(справа - слева - впереди - сзади).. Скажите это вообще руализуемо? И если да то может кто подскажет хотя бы в кратце куда копать. UPD: кажется нашел ответ тут.. https://www.desmos.com/calculator/qtkghqtrb7 PS: Опять затык, если с танком понятно BigWorld.entity(pleer.vehicle....... Ну яму можно найти по значению Y < 0... А как с камнями и домами быть не ясно.. И как определить опасна ли яма, т.е есть ли в ней вода в которой можно утонуть. Да и положением обьектов по ссылке выше не так все просто оказалось... Edited October 16, 2017 by Serfer_78 @ Quote Link to comment Short link Share on other sites More sharing options...
GPCracker Posted November 2, 2017 Share Posted November 2, 2017 (edited) @Serfer_78, реализовать твою хотелку в приниципе возможно, да и вообще ты наверняка не первый, кто до такого додумался... но это скорее всего займет существенные ресурсы ПК на выполнение коллижн-тестов. И алгоритмы там придется писать далеко не самые простые. Воду, кстати, можно найти по collideWater, или как-то так метод называется. И оценивать ее высоту относительно земли под ней. Что до уведомления - лучше звуком, так надежнее. Но грамотно надо делать. Edited November 2, 2017 by GPCracker 1 @ Quote Link to comment Short link Share on other sites More sharing options...
StranikS_Scan Posted November 4, 2017 Share Posted November 4, 2017 В 10.10.2017 в 20:05, Serfer_78 сказал: Скажите это вообще руализуемо? Легко. Для реализации основного кода мода вам потребуется всего лишь изучить функцию BigWorld.wg_collide и самолично методом тыка выяснить значения всех её аргументов и тогда вы запилите этот мод без труда. Идея вполне интересная. 1 @ Quote Link to comment Short link Share on other sites More sharing options...
Serfer_78 Posted November 18, 2017 Share Posted November 18, 2017 (edited) В 02.11.2017 в 19:00, GPCracker сказал: @Serfer_78, реализовать твою хотелку в приниципе возможно, да и вообще ты наверняка не первый, кто до такого додумался... но это скорее всего займет существенные ресурсы ПК на выполнение коллижн-тестов. И алгоритмы там придется писать далеко не самые простые. Воду, кстати, можно найти по collideWater, или как-то так метод называется. И оценивать ее высоту относительно земли под ней. Что до уведомления - лучше звуком, так надежнее. Но грамотно надо делать. Спасибо за подробный ответ, думаю данный мод будет полезен всем артоводам да и просто любителям покидать на арте с небольшой дальностью стрельбы, в разгаре боя в арт режиме пытаясь дотянуться до противника часто тонешь и переворачиваешься.. Например с картой Фьорды частая беда когда стоишь за мостиком у базы номер 2 в квадрате с1 Чуть вперед подался и все... )) Действительно если подать звуковой сигнал за 5 метров до падения будет больше шансов выжить. Edited November 18, 2017 by Serfer_78 @ Quote Link to comment Short link Share on other sites More sharing options...
Serfer_78 Posted March 22, 2018 Share Posted March 22, 2018 В 04.11.2017 в 22:25, StranikS_Scan сказал: Легко. Для реализации основного кода мода вам потребуется всего лишь изучить функцию BigWorld.wg_collide и самолично методом тыка выяснить значения всех её аргументов и тогда вы запилите этот мод без труда. Идея вполне интересная. А есть толковая дока по функции ? BigWorld.wg_collideSegment @ Quote Link to comment Short link Share on other sites More sharing options...
SkepticalFox Posted March 22, 2018 Share Posted March 22, 2018 (edited) 5 hours ago, Serfer_78 said: А есть толковая дока по функции ? гуглится довольно много инфы Edited March 22, 2018 by SkepticalFox @ Quote Link to comment Short link Share on other sites More sharing options...
Serfer_78 Posted April 3, 2018 Share Posted April 3, 2018 (edited) В 22.03.2018 в 19:58, SkepticalFox сказал: гуглится довольно много инфы Как раз на оборот .. Не то что не гуглится, инфы по ней нет вообще Edited April 3, 2018 by Serfer_78 @ Quote Link to comment Short link Share on other sites More sharing options...
SkepticalFox Posted April 3, 2018 Share Posted April 3, 2018 19 minutes ago, Serfer_78 said: Как раз на оборот .. Не то что не гуглится, инфы по ней нет вообще вам мало этой инфы? @ Quote Link to comment Short link Share on other sites More sharing options...
Serfer_78 Posted April 3, 2018 Share Posted April 3, 2018 (edited) 23 часа назад, SkepticalFox сказал: вам мало этой инфы? BigWorld.wg_collideSegment(BigWorld.player().spaceID, startPoint, endPoint, 128) не совсем понятно что за цифра 128 BigWorld.wg_collideSegment(BigWorld.player().spaceID, startPoint, endPoint, False) или так.. BigWorld.wg_collideSegment(BigWorld.player().spaceID, attacker.gun.position, target.gun.position, 3) ... Вообщем темный лес.. буду ковырять) PS: Все разобрался благодаря помощи @StranikS_Scan Edited April 4, 2018 by Serfer_78 @ Quote Link to comment Short link Share on other sites More sharing options...
DWG Posted April 5, 2018 Share Posted April 5, 2018 Просто навеяло от вещей с которыми вы разбираетесь в этой теме. 3 @ Quote Link to comment Short link Share on other sites More sharing options...
Serfer_78 Posted April 12, 2018 Share Posted April 12, 2018 В 05.04.2018 в 20:45, DWG сказал: Просто навеяло от вещей с которыми вы разбираетесь в этой теме. Это плохая идея.. Что-бы такого не было, нужно моды качать из официальных источников. Ну или как вариант самому писать. @ Quote Link to comment Short link Share on other sites More sharing options...
Serfer_78 Posted April 17, 2018 Share Posted April 17, 2018 (edited) В 09.08.2017 в 13:01, ShuraBB сказал: >Тут бы по идее потоки запилить но пока не созрел как правильно это реализовать. import threading from Queue import Queue class UPDThreading(object): def __init__(self): self.Data = Queue() self.thread = threading.Thread(target = self.SendData) self.thread.setDaemon(True) self.thread.setName('Send UPD Data') self.thread.start() def SendData(self): while True: Message = self.Data.get() try: socket.socket(socket.AF_INET, socket.SOCK_DGRAM).sendto(_intstr(Message), (UDP_IP, UDP_PORT)) except: pass socket.close() UPDSend = UPDThreading() UPDSend.Data.put(Message) Пробовал по всякому, в примере ниже посылает первое сообщение и молчит, может что то не так делаю? def sendMessage(message): try: UPDSend.Data.put(message) except Exception as e: print('[Error] [{e} '.format(e=e)+']') sendMessage('Hello World!') Edited April 17, 2018 by Serfer_78 @ Quote Link to comment Short link Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.