Список изменений:
- - Исправлена работа Corpses Autoopen (вернул в состояние версии 1401.25)
- Исправлена обработка гампов (для сервера shard.uoex.net)
- Удалил комманды uo.PrivateMineTile(), uo.PrivatePrepare()
- Переписана комманда uo.PrivateGetTile(X,Y,GroundOrStatic,Tile1,Tile2)
Теперь 3 параметр указывает на тип тайла 0 - земля, 1 - статика.
При удачном поиске возвращает строку с найденными тайлами, попадающими в диапазон от Tile1 до Tile2, иначе - возвращает пустую строку.
- Добавил комманды uo.IsMineTile(X,Y), uo.IsTreeTile(X,Y), uo.IsWaterTile(X,Y)
Осуществляют поиск тайлов пещер/скал, деревьев, воды в заданных координатах.
При удачном поиске возвращает строку с найденными тайлами, попадающими в диапазон поиска, иначе - возвращает пустую строку.
- Добавил комманду uo.WaitingForMenu(MaxDelay,[MenuCount],[BlockMenu],[MenuName],[UseObjectID/SkillName to call menu])
MaxDelay - максимальное время ожидания меню в мс
MenuCount - сколько меню должно появиться до нужного
BlockMenu - 0 - отправлять меню клиенту, 1 - блокировать меню и отправлять на сервер пакет с закрытием меню правой кнопкой мыши
MenuName - ожидаемое название меню (с учетом регистра), если указано не пустое имя то функция будет ждать только меню с конкретным названием. При указании пустого имени - будет хавать любые менюшки.
UseObjectID/SkillName - ID объекта для использования или название скилла (для вызова меню)
- Первая более-менее рабочая версия ходилки.
Вызов move X Y [Distance] [Run] [Maxteps] [Hidden] - ходит отправляя запросы на шаг сразу от инжекта (анимации шага не будет, как в Стелсе)
pmove X Y [Distance] [Run] [Maxteps] [Hidden] - ходит имитируя нажатие в клиенте (коды кнопок 33-40)
Пока что только тестовая версия, не учитывает Z координату (почти), не ходит по ступенькам, не входит/выходит в дома с порогом, учитывает игровые объекты (заборы, сундуки, дома и т.п.) только если инжект их уже увидел (пока что так, дальше буду ковырять чтоб учитывались при самом передвижении), имеются проблеммы со входом в некоторые пещеры (непроходимые места при входе в пещеру, визуально ничего нет, но пройти там нельзя).
Требуется проверить как оно будет ходить по лесам/внутри пещер/в отдельных домах в городах (в вашем доме скорее всего заглохнет), с учетом игровых объектов.
Может использовать 2 почти одинаковых алгоритма, изменять их можно с помощью:
uo.Set('pfNoMap','1') - отключает создание виртуальной карты и пробирается "наощупь", предварительно прощитывая путь, требует значительно меньше времени на расчет пути, но пока что не стабильна.
uo.Set('pfNoMap','0') - включает создание виртуальной карты (включено при запуске инжекта, пока что не сохраняется), требуется больше времени на расчет пути, но работает стабильно, исключая то, что описал выше.
- Исправлена комманда _msg с русским текстом
Code: Select all
sub TestWaitingForMenu()
if uo.WaitingForMenu(5000,1,1,'Tracking','Tracking') then
uo.print('Menu received')
else
uo.print('WaitingForMenu Failed')
endif
end sub
1 - одно меню пропускаем
1 - блокируем меню (не пропускаем клиенту)
Tracking - имя меню, которое ждем
Tracking - скилл, который используем для вызова меню
Диапазоны ИД тайлов пещер:
Code: Select all
{616, 618},
{1339, 1363},
{2272, 2282},
{4963, 4973},
{6001, 6012},
{13121,13369},
{13446,13455},
{13484,13492},
{13625,13628}
ИД тайлов деревьев:
Code: Select all
3274,3275,3277,3280,3283,
3286,3288,3290,3293,3296,
3299,3302,3320,3323,3326,
3329,3393,3394,3395,3396,
3415,3416,3417,3418,3419,
3438,3439,3440,3441,3442,
3460,3461,3462,3476,3478,
3480,3482,3484,3492,3496,
3276,3289,3291,3292,3294,
3295
Диапазон тайлов воды:
Code: Select all
6038,6066
Если будут предложения по добавлению тайлов - пишите, доабвлю.
Не учтены (или частично учтены) тайлы скал.
Воду и пещеры брал из скрипта Миражика.