SRL Archive - Discussions and Debates

Information about new random!!


n3ss3s

2007-07-20 10:57:57

I got it too, and it really takes long code to solve it.
First of all, when you first get to the place, there comes a text about the school thing u gotta do there. But, when you talk to the mordant again if you messed something up, the text will change. Not a big problem. THen you have to decide "which object comes next in pattern" and there are many types of that one, and the every item change depending of the type ( mining, fighting, cocktails anything). After you've solved that, you may get another one of those, or then you get another thingy, where you have to decide which 3 "cards" (gray spinning images of things like runes and so on) and thats propably the hardest to solve. When doing that mr. mordaut random, you can get MANY of these, like 3 pattern things and 2 card things or whatever.

We need a canvas pro :D
Well, heres a smallm unfinished crappy solver I made…
It had 5 dtms of a mace and it still didnt find it even I kept it finding for like 10mins…

function MordautSolver: Boolean; // by n3ss3s
// by n3ss3s
var
Mace: array[1..5] of Integer;
I, C, D, F, M: Integer;
Match: Boolean;
begin
MakeCompass('e');
for M := 1 to 25 do
if (FindColorTolerance(x, y, 1781105, MSX1, MSY1, MSX2, MSY2, 10))
or (FindColorTolerance(x, y, 2110591, MSX1, MSY1, MSX2, MSY2, 10))
or (FindColorTolerance(x, y, 1781105, MSX1, MSY1, MSX2, MSY2, 10)) then
begin
MMouse(x, y + 10, 0, 0);
if (IsUpText('Mordaut')) then
begin
Click(True);
Break;
end else
begin
Exit;
end;
end;
begin
Wait(1000 + Random(20));
Mouse(293, 450, 0, 0, True);
Wait(5000 + Random(20));
if (not (GetColor(283, 18) = 1590855)) then
begin
if (FindNpcChatText('In the second')) then
begin
Mouse(293, 450, 0, 0, True);
Wait(1000 + Random(200));
if (FindNpcChatText('pattern')) then
begin
Mouse(293, 450, 0, 0, True);
Wait(1000 + Random(200));
end;
end;
end;
end;
Mace[1] := DTMFromString('78DA63D464646060026224A0ABAD0DA661A28' +
'C3A40D63B14250CC6FAFAA86AF41991781050535C8C690E2BAA9A' +
'B888085435EA986AD2E2E350D5A80259CCA86AA4252430D5FC63C' +
'0AB0600583E0874');
Mace[2] := DTMFromString('78DA6354676460F8C880026C2D2CC0342394C' +
'FA80564BD425593161F87AAC60CC8E2624451E3EBEE8EAA4615C8' +
'FA866A4E6E6A2AAA1A5920EB33AA1A4F171754350A40D61B54353' +
'DCD4D986A5E1250A38AE9AFAAA242143500256D1107');

Mace[3] := DTMFromString('78DA63D4656460F8C98002526263C0342394C' +
'F6802647D4155232D2181AAC60CC8FA4D408D1690C5CB88A2263C' +
'301053CD0F547372535331D5A0B9272E2202550DC85F1F51D5D41' +
'417A3A8010086F60D7E');
Mace[4] := DTMFromString('78DA6354606460F8C880021CACADC1342394C' +
'FA80464BD415553929383AAC606C86262445163ACAF8FAA461AC8' +
'FA816A4E5C4404A65DDF50D504797BA3AA9104B2DEA1AAA92A2A4' +
'4552387A906C3CDD2987E47370700DB201050');
Mace[5] := DTMFromString('78DA633464646060026224E0606D0DA661A28' +
'C7240D63B14250C668686A86A40E6FC465553929383AAC61CC8FA' +
'8BAAA6A6B818558D0990C58EEA9EAAA2425435BA986AD2E2E330D' +
'5B0A0AA9196904051030006490B20');
repeat
begin
Wait(100 + Random(20));
for I := 1 to 5 do
begin
if (FindDTM(Mace[I], x, y, 67, 216, 447, 283)) then
begin
Mouse(x, y, 0, 0, True);
for F := 1 to 5 do
FreeDtm(Mace[F]);
end;
Match := True;
Break;
end;
if (Match) then Break;
end;
if (Match) then Break;
until (Match) or (not (LoggedIn));
if (FindNpcChatText('Wonderful! Keep')) then
begin
Mouse(293, 450, 0, 0, True);
Wait(1000 + Random(200));
Mouse(293, 450, 0, 0, True);
Wait(1000 + Random(200));
Mouse(293, 450, 0, 0, True);
end;
end;
If you need something junk from it like the DTMs or anything, feel free to take lol…
I hope we get this one solved soon, because that sets players false and fast :D

LordGregGreg

2007-07-20 11:39:36

Wow, that was lighting fast

well done

I think i am most impresed how you can solve somthign so complec so quickly.. (and with so little code)

congrats :)

Harry

2007-07-20 11:44:52

Doesn't work well, but its a hard random, good job.

n3ss3s

2007-07-20 11:50:12

No greg, it doesnt work :) It solves only one thing, in the first question, I made that before I noticed it is way much more complex than I when I was making the script thought… :) Well, I guess its still gj :)

LordGregGreg

2007-07-20 11:57:17

From: n3ss3s
No greg, it doesnt work :) It solves only one thing, in the first question, I made that before I noticed it is way much more complex than I when I was making the script thought… :) Well, I guess its still gj :)

oooo, that makes alot more sence now. Sorry for skimming over your code so fast, but i was begining to wonder how you did it all with such few reasources :P.

Sorry that this one is going to be a pain, but gklad your working on it. good luck

n3ss3s

2007-07-20 12:09:52

Yup, next time I get that random im going to pwn that bitch :D

belgin fish

2007-07-20 12:25:02

n3ss3s good job if i get that random ill give u my account so u can work on your script with it :P

oliver1205

2007-07-20 14:03:11

atleast its a pretty good start =]

n3ss3s

2007-07-20 14:30:20

n3ss3s good job if i get that random ill give u my account so u can work on your script with it :P

Thanks :)

atleast its a pretty good start =]
Thx

YoHoJo

2007-07-20 15:11:58

Mouse(293, 450, 0, 0, True);
Wait(1000 + Random(200));
Mouse(293, 450, 0, 0, True);
Wait(1000 + Random(200));
Mouse(293, 450, 0, 0, True);

NO 0,0s!
Be Random!

mastaraymond

2007-07-20 15:16:05

You aren't going to solve this with DTMs. Since every rotates and FAST. We need another way of identifying what thing we need to search for :(. I need to know, are the colors random? If not, it would be lot easier :). I had this one 3 times already, we surely need a fixer for it:(. I think we need shape detection? But then Derformed :p. Like a bitmapmask of it but then Rotated + Derformed.

n3ss3s

2007-07-20 16:07:38

Mouse(293, 450, 0, 0, True);
Wait(1000 + Random(200));
Mouse(293, 450, 0, 0, True);
Wait(1000 + Random(200));
Mouse(293, 450, 0, 0, True);

NO 0,0s!
Be Random!

Damit I got busted :D I usually remove them before publishing anything but seems like I forgot…

You aren't going to solve this with DTMs. Since every rotates and FAST. We need another way of identifying what thing we need to search for . I need to know, are the colors random? If not, it would be lot easier . I had this one 3 times already, we surely need a fixer for it. I think we need shape detection? But then Derformed . Like a bitmapmask of it but then Rotated + Derformed.

Lol im going to be a hero for making FindDeformedMaskRotated lolz?
And the colors are always same, but the thing is that every spinning thing there are same coloured :S



EDIT EDIT EDIT EDIT EDIT: DOES SRL 3.81 work with DIVI 3.11?! For me it complains about many different functions not existing like InAbstract sumting…

Smartzkid

2007-07-20 16:10:07

Edge detection.

n3ss3s

2007-07-20 16:17:41

Hmm, thats going to be a lot of sum brainwork lol…
Btw, we dont need rotation or deformed, we can just use FindBitmapMaskTolerance, because if the thing rotates, it doesnt rotates in the "rotating" way like minimap, its 3D remember? And the deform thing is propably not necassary too if we use masks. So, FindBitmapMaskTolerance…