помогите пожалуйста... вот скрипт на всякий случай
Code: Select all
program lumber_autotile;
//lumber autotile v1.8 by Satan
var
TyleType : Array [0..183] of Word;
a : TFoundTilesArray;
c,b,s : Integer;
const
armitem = $754B891F; // SUDA ID DAGERA V PAKE
Xmin = 1317; //
Xmax = 1329; //
Ymin = 542; //
Ymax = 576; //
vozleX = 1327; //
vozleY = 584;
lodkaX = 1336; //
lodkaY = 584;
lodkaZ = -2;
Trap = $7721D51C; //
TynkType = $1EBC; // TYPE TINKER TOOLS
AxeType = $0F43; // TYPE TOPORA
IngotType = $1BF2; // TYPE INGOV
LogType = $1BDD; // TIP LOGOV
IngotColor = $0000;
AxeGump = '3907'; //
WLimit = 120; // LIMIT VESA , POSLE KOTOROGO BEJIT NA LODKY
eda = $097B; // TIP EDI PO UMOLCHANIU JARENAYA RIBA
{$Include 'all.inc'}
procedure checkcoord;
begin
if (GetZ(self) = lodkaZ) then
begin
repeat
newMoveXY(lodkaX,lodkaY, True, 0, True);
UseObject(Trap);
wait(2000);
Raw_Move(6,True);
Raw_Move(6,True);
wait(5000);
until (GetZ(self) <> lodkaZ);
end;
end;
procedure CheckIngot;
begin
FindType(IngotType,Backpack);
if (FindFullQuantity < 4) then
begin
FindType(IngotType, Ground);
if (FindCount > 0) then
begin
MoveItem(finditem, 4, Backpack, 0,0,0);
wait(500);
end;
end;
end;
procedure CheckAxe;
begin
if (Count(AxeType) < 4) then
begin
If TargetPresent Then CancelTarget;
FindType(TynkType,Ground);
if (Findcount > 0) then
begin
Grab(Finditem,1);
repeat
CheckIngot;
UseObject(FindType(TynkType,Backpack));
WaitTargetObject(FindType(IngotType,BackPack));
WaitGump(AxeGump);
WaitJournalLine(Now, 'You create|make|destroy|must stand', 30000);
until (Count(AxeType) >= 5);
DropHere(FindType(TynkType,Backpack));
end;
end;
end;
procedure DropLog;
begin
repeat
FindType(LogType,Backpack);
if (FindCount > 0) then
begin
stack(LogType,GetColor(finditem));
wait(500);
end;
until (Count(LogType) = 0);
if (Count($0EED) > 0) then stack($0EED,$FFFF);
if (Count($0F8C) > 0) then stack($0F8C,$FFFF);
if (Count($0F90) > 0) then stack($0F90,$FFFF);
FindType(LogType,ground);
Addtosystemjournal('Дерева всего на лодке - '+intToStr(findfullquantity));
FindType(TynkType,ground);
Addtosystemjournal('Тулзов на лодке - '+intToStr(findfullquantity));
FindType(eda,ground);
Addtosystemjournal('Еды осталось - '+intToStr(findfullquantity));
Addtosystemjournal('=========================================');
end;
procedure checkfish;
begin
if (Count(eda) < 10) then
begin
MoveItem(FindType(eda,ground), 20, Backpack, 0,0,0);
Wait(500);
end;
end;
procedure GotoOnBoad;
begin
newMoveXY(vozleX,vozleY, True, 0, True);
repeat
UseObject(Trap);
wait(1000);
until (GetZ(self) = lodkaZ);
DropLog;
checkfish;
Hungry(1,ground);
CheckAxe;
checkcoord;
end;
procedure checktools;
begin
if (Count(AxeType) = 0) then
begin
GotoOnBoad;
end;
end;
procedure checkweight;
begin
if (Weight > WLimit) then
begin
GotoOnBoad;
end;
end;
procedure armlore;
begin
If TargetPresent Then CancelTarget;
UseSkill('Arms Lore');
WaitTargetObject(armitem);
end;
Begin
SetARStatus(True);
Addtosystemjournal('Скрипт успешно стартовал');
TyleType[0] := 3230
TyleType[1] := 3231
TyleType[2] := 3232
TyleType[3] := 3233
TyleType[4] := 3234
TyleType[5] := 3235
TyleType[6] := 3236
TyleType[7] := 3237
TyleType[8] := 3238
TyleType[9] := 3239
TyleType[10] := 3240
TyleType[11] := 3241
TyleType[12] := 3242
TyleType[13] := 3243
TyleType[14] := 3244
TyleType[15] := 3245
TyleType[16] := 3246
TyleType[17] := 3247
TyleType[18] := 3248
TyleType[19] := 3249
TyleType[20] := 3250
TyleType[21] := 3251
TyleType[22] := 3252
TyleType[23] := 3253
TyleType[24] := 3254
TyleType[25] := 3255
TyleType[26] := 3256
TyleType[27] := 3257
TyleType[28] := 3258
TyleType[29] := 3259
TyleType[30] := 3260
TyleType[31] := 3261
TyleType[32] := 3262
TyleType[33] := 3263
TyleType[34] := 3264
TyleType[35] := 3265
TyleType[36] := 3266
TyleType[37] := 3267
TyleType[38] := 3268
TyleType[39] := 3269
TyleType[40] := 3270
TyleType[41] := 3271
TyleType[42] := 3272
TyleType[43] := 3273
TyleType[44] := 3274
TyleType[45] := 3275
TyleType[46] := 3276
TyleType[47] := 3277
TyleType[48] := 3278
TyleType[49] := 3279
TyleType[50] := 3280
TyleType[51] := 3281
TyleType[52] := 3282
TyleType[53] := 3283
TyleType[54] := 3284
TyleType[55] := 3285
TyleType[56] := 3286
TyleType[57] := 3299
TyleType[58] := 3305
TyleType[59] := 3306
TyleType[60] := 3307
TyleType[61] := 3308
TyleType[62] := 3309
TyleType[63] := 3315
TyleType[64] := 3316
TyleType[65] := 3317
TyleType[66] := 3318
TyleType[67] := 3319
TyleType[68] := 3320
TyleType[69] := 3321
TyleType[70] := 3322
TyleType[71] := 3323
TyleType[72] := 3324
TyleType[73] := 3325
TyleType[74] := 3326
TyleType[75] := 3327
TyleType[76] := 3328
TyleType[77] := 3329
TyleType[78] := 3330
TyleType[79] := 3331
TyleType[80] := 3332
TyleType[81] := 3333
TyleType[82] := 3334
TyleType[83] := 3335
TyleType[84] := 3336
TyleType[85] := 3337
TyleType[86] := 3338
TyleType[87] := 3339
TyleType[88] := 3340
TyleType[89] := 3393
TyleType[90] := 3394
TyleType[91] := 3395
TyleType[92] := 3396
TyleType[93] := 3397
TyleType[94] := 3398
TyleType[95] := 3403
TyleType[96] := 3405
TyleType[97] := 3409
TyleType[98] := 3410
TyleType[99] := 3411
TyleType[100] := 3412
TyleType[101] := 3413
TyleType[102] := 3414
TyleType[103] := 3415
TyleType[104] := 3416
TyleType[105] := 3417
TyleType[106] := 3418
TyleType[107] := 3419
TyleType[108] := 3420
TyleType[109] := 3421
TyleType[110] := 3422
TyleType[111] := 3423
TyleType[112] := 3426
TyleType[113] := 3427
TyleType[114] := 3428
TyleType[115] := 3429
TyleType[116] := 3430
TyleType[117] := 3431
TyleType[118] := 3432
TyleType[119] := 3433
TyleType[120] := 3434
TyleType[121] := 3435
TyleType[122] := 3436
TyleType[123] := 3437
TyleType[124] := 3438
TyleType[125] := 3439
TyleType[126] := 3440
TyleType[127] := 3441
TyleType[128] := 3442
TyleType[129] := 3443
TyleType[130] := 3444
TyleType[131] := 3445
TyleType[132] := 3446
TyleType[133] := 3447
TyleType[134] := 3449
TyleType[135] := 3450
TyleType[136] := 3451
TyleType[137] := 3452
TyleType[138] := 3453
TyleType[139] := 3454
TyleType[140] := 3455
TyleType[141] := 3456
TyleType[142] := 3457
TyleType[143] := 3458
TyleType[144] := 3459
TyleType[145] := 3460
TyleType[146] := 3461
TyleType[147] := 3462
TyleType[148] := 3463
TyleType[149] := 3464
TyleType[150] := 3465
TyleType[151] := 3467
TyleType[152] := 3468
TyleType[153] := 3469
TyleType[154] := 3470
TyleType[155] := 3471
TyleType[156] := 3472
TyleType[157] := 3473
TyleType[158] := 3474
TyleType[159] := 3475
TyleType[160] := 3476
TyleType[161] := 3477
TyleType[162] := 3478
TyleType[163] := 3479
TyleType[164] := 3480
TyleType[165] := 3481
TyleType[166] := 3482
TyleType[167] := 3483
TyleType[168] := 3484
TyleType[169] := 3485
TyleType[170] := 3486
TyleType[171] := 3487
TyleType[172] := 3488
TyleType[173] := 3489
TyleType[174] := 3490
TyleType[175] := 3491
TyleType[176] := 3492
TyleType[177] := 3493
TyleType[178] := 3494
TyleType[179] := 3495
TyleType[180] := 3496
TyleType[181] := 3497
TyleType[182] := 3498
TyleType[183] := 3499
while not Dead do
begin
for s := 0 to 183 do
begin
b:= GetStaticTilesArray(Xmin,Ymin,Xmax,Ymax, 1, TyleType[s], a);
for c :=0 to b-1 do
begin
checktools;
CheckWeight;
checkcoord;
newMoveXY(a[c].X,a[c].Y, True, 1, True);
ClearJournal;
Hungry(1,Backpack);
If TargetPresent Then CancelTarget;
if (GetType(ObjAtLayer(LhandLayer)) = AxeType) then
begin
UseObject(ObjAtLayer(LhandLayer));
end;
if (GetType(ObjAtLayer(LhandLayer)) <> AxeType) then
begin
UseObject(FindType(AxeType, Backpack));
end;
WaitTargetTile(TyleType[s],(a[c].X),(a[c].Y),(a[c].Z));
WaitJournalLine(Now,'is attacking|anything|enough|how to use|is breaks|stop|see|far away|no more',30000);
Wait(500);
armlore;
end;
end;
end;
End.