Jump to content
Wanted

[1-4Mil/ph] OSI Sudoku Solver

Recommended Posts

Leaving that until last. Figure that will be the worst. Although getting Relocate in DemonSlinger working is stumping me. Just going around in circles; think it's time to call it a night.

 

[sCAR]procedure LocationCheck;

var

mTPA, dTPA: TPointArray; //m TPA of all non black minimap points. d TPA brown door mainscreen color points

dATPA: T2DPointArray; //d ATPA 30 by 40 clusters of brown door mainscreen color points

mP, dP: TPoint; //m Point center storage of middle mTPA. d Point center storage of nearest 30x40 cluster of brown door mainscreen color points

I, T: Integer; //I integer for looping index in dATPA specific cluster. T storage integer for time.

C: Byte; //C Byte used to index current loop to know if one attempt did not get us to the right place indacting a door obstructing us

label

ProcStart; // reference variable declared for point jumped to in goto

begin

T := GetSystemTime; // grab initial location check time

ProcStart: // reference point jumped to in goto

Inc©; // Increase C to indicate loop sequence so we know if the door got in the way or not

MakeCompass(Dir_North); // Ensure compass is facing north, correct if needed.

if ((GetSystemTime - T) > 60000) then // check initial time, if more than

begin // proceed with lost and logout feature

WriteLn('You are lost, been over a minute'); // state lost

Players[CurrentPlayer].Loc := 'Lost'; // set player loc

Logout; // log out player

Exit; // exit procedure

end;

FindMMColorsTolerance(mTPA, clWhite, 421); // find all points nonblack by white with maxtol -1 store in mTPA from minimap

mP := MiddleTPA(mTPA); // find center of mTPA by averaging all distances

if (Distance(mP.X, mP.Y, 621, 83) < 10) then // if center of the color cluster on the minimap is less than 10 pixels from where

begin // it normally should be in the standard location (not eactly MMCX, MMCY) then

Players[CurrentPlayer].Loc := 'Demon room'; // we are in the right place. Set loc

Exit; // Exit procedure

end;

if (C > 1) then // if we have looped twice now there is something obstructing us from walking there so

begin // we are outside the designated area and we need to open the door

WriteLn('Opening door...'); // state we are opening the door

Players[CurrentPlayer].Loc := 'West room'; // set player location

MakeCompass(Dir_East); // make compass east bound for better view of the door

ColorToleranceSpeed(2); // set color speed to 2 for better color search accuracy as define to us in ACAv2 by Nieslsie95

SetColorSpeed2Modifiers(0.12, 0.73); // set color speed 2 modifiers for better color search accuracy as define to us in ACAv2 by Nieslsie95

FindColorsTolerance(dTPA, 4222353, MSX1, MSY1, MSX2, MSY2, 1); // search accuractely for door points in CTS2 store points to dTPA array

SetColorSpeed2Modifiers(0.2, 0.2); // reset CTS2 Mods back to their original settings

ColorToleranceSpeed(1); // reset color tolerance speed back to its default setting

if (Length(dTPA) < 1) then // if length of dTPA is less than 1 than search is failed, return back to ProStart at the procedure beginning

goto ProcStart; // go to procedure start point

dATPA := TPAToATPAEx(dTPA, 30, 40); // divide dTPA into 30x40 clusters store in dATPA

if (Length(dATPA) < 1) then // if length of dATPA is less than 1 than division is failed, return back to ProStart at the procedure beginning

goto ProcStart; // go to procedure start point

for I := 0 to High(dATPA) do // Index loop through the different dATPA clusters

begin

dP := MiddleTPA(dATPA); // Find the middle of the current cluster index store point in dP

MMouse(dP.X, dP.Y, 2, 2); // Move the mouse to this location

if (not (IsUpTextMulti(['Open', 'pen', 'n Do', 'en D']))) then // if we do not find correct text appear when hovering procedure to check next index

Continue; // by continuing to next loop index

GetMousePos(dP.X, dP.Y); // if we made it this far then we found the text, grab the current mouse position

Mouse(dP.X, dP.Y, 0, 0, False); // Right click the mouse in this position

if (not (ChooseOptionMulti(['Open', 'pen', 'n Do', 'en D']))) then // check for options expected aviable if not then

Continue; // continue to next loop index

Randoms(1200, T); // if successful then it is automatically clicked with then funciton ChooseOptionMulti. Check game for random events

Flag; // Wait for walking flag to dissapear

Randoms(1200, T); // Check game again for random events for 1200 miliseconds

Break; // break out of indexing loop

end;

if (I > High(dATPA)) then // if all the indexes failed then it would not of broken loop and thus failing, so

goto ProcStart; // return to procedure start

WriteLn('Opened Door.'); // if you made it here then the door had to be opened and was, state that the door was opened

IncLocalVar(Script_Doors_Opened, 1); // increase your global number of doors opened

C := 0; // reset C to 0 because the door was opened and return to procedure start to correct compass and ensure you are now in the correct location

goto ProcStart; // go to procedure start

end;

Mouse(mP.X + 7, mP.Y + 4, 1, 1, True); // walk to the offseted minimap nonblack center which should be directly infront of the cage

Randoms(1200, T); // check for random events for 1.2 seconds

Flag; // wait for walking flag to dissappear

Randoms(1200, T); // check for random events again for 1.2 seconds

goto ProcStart; // go to procedure start to correct compass and ensure you are now in the correct location

end; [/sCAR]

 

Let me know if you were able to diagnose the problem given this detailed documentation.

 

Also let me know if you would like documentation like this for specific things elsewhere in my scripts or the OSI include. It would help me if you isolated the parts you have trouble with down to more specific things than entire procedure names, lol.

Edited by Wanted
Link to comment
Share on other sites

can some1 explain this algorithm i looked up

 

Private Function GetRegionFromNumber(ByVal n As Integer) As Integer

Dim k As Integer

Dim a As Integer = GetAcrossFromNumber(n)

Dim d As Integer = GetDownFromNumber(n)

 

If 1 <= a And a < 4 And 1 <= d And d < 4 Then what does 1 <= a And a < 4 And 1 <= d And d < 4 mean? what does 1 stand for what does a stand for and 4 ,7 and 10?

k = 1

ElseIf 4 <= a And a < 7 And 1 <= d And d < 4 Then

k = 2

ElseIf 7 <= a And a < 10 And 1 <= d And d < 4 Then

k = 3

ElseIf 1 <= a And a < 4 And 4 <= d And d < 7 Then

k = 4

ElseIf 4 <= a And a < 7 And 4 <= d And d < 7 Then

k = 5

ElseIf 7 <= a And a < 10 And 4 <= d And d < 7 Then

k = 6

ElseIf 1 <= a And a < 4 And 7 <= d And d < 10 Then

k = 7

ElseIf 4 <= a And a < 7 And 7 <= d And d < 10 Then

k = 8

ElseIf 7 <= a And a < 10 And 7 <= d And d < 10 Then

k = 9

End If

Return k

End Function

Link to comment
Share on other sites

Run the sample script, get the number in the debug box, and then combine it with the type send of the correct option like done with the others.

 

I know it sounds difficult if you don't know how to script but if you try to get it you'll figure it out, this isn't too hard lol.

 

the links dont work can u just past it here or put up ur skype

Link to comment
Share on other sites

the links dont work can u just past it here or put up ur skype

 

This method is obsolete and won't work anymore according to sources Jagex has added a delay to tile placement making the fastest solve time very slow. PM me in you're still interested in code for learning purposes.

Link to comment
Share on other sites

This method is obsolete and won't work anymore according to sources Jagex has added a delay to tile placement making the fastest solve time very slow. PM me in you're still interested in code for learning purposes.

 

is this true for everything in RS3? I played RSC and RS2 back in the day and used SCAR. Now I actually have some programming background, C#, and Java mostly, and I would love to make some scripts for RS3. But I have a feeling this is a pipe dream....

 

- - - Updated - - -

 

or if there are other scripting platforms that will work for RS3 that would work too. I just cant find anything about it for RS3

Link to comment
Share on other sites

is this true for everything in RS3? I played RSC and RS2 back in the day and used SCAR. Now I actually have some programming background, C#, and Java mostly, and I would love to make some scripts for RS3. But I have a feeling this is a pipe dream....

 

- - - Updated - - -

 

or if there are other scripting platforms that will work for RS3 that would work too. I just cant find anything about it for RS3

 

Everything works normal but there is an ingame modification that doesn't allow you to place tiles very quickly. It won't matter what platform you're using you're still going to encounter this....

Link to comment
Share on other sites

オンライン カジノは、プレイヤーが自宅にいながらにしてポーカー、ルーレット、ブラックジャック、スロットなどのギャンブル ゲームを楽しむ機会を提供する仮想プラットフォームです。 オンラインカジノは、アクセスのしやすさ、ゲームの種類の多さ、そして大金を獲得する機会があるため、年々人気が高まっています。

オンラインカジノの主な利点は、利便性とアクセスしやすさです。 プレイヤーは、通常のカジノの営業時間に制限されず、いつでもゲームを楽しむことができます。 必要なのは、インターネットにアクセスできるデバイスと、カジノのウェブサイトにアクセスできることだけです。 これにより、プレイヤーは従来のカジノによくありがちなストレスや緊張を感じることなく、快適な環境でプレイすることができます。

オンラインカジノのもう1つの利点は、ゲームの選択肢が豊富なことです。 ユーザーは、それぞれ独自のルールと勝利の機会を提供する何百もの異なるゲームから選択できます。 技術革新のおかげで、オンライン ゲームのグラフィックとサウンドは高品質になり、プレイヤーは興奮と情熱の雰囲気に浸ることができます。

さまざまなゲームに加えて、オンライン カジノはプレーヤーにさまざまなボーナスやプロモーションも提供します。 これらは、スロットのフリースピン、プレイのための追加のお金、または貴重な賞品が得られる特別なトーナメントなどです。 このようなボーナスにより、勝利の可能性が高まり、ゲームがさらに楽しくなります。

もちろん、オンラインカジノでのプレイにはリスクがあります。 ギャンブルには依存性がある可能性があるため、自分の感情を監視し、支出をコントロールすることが重要であることを覚えておくことが重要です。 カジノはまた、責任あるゲーミングをサポートし、自己排除や賭け金制限の機会を提供します casimaru.com

全体として、オンライン カジノはギャンブル愛好家にとって便利でエキサイティングなエンターテイメントを提供します。 幅広いゲーム、ボーナスの選択肢があり、いつでもプレイできるため、世界中のプレイヤーの間で人気が高まっています。 ただし、責任あるゲームと、ゲームが単なる楽しみと娯楽の源であるように自分の行動を制御する能力について覚えておくことが重要です。
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.




×
  • Create New...