Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - Boydon

Pages: [1] 2 3 ... 5
1
Stealth Client / Re: CheckLOS function broken?
« on: September 11, 2016, 08:55:51 AM »
In standard Pascal script you have to choose the type of emulator your are working with.

Code: [Select]
TLOSCheckType = (losSphere = 1, losSphereAdv = 2, losPOL = 3, losRunUO = 4);
TLOSCheckOption = (losSphereCheckCorners, losPolUseNoShoot, losPolLOSThroughWindow);
TLOSCheckOptions = set of TLOSCheckOption;

Not sure this is exported to external script though...

Modification post edit

I've checked and this seems to be related on the way ScriptSDK is exporting the CheckLOS function. If you look at the stealth_script.pas that is packed with the standard Stelath distro you'll see that the function is exported as following:

Code: [Select]
function Script_CheckLOS(xf, yf : Word; zf : ShortInt; xt, yt : Word; zt : ShortInt; WorldNum : Byte; LOSCheckType : Byte; LOSOptions : Cardinal) : Boolean; stdcall; external ConstScriptDLL name 'Script_CheckLOS';

and the used like this:

Code: [Select]
function TMover.CheckLOS(xf, yf : Word; zf : ShortInt; xt, yt : Word; zt : ShortInt; WorldNum : Byte; LOSCheckType : TLOSCheckType; LOSCheckOptions : TLOSCheckOptions) : Boolean;
var LOSOptions : Cardinal;
begin
LOSOptions := 0;
if losSphereCheckCorners in LOSCheckOptions then
  LOSOptions := $100;
if losPolUseNoShoot in LOSCheckOptions then
  LOSOptions := LOSOptions OR $200;
if losPolLOSThroughWindow in LOSCheckOptions then
  LOSOptions := LOSOptions OR $400;
  Result := Script_CheckLOS(xf, yf, zf, xt, yt, zt, WorldNum,Byte(LOSCheckType),LOSOptions);
end;

@Chrome969
Maybe you should review the ScriptSDK source on this: last two parameters (LOSCheckType and LOSOptions) are missing ;)

2
Stealth archive / Re: Problem with var boolean script casting
« on: June 27, 2015, 02:35:32 AM »
When i press the Hotkey it doesn't work good.

Can you elaborate "it doesn't work good"? What is the problem?

3
UO Client Modifications/Tools / Re: Boydon's ID Converter
« on: May 15, 2015, 10:59:24 PM »
Yes it is a very simple Lazarus + Free Pascal project. ;)

4
UO Client Modifications/Tools / Re: Boydon's ID Converter
« on: May 15, 2015, 01:04:25 PM »
<reserved>

5
UO Client Modifications/Tools / Boydon's ID Converter
« on: May 15, 2015, 01:03:05 PM »
Hello everybody, Boydon here.
I just want to share with everyone a little and simple tool that I originally developer for my personal use, but that lately has saved me a lot of time: an ID converter between different formats.

Using this tool you can easily migrate script from different platforms. As you can see from the image preview the tool is quite simple; you past one or more ids in the fields and you covert it to the other formats. If you need you can also copy the result of conversion at the moment of conversion.

I am open if someone has ideas for new features. Here (courtesy of TM) you can find a multi antivirus scan result of the attached file (just to be sure).

Hope you enjoy it!
Oh and if there is any volunteer I am looking for a better icon. :D




View Screen Capture

6
Stealth Client / Re: Stealth not recognizing gumps? (Python)
« on: May 14, 2015, 01:12:08 AM »
Can you tell me what function is giving you unexpected results?

There used to be a bug in the number format (they were signed while they have to be unsiged) and I fixed it in GumpInfo function, maybe its happening somewhere else?

Thank you

7
Stealth archive / Re: Stealth Client for Linux?
« on: April 16, 2015, 02:19:08 PM »
Thank you.

8
Stealth archive / Re: Journal Functions (Performance)
« on: April 16, 2015, 01:35:03 PM »
evBuff_DebuffSystem only works on the player mobile (on Self() just to be be even more clear).

I've just checked the logic once again and it is correct (below you have an extract of it from stealth src), so you get what the server is sending you.

Anyway next version of Stealth will have new functionality for the buffbar (I know this is a teaser :D):
Code: [Select]
function GetBuffBarInfo : TBuffBarInfo

TBuffBarInfo = packed record
  Count : Byte;
  Buffs : array of TBuffIcon;
end;

TBuffIcon = packed record
  Attribute_ID : Word;
  TimeStart : TDateTime;
  Seconds : Word;
  ClilocID1 : Cardinal;
  ClilocID2 : Cardinal;
end;

And this is how the evBuff_DebuffSystem is triggered:

Code: [Select]
function TCharacter.GetInfoFromPacket_0xDF(PacketObj: PBArray;
  PacketLen: Integer): Boolean;
var
  Attribute_ID: Word;
  ObjectInfo: PObjectInfo;
  ID: Cardinal;
  IsEnabled: Boolean;
 
begin
  Result := True;
  ID := PacketReader.ReadDword;
  if ID <> PlayerID then
    Exit;

  Attribute_ID := PacketReader.ReadWord;

  //really format change here. Before this was Enabled flag, now
  //it's Items Count. But no matter.
  IsEnabled := WordBool(PacketReader.ReadWord);

  if Attribute_ID < 1000 then // 0x3E8 = 1000
    Exit;

  fObjects.LockObjects;
  New(ObjectInfo);
  if not fObjects.GetObjectInfo(ID, ObjectInfo) then
  begin
    Dispose(ObjectInfo);
    fObjects.UnLockObjects;
    Exit;
  end;

  case Attribute_ID of
    1037:
      if IsEnabled then
        ObjectInfo^._MobileFlag := ObjectInfo^._MobileFlag or $20
      else
      if (ObjectInfo^._MobileFlag and $20) = $20 then
        ObjectInfo^._MobileFlag := ObjectInfo^._MobileFlag - $20;// paralyze

    1038:
    begin // poison
      ObjectInfo^._Poisoned := IsEnabled;
      SetPoisonedStatus(IsEnabled);
    end;
  end;
  fObjects.AddObject(ObjectInfo);
  fObjects.UnLockObjects;

  TryExecEventHandler(evBuff_DebuffSystem,[ID,Attribute_ID, IsEnabled]);

  end;
end;

9
Stealth archive / Re: Stealth Client for Linux?
« on: March 30, 2015, 09:55:55 AM »
orrrr you can pay $1/mo and get a Linux VPS :)

Where? :)

10
Stealth archive / Re: Stealth Client for Linux?
« on: March 24, 2015, 02:43:32 PM »
Stealth can be easily run under WINE. You still have to install a graphic environment on your server and a lot of dependencies, but it can go.

11
Stealth archive / Re: Why is profiles.dat a binary file?
« on: October 23, 2014, 12:32:15 PM »
Problem is you'd then have to reverse the standard Delphi serialization algorithm.

12
Stealth archive / Re: Why is profiles.dat a binary file?
« on: October 22, 2014, 07:22:19 AM »
Quote of the Headdeveloper :
Quote
21 Oktober bei 7:58 :
because read&write of fixed-size records from binary file directly to structures is fastest))

This is what I said, isn't it? :)

13
Stealth archive / Re: Why is profiles.dat a binary file?
« on: October 21, 2014, 01:30:04 PM »
Right now I don't have the code to look at it, but by heart I can tell you that profiles are internally handled as records and those records are serialized when they need to be saved and de-serialized when Stelath need to load them.

Serializing is much more easy than to define your custom file format and the write code to handle it. ;)

14
Script Debug / Re: How do you get a gargoyle to fly?
« on: October 14, 2014, 12:10:19 AM »
I updated with your additional infos. :)

If you are not and you want to, I can make you editor on the wiki.

15
Script Debug / Re: How do you get a gargoyle to fly?
« on: October 12, 2014, 02:37:17 PM »
pull its tail.


But serious read the wiki over at easyuo  I updated it years ago with garg flying and other such stuff.

http://wiki.easyuo.com/index.php?title=Event_Macro

Are you sure? I added the Gargoyle flight after Grindy's post and before that the page was untouched since April 2008.

Pages: [1] 2 3 ... 5