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

Работа с отрицательными высотами Lumber, Mining, Fishing

тут можно задать вопрос по скриптингу
Alexej
Novice
Novice
Posts: 79
Joined: 06.06.2008 11:55
Contact:

Работа с отрицательными высотами Lumber, Mining, Fishing

Post by Alexej »

Доброго времени суток, All!
- изначально была проблема с лесорубами, на местности с высотой отрицательной -90 (подходили к дереву и ненаходили), просто стали рубить в других землях
- написал скриптик на мининг по рункам с использованием чтения типа тайлов из мула... все работает, кроме опять же тех шахт, где высота отрицательная -90, ну шахт хватает... (правда все равно напоролся на одну с высотой -1, и нивкакую не тыкает таргетом на тайл, хотя тайл правильно определяется:

Code: Select all

GetTileData((getx(self)+x),(gety(self)+y), 0, 1, tile, z1); 
TargetToTile(Tile,getx(self)+x,gety(self)+y,z1);  
вместо

Code: Select all

z1
ставил

Code: Select all

getZ(self) 

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

Получается, что Стелз неможет работать с отрицательной высотой...
Даже, если конкретно указать координаты и тип тайла, все равно таргет появляется, но никуда им ткнуть не получается...

Вопрос: в чем может быть проблема и возможно ли ее обойти?
или надо ждать новой версии стелза? Или где порылась собака?
Куда копать?

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

С уважением, Алексей (icq#72416314)
===============================
играю на шадре Sun Day (RunUo 1.0 RC0) AoS
Stealth RC3
Alexej
Novice
Novice
Posts: 79
Joined: 06.06.2008 11:55
Contact:

Re: Работа с отрицательными высотами Lumber, Mining, Fishing

Post by Alexej »

Вообщем после долгих разбирательств и испытаний результат = 0 :(

Были испробованы:
Stealth v0.96
Stealth RC1
Stealth RC3

На всех результат одинаков - не может ткнуть таргетом на тайл с отрицательной высотой, т.е. удочка юзается, таргет появляется 'cliloc# 0xA4EE'; // What water do you want a fish in? (Где желаете ловить?) и больше ничего :(
Единственная реакция была только если вместо типа тайла поставить 0, реагировал как 'cliloc# 0xA20D'; // Target cannot be seen. (Невидно цели)
Высоты перебрал по цыклу от -256 до 1024

Сервер используется RunUO 1.0 RC0, так же был скачан http://siteuo.free.fr/utilsuo/RunUO-1.0-RC0.zip и установлен на локальную машину, результат не изменился.

Кто чем может помочь? У кого есть время и желание?

Могу передоставить все необходимое для испытаний
(сервер, стелз, скрипт)

Если проблема возникла однажды, то она у кого то еще всплывет...

ps: нормально ловит под обычным клиентом, Razor-ом, Inject-ом, уже столько всего перевернул и перепробовал... но если бы не ловилось вообще, но ведь где то работает http://stealth.od.ua/forum/viewtopic.ph ... ht=fishing:

Code: Select all

TargetToTile(0, GetX(self)+x, GETY(self)+y, 251); 
За ранее благодарен, , Алексей (icq#72416314)
===============================
играю на шадре Sun Day (RunUo 1.0 RC0) AoS
Stealth RC3
Edred
Moderator
Moderator
Posts: 559
Joined: 28.03.2006 21:29

Re: Работа с отрицательными высотами Lumber, Mining, Fishing

Post by Edred »

Alexej wrote:играю на шадре Sun Day (RunUo 1.0 RC0) AoS
В общем, все дело в этом. В RunUo 1.0 RC0. В других случаях замена отрицательной высоты на соответствующую положительную работает (высоты в УО закольцованы, -5 соответствует 251).
Alexej
Novice
Novice
Posts: 79
Joined: 06.06.2008 11:55
Contact:

Re: Работа с отрицательными высотами Lumber, Mining, Fishing

Post by Alexej »

Может кто знает где покрутить эту закольцованность высоты в RunUo 1.0 RC0 Сервере?
чтобы потренироваться на локальном серваке и потом дергать админов на том, где играю?
сам пока ненашел...
а то жития уже нету... :(
-=JoKeR=-
Novice
Novice
Posts: 153
Joined: 10.02.2008 11:19
Location: [Forest Wars] Ode$$a

Post by -=JoKeR=- »

а что там крутить ?
ты же на карту тыкаешь, на тайл
значит мулы "крутить" нужно :D
через серверные скрипты не думаю что можно что-то решить
на сфере точно нет, ранку не запускал
а ради тебя и твоего макроса админы я думаю не станут копошится в мулах, не лёгкое это дело =)
Alexej
Novice
Novice
Posts: 79
Joined: 06.06.2008 11:55
Contact:

Post by Alexej »

Проверил еще на RunUO-2.0-RC2, тот же самый эффект... дурдом какойто...
втупую, под обычным клиентом ловлю, беру информацию тайла, забиваю ее в скрипт, чтобы ловил именно тот тайл, и... результат никакй... вызывается таргеи и никуда не тыкается...



===============================
играю на шадре Sun Day (RunUo 1.0 RC0) AoS
Stealth RC3
Alexej
Novice
Novice
Posts: 79
Joined: 06.06.2008 11:55
Contact:

Post by Alexej »

поспешил с отправкой поста, на RunUO-2.0-RC2 при задании типа тайла = 0, ловля идет (сразу незаметил из-за малого времени задержки) т.е. ловит и при вісоте -5 и при вісоте 251

Code: Select all

TargetToTile(0,x,y,z);
будем рыть дальше....
Alexej
Novice
Novice
Posts: 79
Joined: 06.06.2008 11:55
Contact:

Post by Alexej »

не поверите, но уже и под RunUO 1.0 RC0 начал ловить и даже на игровом сервере Sun Day (RunUo 1.0 RC0) AoS ...

и произошло все это после установки и запуска на локальной машине RunUO-2.0-RC2...
мой ум этого не понимает...

и под Stealth RC3

Всем спасибо за помощь и идеи, пошел тестировать и перепроверять, не глюк ли это... :)
-=JoKeR=-
Novice
Novice
Posts: 153
Joined: 10.02.2008 11:19
Location: [Forest Wars] Ode$$a

Post by -=JoKeR=- »

оригинальная ситуация )))
Alexej
Novice
Novice
Posts: 79
Joined: 06.06.2008 11:55
Contact:

Post by Alexej »

а вопрос оказался все еще не зарытым...
вообщем ловить он начал (просто место такое нашел) на тайлах с номерами 0x00A8, 0x00AB, 0x0136, 0x0137... а на остальных как неловил так и неловит...
вообщем расковырял я скрипты RunUO 1 и 2: RunUO 1.0 RC0\Scripts\Engines\Harvest\Fishing.cs, в конце есть блок:

Code: Select all

private static int[] m_WaterTiles = new int[]
			{
				0x00A8, 0x00AB,
				0x0136, 0x0137,
				0x5797, 0x579C,
				0x746E, 0x7485,
				0x7490, 0x74AB,
				0x74B5, 0x75D5
			};
вообщем на первых дыух вот он и рыбачит, а на остальных: 0x5797, 0x579C, 0x746E, 0x7485, 0x7490, 0x74AB, 0x74B5, 0x75D5 - нивкакую.
Сделал эксперимент: взял и убрал эти последние тайлы из скрипта сервера, сохранил, запустил и... да, да, да - он и обычным клиентом не смог там закинуть удочку и рыбачить, а вот на первых типах спокойно себе рыбачил... потом вернул все обратно.
Вообщем начал я ковырять *.mul -ы и что обнаружил, что что в них максимальные значения тайлов только до 0x3FFF и Land и Static...
Вот и думаю возможно в этом то все и дело?

Code: Select all

GetTileData((getx(self)+x),(gety(self)+y), 0, 1, tile, z1); 
- выдергивает тип тайла правильно, под админом я проверял пропертис тайлов, когда из скриптов стер последние типы, типы то определяются правильно, а их нет - и ловли рыбки нету... Возможно и со Stealth-ом аналогичная ситуация?
Вопрос: Стоит ли подредактировать (ввести типы тайлов воды с номерами 0x5797, 0x579C, 0x746E, 0x7485, 0x7490, 0x74AB, 0x74B5, 0x75D5 ? Как и чем это лучше и безопаснее сделать? (никогда внутренности не правил)

Жду советов, мыслей...
Алексей
-=JoKeR=-
Novice
Novice
Posts: 153
Joined: 10.02.2008 11:19
Location: [Forest Wars] Ode$$a

Post by -=JoKeR=- »

зайди на ультимасофт.ру
там в поиске впиши Centred
и почитай про эту прогу, очень хорошо редактирует карту и статику
Alexej
Novice
Novice
Posts: 79
Joined: 06.06.2008 11:55
Contact:

Post by Alexej »

вообщем начал ковырться InsideUO в мулах, нашел интересную везчь:
как было в файле сервера:

Code: Select all

private static int[] m_WaterTiles = new int[] 
         { 
            0x00A8, 0x00AB, 
            0x0136, 0x0137, 
            0x5797, 0x579C, 
            0x746E, 0x7485, 
            0x7490, 0x74AB, 
            0x74B5, 0x75D5 
         };
а согластно мулам, это есть статик тайлы:

Code: Select all

0x5797, 0x579C, 
0x746E, 0x7485, 
0x7490, 0x74AB, 
0x74B5, 0x75D5 
должны быть:

Code: Select all

0x1797, 0x179C,
0x346E, 0x3485,
0x3490, 0x34AB,
0x34B5, 0x35D5
но после того как я поправил это в серверном скрипте (\Scripts\Engines\Harvest\Fishing.cs), на значения что вытащил из мулов, ловить даже обычным клиентом перестал :(

Вопрос: кто знает, где еще можно найти хвосты на эти типы тайлов

ps: в мулах максимальное адресное пространство (или размер) 0x3FFFF или 16383, а тайлы которые зебыты в скриптах (были) далеко вылазят из этого предела (0x5797, 0x579C, 0x746E, 0x7485, 0x7490, 0x74AB, 0x74B5, 0x75D5), вот и пришла идея найти их все и поправить во всех скриптах(серверных)...
Alexej
Novice
Novice
Posts: 79
Joined: 06.06.2008 11:55
Contact:

Post by Alexej »

да, надыбал тут еще информацию по этим статик тайлам:
Overall Index: 29806 (0x746E)
Tag: 72E4EC90
Group: Static Tiles
Group Relative Lookup Offset: 10246 (0x2806)
Group Index: 13422 (0x346E)

Flags: Background, Impassable, Wet, Animated (0x10000C1)
Weight: 255 (0xFF)
Quality: 0 (0x0)
Unknown: 0 (0x0)
Unknown1: 0 (0x0)
Quantity: 0 (0x0)
Anim Id: 0 (0x0)
Unknown2: 0 (0x0)
Hue: 0 (0x0)
Unknown3: 0 (0x0)
Height: 1 (0x1)
Name: water
Вот где эти цыферки оказывается пляшут (Overall Index и Group Index)...

Вопрос: Возможно ли что Stealth неправильно или вообще не работает со "Static Tiles" (0x5797, 0x579C, 0x746E, 0x7485, 0x7490, 0x74AB, 0x74B5, 0x75D5) и работает только с "Landscape Tiles" (0x00A8, 0x00AB, 0x0136, 0x0137) ?
Edred
Moderator
Moderator
Posts: 559
Joined: 28.03.2006 21:29

Post by Edred »

Стелс на данный момент (опубликованные версии) вообще не "работают" с тайлами. То есть нет возможности в стелсе распознавать тайлы и в зависимости от вида делать что-то. Фактически, команды направить прицел на определенный тайл просто превращается в пакет и отправляется на сервер шарда. Если шард требует разных пакетов для разных типов тайлов - вот тут и кроется проблема. Стелс подобного пока не поддерживает.

Попытайся выловить какие пакеты отправляет клиент при ловле в разных типах тайлов на шард (можешь поэкспериментировать на локальном шарде).
Alexej
Novice
Novice
Posts: 79
Joined: 06.06.2008 11:55
Contact:

Post by Alexej »

типы тайлов я при помощи http://stealth.od.ua/forum/viewtopic.php?t=1041 определяю...
скоре всего не отправляет пакет серверу, т.к. таргет появляется (смотрю по клилокам) и все... или возможно и отправляется, но неправильный... буду ловить...
выкрою кусочек времени для отлова пакетов...
думал как вариант проблемы в мулах, переставлял УО полностью, апгрейдил от версии 4.0.4т до 5.0.5а, с проверкой на всех промежуточных, а началась катавасия, была версия 4.0.8а, но замененные статиксы... не в этом трабла оказалась...
Post Reply