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

Досвидание (прощальное фиесто)

Only working scripts
volhram
Novice
Novice
Posts: 73
Joined: 25.08.2006 22:47

Post by volhram »

http://stealth.od.ua/forum/viewtopic.php?t=1220
  • function FindTypeEx(ObjType: Word; Color: Word; Container: Cardinal; InSub: Boolean): Cardinal; // Ищет объект указанного типа ObjType и цвета Color в указанном контейнере
    Если указать ObjType или Color = $FFFF, то ищет любого типа.
    Container = Backpack - ищем в бекпаке.
    Container = Ground - ищем на земле.
    Container = $FFFFFFFF - ищем в бекпаке и на земле.
    Если InSub = True, то ищем в подсумках.
    Возвращает ID вещи.
    Если контейнер не существует, то ищем в бекпаке
    Если обьект найден, то Result = FindItem
    Если ничего не найдено то результат нулевой!
    Во время поиска учитываются FindDistance и FindVertical

и насколько я вижу в выложенном скрипте всётаки FindType(vxcol,Backpack);
Dsk Roe
Posts: 6
Joined: 30.01.2011 3:19

Post by Dsk Roe »

Помоги скрипт на тотал ману ну и большенство скриптов, выдает ету ошибка Unknown identifier 'FullDisconnect' она ешё во всех скриптах вылезает
а уберая фулл дисконет он делает один раз ману и всё потом скрипт выключаеться ставлю while not Dead do скрипт не выключаеться но повтора действий не происходит. помоги начинаюшему нубу! Зарание спасибо
Maruk1
Neophyte
Neophyte
Posts: 13
Joined: 14.02.2011 21:52

Post by Maruk1 »

22:38:35:210 [Ilfrin]: Character Ilfirin Connected.
22:38:35:730 [Ilfrin]: Compiling
22:38:35:745 [Ilfrin]: Compiled succesfully
22:38:40:893 [Ilfrin]: Добрали 10 реагентов. На данный момент имеем 6 штук. Осталось ещё 8700 реагентов.
22:38:41:895 [Ilfrin]: Character Ilfirin Disconnected.
22:44:47:635 [Ilfrin]: Succesfully executed
22:44:47:637 [Ilfrin]: Script алхимия.sc stopped successfuly
22:44:49:503 [Ilfrin]: UO MUL-Files path incorrect, some functions disabled (move, map, clicocs etc.)

Скрипт на алхимию.
Народ подскажите в чем проблема, я так понял что с mul файлами что то не то, выключены функции, а вот как их включить ?
bugger
Novice
Novice
Posts: 86
Joined: 02.02.2011 11:21

Post by bugger »

надо указать путь к мул файлам, не кажется?
Maruk1
Neophyte
Neophyte
Posts: 13
Joined: 14.02.2011 21:52

Post by Maruk1 »

это я так понял путь к директории уо? Если да то я указал, а скрипт при доборе регов всеровно дисконектит ((
bugger
Novice
Novice
Posts: 86
Joined: 02.02.2011 11:21

Post by bugger »

Смотри логику. Тебя дисконнектит, причем у тебя все нормально, то есть никаких ошибок нет. Это значит, что AlchemyFlag = false.

То бишь у тебя какая-то магия получается, так как по логике скрипта, у тебя должно быть выведено сообщение, что-то вроде
AddToSystemJournal('Ошибка во время добора реагентов.');

так же имеется параметр q в назначение которого не хочу вникать)
Maruk1
Neophyte
Neophyte
Posts: 13
Joined: 14.02.2011 21:52

Post by Maruk1 »

иногда выдается сообщение "Ошибка во время добора реагентов" а других скриптов на алхимию нету ?
А в чате сообщение перед дисконектом
00:26:29:060] System: You can't see the target
bugger
Novice
Novice
Posts: 86
Joined: 02.02.2011 11:21

Post by bugger »

Maruk1 wrote:иногда выдается сообщение "Ошибка во время добора реагентов" а других скриптов на алхимию нету ?
А в чате сообщение перед дисконектом
00:26:29:060] System: You can't see the target
Ошибка вылезает потому что у тебя меньше 100 реагентов или меньше 100 бутылок в сумке. You can't see the target - по поводу этого не могу тебе ничего сказать, в скрипте не нашел ни одного таргета.

Другие скрипты на алхимию? Ты либо пользуешься easyUo, либо пишешь свой скрипт на стелс. Если хочешь чтобы все было "няшно" нужно поучиться чуть-чуть, а не так "дайте мне программульку, чтобы нажал 2 кнопАчки и збз скриптяка вышла".
Maruk1
Neophyte
Neophyte
Posts: 13
Joined: 14.02.2011 21:52

Post by Maruk1 »

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

[12:14:39:060] Ilfirin: *You toss the failed mixture from the mortar*
[12:14:39:520] Ilfirin: You toss the failed mixture from the mortar, unable to create a potion from it.
[12:14:39:521] Ilfirin: *You toss the failed mixture from the mortar*
[12:14:40:541] Ilfirin: You toss the failed mixture from the mortar, unable to create a potion from it.
[12:14:40:545] Ilfirin: *You toss the failed mixture from the mortar*
[12:14:41:563] Ilfirin: You toss the failed mixture from the mortar, unable to create a potion from it.
bugger
Novice
Novice
Posts: 86
Joined: 02.02.2011 11:21

Post by bugger »

сжигает все реги скорей всего потому что ты возможно круто слишком для своего скила задал, попробуй какой-нибуд другой ботл сделать
Maruk1
Neophyte
Neophyte
Posts: 13
Joined: 14.02.2011 21:52

Post by Maruk1 »

у меня скилл гм, он сжигает из-за того что цикл сбивается, тоесть не выдерживает паузу для крафта и начинает новый ботл разливать.
bugger
Novice
Novice
Posts: 86
Joined: 02.02.2011 11:21

Post by bugger »

Можешь попробовать изменить вот там где выделил допустим на 3000. 1000 = 1 секунда. 3 секунды должно быть достаточно. Хотя по логике он вообще должен дофига ждать.

Code: Select all


Begin
AlchemyFlag := true;
CancelMenu;
wait(500)
Automenu('What',WhatYouDo);
repeat

check_reag;
check_bootle;

UseObject(FindType(TypReag,Backpack))
Wait(500);
STime := Now;
   repeat
[color=red]   wait(500)[/color]
   q := q+1;
   checksave;
   until (InJournalBetweenTimes('You put', STime, Now)<>-1) or (InJournalBetweenTimes('You toss', STime, Now)<>-1) or (AlchemyFlag = false) or (q > 300);

craft_bottle;

until (AlchemyFlag = false) or Dead;

FullDisconnect;

End.
Maruk1
Neophyte
Neophyte
Posts: 13
Joined: 14.02.2011 21:52

Post by Maruk1 »

С задержкой то все норм, я говорю про то что скрипт сбивается и вот тогда он начинает физлить
bugger
Novice
Novice
Posts: 86
Joined: 02.02.2011 11:21

Post by bugger »

Ну а это уже сам исправляй :) Глюки всякие бывают)
RaTaMaHaTTa
Novice
Novice
Posts: 89
Joined: 16.06.2008 12:22
Location: <||TORCHKI||>
Contact:

Post by RaTaMaHaTTa »

Вот скрипт на пойзоны, переделать под любой другой потион 10 секунд.

Code: Select all

Program Alchemy; 
//////////////////////////////////////////////////////////////////////////
// Алхимия Шард drw.ru                                                       //
//////////////////////////////////////////////////////////////////////////

{$Include 'all.inc'} 
var 
 TimeStart : TDateTime;
 k : integer;
 

const 
WhatYouDo = 'Deadly Poison'; // Что делаем 
TypBottles = $0F0E;  // Тип пустых бутылок 
TypPotion = $0F0E;   // Тип готовых бутылок 
ColPotion = $0998;   // Цвет готовых бутылок 
TypReag= $0F88;  // Тип реагентов из которых делаем //Глазки-0F87 //NS-0F88 //BP-0x0F7A//
CountRegs = 600; // Какое количество реагентов брать 
CountBottles = 100; // Какое количество пустых бутылок брать 
Sunduk_reags_bottels = $400CAC50; // ИД сундука с которого берем бутылки и реагенты 
Sunduk_craft = $400CAC50;  // ИД сундука в который кладем готовый продукт 
hide=0; //Встаем в хайди или нет. 0-нет 1-да



procedure Check_World_Save;
 begin
  if InJournal('saving')<>-1 then
   begin
    ClearJournal;
    k:=0;
    repeat
      wait(10000)
      k:=k+1;
      AddToSystemJournal('World is saving more than '+IntToStr(k*10)+' seconds.');
    until (InJournal('data')<>-1) or (k>10)
   end
 end;


 procedure Check_Hidden;
begin
 if not Hidden then
  begin
   while not Hidden do
    begin
      SetWarMode(False);
      useskill('Hiding');
      wait(3600);
   end;
    AddToSystemJournal('Спрятались.');
 end;
end;


procedure check_reag; 
 begin 
UseObject(Sunduk_reags_bottels);
  FindType(TypReag,Backpack); 
  if (FindCount=0) OR (Count(TypReag)<10) then 
    begin 
      UseObject(Sunduk_reags_bottels); 
      wait(250); 
      FindType(TypReag,Sunduk_reags_bottels); 
      if (FindCount>0) and (CountEx(TypReag,$0000,Sunduk_reags_bottels)>100) then 
        begin 
          MoveItem(FindItem,CountRegs,Backpack,0,0,0); 
             wait(1000);
          AddToSystemJournal('Добрали '+IntToStr(CountRegs)+' реагентов. На данный момент имеем '+IntToStr(Count(TypReag))+' штук. Осталось ещё '+IntToStr(CountEx(TypReag,$0000,Sunduk_reags_bottels))+' реагентов.'); 
        end 
      else 
        AddToSystemJournal('Ошибка во время добора реагентов.'); 
   exit;
    end;
 end; 

procedure check_bootle; 
 begin 
UseObject(Sunduk_reags_bottels);
  FindTypeEx(TypBottles,$0000,Backpack,false); 
  if (FindCount=0) OR (Count(TypBottles)<5) then 
    begin 
      UseObject(Sunduk_reags_bottels); 
      wait(250); 
      FindTypeEX(TypBottles,$0000,Sunduk_reags_bottels,false); 
      if (FindCount>0) and (CountEx(TypBottles,$0000,Sunduk_reags_bottels)>100) then 
        begin 
          MoveItem(FindItem,CountBottles,Backpack,0,0,0); 
              wait(1000);
          AddToSystemJournal('Добрали '+IntToStr(CountBottles)+' бутылок. На данный момент имеем '+IntToStr(CountEx(TypBottles,$0000,backpack))+' штук. Осталось ещё '+IntToStr(CountEx(TypBottles,$0000,Sunduk_reags_bottels))+' бутылок.'); 
        end 
      else 
        AddToSystemJournal('Ошибка во время добора бутылок.'); 
   exit;
  end;
 end; 
 
 

procedure craft_bottle; 
 begin 
      FindTypeEx(TypPotion,ColPotion,Backpack,false); 
      if (FindCount>0) AND (CountEx(TypPotion,ColPotion,backpack) >=  10) then 
        begin 
          MoveItem(FindItem,GetQuantity(FindItem),Sunduk_craft,0,0,0); 
          wait(800); 
        AddToSystemJournal(IntToStr(CountEx(TypPotion,ColPotion,Sunduk_craft))+' '+WhatYouDo+ ' на данный момент в сундуке.' );
      end; 
 end;






Begin
 ClearJournal;
 while not Dead do
   begin    
     check_reag;
     check_bootle; 
     if hide=1 then Check_Hidden;

     if Weight>500 then exit;    ///Если перебор веса выключение

     k:=0;
     TimeStart:=Now;
     UseObject(FindType(TypReag,Backpack)) 
     WaitMenu('What',WhatYouDo); 
     repeat
       wait(100);
       k := k + 1;
       Check_World_Save;
     until (InJournalBetweenTimes('You put', TimeStart, Now)<>-1) or (InJournalBetweenTimes('You toss', TimeStart, Now)<>-1) or (k > 300);
     wait(100);
        craft_bottle; 
        ClearJournal;
  end;
End.
Post Reply