Jump to content
Korean Random

Serfer_78

User
  • Content Count

    71
  • Joined

  • Last visited

Everything posted by Serfer_78

  1. Сорри за некропост, подумал может пользователям корейки пригодится... Расстояние до врагов НЕ на уровне с никами... Набросал только что, на коленке.. НЕ ПРОВЕРЯЛ! Так что , ни чего не гарантирую но % на 99 мод рабочий Расстояние пишет в отдельном гуи.. положение на экране задаем в t.position.. Ловите... # -*- coding: utf-8 -*- author = 'Serfer_78' # А импорты кинем самостоятельно ;-) t = GUI.Text('0.0') t.position = (0, 0.7, 1)#Позиция текста на экране def mod_distance(vehicle=None): pl = BigWorld.player() if pl is not None and hasattr(pl, 'isOnArena') and pl.inWorld and pl.isVehicleAlive: for vID, vData in pl.arena.vehicles.iteritems(): if vData['team'] != pl.team and vData['isAlive']: vehicle = BigWorld.entity(vID) if vehicle is not None and vehicle.isAlive() and vehicle.isStarted: gun = BigWorld.camera().cameraPositionProvider.value[0:3] test_result = vehicle.position.distTo(gun) if test_result <= 10: #расстояние от точки в центре экрана(куда целится орудие) до противника, при котором делаем замер. length = vehicle.position.distTo(pl.getOwnVehiclePosition()) name = pl.arena.vehicles[vID]['name'] GUI.addRoot(t) t.text = ('{} - {}'.format(name,length)) return GUI.delRoot(t) BigWorld.callback(1.0, lambda: mod_distance(vehicle))# 1.0 это повторный замер (Тут раз в секунду..) mod_distance()
  2. Не знаю пробовал запуск дополнительного окна через Sandboxie на разных платформах , естественно входил в нормальном окне в один акк, а в изолированное с помощью вышеупомянутой тулзы во второй аккаунт, кидал сам себе пригу и взводом в бой, так же играю в трене (поиск нычек и прострелов..) + тестирование модов... Все всегда пашет на ура ... и не только у меня...
  3. @Dragon armor Просто шикарная работа , однозначно +
  4. Пробовал по всякому, в примере ниже посылает первое сообщение и молчит, может что то не так делаю? def sendMessage(message): try: UPDSend.Data.put(message) except Exception as e: print('[Error] [{e} '.format(e=e)+']') sendMessage('Hello World!')
  5. Это плохая идея.. Что-бы такого не было, нужно моды качать из официальных источников. Ну или как вариант самому писать.
  6. 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
  7. Как раз на оборот .. Не то что не гуглится, инфы по ней нет вообще
  8. А есть толковая дока по функции ? BigWorld.wg_collideSegment
  9. C:\Users\Brut\Desktop\Улитка боб\JMPACK_2.2_RN\JMPack.ico Улитка боб? В целом идея не плохая, но километр кода и пачки костылей поддерживать очень сложно. Может тогда уж на HiAsm запилить? По моему проще и поддержку легче осуществлять, да и поменьше кода будет... Автоит не лучшее решение но это ИМХО.. В архиве три простенькие программы, почти ни чего не весят но есть потенциал)) Инсталятор на HiAsm.zip Исходники приложил, ссылки на автора в проге. installer1.5.rar Для себя писал прогу для бизнеса, потратил минут 30-40. Размер 109кб.
  10. Спасибо за подробный ответ, думаю данный мод будет полезен всем артоводам да и просто любителям покидать на арте с небольшой дальностью стрельбы, в разгаре боя в арт режиме пытаясь дотянуться до противника часто тонешь и переворачиваешься.. Например с картой Фьорды частая беда когда стоишь за мостиком у базы номер 2 в квадрате с1 Чуть вперед подался и все... )) Действительно если подать звуковой сигнал за 5 метров до падения будет больше шансов выжить.
  11. Для справки... def dispersion() pl = BigWorld.player() print '%s' %(pl.gunRotator.dispersionAngle)
  12. Возникла идея написать мод который будет предупреждать о столкновении - приближении к обьекту или падении в яму с водой когда находишься в арт режиме . Скажем играю на бишопе, арта имбовая, кидает за препятствия на ура, есть бронька и сведение - перезарядка быстрая, но вот беда, приходится часто ездить т.к дальнобойность не большая.. Так вот уже не раз во время прицеливания увлекшись боем падал в воду на разных картах, а еще несколько раз убивал сам себя, почти упершись в дом или камень и несколько раз близко стоящих союзников.. Вообщем идея такая, при наличии ямы с водой или камня или союзника на критическом расстоянии выводить надпись в центре экрана "GUI.addRoot(text)" "Внимание впереди | справа | слева - яма | камень | дом | танк союзника" вообщем по ситуации.. Как получать и работать с координатами разобрался, вот только не пойму как определить где от тебя находится объект в данный момент а именно(справа - слева - впереди - сзади).. Скажите это вообще руализуемо? И если да то может кто подскажет хотя бы в кратце куда копать. UPD: кажется нашел ответ тут.. https://www.desmos.com/calculator/qtkghqtrb7 PS: Опять затык, если с танком понятно BigWorld.entity(pleer.vehicle....... Ну яму можно найти по значению Y < 0... А как с камнями и домами быть не ясно.. И как определить опасна ли яма, т.е есть ли в ней вода в которой можно утонуть. Да и положением обьектов по ссылке выше не так все просто оказалось...
  13. Спасибо Спотер заработало , мистика какая то)) Почти так же писал) кстати вот по карте , тоже короткая может кто искать будет def getMap(): bgpl = BigWorld.player() return bgpl.arena.arenaType.geometryName
  14. Доброго времени суток, оказалось можно карту без хука узнать) А вот с базой затык вышел, не отдает
  15. Совершенно в яблочко 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 Извиняюсь за транслит))
  16. Этот модуль в Bigworld или в Pythin ? Что то мало про него на форуме, а может не нашел...
  17. Кстати пробовал ставить условие if BigWorld.player ... но т.к еще толком не освоил питон не смог правильно его сформулировать.. Попробую твой вариант , отпишусь. MakcT40 от души!!! Прям в яблочко, хук сразу как надо отработал.. Просто я там нагородил типа... player = BigWorld.player() if not player.isActiveVehicle print('DeadVehicle').....и т.д )))
  18. Александр а как можно отловить событие когда собственный танк уничтожен? Пробовал вот так def hook_onVehicleDeath(self, isDeadStarted=False): result = hooked_onVehicleDeath(self, isDeadStarted=False) print('DeadVehicle') return result hooked_onVehicleDeath = Vehicle._Vehicle__onVehicleDeath Vehicle._Vehicle__onVehicleDeath = hook_onVehicleDeath Но в этом случае принтит в лог уничтожение любого танка .. Кстати ты прав таймер перед боем срабатывает именно по def hookTimer(): hookedTimer() print('RunTimer') return hookedTimer = g_playerEvents.onAvatarReady g_playerEvents.onAvatarReady=hookTimer
  19. "Приведенный код был just for fun" А я уж было повелся)))))) "примерно так это должно выглядеть)" Спасибо)) Ознакомлюсь.
×
×
  • Create New...