Page 1 of 1

Cooking for Forest Wars

Posted: 11.11.2006 17:17
by Edred
Встаем около форжи (ее сериал в скрипт), под ноги кидаем море рыбных сырых стейков. После прокачки выгребаем готовые... :lol:

Code: Select all

program CookingUp;
// Прокачка кукинга на рыбных стейках и форже
// (с) Edred, v.1.00 (первая и последняя)

{$Include 'all.inc'}

const
RawSteak = $097A;
HotSteak = $097B;
HowMinRawSteak = 2;
HowGetRawSteak = 100;
HowMaxHotSteak = 100;
Forge = $4004F0BD;

var
ctime : TDateTime;
k : integer;

	procedure GetSteak;
	begin 
		waitconnection(3000); 
		If Count(RawSteak) < HowMinRawSteak then 
		begin 
			FindType(RawSteak, ground); 
			if FindCount > 0 then 
			begin 
				k := FindQuantity; 
				Grab( FindItem, HowGetRawSteak ); 
				wait(1000); 
				checksave; 
				Addtosystemjournal('Взял еще ' + inttostr(HowGetRawSteak) + ' стейков из ' + inttostr(k)); 
			end 
			else 
			begin
				Addtosystemjournal('Нет стейков на полу, добавьте');
				repeat 
					wait(1000);
					waitconnection(3000);
					findtype(RawSteak, ground);
				until FindCount > 0;
				k := FindQuantity; 
				Grab(FindItem, HowGetRawSteak); 
				wait(1000); 
				checksave; 
				Addtosystemjournal('Взял еще ' + inttostr(HowGetRawSteak) + ' стейков из ' + inttostr(k)); 
			end; 
		end; 
	end;

	procedure DropSteak;
	begin 
		waitconnection(3000);
		If Count(HotSteak) >= (HowMaxHotSteak) then
		begin
			k := Count(HotSteak); 
			FindType(HotSteak, backpack); 
			while FindCount > 0 do 
			begin 
				Drop(FindItem, 0, 0, 0, 0); 
				wait(1000); 
				checksave; 
				Addtosystemjournal('Сбросил ' + inttostr(k) + ' стейков');
				waitconnection(3000);
				FindType(HotSteak, backpack); 
			end; 
		end; 
	end;

Begin
	FindDistance:=2;
	while true do
	begin
		waitconnection(5000);
		if TargetPresent then CancelTarget;
		if (WarMode = true) then SetWarMode(false);
		DropSteak;
		GetSteak;
		ctime := Now;
		if UseType(RawSteak,$FFFF) <> 0 then
		begin
			WaitForTarget(5000);
			If TargetPresent then TargetToObject(Forge);
			k := 0;
			repeat
				wait(100);
				k := k + 1;
			until (InJournalBetweenTimes('You burn|You put', ctime, Now)<>-1) or (k > 300);
		end;
		if GetSkillValue('Cooking') >= 100.0 then exit;
	end;	
End.

Posted: 06.06.2008 23:42
by proZak
Очень медлено жарит шоб както ускорить сей процес =)
а то придетсо скил качать месяцок

Posted: 07.06.2008 8:53
by -=JoKeR=-
негони
я выкачал помоему за день

Posted: 07.06.2008 10:21
by proZak
-=JoKeR=- wrote:негони
я выкачал помоему за день
Незнаю как у вас качаетсо, а у нас шоб выкачать до 100 сей скил нада 50К стейков по 1 пожарить, тоисть примерно 50К юзов учитываю скорость между тем как чар берет новый стейк с пола задержка (между пожаркой стейков велика точно незасекал но дето 10-15сек)
тоисть в минуту дето 5 стейков жарит в час 300-350стейков, за 24 часа дето 7-8К стейков .
Тоисть на прокачку уйдет дето дней 10 невыключая комп=)

Posted: 07.06.2008 12:59
by -=JoKeR=-
Ну быстрее в принципе не получится, там и так в скрипте задержки маленькие, по 1-й секунде.
Качай так, не всё же нашару качаться должно =)

Posted: 08.06.2008 1:38
by proZak
-=JoKeR=- wrote:Ну быстрее в принципе не получится, там и так в скрипте задержки маленькие, по 1-й секунде.
Качай так, не всё же нашару качаться должно =)
Дак я просто не поиму чо в макросе такие большые задержки между пожаркой , хотя все шо макрос делает ето берет стейк с пола и жарит, дропает и заново берет стейк (одно радует роботает без проблем)

Posted: 10.06.2008 0:50
by Edred
proZak wrote:Дак я просто не поиму чо в макросе такие большые задержки между пожаркой
В скрипте вообще пауз нету, точнее, есть динамические, то есть сразу после появления сообщения он начинает жарить следующий. Проверь внимательнее сообщения - наверняка у вас другие, вот скрипт и срабатывает по таймауту (таймаут в скрипте - то есть действия если не получили сообщения - 30 сек).
-=JoKeR=- wrote:там и так в скрипте задержки маленькие, по 1-й секунде.
Где ты нашел 1 сек? 100 мс - это 0,1 сек.

Posted: 10.06.2008 10:12
by -=JoKeR=-

Code: Select all

            k := FindQuantity; 
            Grab( FindItem, HowGetRawSteak ); 
            wait(1000); 
            checksave;
Ну вот например, и ещё есть...
Я знаю сколько будет 100 мс =)

Posted: 07.07.2009 7:59
by Marcus Wright
Подскажите как узнать сериал итема в игре...
Просто у меня не форжа, а камин+)))))

Кто может проверить скрипт вообще рабочий? А то дата поста 2006год, мож что нить изменилось=)


спасибо

Posted: 07.07.2009 9:35
by Vizit0r
обычно под разные шарды скрипты надо чуток править.

узнать айди можно через вкладку World, либо инжектом.

Posted: 07.07.2009 23:45
by Marcus Wright
Узнайл я айди... но всё равно скрипт не работает, затуп идёт после того как он пытается взять сто кусков рыбы в бекпак.
Может кто сможет подредактировать скрипт под абисс
вот айди камина $4000F0A4

зарание большое спасибо