Собствено нужна процедура на розгрузку немогу собразить как написать!
Собствено розгрузка должна делать :
1 када у чара вес 500 начинает розгрузку;
2 есть к примеру 20 итомов разных;
3 8 из них нада вылажывать в сундук а 12 выкидывать в мусорку.
Большое спасиба тем кто поможет)
Forum in READ ONLY mode! All questions and discussions on Discord official server, invite link: https://discord.gg/VxsGzJ7
Help plz [нужна процедура на розгрузку]
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
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]
current version: 1.0 [RC3]
А када скидуеш вещи нада шоб был открыт сундук в который скидуеш? есле да то как быть с мусоркои?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]
Вот нашол кусок с ламбера токо я непоиму де тут указан сундук для зброса, вижу токо логи которые збрасует !
Есле не тяжело обясните !
Дето тут наверное:
токо опять таки де тут сундук непоиму)
Есле не тяжело обясните !
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);
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]
current version: 1.0 [RC3]
Ищо вопрос просто шоб я не зделал ошыбок !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-он кидает в мусорку?