You are not logged in.
Вашему вниманию представляется программа - визуальный редактор классов Sanny Builder. Её основные функции следующие:
- Открывать/Сохранять файлы классов;
- Удалять/Добавлять/Переименовать существующие и новые классы;
- Удалять/Добавлять/Изменять новые или текущие команды класса;
Программа написана на c#, по этому вам может понадобится установка NET Framework 4.5, что бы программа работала правильно.
Надеюсь она будет полезна вам.
===============================================================
Все глюки, странности, баги пишите сюда, буду исправлять
Last edited by wmysterio (11-07-2013 09:59)
Offline
сразу первый вопрос: для чего тебе файл opcodes.txt? Если для того, чтобы искать в classes.db перечисленные там опкоды, то не проще ли было завести обычный цикл FOR внутри программы с 0 до 7FFF?
когда нажимаешь изменить или добавить команду, не хватает кнопки отмена или закрыть. программа требует что-то сделать и внести изменения.
Offline
сразу первый вопрос: для чего тебе файл opcodes.txt? Если для того, чтобы искать в classes.db перечисленные там опкоды, то не проще ли было завести обычный цикл FOR внутри программы с 0 до 7FFF?
Проще было бы просто с Combobox задать напрямую все опкоды. Но увы у мене они попросту не влезают в коллекцию. Но при считывании с файла все опкоды почему-то вмещаются в список.
когда нажимаешь изменить или добавить команду, не хватает кнопки отмена или закрыть. программа требует что-то сделать и внести изменения.
Ну это не проблема реализовать. Сейчас этим и займусь.
Last edited by wmysterio (06-07-2013 11:11)
Offline
@wmysterio - а зачем перечислять номера опкодов в списке? все равно он информации в себе не несет. Если мне нужно присвоить команде опкод, я уже должен знать его номер, так проще мне его вручную вбить, чем искать какой-нибудь 04АЕ в списке. Если бы программа показывала опкоды с описаниями как это делает Opcode Search Tool, тогда другой разговор. А от простого списка номеров пользы мало.
Offline
@wmysterio - а зачем перечислять номера опкодов в списке? все равно он информации в себе не несет. Если мне нужно присвоить команде опкод, я уже должен знать его номер, так проще мне его вручную вбить, чем искать какой-нибудь 04АЕ в списке. Если бы программа показывала опкоды с описаниями как это делает Opcode Search Tool, тогда другой разговор. А от простого списка номеров пользы мало.
Тогда сделаю в место списка опкодов просто текстовое поле для ввода. Так и вправду будет проще.
======================================================================
Обновил программу до версии 1.3
* Вырезана зависимость от файла opcodex.txt. Пользователь сам вручную будет вводить нужный опкод.
* Пользователь может отказаться от последних действий при редактировании/добавлении новых команд или классов кнопкой "Отмена".
Last edited by wmysterio (06-07-2013 12:01)
Offline
Надо подумать над реализацией функции автосоставления имени команды на основе строки из INI файла.
Например, в INI есть строка
01f7=2,set_player %1d% ignored_by_cops %2d%
программа анализирует эту строку, выделяет ключевое слово Player, остальные слова сводит в имя команды
Player.SetIgnoredByCops()
ну и соответственно параметры также подбираются.
если в начале строки INI есть пробелы - это условный опкод
если в строке есть = это свойство
дальше пользователь (в данном случае я) уже вручную доводит команду до ума.
Offline
Надо подумать над реализацией функции автосоставления имени команды на основе строки из INI файла.
Например, в INI есть строка01f7=2,set_player %1d% ignored_by_cops %2d%программа анализирует эту строку, выделяет ключевое слово Player, остальные слова сводит в имя команды
Player.SetIgnoredByCops()
ну и соответственно параметры также подбираются.
если в начале строки INI есть пробелы - это условный опкод
если в строке есть = это свойстводальше пользователь (в данном случае я) уже вручную доводит команду до ума.
То есть преобразовать строку
01f7=2,set_player %1d% ignored_by_cops %2d%
в эту
^SetIgnoredByCops,[01f7,=,1,0,0],("%h" "%i")
которая отнесётся в класс Player.
По сути мне нужно создать уже конструктор классов, а не только редактор Ну что же, попробую
Last edited by wmysterio (07-07-2013 14:51)
Offline
В принципе, программа готова к бета тесту, но есть одна проблема - считывание занимает много времени, но зато опкоды без суффикса ^ отлично читаются и записываются и готовы к редактированию.
С ^ есть небольшие проблемы. Пока исправляю их.
Last edited by wmysterio (07-07-2013 21:17)
Offline
Скачал и проверил для GTA 3, конструктор не работает.( Файл classes.db открывает, нажимаю конструктор, выбираю файл scm.ini, окошко сворачивается и все.
I know everything and nothing...
Offline
[img align=C]http://ru-script.3dn.ru/TEMP_FILE/Screen1.png[/img]
[img align=C]http://ru-script.3dn.ru/TEMP_FILE/Screen2.png[/img]
Обновил версию программы до 1.6b
Основные изменения:
- Исправлен метод поиска слов-классов
- Программа работает быстрее
- Исправленные мелкие ошибки при переносе классов с редактора в конструктора
- Поддержка конструктором всех ini-файлов команд, с форматированием
string=int,string
Тестировал так-же базу команд GTA 3 - конструктор справляется с задачей, но всё же есть косяки, которые можно исправить
Недостатки:
- Нужно постоянно указывать файл с командами (Вскоре исправлю, сделав файл хранения)
- Конструктор не группирует однотипные свойства в одну команду
- Нужно точно указать порядок классов. Программа берёт первую же команду, где есть имя класса, после чего обрабатывает её и делает команду для classes.db
Last edited by wmysterio (11-07-2013 15:11)
Offline
требование .net framework 4 меня удручает. смогу протестировать только дома.
Offline
требование .net framework 4 меня удручает. смогу протестировать только дома.
я порыскаю в интернете, что бы ликвидировать этот требование. Может что-то да получится. В самый плохой случай придётся переделывать прогу под VS 2008, что-бы фреймворка не требовала. Но на VS C++ я такую программу не смогу сделать. Во всяком случаи мне так кажется.
Last edited by wmysterio (11-07-2013 14:45)
Offline
@wmysterio - если наличие .net принципиально, то хотя бы версии 2 или 3, не думаю, что программа использует возможности именно 4й версии фреймворка.
Offline
не думаю, что программа использует возможности именно 4й версии фреймворка.
Увы я не в курсе с какой версии фреймворка использовались комадны, так как недавно перешел на C#. Знаю только, что инсталятор вижулки предложит установить именно версию фреймворка 4.5, по этому и в требованиях я тоже написал, что нужна именно эта версия.
если наличие .net принципиально
Читал на форумах, что принципиально, так как компилируется программа в некий промежуточный код, который использует .NET для запуска.[---]Нашел конвертер C# в C++ кода
Last edited by wmysterio (12-07-2013 17:34)
Offline
Offline
@wmysterio, при создании проекта в MVS вверху можно выбрать версию фреймворка, которую будешь использовать. Наверняка можно изменить её и для уже созданного проекта. Надо бы покопаться в гугле.
Как изменить версию фреймворка в приложении я знаю, прикол в том, что в 2-й и 3-й версии отсутствует ссылка на сборку Linq, которую я использовал в программе.
Offline
Решил обновить программу до версии 2.0
Вот основные изменения:
- Полностью переделан как интерфейс, так и "начинка";
- Обновлён алгоритм считывания. Теперь читает ещё быстрее.
- Снят лимит на количество классов и его команд. Теперь можно добавлять сколько влезет.
- Изменения в способе редактирования команд. Теперь окно выглядит так:
- Добавлен информер о командах и классах.
- Программа научилась адекватно открывать базы данных для GTA SA, GTA 3, GTA VC а также все базы, которые имеют сигнатуры как у SA.
Планируется сделать ещё более "умный" генератор классов.
Проект на стадии глубокого альфа тестирования, кину ссылку когда приведу всё в порядок.
Last edited by wmysterio (08-02-2014 07:02)
Offline
В общем, вышла версия 2.5 и пока нуждается в объективной оценке Скачать новую программу можно здесь (прямая ссылка, 123 кб). Скрин:
Описание:
Программа для визуального редактирование классов Sanny Builder и ключевых слов. В сравнении с предыдущими версиями, программа существенно прибавила к скорости выполнения и имеет более простой и понятный интерфейс не смотря на то, что приложение стало более гибкое и сделать/переделать команды Sanny Builder под свой стиль не стоит труда.
Основные возможности:
- Удалять/Добавлять/Изменять существующие и добавленные классы
- Удалять/Добавлять/Изменять новые или текущие команды класса
Изменения с предыдущими версиями:
+ Поддержка всех* классов Sanny Builder. Если файл пуст, программа создаст новый проект.
+ Полностью переделан интерфейс редактора команд. Теперь всё более лаконично и просто.
+ Добавлена возможность редактировать команды динамически, не входя в редактор.
+ Добавлен простой и удобный редактор ключевых слов
- Отключен режим генератора. Он был достаточно избыточным.
+ Добавлена возможность быстро отсортировать** классы и их команды по алфавиту.
*Имеется ввиду поддержу всех игр, под которые написаны classes.db
**Сортируются команды только в редакторе, сохраняются в файле в изначальном варианте. Это сделано с целью, чтобы пользователь видел при открытии какую команду для каждого класса добавлено последней.
Строка внизу позволяет редактировать команду динамически. Как только работа с ней завершена жмём кнопку "Обновить", чтобы изменения вступили в силу. Если нужно вернуть состояние команды к предыдущему виду при редактировании(например была допущена ошибка и Вы забыли какой был у неё вид до этого) - жмём кнопку "Отменить". Нажимаем кнопку "Редактор" для вызова визуального редактора команды.
Last edited by wmysterio (04-09-2015 12:50)
Offline
возможно ли обьеденить потом классы от samp с новыми классами от обычного клео не перепечатавая все заного?
Offline
возможно ли обьеденить потом классы от samp с новыми классами от обычного клео не перепечатавая все заного?
А что функция "Копировать в вставить" уже отменили? Я сделаю классы только под оригинальный мейн и то не все( арифметика, прыжки не будут переведены в классы. Также опкоды с внешними скриптами и те, что имеют одинаковые имена, но разница в области видимости переменных). Остальные пусть добавляют сами, программа уже есть, только пусть разберутся. Опкоды SAMP не входят в комплект Sanny Builder, так что я не буду сидеть ещё и над ними.
Offline