#1 05-07-2013 23:47

wmysterio
Registered: 04-03-2011
Posts: 215
Website

SB Class Editor [Визуальный редактор классов]

Вашему вниманию представляется программа - визуальный редактор классов Sanny Builder. Её основные функции следующие:

- Открывать/Сохранять файлы классов;
- Удалять/Добавлять/Переименовать существующие и новые классы;
- Удалять/Добавлять/Изменять новые или текущие команды класса;

Программа написана на c#, по этому вам может понадобится установка NET Framework 4.5, что бы программа работала правильно.

Надеюсь она будет полезна вам. smile
===============================================================
Все глюки, странности, баги пишите сюда, буду исправлять smile

Last edited by wmysterio (11-07-2013 09:59)

Offline

#2 06-07-2013 10:18

Seemann
Registered: 07-08-2006
Posts: 2,155

Re: SB Class Editor [Визуальный редактор классов]

сразу первый вопрос: для чего тебе файл opcodes.txt? Если для того, чтобы искать в classes.db перечисленные там опкоды, то не проще ли было завести обычный цикл FOR внутри программы с 0 до 7FFF?

когда нажимаешь изменить или добавить команду, не хватает кнопки отмена или закрыть. программа требует что-то сделать и внести изменения.

Offline

#3 06-07-2013 11:10

wmysterio
Registered: 04-03-2011
Posts: 215
Website

Re: SB Class Editor [Визуальный редактор классов]

Seemann wrote:

сразу первый вопрос: для чего тебе файл opcodes.txt? Если для того, чтобы искать в classes.db перечисленные там опкоды, то не проще ли было завести обычный цикл FOR внутри программы с 0 до 7FFF?

Проще было бы просто с Combobox задать напрямую все опкоды. Но увы у мене они попросту не влезают в коллекцию. Но при считывании с файла все опкоды почему-то вмещаются в список.

Seemann wrote:

когда нажимаешь изменить или добавить команду, не хватает кнопки отмена или закрыть. программа требует что-то сделать и внести изменения.

Ну это не проблема реализовать. Сейчас этим и займусь.

Last edited by wmysterio (06-07-2013 11:11)

Offline

#4 06-07-2013 11:13

Seemann
Registered: 07-08-2006
Posts: 2,155

Re: SB Class Editor [Визуальный редактор классов]

@wmysterio - а зачем перечислять номера опкодов в списке? все равно он информации в себе не несет. Если мне нужно присвоить команде опкод, я уже должен знать его номер, так проще мне его вручную вбить, чем искать какой-нибудь 04АЕ в списке. Если бы программа показывала опкоды с описаниями как это делает Opcode Search Tool, тогда другой разговор. А от простого списка номеров пользы мало.

Offline

#5 06-07-2013 11:23

wmysterio
Registered: 04-03-2011
Posts: 215
Website

Re: SB Class Editor [Визуальный редактор классов]

Seemann wrote:

@wmysterio - а зачем перечислять номера опкодов в списке? все равно он информации в себе не несет. Если мне нужно присвоить команде опкод, я уже должен знать его номер, так проще мне его вручную вбить, чем искать какой-нибудь 04АЕ в списке. Если бы программа показывала опкоды с описаниями как это делает Opcode Search Tool, тогда другой разговор. А от простого списка номеров пользы мало.

Тогда сделаю в место списка опкодов просто текстовое поле для ввода. Так и вправду будет проще.
======================================================================

Обновил программу до версии 1.3

* Вырезана зависимость от файла opcodex.txt. Пользователь сам вручную будет вводить нужный опкод.
* Пользователь может отказаться от последних действий при редактировании/добавлении новых команд или классов кнопкой "Отмена".

Last edited by wmysterio (06-07-2013 12:01)

Offline

#6 07-07-2013 12:51

Seemann
Registered: 07-08-2006
Posts: 2,155

Re: SB Class Editor [Визуальный редактор классов]

Надо подумать над реализацией функции автосоставления имени команды на основе строки из INI файла.
Например, в INI есть строка

01f7=2,set_player %1d% ignored_by_cops %2d%

программа анализирует эту строку, выделяет ключевое слово Player, остальные слова сводит в имя команды

Player.SetIgnoredByCops()

ну и соответственно параметры также подбираются.
если в начале строки INI есть пробелы  - это условный опкод
если в строке есть = это свойство

дальше пользователь (в данном случае я) уже вручную доводит команду до ума.

Offline

#7 07-07-2013 14:22

wmysterio
Registered: 04-03-2011
Posts: 215
Website

Re: SB Class Editor [Визуальный редактор классов]

Seemann wrote:

Надо подумать над реализацией функции автосоставления имени команды на основе строки из 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.

По сути мне нужно создать уже конструктор классов, а не только редактор smile Ну что же, попробую

Last edited by wmysterio (07-07-2013 14:51)

Offline

#8 07-07-2013 21:03

wmysterio
Registered: 04-03-2011
Posts: 215
Website

Re: SB Class Editor [Визуальный редактор классов]

В принципе, программа готова к бета тесту, но есть одна проблема - считывание занимает много времени, но зато опкоды без суффикса ^ отлично читаются и записываются и готовы к редактированию.

С ^ есть небольшие проблемы. Пока исправляю их.

Last edited by wmysterio (07-07-2013 21:17)

Offline

#9 08-07-2013 05:19

mfisto
From: Russia Perm
Registered: 01-02-2008
Posts: 558
Website

Re: SB Class Editor [Визуальный редактор классов]

Скачал и проверил для GTA 3, конструктор не работает.( Файл classes.db открывает, нажимаю конструктор, выбираю файл scm.ini, окошко сворачивается и все.


I know everything and nothing...

Offline

#10 11-07-2013 08:49

wmysterio
Registered: 04-03-2011
Posts: 215
Website

Re: SB Class Editor [Визуальный редактор классов]

[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

#11 11-07-2013 13:16

Seemann
Registered: 07-08-2006
Posts: 2,155

Re: SB Class Editor [Визуальный редактор классов]

требование .net framework 4 меня удручает. смогу протестировать только дома.

Offline

#12 11-07-2013 13:20

wmysterio
Registered: 04-03-2011
Posts: 215
Website

Re: SB Class Editor [Визуальный редактор классов]

Seemann wrote:

требование .net framework 4 меня удручает. смогу протестировать только дома.

я порыскаю в интернете, что бы ликвидировать этот требование. Может что-то да получится. В самый плохой случай придётся переделывать прогу под VS 2008, что-бы фреймворка не требовала. Но на VS C++ я такую программу не смогу сделать. Во всяком случаи мне так кажется.

Last edited by wmysterio (11-07-2013 14:45)

Offline

#13 12-07-2013 06:15

Seemann
Registered: 07-08-2006
Posts: 2,155

Re: SB Class Editor [Визуальный редактор классов]

@wmysterio - если наличие .net принципиально, то хотя бы версии 2 или 3, не думаю, что программа использует возможности именно 4й версии фреймворка.

Offline

#14 12-07-2013 17:11

wmysterio
Registered: 04-03-2011
Posts: 215
Website

Re: SB Class Editor [Визуальный редактор классов]

Seemann wrote:

не думаю, что программа использует возможности именно 4й версии фреймворка.

Увы я не в курсе с какой версии фреймворка использовались комадны, так как недавно перешел на C#. Знаю только, что инсталятор вижулки предложит установить именно версию фреймворка 4.5, по этому и в требованиях я тоже написал, что нужна именно эта версия.

Seemann wrote:

если наличие .net принципиально

Читал на форумах, что принципиально, так как компилируется программа в некий промежуточный код, который использует .NET для запуска.[---]Нашел конвертер C# в C++ кода smile

Last edited by wmysterio (12-07-2013 17:34)

Offline

#15 15-07-2013 14:29

Voron295
From: Каушаны
Registered: 06-12-2010
Posts: 425
Website

Re: SB Class Editor [Визуальный редактор классов]

@wmysterio, при создании проекта в MVS вверху можно выбрать версию фреймворка, которую будешь использовать. Наверняка можно изменить её и для уже созданного проекта. Надо бы покопаться в гугле.


Добро всегда побеждает зло. Кто победил, тот и добрый!
userbar.png

Offline

#16 15-07-2013 15:36

wmysterio
Registered: 04-03-2011
Posts: 215
Website

Re: SB Class Editor [Визуальный редактор классов]

Voron295 wrote:

@wmysterio, при создании проекта в MVS вверху можно выбрать версию фреймворка, которую будешь использовать. Наверняка можно изменить её и для уже созданного проекта. Надо бы покопаться в гугле.

Как изменить версию фреймворка в приложении я знаю, прикол в том, что в 2-й и 3-й версии отсутствует ссылка на сборку Linq, которую я использовал в программе.

Offline

#17 08-02-2014 07:00

wmysterio
Registered: 04-03-2011
Posts: 215
Website

Re: SB Class Editor [Визуальный редактор классов]

Решил обновить программу до версии 2.0

Вот основные изменения:
- Полностью переделан как интерфейс, так и "начинка";
- Обновлён алгоритм считывания. Теперь читает ещё быстрее.
- Снят лимит на количество классов и его команд. Теперь можно добавлять сколько влезет.
- Изменения в способе редактирования команд. Теперь окно выглядит так:
image.png
- Добавлен информер о командах и классах.
- Программа научилась адекватно открывать базы данных для GTA SA, GTA 3, GTA VC а также все базы, которые имеют сигнатуры как у SA.

Планируется сделать ещё более "умный" генератор классов.

Проект на стадии глубокого альфа тестирования, кину ссылку когда приведу всё в порядок.

Last edited by wmysterio (08-02-2014 07:02)

Offline

#18 04-09-2015 12:13

wmysterio
Registered: 04-03-2011
Posts: 215
Website

Re: SB Class Editor [Визуальный редактор классов]

В общем, вышла версия 2.5 и пока нуждается в объективной оценке smile Скачать новую программу можно здесь (прямая ссылка, 123 кб). Скрин:
скрин

Описание:
Программа для визуального редактирование классов Sanny Builder и ключевых слов. В сравнении с предыдущими версиями, программа существенно прибавила к скорости выполнения и имеет более простой и понятный интерфейс не смотря на то, что приложение стало более гибкое и сделать/переделать команды Sanny Builder под свой стиль не стоит труда.

Основные возможности:
- Удалять/Добавлять/Изменять существующие и добавленные классы
- Удалять/Добавлять/Изменять новые или текущие команды класса

Изменения с предыдущими версиями:
+ Поддержка всех* классов Sanny Builder. Если файл пуст, программа создаст новый проект.
+ Полностью переделан интерфейс редактора команд. Теперь всё более лаконично и просто.
+ Добавлена возможность редактировать команды динамически, не входя в редактор.
+ Добавлен простой и удобный редактор ключевых слов
- Отключен режим генератора. Он был достаточно избыточным.
+ Добавлена возможность быстро отсортировать** классы и их команды по алфавиту.

*Имеется ввиду поддержу всех игр, под которые написаны classes.db
**Сортируются команды только в редакторе, сохраняются в файле в изначальном варианте. Это сделано с целью, чтобы пользователь видел при открытии какую команду для каждого класса добавлено последней.

Строка внизу позволяет редактировать команду динамически. Как только работа с ней завершена жмём кнопку "Обновить", чтобы изменения вступили в силу. Если нужно вернуть состояние команды к предыдущему виду при редактировании(например была допущена ошибка и Вы забыли какой был у неё вид до этого) - жмём кнопку "Отменить". Нажимаем кнопку "Редактор" для вызова визуального редактора команды.

Last edited by wmysterio (04-09-2015 12:50)

Offline

#19 04-09-2015 13:35

Goldfish
From: Псков
Registered: 21-04-2015
Posts: 177
Website

Re: SB Class Editor [Визуальный редактор классов]

возможно ли обьеденить потом классы от samp с новыми классами от обычного клео не перепечатавая все заного?

Offline

#20 05-09-2015 08:28

wmysterio
Registered: 04-03-2011
Posts: 215
Website

Re: SB Class Editor [Визуальный редактор классов]

Goldfish wrote:

возможно ли обьеденить потом классы от samp с новыми классами от обычного клео не перепечатавая все заного?

А что функция "Копировать в вставить" уже отменили? smile Я сделаю классы только под оригинальный мейн и то не все( арифметика, прыжки не будут переведены в классы. Также опкоды с внешними скриптами и те, что имеют одинаковые имена, но разница в области видимости переменных). Остальные пусть добавляют сами, программа уже есть, только пусть разберутся. Опкоды SAMP не входят в комплект Sanny Builder, так что я не буду сидеть ещё и над ними.

Offline

Board footer

Powered by FluxBB