Oskom Forums

Oskom Forums


Добро пожаловать на Oskom Forums.
 
 
Сейчас на шардах UO Oskom
 
+ Ответить в теме
Показано с 1 по 13 из 13
  1. TKD ITF

    Регистрация
    24.07.2005
    Адрес
    [Salib El-Lejl]
    Сообщений
    4,411
    #1

    По умолчанию Помогите со скриптом!

    Вообщем нужен скрипт для пилота или УОскрипта, чтобы чар юзал скилл пойзонинг и таргетом кликал на ножичек и вторым таргетом на бутылку с ядом. А то что-то все мои простенькие скрипты не работают. Бутылки кстати все лежат в паке в одной куче.

  2. Grandmaster

    Регистрация
    29.09.2004
    Адрес
    Order of Druids
    Сообщений
    2,674
    #2

    По умолчанию

    Попробуй вот этот:
    за работоспособность ответственность не несу.

    Надо прописать тип оружия.

    Код:
    Program Poisoning;
    {$Include Dll\msgconsts.uops}
    const
       CBinty = $0E21;  //bandages
       CTimeOut = 15000;
       CPoison = $0F0A; // poison bottle
       CWeapon = $0000; // poisoning weapon type
    var
       BackPackID, WeaponID, BintyID, PoisonID: LongInt;
       aMsgRes, aWait: LongInt;
       aList, aItem, aID, Count: LongInt;
       max_hit, i: LongInt;
       aName: String;
    
    function MessageBox(HWND: LongInt; aText: PChar; Caption: PChar; uType: Word): Longint; external 'MessageBoxA@user32.dll stdcall';
    
    function ProcessMessages: LongInt;
    var st: String;
    begin
      Result:=0;
      st:=_lastmsg; 
      If Pos('to what do', st)<>0 Then Result:=1;
      If Pos('what poison', st)<>0 Then Result:=1;
      If Pos('your skill', st)<>0 Then Result:=2;
      If Pos('disconnect', st)<>0 Then Result:=100;
    end;
    
    begin 
      ClrScr;
       max_hit := _hits;
       GetGumpsList(aList);
       GetListCount(aList, Count);
       If Count=0 Then FreeObjectsList(aList);
       For i:=0 to Count-1 do
        begin
         GetListItem(aList, i, aItem, aName);
         If FindObject(aItem, CWeapon, aID) Then
           begin
            BackPackID := aItem;
            Break;
           end;
        end; 
      If not FindObject(BackPackID, CWeapon, WeaponID) Then Exit;
    
      repeat
        SetLastSkill(sk_Poisoning);
        SendKey(k_F4);      // use lastskill
        WaitForTarget(2000);
        aWait:=0;
        Delay(500);
        Repeat
         Delay(200);
         aWait:=aWait+200;
         aMsgRes:=ProcessMessages; 
        Until (aMsgRes<>0) or (aWait>CTimeOut);
        SetLastTarget(WeaponID);
        SendKey(k_F9);  // last target
        aWait:=0;
        Delay(500);
        Repeat
         Delay(200);
         aWait:=aWait+200;
         aMsgRes:=ProcessMessages; 
        Until (aMsgRes<>0) or (aWait>CTimeOut);
        Delay(1000);
        If not FindObject(BackPackID, CPoison, PoisonID) Then Exit;
        SetLastTarget(PoisonID);
        SendKey(k_F9); // last target
        WriteLn('Use: '+IntToStr(WeaponID)+' '+IntToStr(PoisonID));
        Delay(5000);
        If (_hits < max_hit-50) Then While (_hits < max_hit) Do
        If FindObject(BackPackID, CBinty, BintyID) Then
         begin
          SetLastObject(CBinty, BintyID);
          SendKey(k_F11);  // lastobj-wait-targetself
          Delay(3500); 
         end;
      until not FindObject(BackPackID, CPoison, PoisonID);
    end.
    Бинды:
    Код:
    F4 use lastskill 
    F9 last target 
    F11 lastobject-waitfortarget-targetself

  3. TKD ITF

    Регистрация
    24.07.2005
    Адрес
    [Salib El-Lejl]
    Сообщений
    4,411
    #3

    По умолчанию

    Напомни плиз какой командой тип узнать? А то нифига не помню, мне казалось, что .info, но что-то не получается)

  4. TKD ITF

    Регистрация
    24.07.2005
    Адрес
    [Salib El-Lejl]
    Сообщений
    4,411
    #4

    По умолчанию

    А вот ещё можно этот скрипт без хила сделать? Тупо чтобы он только юзал скилл и травил оружие.

  5. Expert
    [Banned]
    Регистрация
    05.01.2009
    Сообщений
    652
    #5

    По умолчанию

    Цитата Сообщение от Clash
    А вот ещё можно этот скрипт без хила сделать? Тупо чтобы он только юзал скилл и травил оружие.
    а яд с себя ты как снимать будешь?

  6. TKD ITF

    Регистрация
    24.07.2005
    Адрес
    [Salib El-Lejl]
    Сообщений
    4,411
    #6

    По умолчанию

    Хилером

  7. Grandmaster

    Регистрация
    29.09.2004
    Адрес
    Order of Druids
    Сообщений
    2,674
    #7

    По умолчанию

    Код:
    dagger, оба положения
    $0f52
    $0f51
    Код:
    Program Poisoning;
    {$Include Dll\msgconsts.uops}
    const
       CTimeOut = 15000;
       CPoison = $0F0A; // poison bottle
       CWeapon = $0f52; // poisoning weapon type
    var
       BackPackID, WeaponID, PoisonID: LongInt;
       aMsgRes, aWait: LongInt;
       aList, aItem, aID, Count: LongInt;
       i: LongInt;
       aName: String;
    
    function MessageBox(HWND: LongInt; aText: PChar; Caption: PChar; uType: Word): Longint; external 'MessageBoxA@user32.dll stdcall';
    
    function ProcessMessages: LongInt;
    var st: String;
    begin
      Result:=0;
      st:=_lastmsg;
      If Pos('to what do', st)<>0 Then Result:=1;
      If Pos('what poison', st)<>0 Then Result:=1;
      If Pos('your skill', st)<>0 Then Result:=2;
      If Pos('disconnect', st)<>0 Then Result:=100;
    end;
    
    begin
      ClrScr;
       GetGumpsList(aList);
       GetListCount(aList, Count);
       If Count=0 Then FreeObjectsList(aList);
       For i:=0 to Count-1 do
        begin
         GetListItem(aList, i, aItem, aName);
         If FindObject(aItem, CWeapon, aID) Then
           begin
            BackPackID := aItem;
            Break;
           end;
        end;
      If not FindObject(BackPackID, CWeapon, WeaponID) Then Exit;
    
      repeat
        SetLastSkill(sk_Poisoning);
        SendKey(k_F4);      // use lastskill
        WaitForTarget(2000);
        aWait:=0;
        Delay(500);
        Repeat
         Delay(200);
         aWait:=aWait+200;
         aMsgRes:=ProcessMessages;
        Until (aMsgRes<>0) or (aWait>CTimeOut);
        SetLastTarget(WeaponID);
        SendKey(k_F9);  // last target
        aWait:=0;
        Delay(500);
        Repeat
         Delay(200);
         aWait:=aWait+200;
         aMsgRes:=ProcessMessages;
        Until (aMsgRes<>0) or (aWait>CTimeOut);
        Delay(1000);
        If not FindObject(BackPackID, CPoison, PoisonID) Then Exit;
        SetLastTarget(PoisonID);
        SendKey(k_F9); // last target
        WriteLn('Use: '+IntToStr(WeaponID)+' '+IntToStr(PoisonID));
        Delay(4000);
      until not FindObject(BackPackID, CPoison, PoisonID);
    end.

  8. TKD ITF

    Регистрация
    24.07.2005
    Адрес
    [Salib El-Lejl]
    Сообщений
    4,411
    #8

    По умолчанию

    Спасибо большое! Всё работает!) Топик можно клоуз. Блин, Маньяк, чтобы я без тебя делал) ещё раз благодарю!

  9. #9

    По умолчанию

    а это для какой проги макрос?

  10. Valaraukar
    Аватар для Ar-Farazon
    Регистрация
    18.04.2004
    Адрес
    Forum administrator.
    Сообщений
    3,253
    #10

    По умолчанию

    УOCкрипт.
    Я в своё время качал на пилоте в титан плите=плевал я на необходимость снимать с себя яд, само отхиливалось. Система была другая - персонаж брал в себя демоном бутылки и НС , догоняя себя до состояния "ходить не могу" при помощи хлопка, варил эти самые пойзоны, выпадающие ему под ноги и тыкал таргетом на указанные координаты выпадения бутылок и прилоченного меча. Заодно алхимия качалась. Никаких замудрёных проверок цвета не требовалось, но он и не был полностью автономен - раз в сколько-то там надо было повторять операцию с полиморфом и запихиванием в себя найтшейда и бутылок.

    double_left 41, 651 \\ НС в паке.
    wait 1400
    double_left 146, 66 \\ иконка в меню бутылки яда, чтоб сварить.
    wait 13000
    send Delete \\ Поидее, юз скилл пойзонинг.
    wait 2000
    left 427, 317 \\координаты бутылки под ногами
    wait 2000
    left 397, 304 \\прилоченная железка
    wait 5000
    send Backspace \\ поидее, это бинд спирит спика. Я вообще любил, чтоб всё разом качалось
    wait 1500
    double_left 919, 606 \\жратва в паке
    wait 500


    О чего нашёл в загашниках. Потратил некоторое время на вспоминание, что тут где означает, думаю, не совру
    Соврать могу только в 1 - я уже забыл, на что надо сначала кликать, на яд или железку.

  11. Master

    Регистрация
    19.05.2002
    Адрес
    little rough around the edges
    Сообщений
    1,401
    Нарушения
    0/1 (0)
    #11

    По умолчанию

    Очень, кстати, полезная мысля про пойзонинг и алху на перевесе... *ушел писать скрипт*

  12. #12

    По умолчанию

    double_left 299, 793 /едим
    wait 1000
    double_left 246, 749 //бинты
    wait 500
    left 382, 252 //кукла
    waitfortarget 2500
    if stam < 30 //
    double_left 241, 773 //стамина
    end_if
    что тут не так
    почему рефрешки пьёт каждый круг?

  13. Valaraukar
    Аватар для Ar-Farazon
    Регистрация
    18.04.2004
    Адрес
    Forum administrator.
    Сообщений
    3,253
    #13

    По умолчанию

    Первое - почему чар ждёт таргета 2,5 секунды ПОСЛЕ того, как хилит куклу? Откуда там таргет вообще может взяться? Вейт 500 удалять к чёртовой матери, вместо него ставить вфт - хотя я его ненавидел органически, и предпочитал выставлять именно само ожидание в зависимости от коннекта\лагов.
    Второе - уже не помню. Возможно, пилот не привязан к нужному окну и читает вовсе не те параметры
    Третье - зачем вообще рефрешки? %)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения