DemiseScythe
2012-10-28 05:20:41
Hi, all, I haven't had much time to be at my computer lately but I wanted a slight discussion about Double Experience Weekend merches, like how good they went and such, just a nice chat for a change, I am quitting on RS soon to pursue my dream so this will also be a sort of farewell thread. Here are my merches:




Running these four simultaneously, each flip takes about 50 to 70 minutes to complete, that includes time to buy all items and time to sell all items.
This is my dunger, or at least what I wrote of it, it doesn't do much but the code is interesting nevertheless, some people might learn something from it:
Last but not least, I wanted to thank everyone who has been nice to me during my stay at SRL. I just finally found what I would really like in life and will pursue that from now on. I will still sell gp on my thread for as long as my mercher works, so I won't be completely gone, just mostly inactive and done with RS scripting. Please do not ask for my mercher's code, you can easily fix the version I released on the member's section or write your own, the hard part is finding the right items anyways. My mercher is a year old now and I plan on keeping it private since I do not wish for the price of rsgp to get even crappier or the RS economy to get worst than it already is, anyway see you all.
~ DemiseScythe
~ A.S.L.G.
Running these four simultaneously, each flip takes about 50 to 70 minutes to complete, that includes time to buy all items and time to sell all items.
This is my dunger, or at least what I wrote of it, it doesn't do much but the code is interesting nevertheless, some people might learn something from it:
program DemiseDungeoneerer;
{$Define Smart}
{$I SRL/SRL.Simba}
{<<<<<<<<<<<<<<Demise Dungeoneerer>>>>>>>>>>>>>>>}
{<<<<<<<<<<<<<<<<<<<<<V 1.0>>>>>>>>>>>>>>>>>>>>>>}
var
x, y, T, Complexity, Spin, RoK: Integer;
CP, PP: String;
aFound: Extended;
World: Array [1..8] of Integer;
procedure Settings;
begin
Complexity := 4;
MouseSpeed := 25;
SRL_DisableIPLog := True;
HowManyPlayers := 1;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0;
Players[0].Name := '';
Players[0].Pass := '';
Players[0].Active := True;
World[1] := 9;
World[2] := 22;
World[3] := 54;
World[4] := 23;
World[5] := 5;
World[6] := 18;
World[7] := 6;
World[8] := 21;
end;
procedure SmartSettings;
begin
SRL_SixHourFix := True;
Smart_FixSpeed := True;
ClearDebug;
end;
procedure DSixHourFix;
var
Refresh: Integer;
begin
FreeSRL;
Refresh := SmartGetRefresh;
SmartKillClient(SmartCurrentClient);
SetupSRL;
end;
procedure DSpin;
begin
Wait(250 + Random(100));
if FindDTM(Spin, x, y, 0, 0, 760, 501) then
begin
Mouse(x, y, 1, 1, False);
WaitOption('Select', 500);
end;
Wait(250 + Random(100));
end;
function DTime: Integer;
var
Hour, Mins, Sec, MSec: Word;
begin
DecodeTime(Now, Hour, Mins, Sec, MSec);
Result := Hour;
end;
function DDate: Integer;
var
Year, Month, Day: Word;
begin
DecodeDate(Date, Year, Month, Day);
Result := Day;
end;
procedure DLogInPlayer;
begin
LoginPlayerToLob;
OpenWorldScreen;
if (DDate mod 2 = 1) then
begin
case DTime of
0..5:
begin
Writeln('We are logging in with World A');
SelectWorld(World[1]);
end;
6..11:
begin
Writeln('We are logging in with World B');
SelectWorld(World[2]);
end;
12..17:
begin
Writeln('We are logging in with World C');
SelectWorld(World[3]);
end;
18..23:
begin
Writeln('We are logging in with World D');
SelectWorld(World[4]);
end;
end;
end else
begin
case DTime of
0..5:
begin
Writeln('We are logging in with World E');
SelectWorld(World[5]);
end;
6..11:
begin
Writeln('We are logging in with World F');
SelectWorld(World[6]);
end;
12..17:
begin
Writeln('We are logging in with World G');
SelectWorld(World[7]);
end;
18..23:
begin
Writeln('We are logging in with World H');
SelectWorld(World[8]);
end;
end;
end;
LogInPlayer;
end;
procedure DefineMode;
begin
Spin := DTMFromString('mwQAAAHic42RgYOhjYmDoBOIpUAxi9wPxVCDuYILI+zIyMLhDcRAUuzFCxH2AOBiI/x1yZLCRFANjFaC5KkCxFTOnMkT7eTMkhwYzmKorM/ADxQlhoDYGJgIYDgAACw/k');
RoK := DTMFromString('mwQAAAHic42RgYLBhYmCwA2JTIPYAYm8gdgBiLyh2BWJJRgYGESAWBWIhIBYGYi4glgJieSDmAWIPRwOgaUxg/Pd3H8PfABUw7SrGxbB3dxbDG29FBn6gLCHMSASGAwBP8Q6f');
end;
procedure FrDTM;
begin
FreeDTM(Spin);
FreeDTM(RoK);
end;
procedure Ending;
begin
Writeln('The Script will now Stop');
Terminatescript;
end;
procedure DSetup;
begin
DLogInPlayer;
Wait(250 + Random(100));
SetAngle(SRL_Angle_High);
Wait(250 + Random(100));
DSpin;
end;
function TabDung: Boolean;
begin
Result := (GetTextAtExWrap(596, 205, 636, 222, 0, 50, 10, 105414, 5, UpCharsEx) = 'PaMy');
end;
procedure MakeTabDung;
var
PartyTab: Integer;
begin
if (not(TabDung)) then
begin
PartyTab := DTMFromString('mlwAAAHicY2dgYChiYmAoAeIqKJ0LxHlAXAnE74DyL4D4LRB/gtLPgfgDEE/NdGf4ZarM8DOQm+HvdlaGM7U8DH9rXMB8fqA8LsyIB0MBAJGuFDM=');
if (not(FindDTM(PartyTab, x, y, 610, 167, 641, 201))) then
begin
GameTab(tab_Inv);
if FindDTM(RoK, x, y, MIX1, MIY1, MIX2, MIY2) then
begin
Mouse(x, y, 3, 3, False);
WaitOption('Open', 600);
Wait(950 + Random(100));
end else
begin
Writeln('No Ring of Kinship in Inventory');
Ending;
end;
end;
if FindDTM(PartyTab, x, y, 610, 167, 641, 201) then
begin
Mouse(x, y, 3, 3, True);
Wait(250 + Random(100));
end;
FreeDTM(PartyTab);
end;
end;
function InParty: Boolean;
begin
Result := FindColorTolerance(x, y, 16777215, 584, 233, 692, 246, 5);
end;
procedure RestartProgress;
begin
Writeln('We have reached our Max Floor');
Writeln('Restarting Progress');
Mouse(704, 447, 3, 3, True);
Wait(550 + Random(100));
Mouse(260, 466, 3, 3, True);
Wait(550 + Random(100));
Mouse(260, 406, 3, 3, True);
Wait(950 + Random(100));
end;
function TargetFloor: Integer;
begin
T := 0;
repeat
CP := GetTextAtExWrap(650, 432, 673, 446, 0, 5, 10, 10674914, 5, 'UpChars');
Writeln('Current Progress: ' + CP);
PP := GetTextAtExWrap(650, 446, 673, 460, 0, 5, 10, 10674914, 5, 'UpChars');
Writeln('Previous Progress: ' + PP);
if (StrToInt(CP) >= 12) then
begin
RestartProgress;
end else
begin
Result := StrToInt(CP);
Exit;
end;
Inc(T);
until (T > 2) or (not(LoggedIn));
Writeln('We fucked up');
end;
procedure ChooseFloor;
var
YY, FloorP, FloorT: Integer;
SF: String;
begin
FloorT := DTMFromString('mKgEAAHic42NgYGgD4kYgroPiBiBuAeJ2IO4E4j4g7gfiHiCeBMVZUPEuKJ4IxL1QuYlQORB/AhT3Iok/erQIAzPgEIdh3VpuBlagGnIwI5kYFQAAQxEs+A==');
FloorP := TargetFloor + 1;
Writeln('Choosing Floor: ' + IntToStr(FloorP));
Mouse(696, 367, 3, 3, True);
Wait(1550 + Random(150));
//FloorP := 13;
T := 0;
repeat
MMouse(35, 153, 55, 1);
Wait(350 + Random(100));
if FindDTM(FloorT, x, y, MSX1, MSY1, MSCX, MSY2) then
begin
//Writeln('Cords: ' + IntToStr(x) + ',' + IntToStr(y));
SF := GetTextAtExWrap((x + 20), (y - 7), (x + 37), (y + 7), 0, 5, 10, 10674914, 5, 'StatChars');
//Writeln('Looking at Floor ' + SF);
YY := y + ((FloorP - StrToInt(SF))*10);
if (YY > 212) then
begin
Mouse(246, 225, 1, 1, True);
Wait(250 + Random(100));
Mouse(246, 225, 1, 1, True);
Wait(250 + Random(100));
end else
begin
Mouse(35, YY, 35, 1, True);
Wait(350 + Random(100));
Mouse(211, 281, 3, 3, True);
Wait(350 + Random(100));
FreeDTM(FloorT);
Exit;
end;
end;
Inc(T)
until (T > 5) or (not(LoggedIn));
end;
procedure ChooseComplexity;
begin
Writeln('Using Complexity: ' + IntToStr(Complexity));
if (Complexity > 4) then
begin
Writeln('Complexities higher than 4 are not Supported');
Ending;
end;
Mouse(696, 395, 3, 3, True);
Wait(1550 + Random(150));
case Complexity of
1: x := 39;
2: x := 78;
3: x := 115;
4: x := 155;
5: x := 193;
6: x := 232;
end;
Mouse(x, 48, 3, 3, True);
Wait(350 + Random(100));
Mouse(211, 281, 3, 3, True);
Wait(350 + Random(100));
end;
procedure SafeDung;
begin
GameTab(tab_Inv);
if (InvCount > 1) then
begin
Writeln('Items in Inventory');
Ending;
end;
end;
procedure DEnterDung;
var
MMEntrance, MSEntrance: Integer;
begin
MakeTabDung;
if (not(InParty)) then
begin
Mouse(610, 326, 60, 10, True);
Wait(450 + Random(150));
end;
ChooseFloor;
ChooseComplexity;
SafeDung;
MMEntrance := DTMFromString('mggAAAHicY2NgYOhgYmCYCMR5QNwJxFVAXAvEHUC5FiBuBuIKIC4H4h4gNrOwZvjCzMbw5MVHBr+AEDA+dvISAz9QDhtmwoEhAADIvA8y');
MSEntrance := DTMFromString('m1gAAAHic42JgYFBkZGAQBGIVIDaCsiWAWBfKzgXit0B1u4F4FRAvB+IdQHwQiK9AMQtQzXwgrQ6ks9IyCeJ1G7cx8APVE4OZiMQIAAAa3RYW');
if FindDTMRotated(MMEntrance, x, y, MMX1, MMY1, MMX2, MMY2, -Pi/4, Pi/4, Pi/24, aFound) then
begin
Writeln('Located Entrance');
Mouse(x, (y+3), 2, 3, True);
FFlag(8);
Wait(350 + Random(100));
if FindDTMRotated(MSEntrance, x, y, MSX1, MSY1, MSX2, MSY2, -Pi/2, Pi/2, Pi/24, aFound) then
begin
Writeln('Found Entrance');
Mouse(x, y, 2, 3, True);
FFlag(8);
Wait(750 + Random(100));
Writeln('Entered the Dungeon');
end;
end;
FreeDTM(MMEntrance);
FreeDTM(MSEntrance);
end;
begin
SmartSettings;
SetupSRL;
Settings;
DefineMode;
AddOnTerminate('FrDTM');
//repeat
DSetup;
//repeat
DEnterDung;
//until (not(LoggedIn));
//DSixHourFix;
//until False;
Ending;
end.Last but not least, I wanted to thank everyone who has been nice to me during my stay at SRL. I just finally found what I would really like in life and will pursue that from now on. I will still sell gp on my thread for as long as my mercher works, so I won't be completely gone, just mostly inactive and done with RS scripting. Please do not ask for my mercher's code, you can easily fix the version I released on the member's section or write your own, the hard part is finding the right items anyways. My mercher is a year old now and I plan on keeping it private since I do not wish for the price of rsgp to get even crappier or the RS economy to get worst than it already is, anyway see you all.
~ DemiseScythe
~ A.S.L.G.