-
Posts
849 -
Joined
-
Last visited
-
Days Won
96
Posts posted by spoter
-
-
коробочка работает, и упреждение для арты тоже считается и достаточно быстро.
код не мой. но слежу с огромным интересом и широко открытыми глазами.
- 3
-
Обновил чуток код до версии 1.05
Добавил поддержку языковых конфигов.
Ыностранцы наныли )
ShadowHunterRUS, синхронизируй репы плз.
- 4
-
-
Я с вас умиляюсь. Мод блокирует тупо вызов одной библиотеки urllib.
В питоне ещё тонны сетевых средств, и ничто не мешает свою библиотеку в мод засунуть и вызывать её столько, сколько хочешь.
Этот мод глупая, неудачная попытка навести панику и поднять волну вайна между неопытными и паникующими юзерами и мододелами, которые в принципе, работают по общественному договору, по правилам ВГ, которые документированы и вменяемыми мододелами приняты и выполняются.
Ссылку на правила я постил в этой теме ранее.
Хватит уже.
Если вас так напрягает сбор аналитики, не используйте моды. DIXI
- 9
- 2
-
Для нечитателей: https://ru.wargaming.net/developers/documentation/rules/rules/
Это правила для разработчиков модов танков.
I Функциональность продуктов и сервисов участников WG DPP
2. Не допускается создание продуктов и сервисов, которые выступают прокси-сервером для перенаправления пользователей на сторонние ресурсы. Не допускается сбор и хранение приватной пользовательской информации (например, имена пользователей, адреса электронной почты и пароли).
4. Если для работы продукта или сервиса участника WG DPP требуется предоставление приватной пользовательской информации (имя пользователя, адрес электронной почты, пароль и т.д.), то не допускается использование данной информации в коммерческих целях, сбор, хранение и передача её третьим лицам. Данная информация может быть использована только конечными пользователями в личных целях.
5. Допускается авторизация пользователя только с использованием Wargaming.net ID.
Правила создания производных работ
1. Не допускается создание модификаций, запрашивающих или иным образом получающих у игрока адрес электронной почты и/или пароль в играх Wargaming.net. Допускается авторизация пользователя только с использованием Wargaming.net ID.
Твой говно-мод должен показывать адрес, куда стучится мод, который ты "типа блокируешь" и список параметров в запросе, чтобы пользователь был уверен что никакой личной информации не отправляется.
В моих модах есть запрос к гугл аналитике, отправляется WG_ID, название мода, который отправил статистику, его версия, текущий язык и кластер, где играет игрок (NA, RU, EU и т.д.)
Мне эта инйормация нужна чтобы знать какие версии моих модов у игроков есть, чтобы знать ошибки и рекомендации по исправлению, мне нужно знать язык и кластер, чтобы делать хорошую языковую поддержку и перевод модов на другие языки.
Так что не позорься, удали мод и уползай пастись на свои поля, овёс подвезли.
- 13
- 10
-
>есть вопрос по вн8 и РЭ
Как Андрюха считает EFF - хз.
В 9.9 было так:
def calcRatings(self, personal, vehicle, battle): result = {} winrate = 100.0 if battle['result'] == 1 else 0.0 vehicleID = int(vehicle['baseID']) vehicleLevel = float(vehicle['level']) if vehicleID not in self.expBase: result['expWinRate'] = 53.784756447 result['expFrag'] = 1.15578796562 result['expDamage'] = 890.273724928 result['expSpot'] = 1.20659025788 result['expDef'] = 1.17670487106 expval = result else: expval = self.expBase[vehicleID] rWIN = winrate / expval['expWinRate'] rFrag = personal['kills'] / expval['expFrag'] rDamage = personal['damageDealt'] / expval['expDamage'] rSpot = personal['spotted'] / expval['expSpot'] rDef = personal['droppedCapturePoints'] / expval['expDef'] rWINc = max(0, (rWIN - 0.71) / (1 - 0.71)) rDAMAGEc = max(0, (rDamage - 0.22) / (1 - 0.22)) rFRAGc = max(0, min(rDAMAGEc + 0.2, (rFrag - 0.12) / (1 - 0.12))) rSPOTc = max(0, min(rDAMAGEc + 0.1, (rSpot - 0.38) / (1 - 0.38))) rDEFc = max(0, min(rDAMAGEc + 0.1, (rDef - 0.1) / (1 - 0.1))) wn8 = int(980 * rDAMAGEc + 210 * rDAMAGEc * rFRAGc + 155 * rFRAGc * rSPOTc + 75 * rDEFc * rFRAGc + 145 * min(1.8, rWINc)) wn6 = int((1240 - 1040 / math.pow(min(vehicleLevel, 6), 0.164)) * personal['kills'] + personal['damageDealt'] * 530 / (184 * math.exp(0.24 * vehicleLevel) + 130) + personal['spotted'] * 125 + min(personal['droppedCapturePoints'], 2.2) * 100 + (185 / (0.17 + math.exp((winrate - 35) * -0.134)) - 500) * 0.45 + (6 - min(vehicleLevel, 6)) * -60) wn7 = int((1240 - 1040 / math.pow(min(vehicleLevel, 6), 0.164)) * personal['kills'] + personal['damageDealt'] * 530 / (184 * math.exp(0.24 * vehicleLevel) + 130) + personal['spotted'] * 125 * min(vehicleLevel, 3) / 3 + min(personal['droppedCapturePoints'], 2.2) * 100 + (185 / (0.17 + math.exp((winrate - 35) * -0.134)) - 500) * 0.45 - (5 - min(vehicleLevel, 5)) * 125 / (1 + math.exp((vehicleLevel - math.pow(1.0 / 220, 3 / vehicleLevel)) * 1.5))) eff = int(float(personal['damageDealt']) * 10 / (float(vehicleLevel) + 2) * (0.23 + 2 * float(vehicleLevel) / 100) + float(personal['kills']) * 250 + float(personal['spotted']) * 150 + math.log(float(personal['capturePoints']) + 1, 1.732) * 150 + personal['droppedCapturePoints'] * 150) xeff = 0 if eff < 350 else int(max(min(eff * (eff * (eff * (eff * (eff * (3.388e-17 * eff - 2.469e-13) + 6.9335e-10) - 9.5342e-07) + 0.0006656) - 0.1485) - 0.85, 100), 0)) xwn6 = 100 if wn6 > 2300 else int(max(min(wn6 * (wn6 * (wn6 * (wn6 * (wn6 * (4.66e-18 * wn6 - 3.2413e-14) + 7.524e-11) - 6.516e-08) + 1.307e-05) + 0.05153) - 3.9, 100), 0)) xwn7 = 100 if wn7 > 2315 else int(max(min(wn7 * (wn7 * (wn7 * (wn7 * (wn7 * (4.359e-18 * wn7 - 3.262e-14) + 8.6287e-11) - 1.0299e-07) + 6.373e-05) + 0.02439) - 0.58, 100), 0)) xwn8 = 100 if wn8 > 3400 else int(max(min(wn8 * (wn8 * (wn8 * (wn8 * (wn8 * (9.553e-20 * wn8 - 1.644e-16) - 4.26e-12) + 1.97e-08) - 3.192e-05) + 0.056265) - 0, 157, 100), 0)) if xeff > 100: xeff = 100 result['wn6'] = wn6 result['xwn6'] = xwn6 result['wn7'] = wn7 result['xwn7'] = xwn7 result['wn8'] = wn8 result['xwn8'] = xwn8 result['eff'] = eff result['xeff'] = xeff return result
Мало вероятно что что-то менял
-
-
Разница в том что у меня можно HTML во все поля использовать, т.е. цвета, картинки и т.д. и т.п.
но как вариант, тоже неплохо!
-
Пока только такое решение нашёл:
from gui.battle_control import g_sessionProvider from gui.doc_loaders import messages_panel_reader def newReadMessages(ctx, root): data = oldReadMessages(ctx, root) data['CUSTOM_MESSAGE'] = ('%(message)s', ('purple', 'purple')) return data def newReadSettings(ctx, root): data = oldReadSettings(ctx, root) data['useHtml'] = True return data oldReadMessages = messages_panel_reader._readMessages oldReadSettings = messages_panel_reader._readSettings messages_panel_reader._readMessages = newReadMessages messages_panel_reader._readSettings = newReadSettings def showMessage(message, color='#FFD700', type=0): ctrl = p__g_sessionProvider.shared.messages if ctrl is not None: if type ==1: return ctrl.onShowVehicleMessageByKey('CUSTOM_MESSAGE', {'message': '<font color="%s">%s</font>' % (color, message)}) if type == 2: return ctrl.onShowVehicleErrorByKey('CUSTOM_MESSAGE', {'message': '<font color="%s">%s</font>' % (color, message)}) return ctrl.onShowPlayerMessageByKey('CUSTOM_MESSAGE', {'message': '<font color="%s">%s</font>' % (color, message)}) showMessage('Тестовое сообщение над мини картой') showMessage('Тестовое сообщение над панелью снарядов', type=1) showMessage('Тестовое сообщение в центре над прицелом, зелёного цвета', color='#80D639', type=2)
Но так-то не искал особо.
Кстати, два цвета указываются для обычного режима и второй для режима цветовой слепоты
- 2
-
True story.некоторые разрабы пишут код обфусцированным изначально))
А некоторые ещё и занимаются взломом и восстановлением обфусцированого кода. Жизнь ключом бьёт. :)
-
В WOT реализована упрощенная баллистика, траектория полета снарядов - парабола. Причем низкая парабола а не высокая. Высокая парабола в игре заблокирована.
-
во-первых подобный мод находится в списке запрещённых модов.
во-вторых вы не учитываете третью координату, что для артиллерии критично.
-
почините пж мод винтик
он рабочий, запустился без изменений. максимум конфиг удалите и он его пересоздаст.
-
Попробую модам новое ядро подключить, оно за сохранение настроек в 2 видах, json и gui отвечает и за языковую поддержку.спс, ждем, и если можно настройки добавь mods_gui, modsSettingsApi
Но исходники этого выкладывать не планирую.
- 1
-
Парни, засяду через недельку за фиксы, вотсайт выслали свои правленые сорсы, проверю и залью на гитхаб попозже.
- 7
-
Можно, нужно анализировать реплеи.
Притом как можно большее количество, чтобы выборка была репрезентативной.
Но это работа не для начинающих.
-
Да ладно вам, NooBool писал что его забанили за урагана ровно 1 апреля. It's a trap... Тьфу. It'a joke!
- 2
- 1
-
Я так понимаю это реализовано как сравнение обзора засвеченых врагов, и расстояние между ними и игроком, возможно с учетом маскировки игрока? Или читеры могут со 100% вероятностью узнать в засвете они или нет, в любой момент, не зависимо есть ли лампочка, даже если никто из врагов не светится?
Кстати в списке запрещенных модов вроде ничего такого нет.
upd: Немного погуглил по теме: офигел до чего читеры дошли.
Про то как там оно реализовано, подсказать не могу, увы, насколько я знаю, этот b4it доступен для "попробовать" каждый понедельник и пятницу.
Нубо твинк и пробовать :)))
- 1
- 1
-
Всё давно придумано за нас :)
Вон у читеров, лампа горит сразу после засвета, звуковые события, сообщения о том кто светит, указание границ видимости, таймер засвета реальный, не зависимо от прокаченного перка и т.д.
- 1
- 1
-
def distance_to_vehicle(vehicle): if vehicle is not None and BigWorld.player().vehicle is not None: return (vehicle.position - BigWorld.player().getOwnVehiclePosition()).length return 10000
и всё. на вход подаёте танк противника, к примеру.
на выходе получаете дистанцию до него, либо 10000, дескать дистанция не определена.
- 1
-
Я удалил исходники мода пол года назад. Именно Ангела нет и не будет. Возможно вам понадобится аналогичный мод из пака просранков.
Правда там в коде стоит рандомный генератор отрубания мода, если не найден усткновленный модпак юши. Но это единственная альтернатива на текущий момент.
- 1
- 1
-
рукалицо. рука просто не может отлипнуть от лица.
- 1
-
Как можно задать альтернативный путь для иконок танков в светлячке?
Либо поменять иконки в клиенте, либо берите исходник и правьте пути, откуда берутся иконки.
- 1
-
Мне больше интересно для какой цели debug_utils.pyc вообще появился в клиенте? И сервера в нем прописаны, что то куда то слать :) особенно заинтересовал один из них, имеющий DNS имя :)
борьба со всплывшим трояном.
[3.1.2, 11.11.12] spoter
in Ready-to-use XVM configurations
Posted
выкопали... ))))