Forum in READ ONLY mode! All questions and discussions on Discord official server, invite link: https://discord.gg/VxsGzJ7

Old requests

Archive messages
Post Reply
yuras
Novice
Novice
Posts: 142
Joined: 11.01.2011 10:34

Re: Заявка на новые возможности, либо на исправление старых

Post by yuras »

Добавить команду типа GetGumpPacket содержащую полную копию пакета с гампом от сервера и GetMenuInfo - получить информацию из меню(тип картинки и имя)
Bubonic Pestilence
Neophyte
Neophyte
Posts: 28
Joined: 14.12.2011 4:54
Contact:

Re: Заявка на новые возможности, либо на исправление старых

Post by Bubonic Pestilence »

yuras wrote:Добавить команду типа GetGumpPacket содержащую полную копию пакета с гампом от сервера и GetMenuInfo - получить информацию из меню(тип картинки и имя)
+1 за возможность читать(в любом виде) меню из питона!!! )
Эх, вот был бы "RubyScript" =) так я такой бы харвестер написал...
yuras
Novice
Novice
Posts: 142
Joined: 11.01.2011 10:34

Re: Заявка на новые возможности, либо на исправление старых

Post by yuras »

В DLL Form можно сделать чтобы в вкладке скрипт, при выборе функций отображались не все из файла, а выборочно.
В инже это регулировалось первой буквой функции/процедуры Procedure - показывается, procedure - не показывается.

Добавить отдельную кнопку включения/выключения Hotkeys, чтобы можно было включать/отключать их(Hotkeys активно/неактивно).
yuras
Novice
Novice
Posts: 142
Joined: 11.01.2011 10:34

Re: Заявка на новые возможности, либо на исправление старых

Post by yuras »

Добавить к команде ClientPrint параметр цвет, в пвп некогда читать, а по цветам легче разбираться.
Bubonic Pestilence
Neophyte
Neophyte
Posts: 28
Joined: 14.12.2011 4:54
Contact:

Re: Заявка на новые возможности, либо на исправление старых

Post by Bubonic Pestilence »

yuras wrote:Добавить к команде ClientPrint параметр цвет, в пвп некогда читать, а по цветам легче разбираться.
http://stealth.od.ua/Doc:RU/Api/ClientPrintEx
Эх, вот был бы "RubyScript" =) так я такой бы харвестер написал...
yuras
Novice
Novice
Posts: 142
Joined: 11.01.2011 10:34

Re: Заявка на новые возможности, либо на исправление старых

Post by yuras »

Точняк, если ID выставить в 0, будет как системное отображаться.
NoSilence
Novice
Novice
Posts: 94
Joined: 02.01.2010 13:55

Re: Заявка на новые возможности, либо на исправление старых

Post by NoSilence »

1.
function GetEventProc(Event: EventType):string;
Для чего? - Одноразовое использование, а затем возврат на старый обработчик.

Либо следующие варианты:
2.
procedure GetEventProcList(Event: EventType; var LT: TStringList);
всё понятно.
function AddEventProc(Event: EventType; FunctionName: string):integer;
возвращает позицию в списке.
procedure InsertEventProc(Event: EventType; Index: integer; FunctionName: string);
вставляет событие в список по индексу.
procedure RemoveEventProc(Event: EventType; Index: integer);
всё понятно.

Немного проще:
3.
procedure HookEventProc(Event: EventType; FunctionName: string);
одноразовая ловушка события.


Вариант #2 для написания модулей.
________________________________________________________________

function GetContainer(ItemID: cardinal):cardinal;
понятно.
function GetRootContainer(ItemID: cardinal):cardinal;
контейнер контейнера из контейнера... возвращает главный контейнер.
///
CFA
Developer
Developer
Posts: 492
Joined: 20.04.2006 6:03
Contact:

Re: Заявка на новые возможности, либо на исправление старых

Post by CFA »

NoSilence wrote:function GetEventProc(Event: EventType):string;
Это наверное сделаю
NoSilence wrote: procedure GetEventProcList(Event: EventType; var LT: TStringList);
function AddEventProc(Event: EventType; FunctionName: string):integer;
procedure InsertEventProc(Event: EventType; Index: integer; FunctionName: string);
procedure RemoveEventProc(Event: EventType; Index: integer);
По несколько подписчиков на евент? Интересно конечно, но сложно на мой взгляд.
NoSilence wrote: procedure HookEventProc(Event: EventType; FunctionName: string);
одноразовая ловушка события.
При наличии первого варианта, лишнее.
NoSilence wrote: function GetContainer(ItemID: cardinal):cardinal;
понятно.
function GetRootContainer(ItemID: cardinal):cardinal;
контейнер контейнера из контейнера... возвращает главный контейнер.
Есть http://stealth.od.ua/Doc:RU/Api/GetParent
Сделать GetRootContainer на его основе не трудно.
NoSilence
Novice
Novice
Posts: 94
Joined: 02.01.2010 13:55

Re: Заявка на новые возможности, либо на исправление старых

Post by NoSilence »

CFA wrote:
NoSilence wrote: procedure GetEventProcList(Event: EventType; var LT: TStringList);
function AddEventProc(Event: EventType; FunctionName: string):integer;
procedure InsertEventProc(Event: EventType; Index: integer; FunctionName: string);
procedure RemoveEventProc(Event: EventType; Index: integer);
По несколько подписчиков на евент? Интересно конечно, но сложно на мой взгляд.
Простой поочередный вызов функций из списка. Вот только как быть с удалением элемента из списка во время вызова события, не лочить же. :)
________________________________________________________________

Каприз: сделать галочку для редактора скриптов "Tab вставляет табуляцию, а не 2 пробела".
///
Bubonic Pestilence
Neophyte
Neophyte
Posts: 28
Joined: 14.12.2011 4:54
Contact:

Re: Заявка на новые возможности, либо на исправление старых

Post by Bubonic Pestilence »

о! Хочу функцию которая будет считать путь на дистанции превышающие 100 ) Лень писать A* :D

P.S. А почему ввели такое ограничение?
Эх, вот был бы "RubyScript" =) так я такой бы харвестер написал...
CFA
Developer
Developer
Posts: 492
Joined: 20.04.2006 6:03
Contact:

Re: Заявка на новые возможности, либо на исправление старых

Post by CFA »

Bubonic Pestilence wrote:о! Хочу функцию которая будет считать путь на дистанции превышающие 100 ) Лень писать A* :D

P.S. А почему ввели такое ограничение?
Сейчас поиск ограничен 300ми тайлами. Ограничения - большой расход памяти и время поиска. Тестировался поиск до 1000 тайлов - если препятствий на пути нет/мало, то поиск занимал порядка 15-20 секунд, если же местность сложная (горы, береговая линия) время доходило до нескольких минут.
yuras
Novice
Novice
Posts: 142
Joined: 11.01.2011 10:34

Re: Заявка на новые возможности, либо на исправление старых

Post by yuras »

Добавить команду SetWalkMode(0-стоп,1-идти,2-бежать).
Пример использования. В клиенте вручную бежит персонаж. В определенный момент времени надо перейти на шаг или остановиться. Даем команду SetWalkMode(в ходе выполнения скрипта) и стелс заменяет пакеты клиента на нужные или отвечает отказом на перемещение.
yuras
Novice
Novice
Posts: 142
Joined: 11.01.2011 10:34

Re: Заявка на новые возможности, либо на исправление старых

Post by yuras »

1. При изменении масштаба, стелс подвисает секунд на 10. Можно сделать чтобы он как UOMAP сохранял карту в БМП?
2. Возможность открывать/закрывать мини карту стелса из скрипта, команда ShowMiniMap(М:масштаб;X,Y:размер окна)
3. Возможность помечать точки на карте и запоминать их.
4. У инжы (кажется) есть функция, которая показывает стрелкой, на экране в клиенте, в направлении определенных координат (где труп, например, или клад). Можно такое ввести здесь?
Tiger89
Novice
Novice
Posts: 131
Joined: 28.11.2008 17:32

Re: Заявка на новые возможности, либо на исправление старых

Post by Tiger89 »

насчет третьего могу сказать я, да есть такая функция посмотри в вики.
CFA
Developer
Developer
Posts: 492
Joined: 20.04.2006 6:03
Contact:

Re: Заявка на новые возможности, либо на исправление старых

Post by CFA »

yuras wrote:1. При изменении масштаба, стелс подвисает секунд на 10. Можно сделать чтобы он как UOMAP сохранял карту в БМП?
Тормоза есть только на масштабах x0.25 x0.125, на более крупных почти не заметны. БМП получаются большие, а при том что стелс может работать с несколькими шардами, придется хранить их для каждого отдельно.
yuras wrote:3. Возможность помечать точки на карте и запоминать их.
Рисовать можно, сохранение можно приделать самостоятельно.
http://stealth.od.ua/Category:Drawing_On_Map
http://stealth.od.ua/wiki/doku.php?id=% ... 1%82%D0%B5

yuras wrote:2. Возможность открывать/закрывать мини карту стелса из скрипта, команда ShowMiniMap(М:масштаб;X,Y:размер окна)
4. У инжы (кажется) есть функция, которая показывает стрелкой, на экране в клиенте, в направлении определенных координат (где труп, например, или клад). Можно такое ввести здесь?
yuras wrote:Добавить команду SetWalkMode(0-стоп,1-идти,2-бежать).
Добавил в TODO
Post Reply