Oskom Forums

Oskom Forums


Добро пожаловать на Oskom Forums.
 
 
Сейчас на шардах UO Oskom
 
+ Ответить в теме
Страница 1 из 2 1 2 ПоследняяПоследняя
Показано с 1 по 20 из 31
  1. Grandmaster
    Аватар для Gevorg
    Регистрация
    18.11.2004
    Адрес
    [Junior Brothers]
    Сообщений
    2,074
    #1

    По умолчанию Скрипты UOscript

    Данный топик создан для обмена скриптами для программы UOscript.
    Здесь Вы можете выкладывать свои собственные скрипты, а также просить других пользователей поделиться с Вами их творениями.
    Требования по оформлению выкладываемых скриптов:
    в сообщении, содержащем скрипт должны быть указаны:
    1. скилл, на который направлен скрипт*;
    2. вещь, производство которой заложено в скрипт (только для крафтовых скиллов);
    3. подробное описание клавиш, используемых в скрипте.
    4. Иные особенности необходимые для корректной работы скрипта

    Любые сообщения, не связанные с тематикой топика будут приравнены к флуду и оффтопику. Их автор понесет наказание, в соответствие с правилами форума.

    *в случае, если скрипт ориентирован на какое-либо действие, не направленное ни на развитие скилла, ни на производство какой-либо вещи необходимо дать полное описание этого действия.
    __________________________________________________ __
    Запрещено выкладывать любые полностью автоматические скрипты. В случае нарушения - сообщение, содержащее подобный скрипт будет удалено, а автору будет вынесено "устное предупреждение", в случае повтора - будет вынесено предупреждение, в дальнейших случаях - плюс.

  2. Grandmaster
    Аватар для Gevorg
    Регистрация
    18.11.2004
    Адрес
    [Junior Brothers]
    Сообщений
    2,074
    #2

    По умолчанию

    Официальный сайт программы UOscript:
    http://uoscript.nm.ru/

    Последнюю версию UOscript, в том числе Oskom Edition можно скачать:
    http://uoscript.nm.ru/files.html

    Некоторые готовые скрипты
    http://uoscript.nm.ru/scripts.html

    FAQ по ПвП настройке UOscript + основные ПвП скрипты:
    http://uoo.ru/phpBB/viewtopic.php?t=182014&022647

  3. Grandmaster
    [Banned]
    Регистрация
    12.06.2005
    Адрес
    [+]-=Рама=-[+] напиши в приписке СоТ и будь лахом! :D ____________
    Сообщений
    5,041
    #3

    По умолчанию Распитие Грейт Хелок :)

    Program DrinkHeal;
    {$include sysutils.uops}
    const
    HealType = 3852;
    HealColor = 00;
    var
    HealId : LongInt;
    begin
    if _FindObjectByColor(HealType,HealColor,HealID) then begin
    SetLastObject(HealType,HealID);
    SendKey(kLo);
    end else
    WriteLn('Out of Heal');
    end.


    на F1 у мя пробинден ласт обжект,
    вроде все,

  4. Grandmaster
    [Banned]
    Регистрация
    12.06.2005
    Адрес
    [+]-=Рама=-[+] напиши в приписке СоТ и будь лахом! :D ____________
    Сообщений
    5,041
    #4

    По умолчанию

    У кого есть скрипт на мининг , выложите плз


    и вообще, у кого есть какие КРАФТ скрипты- ВЫКЛАДЫВАЕМ!!!

  5. Особый отдел
    Аватар для Athrax
    Регистрация
    12.02.2004
    Сообщений
    7,451
    #5

    По умолчанию

    Никаких скриптов на мининг и лумбер шоп здесь не было =)

  6. Grandmaster
    Аватар для Gevorg
    Регистрация
    18.11.2004
    Адрес
    [Junior Brothers]
    Сообщений
    2,074
    #6

    По умолчанию

    Цитата Сообщение от Athrax
    Никаких скриптов на мининг и лумбер шоп здесь не было =)
    Я предупредил уже товарища.

  7. Master
    [Banned]
    Регистрация
    14.08.2005
    Адрес
    GM[H@D] / [Izmaylovo Hooligan'S]
    Сообщений
    1,027
    #7

    По умолчанию Re: Распитие Грейт Хелок :)

    Цитата Сообщение от R a m
    Program DrinkHeal;
    {$include sysutils.uops}
    const
    HealType = 3852;
    HealColor = 00;
    var
    HealId : LongInt;
    begin
    if _FindObjectByColor(HealType,HealColor,HealID) then begin
    SetLastObject(HealType,HealID);
    SendKey(kLo);
    end else
    WriteLn('Out of Heal');
    end.


    на F1 у мя пробинден ласт обжект,
    вроде все,
    Крутой папь, а вот ты не в курсе что если ты свой модуль не подключешь, твой скрипт пахать не будет? потому что функции *_FindObjectByColor* не существует скрипт на ламбер простой:Repeat Sendkey(k_F1);Delay(10000); Until False; =)))

  8. Grandmaster
    [Banned]
    Регистрация
    12.06.2005
    Адрес
    [+]-=Рама=-[+] напиши в приписке СоТ и будь лахом! :D ____________
    Сообщений
    5,041
    #8

    По умолчанию

    Snake!
    я конечно в скриптах не оч разбираюсь, но у мя все работает

  9. Apprentice

    Регистрация
    08.11.2005
    Адрес
    [SWARM] [Salib El-Lejl]
    Сообщений
    107
    #9

    По умолчанию

    Для крафта чего угодно:
    1) Создаем файл methods.uops в папке с uoscript.exe
    2) Его содержимое:
    Код:
    Function FindType(aType:Word): LongInt;
    var
      GL,H,C,aID,i: LongInt;
      S: String;
    begin
      GetGumpsList(GL);
      GetListCount(GL,C);
      for i:=0 to C-1 do
      begin
        GetListItem(GL,i,H,S);
        if FindObject(H,aType,aID) then Break;
      end;
      Result:=aID;
    end;
    
    Procedure MenuChoice(S1, S2: String);
    var
      i,H: LongInt;
      S: String;
    begin
      i:=0;
      while (i<30) and not FindCraftMenu(S1,H) do
      begin
        i:=i+1;
        Delay(100);
      end;
      i:=0;
      GetMenuItemName(H,i,S);
      while (pos(S2,S)=0) and (i<20) do
      begin	
        i:=i+1;
        GetMenuItemName(H,i,S);
      end;
      SetFirstItemIndex(H,i);
      LeftDoubleClick(57,73);
    end;
    3) Пример использования - делаем стилскины
    Код:
    Program Steelskin;
    {$include methods.uops}
    var
      id: LongInt;
    const
      aType = $0F84; // материал - гарлик
    begin
      id:=findtype(aType);
      while (id<>0) do
      begin
        SetLastObject(aType,id);
        SendKey(k_F1); // Last Object
        MenuChoice('What sort of potion','Steelskin');//Выбор меню
        Delay(15000);
        id:=findtype(aType);
      end;
    end.
    4) Переделать этот скрипт для своих потребностей нетрудно. Меняем тип материала, заголовок меню и выбор.
    Если надо несколько раз выбирать в меню - дописываем строки
    Код:
    MenuChoice('заголовок','что выбираем');

  10. #10

    По умолчанию Перекладывание Банок

    Народ,
    кому не лень, выложите пожалуйста скрипт для UOScript для складывания разбросанных банок в заданную точку.

    Идея такая: Когда банки намешались, сложить их друг на друга чтоб удобно было пить например...

  11. Grandmaster
    Аватар для Gevorg
    Регистрация
    18.11.2004
    Адрес
    [Junior Brothers]
    Сообщений
    2,074
    #11

    По умолчанию

    Я понимаю, что в принципе полноценный FAQ по языку скриптов написать для UOscriptа сложно, но все-таки, хотелось бы увидеть конкретные примеры по некоторым циклам действиям, которые будут приведены ниже.
    Часто находишь нужные скрипты на какое-либо действие, но все же есть нюансы, которые бы хотелось прописывать.
    Для наглядности буду писать циклы и действия как для пилота.

    1) Цикл делать до тех пор пока не будет: проверка по нескольким ластмесагам и показателям чара, таймеру (не знаю есть ли он в UOscriptе):

    set timer
    while_not (lastmsg 1) or (lastmsg 2) or (hits < str) or (timer > 5000)
    wait 100 // или какое-то действие
    end_while
    Надесюь для while, if, If_not все идэинтично.

    2)Перенос итемов c одной точки в другую.
    2.1) Проcто перетягиваем если известно где находитмя итем:

    drag 111,111 222,222 all

    2.2) Найти итем по типу и перенести в заданную точку
    в Пилоте это нереализовано.

    3) Метки для переходов в самом скрипте или в какой-либо процедуре скрипта.
    :start
    goto start
    gosub start

    Интересует именно метка, а не процедура.
    Относительно процедур, почему, если я делаю метку для отправки на процедуру до прописания самой процедуры, выдается ошибка. Это что так реально задумано, что отсылку на процедуру можно делать после написания самой процедуры? Очень не удобно. Это как-то обходится или исправляется.

  12. Master

    Регистрация
    25.05.2002
    Адрес
    одинокая Сволочь <Причинять добро и наносить пользу>
    Сообщений
    1,439
    #12

    По умолчанию

    Циклы с проверкой сообщений.
    Как показала практика, реакцию на сообщения лучше реализовавать не по LastMsg, а путем просмотра всех сообщений, поступивших с момента последнего действия.
    Для этого делаем пару конструкций.
    Код:
    //Константы событий (количество и значения по вкусу)
    const CYouLoosen = 1;
          CYouPut = 2;
          CNone = 0;
          CDisconnect = 100;
    Реализуем функцию, которая будет просматривать журнал.
    Код:
    function ProcessMessages: LongInt;
    var i, k: LongInt;
        st: String;
    begin
      Result:=CNone;
      GetJournalNew;
      GetJournalCount(k);
      If k<>0 Then 
        begin
          For i:=1 to k do
            begin
              GetJournalString(0, j_LowerCase, st);
              DeleteJournalString(0);
              If Pos('you fail', st)<>0 Then Result:=CYouLoosen;
              If Pos('you toss', st)<>0 Then Result:=CYouLoosen;
              If Pos('you put', st)<>0 Then Result:=CYouPut;
              If Pos('your skill', st)<>0 Then Result:=CYouPut;
              If Pos('disconnect', st)<>0 Then Result:=CDisconnect;
              If Pos('what do you want', st)<>0 Then Result:=CNone;
              // и т.д.
            end;
        end;
    end;
    Далее сам цикл.
    Код:
    const 
      CDelay = 10000;
    var 
      Res, k: LongInt;
     
    ...
    
    Repeat // Делаем пока не произойдет дисконнект
    
      {Тут производим какое-либо действие}
        
        k:=0;
        Repeat //Ждем пока действие не завершится или будет превышено время ожидания
          k:=k+200;
          Delay(200);
          Res:=ProcessMessages;
        Until (Res<>CNone) or (k>CDelay);
        
      {тут делаем обработку значения Res, если надо}
    
    Until (Res=CDisconnect)
    Можно написать функцию ProcessMessages на все случаи жизни и далее просто использовать в различных скриптах через Include. Данная система позволяет исключить сбои скриптов из-за пропуска нужного LastMsg.

  13. Grandmaster
    Аватар для Gevorg
    Регистрация
    18.11.2004
    Адрес
    [Junior Brothers]
    Сообщений
    2,074
    #13

    По умолчанию

    Спасибо...
    Раз уж заглянул Уоскрипт распознает сообщения на русском от сервака или тоже замарочки как и с пилотом?

  14. Master
    [Banned]
    Регистрация
    28.05.2006
    Адрес
    По стене ползет верблюд, Все коленки ободрал... Ну и пусть себе ползет! Йогурт сэмЭчки грызет ;)
    Сообщений
    1,284
    #14

    По умолчанию

    Срочно хелп, короче вот такой скрипт на обкладку
    left_down 961, 568
    end_script
    возможно зделать так чтобы когда подвинул пек, серавно таргет оставался ? ну просто очень тупо каждый рас после того как подвинул пек выставлять кординаты... плиз хелп

  15. • D-Tox •
    Аватар для C.C.C.P
    Регистрация
    17.08.2003
    Сообщений
    10,677
    #15

    По умолчанию

    Тут идёт обсуждение УОСкрипта, а не пилота =) А вообще, на пилоте это невозможно сделать =)

  16. #16

    По умолчанию

    Подскажите скрипт на реколл по руне

  17. #17

    По умолчанию Массив

    Подскажите пожалуйста как в уоскрипте заполнять архив данными, я имею ввиду как в паскале -
    arr:array[0..n] of integer = (1,2,3,4......);
    метод arr[0]=1,arr[2]=2....не подойдет
    И еще, как задать двумерный массив?

  18. #18

    По умолчанию

    у меня немного попроще вопрос =)) как написать в уопилоте , что бы он одевал новый кортик после того как старый разломалься? скажите пожалуйста... я знаю 1 : нфдо набирать [msg] и что то ещё... а что я ненаю =(

  19. Master

    Регистрация
    25.05.2002
    Адрес
    одинокая Сволочь <Причинять добро и наносить пользу>
    Сообщений
    1,439
    #19

    По умолчанию Re: Массив

    Цитата Сообщение от BaZz
    Подскажите пожалуйста как в уоскрипте заполнять архив данными, я имею ввиду как в паскале -
    arr:array[0..n] of integer = (1,2,3,4......);
    метод arr[0]=1,arr[2]=2....не подойдет
    И еще, как задать двумерный массив?
    Код:
    type
     TPoint  = record
                X : longint;
                Y : longint;
               end;
    
     TTile    = record
                 TerrType : LongInt;
                 Status   : LongInt;
                 value    : Extended;
                 gval     : Extended;
                 hval     : Extended;
                 fval     : Extended;
                 PrevX    : LongInt;
                 PrevY    : LongInt;
                end;
    const
     CMaxBoundSize = 500;
     CMaxMapSize = 122;
    
    type
     TMapString  = array of TTile;
     TMap  = array of TMapString;
     TBound   = array of TPoint;
     TPath = array of TPoint;
    
    var
      Map: TMap;
      Bound: TBound;
      Courses: TBound;
      Path: TPath;
      kk : Array of Extended;
      Start,Finis, ctmp: TPoint;
      Found: Boolean;
    
    procedure InitArrays(aMaxSize, aMaxBound: LongInt);
    var i, j: LongInt;
    begin
      SetArrayLength(Map, aMaxSize);
      For i:=0 to aMaxSize-1 do SetArrayLength(Map[i], aMaxSize);
      for i:=1 to aMaxSize-1 do
        for j:=1 to aMaxSize-1 do
          begin
            Map[i][j].TerrType:=ttClear;
            Map[i][j].Value:=1;
            Map[i][j].Status:=tsUnvisited;
          end;
       for i:=0 to aMaxSize-1 do
         begin
           Map[i][0].TerrType:=ttWall;
           Map[0][i].TerrType:=ttWall;
           Map[i][aMaxSize-1].TerrType:=ttWall;
           Map[aMaxSize-1][i].TerrType:=ttWall;
         end;
      SetArrayLength(Bound, aMaxBound);
      SetArrayLength(kk, 2);
      kk[0]:=1.42;
      kk[1]:=1.0;
      SetArrayLength(Courses, 4);
      Courses[0].X:=0; Courses[0].Y:=-1;
      Courses[1].X:=1; Courses[1].Y:=0;
      Courses[2].X:=0; Courses[2].Y:=1;
      Courses[3].X:=-1; Courses[3].Y:=0;
    end;

  20. Journeyman
    [Banned]
    Регистрация
    20.11.2006
    Адрес
    Spawn вернулсо ну игратцо не буду некотрое время ибо без ЗПО Я БОТТТТТТТ И снова Гс[Speed*S Powers]
    Сообщений
    242
    #20

    По умолчанию

    Скрипти харашо ну лучше руками играть

Ваши права

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