Thread: Does someone have this?

Results 1 to 8 of 8
  1. #1 Does someone have this? 
    Registered Member Enyll's Avatar
    Join Date
    Aug 2016
    Posts
    121
    Thanks given
    21
    Thanks received
    1
    Rep Power
    13
    Can somebody please re-upload this interface hex editor? https://www.rune-server.ee/runescape...ditor-ide.html
    I need to change the componentid 159 for the interface 1082.. Thanks
    Reply With Quote  
     

  2. #2  
    Respected Member


    Kris's Avatar
    Join Date
    Jun 2016
    Age
    26
    Posts
    3,638
    Thanks given
    820
    Thanks received
    2,642
    Rep Power
    5000
    The title will properly change if you delay the opening of the interface for a little bit. I myself just do
    Code:
    		CoresManager.fastExecutor.schedule(new TimerTask() {
    			@Override
    			public void run() {
    				player.getInterfaceManager().sendInterface(1082);
    			}
    		}, 50);
    And the title will properly be changed. A lot of interfaces have this kind of problem. Some people may not experience it merely due to the fact that they're sending a lot of packets when opening the interface so it automatically gets delayed by enough time (I've tested this theory myself).
    So, long story short, send all the strings a little time before sending the interface itself and you'll have it working without needing to do any cache edits or whatever.
    Attached image
    Reply With Quote  
     

  3. #3  
    Registered Member
    24th's Avatar
    Join Date
    Oct 2016
    Posts
    250
    Thanks given
    35
    Thanks received
    85
    Rep Power
    189
    Quote Originally Posted by Kris View Post
    The title will properly change if you delay the opening of the interface for a little bit. I myself just do
    Code:
    		CoresManager.fastExecutor.schedule(new TimerTask() {
    			@Override
    			public void run() {
    				player.getInterfaceManager().sendInterface(1082);
    			}
    		}, 50);
    And the title will properly be changed. A lot of interfaces have this kind of problem. Some people may not experience it merely due to the fact that they're sending a lot of packets when opening the interface so it automatically gets delayed by enough time (I've tested this theory myself).
    So, long story short, send all the strings a little time before sending the interface itself and you'll have it working without needing to do any cache edits or whatever.
    or execute the interface to open then try override the component? or you can hard edit it, in the client.
    Reply With Quote  
     

  4. #4  
    Respected Member


    Kris's Avatar
    Join Date
    Jun 2016
    Age
    26
    Posts
    3,638
    Thanks given
    820
    Thanks received
    2,642
    Rep Power
    5000
    Quote Originally Posted by Trey2k View Post
    or execute the interface to open then try override the component? or you can hard edit it, in the client.
    The order doesn't matter here. The interface immediately calls script(s) upon opening; The given scripts will set the text including the title on the interface. That's why you need to delay it a little bit so it actually applies the text packet after the script (Otherwise the script will just overrun it and you'll see no changes).
    Attached image
    Reply With Quote  
     

  5. #5  
    Registered Member Enyll's Avatar
    Join Date
    Aug 2016
    Posts
    121
    Thanks given
    21
    Thanks received
    1
    Rep Power
    13
    Quote Originally Posted by Kris View Post
    The order doesn't matter here. The interface immediately calls script(s) upon opening; The given scripts will set the text including the title on the interface. That's why you need to delay it a little bit so it actually applies the text packet after the script (Otherwise the script will just overrun it and you'll see no changes).
    I just done it using this cache editor thing, the 'Farming Patch Status' shit which was encoded into it was in this weird hexadecimal code.. I was confused when i read it, but yeah.. I just deleted the text and it works fine now, thank you for the help!
    Reply With Quote  
     

  6. #6  
    Registered Member
    24th's Avatar
    Join Date
    Oct 2016
    Posts
    250
    Thanks given
    35
    Thanks received
    85
    Rep Power
    189
    Quote Originally Posted by Kris View Post
    The order doesn't matter here. The interface immediately calls script(s) upon opening; The given scripts will set the text including the title on the interface. That's why you need to delay it a little bit so it actually applies the text packet after the script (Otherwise the script will just overrun it and you'll see no changes).
    ???????????? so you delay it by 50 ms? lolwat
    Reply With Quote  
     

  7. #7  
    Respected Member


    Kris's Avatar
    Join Date
    Jun 2016
    Age
    26
    Posts
    3,638
    Thanks given
    820
    Thanks received
    2,642
    Rep Power
    5000
    Quote Originally Posted by Trey2k View Post
    ???????????? so you delay it by 50 ms? lolwat
    Did you not read what I said?
    You send the interface.
    The interface triggers some runscripts. The runscripts take some time to go through properly, it's not completely instantaneous. The script sets the title to what it should be.
    If you send the text packet IMMEDIATELY after opening the interface, it will be ran before the script is ran, common sense says the script will just reset it and you won't see anything.
    Sending the packet approximately 25-50 milliseconds after opening the interface however ensures that the text packet will actually be applied AFTER the script runs its course. The time varies, interfaces with more scripts can require more time. All this is of course if you're not willing to hex edit the damn interface yourself, which I prefer not to do, especially if I'm using the interface for more than one purpose. It's not ideal but it does the trick and that's what matters in this case. By the way, even if you send it 50ms after, the player will not notice it. I've tested it, just as smooth as sending immediately.
    Attached image
    Reply With Quote  
     

  8. #8  
    Registered Member

    Join Date
    Feb 2010
    Posts
    715
    Thanks given
    133
    Thanks received
    378
    Rep Power
    550
    Quote Originally Posted by Kris View Post
    Did you not read what I said?
    You send the interface.
    The interface triggers some runscripts. The runscripts take some time to go through properly, it's not completely instantaneous. The script sets the title to what it should be.
    If you send the text packet IMMEDIATELY after opening the interface, it will be ran before the script is ran, common sense says the script will just reset it and you won't see anything.
    Sending the packet approximately 25-50 milliseconds after opening the interface however ensures that the text packet will actually be applied AFTER the script runs its course. The time varies, interfaces with more scripts can require more time. All this is of course if you're not willing to hex edit the damn interface yourself, which I prefer not to do, especially if I'm using the interface for more than one purpose. It's not ideal but it does the trick and that's what matters in this case. By the way, even if you send it 50ms after, the player will not notice it. I've tested it, just as smooth as sending immediately.
    A lot of misinformation here...

    While it is true that setting strings via CS2 is not instantanous, this is not due to race conditions or anything. Packet processing and script execution runs synchronous on the same thread, it's just that via CS2 these set text calls gets throttled by 500ms to avoid frequent updates if a script wants to set text every frame. Generally you can send packets right after opening the interface just fine. There is no reason to send text before you open the interface, it may cause them to get overwritten by set text in cs2 scripts, this creates more problems then it solves. So to make things clearer, here is what usually happens if you send text after opening the interface and the interface has a script that sets text:

    - Receive open widget packet
    - Runs open scripts
    - Scripts creates tasks that will change the text in 500 ms
    - Receive set string packet
    - It sees there already is a throttled task, it will update the string value in the task, but will not reschedule it for 'immediate' execution (normally set string packets don't suffer this throttling). 'Immediate' as in a little bit after packet processing, but in the same frame.
    - Text will correctly update (in 500ms)

    Thus generally if you send the text before the interface (with a slight delay). Your string will get overwritten by the script (it will also overwrite your immediate task).

    Now why does it actually work for this particular interface? (Well most of the time at least, depending if the second was received in the same game frame, you are adding nondeterministic behaviour by adding these random delays)

    The interface open script looks at its text on component 159 (which may or may not have changed by now), then deletes this and replaces it with 5 child components (via script 4212) to create a fancy string with a nice colored border. So yeah if you change the string before opening it, and the task executes before the open script is executed it will work correctly. Instead of doing all this bs you can also just not set the string and run the script that creates the border after opening the interface.


    script(4212, 1082 << 16 | 159, 5419, 0xEBE0BC, 0x000000, "Hello world.");

    Where 5419 is a font, the first color code is the text color, and the second the border
    Reply With Quote  
     

  9. Thankful user:



Thread Information
Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)


User Tag List

Similar Threads

  1. does someone have this?
    By new2code in forum Requests
    Replies: 0
    Last Post: 08-29-2011, 07:31 PM
  2. Does anyone have this area?
    By digistr in forum Requests
    Replies: 8
    Last Post: 07-13-2011, 09:48 PM
  3. does anyone have this server download.
    By digistr in forum Requests
    Replies: 0
    Last Post: 04-03-2010, 09:53 AM
  4. Does anyone have this method? REP
    By Soulzz in forum Help
    Replies: 13
    Last Post: 07-11-2009, 02:27 PM
  5. Does any1 have this mapdata # in 400+?
    By ZachHaley in forum RS 503+ Client & Server
    Replies: 8
    Last Post: 08-11-2008, 03:47 PM
Posting Permissions
  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •