Log in

View Full Version : Mordaut Solving: Accounts Needed



Iroki
01-06-2009, 07:13 PM
So.. i need your help with developing this solver. All what you can do is:
- send me details (login and password )

I have 35 - 45 % done but now i haven't accoutants in this random so i can't continue work :(

noidea
01-06-2009, 07:15 PM
Holy Sh*T!
You just did ScapeRune, now mauderaut! I love you.

Torrent of Flame
01-06-2009, 07:16 PM
I had one, but I think some people said that it wasn't near being solved, so I dont have it in there any more. Sorry.

jakeyboy29
01-06-2009, 07:18 PM
for you, im going to auto now so i get it, ill report back.

NCDS
01-06-2009, 07:20 PM
<333 for you and your random solving! ;) lol
Ill definately let you know.

Iroki
01-06-2009, 07:28 PM
Holy Sh*T!
You just did ScapeRune, now mauderaut! I love you.

ScapeRune was easy to solve :) btw i think that mime is easy too, but mordaut is challange for me :)

btw ScapeRune i was makeing hmm.. 3 mounths ?? :)

EDIT: i need accoutants in mime too :)

Naum
01-06-2009, 07:46 PM
Yup. Umm I got some accounts for you manfromczech. Big project this :)

Mordaut isn't going to be that hard tbh all you need is the pictures then you just manipulate the pixels. SKy Scripter had 50% of his solver working :)

tarajunky
01-06-2009, 08:17 PM
I've got a bunch of accounts in various randoms, including Mordaut and Mime.

I'll send you the full list.

Baked0420
01-11-2009, 09:16 PM
If I get any mordaut I'll send them to you, goodluck with this solver, it'd be awesome to see somebody finally finish this.

EDIT: If you wanna get mordauts fast, like a month or two ago, what I used to do was use an auto wc'er I made and cut normal trees in edgeville a few tiles east of the bank, I just made a quick wc'er and because I made it quickly just to get randoms it wasn't very good, but it didn't fail, it just probably looked pretty botty but I think that's why I always got mordaut before one load of logs =).

So just make a crappy wc'er and cut trees in edgeville to try to get mordauts to send in so they can solve it.

Iroki
02-03-2009, 08:04 AM
Hey Guys,
"What comes next?" solved!! its half of work at Mr.mordaut solver but. For me its the most complicated and hard work needed random. Ok here is:program New;
{.include SRL/SRL.scar}
const
ScanningTime = 4.5; //seconds

function SmallRandomSolver: integer;
var
i, slot: integer;
begin
Result := (3 + Random(3));
for i := 0 to 6 do
begin
slot := Mordaut_GetSlotNr(ScanningTime, GetClientCanvas.Handle);
if (slot <> 0) then
begin
WriteLn(IntToStr(slot));
Result := slot;
Exit;
end;
end;
end;



begin
SetUpSRL;
case SmallRandomSolver of
3: Mouse(RandomRange(91, 131), RandomRange(220, 252), 0, 0, True);
4: Mouse(RandomRange(187, 227), RandomRange(220, 252), 0, 0, True);
5: Mouse(RandomRange(283, 323), RandomRange(220, 252), 0, 0, True);
6: Mouse(RandomRange(379, 419), RandomRange(220, 252), 0, 0, True);
end;
end.

and source, ( i think that i must post it according to my past )

library MordautPlugin;


uses
FastShareMem,
SysUtils,
Classes,
Windows,
Math,
Graphics;

{$R *.res}


type
TSCARPlugFunc = record
Name: string;
Ptr: Pointer;
end;


// TOneStrProc = procedure(s: string);
TSCARWindowHandle = function(): Integer;

type
TRGB32 = packed record
B, G, R, A: Byte;
end;
TRGB32Array = packed array[0..MaxInt div SizeOf(TRGB32) - 1] of TRGB32;
PRGB32Array = ^TRGB32Array;


var
// Writeln: TOneStrProc;
GetClientWindowHandle: TSCARWindowHandle;
c: array of array of array of Integer;
b: array of array of array of Boolean;
w, h: Integer;
// Fillinfo: boolean;






{

Mr.Mordaut solver
By: ManFromCzech, small tweaks by NaumanAkhlaQ

}


function Mordaut_GetSlotNr(ScanningTime: Extended; ClientHDC: HDC): integer; stdcall;

var
BMP: TBitmap;
Line: PRGB32Array;
Sx1, Sy1, Sx2, Sy2, x, y, sx, sy, a1, a2, b1, b2, Slot, i: integer;
Start, Stop, Freq: int64;
Time: double;
ObjToFind: string;
Obj: array of string;
Lum: array of extended;
CoMax: array of Integer;
CoMin: array of Integer;
BMaxArea: array of Integer;
BMinArea: array of Integer;
BArea: array of Integer;
BlackArea: array of Integer;
ObjectArea: array of Integer;

begin
SetLength(Obj, 7);
SetLength(Lum, 7);
SetLength(CoMax, 7);
SetLength(CoMin, 7);
SetLength(BMaxArea, 7);
SetLength(BMinArea, 7);
SetLength(BArea, 7);
SetLength(BlackArea, 7);
SetLength(ObjectArea, 7);

for Slot := 0 to 6 do
begin
CoMax[Slot] := 0; CoMin[Slot] := 2000; BMaxArea[Slot] := 0; BMinArea[Slot] := 0;
BArea[Slot] := 0;
end;

QueryPerformanceFrequency(Freq);
QueryPerformanceCounter(Start);

Sx1 := 0; Sy1 := 0; Sx2 := 0; Sy2 := 0; a1 := 0; a2 := 0; b1 := 0; b2 := 0;
repeat

w := 456; h := 291;
Bmp := TBitmap.Create;
Bmp.Width := w;
Bmp.Height:= h;
Bmp.PixelFormat := pf32bit;
SetLength(c, w + 1, h + 1, 7);
SetLength(b, w + 1, h + 1, 7);
BitBlt(Bmp.Canvas.Handle, 0, 0, w, h, ClientHDC, 0, 0, SRCCOPY);

for Slot := 0 to 6 do
begin
BlackArea[Slot] := 0;
//////////////////////


{
Slots:
_________________________________
| ______ ______ ______ |
| | | | | |
| | 0 | 1 | 2 | |
| |______|______|______| |
| |
| What comes next? |
| ______ ______ ______ ______ |
| | | | | | |
| | 3 | 4 | 5 | 6 | |
| |______|______|______|______| |
|_________________________________|
}

case Slot of

0, 1, 2: begin
Sx1 := 55 + Slot*100;
Sy1 := 45;
Sx2 := Sx1 + 100;
Sy2 := 145;
end;

3, 4, 5, 6: begin
Sx1 := -245 + Slot*100;
Sy1 := 190;
Sx2 := Sx1 + 100;
Sy2 := 290;
end;
end;



for y := Sy1 to Sy2 do
begin
Line := bmp.ScanLine[y];
for x := Sx1 to Sx2 do
begin
c[x][y][Slot] := RGB(Line[x].R, Line[x].G, Line[x].B);
if (Line[x].R <> 0) then
begin
if InRange(Line[x].R, 65, 95) then
if InRange(Line[x].G, 80, 115) then
if InRange(Line[x].B, 65, 95)then
begin
c[x][y][Slot] := 0;
b[x][y][Slot] := True;
inc(BlackArea[Slot]);
end;
end else
begin
c[x][y][Slot] := 0;
b[x][y][Slot] := True;
inc(BlackArea[Slot]);
end;
end;
end;


ObjectArea[Slot] := (10201 - BlackArea[Slot]);



for sx := Sx2 - 1 downto Sx1 + 1 do
for sy := Sy1 + 1 to Sy2 - 1 do
begin
if (c[sx][sy][Slot] <> 0) then
begin
a2 := sx;
break;
end;
end;

for sx := Sx1 + 1 to Sx2 - 1 do
for sy := Sy1 + 1 to Sy2 - 1 do
begin
if (c[sx][sy][Slot] <> 0) then
begin
a1 := sx;
break;
end;
end;


for sy := Sy2 - 1 downto Sy1 + 1 do
for sx := Sx1 + 1 to Sx2 - 1 do
begin
if (c[sx][sy][Slot] <> 0) then
begin
b2 := sy;
break;
end;
end;

for sy := Sy1 + 1 to Sy2 - 1 do
for sx := Sx1 + 1 to Sx2 - 1 do
begin
if (c[sx][sy][Slot] <> 0) then
begin
b1 := sy;
break;
end;
end;


BArea[Slot] := (a2 - a1)*(b2 - b1);


if (ObjectArea[Slot] > CoMax[Slot]) then
begin
CoMax[Slot] := ObjectArea[Slot];
BMaxArea[Slot] := BArea[Slot];
end;

if (ObjectArea[Slot] < CoMin[Slot]) then
begin
CoMin[Slot] := ObjectArea[Slot];
BMinArea[Slot] := BArea[Slot];
end;

//////////////
end;

Bmp.Free;

QueryPerformanceCounter(Stop);
Time := (1E3 * (Stop - Start) / Freq);

Until (Time >= (ScanningTime * 1000));


for Slot := 0 to 6 do
begin
Lum[Slot] := (BMaxArea[Slot]/CoMax[Slot]);

//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//~~~~~~~~~~~~~~~~~~~~~~~~~~ Objects database ~~~~~~~~~~~~~~~~~~~~~~~~~~
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Obj[Slot] := 'unknow';
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
if (Slot = 0) then
begin

if InRange(Lum[Slot], 1.3, 1.9) and InRange(BMaxArea[Slot], 700, 1200) and InRange(BMinArea[Slot], 340, 650) and InRange(CoMax[Slot], 580, 730)
and InRange(CoMin[Slot], 300, 460) then Obj[Slot] := 'Q18'; // Boots

if InRange(Lum[Slot], 1.35, 1.9) and InRange(BMaxArea[Slot], 100, 1350) and InRange(BMinArea[Slot], 300, 900) and InRange(CoMax[Slot], 700, 775)
and InRange(CoMin[Slot], 115, 270) then Obj[Slot] := 'Q03'; // Thieve mask

if InRange(Lum[Slot], 2.7, 4.9) and InRange(BMaxArea[Slot], 800, 1400) and InRange(BMinArea[Slot], 0, 160) and InRange(CoMax[Slot], 280, 360)
and InRange(CoMin[Slot], 20, 80) then Obj[Slot] := 'Q02'; // Scimitar
end;
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
if (Slot = 1) then
begin

if InRange(Lum[Slot], 1.5, 2.8) and InRange(BMaxArea[Slot], 1000, 1550) and InRange(BMinArea[Slot], 200, 450) and InRange(CoMax[Slot], 500, 670)
and InRange(CoMin[Slot], 180, 320) then Obj[Slot] := 'Q19'; // Ore

if InRange(Lum[Slot], 1.4, 2.2) and InRange(BMaxArea[Slot], 820, 1000) and InRange(BMinArea[Slot], 320, 700) and InRange(CoMax[Slot], 440, 540)
and InRange(CoMin[Slot], 250, 330) then Obj[Slot] := 'Q17'; // Full helmet

if InRange(Lum[Slot], 1.05, 1.35) and InRange(BMaxArea[Slot], 1050, 1300) and InRange(BMinArea[Slot], 500, 650) and InRange(CoMax[Slot], 950, 1050)
and InRange(CoMin[Slot], 480, 580) then Obj[Slot] := 'Q16'; // Cake

if InRange(Lum[Slot], 0.9, 1.4) and InRange(BMaxArea[Slot], 250, 380) and InRange(BMinArea[Slot], 220, 300) and InRange(CoMax[Slot], 240, 320)
and InRange(CoMin[Slot], 150, 200) then Obj[Slot] := 'Q15'; // Garlic

if InRange(Lum[Slot], 1.2, 4.0) and InRange(BMaxArea[Slot], 200, 560) and InRange(BMinArea[Slot], 20, 360) and InRange(CoMax[Slot], 130, 170)
and InRange(CoMin[Slot], 10, 120) then Obj[Slot] := 'Q13'; // Shrimp

if InRange(Lum[Slot], 1.4, 1.7) and InRange(BMaxArea[Slot], 510, 610) and InRange(BMinArea[Slot], 290, 410) and InRange(CoMax[Slot], 330, 410)
and InRange(CoMin[Slot], 210, 260) then Obj[Slot] := 'Q11'; // Strawberry

if InRange(Lum[Slot], 1.15, 1.4) and InRange(BMaxArea[Slot], 1150, 1300) and InRange(BMinArea[Slot], 380, 520) and InRange(CoMax[Slot], 900, 950)
and InRange(CoMin[Slot], 380, 460) then Obj[Slot] := 'Q09'; // Fire rune

if InRange(Lum[Slot], 1.45, 2.4) and InRange(BMaxArea[Slot], 700, 1200) and InRange(BMinArea[Slot], 0, 70) and InRange(CoMax[Slot], 465, 515)
and InRange(CoMin[Slot], 0, 50) then Obj[Slot] := 'Q01'; // White approw

if InRange(Lum[Slot], 1.40, 2.2) and InRange(BMaxArea[Slot], 940, 1310) and InRange(BMinArea[Slot], 680, 1000) and InRange(CoMax[Slot], 560, 640)
and InRange(CoMin[Slot], 300, 360) then Obj[Slot] := 'Q06'; // Watering can

if InRange(Lum[Slot], 1.5, 1.9) and InRange(BMaxArea[Slot], 1150, 1380) and InRange(BMinArea[Slot], 200, 500) and InRange(CoMax[Slot], 720, 790)
and InRange(CoMin[Slot], 200, 360) then Obj[Slot] := 'Q07'; // Bar
end;
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
if (Slot = 2) then
begin

if InRange(Lum[Slot], 1.3, 2.9) and InRange(BMaxArea[Slot], 1100, 2300) and InRange(BMinArea[Slot], 390, 900) and InRange(CoMax[Slot], 770, 870)
and InRange(CoMin[Slot], 250, 460) then Obj[Slot] := 'Q14'; // Monkfish

if InRange(Lum[Slot], 1.0, 1.5) and InRange(BMaxArea[Slot], 800, 1200) and InRange(BMinArea[Slot], 120, 250) and InRange(CoMax[Slot], 750, 820)
and InRange(CoMin[Slot], 60, 200) then Obj[Slot] := 'Q12'; // Wooden shield

if InRange(Lum[Slot], 1.0, 1.3) and InRange(BMaxArea[Slot], 500, 580) and InRange(BMinArea[Slot], 120, 280) and InRange(CoMax[Slot], 420, 490)
and InRange(CoMin[Slot], 35, 90) then Obj[Slot] := 'Q10'; // Rum

if InRange(Lum[Slot], 2.7, 4.65) and InRange(BMaxArea[Slot], 770, 1250) and InRange(BMinArea[Slot], 200, 400) and InRange(CoMax[Slot], 250, 300)
and InRange(CoMin[Slot], 70, 140) then Obj[Slot] := 'Q04'; // Crossbow

if InRange(Lum[Slot], 1.75, 2.9) and InRange(BMaxArea[Slot], 200, 360) and InRange(BMinArea[Slot], 50, 150) and InRange(CoMax[Slot], 120, 140)
and InRange(CoMin[Slot], 50, 70) then Obj[Slot] := 'Q05'; // Candle

if InRange(Lum[Slot], 3.1, 4.0) and InRange(BMaxArea[Slot], 1300, 1700) and InRange(BMinArea[Slot], 80, 120) and InRange(CoMax[Slot], 380, 470)
and InRange(CoMin[Slot], 55, 95) then Obj[Slot] := 'Q08'; // Holy symbol
end;
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
if InRange(Slot, 3, 6) then
begin

if InRange(Lum[Slot], 1.5, 1.9) and InRange(BMaxArea[Slot], 1150, 1380) and InRange(BMinArea[Slot], 200, 500) and InRange(CoMax[Slot], 720, 790)
and InRange(CoMin[Slot], 200, 360) then Obj[Slot] := 'Q19'; // Bar

if InRange(Lum[Slot], 1.2, 2.0) and InRange(BMaxArea[Slot], 800, 1200) and InRange(BMinArea[Slot], 380, 700) and InRange(CoMax[Slot], 600, 700)
and InRange(CoMin[Slot], 220, 470) then Obj[Slot] := 'Q17'; // Q18 // Boots

if InRange(Lum[Slot], 1.3, 2.0) and InRange(BMaxArea[Slot], 1020, 1300) and InRange(BMinArea[Slot], 380, 670) and InRange(CoMax[Slot], 650, 750)
and InRange(CoMin[Slot], 300, 470) then Obj[Slot] := 'Q17'; // Platebody

if InRange(Lum[Slot], 1.1, 1.35) and InRange(BMaxArea[Slot], 1150, 1350) and InRange(BMinArea[Slot], 400, 600) and InRange(CoMax[Slot], 950, 1050)
and InRange(CoMin[Slot], 300, 370) then Obj[Slot] := 'Q16'; // Apple pie

if InRange(Lum[Slot], 1.0, 1.3) and InRange(BMaxArea[Slot], 500, 620) and InRange(BMinArea[Slot], 400, 500) and InRange(CoMax[Slot], 430, 520)
and InRange(CoMin[Slot], 100, 180) then Obj[Slot] := 'Q15'; // Pineapple

if InRange(Lum[Slot], 1.9, 3.1) and InRange(BMaxArea[Slot], 700, 1100) and InRange(BMinArea[Slot], 150, 310) and InRange(CoMax[Slot], 330, 420)
and InRange(CoMin[Slot], 50, 150) then Obj[Slot] := 'Q14'; // Trout

if InRange(Lum[Slot], 3.0, 4.9) and InRange(BMaxArea[Slot], 1050, 1600) and InRange(BMinArea[Slot], 40, 170) and InRange(CoMax[Slot], 310, 380)
and InRange(CoMin[Slot], 30, 100) then Obj[Slot] := 'Q13'; // Swordfish

if InRange(Lum[Slot], 1.4, 2.6) and InRange(BMaxArea[Slot], 1100, 2000) and InRange(BMinArea[Slot], 100, 300) and InRange(CoMax[Slot], 700, 810)
and InRange(CoMin[Slot], 40, 200) then Obj[Slot] := 'Q12'; // Antidragon shield

if InRange(Lum[Slot], 1.5, 2.65) and InRange(BMaxArea[Slot], 300, 620) and InRange(BMinArea[Slot], 10, 110) and InRange(CoMax[Slot], 140, 280)
and InRange(CoMin[Slot], 20, 100) then Obj[Slot] := 'Q11'; // Berry's

if InRange(Lum[Slot], 1.2, 1.45) and InRange(BMaxArea[Slot], 1100, 1300) and InRange(BMinArea[Slot], 380, 520) and InRange(CoMax[Slot], 880, 950)
and InRange(CoMin[Slot], 400, 460) then Obj[Slot] := 'Q09'; // Earth rune

if InRange(Lum[Slot], 1.05, 2.0) and InRange(BMaxArea[Slot], 320, 570) and InRange(BMinArea[Slot], 120, 270) and InRange(CoMax[Slot], 250, 300)
and InRange(CoMin[Slot], 100, 170) then Obj[Slot] := 'Q08'; // Ring

if InRange(Lum[Slot], 1.05, 1.35) and InRange(BMaxArea[Slot], 1050, 1300) and InRange(BMinArea[Slot], 500, 650) and InRange(CoMax[Slot], 950, 1050)
and InRange(CoMin[Slot], 480, 580) then Obj[Slot] := 'Q01'; // Cake

if InRange(Lum[Slot], 2.4, 4.0) and InRange(BMaxArea[Slot], 520, 1050) and InRange(BMinArea[Slot], 200, 800) and InRange(CoMax[Slot], 210, 280)
and InRange(CoMin[Slot], 110, 190) then Obj[Slot] := 'Q02'; // Mace

if InRange(Lum[Slot], 1.7, 2.6) and InRange(BMaxArea[Slot], 760, 1100) and InRange(BMinArea[Slot], 250, 450) and InRange(CoMax[Slot], 400, 480)
and InRange(CoMin[Slot], 110, 190) then Obj[Slot] := 'Q03'; // Jeaster hat

if InRange(Lum[Slot], 1.4, 8.0) and InRange(BMaxArea[Slot], 300, 1250) and InRange(BMinArea[Slot], 0, 200) and InRange(CoMax[Slot], 140, 195)
and InRange(CoMin[Slot], 0, 60) then Obj[Slot] := 'Q04'; // Longbow

if InRange(Lum[Slot], 1.2, 1.75) and InRange(BMaxArea[Slot], 600, 800) and InRange(BMinArea[Slot], 320, 610) and InRange(CoMax[Slot], 400, 600)
and InRange(CoMin[Slot], 200, 310) then Obj[Slot] := 'Q05'; // Bullseye lataren

if InRange(Lum[Slot], 2.3, 3.3) and InRange(BMaxArea[Slot], 720, 1000) and InRange(BMinArea[Slot], 60, 160) and InRange(CoMax[Slot], 280, 340)
and InRange(CoMin[Slot], 45, 100) then Obj[Slot] := 'Q06'; // Gardening trowel

if InRange(Lum[Slot], 3.5, 5.4) and InRange(BMaxArea[Slot], 1020, 1750) and InRange(BMinArea[Slot], 95, 260) and InRange(CoMax[Slot], 270, 340)
and InRange(CoMin[Slot], 70, 160) then Obj[Slot] := 'Q07'; // Pickaxe
end;
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~

end;

ObjToFind := 'unknow';
Result := (0);

for i := 0 to 2 do
if (Obj[i] <> 'unknow') then ObjToFind := Obj[i];

if (ObjToFind = 'Q10') then ObjToFind := 'Q08';
if (ObjToFind = 'Q18') then ObjToFind := 'Q17';

if (ObjToFind <> 'unknow') then
begin
for i := 3 to 6 do
begin
if (Obj[i] = ObjToFind) then Result := i;
end;
end else Result := (0);


// Result := strtoint('0 ' + Obj[0] + ' 1 ' + Obj[1] + ' 2 ' + Obj[2] + ' 3 ' + Obj[3] + ' 4 ' + Obj[4] + ' 5 ' + Obj[5] + ' 6 ' + Obj[6]);
// if ((Option = 1) and (Obj[1] = 'unknow')) then Result := ('Lum ' + FloatToStr(Lum[1]) + ' BMax: '+ IntToStr(BMaxArea[1]) + ' BMin: ' + IntToStr(BMinArea[1]) + ' ColoredMax: '+ IntToStr(CoMax[1]) + ' ColoredMin: '+ IntToStr(CoMin[1]));
// if ((Option = 2) or (Result = 'unknow')) then Result := ('AreaMax: ' + IntToStr(CoMax[Slot]) + ' AreaMin: ' + IntToStr(CoMin[Slot]) + ' BMax: '+ IntToStr(BMinArea[Slot]) + ' BMin: ' + IntToStr(BMinArea[Slot]));

end;





function GetFunctionCount(): Integer; stdcall; export;
begin
Result := 1;
end;






function GetFunctionInfo(x: Integer; var ProcAddr: Pointer; var ProcDef: PChar): Integer; stdcall;
begin
case x of
0:
begin
ProcAddr := @Mordaut_GetSlotNr;
StrPCopy(ProcDef, 'function Mordaut_GetSlotNr(ScanningTime: Extended; ClientHDC: HDC): integer;');
end;
else
x := -1;
end;
Result := x;
end;


procedure SetFunctions(Funcs: array of TSCARPlugFunc); stdcall;
var
i: Integer;
begin
for i := 0 to Length(Funcs) - 1 do
begin
{ if Funcs[i].Name = 'Writeln' then
Writeln := Funcs[i].Ptr; }
if Funcs[i].Name = 'GetClientWindowHandle' then
GetClientWindowHandle := Funcs[i].Ptr;
end;
// FillInfo := false;
end;


exports GetFunctionCount;
exports GetFunctionInfo;
exports SetFunctions;

end.

Sir R. M8gic1an
02-03-2009, 05:43 PM
Stickyfied.

If you wish to make a thread on general news asking for accounts / pics feel free to. Afer that shoot me a pm and i'll sticky it.

~RM

Naum
02-03-2009, 08:16 PM
Thanks, Umm Manfromczech I got a few accounts for you. Also get on MSN asap.

Baked0420
02-04-2009, 12:44 PM
I got an account in it, also got Mordaut LESS THAN one hour ago, so once you use my account, I'm sure I can get it again real fast and give it to you again. But because I'm getting two mordauts close together, please be careful to not do anything suspicious to get the acc banned, I most likely am flagged since I got two mordaut randoms of all randoms sooo close together.

Sandstorm
02-04-2009, 01:37 PM
I'm getting a Mordaut about every ten to sixteen hours (botting straight), so I'll see what I can do for you!

~Sandstorm

Iroki
02-07-2009, 07:44 PM
Good news!!!
I have:
- 19/20 what comes next questions solved
- 7/10 (i dont know name) questions solved - today i want to solve all this questions :)

Naum
02-07-2009, 07:59 PM
Yeah, a solver should be out by this week :).

Baked0420
02-07-2009, 09:52 PM
don't you have 20/20 what comes next? you PM'd me saying you find out the last what comes next with my account, back when I lent it to you.

Iroki
02-07-2009, 10:15 PM
don't you have 20/20 what comes next? you PM'd me saying you find out the last what comes next with my account, back when I lent it to you.

it's true, but i didn't add it to my solver.

Baked0420
02-07-2009, 10:37 PM
lol why not? was the intentional or accidental? I don't get why you would intentionally do that.

EDIT: I logged on my noob account and saw I have mordaut again on same account I sent you. I'll resend the info incase you deleted the PM. Hopefully you get that "what comes next" again that you're looking for and if you do, keep the info needed this time :p ;)

Iroki
02-08-2009, 11:06 AM
It was an accident :)

jakeyboy29
02-08-2009, 12:19 PM
duhh, ill bare this thread in mind tho. r u thinking of doing the box random next?

Iroki
02-08-2009, 12:44 PM
20/20 what comes next questions solved
8/10 "big" questions solved

umm, next project which i want to make is scar script, maybe after scar script I can fix box random, but i need source of currently existing one. :)

Iroki
02-08-2009, 03:05 PM
SOLVED!!! Nauman'll add solver soon :)

Magiic
02-08-2009, 03:15 PM
manfromczech == beast :)

Iroki
02-08-2009, 03:17 PM
manfromczech == beast :)

thanks :)

Shuttleu
02-08-2009, 03:48 PM
you solved one of the suposidly unsolvable randoms :eek:
you ARE good
re-apply for members

~shut

Naum
02-08-2009, 04:28 PM
Yep expect a solver out by tomorrow :). Gratz man.
Now we're going to start making a mega-plugin with all the solvers in :)

Iroki
02-09-2009, 03:47 PM
Nauman, when are you going to release it??

The_Shermanator
02-09-2009, 04:04 PM
Nauman, when are you going to release it??

Ooo I can't wait! How long does the detecting take to find the answer?

Iroki
02-09-2009, 04:14 PM
4,5 seconds
but there is somethink like time defining so you can define 2 seconds but 4,5 is optimal time :)

The_Shermanator
02-09-2009, 04:19 PM
Sounds nice, after you release Mordaut I think you should write like a Tut or something like that on how you solved each one, because I bet a lot of people would like to read something like that, I know I would.

Iroki
02-09-2009, 04:22 PM
I dont know english very well :(, btw after releasing i'm gointg to re-apply for members :)

Naum
02-09-2009, 04:34 PM
Cool, Umm I might have to tinker with the speed, because it has a 2 second lag on it :)

The_Shermanator
02-09-2009, 04:35 PM
oh ok, Well you have my vote.

Iroki
02-09-2009, 04:38 PM
Cool, Umm I might have to tinker with the speed, because it has a 2 second lag on it :)

release it today :)

Thanks Sherman :)

Naum
02-09-2009, 05:43 PM
I'm done with it, had to revamp parts of it, there were two spelling errors :p. Get on MSN to recieve it (I left you an offline message).
I tested it about 50 times, until I was happy with it. We may release it today or tomorrow, depends really.

jpuura
02-09-2009, 08:07 PM
Wow.. U guys are lucky for getting mordaut every 16 hours? I had it three times in an hour.. Seems impossible but it is so..

Sir R. M8gic1an
02-09-2009, 09:53 PM
Do you guys still need accounts? (always best t have a few more to test on right? :) )

gratz ;)

~RM

Iroki
02-10-2009, 07:11 AM
Now we need testers :P;)

Automotron
02-15-2009, 05:37 AM
Might an auto-Mordaut solver be a bit risky? Mordaut seems to be what Jagex pulls out when they really do suspect you of autoing?

Anyone ever failed it? Is it an insta-ban or something?

That said, I'll pm you my account info. Good luck on this.

EDIT: Nevermind, I already solved it on that character.
I'll send if I get it again.

ian.
02-15-2009, 07:05 AM
>.> they don't do certain RANDOMS if they suspect something.. they are RANDOM.. and their are random solvers so that they don't suspect you for autoing >.>

Kyle Undefined
02-15-2009, 07:47 AM
>.> they don't do certain RANDOMS if they suspect something.. they are RANDOM.. and their are random solvers so that they don't suspect you for autoing >.>

You never know. After what's being discussed in the Mem forums these "randoms" might not be so random.

~Camo

Automotron
02-15-2009, 11:39 PM
You never know. After what's being discussed in the Mem forums these "randoms" might not be so random.

~Camo

That's what I think too. From the feburary behind the scenes:

Random event update

Over the last year we've been very keen to make changes to RuneScape's system of random events. After all, no one likes being forced through a long dialogue with a desperate doctor or an over-enthusiastic security guard while they're surrounded by aggressive monsters.

The most obvious change in the update will be to the rewards. At the end of most random events, you'll be handed a random event gift box. When you open the box, you'll get the chance to choose a reward from a selection of items including coins, runes, ore, seeds, charms and perhaps even a genie lamp. If the random event previously offered emotes or costumes, you'll be able to choose those from the random event gift box's menu. So whatever kind of reward you want, there should be something in there for you.

We're also making a major change to the rate at which random events appear, basing it on your skill total and your record of successfully passing random events. So, if you correctly solve every event you encounter, you'll experience fewer events in the future. On a related topic, the game will remember which random events you get, so it can aim to give you a greater variety of events, rather than always giving you the same random events over and over again.

Some random events will be removed from the game. Poison-gas chests, smoking rocks, broken pickaxes and ents will become things of the past. The Drunken Dwarf will be retired as a random event, but he'll still be free to roam the world, handing out kebabs to his mateys. You'll still be able to obtain shade robes, strange fruit and security books; we do not intend to discontinue any existing rewards.

Other improvements include allowing you to have more than one set of costumes, giving value to old frog tokens (so don’t throw them away!), stopping run energy from draining in the maze and even giving the Sandwich Lady her own café!

That sound random to you?
On topic: I just got Mordaut.

Kyle Undefined
02-16-2009, 01:52 AM
That's what I think too. From the feburary behind the scenes:


That sound random to you?
On topic: I just got Mordaut.

That's not what I'm talking about. It's totally different. Anyway, try out the Morduat solver in the SVN section. ;)

~Camo

roflmao
06-12-2009, 12:22 PM
This random if solved would be amazing

tico2
06-12-2009, 12:39 PM
This random if solved would be amazing

Check the date. It's allready solved...