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

Нужна помощь в переделке скрипта инжекта на стелс

тут можно задать вопрос по скриптингу
Post Reply
afk
Posts: 5
Joined: 19.11.2017 18:23

Нужна помощь в переделке скрипта инжекта на стелс

Post by afk »

Собственно

Code: Select all

sub SS()
  var x = -1, y = -1, z = -1, value, msg = 'Сколько будет'
  While true
    If UO.InJournal(msg) then
      Wait(500)
      x = Compare()
      y = Compare()
      z = Compare()
      If x > -1 and y > -1 and z > -1 then
        DelJournal(msg)
        UO.Print(str(x) + ' + ' + str(y) + ' + ' + str(z) +  ' = ' + str(x + y + z))
        UO.Say(str(x + y + z))
       else
        UO.Print('Ошибка')
        UO.Print(str(x) + ' + ' + str(y) + ' + ' + str(z) +  ' = ' + str(x + y + z))
      Endif
     else
      Wait(100)
    Endif
  Wend
Endsub
         
Sub Compare()
  var a
  Dim Num[10]
    Num[0] = 'Нол'
    Num[1] = 'Оди'
    Num[2] = 'Дв'
    Num[3] = 'Тр'
    Num[4] = 'Четы'
    Num[5] = 'Пят'
    Num[6] = 'Шест'
    Num[7] = 'Сем'
    Num[8] = 'Восе'
    Num[9] = 'Девя'
  For a = 0 to 9
    If UO.InJournal(Num[a]) and UO.JournalSerial(UO.InJournal(Num[a]) - 1) == UO.GetSerial('self') then
      UO.SetJournalLine(UO.InJournal(Num[a]) - 1, '')
      Return a
     else
      Wait(10)
    Endif
  Next
  Return -1
Endsub
nah nah
Developer
Developer
Posts: 414
Joined: 13.07.2011 11:23
Contact:

Re: Нужна помощь в переделке скрипта инжекта на стелс

Post by nah nah »

лол!! это я писал 100 лет назад
afk
Posts: 5
Joined: 19.11.2017 18:23

Re: Нужна помощь в переделке скрипта инжекта на стелс

Post by afk »

nah nah wrote:лол!! это я писал 100 лет назад
Именно, ZeroDX))
nah nah
Developer
Developer
Posts: 414
Joined: 13.07.2011 11:23
Contact:

Re: Нужна помощь в переделке скрипта инжекта на стелс

Post by nah nah »

А на каком языке?
afk
Posts: 5
Joined: 19.11.2017 18:23

Re: Нужна помощь в переделке скрипта инжекта на стелс

Post by afk »

nah nah wrote:А на каком языке?
Не питон))) паскаля хватит за глаза)
nah nah
Developer
Developer
Posts: 414
Joined: 13.07.2011 11:23
Contact:

Re: Нужна помощь в переделке скрипта инжекта на стелс

Post by nah nah »

afk wrote:
nah nah wrote:А на каком языке?
Не питон))) паскаля хватит за глаза)
попробую, паскаль я не очень
nah nah
Developer
Developer
Posts: 414
Joined: 13.07.2011 11:23
Contact:

Re: Нужна помощь в переделке скрипта инжекта на стелс

Post by nah nah »

Вот, что получилось:

Code: Select all

procedure Antimacro(Line : String);
var
    Num : array of String
    i, j, x : Integer;
    SL : TStringList;

begin
    Num := ['Нол', 'Оди', 'Дв', 'Тр', 'Четы',
            'Пят', 'Шест', 'Сем', 'Восе', 'Девя'];
    
    x := 0;
    SL := TStringList.Create;
    StrBreakApart(Line, ' ', SL);
    if SL.Count > 0 then for i := 0 to SL.Count do
        for j := 0 to 9 do
            if BMSearch(0, SL.Strings[i], Num[j]) >= 0 then
                begin
                x := x + j;
                break;
                end;
    SL.Free;
    UOSay(IntToStr(x))
end;
А вот не совсем рабочий пример, как это использовать

Code: Select all

const
    amMsg = 'Сколько будет';

procedure Копалка;
var
    time : TDateTime;
begin
    time := Now;
    Юзание кирки;
    Wait(100);
    if InJournalBetweenTimes(amMsg, time, Now) <> -1 then
        begin
        Antimacro(Journal(InJournal(amMsg))
        Юзание кирки
        end;
end;
afk
Posts: 5
Joined: 19.11.2017 18:23

Re: Нужна помощь в переделке скрипта инжекта на стелс

Post by afk »

Благодарю, попробую все таки через эвент запустить.
nah nah
Developer
Developer
Posts: 414
Joined: 13.07.2011 11:23
Contact:

Re: Нужна помощь в переделке скрипта инжекта на стелс

Post by nah nah »

afk wrote:Благодарю, попробую все таки через эвент запустить.
Так даже лучше
nah nah
Developer
Developer
Posts: 414
Joined: 13.07.2011 11:23
Contact:

Re: Нужна помощь в переделке скрипта инжекта на стелс

Post by nah nah »

Переделал. В первый раз думал, что всё в одной строке журнала приходит. Вот

Code: Select all

const
    amMsg = 'Сколько будет';
    amDelay = 500;  // Время, необходимое для получения всех строк


procedure AntimacroCallback(Text, Name : String; ID : Cardinal);
var
    Num : array of String;
    i, j, x, LineIndex : Integer;
begin
    if BMSearch(0, Text, amMsg) = 0 then
        exit;
    Num := ['Нол', 'Оди', 'Дв', 'Тр', 'Четы',
            'Пят', 'Шест', 'Сем', 'Восе', 'Девя'];
    x := 0;
    Wait(amDelay);
    LineIndex := InJournal(amMsg);
    for i := 0 to 2 do 
        for j := 0 to 9 do
            if BMSearch(0, Journal(LineIndex + i), Num[j]) > 0 then
                begin
                x := x + j;
                break;
                end;
    UOSay(IntToStr(x));
end;

Code: Select all

SetEventProc(evSpeech, 'AntimacroCallback');
afk
Posts: 5
Joined: 19.11.2017 18:23

Re: Нужна помощь в переделке скрипта инжекта на стелс

Post by afk »

поменял

Code: Select all

UOSay(IntToStr(x));
на

Code: Select all

ConsoleEntryReply(IntToStr(x)); 
И все заработало. Огромное мерси
Post Reply