Stop guessing. The hooks are from the googlecode for this include. I switched the X and Y's, as it was uploaded switched in two different cases - Camera & Base.
Printable View
Thanks For the Fix man! <3 Back to finishing This script. <3
Walkpath screws up and wont reconise the coords (R_NearTile).
No hate just saying.;)
-Bas.
Mostly on OSR, but My friends have me writing privet scripts for them on RS3. As they are Comp'd and dont want to restart and transfer to OSR. -_- Its a battle!
client_base x and y hooks are swapped in rev 60. :)
When did they start including multipliers for the field values?? I'm old school I know but I've never seen that.
Is it the same in RS3? Is finding them as simple as iterating the instructions near the field looking for a "fmul" instruction (multiply 2 floats) ?
I believe it was sometime around rt5 that multipliers were introduced. I currently search for imul and lmul then get the constant and field instructions just before them. They only use multipliers for ints/longs as far as I have seen. It's just multiplication overflow.
Awesome thanks for the reply, the client is structured so differently than last time I was active in this scene. Just to see how many hooks on my own updater might still even function, I decided to try running it. Hit with my first issue, they encrypt the client in an inner-pack. Was able to steal the decryption function from within one of the classes outside of the inner-pack but it was still a pain in the ass.
I'm sure you all already know all this I just wanted to /vent haha
:O Are you "The Bank" from MoparIsTheBest? This guy: https://www.moparscape.org/smf/index.php?topic=299985.0
The one and only, bored and checking in on my ex-favourite scene...which it appears to be shit :(
They don't set the variable equal to the overflow value. They use it in parameters and local variables.
so bytecode isCode:somemethod(var * 23214322)
Also, they obfuscate the flow. It can beCode:getstatic ldc imul invokevirtual
Code:ldc getstatic imul invokevirtual
Hooks updated to revision 61 :)
Hey guys, just wanted to give you guys some updates on the include and what we have been working on and what to expect going forward. We are working on getting our updater up on a server which will be updated with hooks within a few minutes of rs updating in order to have the most up to date hooks possible. I Can't guarantee that we will do this, just wanted to point it out that it is one of our goals. What I have been working on quite a bit lately is rewriting parts of the include to be more efficient and also added a completely new memory management system. I am doing all of this in a separate github located here, as to not mess up any functionalities of the googlecode's include.
The new memory management stores all global object references from the time it is first called, until termination of the script, making much better use of the already called pointer. All of the other objects will also be stored in the array, until the finishing of the individual function, which again increases the speed quite significantly. In the most extreme case, the old way of object finding, in order to gather all objects in the current loaded region which is 104x104 tiles would take around 12 seconds, using the new memory management it takes around 2.5 seconds. Npc finding used to take around 250ms to find all npc's, it now takes ~30ms.
Using this method also cuts down on potential memory leaks to the point where they aren't even a factor anymore, due to the fact that unless a old object reference is overwritten, it will always be free'd, if not during runtime, then upon termination of the script. Also, the references to the pointers are done using enums instead of integers, which are smaller(1 byte compared to 4), which also improves efficiency.
So until the includes are merged, feel free to test out the include on my github, but ofc note, I am constantly changing stuff, so it may or may not always be stable and what not.
Hooks updated to revision 62
Hooks updated to revision 63
Hooks update to revision 64
Simba Code:function R_WaitChooseOption(Option: String; Time: Integer): Boolean;
var
T: Integer;
begin
Result := False;
T := GetSystemTime + Time;
while (GetSystemTime < T) do
begin
if (R_IsMenuOpen) then
begin
Result := R_ChooseOption(Option);
Exit;
end;
Wait(20 + Random(20));
end;
end;
Urgent!! -> as atm it always return true, fix is above.
EDIT:
Also, seems like it doesn't matter how much I post about fixes, nobody seems to add/tweak them?
Excuse me for trying to help you guys..
I've posted quite a lot of urgent stuff and nobody has made a comment about anything, therefor I had to ask. It was nothing personal at all, just wondering. Please calm down.