Main
2009-09-13 00:37:26
Problem: FindNormalRandoms constantly check for music tab (90% of the time when the procedure is called), so this should help.
I've done a check on all randoms couple of days ago, and found that all random events (feel free to check this yourself) display a NPC message upon arrival. Which means if the character still have the normal chat, you are probably NOT in random.
So, go to your scripts, and add this to your random finding procedure.
By adding this Getcolor procedure, your script will stop checking for randoms when you are (most likely) NOT in one, thus stopping your character from checking their music tab 10 times a minute ^^.
*NOTE*
If a random even pops up while your script is clicking some thing, its very possible that your script will remove the npc chat and not being able to detect the random event.
Solutions:
Case.
For example:
Lets say you are wcing at draynor bank, there will always be 2 symbols present: Water or Bank, therefor you can add them to your checking random.
I've done a check on all randoms couple of days ago, and found that all random events (feel free to check this yourself) display a NPC message upon arrival. Which means if the character still have the normal chat, you are probably NOT in random.
So, go to your scripts, and add this to your random finding procedure.
Procedure xx
begin
//This color is the color of the bottom arrow of the scroll bar in chat, it goes away when a NPC chat pops up.
If (not(Getcolor(499, 455)= 4807525)) then FindNormalRandoms;
By adding this Getcolor procedure, your script will stop checking for randoms when you are (most likely) NOT in one, thus stopping your character from checking their music tab 10 times a minute ^^.
*NOTE*
If a random even pops up while your script is clicking some thing, its very possible that your script will remove the npc chat and not being able to detect the random event.
Solutions:
Case.
//Coh3n's Draynor Chop n Bank
Procedure CheckRandom;
Begin
LampSkill := 'attack';
Players[CurrentPlayer].Integers[15] := Players[CurrentPlayer].Integers[15] + 1;
case random (10) of
0: FindNormalRandoms;
1..9:
begin
If (not(Getcolor(499, 455)= 4807525))then FindNormalRandoms;
end;
Disguise('Checking Random');
End;Or instead of finding the color of the npc chat, if you have a SYMBOL or a UNIQUE color on your minimap, you can use them to make sure if your player is in random or not.For example:
Lets say you are wcing at draynor bank, there will always be 2 symbols present: Water or Bank, therefor you can add them to your checking random.
If (not(FindSymbol(rx, ry, 'Water')) or (not(FindSymbol(rx, ry, 'Bank')) or (not(Getcolor(499, 455)= 4807525)) then FindNormalRandoms;
Of course, you can use the case method ^^.