Forum in READ ONLY mode! All questions and discussions on Discord official server, invite link: https://discord.gg/VxsGzJ7
Old requests
Re: Заявка на новые возможности, либо на исправление старых
один фиг ты полез уже с таргетами функции делать,это посложнее будет чем, если ты добавишь стандартное окно да/нет. ну да/нет еще можно заменить винапишным окном. а вот например чтобы в игре над угодными мне таргетами рисовались стрелочки или этой же стрелочкой рисовался маршрут к трупу. Это уже не забабахать через винапи...хотя и так можно , но блин есть же стрелка в уо клиенте чоб ею не попользоваться. тем более когда -то было что когда умираешь прям клиент рисовал стрелочкой дорогу к трупу. Добавь стрелочку плиииз. к трупу я не буду рисовать дорожки т.к. это надо иметь еще один скрипт постоянно за этим следящий(проще сразу в стелс встроить и галочку на вкл этой функции прикрутить)...хотя и до этого если припрет дойду. А вот метки вешать или дорогу указывать себе к чему нить другому это было бы здорово.
--->>>ПОИСК ПО ФОРУМУ, НАЧНИ С НЕГО!!!<<<---
--->>>Search the forum, start with him!!!<<<---
95% Ваших вопросов уже кем-то написаны и решены.
--->>>Search the forum, start with him!!!<<<---
95% Ваших вопросов уже кем-то написаны и решены.
Re: Заявка на новые возможности, либо на исправление старых
метки легко. потом. когда-нить.
а гампы не буду добавлять принципиально.
а гампы не буду добавлять принципиально.
"Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете". (с) Макконнелл, "Совершенный код".
Re: Заявка на новые возможности, либо на исправление старых
гмгм.
откуда клиент берет координаты трупа? Навняка он запоминает место смерти, так вчем пробелма тоже самое сделать скриптом, и далее ГУИ отрисовать окошко в котором грубо говоря боттонами нарисоваьт типа
ооо
о о
ооо
и нужное напрвление утопить боттон
Какую именно - высчитать разницей координат.
откуда клиент берет координаты трупа? Навняка он запоминает место смерти, так вчем пробелма тоже самое сделать скриптом, и далее ГУИ отрисовать окошко в котором грубо говоря боттонами нарисоваьт типа
ооо
о о
ооо
и нужное напрвление утопить боттон
Какую именно - высчитать разницей координат.
Re: Заявка на новые возможности, либо на исправление старых
Как сохранять-загружать конфиг из закладки Hotkeys? при перезаходе все пропадает.
Re: Заявка на новые возможности, либо на исправление старых
в 4й версии - никак
"Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете". (с) Макконнелл, "Совершенный код".
Re: Заявка на новые возможности, либо на исправление старых
Ок придется пилотом вбивать.Vizit0r wrote:в 4й версии - никак
Еще момент: есть рабочий lasttarget но он сбивается, после каста в землю стенок, то есть не срабатывает такое:
Code: Select all
canceltarget; WaitTargetObject(lasttarget);
UseObject(FindItem);
Code: Select all
List := TStringList.Create;
if FindType(lastt,Ground) > 0 then begin
GetFindedList(List);
for i := 0 to List.Count-1 do
begin
if GetName(StrToInt('$'+List.Strings[i]))=lastn then begin
CancelTarget; UseType(tt,cc); WaitTargetObject(StrToInt('$'+List.Strings[i]));
end;
end;
List.Free;
end;
Еще момент 3: стандартный TargetNext
Re: Заявка на новые возможности, либо на исправление старых
2 и 3 моменты уже работают в 5м стелсе.
по поводу 1 - lasttarget в 5й версии не сбивается, если тайл (или обьект) = 0. X Y Z сбиваются в любом случае.
по поводу 1 - lasttarget в 5й версии не сбивается, если тайл (или обьект) = 0. X Y Z сбиваются в любом случае.
"Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете". (с) Макконнелл, "Совершенный код".
Re: Заявка на новые возможности, либо на исправление старых
Когда можно будет попробовать 5ю версию?Vizit0r wrote:2 и 3 моменты уже работают в 5м стелсе.
по поводу 1 - lasttarget в 5й версии не сбивается, если тайл (или обьект) = 0. X Y Z сбиваются в любом случае.
Замечен баг в Hotkeys: при бинде на колесо мышки вверх, использование колеса вниз многократно повторяет бинд от колеса вверх, при том что на колесо вниз ничего не забито.
Re: Заявка на новые возможности, либо на исправление старых
в асе - в любое время.
времени доделать совершенно нет, иначе бы давно в релиз пошла уже.
времени доделать совершенно нет, иначе бы давно в релиз пошла уже.
"Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете". (с) Макконнелл, "Совершенный код".
Re: Заявка на новые возможности, либо на исправление старых
Авто-одевалка не одевает тотем (SetDress DressSavedSet). Было б хорошо если стелс куда-то запоминал в чем одет чар, так что б после перезагрузки или краша стелса можно было чара одеть функцией DressSavedSet; Фукция DressSavedSet снимала конфликтные вещи и одевала вещь из сохраненного списка. ну или на крайний случай параметр типа UnequipConflictItem если True, снимает, если False - нет.
Так же стелс грузит полностью ядро процессора, когда оооочень много трупов или предметов вокруг, например когда убит чемп. Ну и уже не терпиться поюзать 5ую версию стелса =)
Так же стелс грузит полностью ядро процессора, когда оооочень много трупов или предметов вокруг, например когда убит чемп. Ну и уже не терпиться поюзать 5ую версию стелса =)
Re: Заявка на новые возможности, либо на исправление старых
не. сохранять стелс никуда сет не будет. там своей процедуры по перебору всех слоев и сохранению их в пару десятков строк.
ну а с кофликтными вещами - это вообще фантастика.
а 6й стелс - тест открыт, велком в асю.
ну а с кофликтными вещами - это вообще фантастика.
а 6й стелс - тест открыт, велком в асю.
"Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете". (с) Макконнелл, "Совершенный код".
Re: Заявка на новые возможности, либо на исправление старых
Не определяются координаты персонажа на корабле.
В последних версиях RunUO, в частности, были изменены корабли: при движении корабля посылается пакет F6, а для персонажей и предметов пакет F7. В следствии этого в Stealth Client'е перестали определятся координаты персонажа находящегося на корабле, да и самого корабля тоже.
Описание пакетов взяты у Wyatt'а (http://ruosi.org/packetguide/index.xml):
Кусок кода BaseBoat.cs RunUO:
Не судите строго, если вам известно об описанной проблеме, и мои исследования были не верны, так как я не программист.
Использую Stealth Client версии 4.3.6. Очень жду новой версии.
В последних версиях RunUO, в частности, были изменены корабли: при движении корабля посылается пакет F6, а для персонажей и предметов пакет F7. В следствии этого в Stealth Client'е перестали определятся координаты персонажа находящегося на корабле, да и самого корабля тоже.
Описание пакетов взяты у Wyatt'а (http://ruosi.org/packetguide/index.xml):
Code: Select all
F3 - New World Object Packet
New World Object Packet.
26 bytes
from server
byte ID (F3)
word 0x01
byte Data Type (0x00 = use TileData, 0x01 = use BodyData, 0x02 = use MultiData)
dword Serial
word Object ID
byte Object ID Offset
word Amount
word Amount
word X
word Y
sbyte Z
byte Light Level (TileData.Quality or 0 for Mobiles)
word Hue
byte Flag (0x20 = Show Properties; 0x80 = Hidden)
word Access (for items only, 0x01 = Player Item, 0x00 = World Item)
First appearance in UO:SA clients, replaces 0x1A packet.
F6 - Boat Moving Packet
Boat Moving Packet.
from server
byte ID (F6)
word Packet Size
dword Boat Serial
byte Boat Speed (0x01 = one tile, 0x02 = rowboat, 0x03 = slow, 0x04 = fast)
byte Moving Direction
byte Facing Direction
word Boat X
word Boat Y
word Boat Z
word Boat Objects Count
loop Boat Objects
dword Boat Object Serial
word Boat Object X
word Boat Object Y
word Boat Object Z
endloop Boat Objects
Was added in UO:HS clients. Moving Direction = Facing Direction + Command Direction.
F7 - Packet Container Packet
Packet Container Packet.
from server
byte ID (F7)
word Packet Size
word Inner Packets Count
loop Inner Packets
byte[*] Inner Packet structure
endloop Inner Packets
Was added in UO:HS clients. Currently uses for multis, contains F3 packets.
Code: Select all
#region High Seas
public override bool AllowsRelativeDrop
{
get { return true; }
}
/*
* OSI sends the 0xF7 packet instead, holding 0xF3 packets
* for every entity on the boat. Though, the regular 0xF3
* packets are still being sent as well as entities come
* into sight. Do we really need it?
*/
/*
protected override Packet GetWorldPacketFor( NetState state )
{
if ( NewBoatMovement && state.HighSeas )
return new DisplayBoatHS( state.Mobile, this );
else
return base.GetWorldPacketFor( state );
}
*/
public sealed class MoveBoatHS : Packet
{
public MoveBoatHS( Mobile beholder, BaseBoat boat, Direction d, int speed, List<IEntity> ents, int xOffset, int yOffset )
: base( 0xF6 )
{
EnsureCapacity( 3 + 15 + ents.Count * 10 );
m_Stream.Write( (int) boat.Serial );
m_Stream.Write( (byte) speed );
m_Stream.Write( (byte) d );
m_Stream.Write( (byte) boat.Facing );
m_Stream.Write( (short) ( boat.X + xOffset ) );
m_Stream.Write( (short) ( boat.Y + yOffset ) );
m_Stream.Write( (short) boat.Z );
m_Stream.Write( (short) 0 ); // count placeholder
int count = 0;
foreach ( IEntity ent in ents )
{
if ( !beholder.CanSee( ent ) )
continue;
m_Stream.Write( (int) ent.Serial );
m_Stream.Write( (short) ( ent.X + xOffset ) );
m_Stream.Write( (short) ( ent.Y + yOffset ) );
m_Stream.Write( (short) ent.Z );
++count;
}
m_Stream.Seek( 16, System.IO.SeekOrigin.Begin );
m_Stream.Write( (short) count );
}
}
public sealed class DisplayBoatHS : Packet
{
public DisplayBoatHS( Mobile beholder, BaseBoat boat )
: base( 0xF7 )
{
List<IEntity> ents = boat.GetMovingEntities();
SafeAdd( boat.TillerMan, ents );
SafeAdd( boat.Hold, ents );
SafeAdd( boat.PPlank, ents );
SafeAdd( boat.SPlank, ents );
ents.Add( boat );
EnsureCapacity( 3 + 2 + ents.Count * 26 );
m_Stream.Write( (short) 0 ); // count placeholder
int count = 0;
foreach ( IEntity ent in ents )
{
if ( !beholder.CanSee( ent ) )
continue;
// Embedded WorldItemHS packets
m_Stream.Write( (byte) 0xF3 );
m_Stream.Write( (short) 0x1 );
if ( ent is BaseMulti )
{
BaseMulti bm = (BaseMulti)ent;
m_Stream.Write( (byte) 0x02 );
m_Stream.Write( (int) bm.Serial );
// TODO: Mask no longer needed, merge with Item case?
m_Stream.Write( (ushort) ( bm.ItemID & 0x3FFF ) );
m_Stream.Write( (byte) 0 );
m_Stream.Write( (short) bm.Amount );
m_Stream.Write( (short) bm.Amount );
m_Stream.Write( (short) ( bm.X & 0x7FFF ) );
m_Stream.Write( (short) ( bm.Y & 0x3FFF ) );
m_Stream.Write( (sbyte) bm.Z );
m_Stream.Write( (byte) bm.Light );
m_Stream.Write( (short) bm.Hue );
m_Stream.Write( (byte) bm.GetPacketFlags() );
}
else if ( ent is Mobile )
{
Mobile m = (Mobile)ent;
m_Stream.Write( (byte) 0x01 );
m_Stream.Write( (int) m.Serial );
m_Stream.Write( (short) m.Body );
m_Stream.Write( (byte) 0 );
m_Stream.Write( (short) 1 );
m_Stream.Write( (short) 1 );
m_Stream.Write( (short) ( m.X & 0x7FFF ) );
m_Stream.Write( (short) ( m.Y & 0x3FFF ) );
m_Stream.Write( (sbyte) m.Z );
m_Stream.Write( (byte) m.Direction );
m_Stream.Write( (short) m.Hue );
m_Stream.Write( (byte) m.GetPacketFlags() );
}
else if ( ent is Item )
{
Item item = (Item)ent;
m_Stream.Write( (byte) 0x00 );
m_Stream.Write( (int) item.Serial );
m_Stream.Write( (ushort) ( item.ItemID & 0xFFFF ) );
m_Stream.Write( (byte) 0 );
m_Stream.Write( (short) item.Amount );
m_Stream.Write( (short) item.Amount );
m_Stream.Write( (short) ( item.X & 0x7FFF ) );
m_Stream.Write( (short) ( item.Y & 0x3FFF ) );
m_Stream.Write( (sbyte) item.Z );
m_Stream.Write( (byte) item.Light );
m_Stream.Write( (short) item.Hue );
m_Stream.Write( (byte) item.GetPacketFlags() );
}
m_Stream.Write( (short) 0x00 );
++count;
}
m_Stream.Seek( 3, System.IO.SeekOrigin.Begin );
m_Stream.Write( (short) count );
}
}
#endregion
Использую Stealth Client версии 4.3.6. Очень жду новой версии.
Re: Заявка на новые возможности, либо на исправление старых
F7 и F3 работает с момента выхода HS. F6 мне не очень нравится, поэтому я им не занимался. Может когда совсем нечего будет делать - введу, посмотрим. Да и тестить негде особо.
P.S. Release Candidate через пару часов выложу в открытый доступ, как допишу описание всех изменений.
P.S. Release Candidate через пару часов выложу в открытый доступ, как допишу описание всех изменений.
"Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете". (с) Макконнелл, "Совершенный код".
Re: Заявка на новые возможности, либо на исправление старых
баги заели, будет сегодня ночью 

"Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете". (с) Макконнелл, "Совершенный код".
Re: Заявка на новые возможности, либо на исправление старых
буду обламывать как могу выход релиза постами о багах))))))))))))
--->>>ПОИСК ПО ФОРУМУ, НАЧНИ С НЕГО!!!<<<---
--->>>Search the forum, start with him!!!<<<---
95% Ваших вопросов уже кем-то написаны и решены.
--->>>Search the forum, start with him!!!<<<---
95% Ваших вопросов уже кем-то написаны и решены.