GPCracker Posted February 4, 2016 Author Share Posted February 4, 2016 Немного допилил код, добавил пару весьма нужных пунктов в меню, кой-чего поправил и передислоцировал. В общем, собрал бету, надеюсь нормально пойдет)) Файлы в разделе релизов репозитория. 2 @ Quote Link to comment Short link Share on other sites More sharing options...
Megagrob Posted February 10, 2016 Share Posted February 10, 2016 (edited) Любителям шары. Версия Sublime Text 3 билд 3103 https://gist.github.com/sublime-crack4/c11dd67cff63fcbf050e Ломал ST3 build 3103 x64 portable : offset (0xe61fc) 83 f8 01 заменить на 3b c0 90 Registered to Unlimited User License пока полёт нормальный Хотя конечно лучше купить, но для меня, нищеброда, 70$ (1900 грн) - нет уж, лучше в семью :) руссиш меню http://dimox.name/sublime-text-russian-menu/ Edited February 11, 2016 by Megagrob @ Quote Link to comment Short link Share on other sites More sharing options...
Serfer_78 Posted March 17, 2016 Share Posted March 17, 2016 Установка: Установка стандартная. Мод распаковать в папку с игрой После последней обновы, Мод для 0.9.13 будет работать на 0.9.14 ? @ Quote Link to comment Short link Share on other sites More sharing options...
GPCracker Posted March 17, 2016 Author Share Posted March 17, 2016 После последней обновы, Мод для 0.9.13 будет работать на 0.9.14 ?Ну в принципе я не вижу весомых причин, чтобы оно не работало. Попробуй переименовать папку 0.9.13 в 0.9.14 :) @ Quote Link to comment Short link Share on other sites More sharing options...
wotunion Posted March 25, 2016 Share Posted March 25, 2016 Ломал ST3 build 3103 x64 portable : offset (0xe61fc) 83 f8 01 заменить на 3b c0 90 Зачем вообще его ломать??? Неужели сложно раз в день окошко посмотреть? Sublime Text may be downloaded and evaluated for free, however a license must be purchased for continued use. There is currently no enforced time limit for the evaluation. @ Quote Link to comment Short link Share on other sites More sharing options...
Megagrob Posted March 26, 2016 Share Posted March 26, 2016 Зачем вообще его ломать??? Неужели сложно раз в день окошко посмотреть? Sublime Text may be downloaded and evaluated for free, however a license must be purchased for continued use. There is currently no enforced time limit for the evaluation. Можете смотреть сколько вам вздумается. А мне проще 3 байта заменить. @ Quote Link to comment Short link Share on other sites More sharing options...
wotunion Posted March 26, 2016 Share Posted March 26, 2016 Можете смотреть сколько вам вздумается. А мне проще 3 байта заменить. Здесь место для публикации методов взлома софта? @ Quote Link to comment Short link Share on other sites More sharing options...
SkepticalFox Posted March 26, 2016 Share Posted March 26, 2016 Здесь место для публикации методов взлома софта?да!) @ Quote Link to comment Short link Share on other sites More sharing options...
Kapany3uk Posted April 11, 2016 Share Posted April 11, 2016 @GPCracker, в SublimeText 3 вылезает ошибка Traceback (most recent call last): File "C:\Program Files\Sublime Text 3\sublime_plugin.py", line 457, in is_enabled_ ret = self.is_enabled() File "main in C:\Users\Voronin_I_A\AppData\Roaming\Sublime Text 3\Installed Packages\WoTScriptTerminal.sublime-package", line 325, in is_enabled AttributeError: 'NoneType' object has no attribute 'id' я пока не пользуюсь - не умею :)) но сообщить - сообщаю... @ Quote Link to comment Short link Share on other sites More sharing options...
GPCracker Posted April 11, 2016 Author Share Posted April 11, 2016 (edited) я пока не пользуюсь - не умею :)) но сообщить - сообщаю...Уметь там особо ничего не надо... Ставишь и пользуешь. Что касаемо ошибки - 325 строка, функция is_enabled return terminal is not None and self.window.active_view().id() in terminal.viewsAttributeError: 'NoneType' object has no attribute 'id' По отчету все совпадает, строка с таким номером действительно принадлежит функции is_enabled Атрибут 'id' используется только в одном месте, и судя по логам, получается что self.window.active_view() возвращает None То-есть в момент проверки нет активной вьюшки. Скорее всего, все документы в этот момент были закрыты. Или возник какой-то баг в самом Sublime. Черкну себе в ToDo, допилю тут немного, когда время будет, чтобы не крашилось. По сути ... and self.window.active_view() is not None and ...должно быть достаточно. Edited April 11, 2016 by GPCracker @ Quote Link to comment Short link Share on other sites More sharing options...
Kapany3uk Posted April 12, 2016 Share Posted April 12, 2016 (edited) Уметь там особо ничего не надо... Ставишь и пользуешь Ха-ха :)) поставил, пытаюсь пользовать - беру скрипт totalHp, запускаю реплей из Sublime 3 -> connect -> execute ... и ничего не происходит... реплей играет, логи пишут что скрипт работает -> на экране никаких изменений -> я ничего не понимаю... через пару часов "плясок с бубном" терпение заканчивается и бросаю это дело до следующего прилива энтузиазма... Edited April 12, 2016 by Kapany3uk @ Quote Link to comment Short link Share on other sites More sharing options...
GPCracker Posted April 12, 2016 Author Share Posted April 12, 2016 (edited) Ха-ха :))1. Нужно ставить в клиент серверную часть, чтобы игровой клиент мог принимать подключения от Sublime. 2. Клиентскую часть на Sublime, как я понял, ты уже развернул, раз меню появилось. 3. У Sublime есть своя внутренняя консоль, вызывается через Ctrl+~, ЕМНИП. Если что-то в плагине идет не так - там будут логи. 4. Не нужно брать сходу скрипты. Тестируется все довольно просто. 4.1. Коннектимся к клиенту. Состояние не важно, главное чтобы он прогрузился. 4.2. Открываем в Sublime лог-файл или лог-панель. Там должен появиться весь лог, если параметр fetch_logs включен (ЕМНИП он включен по дефолту). 4.3. Создаем пустой файлик, где мы будем писать наш скрипт. Пишем туда что-то типа "print 'Hello world!'". 4.4. Запускаем это дело. В лог-файле/лог-панели должна появиться строка "Hello world!". 4.5. PROFIT. 5. Некоторые скрипты интегрируются в клиент на стадии загрузки, поэтому их запуск через терминал без ручной интеграции (контролируемая интеграция) невозможен. 6. Из пункта 5 следует, что терминал используется для отладки модулей с использованием их ручной интеграции или проверки работоспособности каких-то кусков кода. Готовые скрипты следует отлаживать уже нормальным методом (устанавливать как мод). В последствии (если скрипт такое нормально воспримет) можно управлять состоянием этого скрипта через терминал, как и любым другим модулем картофана или пользовательским модом. Если конечно вы знаете, что надо делать. Edited April 12, 2016 by GPCracker @ Quote Link to comment Short link Share on other sites More sharing options...
Kapany3uk Posted April 12, 2016 Share Posted April 12, 2016 Некоторые скрипты интегрируются в клиент на стадии загрузки, поэтому их запуск через терминал без ручной интеграции (контролируемая интеграция) невозможен Очевидно, TotalHp из таких... А так, до 5 пункта, все ок (немного напрягся про "ставить в клиент серверную часть" - имхо проще написать "установить в клиент") @ Quote Link to comment Short link Share on other sites More sharing options...
GPCracker Posted April 12, 2016 Author Share Posted April 12, 2016 немного напрягся про "ставить в клиент серверную часть" - имхо проще написать "установить в клиент"Все дело в том, что та часть, которая является модом игрового клиента картохи, по своей сути является TCP сервером, расшаренным на localhost, а Sublime-плагин - это TCP клиент (+меню), который подключается моду-серверу и через него имеет доступ на выполнение python-скриптов в игровом клиенте картохи. Для некоторого разграничения понятий клиент и сервер картоха/мое приложение я называю TCP-сервер моего приложения "серверной частью" приложения. Такая вот сложная для понимания с первого раза логика, но на самом деле тут нет ничего сложного. Что касаемо того, что можно делать через терминал - тут уже полная свобода почти, единственно, нужно четко осознавать, что скрипт запускается асинхронно (отдельным потоком) по отношению ко всему остальному игровому процессу, и некоторые функции уже успели выполниться. Это я к тому, что через терминал хуки нужно ставить осторожно. Все остальное в принципе работает нормально, можно спокойно к примеру через терминал послать сообщение в чат (ну если в реальном бою / трене), либо просто его туда добавить (только отобразить), скажем, вывести сообщение справа, где фраги, запустить какой-нить звук, добавить чего-нить на экран, передвинуть, отресайзить и т.д. Если отлаживаешь мод, можно к примеру в реалтайме перемещать при помощи терминала всякие панельки, ресайзить их, менять текст, подбирать какие-то параметры и т.д. Причем делать это независимо от остальной логики, главное чтобы это не сбило с толку сам мод, который ты дебажишь. Много что можно делать, в принципе. 1 @ Quote Link to comment Short link Share on other sites More sharing options...
fecell Posted April 13, 2016 Share Posted April 13, 2016 Через py4wot без каких-либо модов разве нельзя реализовать? гораздо удобней, т.к. не надо каждый патч моды из папки в папку переносить. @ Quote Link to comment Short link Share on other sites More sharing options...
GPCracker Posted April 13, 2016 Author Share Posted April 13, 2016 Через py4wot без каких-либо модов разве нельзя реализовать? гораздо удобней, т.к. не надо каждый патч моды из папки в папку переносить.py4wot - это приложение, реализующее консоль. Что-то вроде этого, только написанное на С++, опять же если я правильно понял код. В питоне для консолей обычно используется несколько другой метод компиляции (ЕМНИП, single вместо exec). В подробности касаемо py4wot я не вдавался особо. Мое приложение работает со скриптами, а не с консольными командами. К тому же использование сторонних приложений без особой на то необходимости не самая крутая идея. Питон нормально стартует на любой операционной системе, в отличие от С++ кода, заточенного чисто под Windows. Серверную часть не обязательно запускать в игровом клиенте, она нормально стартует и на простом питоне. Там даже модуль для этого есть. Плюс использование сетевой инфраструктуры позволяет (если правильно сконфигурировать) использовать мультиконнект и подключаться с другой машины. Два монитора есть не у всех, а вот ноутбук или планшет почти всегда найдется. @ Quote Link to comment Short link Share on other sites More sharing options...
Kapany3uk Posted April 15, 2016 Share Posted April 15, 2016 (edited) @GPCracker, посмотрите лог, пжл. python.log собственно что напрягает: INFO: ------------------------------------------------------------------------- INFO: [safeShot_extended]: Конфиг файл [mod_safeShot_extended.json] Успешно загрузился---------------------------------------- INFO: Traceback (most recent call last): INFO: File "terminal/server.py", line 67, in __callmethod__ INFO: UnicodeDecodeError: 'utf8' codec can't decode byte 0xca in position 21: invalid continuation byte INFO: ---------------------------------------- Кто виноват: safeShot или ScriptTerminal ? Edited April 15, 2016 by Kapany3uk @ Quote Link to comment Short link Share on other sites More sharing options...
StranikS_Scan Posted April 15, 2016 Share Posted April 15, 2016 (edited) Кто виноват: safeShot или ScriptTerminal ? Виноваты кодировки. В "терминале" как я вижу юникод "не работает" и символы на кириллице через него не смогли пройти. Edited April 15, 2016 by StranikS_Scan @ Quote Link to comment Short link Share on other sites More sharing options...
Kapany3uk Posted April 15, 2016 Share Posted April 15, 2016 символы на кириллице через него не смогли пройти Исправляемо или забить? Кстати, запись загрузки mod_safeShot_extended периодически выглядит как "чистый" код UTF-8. Наверное, надо попросить @Ekspoint заменить текст вывода в лог с русского на английский... @ Quote Link to comment Short link Share on other sites More sharing options...
Ekspoint Posted April 15, 2016 Share Posted April 15, 2016 Кстати, запись загрузки mod_safeShot_extended периодически выглядит как "чистый" код UTF-8. Наверное, надо попросить @Ekspoint заменить текст вывода в лог с русского на английский... это как? кодировка такая у меня def print_info(text): try: print text.encode('windows-1251') except: print text Виноваты кодировки. В "терминале" как я вижу юникод "не работает" и символы на кириллице через него не смогли пройти. ага @ 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.