Forum in READ ONLY mode! All questions and discussions on Discord official server, invite link: https://discord.gg/VxsGzJ7 
	Атака монстра)
Атака монстра)
Поделитесь простеньким скриптиком)) что бы чар просто стоял на месте и атачил монстра с определенным типом)
			
			
									
									
						Пора бы уже такие скрипты самому(самой) писать...
но вообще описанных тобою условий не хватает для написания нормального скрипта, ведь нужно же атаковать до определённого момента(условия)...
Если то... Если это...
			
			
									
									
						Code: Select all
Program killer;
var
    monster : cardinal;
const
    Monstr := $0000; // Тип монстра
Begin
  repeat
    begin
      FindType(Monstr,ground);
      If FindCount > 0 then
        begin
          monster := FindItem;
          AddToSystemJournal('-= Монстр найден, атакую =-');
          Attack(monster);
          wait(5000);
          end
      Else
        begin
          AddToSystemJournal('-= Монстр не найден =-');
          wait(5000);
        end;
    end;
  until Dead;
End.Если то... Если это...
есть место шото типа шахты де респица твари с которых мне нужен лут
Вопрос:
как написать правильно шоб танк бежал в упор к монстру и убивал ево после чево лутил (нада шоб доганял тварь потомушо када мало хп тварь начинает тикать ).
Есле у ковото будет желание помоч в написании скрипта стучите в аську или оставляите свои контакты .
			
			
									
									Вопрос:
как написать правильно шоб танк бежал в упор к монстру и убивал ево после чево лутил (нада шоб доганял тварь потомушо када мало хп тварь начинает тикать ).
Есле у ковото будет желание помоч в написании скрипта стучите в аську или оставляите свои контакты .
[Ultima and Dota]-pro... Gamer
						это процедура охоты на быков и коров:
вообщем находит, догоняет, убивает,режет, собирает шкуры и миясо
времени все разжовывать нету, дерзай
			
			
									
									
						Code: Select all
procedure CowBojs;
var ic,ox,oy,o,w : integer;
    CowBull: array [1..4] of word;
    Corpse,Piles,Meat,Resourse,Dagger,Scission,trup,p : Word;
    Weapon,Shield : word;
    aTime : TDateTime;
begin // 0
CowBull[1]:=$00D8;// 216 cow black 8
CowBull[2]:=$00E7;// 231 cow brown
CowBull[3]:=$00E8;// 232 bull black 10*4(5)kg
CowBull[4]:=$00E9;// 233 bull brown
Corpse:=$2006;// 8198 Corpse cow or bull
Piles:=$1079;// 4217 Pile of Hides
Resourse:=$1081;// 4225 Cut Leather
Dagger:=$0F52; //  cliloc# 0x6962 = What do you want to use this item on?	1010018
Scission:=$0F9F; // Scission 3999
Weapon:=$26BC; // Scepter 9916
Shield:=$1BC4; // Shield 7108
Meat:=$09F1; // Cut Raw Ribs 2545
    if isWarMode(Self) = true Then SetWarMode(false);
    addtosystemjournal('cowbojs');
    CheckSave;
    UseObject(BackPack);
    wait(2000);
    
    ignorereset;
    Addtosystemjournal('Weapon '+IntToStr(GetType(ObjAtLayer(RhandLayer))));
    Addtosystemjournal('Shield '+IntToStr(GetType(ObjAtLayer(LhandLayer))));
    While GetType(ObjAtLayer(RhandLayer)) <> Weapon Do 
    begin
      unequip(RhandLayer);
      CheckSave;
      wait(500);
      if GetType(ObjAtLayer(RhandLayer)) = 0 then 
      begin 
        equipt(RhandLayer,Weapon);
        CheckSave;
      end;
    end;
    While GetType(ObjAtLayer(LhandLayer)) <> Shield Do 
    begin
      unequip(LhandLayer);
      CheckSave;
      wait(500);
      if GetType(ObjAtLayer(LhandLayer)) = 0 then 
      begin 
        equipt(LhandLayer,Shield);
        CheckSave;
      end;
    end;
    FindDistance := 10;
    For ic:=1 To 4 Do
    begin
      FindType(CowBull[ic],ground);
    
      Addtosystemjournal(IntToStr(FindCount));
      ox := 0;
      oy := 0;
      While (FindCount > 0) Do 
      begin // 1
        Addtosystemjournal('Где же Мясо??? '+IntToStr(FindCount));
        FindDistance := 1;
        While (FindDistance <= 10) do
        begin // 2
          FindType(CowBull[ic],ground);
          If (FindCount > 0) Then Addtosystemjournal('Мияссо '+IntToStr(FindCount));
          wait(100);
          o := FindItem;
          CheckSave;
        
          If o > 0 Then 
          begin // 3
            w := Weight;
            wait(1000);
            Addtosystemjournal('Мияссо 1 '+IntToStr(o)+' | x '+IntToStr(ox)+' | y '+IntToStr(oy)+' | d '+IntToStr(GetDistance(o)));
//            Addtosystemjournal('Овца 1 type '+IntToStr(GetType(o)));
            While (GetDistance(o) >= 0) and (w = Weight) Do
            begin // 4
              ox := GetX(o);
              oy := GetY(o);
              GotoXY2(ox,oy,1,true);
              wait(500);
              
                If (GetDistance(o) <= 2) Then
                begin // 5
                  CheckSave;
                  repeat
                    If TargetPresent Then CancelTarget;
                    Addtosystemjournal('o '+IntToStr(o));
                    Addtosystemjournal('ot '+IntToStr(GetType(o)));
                     Attack(o);
                     wait(500);
                     Addtosystemjournal('oo '+IntToStr(o));
                     Addtosystemjournal('oot '+IntToStr(GetType(o)));
                  until (GetType(o) = 0) or (GetDistance(o) > 2);
                    ignore(o);
                  CheckSave;
                  repeat
                    FindDistance := 2;
                    trup:=FindType(Corpse,Ground);
                    Addtosystemjournal('trup '+IntToStr(trup));
                    If TargetPresent Then CancelTarget;
                    UseObject(FindType(Dagger,BackPack));
//                    UseType(Dagger,$FFFF);
                    Addtosystemjournal('dagger '+IntToStr(FindType(Dagger,BackPack)));
                    Addtosystemjournal('daggert '+IntToStr(GetType(FindType(Dagger,BackPack))));
                    WaitForTarget(3000);
                    If TargetPresent Then 
                    begin
                      
                      TargetToObject(FindType(Corpse,Ground));
                      Addtosystemjournal('fi '+IntToStr(FindType(Corpse,Ground)));
                      Addtosystemjournal('fit '+IntToStr(GetType(FindType(Corpse,Ground))));
                    end;
                    UseObject(FindItem);
                    wait(1500);
//                    UOSay('.opencorpse');
                    FindTypeEx(Piles,$FFFF,p,True);
                    Addtosystemjournal('p '+IntToStr(FindItem));
                    Addtosystemjournal('pt '+IntToStr(GetType(FindItem)));
//                    Addtosystemjournal('Piles '+IntToStr(Piles));
                    Grab(FindItem,0);
                 until (w < Weight) or (trup <= 0) or (GetType(FindItem) = 0);
                   wait(1000);
                   w := Weight;
                   wait(1000);
                   CheckSave;
                 repeat
                   wait(1000);
                   FindTypeEx(Meat,$FFFF,p,True);
                   Grab(FindItem,0);
                 until (w < Weight) or (trup <= 0) or (GetType(FindItem) = 0);
                    ignore(trup);
                 CheckSave;
                 While (Weight >= 310) Do
                 begin
                   UseObject(BackPack);
                   wait(1500);
                   If TargetPresent Then CancelTarget;
                   UseObject(FindType(Scission,BackPack));
                   WaitTargetType(Piles);
                   wait(500);
                 end;
                end; // 5
            end; // 4
            FindDistance := 0;
            o := 0;
          end; // 3
          FindDistance := FindDistance + 1;
          wait(500);
        end; // 2
      wait(1000);
      FindType(CowBull[ic],ground);
      end; // 1
    end; // For
    CheckSave;
    While (count(Piles) > 0) Do
    begin
      UseObject(BackPack);
      wait(1500);
      If TargetPresent Then CancelTarget;
      UseObject(FindType(Scission,BackPack));
      WaitTargetType(Piles);
      wait(1000);
      if isWarMode(Self) = true Then SetWarMode(false);
    end;
end; // 0времени все разжовывать нету, дерзай
Вызов ходилки в процедуре есть, так что ходить долженproZak wrote:много непонятного в процедуре мнебы скриптик какоито де ета процедура задействована яб проанализировал шо к чему - а то допустим как он будет бегать без (без ходилки) и тд.
GotoXY2(ox,oy,1,true);
Судя по параметрам она более менее стандартная.
Прикрутить процедуру к скрипту - пару минут работы.
aka Trickster [YGG]
current version: 1.0 [RC3]
						current version: 1.0 [RC3]
-=JoKeR=- wrote:Пора бы уже такие скрипты самому(самой) писать...но вообще описанных тобою условий не хватает для написания нормального скрипта, ведь нужно же атаковать до определённого момента(условия)...Code: Select all
Program killer; var monster : cardinal; const Monstr := $0000; // Тип монстра Begin repeat begin FindType(Monstr,ground); If FindCount > 0 then begin monster := FindItem; AddToSystemJournal('-= Монстр найден, атакую =-'); Attack(monster); wait(5000); end Else begin AddToSystemJournal('-= Монстр не найден =-'); wait(5000); end; end; until Dead; End.
Если то... Если это...
Compiler: [Error] (монстер.txt at 5:12): is ('=') expected

Code: Select all
Program killer; 
const 
    Monstr = $0000; // Тип монстра 
Begin 
  repeat 
    begin 
      FindType(Monstr,ground); 
      If FindCount > 0 then 
        begin 
          monster := FindItem; 
          AddToSystemJournal('-= Монстр найден, атакую =-'); 
          Attack(monster); 
          wait(5000); 
          end 
      Else 
        begin 
          AddToSystemJournal('-= Монстр не найден =-'); 
          wait(5000); 
        end; 
    end; 
  until Dead; 
End.Невозможное возможнО!
						Извеняюсь недоглядел
			
			
									
									Code: Select all
Program killer; 
var monster : Cardinal;
const 
    Monstr = $0000; // Тип монстра 
Begin 
  repeat 
    begin 
      FindType(Monstr,ground); 
      If FindCount > 0 then 
        begin 
          monster := FindItem; 
          AddToSystemJournal('-= Монстр найден, атакую =-'); 
          Attack(monster); 
          wait(5000); 
          end 
      Else 
        begin 
          AddToSystemJournal('-= Монстр не найден =-'); 
          wait(5000); 
        end; 
    end; 
  until Dead; 
End.Невозможное возможнО!
						ходилка задействована стандартная 
GotoXY2(ox,oy,1,true); а на GotoXY(ox,oy,1,true); потому что в скрипте две одинаковые ходилки, первая в стелз режиме, вторая без
а все остальные типы и параметры вынесены в начало процедуры
в паке должены быть ножницы и даггер, а так же щит и оружие (последние можно выбрать свои типы и подставить)
а весь скрипт, это минер, довольно громадный, да и накручено там всего, так что наврятли будет желание перепахивать весь скрипт целиком.... а эта процедура всего лишь вызывается по таймеру (респа тварей) и вней все кроме ходилки включено (вроде бы)
писалось все давно, уже сам не помню, хотел как то подправить, дык вообще перестало работать... откуда берется переменная "р"- сам счаз понять немогу... но в журнал все правильно пишет...
если есть желание - разбирайтеся...
			
			
									
									
						GotoXY2(ox,oy,1,true); а на GotoXY(ox,oy,1,true); потому что в скрипте две одинаковые ходилки, первая в стелз режиме, вторая без
а все остальные типы и параметры вынесены в начало процедуры
в паке должены быть ножницы и даггер, а так же щит и оружие (последние можно выбрать свои типы и подставить)
а весь скрипт, это минер, довольно громадный, да и накручено там всего, так что наврятли будет желание перепахивать весь скрипт целиком.... а эта процедура всего лишь вызывается по таймеру (респа тварей) и вней все кроме ходилки включено (вроде бы)
писалось все давно, уже сам не помню, хотел как то подправить, дык вообще перестало работать... откуда берется переменная "р"- сам счаз понять немогу... но в журнал все правильно пишет...
если есть желание - разбирайтеся...



