SRL Archive - Senior Scripts and Snippets

Bolt Enchanter - XP and Profit


marpis

2011-01-17 18:22:15

DO NOT RUIN THE PRICES, OK?
Also I forbid you to rape the Dragon Bolt (e) method if you heard it from me first :p
The demand isn't that high, so I don't want to have the whole SSRL trying to sell 1000k Dragon Bolts.
Diamond bolts are pretty much the most used arrows in high level PVE.

Prices and Level requirements: http://runescape.wikia.com/wiki/Calculators/Bolt_enchantment

I didn't try dragon bolts yet, but they're even better profit and xp.
Here's a tiiny wiiny proggy with diamonds. Kinda nice to make a 200k per hour profit while getting 90k experience per hour. :) I'll probably go all the way to 99.

~~ Bolt Enchanter ~~
Casts: 150
Exp: 10050
Exp per hour: 90807.098916489
Profit: 21900
Profit per hour: 197878.155847871
Time ran: 6 Minutes and 38 Seconds


program new;
{.include srl/srl/misc/smart.scar}
{.include srl/srl.scar}

const
BOLT = 'diamond'; // 'diamond' or 'dragon'
RUNMS = 1000*60*60*2;
SERVER = 151;
SIGNED = TRUE;


PRICE_LAW = 272;
PRICE_COSMIC = 160;
PRICE_BOLT = 922;
PRICE_BOLT_E = 1007;

var
Casts: integer;

function IsEnchantable: boolean;
begin
case lowercase(BOLT) of
'diamond':
Result := GetColor(232, 200) = 52224;
'dragon':
Result := GetColor(316, 200) = 52224;
end;
end;

function Enchant: boolean;
var
t: integer;
b: tbox;
begin
case lowercase(BOLT) of
'diamond':
b := IntToBox(240, 242, 262, 259);
'dragon':
b := IntToBox(333, 242, 359, 259);
end;
t := getsystemtime + 5000;
while (getsystemtime < t) and (not Result) do
begin
MouseBox(b.x1, b.y1, b.x2, b.y2, 2);
Result := WaitOption('10', 2000 + random(200));
end;
t := getsystemtime + 22000 + RandomRange(1000, 2500);
while getsystemtime < t do
begin
FindNonInventoryRandoms;
Wait(randomRange(50, 100));
end;
end;

procedure Proggy;
var
xp, ProfitPerCast, Profit: integer;
h: extended;
begin
case lowercase(BOLT) of
'diamond':
xp := 67;
'dragon':
xp := 78;
end;
xp := xp*Casts;
h := gettimerunning / 3600000.0;
ProfitPerCast := 10*(PRICE_BOLT_E - PRICE_BOLT) - 2*PRICE_LAW - PRICE_COSMIC;
Profit := Casts*ProfitPerCast; // same here

ClearDebug;
WriteLn('~~ Bolt Enchanter ~~');
WriteLn(' Casts: '+ToStr(Casts));
WriteLn(' Exp: '+ToStr(xp));
WriteLn(' Exp per hour: '+ToStr(xp / h));
WriteLn(' Profit: '+ToStr(Profit));
WriteLn(' Profit per hour: '+ToStr(Profit / h));
Writeln(' Time ran: '+TimeRunning);
end;

procedure Antiban;
begin
case random(100) of
0: MakeCompass(Random(360));
1: HoverSkill(SKILL_MAGIC, False);
end;
end;

procedure Term(s: string);
begin
WriteLn(s);
TerminateScript;
end;


begin
NumberOfPlayers(1);
SMART_SERVER := SERVER;
SMART_SIGNED := SIGNED;
SetupSRL;

repeat
Proggy;
FindNonInventoryRandoms;
GameTab(TAB_MAGIC);
Wait(100 + random(50));
MouseBox(662, 222, 677, 237, 1);
if WaitFunc(@IsEnchantable, 10, 2500 + random(200)) then
if Enchant then
IncEx(Casts, 10)
else
Term('WHAT THE FUCK MAN?!');
Antiban;
if (gettimerunning > RUNMS) then
Term('DONE!');
until false;
end.

marpis

2011-01-17 18:56:40

Ok, not as good as it sounds. Bolts won't sell fast.

n3ss3s

2011-01-17 20:51:50

Niceeee although I'd say it's more effective to sudoku and burst, bloods and deaths won't buy on max, they're gonna rise for 2 weeks imo :)

R0b0t1

2011-01-18 09:25:24

What if I want profit and XP instead?

Markus

2011-01-18 11:06:03

Hey I used this method like two years ago to level mage at my main ;)
Sudoku will be more profitable when the rune prices rise a bit (will happen soon) but this indeed is the most effective way of levelling mage without loss imo.

The Claw

2011-01-18 20:33:41

From: Markus
Hey I used this method like two years ago to level mage at my main ;)
Sudoku will be more profitable when the rune prices rise a bit (will happen soon) but this indeed is the most effective way of levelling mage without loss imo.


Remember MageMeFast, only like 3m or something from 85 to 94 :p
Nice script, might get 99