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

Stealth 6

Macks
Apprentice
Apprentice
Posts: 250
Joined: 27.02.2006 22:23
Location: АоП - Age Of Power

Re: Stealth 6

Post by Macks »

Maxwell wrote:В .net изменения.
Для более простого использования переделал в синглтон.

Code: Select all

var s = Stealth.Default;
Поправил идиотскую ошибку в обработке событий.
Исправленная версия лежит тут. https://yadi.sk/d/U0Uxx_I3dv3PQ
System.TypeLoadException was unhandled
Message=GenericArguments[0], 'ScriptDotNet2.Network.ServerEventArgs', on 'System.EventHandler`1[TEventArgs]' violates the constraint of type parameter 'TEventArgs'.
Source=ScriptDotNet2
TypeName=""
StackTrace:
at ScriptDotNet2.Stealth..ctor()
at ScriptDotNet2.Stealth.get_Default()
at MainTest.Program.Main(String[] args)
InnerException:

Как его правильно использовать?
Maxwell
Neophyte
Neophyte
Posts: 43
Joined: 10.11.2014 17:06

Re: Stealth 6

Post by Maxwell »

Версия фреймворка и пример кода.
Macks
Apprentice
Apprentice
Posts: 250
Joined: 27.02.2006 22:23
Location: АоП - Age Of Power

Re: Stealth 6

Post by Macks »

Maxwell wrote:Версия фреймворка и пример кода.
4.0 как в вашей длл.

И в трассу ничего не попадает.

Code: Select all

  <PropertyGroup>
    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
    <Platform Condition=" '$(Platform)' == '' ">x86</Platform>
    <ProductVersion>8.0.30703</ProductVersion>
    <SchemaVersion>2.0</SchemaVersion>
    <ProjectGuid>{997E51AC-5D49-4C22-9ED3-9B1810A62DC3}</ProjectGuid>
    <OutputType>Exe</OutputType>
    <AppDesignerFolder>Properties</AppDesignerFolder>
    <RootNamespace>MainTest</RootNamespace>
    <AssemblyName>MainTest</AssemblyName>
    <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
    <FileAlignment>512</FileAlignment>
    <TargetFrameworkProfile />
  </PropertyGroup>

Code: Select all

using System;
using System.Collections.Generic;
using System.Text;
using ScriptDotNet2;
using System.Diagnostics;

namespace MainTest
{
    class Program
    {
        static void Main(string[] args)
        {
            Trace.Listeners.Add(new TextWriterTraceListener("TextWriterOutput.log", "Stealth.Main"));
            Trace.WriteLine("Start", "Stealth.Main");
            try
            {
                var s = Stealth.Default;
                s.AddToSystemJournal("Hello world");
            }
            catch
            {
            }

            Trace.Flush();
        }
    }
}
Maxwell
Neophyte
Neophyte
Posts: 43
Joined: 10.11.2014 17:06

Re: Stealth 6

Post by Maxwell »

Ну вообще говоря dll собрана под 4.5 фреймворк.
Я сделал некоторые изменения, перекачайте версию и попробуйте еще раз.
Macks
Apprentice
Apprentice
Posts: 250
Joined: 27.02.2006 22:23
Location: АоП - Age Of Power

Re: Stealth 6

Post by Macks »

Maxwell wrote:Ну вообще говоря dll собрана под 4.5 фреймворк.
Я сделал некоторые изменения, перекачайте версию и попробуйте еще раз.
Ура!

Заработало.

Code: Select all

Stealth.Main: Start
Stealth.Main: Prepare message for Stealth
Stealth.Main: Procstring: 000008ACD:\Ultima Online ML\Stealth\MainTest.exe
Stealth.Main: Find Stealth window
Stealth.Main: Stealth window found. Send message.
Stealth.Main: Message sended. Wait message from Stealth.
Stealth.Main: Message recieved. Port: 50908
Stealth.Main: Create Stealth client
Stealth.Network: Connect Stealth client. Host: localhost, Port: 50908
Stealth.Network: Start reciever
Stealth.Network: Send packet. Type: SCGetStealthInfo, Param: 
Stealth.Network: Read packet. Type: SCReturnValue, Param: 0C,00,06,00,05,00,03,00,00,00,26,B4,97,D0,F5,88,E4,40,76,03,64,64,35,64,34,62,66,00,00,00,00,00,00,00
Stealth.Network: Send packet. Type: SCAddToSystemJournal, Param: 0B,00,00,00,48,00,65,00,6C,00,6C,00,6F,00,20,00,77,00,6F,00,72,00,6C,00,64,00
User avatar
Vizit0r
Developer
Developer
Posts: 3958
Joined: 24.03.2005 17:05
Contact:

Re: Stealth 6

Post by Vizit0r »

фигасе у вас отладки, все потроха наружу.
"Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете". (с) Макконнелл, "Совершенный код".
Maxwell
Neophyte
Neophyte
Posts: 43
Joined: 10.11.2014 17:06

Re: Stealth 6

Post by Maxwell »

Ну это для тех, кто умеет пользоваться Trace в студии :) Скрытая фича так сказать.
Maxwell
Neophyte
Neophyte
Posts: 43
Joined: 10.11.2014 17:06

Re: Stealth 6

Post by Maxwell »

Исправил ошибки в многопоточности. Добавлен класс Skills с константами всех скилов, дабы не вводить их каждый раз руками.
Берем тут: https://yadi.sk/d/U0Uxx_I3dv3PQ
Macks
Apprentice
Apprentice
Posts: 250
Joined: 27.02.2006 22:23
Location: АоП - Age Of Power

Re: Stealth 6

Post by Macks »

Maxwell wrote:Исправил ошибки в многопоточности. Добавлен класс Skills с константами всех скилов, дабы не вводить их каждый раз руками.
Берем тут: https://yadi.sk/d/U0Uxx_I3dv3PQ

Code: Select all

System.ArgumentException was caught
  HResult=-2147024809
  Message=Destination array is not long enough to copy all the items in the collection. Check array index and length.
  Source=mscorlib
  StackTrace:
       at System.ThrowHelper.ThrowArgumentException(ExceptionResource resource)
       at System.BitConverter.ToUInt32(Byte[] value, Int32 startIndex)
       at ScriptDotNet2.Network.StealthClient.WaitReply[T](PacketType type)
       at ScriptDotNet2.Network.StealthClient.SendPacket[T](PacketType packetType, Object[] parameters)
       at ScriptDotNet2.Stealth.ReadStaticsXY(UInt16 x, UInt16 y, Byte worldNum)
       at MinokMining.ClassRun.GetTilesToMine()
  InnerException: 
И для пакета SCClearSystemJournal нет обертки вызова.
Maxwell
Neophyte
Neophyte
Posts: 43
Joined: 10.11.2014 17:06

Re: Stealth 6

Post by Maxwell »

Пример кода можно?
BlackSpirit
Neophyte
Neophyte
Posts: 29
Joined: 20.10.2013 11:45

Re: Stealth 6

Post by BlackSpirit »

Всем привет. Давно не обновлялся, поставил последнюю версию Стелс и выяснился небольшой баг. Функция GetName не возвращает имя объекта, расположенного в окне продавца NPC в магазине (в контейнере ObjAtLayerEx(27 или 28, VendorId)). В версии 4.3.6 все возвращается корректно.
Uus Wis
User avatar
Vizit0r
Developer
Developer
Posts: 3958
Joined: 24.03.2005 17:05
Contact:

Re: Stealth 6

Post by Vizit0r »

часов до 3-4 буду в онлайне с нормальной связью, так что готовь чара и давай в аську всю инфу на шард и аккаунт, гляну что там.
"Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете". (с) Макконнелл, "Совершенный код".
Maxwell
Neophyte
Neophyte
Posts: 43
Joined: 10.11.2014 17:06

Re: Stealth 6

Post by Maxwell »

ScriptDotNet2.dll. Поправил ошибку в ReadStaticsXY. Добавил обертку для SCClearSystemJournal.
Забирать тут https://yadi.sk/d/BvMuQgU-g35SG
Boydon
Neophyte
Neophyte
Posts: 36
Joined: 12.02.2012 18:06

Re: Stealth 6

Post by Boydon »

New version here with this new features:
  • Python version selection. If you have more than one Python interpreter installed (2.x and 3.x) the first time you run a Python script, you are asked to choose what version to use. All the following Python scripts will be bound to this version
  • New script method GetBuffBarInfo (see detail below)

Code: Select all

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;
Macks
Apprentice
Apprentice
Posts: 250
Joined: 27.02.2006 22:23
Location: АоП - Age Of Power

Re: Stealth 6

Post by Macks »

Maxwell wrote:Поправил ошибку в ReadStaticsXY.
Спасибо, заработало.
Не пойму только, почему намного медленнее чем в паскаль скрипте, на пару порядков?
Post Reply