Which is what i was explaining right? a script created dtm.
Which is what i was explaining right? a script created dtm.
What? If you mean me explaining after asking whether I make sense, it was because it seemed like I needed to explain more.
SIMBA does not support the DDTM editor , or does it? if not where can I find it mate?
In Simba, DTM Editor in Menu == DDTM Editor form.
Away for awhile, life is keeping me busy. | Want to get my attention in a thread? @Kyle Undefined; me.
{ MSI Phoenix || SRL Stats Sigs || Paste || Scripts || Quotes || Graphics }
When posting a bug, please post debug! Help us, help you!
I would love to change the world, but they won't give me the source code. || To be the best, you've got to beat the rest. || Logic never changes, just the syntax.
If you PM me with a stupid question or one listed in FAQ, or about a script that is not mine, I will NOT respond.
SRL is a Library of routines made by the SRL community written for the Program Simba. We produce Scripts for the game Runescape.
Isn't this outdated? When i make the DTM it comes up with this
DTM := DTMFromString('mWAAAAHicY2FgYFBkZGDQBGJpIFYG4hgk3A 7EYcG+DH9/fgTjWEN2BnTAiIZBAADdkQmN');
No, this isn't outdated. That's the DTM, in a string.
Away for awhile, life is keeping me busy. | Want to get my attention in a thread? @Kyle Undefined; me.
{ MSI Phoenix || SRL Stats Sigs || Paste || Scripts || Quotes || Graphics }
When posting a bug, please post debug! Help us, help you!
I would love to change the world, but they won't give me the source code. || To be the best, you've got to beat the rest. || Logic never changes, just the syntax.
If you PM me with a stupid question or one listed in FAQ, or about a script that is not mine, I will NOT respond.
SRL is a Library of routines made by the SRL community written for the Program Simba. We produce Scripts for the game Runescape.
So in stead of this
Simba Code:function SetDDTM: Integer;
var
dtmMainPoint: TDTMPointDef;
dtmSubPoints: Array [0..3] of TDTMPointDef;
TempTDTM: TDTM;
begin
dtmMainPoint.x := 743;
dtmMainPoint.y := 284;
dtmMainPoint.AreaSize := 0;
dtmMainPoint.AreaShape := 0;
dtmMainPoint.Color := 7568507;
dtmMainPoint.Tolerance := 0;
dtmSubPoints[0].x := 743;
dtmSubPoints[0].y := 284;
dtmSubPoints[0].AreaSize := 0;
dtmSubPoints[0].AreaShape := 0;
dtmSubPoints[0].Color := 7568507;
dtmSubPoints[0].Tolerance := 0;
dtmSubPoints[1].x := 725;
dtmSubPoints[1].y := 280;
dtmSubPoints[1].AreaSize := 0;
dtmSubPoints[1].AreaShape := 0;
dtmSubPoints[1].Color := 15658734;
dtmSubPoints[1].Tolerance := 0;
dtmSubPoints[2].x := 762;
dtmSubPoints[2].y := 284;
dtmSubPoints[2].AreaSize := 0;
dtmSubPoints[2].AreaShape := 0;
dtmSubPoints[2].Color := 15658734;
dtmSubPoints[2].Tolerance := 0;
dtmSubPoints[3].x := 748;
dtmSubPoints[3].y := 242;
dtmSubPoints[3].AreaSize := 0;
dtmSubPoints[3].AreaShape := 0;
dtmSubPoints[3].Color := 195836;
dtmSubPoints[3].Tolerance := 0;
TempTDTM.MainPoint := dtmMainPoint;
TempTDTM.SubPoints := dtmSubPoints;
Result := AddDTM(TempTDTM);
end;
We can use just the string?
Strings are for DTMs, which has a constant strcuture. DDTMs are dynamic, meaning the points in them can change coordinates, size, colour and tolerance.
For map walking, you should use DDTMs since the colours of the minimap change often.
PS: With the code above, everything seems to be constant, so it could be translated into a DTM/generated from a string.
Can this be used to make color tolerance 2 DTMs, by adding hue and sat to it?
Not scripting for RS anymore, sorry. Banned too many times.MY SCRIPTS
Ok, I read through the tutorial and I feel like this is a really bad way to walk. You have to set up a DTM manually for every time you click on the minimap and also set up a function each point and subpoint of every array? Maybe I'm not understanding this?
Simba Code:function SetDDTM(WalkNumber: Integer): Integer;
var
dtmMainPoint: TDTMPointDef;
dtmSubPoints: array[0..2] of TDTMPointDef;
MasterTDTM: TDTM;
begin
case WalkNumber of
1:begin
dtmMainPOint.x := 660;
dtmMainPOint.y := 21;
dtmMainPOint.AreaSize := 1;
dtmMainPOint.AreaShape := 0;
dtmMainPOint.Color := 4618874;
dtmMainPOint.Tolerance := 3;
dtmSubPoints[0].x := 646;
dtmSubPoints[0].y := 19;
dtmSubPoints[0].AreaSize := 1;
dtmSubPoints[0].AreaShape := 0;
dtmSubPoints[0].Color := 5338726;
dtmSubPoints[0].Tolerance := 3;
dtmSubPoints[1].x := 669;
dtmSubPoints[1].y := 23;
dtmSubPoints[1].AreaSize := 1;
dtmSubPoints[1].AreaShape := 0;
dtmSubPoints[1].Color := 4418677;
dtmSubPoints[1].Tolerance := 3;
dtmSubPoints[2].x := 658;
dtmSubPoints[2].y := 27;
dtmSubPoints[2].AreaSize := 1;
dtmSubPoints[2].AreaShape := 0;
dtmSubPoints[2].Color := 4487024;
dtmSubPoints[2].Tolerance := 3;
MasterTDTM.MainPoint := dtmMainPoint;
MasterTDTM.SubPoints := dtmSubPoints;
Result := AddDTM(MasterTDTM);
end;
end;
end;
function FindFloorColor: Integer;
var
TPA: TPointArray;
begin
if FindColorsTolerance(TPA, 4618874, P07_MMX1, P07_MMY1, P07_MMX2, P07_MMY2, 3) then
Result:= GetColor(TPA[0].X, TPA[0].y);
end;
This is what I've done so far. I have the TPA for my main point of my first minimap walk. Do I really have to make a function for each subpoint as well? This is just my first walking point of maybe 6 o.O.
Xeronate,
Yes, one would have to create a new DDTM for each point he/she would like to walk to.
how can i do ddtm to text if there isnt the option in dtm editor?
because we are not talking about DTMs. this guide is on DDTMs. so naturally, a DTM editor wont necessarily help with DDTMs. Download neilsie's DDTM editor if creating a DDTM.
Great guide, but one question.
I have around 40 points to autocolor in my total walking procedure.
Now somewhere in the comments I read that it's possible to create the multiple TPA's in one function.
I guess it kinda works the same as with the DTMs (for example: GuardDTM[i]).
Now I'm kinda confused about the Autocolor TPA function (Do I need to add an array?)
Added the questions in the boxes underneath.
Simba Code:Function GetDaColor: Integer;
var
TPA : TPointArray;
I, Col : Integer;
//I guess here should come something like: TPA: Array .. of Integer; ?????)
begin
if FindColorsTolerance(TPA, 7568507, MMX1, MMY1, MMX2, MMY2, 10) then
begin
Col := GetColor(TPA[i].X, TPA[i].Y);
Result:= Col;
end;
if FindColorsTolerance(TPA, DifferentColor, MMX1, MMY1, MMX2, MMY2, 10) then
begin
Col := GetColor(TPA[i].X, TPA[i].Y);
Result:= Col;
end;
end;
Now when I call the TPA's in the DDTM how should I add them?
Like this?
Simba Code:Function LoadWalkToBankDDTMS(WalkNumber: Integer): Integer;
var
dtmMainPoint: TDTMPointDef;
dtmSubPoints: array[0..4] of TDTMPointDef;
TempTDTM: TDTM;
begin
case WalkNumber of
1: begin
dtmMainPoint.x := 648;
dtmMainPoint.y := 153;
dtmMainPoint.AreaSize := 0;
dtmMainPoint.AreaShape := 0;
dtmMainPoint.Color := GetDaColor;
dtmMainPoint.Tolerance := 40;
dtmSubPoints[0].x := 648;
dtmSubPoints[0].y := 153;
dtmSubPoints[0].AreaSize := 0;
dtmSubPoints[0].AreaShape := 0;
dtmSubPoints[0].Color := GetDaColor;
dtmSubPoints[0].Tolerance := 40;
dtmSubPoints[1].x := 627;
dtmSubPoints[1].y := 133;
dtmSubPoints[1].AreaSize := 4;
dtmSubPoints[1].AreaShape := 0;
dtmSubPoints[1].Color := GetDaColor;
dtmSubPoints[1].Tolerance := 40;
dtmSubPoints[2].x := 662;
dtmSubPoints[2].y := 162;
dtmSubPoints[2].AreaSize := 3;
dtmSubPoints[2].AreaShape := 0;
dtmSubPoints[2].Color := GetDaColor;
dtmSubPoints[2].Tolerance := 40;
dtmSubPoints[3].x := 628;
dtmSubPoints[3].y := 201;
dtmSubPoints[3].AreaSize := 4;
dtmSubPoints[3].AreaShape := 0;
dtmSubPoints[3].Color := GetDaColor;
dtmSubPoints[3].Tolerance := 40;
TempTDTM.MainPoint := dtmMainPoint;
TempTDTM.SubPoints := dtmSubPoints;
Result := AddDTM(TempTDTM);
end;
end;
So how far off am I?
07Scripter
I mostly write private scripts
There are currently 1 users browsing this thread. (0 members and 1 guests)