Hameleon, Hameleon - комментарий от разработчика |
Здравствуйте, гость ( Вход | Регистрация )
Hameleon, Hameleon - комментарий от разработчика |
20 Jan 2009, 08:30
Сообщение
#1
|
|
Newbie Сообщений: 3 Спасибо сказали: 0 раз |
На форуме был тестинг клиента от Aldaran
[quote=Aldaran,01 Jun 2008, 22:48]Глянул клиент Hameleon... Выглядит довольно приятно, но как оказалось овчинка выделки не стоит: НЕ ПОНРАВИЛОСЬ: 1) Нет меню насройки мад-клиента, точнее настройки разделителя команд CommandDelimiter, настройки контроля на введенный символ char, настроек расположения курсора, после посылки команды, очистка последнего слова в строке ввода, очистка всех слов, кроме первого и т.д. Нет возможности заменять при записи нового лога старый, в jmc лог можно буквально сохранять с любым именем, тут или *.htm или *.txt, нельзя писать лог типа RMA, для проигрывании его на rma-плеере... 2) Нет меню настройки подцветок highlight. 3) Нет команды #antisubstitute 4) Кнопка клавиши ESС не работает, как очистка строки ввода. 5) Не работает отображение ansi цветов в маде. Пример: 1mОбщий зал таверны. mВыходы: юг. (1;33m*36mВолшебное33m*)1;33mДоска объЯвлений(board) - тут вы можете оставить ваше сообщение. 31mКамин(fireplace) Ярко пылает, согреваЯ все вокруг. 35mБрыльский лекарь(healer) отдыхает у огнЯ, готовый помочь пострадавшим. 1;30mI.. 1;33m1069/1;30m2018 36m309/309 559/559 0 1;30m-ночь- 1mЮ - 6) Команды #stat1/#stat2 - работают только как полоса состаяния для процентной визуализации числовых параметров. 7) Команды #add - работает только для сложения, #sub - только для вычитания. Команда в jmc #math - более практичная, и используется для разных целей: вычитания, сложения, умножения и т.д. 8) При запуске скрипта, #script {Язык} {имя файла} - Нет возможности запускать скрипт по названию. Новый скрипт - новое имя файла. 9) Использование в hotkey кодов клавиш клавиатуры #hotkey {код} {команда}, а не так как сделано в jmc, #hotkey {группа клавиш/клавиша} {команда}. 10) Не работают сокращенные команды, например, если напишешь #act вместо #action, напишет Неизвестная команда #act и т.д. ПОНРАВИЛОСЬ: 1) Поддержка разных языков скриптов, #script {Язык} {имя файла}, например: #script VBScript d.vbs. 2) Команда #add$, работает #add$ {$переменная} {значение}, добавляет к переменной $переменная значение, например: если $переменная равна 100r, то после команды #add$ $переменная 5, изменит значение переменной $переменная на 100r5. Команда #percent, используется как #percent $переменная числит знам, заносит в переменную $переменная округленное значения (100*числит/знам) Команда #ontick {команда, которая выполнится при обнулении счетчика таймера} #onconnect {команда, которая выполнится в начале соединения с сервером} #ondisconnect {команда, которая выполнится при разрыве соединения с сервером} 3) Возможность использования массивов (команды #ar/#unar/#for/#sort) и множеств (#set/#sort), например: #set d {0123456789} #action {Ты получаешь %d опыта.} {гг %d опыта получил} 4) Можно сделать панель кнопок, правда всего одну, на правой или левой стороне, ну а кнопок сколько угодно, можно с помощью команды сделать выделение кнопки. #selbutton {button№} 0/1 - 1 выделенна, 0 не выделнна #button {button№} {координаты кнопки} {имя кнопки} {команда} #delbutton {button№} 5) В меню Вид есть кнопка сброса буфера экрана, да и размер буфера строки меет 900000. 6) Есть возможность менять цвет команд и командных сообщений. 7) Различные вариаты команд сравнения, правда команда #if или #scri if() не плохо рабоют и так. 8) Есть возможность ввода пароля в специальном окне, то есть при команде #pasw появляется окно ввода пароля персонажа. 9) При двойном нажатие стрелок вверх или вниз происходит выделение строки ввода. JMC остается одним из лучших простых в пользование клиентов, возможно со временем, благодаря Вам, что-то новое появится и у нас. [/quote] Добавлено ([mergetime]1232428914[/mergetime]): по поводу НЕ ПОНРАВИЛОСЬ: [quote]1) Нет меню насройки мад-клиента, точнее настройки разделителя команд CommandDelimiter, настройки контроля на введенный символ char, настроек расположения курсора, после посылки команды, очистка последнего слова в строке ввода, очистка всех слов, кроме первого и т.д. Нет возможности заменять при записи нового лога старый, в jmc лог можно буквально сохранять с любым именем, тут или *.htm или *.txt, нельзя писать лог типа RMA, для проигрывании его на rma-плеере... [/quote] одной из основных фич клиента был антихакинг на тригерах, т.е. кто то кричал и пр. и через разделитель указывал вредоносные для игрока команды, в переменные тригера попадает значение с особым кодом перед символом разделителя, который вводит его как команду, так что данная опция вроде как не нужна, по этому и не включена [quote]2) Нет меню настройки подцветок highlight.[/quote] есть, это делается обычными заменами Опции\Замены [quote]3) Нет команды #antisubstitute[/quote] случайно в хелпе эта команда выпала значительно ниже команды #substitute она называется #unsub [quote]4) Кнопка клавиши ESС не работает, как очистка строки ввода.[/quote] в опциях появилась два режима, стирать строку (как в JMC)или нет после ввода (как в ZMUD) [quote]5) Не работает отображение ansi цветов в маде. Пример: 1mОбщий зал таверны. mВыходы: юг. (1;33m*36mВолшебное33m*)1;33mДоска объЯвлений(board) - тут вы можете оставить ваше сообщение. 31mКамин(fireplace) Ярко пылает, согреваЯ все вокруг. 35mБрыльский лекарь(healer) отдыхает у огнЯ, готовый помочь пострадавшим. 1;30mI.. 1;33m1069/1;30m2018 36m309/309 559/559 0 1;30m-ночь- 1mЮ - [/quote] клиент был заточен под конкретный мад и тестился на нём (конкретно Аладон), в текущей версии это можно решить через #substitute или исправить в исходниках клиента Options.pas в инициализации [quote]6) Команды #stat1/#stat2 - работают только как полоса состаяния для процентной визуализации числовых параметров.[/quote] [quote]7) Команды #add - работает только для сложения, #sub - только для вычитания. Команда в jmc #math - более практичная, и используется для разных целей: вычитания, сложения, умножения и т.д.[/quote] я не старался сделать какой то особо мощный парсер выражений, потому ограничился буквально ассемблерными командами, для более мощных вычислений лучше использовать скриптовые языки [quote]8) При запуске скрипта, #script {Язык} {имя файла} - Нет возможности запускать скрипт по названию. Новый скрипт - новое имя файла.[/quote] не совсем понял что имелось ввиду [quote]9) Использование в hotkey кодов клавиш клавиатуры #hotkey {код} {команда}, а не так как сделано в jmc, #hotkey {группа клавиш/клавиша} {команда}.[/quote] слишком много кода включается на такую организацию хоткеев, а клиент я старался сделать очень маленьким [quote]10) Не работают сокращенные команды, например, если напишешь #act вместо #action, напишет Неизвестная команда #act и т.д.[/quote] (так же и регистр влияет) это есть, но это сильно упрощает разбор основной адресс клиента, там же можно найти и исходники, в них я постарался собрать всё нужное для компиляции(даже компилятор, мейкать Make.bat) Добавлено ([mergetime]1232429428[/mergetime]): по поводу ПОНРАВИЛОСЬ: [quote]1) Поддержка разных языков скриптов, #script {Язык} {имя файла}, например: #script VBScript d.vbs. [/quote] к сожалению нормально работает только с VBScript, предположительно JavaScript пытается прочитать библиотеку типов, которой нет [quote]5) В меню Вид есть кнопка сброса буфера экрана, да и размер буфера строки меет 900000. [/quote] буфер циклический, так что его размер не влияет на скорость работы 9) При двойном нажатие стрелок вверх или вниз происходит выделение строки ввода. собственно преследовалось не это, стрелки вверх-вниз используются для поиска введённых до этого команд (точно так же как и в JMC), если строка не находится то происходит выделение уже введённой строки |
|
|
20 Jan 2009, 09:11
Сообщение
#2
|
|
Newbie Сообщений: 3 Спасибо сказали: 0 раз |
Немного особенностей работы со скриптами, как организована работа с ними в других клиентах я не особо представлял, потому сделал так как мне казалось лучше
я полагаю основным для чего его можно использовать это для содания мапера, через исполнимую COM-библиотеку для обхода необходимой регистрации библиотеки можно использовать манифесты я думаю это основное для легкопереносимой программы, так называемой "для флэшки" пример манифеста, он должен лежать в директории программы Код Hameleon.exe.manifest <?xml version="1.0"?> <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> <assemblyIdentity name="Hameleon" processorArchitecture="x86" version="5.1.0.0" type="win32"/> <description>Windows Shell</description> <dependency> <dependentAssembly> <assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" processorArchitecture="x86" publicKeyToken="6595b64144ccf1df" language="*" /> </dependentAssembly> </dependency> <file name="maper.dll"> <comClass progid="maper.app" clsid="{32A05F55-05EA-470D-A9DF-D24F64F3E9CD}" threadingModel="Both" /> </file> </assembly> Так же тестинг программы проводился под вайном (спасибо Терин-у, у меня такой возможности не было) - работает Проводился сравнительный тестинг с JMC по скорости обработки (ставился простой прокси и записывалось в файл всё приходящее с сервера, потом программа выдавала содержимое этого файла для подключающихся к ней клиентов) программа тестинга (51 кб) |
|
|
23 Aug 2009, 18:46
(Сообщение отредактировал Aldaran - 24 Aug 2009, 22:36)
Сообщение
#3
|
|
Newbie Сообщений: 35 Спасибо сказали: 0 раз |
Здравствуйте.
Давно хотел отписаться, правда то было лень, то времени не хватало. Цитата QUOTE 1) Нет меню насройки мад-клиента, точнее настройки разделителя команд CommandDelimiter, настройки контроля на введенный символ char, настроек расположения курсора, после посылки команды, очистка последнего слова в строке ввода, очистка всех слов, кроме первого и т.д. Нет возможности заменять при записи нового лога старый, в jmc лог можно буквально сохранять с любым именем, тут или *.htm или *.txt, нельзя писать лог типа RMA, для проигрывании его на rma-плеере... одной из основных фич клиента был антихакинг на тригерах, т.е. кто то кричал и пр. и через разделитель указывал вредоносные для игрока команды, в переменные тригера попадает значение с особым кодом перед символом разделителя, который вводит его как команду, так что данная опция вроде как не нужна, по этому и не включена Есть такое дело, мало кто в jmc пользуется этим, главное что есть возможность отправки нескольких команд в мад использую стандартный разделитель ";". Цитата QUOTE 2) Нет меню настройки подцветок highlight. есть, это делается обычными заменами Опции\Замены Не очень удобно использовать, я бы начал говорить о том что в jmc можно поставить на изменение цвета переменную #highlight {yellow,b charcoal} {$aim}, но тут не ручаюсь, извините, в Hameleon'е не проверял, может и есть... Цитата QUOTE 3) Нет команды #antisubstitute случайно в хелпе эта команда выпала значительно ниже команды #substitute она называется #unsub В jmc есть 3 команды: #substitute - добавление замены, #antisubstitute - запрет на замену определенного слова/строки, #unsubstitute - удаление замены. Цитата QUOTE 4) Кнопка клавиши ESС не работает, как очистка строки ввода. в опциях появилась два режима, стирать строку (как в JMC)или нет после ввода (как в ZMUD) Не совсем то имелось ввиду, в jmc так же есть возможность выбора, "Стирать строку ввода после нажатия Enter" или нет. Тут именно очищение страки ввода при нажатие клавиши "Esc", то есть если что-то ненужное уже есть в строке ввода, не пришлось стирать с помощью "Backspaсe". Цитата QUOTE 8) При запуске скрипта, #script {Язык} {имя файла} - Нет возможности запускать скрипт по названию. Новый скрипт - новое имя файла. не совсем понял что имелось ввиду Пример в jmc: 1) Загружаются файлы (по контексту) так: #use base.scr #use questlive.scr #use weapondisarm.scr 2) В каждом файле может иметься по несколько скриптов начинающиеся с "function ..." function ShowFile(item){ var FileSystem = new ActiveXObject("Scripting.FileSystemObject"); var eqbase=FileSystem.OpenTextFile("base/"+item+".txt",1); jmc.ShowMe(""); while (!eqbase.AtEndOfStream) { str=eqbase.ReadLine(); jmc.ShowMe(str); } jmc.ShowMe("-----"); jmc.ShowMe(""); eqbase.Close(); } 3) Запуск скрипта в мад клиенте: #scr act_corpse("%1","%0")... Цитата QUOTE 5) В меню Вид есть кнопка сброса буфера экрана, да и размер буфера строки меет 900000. буфер циклический, так что его размер не влияет на скорость работы Имелось ввиду, что размер буфера позволяет долго просматривать логи игры в самом клиенте, не используя запись в файл-лог, а не скорость работы... Могу сказать, что если продолжите исправлять баги, дописывать что-то, то получится не плохой мад клиент. Удачи! -------------------- КРОВЬ! СМЕРТЬ! СОТОНА!
http://www.arda.pp.ru/ |
|
|
04 Dec 2009, 07:31
Сообщение
#4
|
|
Newbie Сообщений: 3 Спасибо сказали: 0 раз |
#highlight {yellow,b charcoal} {$aim}
не совсем понял что эта команда делает #antisubstitute - как бы исходил из простого - либо есть, либо нет Цитата 1) Загружаются файлы (по контексту) так: #use base.scr #use questlive.scr #use weapondisarm.scr к сожалению только один файл, #script {Язык} {имя файла} , но начало с function необязательно, скрипт вообще может даже не содержать функций любую функции скрипта можно вызвать из клиента #run {текст кода} вызывает текст кода на выполнение #run {метод} {param1} {param2} ... вызывает метод кода на выполнение с указанными параметрами в скрипте можно использоват объект mud у нeго всего один метод send с переменным числом параметров, его действие аналогично отправке текста из строки ввода например процедуру ShowMe в скрипте можно написать так sub ShowMe (str) mud.send "#show {",str,"}" end sub |
|
|
Текстовая версия | Сейчас: 25 April 2024 - 20:47 |
Copyright by Алексей Крючков
Programming by Degtyarev Dmitry |