Page 1 of 2
резка рыбы
Posted: 18.05.2008 13:37
by MeLFiS
Скрипт таков берет с пола 1 рыбу, режит ее дагером, полученые фиштейки ложит на пол ,помогите пожалуйсто написать имеютса 2 инклюда GetResFromGround и DropCrafts.
Posted: 18.05.2008 13:44
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.
Ну вот что у меня получилось исправте пожалуйсто чтобы было правильно
Posted: 18.05.2008 17:03
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.
Что-то типа этого, писал в окне ответа.
Posted: 18.05.2008 20:25
by MeLFiS
неа нечего вобше не происходит
Posted: 19.05.2008 21:13
by -=JoKeR=-
хз-хз
правь под себя...
Posted: 20.05.2008 22:10
by MeLFiS
жаль что больше некому помоч (
Posted: 21.05.2008 17:29
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.
Posted: 27.05.2008 21:28
by MeLFiS
он чегото не хочет брать по 1 рыбе берет токо по 2 (((
Posted: 28.05.2008 1:14
by Edred
Стопка, наверное, неподъемная. Есть такой глюк в УО. Надо в таких случаях брать по две, одну кидать обратно.
Posted: 28.05.2008 9:21
by AlexM2008
Интересно, а на земле резать нельзя
или принципиально брать и резать по ОДНОЙ?
Posted: 28.05.2008 11:04
by -=JoKeR=-
Ага, Edred точно подметил.
Бери по две и скидывай одну или не скидывай если не надо, или бери сколько можешь взять в пак.
Posted: 28.05.2008 11:48
by MeLFiS
AlexM2008 wrote:Интересно, а на земле резать нельзя
или принципиально брать и резать по ОДНОЙ?
Просто у на шарде если режиш по 1 рыбе то 7 фиштейков а если решиш 100 рыбы то 400 фиштейков выходит ))
Posted: 28.05.2008 14:47
by MeLFiS
15:51:40 [bura]: UseObject error: Object not finded.
15:51:40 [bura]: -= Ïîðåçàë =-
Пишет это и не режит рыбу .И да еше он берет две рыбы и если выбераеш скинуть одну рыбу он тоже скидвает две рыбы
Posted: 28.05.2008 16:10
by -=JoKeR=-
Тип даггера проверь, они бывают двух типов.
Если не поможет, попробуй вместо типа вписать ID.
Вот посморти как здесь зделано. Берёт 2 итема, скидывает один.
http://stealth.od.ua/forum/viewtopic.php?t=721
Posted: 28.05.2008 19:12
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 - название скрафченного (для сообщений)
//
Если количество указанного крафта в паке больше или равно заданного - то все скрафченное будет сброшено под ноги.
п.с.
Поделитесь инклюдами
