SRL Archive - News and General

Update on Waterfiend Killer


Spartan 117

2014-02-04 01:44:23

Hey guys, since I became member I thought I might share how the water fiend script is coming along and maybe excite you guys for the release (which I don't know when that will be exactly).

I have refined the walking (I am still using atpa walking). It has been a while since it has missed walking. I would prefer to use SPS but it seems there may be too many NPCs in Zanaris for it to accurately return the player position.

I have added support for the charming imp! This is my favorite addition (as well as the only major one). Currently with a range level only in the 70s I am getting 300k XP/HR++! (That includes skill and constitution. It is 225k XP/HR skill and 75k XP/HR Constitution). This also means it's getting about 180 charms per hour!

I have added a few failsafes for some weird behavior with looting (such as water talisman and raw sharks being the same color as water runes). This makes it a lot more human like and logs out if it messes up too much.

Currently the only way to play on a world with other players is if you have loot turned off. I don't suspect this will change any time soon..

I also realized even with 99 magic and 99 defense it is better to pray against magic so I changed that

And i greatly increased the speed and efficiency of the ability using

As appreciation for becoming an SRL Member I think I will release it as a members only script!

here's a proggy for you:

(gotta love my pretty paints)

Clarity

2014-02-04 06:06:30

Sounds like a great finished product on the way. I got really excited when I saw this in your application. Nice idea with the logout failsafe. Looking forward to leechgive feedback on the release!
And that sig looks good on you :D

King

2014-02-04 16:11:55

For looting you can create an array of red dots on the minimap before and after the kill storing it as a TPA. Then compare the two TPA's, only finding the loot point that is new. Then you can click over them seeing if they contain loot you want (sometimes others leave loot) and this would greatly reduce the amount of times the script would check other's loot piles. The occasional messup would serve to make it look more human.

You can also find the HP bar of the monster that you are fighting and the search a smaller box around that once a full red bar is detected.

Spartan 117

2014-02-04 16:29:17

From: King
For looting you can create an array of red dots on the minimap before and after the kill storing it as a TPA. Then compare the two TPA's, only finding the loot point that is new. Then you can click over them seeing if they contain loot you want (sometimes others leave loot) and this would greatly reduce the amount of times the script would check other's loot piles. The occasional messup would serve to make it look more human.

You can also find the HP bar of the monster that you are fighting and the search a smaller box around that once a full red bar is detected.


I thought about this, but wouldn't I have to use SPS to store the position of the dots? Because my character often moves after it clicks to fight.

King

2014-02-04 17:15:06

From: Spartan 117
I thought about this, but wouldn't I have to use SPS to store the position of the dots? Because my character often moves after it clicks to fight.


I just transcribed the position I gathered from the mini-map to the main screen, it was approximate, but gave me a much smaller search box.

Spartan 117

2014-02-04 18:10:25

From: King
I just transcribed the position I gathered from the mini-map to the main screen, it was approximate, but gave me a much smaller search box.


Okay. I'll have to look at the pointToMainscreen function and see how I can best utilize this. I like the sound of the though, and it is originally what I had in mind, but I started small. I'll give it a shot. Thanks for the advice!

King

2014-02-04 18:12:12

From: Spartan 117
Okay. I'll have to look at the pointToMainscreen function and see how I can best utilize this. I like the sound of the though, and it is originally what I had in mind, but I started small. I'll give it a shot. Thanks for the advice!


Not a problem, I can also show you an example of the HP bar method as I have that in my original WF script. You are always free to take a look at what I did. I lost the rewrite with the Red dot method when I re did my computer /:

Spartan 117

2014-02-04 18:16:55

From: King
Not a problem, I can also show you an example of the HP bar method as I have that in my original WF script. You are always free to take a look at what I did. I lost the rewrite with the Red dot method when I re did my computer /:


I see only one problem with this method. Sometimes the water fiends leave the main screen while fighting them. If the loot falls off the main screen it will never pick up that loot..

King

2014-02-04 18:25:06

From: Spartan 117
I see only one problem with this method. Sometimes the water fiends leave the main screen while fighting them. If the loot falls off the main screen it will never pick up that loot..


How often do they leave? I have not fought them in a while, however I never had them leave the screen..also it doesn't transcribe to the main screen until after you have killed them, so it shouldn't matter? I might be misunderstanding what you are saying though..

Spartan 117

2014-02-04 18:34:26

@King They actually leave more often than your would think (they are walking off the screen as you attack them). And so there would be nothing on the main screen to transcribe to after they are dead and based on comparing dots before and after kills it would either get in an infinite loop or break after not finding the loot on screen and forget about it the next kill.

King

2014-02-04 19:15:36

From: Spartan 117
@King They actually leave more often than your would think (they are walking off the screen as you attack them). And so there would be nothing on the main screen to transcribe to after they are dead and based on comparing dots before and after kills it would either get in an infinite loop or break after not finding the loot on screen and forget about it the next kill.



Ahh, I understand what you mean now. You could always use the HP bar method in conjunction with this.

rj

2014-02-04 19:55:53

From: King
Not a problem, I can also show you an example of the HP bar method as I have that in my original WF script. You are always free to take a look at what I did. I lost the rewrite with the Red dot method when I re did my computer /:


Procedure Looting;
var
LootTPA: TPointArray;
L, i:integer;
LootPoint: TPoint;
begin
writeln('looting');
LootTPA := combinetpa(BeforeKillTPA, AfterKillTPA)
cleardoubletpa(LootTPA);
L := High(LootTPA) for i := 0 to L do
begin
writeln('looting2');
LootPoint := MMToMSEx(0, 2, LootTPA[i]);
MMouse(LootPoint.x, LootPoint.y, 1, 1);
ClickMouse2(False);
if WaitOptionMulti(['ater orb', 'Rune helm', 'eaweed', 'attlestaff', 'eath rune', 'charm', 'Snape'], 350) then
begin
FFlag(1);
While IsMoving Do Wait(RandomRange(25, 50));
exit;
end;
end;
SetArrayLength(BeforeKillTPA, 0);
SetArrayLength(AfterKillTPA, 0);
end;

Tee hee :D

King

2014-02-04 20:00:21

From: Officer Barbrady
Procedure Looting;
var
LootTPA: TPointArray;
L, i:integer;
LootPoint: TPoint;
begin
writeln('looting');
LootTPA := combinetpa(BeforeKillTPA, AfterKillTPA)
cleardoubletpa(LootTPA);
L := High(LootTPA) for i := 0 to L do
begin
writeln('looting2');
LootPoint := MMToMSEx(0, 2, LootTPA[i]);
MMouse(LootPoint.x, LootPoint.y, 1, 1);
ClickMouse2(False);
if WaitOptionMulti(['ater orb', 'Rune helm', 'eaweed', 'attlestaff', 'eath rune', 'charm', 'Snape'], 350) then
begin
FFlag(1);
While IsMoving Do Wait(RandomRange(25, 50));
exit;
end;
end;
SetArrayLength(BeforeKillTPA, 0);
SetArrayLength(AfterKillTPA, 0);
end;

Tee hee :D


Where was that? LOL

rj

2014-02-04 20:18:35

From: King
Where was that? LOL


Your membership application :D

King

2014-02-04 22:58:15

From: Officer Barbrady
Your membership application :D


I thought the other one was in the app :P

Spartan 117

2014-02-05 00:06:02

I might be able to use that. with the MM to MS function if the MM point is off the main screen what does it return?

rj

2014-02-05 06:35:28

From: Spartan 117
I might be able to use that. with the MM to MS function if the MM point is off the main screen what does it return?


if you just use filter points pi, you could filter the points that would be offscreen (or filterpointsdist)

Spartan 117

2014-02-05 11:44:46

Yeah I can do that, but I still run into the problem where once that point is filtered that specific lootstack won't be looted again

King

2014-02-05 12:13:50

From: Spartan 117
Yeah I can do that, but I still run into the problem where once that point is filtered that specific lootstack won't be looted again


IF it doesnt find it within the screen specified, then you could always search the whole screen. I miss loot legiting all the time btw.

Spartan 117

2014-02-09 20:11:30

New update:

I have now added functionality where it doesn't attack a water fiend that is already in combat! (It searches for a health bar above the water fiend it is "thinking about attacking"

I am getting close to being able to release the script. Maybe it'll be here in time for double XP weekend!

Also about the looting instead of transcribing the mm dots to the main screen I will simply compare mm dots before and after combat and enable looting if they are different. I think this will increase xp/hr quite a bit and will put the finishing touches on allowing the script to work in worlds with other people in them.

I haven't been very active, as i have four tests coming up but I will keep y'all updated

Clarity

2014-02-28 07:33:05

Script request thread in public made me think of this, how's it going?

Spartan 117

2014-02-28 11:16:22

Nothing new. Just been to busy with work and school