Oskom Forums

Oskom Forums


Добро пожаловать на Oskom Forums.
 
 
Сейчас на шардах UO Oskom
 
+ Ответить в теме
Показано с 1 по 2 из 2
  1. Apprentice
    [Banned]
    Регистрация
    12.05.2005
    Сообщений
    159
    #1

    По умолчанию Программа которая бы делала скрин при появлении кого-либо...

    Такое возможно? как осуществить, если возможно?

  2. Master

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

    По умолчанию

    пока возможно...

    Код:
    Program ScreenPlayers;
    const CMan = $0190;
          CWoman = $0191;
          CScreenDoneFile = 'c:\screendone.ini';
          CScreensDir = 'd:\AnyDir\';
    var aList, aCreature, aID, atID: LongInt;
        k, i: LongInt;
        st, aSection: String;
        aType: Word;
        aFound: Boolean;
        aIni: LongInt;
    begin
    Repeat
      GetCharsList(aList, False);
      GetListCount(aList, k);
      aFound:=False;
      If k<>0 Then
        For i:=0 to k-1 do
          begin
            GetListItem(aList, i, aCreature, st);
            GetCharInfo(aCreature, aType, aID);
            If (aType=CMan) or (aType=CWoman) Then
              If not SectionExists(CScreenDoneFile, IntToStr(aID)) Then
                begin
                  aFound:=True;
                  WriteAsInteger(CScreenDoneFile, IntToStr(aID), 'ID', aID);
                end;
          end;
      If aFound Then TakeScreenShot(CScreensDir, 0, 100);
      
      OpenIniFile(CScreenDoneFile, aIni);
      If FirstSection(aIni, aSection, '') Then
        Repeat
          aFound:=False;
          ReadAsInteger(CScreenDoneFile, aSection, 'ID', atID);
          If k<>0 Then
            For i:=0 to k-1 do
              begin
                GetListItem(aList, i, aCreature, st);
                GetCharInfo(aCreature, aType, aID);
                If aID=atID Then aFound:=True;
              end;
          If not aFound Then EraseSection(CScreenDoneFile, aSection);
        Until not NextSection(aIni, aSection);
      CloseIniFile(aIni);
    Delay(2000);
    Until False;
    end.
    осматривает местность каждые 2 секунды... если видит Man или Woman делает скрин...
    запоминает, чьи скрины уже сделал и пока чар в зоне видимости, не скринит (чтобы диск не забивать)...
    если чар покидает зону видимости, "забывает" его, т.е. при следующем появлении опять снимет скрин...

    значение константы CScreensDir надо исправить на свое...

    окно УО, естественно, дожно быть видимым...

    http://uoscript.nm.ru
    скрипт будет работать и для незарегистрированных персонажей...

Ваши права

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