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

Help plz [нужна процедура на розгрузку]

тут можно задать вопрос по скриптингу
Post Reply
proZak
Novice
Novice
Posts: 78
Joined: 28.02.2008 0:08
Location: [Age of Power]
Contact:

Help plz [нужна процедура на розгрузку]

Post by proZak »

Собствено нужна процедура на розгрузку немогу собразить как написать!
Собствено розгрузка должна делать :
1 када у чара вес 500 начинает розгрузку;
2 есть к примеру 20 итомов разных;
3 8 из них нада вылажывать в сундук а 12 выкидывать в мусорку.

Большое спасиба тем кто поможет)
Acronym
Novice
Novice
Posts: 114
Joined: 10.05.2005 18:42
Location: Odessa, NDW
Contact:

Post by Acronym »

1)Ввести в скрипт константу типа MaxWeight = 500;

2)Написать процедуру типа UnLoad;
Итемы удобно представить как массив (сначала нужные предметы, потом ненужные)
Элементы этого массива мы потом
for k := 0 to 7 do
... будем скидывать в сундук, а
for k := 8 to 19 do
... будем скидывать в trash.

3)Потом в скрипте проверять больше ли вес чем MaxWeight и если да, то вызывать процедуру выгрузки UnLoad;
if (Weight > MaxWeight) then
UnLoad;
...

Массивы предметов можно увидеть в скриптах на lumber и mining
aka Trickster [YGG]
current version: 1.0 [RC3]
proZak
Novice
Novice
Posts: 78
Joined: 28.02.2008 0:08
Location: [Age of Power]
Contact:

Post by proZak »

Acronym wrote:1)Ввести в скрипт константу типа MaxWeight = 500;

2)Написать процедуру типа UnLoad;
Итемы удобно представить как массив (сначала нужные предметы, потом ненужные)
Элементы этого массива мы потом
for k := 0 to 7 do
... будем скидывать в сундук, а
for k := 8 to 19 do
... будем скидывать в trash.

3)Потом в скрипте проверять больше ли вес чем MaxWeight и если да, то вызывать процедуру выгрузки UnLoad;
if (Weight > MaxWeight) then
UnLoad;
...

Массивы предметов можно увидеть в скриптах на lumber и mining
А када скидуеш вещи нада шоб был открыт сундук в который скидуеш? есле да то как быть с мусоркои?

Code: Select all

... будем скидывать в сундук, а 
... будем скидывать в trash.
как оформить ети строчки?
Спс за хелп![/code]
proZak
Novice
Novice
Posts: 78
Joined: 28.02.2008 0:08
Location: [Age of Power]
Contact:

Post by proZak »

Вот нашол кусок с ламбера токо я непоиму де тут указан сундук для зброса, вижу токо логи которые збрасует !
Есле не тяжело обясните !

Code: Select all

procedure DropLog; 
var g : integer; 
logCol : Array [0..16] of Word; 
Begin 
finddistance := 2; 
CheckSave; 
AddToSystemJournal('âûáðàñûâàþ äåðåâî â ëîäêó'); 
logCol[0] := $0000; // normum 
logCol[1] := $000B; // elkris 
logCol[2] := $0362; // jade 
logCol[3] := $010D; // oak 
logCol[4] := $0094; // karund 
logCol[5] := $01B0; // leshram 
logCol[6] := $01A2; // turmalit 
logCol[7] := $0026; // emerint 
logCol[8] := $00CB; // legrand 
logCol[9] := $094A; // solmur 
logCol[10] := $092B; // kleor 
logCol[11] := $0931; // logradum 
logCol[12] := $093F; // vialonit 
logCol[13] := $0074; // stardust 
logCol[14] := $09EF; // pironil 
logCol[15] := $006F; // mystic 
logCol[16] := $0119; // elvin 
for g := 0 to 16 do 
begin 
CheckSave; 
FindTypeEx(logType,logCol[g],backpack,true); 
if FindCount > 0 then 
begin 
stack(logType,logCol[g]); 
wait(500); 
end 
end 
findtype (eda,ground); 
Addtosystemjournal('Åäû íà çåìëå '+intToStr(findfullquantity)+'!'); 
hungry (1,ground); 
End;
Дето тут наверное:

Code: Select all

FindTypeEx(logType,logCol[g],backpack,true); 
токо опять таки де тут сундук непоиму)
Acronym
Novice
Novice
Posts: 114
Joined: 10.05.2005 18:42
Location: Odessa, NDW
Contact:

Post by Acronym »

Code: Select all

procedure Unload; 
var 
g : integer;
const
TrashID = $123456;
ChestID = $654321;
 
UnLoadItems : Array [0..19] of Word; 
Begin 
	FindDistance := 2; 
	CheckSave; 
	UnLoadItems [0] := $0000; 
	***
	***
	***
	UnLoadItems [19] := $0000;
	
	for g := 0 to 19 do 
	begin 
		CheckSave; 
		FindType(UnLoadItems[g],backpack); 
		if FindCount > 0 then 
		begin
			if g <= 15 then
				begin // кидаем в trash
					MoveItems(BackPack,UnLoadItems[g],$FFFF,TrashID, 0, 0, 0, 500);  
					wait(1000);
				end
			else
				begin // кидаем в сундук
					MoveItems(BackPack,UnLoadItems[g],$FFFF,ChestID, 0, 0, 0, 500);  
					wait(1000);
				end;
		end; 
	end;
End;
Нечто похожее на это.
Контеинер нужно открыть чтобы узнать его содержимое, для того чтобы положить нечто в него этого делать не обязательно.
aka Trickster [YGG]
current version: 1.0 [RC3]
proZak
Novice
Novice
Posts: 78
Joined: 28.02.2008 0:08
Location: [Age of Power]
Contact:

Post by proZak »

Acronym wrote:

Code: Select all

procedure Unload; 
var 
g : integer;
const
TrashID = $123456;
ChestID = $654321;
 
UnLoadItems : Array [0..19] of Word; 
Begin 
	FindDistance := 2; 
	CheckSave; 
	UnLoadItems [0] := $0000; 
	***
	***
	***
	UnLoadItems [19] := $0000;
	
	for g := 0 to 19 do 
	begin 
		CheckSave; 
		FindType(UnLoadItems[g],backpack); 
		if FindCount > 0 then 
		begin
			if g <= 15 then
				begin // кидаем в trash
					MoveItems(BackPack,UnLoadItems[g],$FFFF,TrashID, 0, 0, 0, 500);  
					wait(1000);
				end
			else
				begin // кидаем в сундук
					MoveItems(BackPack,UnLoadItems[g],$FFFF,ChestID, 0, 0, 0, 500);  
					wait(1000);
				end;
		end; 
	end;
End;
Нечто похожее на это.
Контеинер нужно открыть чтобы узнать его содержимое, для того чтобы положить нечто в него этого делать не обязательно.
Ищо вопрос просто шоб я не зделал ошыбок !
получаетсо есле я правильно понял тут 19 разных итомов и в сундук он кидает 15 первых а 4 оставшыхся 16,17,18,19-он кидает в мусорку?
CFA
Developer
Developer
Posts: 492
Joined: 20.04.2006 6:03
Contact:

Post by CFA »

proZak wrote: получаетсо есле я правильно понял тут 19 разных итомов
20
proZak wrote:и в сундук он кидает 15 первых
16 первых в треш
proZak
Novice
Novice
Posts: 78
Joined: 28.02.2008 0:08
Location: [Age of Power]
Contact:

Post by proZak »

CFA wrote:
proZak wrote: получаетсо есле я правильно понял тут 19 разных итомов
20
proZak wrote:и в сундук он кидает 15 первых
16 первых в треш
Большое человеческое спасиба,всем хто помог) :wink:
MeXaon
Posts: 4
Joined: 08.03.2008 22:08

Post by MeXaon »

Приятно иметь дело с людьми, которые сами что то пытаются понять и разобраться :)

хоть я тут и ничего не помогал :lol:
Post Reply