SRL Archive - Archive

Nukewire - SRL Member Application


Nukewire

2012-02-28 01:35:30

How Long have You Played Runescape?
7 Year(s)


Are you affilated in anyway with Jagex LTD?
No

Were you Referred to SRL?
n/a


What is your general programming knowledge?
I'm a computer science major with knowledge in C++ and PHP. Now a little bit a pascal.


Are you a member of any other communities?
Not anymore, I used to be a Administrator at RS-Resources.net.


Tell us about yourself…
From: Nukewire
I am a 20 year old college student who likes to play video games, golf, work on cars and program. I used to be an Administrator for RS-Resources.net and helped a little bit with the development of their bot named ARGA. I've used bots form Aryan, SBot3 and ARGA. Haven't been active in the Runescape scene for awhile though, but just got back into it. I enjoy making script more than actually playing the game. =P



Please show us one (or multiple) of your scripts.
(*The script below is my Kebabuyer.
It will start in the AK bank and go to the Kebab salesman "Karim". It then buys Kebabs at 1gp a piece until the inventory is full. It then banks all the Kebabs and repeats.

You can sell Kebabs at the GE for 100gp+, at least its better than mining ess. =P
I originally made the script to buy Kebabs for use as cheap food for fighting scripts. But then realized that they sell for 100x what you pay for them!

Anti-random and anti-ban have been implemented along with a simple progress report.*)


program Kebabuyer;
// --------------------------------------------------------------
// Kebabuyer - Al-Kharid Kebab Buyer
// Version: 0.2
// By: Nukewire
// Start in the bank of Al-Kharid with coins in your coin pocket
// Enjoy!!
//---------------------------------------------------------------

//--------------------------Change Log---------------------------
// v 0.1
// Initial release
// v 0.2
// Updated walking procedure
// Updated function used for clicking
// Improved banking procedure
// Changed wait times to account for lag


{$DEFINE SMART}
{$IFDEF SMART}
{$i SRL/SRL/Misc/Smart.simba}
{$ENDIF}
{.include SRL/SRL.simba}

const
NumbOfPlayers = 1; // number of account you will be using
StartPlayer = 0; // which player to start with
RunTil = 100; // how many Kebabs would you like to purchase?


Var
x, y, invPlus, KebabBought, TO_BANK, TO_Kebab, DEPOSIT_ALL, ARROW_BUTTON, YES_PLEASE: Integer;

procedure DeclarePlayers;
var
i: Integer;
begin
NumberOfPlayers(NumbOfPlayers);
CurrentPlayer := StartPlayer;
for i := 0 to NumbOfPlayers-1 do
begin
Players[0].Name := ''; // your Username.
Players[0].Pass := ''; // your Password.
Players[0].Active := True; // are you using this account?
Players[0].Member := False; // are you a member?
end;
end;
// setup all the DTMS for use
procedure SetDTMS;
begin
TO_BANK := DTMFromString('mggAAAHicY2NgYDBjYmDQAWJ/IM4CYjsgNgTiYEYGBj0g1gdiJyDmBGIeIN7Sm84wHYpB7EXteQzTm8MZ/gPN4sKCGXFgCAAA2K0NTw==');
TO_Kebab := DTMFromString('mlwAAAHicY2dgYFjOxMDQAcTFQDwLiLcA8Wkg7gRidiAWBWJWIFYBYl0gNgBiVSA+taqbYVpfJkNjURTD1LIIMHszEIPY/4HmcuHAjHgwFAAAP6URRw==');
DEPOSIT_ALL := DTMFromString('megIAAHicxc67CsJAEIXhSZAUglptmzfynUSJoCheULG00Ua8oSgGIuKL6b86gbAESSG48C0zzM5hQxE5eyJrtcUBJ1yRqBtiXHDEHhssdc/2dzwcO52vsHAMfJEeOojQymij63/eTDDFTOsRGo5Ic/oYY55hd4aaZ7Ob9VCCoJSrVq3kSuciXmHGmLe0f3KX/6D4j3/r+3kBkxcq4A==');
ARROW_BUTTON := DTMFromString('mrAAAAHic42BgYChiYWAoBGJfIJ4KxSB2PBBXA/EtJgaGS0wQ+iYQX4biS1D8799fBkYmZoZlS5cyXLp4EcxGxoQAIwEMAwA+YhHm');
YES_PLEASE := DTMFromString('mEQIAAHick2RgYMhjYWDIQsKFSLgEiCuAOBmIE5DoSCCOAeIAIA6G4jAgbgXiJiT6OhBzAfF2JgaGrUC8E4j3APEuIN4GxJuYIHIweZDYDqg8THwzlN4FZW+F8tHVnThxgmZ4nqssGNMDMNIB4wQArtZU8Q==');
end;

// when called, it will free up all the DTMS
procedure FreeDTMS;
begin
FreeDTM(TO_BANK);
FreeDTM(TO_Kebab);
FreeDTM(DEPOSIT_ALL);
FreeDTM(ARROW_BUTTON);
FreeDTM(YES_PLEASE);
end;

// basic setup procedure
procedure Setup;
begin
Smart_Server := 30;
Smart_Members := False;
Smart_Signed := True;
Smart_SuperDetail := False;
SetupSRL();
DeclarePlayers;
LogInPlayer;
MouseSpeed := 18;
wait(100+random(100));
SetAngle(0);
ClickNorth(0);
end;


Procedure Antiban; //credit Solidone40
Begin

Case Random(170) Of
1: HoverSkill('strength', False);
2: HoverSkill('random', False);
3: Boredhuman;
4: Wait(2500 + random(4500));
5: HoverSkill('mining', False);
6: PickUpMouse;
7: RandomMovement;
8: RandomRClick;
9: wait(4000+random(1000));
end;
end;

// use DTM to walk to the Kebab stand
procedure WalkToKebab;
begin
Writeln('Attempting to walk to Kebabs...');
if FindDTM(TO_Kebab, x, y, MMX1, MMY1, MMX2, MMY2) then
begin
Mouse(x, y, 4, 4, True);
Writeln('Walking to Kebab Seller');
repeat
Antiban;
Wait(300 + Random(25));
until flag();
end;

end;

// use DTM to walk to the Kebab stand
procedure WalkToBank;
begin
Writeln('Attempting to walk to bank...');
if FindDTM(TO_BANK, x, y, MMX1, MMY1, MMX2, MMY2) then
begin
Mouse(x, y, 4, 4, True);
Writeln('Walking to Bank');
end;
repeat
Antiban;
Wait(800 + Random(25));
until flag();

end;

// find Karim and buy Kebabs from him
procedure BuyKebabs;
begin
Antiban;
invPlus := InvCount;
if FindObj(X, Y, 'Kari', 6373465, 20) then
begin
Mouse(x, y, 2, 2, false);
ChooseOption('Talk-to');
wait(2000 +random(600));
Writeln('Buying Kebab');
if FindDTM(ARROW_BUTTON, X, Y, MCX1, MCY1, MCX2, MCY2) then
begin
Mouse(X, Y, 6, 6, True);
wait(1200 +random(800));
if FindDTM(YES_PLEASE, X, Y, MCX1, MCY1, MCX2, MCY2) then
begin
Mouse(X, Y, 8, 8, True);
wait(1200+random(800));
if FindDTM(ARROW_BUTTON, X, Y, MCX1, MCY1, MCX2, MCY2) then
begin
Mouse(X, Y, 6, 7, True);
wait(1000+random(800));
if InvCount = (InvPlus + 1) then
KebabBought := (KebabBought + 1)

end;
end;

end;
end;
end;

// procedure used to bank the Kebabs
procedure BankKebabs;
begin
repeat
if FindObj(X, Y, 'o Banke', 7105649, 20) then
begin
Mouse(x, y, 6, 6, false);
ChooseOption('ank Bank');
Writeln('Depositing Kebabs');
wait(3000);
if FindDTM(DEPOSIT_ALL, X, Y, MSX1, MSY1, MSX2, MSY2) then
begin
Mouse(X, Y, 6, 6, True);
wait(1000);
if InvEmpty then
CloseBank;
end;
end;
until InvEmpty;
end;

// simple progress report
procedure ProgressReport;
begin
Writeln('+----------------------------+');
Writeln('|----Kebabuyer By: Nukewire--|');
Writeln('|----Run Time:' +TimeRunning);
Writeln('|----Kebabs Bought:' +IntToStr(KebabBought));
Writeln('+----------------------------+');

end;


// "main"
begin
SetDTMS;
Setup;

repeat

FindNormalRandoms;
WalkToKebab;

repeat
FindNormalRandoms;
BuyKebabs;
until InvFull;

FindNormalRandoms;
WalkToBank;
BankKebabs;
ProgressReport;

until (KebabBought = RunTil);

FreeDTMS;
Writeln('Thank you for using Kebabuyer by: Nukewire');
end.

'Toxin

2012-02-28 01:43:51

No from me, strictly based off of DTM's, no TPA's at all. Sorry.

E: And you may want to use your own anti-ban system, that'd be neat to integrate into a script going for members, not use the boring ol' one we have ;)

Jagex_Fagex

2012-02-28 02:28:01

No from me, activity is way too low. Also, your walking procedure to the bank is really bad(no offence). There is no failsafes for if you don't find the DTM. If it doesn't find it, too bad, it's always going to start on the loop, which is inevitably an infinite loop because there is no flag if it doesn't find the DTM and click on it.

Nukewire

2012-02-28 02:34:35

From: Jagex_Fagex
No from me, activity is way too low. Also, your walking procedure to the bank is really bad(no offence). There is no failsafes for if you don't find the DTM. If it doesn't find it, too bad, it's always going to start on the loop, which is inevitably an infinite loop because there is no flag if it doesn't find the DTM and click on it.


Never thought about that, I've been running it on two accounts for awhile now and haven't run into that. I'll have to workout a failsafe, thanks!

Justin

2012-02-28 06:39:38

Currently, its a no from me, infinite loops and no fail safes. Also your activity is low :(

masterBB

2012-02-28 06:44:13

I clicked yes when I wanted to click no ;p. Anyway it's what the others say. We have high standards for members. Your script looks great for one of your first scripts, but it's not members worthy material. Keep on scripting and you will make a members worthy app soon!

[XoL]

2012-02-28 07:37:16

No from me. Sorry. Script could use some major improvements as stated above, and you need to work on activity. SRL members is a community rank, we help the community.

Try to follow this guide to become a SRL member:
http://villavu.com/forum/showthread.php?t=74195

For learning purposes I recommend starting with YoHoJo's video tutorials, informative and they will teach you what you need to know to create a basic/decent script.
http://villavu.com/forum/showthread.php?t=69179

For more advanced scripting I would suggest reading these guides:
http://villavu.com/forum/forumdisplay.php?f=96

Also one thing I really think is important is being community focused, you have 8 posts and have been here since June/2006! Posting actively not only shows you genuinely care for the community it also helps your chances of getting accepted.

These guides can help you with that:
http://villavu.com/forum/showthread.php?t=72050
http://villavu.com/forum/showthread.php?t=66084

Anyway, sorry for the roughness. Good luck.

Nukewire

2012-03-02 02:39:35

Don't know if any of your are interested, but here is an updated version of my Kebabuyer.

program Kebabuyer;
// --------------------------------------------------------------
// Kebabuyer - Al-Kharid Kebab Buyer
// Version: 0.3
// By: Nukewire
// Start in the bank of Al-Kharid with coins in your coin pocket
// Enjoy!!
//---------------------------------------------------------------

//--------------------------Change Log---------------------------
// v 0.1
// Initial release
// v 0.2
// Updated walking procedure
// Updated function used for clicking
// Improved banking procedure
// Changed wait times to account for lag
// v 0.3
// Greatly improved walking procedures, will now seem more human with multiple DTMS
// Failsafe for walking implemented; if it can't find the DTM it tries another
// Script actually stops when desired goal has been reached
// Incorporated short breaking system ( secondary anti-ban procedure )



{$DEFINE SMART}
{$IFDEF SMART}
{$i SRL/SRL/Misc/Smart.simba}
{$ENDIF}
{.include SRL/SRL.simba}

const
NumbOfPlayers = 1; // number of account you will be using
StartPlayer = 0; // which player to start with
RunTil = 900; // how many Kebabs would you like to purchase?


Var
x, y, invPlus, KebabBought, TO_BANK, TO_Kebab, DEPOSIT_ALL, ARROW_BUTTON, YES_PLEASE: Integer;

procedure DeclarePlayers;
var
i: Integer;
begin
NumberOfPlayers(NumbOfPlayers);
CurrentPlayer := StartPlayer;
for i := 0 to NumbOfPlayers-1 do
begin
Players[0].Name := ''; // your Username.
Players[0].Pass := ''; // your Password.
Players[0].Active := True; // are you using this account?
Players[0].Member := False; // are you a member?
end;
end;
// setup all the DTMS for use
procedure SetDTMS;
begin
DEPOSIT_ALL := DTMFromString('megIAAHicxc67CsJAEIXhSZAUglptmzfynUSJoCheULG00Ua8oSgGIuKL6b86gbAESSG48C0zzM5hQxE5eyJrtcUBJ1yRqBtiXHDEHhssdc/2dzwcO52vsHAMfJEeOojQymij63/eTDDFTOsRGo5Ic/oYY55hd4aaZ7Ob9VCCoJSrVq3kSuciXmHGmLe0f3KX/6D4j3/r+3kBkxcq4A==');
ARROW_BUTTON := DTMFromString('mrAAAAHic42BgYChiYWAoBGJfIJ4KxSB2PBBXA/EtJgaGS0wQ+iYQX4biS1D8799fBkYmZoZlS5cyXLp4EcxGxoQAIwEMAwA+YhHm');
YES_PLEASE := DTMFromString('mEQIAAHick2RgYMhjYWDIQsKFSLgEiCuAOBmIE5DoSCCOAeIAIA6G4jAgbgXiJiT6OhBzAfF2JgaGrUC8E4j3APEuIN4GxJuYIHIweZDYDqg8THwzlN4FZW+F8tHVnThxgmZ4nqssGNMDMNIB4wQArtZU8Q==');
end;

// when called, it will free up all the DTMS
procedure FreeDTMS;
begin
FreeDTM(DEPOSIT_ALL);
FreeDTM(ARROW_BUTTON);
FreeDTM(YES_PLEASE);
FreeDTM(TO_BANK);
FreeDTM(TO_KEBAB);
end;

// basic setup procedure
procedure Setup;
begin
Smart_Server := 30;
Smart_Members := False;
Smart_Signed := True;
Smart_SuperDetail := False;
SetupSRL();
DeclarePlayers;
LogInPlayer;
MouseSpeed := 18;
wait(100+random(100));
SetAngle(0);
ClickNorth(0);
end;

Procedure Antiban; //credit Solidone40
begin
FindNormalRandoms;
Case Random(170) Of
1: HoverSkill('strength', False);
2: HoverSkill('random', False);
3: Boredhuman;
4: Wait(2500 + random(4500));
5: HoverSkill('mining', False);
6: PickUpMouse;
7: RandomMovement;
8: RandomRClick;
9: wait(4000+random(1000));
10:Boredhuman;
end;
end;

// ShortBreak procedure takes short breaks, but not very often. This simulates human
// boredom or lack of attenion
Procedure ShortBreak;
begin
Case Random(400) Of
1: begin Writeln('Taking a short break'); wait(10000 +random(600)); Writeln('Break over, resuming task.'); end;
10:begin Writeln('Taking a short break'); wait(15000 +random(600)); Writeln('Break over, resuming task.'); end;
23:begin Writeln('Taking a short break'); wait(20000 +random(600)); Writeln('Break over, resuming task.'); end;
57:begin Writeln('Taking a short break'); wait(21000 +random(600)); Writeln('Break over, resuming task.'); end;
103:begin Writeln('Taking a short break'); wait(21000 +random(600)); Writeln('Break over, resuming task.'); end;
205:begin Writeln('Taking a short break'); wait(21000 +random(600)); Writeln('Break over, resuming task.'); end;
270:begin Writeln('Taking a short break'); wait(21000 +random(600)); Writeln('Break over, resuming task.'); end;
306:begin Writeln('Taking a short break'); wait(21000 +random(600)); Writeln('Break over, resuming task.'); end;
364:begin Writeln('Taking a short break'); wait(21000 +random(600)); Writeln('Break over, resuming task.'); end;

end;
end;


// use DTM to walk to the Kebab stand
procedure WalkToKebab;
begin
Writeln('Attempting to walk to Kebabs...');
SetAngle(0);
ClickNorth(0);
// This case statement will pick from 1 of three DTMS I have for walking to the
// kebab seller. This will also randomize walking therefore acting like an Anti-Ban
Case Random(3) Of
1: TO_KEBAB := DTMFromString('mlwAAAHicY2dgYFjOxMDQAcTFQDwLiLcA8Wkg7gRidiAWBWJWIFYBYl0gNgBiVSA+taqbYVpfJkNjURTD1LIIMHszEIPY/4HmcuHAjHgwFAAAP6URRw==');
2: TO_KEBAB := DTMFromString('mlwAAAHicY2dgYNABYiEgtgHiQCAWBGIlBgTQBWIPINYEYi8gVgBicbAMI8PzXzwM/fWpDJu7shimFEeA8bSuTIb/QFkuHJgRD4YCABmlDLY=');
3: TO_KEBAB := DTMFromString('mrAAAAHic42BgYFjIxMBQBMRdQFwNxEeAeDMQRwDxEiAWBGI1IA4AYmMgdgBiVyAWAOI4IF7aEcEwrSuTYXNXFsOU4ggwbZgoxRDpa8EwoTGN4T/QDi48mJEAhgEAvWcSag==');
end;


if FindDTM(TO_KEBAB, x, y, MMX1, MMY1, MMX2, MMY2) then
begin
Mouse(x, y, 4, 4, True);
Writeln('Walking to Kebab Seller');
Antiban;
flag();
end
else
// If it fails to find the DTM it will try another
begin
WalkToKebab;
end;

end;

// use DTM to walk to the Kebab stand
procedure WalkToBank;
begin
Writeln('Attempting to walk to bank...');
SetAngle(0);
ClickNorth(0);
// This case statement will pick from 1 of three DTMS I have for walking to the
// bank. This will also randomize walking therefore acting like an Anti-Ban
Case Random(3) Of
1: TO_BANK := DTMFromString('mrAAAAHic42BgYIhkYmCoAmJ7IFYG4kQgngDEU4C4FYidGRkY/gPV6QFpcSB+CWTbAml2INYB4m3tGQxnFncxzGxPZ4jxMmM4PLsZLAbiq4SIgPVy4cGMBDAMAADbzRMl');
2: TO_BANK := DTMFromString('mlwAAAHicY2dgYFACYi8gTgHiMCDWBmJbBghIA2InIOYAYl+omA0QqwDx9q4UBtdEKYbJzfFg9pF59QyzupIZmnKDGf4D5blwYEY8GAoA0MkOXg==');
3: TO_BANK := DTMFromString('mrAAAAHic42BgYFBngIBSII4C4lQgDgRiBSDWg7LlgJgRiI2A2BWIuaB6DIH4018+hmhvA4ZZXckMrolSDNu7UhjOLmtj6K6MAov9h6rHhRkJYBgAACM8EA8=');
end;

if FindDTM(TO_BANK, x, y, MMX1, MMY1, MMX2, MMY2) then
begin
Mouse(x, y, 4, 4, True);
Writeln('Walking to Bank');
Antiban;
flag();
end
else
// If it fails to find the DTM it will try another
begin
WalkToBank;
end;

end;

// find Karim and buy Kebabs from him
procedure BuyKebabs;
begin
Antiban;
invPlus := InvCount;
if FindObj(X, Y, 'Kari', 6373465, 20) then
begin
Mouse(x, y, 2, 2, false);
ChooseOption('Talk-to');
wait(2000 +random(600));
if FindDTM(ARROW_BUTTON, X, Y, MCX1, MCY1, MCX2, MCY2) then
begin
Mouse(X, Y, 6, 6, True);
wait(1200 +random(800));
Writeln('Buying Kebab');
if FindDTM(YES_PLEASE, X, Y, MCX1, MCY1, MCX2, MCY2) then
begin
Mouse(X, Y, 8, 8, True);
wait(1200+random(800));
if FindDTM(ARROW_BUTTON, X, Y, MCX1, MCY1, MCX2, MCY2) then
begin
Mouse(X, Y, 6, 7, True);
wait(1000+random(800));
if InvCount = (InvPlus + 1) then
KebabBought := (KebabBought + 1)

end;
end;

end;
end;
end;

// procedure used to bank the Kebabs
procedure BankKebabs;
begin
repeat
if FindObj(X, Y, 'o Banke', 7105649, 20) then
begin
Mouse(x, y, 6, 6, false);
ChooseOption('ank Bank');
Writeln('Depositing Kebabs');
wait(3000);
end;
// had to drop this part out of the main if statement, was causing
// issues and creating an infinite loop if there was slight lag.
if FindDTM(DEPOSIT_ALL, X, Y, MSX1, MSY1, MSX2, MSY2) then
begin
Mouse(X, Y, 6, 6, True);
wait(1000);
if InvEmpty then
CloseBank;
end;
until InvEmpty;
end;

// simple progress report
procedure ProgressReport;
begin
Writeln('+----------------------------+');
Writeln('|----Kebabuyer By: Nukewire--|');
Writeln('|----Run Time:' +TimeRunning);
Writeln('|----Kebabs Bought:' +IntToStr(KebabBought));
Writeln('+----------------------------+');

end;

function StopScript(): Boolean;
begin
if (RunTil = KebabBought) then
begin
result := true;
end;
end;


// "main"
begin
repeat
SetDTMS;
Setup;

repeat

FindNormalRandoms;
WalkToKebab;

repeat
FindNormalRandoms;
BuyKebabs;
until InvFull;

FindNormalRandoms;
WalkToBank;
BankKebabs;
ProgressReport;
ShortBreak;

until StopScript() or Not LoggedIn();

FreeDTMS;
Writeln('Thank you for using Kebabuyer by: Nukewire');
LogOut();
until Not LoggedIn();
end.

P1nky

2012-03-02 03:46:38

Add TPAS also more failsafes.

Sorry no from me, good luck.

Cheers

Bam Bam

2012-03-02 17:18:20

No from me based on post count.

Best of luck next time.
-Bam Bam

'Toxin

2012-03-09 09:33:20

Just remember, for your next application… we all here like to see FULL use of SRL, always remember that :) The library is there for full use!

Hobbit

2012-03-17 21:03:35

The poll has closed and you didn't quite make it this time. Please take the suggestions made in this thread and improve on the script and reapply in 4 weeks time :)

Cheers
Hobbit