Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- program somethingSexy; //TODO:
- {$DEFINE SMART} //
- //TopNotch antiban
- //Progress Report with paint .https://villavu.com/forum/showthread.php?t=110720
- {$i AeroLib/AeroLib.Simba} //A simple GUI .https://villavu.com/forum/showthread.php?t=41418
- {$i reflection/Reflection.Simba} //(unfinished) Arrows/Bolts
- //Progressive lvling + cut&string
- var // competitable
- MyPlayer: TReflectLocalPlayer; //Interactable paint .https://villavu.com/forum/showthread.php?t=107124
- WhatToDo, ItemMaterial, LongOrShortBows: String; //Auto-Updater .https://villavu.com/forum/showthread.php?t=70271
- PreferredWorld, FletchingItem: Integer;
- EnableAutomaticSwitching, EnableCuttingAndStringing,
- AddFeathersToArrowShafts, OutOfLogs, FinishedScript,
- SkipYewAndMagicShortBows: Boolean;
- whatsTheTime: TReflectTimer;
- procedure scriptSetup;
- begin
- MyPlayer.Active := True;
- MyPlayer.Username := 'anno of war';
- MyPlayer.Password := 'teringturk';
- MyPlayer.Pin := '0000';
- PreferredWorld := 305;
- EnableAutomaticSwitching := False; //
- SkipYewAndMagicShortBows := False;
- EnableCuttingAndStringing := True; //
- AddFeathersToArrowShafts := False; //Set to true for this to work
- WhatToDo := 'cut'; //Cut, String, Shafts, HeadlessArrows, Arrows, Darts, Bolts
- ItemMaterial := 'yew'; //Normal, Oak, Willow, Maple, Yew, Magic or
- //Bronze, Iron, Steel, Mithril, Adamant, Rune, Dragon
- LongOrShortBows := 'long'; //Long, Short
- end;
- procedure setupScript;
- begin
- case lowerCase(WhatToDo) of
- 'cut':
- case lowerCase(ItemMaterial) of
- 'normal': FletchingItem := 1511;
- 'oak' : FletchingItem := 1521;
- 'willow': FletchingItem := 1519;
- 'maple' : FletchingItem := 1517;
- 'yew' : FletchingItem := 1515;
- 'magic' : FletchingItem := 1513;
- end;
- 'string':
- case lowerCase(LongOrShortBows) of
- 'long':
- case lowerCase(ItemMaterial) of
- 'normal': FletchingItem := 48;
- 'oak' : FletchingItem := 56;
- 'willow': FletchingItem := 58;
- 'maple' : FletchingItem := 62;
- 'yew' : FletchingItem := 66;
- 'magic' : FletchingItem := 70;
- end;
- 'short':
- case lowerCase(ItemMaterial) of
- 'normal': FletchingItem := 50;
- 'oak' : FletchingItem := 54;
- 'willow': FletchingItem := 60;
- 'maple' : FletchingItem := 64;
- 'yew' : FletchingItem := 68;
- 'magic' : FletchingItem := 72;
- end;
- end;
- 'shafts':
- FletchingItem := 1511;
- 'headlessarrows':
- FletchingItem := 52;
- 'arrows':
- case lowerCase(ItemMaterial) of
- 'bronze' : FletchingItem := 39;
- 'iron' : FletchingItem := 40;
- 'steel' : FletchingItem := 41;
- 'mithril': FletchingItem := 42;
- 'adamant': FletchingItem := 43;
- 'rune' : FletchingItem := 44;
- 'dragon' : FletchingItem := 11237;
- end;
- 'darts':
- case lowerCase(ItemMaterial) of
- 'bronze' : FletchingItem := 819;
- 'iron' : FletchingItem := 820;
- 'steel' : FletchingItem := 821;
- 'mithril': FletchingItem := 822;
- 'adamant': FletchingItem := 823;
- 'rune' : FletchingItem := 824;
- 'dragon' : FletchingItem := 11232;
- end;
- 'bolts':
- case lowerCase(ItemMaterial) of
- 'bronze' : FletchingItem := 9375;
- 'blurite': FletchingItem := 9376;
- 'iron' : FletchingItem := 9377;
- 'steel' : FletchingItem := 9378;
- 'mithril': FletchingItem := 9379;
- 'adamant': FletchingItem := 9380;
- 'rune' : FletchingItem := 9381;
- 'silver' : FletchingItem := 9382;
- end;
- end;
- end;
- procedure automaticSwitching;
- begin
- if (EnableCuttingAndStringing = True) then
- begin
- if (OutOfLogs = True) then
- WhatToDo := 'string';
- end;
- if(EnableAutomaticSwitching = True) then
- begin
- case MyPlayer.GetSkillLevel(17) of
- 1..4:
- begin
- WhatToDo := 'Shafts';
- end;
- 5..9:
- begin
- ItemMaterial := 'Normal';
- LongOrShortBows := 'Short';
- end;
- 10..19:
- LongOrShortBows := 'long';
- 20..24:
- begin
- ItemMaterial := 'Oak';
- LongOrShortBows := 'Short';
- end;
- 25..34:
- LongOrShortBows := 'Long';
- 35..39:
- begin
- ItemMaterial := 'Willow';
- LongOrShortBows := 'Short';
- end;
- 40..49:
- LongOrShortBows := 'Long';
- 50..54:
- begin
- ItemMaterial := 'Maple';
- LongOrShortBows := 'Short';
- end;
- 55..64:
- LongOrShortBows := 'Long';
- 65..69: if (not SkipYewAndMagicShortBows = True) then
- begin
- ItemMaterial := 'Yew';
- LongOrShortBows := 'Short';
- end;
- 70..79:
- LongOrShortBows := 'Long';
- 80..84: if (not SkipYewAndMagicShortBows = True) then
- begin
- ItemMaterial := 'Magic';
- LongOrShortBows := 'Short';
- end;
- 85..99:
- LongOrShortBows := 'Long';
- end;
- end;
- end;
- procedure antiBannelings;
- var
- randomAmount: Integer;
- begin
- case lowerCase(WhatToDo) of
- 'cut': randomAmount := RandomRange(1500, 2000);
- 'string': randomAmount := RandomRange(1200, 1500);
- 'shafts': randomAmount := RandomRange(1500, 2000);
- //'headlessarrows', 'darts', 'bolts', 'arrows':
- // randomAmount := RandomRange(1000, 1500);
- end;
- case Random(randomAmount) of
- 1..15: HoverSkill('Fletching', false);
- 16..20: ExamineInv;
- 21..30: PickUpMouse;
- 31..35: RandomRClick;
- 36..60: MMouseOffClient('random');
- end;
- end;
- function TReflectionInventory.checkInvChange(MaxTime: Integer): Boolean;
- var
- T: TReflectTimer;
- Temp: TReflectInvItem;
- begin
- for I := 0 to ItemCount do
- end;
- procedure openTheBank;
- var
- Banker: TReflectNpc;
- BankChest: TReflectObject;
- Point: TPoint;
- useOptionBank: String;
- begin
- if (lowerCase(WhatToDo) = 'string') or (lowerCase(WhatToDo) = 'cut') or
- (lowerCase(WhatToDo) = 'shafts') then
- begin
- repeat
- if not MyPlayer.IsLoggedIn then
- Exit;
- if Reflect.Bank.IsOpen then
- Exit;
- if Banker.Find('Banker') then
- begin
- Point := Banker.GetMSPoint;
- end else
- if BankChest.Find(objGame, 'Bank chest', 20) then
- begin
- Point := BankChest.GetMSPoint;
- end else
- if Banker.Find('Emerald Benedict') then
- begin
- Point := Banker.GetMSPoint;
- end else
- if Banker.Find('Gundai') then
- begin
- Point := Banker.GetMSPoint;
- end else
- begin
- Writeln('Could not find a supported bank');
- TerminateScript;
- end;
- Reflect.Mouse.Move(Point, 4, 4);
- Reflect.Mouse.Click(Mouse_Right);
- waitOptionMulti(['Bank Bank', 'Use Bank', 'Bank Emerald', 'Bank Gundai'], 100);
- Wait(RandomRange(50, 150));
- MyPlayer.EnterPin;
- Wait(RandomRange(1000,2000));
- until(Reflect.Bank.IsOpen);
- end;
- end;
- procedure bankTheStuff;
- var
- itemForFletching: TReflectBankItem;
- begin
- if (lowerCase(WhatToDo) = 'string') or (lowerCase(WhatToDo) = 'cut') or
- (lowerCase(WhatToDo) = 'shafts') then
- begin
- if not MyPlayer.IsLoggedIn then
- Exit;
- if not Reflect.Bank.IsOpen then
- Exit;
- case lowerCase(WhatToDo) of
- 'shafts':
- begin
- if not Reflect.Inv.Contains([946]) then
- if itemForFletching.Find(946) then
- begin
- itemForFletching.Withdraw(1);
- end else
- begin
- Writeln('Could not find a knife in bank or inventory');
- TerminateScript;
- end;
- if (AddFeathersToArrowShafts = True) then
- if not Reflect.Inv.Contains([314]) then
- if itemForFletching.Find(314) then
- begin
- itemForFletching.Withdraw(-1);
- end else
- begin
- Writeln('Could not find feathers in bank or inventory');
- AddFeathersToArrowShafts := False;
- end;
- if not Reflect.Inv.Contains([1511]) then
- if itemForFletching.Find(1511) then
- begin
- itemForFletching.Withdraw(-1);
- end else
- begin
- Writeln('Out of logs');
- TerminateScript;
- end;
- end;
- 'cut':
- begin
- if Reflect.Inv.Contains([946]) then
- begin
- depositItem(2, -1, True);
- if Reflect.Inv.Count > 1 then
- quickDeposit('inventory');
- end else
- quickDeposit('inventory');
- if not Reflect.Inv.Contains([946]) then
- if itemForFletching.Find(946) then
- begin
- itemForFletching.Withdraw(1);
- end else
- begin
- Writeln('Could not find a knife in bank or inventory');
- TerminateScript;
- end;
- if itemForFletching.Find(FletchingItem) then
- begin
- itemForFletching.Withdraw(-1);
- end else
- if (EnableCuttingAndStringing = True) then
- begin
- OutOfLogs := True;
- Exit;
- end else
- begin
- Writeln('Out of logs');
- TerminateScript;
- end;
- end;
- 'string':
- begin
- if not Reflect.Inv.IsEmpty then
- quickDeposit('inventory');
- if itemForFletching.Find(1777) then
- begin
- itemForFletching.Withdraw(14);
- end else
- begin
- Writeln('Out of Bow strings');
- TerminateScript;
- end;
- if itemForFletching.Find(FletchingItem) then
- begin
- itemForFletching.Withdraw(14);
- end else
- begin
- Writeln('Out of Unstrung bows');
- TerminateScript;
- end;
- end;
- end;
- Reflect.Bank.Close;
- end;
- end;
- procedure fletchTheStuff;
- var
- itemForFletching: TReflectInvItem;
- outOfFletchingItem: Boolean;
- begin
- if not MyPlayer.IsLoggedIn then
- Exit;
- if Reflect.Bank.IsOpen then
- Exit;
- if (lowerCase(WhatToDo) = 'string') or (lowerCase(WhatToDo) = 'cut') or
- (lowerCase(WhatToDo) = 'shafts') or (lowerCase(WhatToDo) = 'arrows') or
- (lowerCase(WhatToDo) = 'headlessarrows') then
- begin
- While Reflect.Inv.Contains([FletchingItem]) do
- begin
- if itemForFletching.Find(FletchingItem) then
- begin
- Reflect.Mouse.Move(itemForFletching.GetPoint, 3, 3);
- Reflect.Mouse.Click(Mouse_Left);
- end else
- outOfFletchingItem := True;
- case lowerCase(WhatToDo) of
- 'cut':
- begin
- if itemForFletching.Find(946) then
- begin
- Reflect.Mouse.Move(itemForFletching.GetPoint, 3, 3);
- Reflect.Mouse.Click(Mouse_Left);
- end else
- Exit;
- case lowerCase(LongOrShortBows) of
- 'long':
- if (lowerCase(ItemMaterial) = 'normal') then
- begin
- Reflect.Mouse.Move(280, 380, 250, 450, Mouse_Right);
- end else
- Reflect.Mouse.Move(210, 380, 310, 450, Mouse_Right);
- 'short':
- if (lowerCase(ItemMaterial) = 'normal') then
- begin
- Reflect.Mouse.Move(160, 380, 240, 450, Mouse_Right);
- end else
- Reflect.Mouse.Move(60, 380, 150, 450, Mouse_Right);
- end;
- Wait(RandomRange(150, 250));
- Reflect.Text.ChooseOption('Make X', 100);
- Wait(RandomRange(800,1200));
- Reflect.KeyBoard.TypeSend('33', True);
- end;
- 'string':
- begin
- if itemForFletching.Find(1777) then
- begin
- Reflect.Mouse.Move(itemForFletching.GetPoint, 3, 3);
- Reflect.Mouse.Click(Mouse_Left);
- end else
- Exit;
- Wait(RandomRange(150, 250));
- Reflect.Mouse.Move(215, 395, 305, 455, Mouse_Right);
- Wait(RandomRange(150, 250));
- Reflect.Text.ChooseOption('Make All', 100);
- end;
- 'shafts':
- begin
- if (outOfFletchingItem = True) then
- Exit;
- if itemForFletching.Find(946) then
- begin
- Reflect.Mouse.Move(itemForFletching.GetPoint, 3, 3);
- Reflect.Mouse.Click(Mouse_Left);
- end else
- Exit;
- Wait(RandomRange(150, 250));
- Reflect.Mouse.Move(45, 385, 135, 455, Mouse_Right);
- Reflect.Text.ChooseOption('Make X', 100);
- Wait(RandomRange(800, 1200));
- Reflect.KeyBoard.TypeSend('33', True);
- end;
- 'headlessarrows', 'arrows':
- begin
- if outOfFletchingItem = True then
- begin
- Writeln('Out of items');
- TerminateScript;
- end;
- if itemForFletching.Find(314) then
- begin
- Reflect.Mouse.Move(itemForFletching.GetPoint, 3, 3);
- Reflect.Mouse.Click(Mouse_Left);
- end else
- Writeln('No feathers in inventory');
- TerminateScript;
- Wait(RandomRange(150, 250));
- Reflect.Mouse.Move(215, 395, 305, 455, Mouse_Right);
- Wait(RandomRange(150, 250));
- Reflect.Text.ChooseOption('Make 10', 100);
- end;
- end;
- repeat
- antiBannelings;
- Wait(500);
- until (not Reflect.Inv.Contains([FletchingItem]));// or checkInvChange(MaxWait):Boolean = False
- end;
- end;
- end;
- //feathers: 314
- procedure boltsAndDarts;
- begin
- end;
- procedure exitOut;
- begin
- Reflect.Bank.Close;
- MyPlayer.Logout;
- end;
- begin
- AddOnTerminate('exitOut');
- clearDebug;
- initAL();
- Reflect.Setup;
- scriptSetup;
- MyPlayer.Create;
- if not MyPlayer.IsLoggedIn then
- MyPlayer.ChangeWorld(PreferredWorld);
- repeat
- if not MyPlayer.IsLoggedIn then
- MyPlayer.Login;
- automaticSwitching;
- setupScript;
- openTheBank;
- bankTheStuff;
- fletchTheStuff;
- boltsAndDarts;
- until(false);
- end.
- {
- mouse speed
- after depositAll doesn't withdraw knife
- whatsTheTime.Restart if inventory has changed
- after gui maybe > loop bankTheStuff until(inv contains arrayOfInvItems set at beginning of script)
- search option in bank
- after proggy > stop after X amount of bows/arrows made
- worldhop if botworld=true
- after gui > set WhatToDo to 'cut' if EnableCuttingAndStringing is True
- Change bankerNPC to bankBoothObj//pc bank//duel bank
- accept genie random, disable all others
- wait for craft-X box to come up (cutting)
- wait before right clicking craftBox
- move camera up all the way before starting
- outOfFletchingItem boolean useage
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement