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

Bowcraft+Camping [Bestuo]

Only working scripts
Post Reply
Akad3m1k
Neophyte
Neophyte
Posts: 16
Joined: 12.12.2016 14:45

Bowcraft+Camping [Bestuo]

Post by Akad3m1k »

Приветствую, встала задача прокачать кемпинг и боукрафт, накидал скрипт, только вот проблема в том, что если даггер в руке скрипт его не видит(решил положив еще 1 дагер в пак)но теперь появляется флуд из крафтменюшек. И иногда кидает костер под себя но не прожимает, со временем появляется стак костров, решил двойным использованием useobject(Finditem) вконце, но этож не правильно?)

Работа скрипта :
Повторять по жив
Чар берет из сундука 1 лог
Крафтит костер
Кидает под ноги
Зажигает

Code: Select all

program bowcraft_camping;

const
Sunduk = $40681966;
Log = $1BDD;
Dagger = $0F51;
Knlg = $0DE1;
Begin
  repeat
    FindType(Log,Sunduk);
    if (FindQuantity > 1) then
    MoveItem(finditem,1,Backpack,0,0,0);
    UseObject(FindType(Dagger,backpack));
    FindType(Log, Backpack);
    WaitTargetObject(finditem);
    CancelMenu;
    WaitMenu('What', 'Kindling');
    WaitJournalLine(Now, 'You put', 2000);
    FindType($0DE1,Backpack);
    if FindCount > 0 then 
    wait(500);
    Drophere(finditem);
    if findtype(Knlg, Ground) > 0 then
    UseObject(FindItem);
    wait(500);
    if TargetPresent then CancelTarget;
  until dead;
end.
User avatar
Vizit0r
Developer
Developer
Posts: 3958
Joined: 24.03.2005 17:05
Contact:

Re: Bowcraft+Camping [Bestuo]

Post by Vizit0r »

но теперь появляется флуд из крафтменюшек.
если ты уж пишешь, то пиши полностью - "в графическом клиенте". В самом стелсе никакого флуда нет.
Уже сто раз писалось - нету технической возможности стелсом закрывать ненужные менюшки в клиенте. Вообще нет. Поэтому и флуд.
если даггер в руке скрипт его не видит
да ну?
ObjAtLayer(LhandLayer)
ObjAtLayer(RhandLayer)
И иногда кидает костер под себя но не прожимает
Потому что
Drophere(finditem);
срабатывает не прям мгновенно. А у тебя задержки нет, сразу дроп и тут же поиск.
"Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете". (с) Макконнелл, "Совершенный код".
Akad3m1k
Neophyte
Neophyte
Posts: 16
Joined: 12.12.2016 14:45

Re: Bowcraft+Camping [Bestuo]

Post by Akad3m1k »

Спасибо, исправил ошибки.
Bowcraft+Camping

Code: Select all

program bowcraft_camping;

const
Sunduk = $40681966;	//Сундук с логами
Log = $1BDD;
Dagger = $0F51;
Knlg = $0DE1;	//костерок
Begin
  repeat
    FindType(Log,Sunduk);	//ищем логи в сундуке
    if (FindQuantity > 1) then	//проверяем наличии
    MoveItem(finditem,1,Backpack,0,0,0); //перетаскиваем
    UseObject(ObjAtLayer(RhandLayer));	//Юзаем дагер в руке
    FindType(Log, Backpack);
    WaitTargetObject(finditem);	//таргетом на логи
    CancelMenu;
    WaitMenu('What', 'Kindling');	//крафтим костры
    WaitJournalLine(Now, 'You put', 2000);
    FindType($0DE1,Backpack);	//ищем костры
    if FindCount > 0 then 
    Drophere(finditem);	//кидаем под себя
	wait(500);
    if findtype(Knlg, Ground) > 0 then	//ищем костры на полу
    UseObject(FindItem);	//юзаем костерок
    wait(500); 
    if TargetPresent then CancelTarget;
  until dead;
end.
Скилл боукрафт вырос быстрее чем кемпинг, пришлось писать 2й.
Кемпинг с докрафтом костров(не по 1, а сразу пачкой)

Code: Select all

program camping_s_dokraftom;

const
Sunduk = $40681966;
Log = $1BDD;
Dagger = $0F51;
Knlg = $0DE1;
Begin
	repeat
    if findtype(Knlg, backpack) > 0 then
    begin    //Начинаем искать, кидать и поджигать костер под собой
	moveitem(finditem,1,Ground,GetX(self),GetY(Self),GetZ(Self));
    wait(300); 
	if findtype(Knlg ,Ground) >0 then
	UseObject(Finditem);
    end
    else       //Если Костров нет берем 700 логов и крафтим их.
    begin
	FindType(Log,Sunduk);
    if (FindQuantity > 1) then
    MoveItem(finditem,700,Backpack,0,0,0);  //перемещаем 700 логов в пак
    UseObject(ObjAtLayer(RhandLayer));
    FindType(Log, Backpack);
    WaitTargetObject(finditem); //таргет на логи
    CancelMenu;
    WaitMenu('What', 'Kindling'); //Крафтим костры  
    WaitJournalLine(Now, 'You put', 2000);
    if TargetPresent then 
    CancelTarget;
    end;
  until (GetSkillValue('Camping') = 100.0)
end.
Post Reply