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

резка рыбы

тут можно задать вопрос по скриптингу
MeLFiS
Novice
Novice
Posts: 147
Joined: 02.02.2008 12:21

резка рыбы

Post by MeLFiS »

Скрипт таков берет с пола 1 рыбу, режит ее дагером, полученые фиштейки ложит на пол ,помогите пожалуйсто написать имеютса 2 инклюда GetResFromGround и DropCrafts.
MeLFiS
Novice
Novice
Posts: 147
Joined: 02.02.2008 12:21

Post by MeLFiS »

Code: Select all

Program ruba; 

{$Include 'all.inc'} 
begin
FindDistance := 1; 
GetResFromGround($09CC,1,'рыба');

WaitTargetObject($09CC);
usetype($0F51);
wait(500)
DropCrafts($097A,7,'рыба);
End.
Ну вот что у меня получилось исправте пожалуйсто чтобы было правильно
-=JoKeR=-
Novice
Novice
Posts: 153
Joined: 10.02.2008 11:19
Location: [Forest Wars] Ode$$a

Post by -=JoKeR=- »

Code: Select all

Program FishKaput;

{$Include 'all.inc'} 

const

Fish = $09CC;
Steak = $097A;
Dagger = $0F51;

Begin 
While not Dead do
  FindDistance := 1;
  FindType(Fish,backpack);
  IF FindCount < 1 then
    begin
      checklag;
      checksave;
      GetResFromGround(Fish,1,'рыбы');
      wait(1000);
    end
  ELSE
    begin
      if TargetPresent then CancelTarget;
      UseObject(Dagger);
      WaitTargetObject(FindItem);
      AddToSystemJournal('-= Порезал =-');
      wait(1000);
      checklag;
      checksave;
      DropCrafts(Steak,7,'стэйков');
    end;
End.
Что-то типа этого, писал в окне ответа.
MeLFiS
Novice
Novice
Posts: 147
Joined: 02.02.2008 12:21

Post by MeLFiS »

неа нечего вобше не происходит
-=JoKeR=-
Novice
Novice
Posts: 153
Joined: 10.02.2008 11:19
Location: [Forest Wars] Ode$$a

Post by -=JoKeR=- »

хз-хз
правь под себя...
MeLFiS
Novice
Novice
Posts: 147
Joined: 02.02.2008 12:21

Post by MeLFiS »

жаль что больше некому помоч (
Ko
Posts: 9
Joined: 24.04.2008 19:48

Post by Ko »

а ты умри, сразу произойдет.. :-)

Code: Select all

While not Dead do 
  FindDistance := 1; 
а вот тут у тебя зацикливание происходит, не хватает begin...end

попробуй

Code: Select all

Program FishKaput; 

{$Include 'all.inc'} 

const   Fish = $09CC; 
        Steak = $097A; 
        Dagger = $0F51; 

begin 
  While not Dead do begin
    FindDistance := 1; 
    FindType(Fish,backpack); 
    IF FindCount < 1 then begin 
      checklag; 
      checksave; 
      GetResFromGround(Fish,1,'рыбы'); 
      wait(1000); 
    end else begin
      if TargetPresent then CancelTarget; 
      UseObject(Dagger); 
      WaitTargetObject(FindItem); 
      AddToSystemJournal('-= Порезал =-'); 
      wait(1000); 
      checklag; 
      checksave; 
      DropCrafts(Steak,7,'стэйков'); 
    end; 
  end;
End.
MeLFiS
Novice
Novice
Posts: 147
Joined: 02.02.2008 12:21

Post by MeLFiS »

он чегото не хочет брать по 1 рыбе берет токо по 2 (((
Edred
Moderator
Moderator
Posts: 559
Joined: 28.03.2006 21:29

Post by Edred »

Стопка, наверное, неподъемная. Есть такой глюк в УО. Надо в таких случаях брать по две, одну кидать обратно.
AlexM2008
Neophyte
Neophyte
Posts: 16
Joined: 23.05.2008 12:07
Contact:

Post by AlexM2008 »

Интересно, а на земле резать нельзя
или принципиально брать и резать по ОДНОЙ?
-=JoKeR=-
Novice
Novice
Posts: 153
Joined: 10.02.2008 11:19
Location: [Forest Wars] Ode$$a

Post by -=JoKeR=- »

Ага, Edred точно подметил.
Бери по две и скидывай одну или не скидывай если не надо, или бери сколько можешь взять в пак.
MeLFiS
Novice
Novice
Posts: 147
Joined: 02.02.2008 12:21

Post by MeLFiS »

AlexM2008 wrote:Интересно, а на земле резать нельзя
или принципиально брать и резать по ОДНОЙ?
Просто у на шарде если режиш по 1 рыбе то 7 фиштейков а если решиш 100 рыбы то 400 фиштейков выходит ))
MeLFiS
Novice
Novice
Posts: 147
Joined: 02.02.2008 12:21

Post by MeLFiS »

15:51:40 [bura]: UseObject error: Object not finded.
15:51:40 [bura]: -= Ïîðåçàë =-
Пишет это и не режит рыбу .И да еше он берет две рыбы и если выбераеш скинуть одну рыбу он тоже скидвает две рыбы
-=JoKeR=-
Novice
Novice
Posts: 153
Joined: 10.02.2008 11:19
Location: [Forest Wars] Ode$$a

Post by -=JoKeR=- »

Тип даггера проверь, они бывают двух типов.
Если не поможет, попробуй вместо типа вписать ID.
Вот посморти как здесь зделано. Берёт 2 итема, скидывает один.
http://stealth.od.ua/forum/viewtopic.php?t=721
AlexM2008
Neophyte
Neophyte
Posts: 16
Joined: 23.05.2008 12:07
Contact:

Post by AlexM2008 »

Если у тебя: const Dagger = $0F51;
то пробуй: usetype(Dagger,$FFFF);

Не вижу как работает GetResFromGround, может надежнее сделать:
findtype($Fish,ground);
if finditem > 0 then MoveItem(FindItem,2,Backpack,0,0,0);
Берет по 1 если в кучке меньше 18к, поэтому брать по 2.

а, увидел:
procedure DropCrafts(tmptyp : cardinal; tmpcnt : integer; tmpstr : string);
// tmptyp - тип скрафченного
// tmpcnt - количество (которое необходимо сбросить)
// tmpstr - название скрафченного (для сообщений)
// Если количество указанного крафта в паке больше или равно заданного - то все скрафченное будет сброшено под ноги.


п.с.
Поделитесь инклюдами :)
Post Reply