SRL Archive - Discussions and Debates

DemiseSlayer [2013]


DemiseScythe

2013-05-23 21:51:08

Just dropping by to share that I have continued the development of DemiseSlayer. I have already added over 700 new lines of code to the script and am continuing to tweak it as I go along. Currently using it as an autofighter to boost my combat capabilities, test and get rid of bugs. I have gone from rune to bandos armor with ease in a couple days. At the moment it can only last 1 inventory of monkfish (~2 hours), but that is because I don't have access to Summoning, with Summoning I can run +5 hours with ease using Bunyip pouches if not more. There is not much left for me to do in regards to EoC that I can think of. I will check the more advance combat functions as I gain the access to them. Development might be slow since I am doing a bunch of quests to gain access to shortcuts and better slayer masters, but given that I am confined to my room for the rest of the Summer, I might finish the script before Fall comes.

http://www.youtube.com/watch?v=FpAXf5ZP64s


These two screens are from the same trip that was on the video, which I left running in the past few hours. As you can see the loot is very good for a bad monster. I gained 48k hitpoints xp which equates to over 115k attack experience and three attack levels. All that on an inventory of monkfish. I can't wait to see what my script can do with Summoning and Banking capabilities.

This is the current progress of the script: As of 6/24/2013

procedure DeclareNPCs; // Missing IDs Must Be Grabbed
function DTime: Integer;
function DDate: Integer;
procedure GLH_DLogInPlayer;
procedure SoundBase(S: String);
procedure GLH_IdentifyItem(x1, y1, x2, y2: Integer);
function GLH_FindItem(BID, Color: Integer; var x, y: Integer; x1, y1, x2, y2: Integer): Boolean;
function GLH_ClickItem(ID, Color, x1, y1, x2, y2: Integer; Click: Boolean; Option: String): Boolean;
function GLH_FindModel(BID: Cardinal; var x, y: Integer; x1, y1, x2, y2: Integer): Boolean;
function GLH_ClickModel(ID: Cardinal; x1, y1, x2, y2: Integer; Click: Boolean; Option: String): Boolean;
function GLH_ClickModelMulti(ID: Cardinal; x1, y1, x2, y2: Integer; Click: Boolean; Option: TStringArray): Boolean;
procedure GLH_Spin; // Needs Revision
function GLH_Hitpoints(Hp: Integer): Boolean;
function GLH_Prayer(Pray: Integer): Boolean;
function GLH_Summoning: Boolean;
function GLH_Poison: Boolean;
function GLH_SlotFilled(Index: Integer): Boolean;
function GLH_BarStatus: Boolean;
procedure GLH_CSlot(C: Integer);
procedure GLH_CombatBar;
function GLH_IsFightAt(x, y: Integer): Boolean;
function GLH_AttackNPC(ID: Integer): Boolean;
function GLH_Teleport: Boolean;
function GLH_Loot: Boolean;
function GLH_GetSlayerXP: Integer;
function FightNPC(ID, KillGoal: Integer): Boolean;

The above list only refers to the transfer of the script into OGL code. It does not include TaskGrabbing, Banking or Walking as of now.

I did some checking around with the Slayer Masters and Sumona won by being the most botable out of the three.


Completes these Sumona tasks so far: (12/28) + 9 Not Supported for 37 Total
- Aberrant Spectres
- Mighty Banshees
- Basilisks
- Blue Dragons
- Cave Crawlers
- Fire Giants
- Greater Demons (Bugged)
- Grotworms
- Hellhounds
- Kalphite Soldiers
- Mountain Trolls
- Turoths

I've only die on Hellhounds at a 91/91/91/91 account. Three times in 4 tasks and killed while looting, will look into it. The above tasks have gotten me from level 59 to 67 Slayer so far for 350k out of my 600k total experience in that Skill. I do not really need to have the level to code a task so I might just code them all tonight, iron out the bugs and release my alpha.

NKN

2013-05-23 22:03:06

If you need anything let me know.

I got a main with high stats (80-90 melee stats, around 75 slayer)
i'll need to buy P2P for it later though when i get money.

rj

2013-05-23 22:03:13

This looks nice, do you plan on making it do only hard or medium tasks or what?

Kevin

2013-05-23 22:05:36

Ooooh nice, good luck with this!

What master are you looking at finishing first with this?

Ian

2013-05-23 23:05:27

From your video it appears you are using the abilities by clicking on them, a faster way is to press the key that the ability is bound to. (That's what those numbers in the bottom left corner are for, you can even change them)

Good luck with your script, cool to see a second slayer script :)

DemiseScythe

2013-05-24 05:58:13

From: Officer Barbrady
This looks nice, do you plan on making it do only hard or medium tasks or what?


I am only around level 130, so not like I can do the hardest Slayer master, Sumona will be my goal master since it is easy to reach and the tasks are still decent.

From: Kevin
Ooooh nice, good luck with this!

What master are you looking at finishing first with this?


I will probably finish the Zanaris Slayer Master first. Already gained access to the city.

From: BMWxi
From your video it appears you are using the abilities by clicking on them, a faster way is to press the key that the ability is bound to. (That's what those numbers in the bottom left corner are for, you can even change them)

Good luck with your script, cool to see a second slayer script :)


Of course I can use the numbers but they seemed not to grab quickly for me, then again I was typing through SMART so that might explain why it took 3 keys to activate each ability, the abilities can be easily customized to fit any type of ability. Easy fix of course.

King

2013-05-24 22:55:19

Ive got an account with maxed melee + like 60-70 ish slayer you can borrow if you want, Ill leave money for supplies ect.. Pm me.

Wetish

2013-05-24 23:56:52

Looks like you are off to a really great start. I can't wait until I can see it finished. Slayer is a big goal to tackle, but I am sure that you will be able to do it. Cheers. :)

DemiseScythe

2013-05-25 11:47:13

From: King
Ive got an account with maxed melee + like 60-70 ish slayer you can borrow if you want, Ill leave money for supplies ect.. Pm me.


Thank you for the offer but I prefer to use my personal account, besides questing for the requirements is fun too.


King

2013-05-25 22:40:18

From: DemiseScythe
Thank you for the offer but I prefer to use my personal account, besides questing for the requirements is fun too.



Okay, if you ever need it let me know (:

rj

2013-05-25 22:50:46

Nice vid but I don't think you should make it go through every lootpile

DemiseScythe

2013-06-10 20:05:07

From: Officer Barbrady
Nice vid but I don't think you should make it go through every lootpile


I do not wish to lose any loot, specially effigies which is why I am building this script. Since an effigy is worth like 140k experience.

In other news, I fixed several severe bugs and it can now last 5-6 hours per run on 5 pouches.

The only things left to fix are MMtoMS cords, add a check for combat slots and dual weilding to prevent undesired behavior.

Tasks that currently work are:

Fire Giants(Waterfall/Karamja Dung)
Basilisks(Relleka Dung)
Bloodbveld(Slayer Tower)

I'll update the list as I get more tasks tested. If I skip the whole walking part, the script should be almost completed. Probably going to code all Sumona tasks.

rj

2013-06-10 20:07:24

From: DemiseScythe
I do not wish to lose any loot, specially effigies which is why I am building this script. Since an effigy is worth like 140k experience.

In other news, I fixed several severe bugs and it can now last 5-6 hours per run on 5 pouches.

The only things left to fix are MMtoMS cords, add a check for combat slots and dual weilding to prevent undesired behavior.

Tasks that currently work are:

Fire Giants(Waterfall/Karamja Dung)
Basilisks(Relleka Dung)
Bloodbveld(Slayer Tower)

I'll update the list as I get more tasks tested. If I skip the whole walking part, the script should be almost completed. Probably going to code all Sumona tasks.


Maybe you should use OpenGL for looting (http://villavu.com/forum/showthread.php?t=102735) I can't get the new SMART to load atm it's making me angry -.- but openGL would be 100% accurate maybe even openGL npc fighting

DemiseScythe

2013-06-11 14:52:39

Is that updated to work with EoC, it says OSR in the page you linked so I am not sure. If OGL is working, I'd be more than glad to use it. Afterall, there is a limited amount of things I can do with just color.

rj

2013-06-11 14:53:31

From: DemiseScythe
Is that updated to work with EoC, it says OSR in the page you linked so I am not sure. If OGL is working, I'd be more than glad to use it. Afterall, there is a limited amount of things I can do with just color.


Yes, OpenGL works for only EOC

DemiseScythe

2013-06-11 14:59:20

I am going to look into it, it definitely looks better than the outdated OGL thread I found. If it proves helpful I might translate a lot of it to OGL, my script works on even on high detail, so it should break because of OGL.

Olly

2013-06-11 15:04:05

From: DemiseScythe
Is that updated to work with EoC, it says OSR in the page you linked so I am not sure. If OGL is working, I'd be more than glad to use it. Afterall, there is a limited amount of things I can do with just color.


What does color limit you to?

rj

2013-06-11 15:06:40

From: Ollybest
What does color limit you to?


OpenGL looting would be a lot more effective

Olly

2013-06-11 15:08:37

From: Officer Barbrady
OpenGL looting would be a lot more effective
Still, limit isn't the right word imo.

DemiseScythe

2013-06-16 21:11:43

Can anyone explain to me how do I install the OGL stuff?

Suprisingly it is 2013 and people are still not adding a simple .txt with instructions on how to install things.

I got:
SMART v8.2 Rev5.3.zip
OpenGL32-GLHook.zip

So what is next?

Sjoe

2013-06-16 21:55:48

From: DemiseScythe
Can anyone explain to me how do I install the OGL stuff?

Suprisingly it is 2013 and people are still not adding a simple .txt with instructions on how to install things.

I got:
SMART v8.2 Rev5.3.zip
OpenGL32-GLHook.zip

So what is next?


@Brandon

rj

2013-06-16 23:01:05

From: DemiseScythe
Can anyone explain to me how do I install the OGL stuff?

Suprisingly it is 2013 and people are still not adding a simple .txt with instructions on how to install things.

I got:
SMART v8.2 Rev5.3.zip
OpenGL32-GLHook.zip

So what is next?


1) Extract both of the .zip files
2) put all of the .dll files into c:/simba/plugins (from the gl hook and smart)
3) if it asks you to replace something, do so
4) replace all of the .simba files that came with the smart .zip in their places, (so replace the srl.simba in c:/simba/includes/srl to the srl.simba in the smart folder)
5) Put any .simba files from the GL hook folder into c:/simba/includes

I probably explained that bad if you need any help PM me on here I can teamview you.

I couldn't even get the new smart to load because my firewall was blocking it :/

Brandon

2013-06-16 23:35:30

Like mentioned above in the post before this one, you just copy the files to their corresponding folders. Plugins go in the plugins folder and include files in the includes folder.

GLHook.dll/OpenGL32.dll -> C:/Simba/Plugins.
SRL.simba -> C:/Simba/Includes/SRL.

etc..

DemiseScythe

2013-06-18 14:45:56

From: Brandon
Like mentioned above in the post before this one, you just copy the files to their corresponding folders. Plugins go in the plugins folder and include files in the includes folder.

GLHook.dll/OpenGL32.dll -> C:/Simba/Plugins.
SRL.simba -> C:/Simba/Includes/SRL.

etc..


it refuses to find the GLHook32 plugin now

Exception in Script: Plugin(GLHook32) has not been found

Brandon

2013-06-18 15:10:26

From: DemiseScythe
it refuses to find the GLHook32 plugin now

Exception in Script: Plugin(GLHook32) has not been found


http://villavu.com/forum/showthread.php?t=102735&p=1249431#post1249431

footballjds

2013-06-19 11:45:38

Demise, any interest in high-level slaying? like 85+?

I have a main you could use. Also, whatever happened to your dungeoneering script? haha :)

when you left we were on bad terms, hopefully you'll be less of a c***
(just kiddddding <3)

DemiseScythe

2013-06-19 16:54:36

From: footballjds
Demise, any interest in high-level slaying? like 85+?

I have a main you could use. Also, whatever happened to your dungeoneering script? haha :)

when you left we were on bad terms, hopefully you'll be less of a c***
(just kiddddding <3)


It is alright, I am only level 59 Slayer on my current account but it should go up with time. Eitherway it is not a big deal since I can code any level tasks without actually doing the task. I am almost done learning to use OGL and most of my script still works in OGL mode except for OCR things like WaitOption which OGL has alternatives to. It will be way more efficient once I replace my DTMs with OGLIDs. I will post my current color based script on tonight. Afterwards, I will get started on adding OGL functions into it and cleaning it up to generate a GLHook enabled version. I am positive that with OGL, I can get equipment, banking and walking working.

DemiseScythe

2013-06-19 23:08:52

http://www.youtube.com/watch?v=pK7NjGFccq0

I finished the first draft of the Looting function using OGL. It loots in priority, only items inside screen bounds to prevent luring and sees all items including items under the player. The reason it didn't loot the gold charm on this video is because aparently gold and green charms have different IDs when on the ground and I just noticed after recording the video. All items were successfully looted. It can now also see items as small as a half key and click on it correctly.

I was a bit frustrated about attacking NPCs using this method but the new approach I'm using might work better. Unfortunately I cannot use this function until I have converted the entire Slayer include into OGL code.

rj

2013-06-19 23:20:39

From: DemiseScythe
http://www.youtube.com/watch?v=pK7NjGFccq0

I finished the first draft of the Looting function using OGL. It loots in priority, only items inside screen bounds to prevent luring and sees all items including items under the player. The reason it didn't loot the gold charm on this video is because aparently gold and green charms have different IDs when on the ground and I just noticed after recording the video. All items were successfully looted. It can now also see items as small as a half key and click on it correctly.

I was a bit frustrated about attacking NPCs using this method but the new approach I'm using might work better. Unfortunately I cannot use this function until I have converted the entire Slayer include into OGL code.

I have a question, are you using waitoption?

DemiseScythe

2013-06-20 04:58:14

Yes with 300 wait

Well I can now replace all my FindDTMs with this function http://www.youtube.com/watch?v=lL5jeg39pVw

It works flawlessly although in this case the GLH_WaitOption messed up and dropped the item instead of Examining it.

Just need to build a version for 3D models and I'll be able to rewrite my entire include in just a day.

@Brandon

Could you please check what is up with the WaitOption Function?

It seems to click a few ms early. That is before the mouse gets to the desired position which results in 30% of the time clicking the option above the desired one. The text recognition seems fine, it is just a matter of timing. See video above for more info.


Also the MeanID for items seems to change between logins?

rj

2013-06-20 09:25:24


Media player file didn't work -.-

DemiseScythe

2013-06-20 09:33:19

Works for me, IE ftw.

http://www.youtube.com/watch?v=lL5jeg39pVw

youtube version

rj

2013-06-20 09:35:25

From: DemiseScythe
Works for me, IE ftw.

http://www.youtube.com/watch?v=lL5jeg39pVw

youtube version


OO ty, it looks similar to findobjcustom


POST NUMBER 3000!!

Brandon

2013-06-20 19:16:05

@DemiseScythe; I'll be updating it today in a couple of hours. I'm fixing the Smart now. Ran into some ridiculously stupid problems with Smart. No biggie though. I'll look into the WaitOption** functions. I wrote the OpenGL include a year ago. Probably needs a little push.

Also, for the ID's changing, BaseID never changes. MeanID changes depending on whatever Shader jagex uses. I can hook the shader and remove the "random" & "noise" variables from it but I'm not sure that I should. The reason is because these variables are what actually makes colours change on the screen.. In other words, if I remove them, all colours would always be the same (removing the need for tolerances) and so on but I'm not sure what "side effects" that would have. I'm 99% sure it'd have none but that 1% still bugs me. Never tried removing it either but I have already played around with the shaders.

Today's update will also fix that Drawing thing I noticed in your video. The one where it requires you to hover over something to display ID's on some graphics cards. Already have the update ready but I have to "fix" smart and test all changes before releasing anything.


So explanation for the ID's:

BaseID aka "Hash" ID never changes. It's static no matter what (unless Jagex graphically changes the Model/Texure).
MeanID aka "Colour" ID almost always changes. It's rarely ever static. I usually just do:


Search for baseid then do a "SimilarColours(MeanID, somecolour)" check on what I'm looking for. The include has functions that automatically do it for you. So you don't have to do this yourself.

IE.. (GLHook_Get***ByMeanID… The definition of one of the functions already in the include is as follows):


{*
Gets Items using their BaseID, their MeanID and a specified Tolerance.

The BaseID is the actual ID of the item.
The MeanID is the Average RGB ID of the item. This allows us to distinguish every single item.
The Tolerance is how accurate the search should be.

The result is an array of items with the same BaseID and a similar MeanID that falls within the specified Tolerance.
If nothing is found, the result is an empty array.
*}

Function GLHook_GetItemsByMeanID(BaseID, MeanID, Tolerance: Integer): TPanelArray;
var
I, L: Integer;
ListOfItems: TPanelArray;
begin
ListOfItems := GLHook_GetItemsByID(BaseID);
L := High(ListOfItems);

For I := 0 To L Do
If SimilarColors(ListOfItems[I].MeanID, MeanID, Tolerance) Then
begin
SetLength(Result, Length(Result) + 1);
Result[Length(Result) - 1] := ListOfItems[I];
end;
end;

DemiseScythe

2013-06-20 21:18:02

From: Brandon
@DemiseScythe; I'll be updating it today in a couple of hours. I'm fixing the Smart now. Ran into some ridiculously stupid problems with Smart. No biggie though. I'll look into the WaitOption** functions. I wrote the OpenGL include a year ago. Probably needs a little push.

Also, for the ID's changing, BaseID never changes. MeanID changes depending on whatever Shader jagex uses. I can hook the shader and remove the "random" & "noise" variables from it but I'm not sure that I should. The reason is because these variables are what actually makes colours change on the screen.. In other words, if I remove them, all colours would always be the same (removing the need for tolerances) and so on but I'm not sure what "side effects" that would have. I'm 99% sure it'd have none but that 1% still bugs me. Never tried removing it either but I have already played around with the shaders.

Today's update will also fix that Drawing thing I noticed in your video. The one where it requires you to hover over something to display ID's on some graphics cards. Already have the update ready but I have to "fix" smart and test all changes before releasing anything.


So explanation for the ID's:

BaseID aka "Hash" ID never changes. It's static no matter what (unless Jagex graphically changes the Model/Texure).
MeanID aka "Colour" ID almost always changes. It's rarely ever static. I usually just do:


Search for baseid then do a "SimilarColours(MeanID, somecolour)" check on what I'm looking for. The include has functions that automatically do it for you. So you don't have to do this yourself.


That sounds great. I really appreciate it. The Drawing part was rather troublesome and made collecting IDs hard, hopefully it gets fixed. I did start an ID library for now.

Getting that Effigy FloorID is going to be extremely annoying. I have to be in OGL mode and get the ID before I pick it up or it dissappears because they cannot be dropped back on the floor. Not to mention how rare the drop itself is =(.

As for the Dynamic MeanIDs, do not worry about it, I found a great workaround using FindColorTolerance and can now distinguish all items accurately regardless of shader effects.

If you could please fix WaitOption() and WaitOptionMulti() I should be able to rewrite my entire script and finish it without much problems. I can already loot and find items correctly. Once I can find models correctly, I might be able to walk to locations using compassangle, camera height and models for check points. I just noticed some login functions are empty, I will have to fill them up.

Is there any way to force SMART to start in OGL mode instead of safe mode? I looked through the GLHook Include but couldn't find anything relevant. I'll check the smart.simba later to see if I can find something.

DemiseScythe

2013-06-20 21:34:53

For everyone else:

This was the original list of supported slayer tasks: http://puu.sh/3kwil.xlsx

As some of you might notice, I was only able to do tasks which had monsters of a single combat level thus a constant amount of experience. Turoths for example have 7 different combat levels which made my original way of tracking kills performed hard to manage. Thanks to OGLIDs however I can now do/code many more tasks into my script. Except the extremely risky ones such as Mithril Dragons, ect.

I would like to get some feedback into which Slayer Masters to completely code all their tasks from.

Chaeldar, Sumona, or Duradel.

Out of the three I am inclined to go for Sumona since it has the easiest access by Slayer Ring teleport of the three.

I will code all three with time but I really want to complete all tasks for 1 of the three first.

Equipment will be generous and I will allow a setting for people to add armour/weapons to the script. Or I can add myself if asked. Eitherway will add a tutorial in how to do so step by step. Food support, Unicorn if my 13k charms can get me from 68 to 88, I'll get it working in time, Poison, Summoning(Bunyip/Unicorn).

I am not sure if I should add Prayer Support although it will be necessary to do some of the harder tasks. If you have some feedback to contribute, this is your chance.

Olly

2013-06-20 21:35:33

Why not just use simba's chooseOption() stuff.. It works in OGL mode right? Why re-write a entire include when things work perfectly.

DemiseScythe

2013-06-20 21:41:16

From: Ollybest
Why not just use simba's chooseOption() stuff.. It works in OGL mode right? Why re-write a entire include when things work perfectly.


The regular Wait/ChooseOption does not work in OGL mode for some unknown reason. It just stays there looking at the options but it never clicks anything, it just hangs there.

Anyways, I can now find Models with OGLIDs too http://www.youtube.com/watch?v=zV0MWSqt_kk

It's a bit snappy because I had a waitless loop on the function but it works out pretty well in my opinion.
repeat
GLH_ClickModel(2899464474, SSX1, SSY1, SSX2, SSY2, False, 'Shear');
until InvFull;

I just have to do a few more adjustments to turn it into an AttackNPC function =)

Edit:

GLH_AttackNPC() working now. Prioritizes by level and doesn't attack NPCs outside the mainscreen or in combat. I just need to add a failsafe for when it doesn't find any NPC on the mainscreen. Something like this:

NPCs := GetMMDotsOnMS('npc');
L := Length(NPCs);
if L < 1 then
begin
x := MMCX;
y := MMCY;
if FindColorSpiralTolerance(x, y, 524018, MMX1, MMY1, MMX2, MMY2, 15) then
begin
Mouse(x, y, 1, 1, true);
FFlag(0);
Wait(250 + Random(50));
end;
Exit;
end;
Of course that is from the color script, I need to do something more appropiate with OGL.

footballjds

2013-06-21 11:23:18

From: DemiseScythe
For everyone else:

This was the original list of supported slayer tasks: http://puu.sh/3kwil.xlsx

As some of you might notice, I was only able to do tasks which had monsters of a single combat level thus a constant amount of experience. Turoths for example have 7 different combat levels which made my original way of tracking kills performed hard to manage. Thanks to OGLIDs however I can now do/code many more tasks into my script. Except the extremely risky ones such as Mithril Dragons, ect.

I would like to get some feedback into which Slayer Masters to completely code all their tasks from.

Chaeldar, Sumona, or Duradel.

Out of the three I am inclined to go for Sumona since it has the easiest access by Slayer Ring teleport of the three.

I will code all three with time but I really want to complete all tasks for 1 of the three first.

Equipment will be generous and I will allow a setting for people to add armour/weapons to the script. Or I can add myself if asked. Eitherway will add a tutorial in how to do so step by step. Food support, Unicorn if my 13k charms can get me from 68 to 88, I'll get it working in time, Poison, Summoning(Bunyip/Unicorn).

I am not sure if I should add Prayer Support although it will be necessary to do some of the harder tasks. If you have some feedback to contribute, this is your chance.


sumona is low level, definitely kuradal! :) The ferocious ring teleports you right next to her, also people with lunar's magics can easily contact her. Contact NPC is your "best friend" spell for slayer :D

Kevin

2013-06-21 11:28:12

I'll be honest, I've been avoiding commenting on this (not in any dislike for you but just to see how you were coming along). But I've been working on a slayer script myself for a little while now and am about 80-90% through a working script I've already directed at Kuradal if you wanna pick a separate master (also she requires 75 slayer which you don't have yet, right)?

Although for us both to use Kuradal isn't bad by any means either, so it remains entirely up to you. :)

footballjds

2013-06-21 11:37:22

From: Kevin
I'll be honest, I've been avoiding commenting on this (not in any dislike for you but just to see how you were coming along). But I've been working on a slayer script myself for a little while now and am about 80-90% through a working script I've already directed at Kuradal if you wanna pick a separate master (also she requires 75 slayer which you don't have yet, right)?

Although for us both to use Kuradal isn't bad by any means either, so it remains entirely up to you. :)


so you need me to test it? sounds cool :p

Kevin

2013-06-21 12:45:25

From: footballjds
so you need me to test it? sounds cool :p


I don't want to take over Demise's thread at all and I'd prefer this be left entirely to her. When I'm ready for public testing (idk, within 1-2 weeks?), it'll be fully public with some extra logic to enforce that once testing is over, registered users don't get to keep it ;)

footballjds

2013-06-21 13:49:33

From: Kevin
I don't want to take over Demise's thread at all and I'd prefer this be left entirely to her. When I'm ready for public testing (idk, within 1-2 weeks?), it'll be fully public with some extra logic to enforce that once testing is over, registered users don't get to keep it ;)


Stellar, however this is in the discussions forums so hijacking is less criminal somehow ;)

DemiseScythe

2013-06-21 15:28:22

I don't mind at all, the list of func might look 90% broken but I did the legwork already, with my item finding functions I'll just need to replace my DTM methods with OGL ones and my script will be fully working besides IDs, walking, banking and equiping. I still got a lot of things to get such as Lunar magic so I it is not a big deal if yours comes out first. I eventually will complete all 4 Slayer masters I mentioned, it is just a matter of which to finish first.

Good luck with your script. If it is good enough then may be I won't have to finish mine at all. Afterall, I am only doing this because I am bored. I will stick with Sumona since my account is low level, after I do the Love Story quest I'll do Shilo's.

Kevin

2013-06-21 16:09:48

I will admit now I'm not going to switch to OGL - mainly because we don't have a guarantee that OGL will survive the RS3 update. In fact it won't be in RS3, and while they will keep a base non-HTML5 client, they have not specified whether it will be SMART only, or whether it will allow for OGL rendering at all (which is within the next 2 months I think). I also (am pretty sure I) do not plan on doing any more than one master at the moment due to the tremendous amount of paths/maps/colors I would have to keep up to date.

I have combat, looting, and fairy ring access/teleportation done, as well as a couple of monsters (colors/paths to reach them) supported at the moment. However, I have absolutely no equipment switching (important imo and prolly a decent time to work out), no pot support yet, and no summoning support yet (hard to figure out what to do when I don't even know what to do with them in legit lol). So there's still some dev time left for me, but like you say with your own, most of the legwork is done.

I hope everything turns out well for you and maybe we can work together on a future project sometime! :)

DemiseScythe

2013-06-21 17:00:40

From: Kevin
I will admit now I'm not going to switch to OGL - mainly because we don't have a guarantee that OGL will survive the RS3 update. In fact it won't be in RS3, and while they will keep a base non-HTML5 client, they have not specified whether it will be SMART only, or whether it will allow for OGL rendering at all (which is within the next 2 months I think). I also (am pretty sure I) do not plan on doing any more than one master at the moment due to the tremendous amount of paths/maps/colors I would have to keep up to date.

I have combat, looting, and fairy ring access/teleportation done, as well as a couple of monsters (colors/paths to reach them) supported at the moment. However, I have absolutely no equipment switching (important imo and prolly a decent time to work out), no pot support yet, and no summoning support yet (hard to figure out what to do when I don't even know what to do with them in legit lol). So there's still some dev time left for me, but like you say with your own, most of the legwork is done.

I hope everything turns out well for you and maybe we can work together on a future project sometime! :)


Well that really is troublesome, I figured they were going to make a whole new game. Kind of how RS2 is apart from RS1. If OGL is going to be removed, and now you need an i5 with a mid-range video card to run RS, I sort of cant be bothered with RS anymore. Color is definitely annoying with having to right-click item piles to loot items. There is not point finishing either script.

This really is a shame but I will not spend months working on a script that will be obsolete when SMART dies.

Kevin

2013-06-21 17:37:07

From: DemiseScythe
Well that really is troublesome, I figured they were going to make a whole new game. Kind of how RS2 is apart from RS1. If OGL is going to be removed, and now you need an i5 with a mid-range video card to run RS, I sort of cant be bothered with RS anymore. Color is definitely annoying with having to right-click item piles to loot items. There is not point finishing either script.

This really is a shame but I will not spend months working on a script that will be obsolete when SMART dies.

SMART won't necessarily die. There is a guaranteed SMART client for low end cards. It's just not guaranteed that the low end client will support OGL rendering. I'm not saying OGL is going away for the client, just that we don't know - however normal color-based SMART should continue to work (maybe some color updates).

Olly

2013-06-21 17:45:57

Like Kevin has said, they have confirmed they will still have a "basic java client" if that will java only mode, or support other graphic driver things who knows.

DemiseScythe

2013-06-24 00:31:58

Well, after realising how dumb it would be for them to remove OGL, I decided to continue working on my script. I completed and fully tested the summoning function on my script. It currently only uses Bunyip pouches but expansion is easily done.

DemiseScythe

2013-06-25 08:09:35

All the functions have now been converted to OGL code except for the combat bar handler. There are a couple items to iron out in AttackNPC and Loot with regards to the other functions not being finished at the time they were coded and the FightNPC function just needs a quick logic switch to support monsters with varying SlayerXPs.

After this, the real fun starts.

DemiseScythe

2013-06-25 21:07:15

Finally completed the Fighting Engine GLH_FightNPC();

http://www.youtube.com/watch?v=FpAXf5ZP64s


It still has some small problems here and there with the WaitOption but otherwise I think it works out pretty well. It encounters this bug when no NPCs are in the screen. Anyone have any idea why Simba thinks the client is only 49 pixels high?


rj

2013-06-25 22:11:43

You should make it use the hotkeys instead of clicking the bars lol

Ian

2013-06-25 22:39:47

From: DemiseScythe
Finally completed the Fighting Engine GLH_FightNPC();

http://www.youtube.com/watch?v=FpAXf5ZP64s


It still has some small problems here and there with the WaitOption but otherwise I think it works out pretty well. It encounters this bug when no NPCs are in the screen. Anyone have any idea why Simba thinks the client is only 49 pixels high?



I don't know, but I'm pretty sure that would have something to do with the NavBar because it has a height of 50. I don't know why it would do that though, I've never got it before.

How often does it happen? If you can recreate it then I might be able to duplicate it.

The Mayor

2013-06-25 23:44:51

Nice. Charm finding looks great :) So much easier to pick up hidden drops.

Brandon

2013-06-26 13:15:47

RE: SRL_ENABLENAVBAR
@DemiseScythe;

Thank your for the video and the message. I figured out why. The OpenGL version uses the SRL version so yeah (that's a problem). Here's the problem with the SRL version:

It calls GetClientDimensions every time. It has no static value for client dimensions (765 x 553). So every time it sets the navbar down by 50, the client dimensions are changed to minus 50. On the next call, it does this again and again and again.. This is a very bad "Simba/SRL" bug. I might report it on the git when I get some time (if I remember and is not lazy). It's bad because if you accidentally forget to reset it, kaboom. Can cause deaths in game and all sorts of other problems as you displayed nicely in that video.

Client dimensions shouldn't be reduced like that at all. It works by setting an offset within the Image pixels it retrieves but it should not keep setting the same offset multiple times, without checking if it is already set. Didn't know such a bug could even exist.

So here's an OpenGL fix with dynamic dimensions and non-changing in fixed mode:

Replace the contents of GLHook.Simba with the following Fix:


{$Define GLHook}
{$include_once SRL/SRL.Simba}
Procedure GLHook_HideNavBar; forward;
Procedure GLHook_ShowNavBar; forward;

{$include_once GLHook/GLHookIDs.Simba}
{$include_once GLHook/GLCommunication.Simba}
{$include_once GLHook/Text.Simba}
{$include_once GLHook/Timing.Simba}
{$include_once GLHook/Chat.Simba}
{$include_once GLHook/Amount.Simba}
{$include_once GLHook/GameTab.Simba}

{$include_once GLHook/Flag.Simba}
{$include_once GLHook/Login.Simba}
{$include_once GLHook/Bank.Simba}


Procedure GLHook_HideNavBar; //Allows exact MouseMovement in the OpenGL world. Forcefully remove the Mouse offset.
var
X, Y, W, H: Integer;
Begin
GLHGetViewPort(X, Y, W, H); //The viewport is the client dimensions. It tells if you're in fixed or resizeable as well.
If (Length(GLHook_GetTexturesByMeanID(97645, 1510404, 10)) > 0) then //Simple check for the navbar.
begin
ImageSetClientArea(SRL_NAVBAR_INGAME_X, SRL_NAVBAR_INGAME_Y, W, H);
MouseSetClientArea(SRL_NAVBAR_INGAME_X, SRL_NAVBAR_INGAME_Y, W, H);
end else
begin
ImageSetClientArea(SRL_NAVBAR_INGAME_X, SRL_NAVBAR_LOGIN_Y, W, H);
MouseSetClientArea(SRL_NAVBAR_INGAME_X, SRL_NAVBAR_LOGIN_Y, W, H);
end;
End;

Procedure GLHook_ShowNavBar; //Resets the Navigation bar. Forcefully enable it and add the Mouse offset.
Begin
SRL_EnableNavBar;
End;


var
GLImgPointer: Integer;

Procedure FreeGLImagePointer;
begin
FreeTarget(GLImgPointer);
end;

Function GLHook_Setup(ProcessID: String): Boolean; //IGNORE this function. Was an idea I had of changing all the offsets in game. Works only in the BROWSER!
Begin
GLC_MSBox := IntToBox(MSX1 + SRL_NAVBAR_INGAME_X, MSY1 + SRL_NAVBAR_INGAME_Y, MSX2 + SRL_NAVBAR_INGAME_X, MSY2 + SRL_NAVBAR_INGAME_Y);
GLC_MMBox := IntToBox(MMX1 + SRL_NAVBAR_INGAME_X, MMY1 + SRL_NAVBAR_INGAME_Y, MMX2 + SRL_NAVBAR_INGAME_X, MMY2 + SRL_NAVBAR_INGAME_Y);
GLC_MIBox := IntToBox(MIX1 + SRL_NAVBAR_INGAME_X, MIY1 + SRL_NAVBAR_INGAME_Y, MIX2 + SRL_NAVBAR_INGAME_X, MIY2 + SRL_NAVBAR_INGAME_Y);
GLC_MCBox := IntToBox(MCX1 + SRL_NAVBAR_INGAME_X, MCY1 + SRL_NAVBAR_INGAME_Y, MCX2 + SRL_NAVBAR_INGAME_X, MCY2 + SRL_NAVBAR_INGAME_Y);

Result := GLHSetup(ProcessID);
GLImgPointer := SetTargetArray(GLHGetImagePointer, 765, 553);
AddOnTerminate('FreeGLImagePointer');
End;



I tested both the SRL version vs. the GLHook version. Here's the difference:

SRL:

Repeat
//GLHook_HideNavBar;
SRL_DisableNavBar;
GetClientDimensions(W, H);
writeln(ToStr(W) + ' ' + ToStr(H));
I := I + 1;
Until(I >= 20);

SRL Compiled in 15 msec
Paired with SMART[11348]
765 481
765 431
765 409
765 359
765 337
765 287
765 265
765 215
765 193
765 143
765 121
765 71
765 49
Warning! You passed a wrong ye to a finder function: 50. The client has a height of 49, thus the ye is out of bounds. Setting the value to 48 (h-1) for now.
765 -1
Exception: Range check error at line 664
The following DTMs were not freed: [SRL - Lamp bitmap, 1]
The following bitmaps were not freed: [SRL - Mod bitmap, SRL - Admin bitmap, SRL - Flag bitmap, SRL - NavBar Bitmap, SRL - Options Bitmap]


GLHook version (the one I just wrote above):

Repeat
GLHook_HideNavBar;
//SRL_DisableNavBar;
GetClientDimensions(W, H);
writeln(ToStr(W) + ' ' + ToStr(H));
I := I + 1;
Until(I >= 20);


SRL Compiled in 0 msec
Paired with SMART[11348]
765 503
765 503
765 503
765 503
765 503
765 503
765 503
765 503
765 503
765 503
765 503
765 503
765 503
765 503
765 503
765 503
765 503
765 503
765 503
765 503
Successfully executed.


Conclusion, that's a dangerous bug in the SRL include. If you find more of these, report them or just msg me or something. I'll see what I can do to fix it quickly. Should probably file this under the SRL bug section as well. I'll fix the SRL version and send a pull if no one else does within the next 24 hrs. A simple boolean bitcheck would fix it.

DemiseScythe

2013-06-26 15:06:11

SRL Compiled in 0 msec
Paired with SMART[7992]
7992
Kills: 1
Kills: 2
…
Kills: 535
Kills: 536
Successfully executed.

Not bad at all, I got logout because I ran out of inventory space but it works pretty nice so far.



This was a 9 pouch setup so it did the 536 kills in 5 bunyip pouches for a total of 239k xp in 3 hours 40 minutes.

rj

2013-06-26 15:18:32

From: DemiseScythe
SRL Compiled in 0 msec
Paired with SMART[7992]
7992
Kills: 1
Kills: 2
…
Kills: 535
Kills: 536
Successfully executed.

Not bad at all, I got logout because I ran out of inventory space but it works pretty nice so far.



This was a 9 pouch setup so it did the 536 kills in 5 bunyip pouches for a total of 239k xp in 3 hours 40 minutes.


Is there a difference between noted items with OpenGL?

Fire gaints drop a lot from the rare drop table http://runescape.wikia.com/wiki/Rare_drop_table you could potentially gain a lot more cash

DemiseScythe

2013-06-26 15:51:10

All noted items have the same ID which makes it dangerous to include their ID but the names can be added to the pick up list, if there is a charm dropped with the noted item, both will get picked up.

I've gotten noted pure ess, noted snaps and noted yews so far. Although only the snapdragons automatically due to the term 'dragon'. The drop list is not yet finished but it can be easily modded now that it is built.

The hardest ID to get is the ground ID for an effigy. Might take me over 40 hours just to get it.

rj

2013-06-26 15:52:25

From: DemiseScythe
All noted items have the same ID which makes it dangerous to include their ID but the names can be added to the pick up list, if there is a charm dropped with the noted item, both will get picked up.

I've gotten noted pure ess, noted snaps and noted yews so far. Although only the snapdragons automatically due to the term 'dragon'. The drop list is not yet finished but it can be easily modded now that it is built.

The hardest ID to get is the ground ID for an effigy. Might take me over 40 hours just to get it.


Good good, because there are some awsome drops there, I usually get atleast 1-2 "good" drops over 50k alone from the rare drop table everytask

DemiseScythe

2013-06-26 22:26:48

I did some checking around with the Slayer Masters and Sumona won by being the most botable out of the three.



The point system is fair enough and I did not discriminate against those who do not assign a certain task by giving them 0 bias. Tasks botable/safe received a +1 bias. Tasks unbotable/unsafe/unreachable received a -1 bias.

This is not a big deal since on the script I plan to include customization options where each task can be assigned as: Enabled or Disabled to allow players to skip certain tasks. The "Unable" above tasks will be "Forced Disabled" and will never be attempted. I will also give the choices for Disabled Tasks to Skip Using Points or To Log Out Player so that the task can be leggited, however this setting will be global/universal and applied for all Forced Disabled and Manually Disabled tasks.

I know that by perm blocking five tasks that are Forced Disabled, the remaining Disabled tasks can be skipped with points efficienetly while still building up points in reserve. Afterall the main purpose of this script is to generate Slayer experience. After blocking 5 perm disabled, the chance of getting a botable task will be 27/32 for a little over 84% chance of success.

Fungal Mages are botable as of 6/27/13 so Sumona stands at 19 and Duradel at 6 Points. Magic Style will now be supported.

footballjds

2013-06-27 15:03:56

why wouldn't you bot iron/steel dragon with kuradal? click the ring for an insta-teleport, walk in the cave, valah! No high level monsters are aggressive in there(only demons and dogs). each section has a barrier you need to pass. So you can easily stay in the area.

steel/iron dragons are a piece of cake, a super antifire or a shield+antifire combo reduces ALL damage to 0 unless you're in meele range.

Why wouldn't you bot black dragons? Do you know where the evil chicken lair is? Why wouldn't you bot strykewyrms? I know jungle/desert strykes are easy and bottable.

Also, because you're choosing not to do a lot of the high level tasks the whole thing is biased. You give kuradal a -1 and sumona a 0 because she cant assign it. In my opinion no -1 should be given for any reason. Just count the tasks they can assign and that you'll write code for if you're trying to look at it in that light.

DemiseScythe

2013-06-27 17:12:02

From: footballjds
why wouldn't you bot iron/steel dragon with kuradal? click the ring for an insta-teleport, walk in the cave, valah! No high level monsters are aggressive in there(only demons and dogs). each section has a barrier you need to pass. So you can easily stay in the area.

steel/iron dragons are a piece of cake, a super antifire or a shield+antifire combo reduces ALL damage to 0 unless you're in meele range.

Why wouldn't you bot black dragons? Do you know where the evil chicken lair is? Why wouldn't you bot strykewyrms? I know jungle/desert strykes are easy and bottable.

Also, because you're choosing not to do a lot of the high level tasks the whole thing is biased. You give kuradal a -1 and sumona a 0 because she cant assign it. In my opinion no -1 should be given for any reason. Just count the tasks they can assign and that you'll write code for if you're trying to look at it in that light.


I risk ~ 50M worth of equipment if I die during a task. Strykewyrms are a no due to special attacks. Irons and Steels can only be done "effectively" on Kuradal but she has too many tasks that are unbotable such as the Grifos. If you look above, black dragons are "Able" and very botable but I do not wish to go beyond Chromatic dragons. I am being practical, weaker monsters yield better experience per hour.

Sjoe

2013-06-27 17:28:54

From: DemiseScythe
I risk ~ 50M worth of equipment if I die during a task. Strykewyrms are a no due to special attacks. Irons and Steels can only be done "effectively" on Kuradal but she has too many tasks that are unbotable such as the Grifos. If you look above, black dragons are "Able" and very botable but I do not wish to go beyond Chromatic dragons. I am being practical, weaker monsters yield better experience per hour.


always wear a RoL to be on the safe side :)

DemiseScythe

2013-06-27 17:41:44

From: Sjoe
always wear a RoL to be on the safe side :)


I got a RoW atm and current tasks dont seem to be a problem. Might get in the habbit of using RoL though.

Completes these tasks so far:
- Fire Giants
- Kalphite Soldiers
- Basilisks (Might look into the high level ones)
- Mighty Banshees
- Hellhounds
- Cave Crawlers
- Greater Demons (Small problem with the IDs)
- Grotworms
- Blue Dragons (ID Stacks don't allow for looting)
- Aberrant Spectres

The walking will be implemented later.

Sjoe

2013-06-27 17:53:48

From: DemiseScythe
I got a RoW atm and current tasks dont seem to be a problem. Might get in the habbit of using RoL though.

Completes these tasks so far:
- Fire Giants
- Kalphites
- Basilisks


Nice!

Yeah just wear RoL when botting, doesn't matter if u legit.

Ashaman88

2013-06-27 18:08:49

This is great… tempting me to dive into it

DemiseScythe

2013-06-27 18:41:44

I will release an alpha version once all tasks have been coded, then players can gettask+bank+walk but the script will take care of the rest. Kind of an autofighter with slayer presets. Then I will begin coding the rest as I go. Since a total of 6 tasks can be blocked at 300 quest points, that would only leave three tasks the script cannot do. I recommend blocking all Sumona tasks except Vyrewatch and Spiritual mages and warriors. Once My script finishes my mighty banshee task, Ill code the next one I get. I suggest getting fairy rings, slayer helm and slayer ring crafting ability meanwhile as those will definitely be required for the walking version of the script. I will code the most effective way, not the lowest req path.


42k botted xp in just 3 tasks so far today.

footballjds

2013-06-28 10:29:28

From: DemiseScythe
I risk ~ 50M worth of equipment if I die during a task. Strykewyrms are a no due to special attacks. Irons and Steels can only be done "effectively" on Kuradal but she has too many tasks that are unbotable such as the Grifos. If you look above, black dragons are "Able" and very botable but I do not wish to go beyond Chromatic dragons. I am being practical, weaker monsters yield better experience per hour.


As others said, I'd wear a RoL over a RoW. Also, higher level monsters are better for high combat level players ever since EoC.

as far as strykewyrms, is there nothing OGL has to lend us?

DemiseScythe

2013-06-28 12:46:39

From: footballjds
As others said, I'd wear a RoL over a RoW. Also, higher level monsters are better for high combat level players ever since EoC.

as far as strykewyrms, is there nothing OGL has to lend us?


I can detect animations with OGL if I capture the ID of its graphic model but it wouldnt work with the standard combat handler, that task would have to have its own handler to work. The main issue is other players, since you can be hitted by other people's NPCs, they can easily Pk you with the specials, outwait your grave and loot your armour. In my opinion, a pretty bad idea. not to mention I can't distinguish between my target and other's when it comes to detecting the animation.

footballjds

2013-06-28 13:21:15

From: DemiseScythe
I can detect animations with OGL if I capture the ID of its graphic model but it wouldnt work with the standard combat handler, that task would have to have its own handler to work. The main issue is other players, since you can be hitted by other people's NPCs, they can easily Pk you with the specials, outwait your grave and loot your armour. In my opinion, a pretty bad idea. not to mention I can't distinguish between my target and other's when it comes to detecting the animation.


how will any other players NPC attack me? You'd have to click on the mound to get attacked. Also, couldn't we detect whose NPC it is based on location on screen?

DemiseScythe

2013-06-28 16:57:28

From: footballjds
how will any other players NPC attack me? You'd have to click on the mound to get attacked. Also, couldn't we detect whose NPC it is based on location on screen?


I can only tell what is there and where it is, not which way it faces. After you activate a mound, you can lure it into some other player's path to harm them.

repeat
http://www.youtube.com/watch?v=6kRFtoklVto
until BotterHasDied;
LootGear;

With 40% bar damage per lure, three of these can kill you if not make you eat all of your food right away.

DemiseScythe

2013-06-30 16:21:09

http://villavu.com/forum/showthread.php?t=104514

The first version of the Script has been released.

footballjds

2013-07-01 11:15:15

From: DemiseScythe
I can only tell what is there and where it is, not which way it faces. After you activate a mound, you can lure it into some other player's path to harm them.

repeat
http://www.youtube.com/watch?v=6kRFtoklVto
until BotterHasDied;
LootGear;

With 40% bar damage per lure, three of these can kill you if not make you eat all of your food right away.


that's not a lure, that is lucky as hell, you can't try to do that :P

but at anyrate, your decisions of course, congrats on the release. I'm almost 85+ slayer so I probably won't use it for now though :/

Turpinator

2013-07-02 13:10:31

From: DemiseScythe
I can only tell what is there and where it is, not which way it faces. After you activate a mound, you can lure it into some other player's path to harm them.

repeat
http://www.youtube.com/watch?v=6kRFtoklVto
until BotterHasDied;
LootGear;

With 40% bar damage per lure, three of these can kill you if not make you eat all of your food right away.


That still works? i mean… the video is from over 3 years ago. ive never encountered this on a stryke task.

DemiseScythe

2013-07-02 13:31:59

Try it out with a friend, it definitely works. I used to try to kill other players not to get bored with this task.

footballjds

2013-07-02 15:38:40

From: DemiseScythe
Try it out with a friend, it definitely works. I used to try to kill other players not to get bored with this task.


i only saw the special attack twice on my last slayer task there cause i kill them too fast… I bring the best potion, armor, weapons and prayers to EVERY slayer task. I blow all my cash on making slayer as fast as possible.