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

плиз хелп(пис+музыка)

тут можно задать вопрос по скриптингу
Post Reply
MuDaCk
Apprentice
Apprentice
Posts: 393
Joined: 10.10.2006 0:03
Contact:

плиз хелп(пис+музыка)

Post by MuDaCk »

это мой первый скрипт :oops: так что ошибку без помощи не найду :( ...

program MusicPeace;

Begin

UseObject($0EB2,backpack);
UseSkill('peacemaking');
WaitForTarget(1500);
TargetToObject(Self);

End.


пишет:

1:05:47: Compiling
1:05:47: Compiler: [Error] (peace.sc at 5:26): Invalid number of parameters
1:05:47: Compiling failed
1:05:47: Script peace.sc stoped successfuly
Edred
Moderator
Moderator
Posts: 559
Joined: 28.03.2006 21:29

Post by Edred »

UseObject(Findtype($0EB2,backpack));
MuDaCk
Apprentice
Apprentice
Posts: 393
Joined: 10.10.2006 0:03
Contact:

Post by MuDaCk »

у меня заработало!!!
:D спасибо EDREDу ! 8)
MuDaCk
Apprentice
Apprentice
Posts: 393
Joined: 10.10.2006 0:03
Contact:

Post by MuDaCk »

опять проблема!



program MusicPeace;

Begin
while true do
begin
UseObject(Findtype($0EB2,backpack));
UseSkill('peacemaking');
WaitForTarget(1500);
TargetToObject(Self);
end
End.



не может найти обьект :(
Edred
Moderator
Moderator
Posts: 559
Joined: 28.03.2006 21:29

Post by Edred »

Какой объект? точную мессагу кидай, а не твой ее перевод.
MuDaCk
Apprentice
Apprentice
Posts: 393
Joined: 10.10.2006 0:03
Contact:

Post by MuDaCk »

кароче в трабле разобрался 8) ! проблема была в том , что Steаlth не видел вещи из бекпака! :shock: а потом он их начал видеть :lol:
Miralex
Developer
Developer
Posts: 656
Joined: 11.03.2005 19:12
Contact:

Post by Miralex »

MuDaCK wrote:кароче в трабле разобрался 8) ! проблема была в том , что Steаlth не видел вещи из бекпака! :shock: а потом он их начал видеть :lol:
Бекпак постоянно открыт и переоткрывается при реконекте. Не мог он не видеть. Ты с чем-то другим напутал. :wink:
Edred
Moderator
Moderator
Posts: 559
Joined: 28.03.2006 21:29

Post by Edred »

Мог. В версии 96 мог. И реконнект здесь просто не причем. Вот пример:

Code: Select all

...
1:18:24: Взял еще 18 ингов из 21166
1:18:29: Взял еще 7 ингов из 21148
1:18:36: в мешке 158 щитов
1:18:37: Взял еще 18 ингов из 21141
1:18:37: Фигня какая-то, нет в паке ингов
1:18:37: Succesfully executed
1:18:37: Script bcUP.ps stoped successfuly
1:22:01: Compiling
1:22:01: Compiled succesfully
1:22:11: Взял еще 4 ингов из 21123
1:22:16: Взял еще 3 ингов из 21119
1:22:22: в мешке 1 щитов
...
Комментарий: скрипт на бс. Чар проверяет сколько ингов в паке после предыдущего крафта/физла, добирает с пола сколько надо (всего надо 18 ингов), пишет сообщение о кол-ве набранного в пак. Потом ищет эти инги в паке, если не находит - я забил сообщение "Фигня какая-то, нет в паке ингов" и скрипт завершается. После этого я его перезапустил (ничего в промежутке не делая) - он прекрасно инги в паке нашел, добрал 4 и стал из них крафтить.

Вот сам скрипт:

Code: Select all

Program bcUP;
// v.1.00b (c) Edred
// качаем BC на щитах. Куем их, складываем в мешки по 250 шт.

{$Include 'all.inc'}

var
ctime : TDateTime;
k : integer;
b : integer;
curbag : cardinal;
countinbag : integer;
tmpingot : cardinal;

const
//ToolsType = $1EBC;		// Инструмент тинкера
KiteShield = 18;			// сколько ингов на 1
TypeKite = $1B76;			// тип щитов
TypeIngots = $1BEF;			// тип ингов
EmptyBagBox = $40053D27;	// ящик с пустыми мешками
DestBagBox = $40053D34;		// сюда складываем мешки с щитами
BagType = $0E76;			// тип мешка

Begin
	FindDistance := 2;
	CancelMenu;
	AutoMenu('Blacksmithing', 'Shields'); 
	AutoMenu('Shields', 'heater shield');

	while not Dead do
	begin
		// возьмем новый мешок
		WaitConnection(3000);
		UseObject(EmptyBagBox);
		wait(1000);
		CheckSave;
		UseObject(DestBagBox);
		wait(1000);
		CheckSave;
		FindType(BagType, EmptyBagBox);
		if FindCount = 0 then
		begin
			Addtosystemjournal('Error: кончились мешки');
			exit;
		end;
		curbag := finditem;
		MoveItem(curbag,1,DestBagBox,0,0,0);
		wait(1000);
		CheckSave;
		UseObject(curbag);
		wait(1000);
		CheckSave;
		countinbag := 0;
		// поехали крафтить в него
		repeat
			// возьмем инготы
			waitconnection(5000);
			k := Count(TypeIngots);
			If k < KiteShield then
			begin
				FindType(TypeIngots, ground);
				if FindCount > 0 then
				begin
					b := KiteShield - k;
					if b = 1 then
						b := 2;
					if FindQuantity < b then
					begin
						Addtosystemjournal('Мало ингов на полу, выход');
						exit;
					end;
					Grab( FindItem, b );
					wait(1000);
					checksave;
					Addtosystemjournal('Взял еще ' + inttostr(b) + ' ингов из ' + inttostr(FindQuantity));
				end
				else
				begin
					Addtosystemjournal('Нет ингов на полу, выход');
					exit;
				end;
			end;
			tmpingot := FindType(TypeIngots,backpack);
			if tmpingot = 0 then
			begin
				Addtosystemjournal('Фигня какая-то, нет в паке ингов');
				exit;
			end;
			// крафтим
			if TargetPresent then CancelTarget;
			ctime := Now;
			k := 0;
			UseObject(ObjAtLayer(RHandLayer));
			WaitForTarget(5000);
			If TargetPresent then TargetToObject(tmpingot);
			repeat
				wait(100);
				k := k + 1;
				checksave;
			until (InJournalBetweenTimes('You put|failed', ctime, Now)<>-1) or (k > 300);
			// сбросим щит
			WaitConnection(3000);
			FindType(TypeKite, backpack);
			if Findcount > 0 then
			begin
				UseObject(DestBagBox);
				wait(1000);
				CheckSave;
				MoveItem(finditem,1,curbag,0,0,0);
				wait(1000);
				CheckSave;
				countinbag := countinbag + 1;
				Addtosystemjournal('в мешке ' + inttostr(countinbag) + ' щитов');
			end;
		until countinbag = 250;
	end;
End.
Edred
Moderator
Moderator
Posts: 559
Joined: 28.03.2006 21:29

Post by Edred »

Происходит это примерно раз в час...

Code: Select all

2:37:02: в мешке 150 щитов
2:37:03: Взял еще 18 ингов из 13107
2:37:10: в мешке 151 щитов
2:37:11: Взял еще 18 ингов из 13089
2:37:12: Фигня какая-то, нет в паке ингов
2:37:12: Succesfully executed
2:37:12: Script bcUP.ps stoped successfuly
2:37:29: Compiling
2:37:29: Compiled succesfully
2:37:40: Взял еще 6 ингов из 13071
2:37:46: Взял еще 7 ингов из 13065
2:37:53: в мешке 1 щитов
2:37:54: Взял еще 18 ингов из 13058
MuDaCk
Apprentice
Apprentice
Posts: 393
Joined: 10.10.2006 0:03
Contact:

Post by MuDaCk »

Miralex wrote:
MuDaCK wrote:кароче в трабле разобрался 8) ! проблема была в том , что Steаlth не видел вещи из бекпака! :shock: а потом он их начал видеть :lol:
Бекпак постоянно открыт и переоткрывается при реконекте. Не мог он не видеть. Ты с чем-то другим напутал. :wink:
при реконекте всё изменилось - Стелс начал видеть вещи в бекпаке так что бужет наука будущим поколениям :wink: :wink: :wink:
Edred
Moderator
Moderator
Posts: 559
Joined: 28.03.2006 21:29

Post by Edred »

Угу. Я тоже зашил в скрипт, приведенный выше дисконнект и коннект. После этого сразу начинает видеть итемы в бекпаке. Не видит он примерно один раз на 400-500 поисков.
Post Reply