Improving Razor - Razor Development

Discussion in 'Renaissance Discussion' started by Quick, Apr 22, 2018.

  1. Quick

    Quick Well-Known Member
    UO:R Donor

    Joined:
    Jan 6, 2018
    Messages:
    534
    Likes Received:
    1,136
    I'd heard this case made before, maybe we're thinking of two different things or I'm missing something but as far as I can tell, what you described above is not what is happening when using the UO client macro to cast a spell vs. using a Razor hotkey.

    If you setup a macro/hotkey in the UO client itself to cast a spell, the following happens:
    • The client.exe sees that you hit some combo of keys (and sends that key combo to Razor to see if that is a valid Razor hotkey, in this example it isn't)
    • If that combo matches a spell cast macro in the UO client, it will generate packet 0x12 and send send it
    • Razor will capture that generated packet, break it apart and and check if you have anything equipped in your hands, update the titlebar with the new reg count, etc.
    • Then, after it does all that, Razor will block the original packet from client.exe from going through to the server and will pass that packet it got from the client to the server to actually cast the spell.
    • When the spell is cast, data from the server comes back to Razor and Razor will see the message.Spell come in, and then apply any hues, spell formatting, etc you have setup in Razor.
    Now, what happens when you have a hotkey setup to cast a spell in Razor instead of setup in the UO client?
    • The client.exe sees that you hit some combo of keys and sends that key combo to Razor to see if that is a valid Razor hotkey (in this example, it is).
    • If that combo matches a spell cast macro in the Razor, it will generate packet 0x12
    • Razor will check if you have anything equipped in your hands, update the titlebar with the new reg count, etc.
    • Then, after it does all that, Razor will pass that packet it generated from the hotkey and send it to the server to actually cast the spell.
    • When the spell is cast, data from the server comes back to Razor and Razor will see the message.Spell come in, and then apply any hues, spell formatting, etc you have setup in Razor.
    As you can see, in both scenarios, the packet is flowing through Razor first. The key difference in this case is the source of the packet generation. When you are going from the UO client, it needs to generate the packet, send it to Razor, Razor needs to read the packet and handle it. When you hit the Razor hotkey, the packet is generated by Razor directly and passed to the server.

    So technically, using a hotkey via Razor to cast a spell would be "faster" vs. using a UO client built-in macro since less stuff is happening. Again, we're talking about milliseconds or even smaller but looking how it all flows, using the UO client built-in macro has a few more things it needs to do before Razor sends the packet to the server.
    Dalavar likes this.
  2. Kilgore Trout

    Kilgore Trout Active Member
    UO:R Subscriber

    Joined:
    Jan 28, 2016
    Messages:
    166
    Likes Received:
    120
    One thing I'd love to see in Razor is a webhook that will post data to a URL of my choosing so I can toss something to receive the posts in AWS. Then I can check on skill training from my phone :D
  3. Quick

    Quick Well-Known Member
    UO:R Donor

    Joined:
    Jan 6, 2018
    Messages:
    534
    Likes Received:
    1,136
    Next version will let you hook Razor up to your teledildonic device. I recommend only seasoned UO:R vets cast Earthquake when they're hooked up.
    Kilgore Trout and Baler like this.
  4. Quick

    Quick Well-Known Member
    UO:R Donor

    Joined:
    Jan 6, 2018
    Messages:
    534
    Likes Received:
    1,136
    You can now ignore people using Razor, but unlike the client's ignore feature, spells still come through. This feature essentially looks for incoming packets from a certain mobile you added, and if the source matches your list, Razor will block the packet from flowing to the client.

    [​IMG]
    NCCML, wylwrk, Labeler and 2 others like this.
  5. Ervin

    Ervin Well-Known Member

    Joined:
    Jun 28, 2014
    Messages:
    214
    Likes Received:
    303
    I don't know if this has been asked but is it possible to have Target Previous hot keys? Like "Target Previous Enemy Humanoid"? That way if you go past your target using Target Next Enemy Humanoid you can back up instead of cycling through everyone again?
    Raajaton and Ahirman like this.
  6. Quick

    Quick Well-Known Member
    UO:R Donor

    Joined:
    Jan 6, 2018
    Messages:
    534
    Likes Received:
    1,136
    Seems like a harmless change but what am I missing? Why didn't they add this all those years ago?
  7. Labeler

    Labeler Well-Known Member
    UO:R Donor

    Joined:
    Jul 18, 2016
    Messages:
    3,301
    Likes Received:
    1,581
    new webisite i believe:

    http://www.uor-razor.com/

    new idea:
    i know everyone runs with 1 or even more blessed runebooks. most, (not everyone) use macroed recalls for specific places.
    now every now and then that runebook changes slightly.. someone changed homes or chooses a new default bank or whatever.. anyways... runebooks are very dynamic.

    idea:
    how about we could EDIT the GUMP number inside a macro so we dont have to "re-record" a new button inside a macro.
    idea is to double click, and EDIT number value.
    the only thing we need is then to map out of all the numbers & buttons of a runebook.
    could be a web page with all the pages and its buttons marked out & defined by numbers.

    OR dunno if this is even feasable: a retarget feature:
    right click, retarget and in the client, target the desired button (without RLY casting that spell/button)

    personally i think the latter is the smartest/easiest, but i dont know if its even feasible.

    Screen Shot 2018-11-03 at 11.37.05.png


    PS: @Quick amazing JOB on this new razor and all its development. (thumbs up to @JimmyTheHand for the JMAP)
    Last edited: Nov 3, 2018
    JimmyTheHand and Quick like this.
  8. Quick

    Quick Well-Known Member
    UO:R Donor

    Joined:
    Jan 6, 2018
    Messages:
    534
    Likes Received:
    1,136
    Thanks for the idea. Is this what you had in mind?

    [​IMG]

    [​IMG]

    If so, I'll get that added to http://www.uor-razor.com/help and into the next version.
    Labeler likes this.
  9. Labeler

    Labeler Well-Known Member
    UO:R Donor

    Joined:
    Jul 18, 2016
    Messages:
    3,301
    Likes Received:
    1,581
    i like it a lot. see what the community says?
    where does the red numbers come from? is this something razor will include when opening a runebook or is that just a static edited screenshot?
  10. Quick

    Quick Well-Known Member
    UO:R Donor

    Joined:
    Jan 6, 2018
    Messages:
    534
    Likes Received:
    1,136
    Those would be the GumpResponse buttons you'd set to match the runebook.

    If your rune to your house was at the bottom of the first page (8th rune), your recall macro would use GumpResponse 47, and your gate macro would use GumpResponse 48.
  11. Quick

    Quick Well-Known Member
    UO:R Donor

    Joined:
    Jan 6, 2018
    Messages:
    534
    Likes Received:
    1,136
    Perhaps some like this as well..?

    [​IMG]
    Ahirman likes this.
  12. Kilgore Trout

    Kilgore Trout Active Member
    UO:R Subscriber

    Joined:
    Jan 28, 2016
    Messages:
    166
    Likes Received:
    120
    What do you think about adding a skill timer so we have a visual of when we can hit a skill again?

    Also, side note: Is this WPF or WinForms?
    JimmyTheHand likes this.
  13. JimmyTheHand

    JimmyTheHand Well-Known Member
    UO:R Subscriber

    Joined:
    Nov 27, 2017
    Messages:
    513
    Likes Received:
    517
    There's a strong possiblity of me implementing my UI extension to the UOR:CE Edition of Razor, this would cover the desire for the timer plus a hell of a lot more.

    This Razor is WinForms. If we were to move to WPF we'd gain a lot some good stuff, and immediately gain some hell for further developing the wineskin wrapped Mac version. I'm not even sure WPF can run in wineskin, infact I'm sure I read its not viable.

    WPF having that restriction is a major reason for the non-release of that UI extension system, whilst I developed in WPF - I want all players of UO, Great and Small, Windows and Mac, to be able to use it :)
    Labeler likes this.
  14. JimmyTheHand

    JimmyTheHand Well-Known Member
    UO:R Subscriber

    Joined:
    Nov 27, 2017
    Messages:
    513
    Likes Received:
    517
    @Labeler @Quick While we're on the topic of runebooks - what do you lads think of map markers that are clickable with an association to a rune/runebook?
    It's not a difficult implementation, but is that one of those things that is taking it outside the realms of classic UO feel? *shrug* I like the idea, pan the map, there's my marker for X zone, click it and it casts->targets->winning :)
  15. Knightmare

    Knightmare Member

    Joined:
    Jan 14, 2018
    Messages:
    70
    Likes Received:
    21
    stream on twitch and you can check your skills while macroing from your phone
  16. Kilgore Trout

    Kilgore Trout Active Member
    UO:R Subscriber

    Joined:
    Jan 28, 2016
    Messages:
    166
    Likes Received:
    120
    I find your ideas intriguing, and I wish to subscribe to your newsletter.
    JimmyTheHand likes this.
  17. Kilgore Trout

    Kilgore Trout Active Member
    UO:R Subscriber

    Joined:
    Jan 28, 2016
    Messages:
    166
    Likes Received:
    120
    I had another thought -- what about stopping a macro when a skill reaches a certain point? For example, I have a mage macroing up right now, and I'd like them to stop casting invisibility at 85 so they don't waste regs.
  18. JimmyTheHand

    JimmyTheHand Well-Known Member
    UO:R Subscriber

    Joined:
    Nov 27, 2017
    Messages:
    513
    Likes Received:
    517
    Alright, I poked at it a bit. This is 100% doable, fairly minimal effort.

    The concern with it is, is it too much automation at that point? I know - I always look at the worst case, devils advocate, etc.
    But - if this goes in - that is 100% afk character building via some simple macro wizardry. REALLY simple. We could literally walk away with the appropriate macro running and come back to a 7xGM at a later date.

    Which is not the intent of the Razor improvements... certainly not in the spirit of it all anyway.

    Community - discuss!

    Edit: Actually skills in the macro system opens up a fair bit of potential filthery.
    Remember, theres a reason certain other clients and addons arent allowed here, primarily: scripting capability.

    I would even go so far as to say this is something our glorious leader and admin would not approve. I'll mention it and duck the incoming blow though :)
    Last edited: Nov 3, 2018
    Kilgore Trout likes this.
  19. Quick

    Quick Well-Known Member
    UO:R Donor

    Joined:
    Jan 6, 2018
    Messages:
    534
    Likes Received:
    1,136
    Seems like a pretty cool idea if you had the map open and wanted a quick recall.
  20. JimmyTheHand

    JimmyTheHand Well-Known Member
    UO:R Subscriber

    Joined:
    Nov 27, 2017
    Messages:
    513
    Likes Received:
    517
    Just don't NOT have the rune or book on you like I did the other day :)

    Made steal. Hit macro. Cast. Stood there like a potato. Then replicated a headless chook before a miserable death :D


    I also like the idea of panning the map for *that spot* "where was that.. which rune..."

Share This Page