System GetDelay

Steel

Software Engineer
Unless you code in some usefulness for this in an actual map, left to their own devices, others won't be able to use this on their own. I can't think of a practical application for this in any way ever. Not only is it inaccurate because it bases delay off of tracking a unit which is even more inaccurate. It doesn't track things in a quick enough interval to be accurate enough to compete with a millisecond comparison in latency.
 

Jesus4Lyf

Good Idea™
As a player and mapper, sometimes all I want is a way to vaguely compare one host to another. Regardless of the accuracy of this, as long as it returns a higher value for laggier connections, this is amazing.

And I've approved this. The research behind this is too good to lose, regardless. I'm nearly certain I will be implementing this in my maps. But, if we find this to be unaccurate in a makes-this-useless way in the future, we will unapprove this. :)

Also, you should discuss the "private constant integer DUMMYID = 'h004'" line in implementation. That's a custom unit id which doesn't usually exist, no?
 

cleeezzz

The Undead Ranger.
thanks :D

updated 1.0c

1.0c
  • System now creates a universal dummy that is reused. It is shown and hidden to prevent players from selecting it when not checking delay. (NO desync in multiplayer, Tested)
  • Added Detail to implementation about dummy unit
 

Karawasa

Element Tower Defense
I also don't see much (if any) practical use for this. It's cool, but what are you really going to do with it.
 

cleeezzz

The Undead Ranger.
mm sounds good, although ive only noticed this recently in my archer wars map but while im aiming my arrows and any point target skill, the UI will be cancelled because of the selection.

so i think i need to make an update to make sure the player isn't doing anything currently + check delay for an individual player rather than all of them.
 

Trollvottel

never aging title
couldnt you write a GetHost function using this (if it really works, the host always has the smallest delay)?
 

Jesus4Lyf

Good Idea™
I have very limited time spent with actual WC3 these days, but I'll say this:

I know for a fact (tested) that the gamecache synch method is unreliable (even with multiple calls and taking the average).
I have heard that using unit selection is reliable. :thup:

So this would be the same as using unit selection for get host.
 

Azlier

Old World Ghost
I am a magician when it comes to untested stuff. This doesn't even need GetDelay.

JASS:
library GetHost initializer Init

globals
    private unit U
    private player Host = null
    private trigger t = CreateTrigger()
endglobals

constant function GetHost takes nothing returns player
    return Host
endfunction

private function Click takes nothing returns boolean
    set Host = GetTriggerPlayer()
    call DestroyTrigger(t)
    call RemoveUnit(U)
    set t = null
    set U = null
    call DestroyBoolExpr(Filter(function Click))
    return false
endfunction

private function Init takes nothing returns nothing
    set U = CreateUnit(Player(15), 'hfoo', 10000, 10000, 270)
    call PauseUnit(U, true)
    call TriggerRegisterUnitEvent(t, U, EVENT_UNIT_SELECTED)
    call TriggerAddCondition(t, Condition(function Click))
    call SelectUnit(U, true)
endfunction

endlibrary
 

Azlier

Old World Ghost
Destroying a boolexpr within itself is quite fishy, I admit. I wonder if anything really happens there.

Comment it out, if you want. It'll work fine without it. :p
 

Jesus4Lyf

Good Idea™
Bleh.
>[LJASS]call DestroyTrigger(t)[/LJASS]
I don't trust that either. The trigger may be about to fire (if the event has already passed).

I'd wait for 60 seconds and destroy it from the init. (Because you might lag window for that long also.)

I'd also make the selection occur 0 sec into the game, probably. Not on init.
 

Azlier

Old World Ghost
Selection, believe it or not, works fine on Init.

And yes, the trigger is about to fire. Eleven more times. Genius I am. :D
 

Jesus4Lyf

Good Idea™
General chit-chat
Help Users
  • No one is chatting at the moment.
  • Ghan Ghan:
    The old shoutbox wasn't supported anymore. We updated xenForo, so it had to be replaced.
  • jonas jonas:
    let's see if everyone finds it... the nice thing about the shoutbox was I could check on it even while logged out, but the existence of this one is hidden when you're not logged in
  • Ghan Ghan:
    We can fix that.
  • Ghan Ghan:
    Chat should show on the sidebar when not logged in now.
  • Ghan Ghan:
    (You'll still need to log in to post messages)
  • Ghan Ghan:
    Test!
  • tom_mai78101 tom_mai78101:
    I must be in a test server.
  • tom_mai78101 tom_mai78101:
    Nice, Twitter tweets embedding now works
  • Wizard Wizard:
    Yup.
  • Ghan Ghan:
    Excellent.
  • Ghan Ghan:
    @tom_mai78101 Hello there.
  • Ghan Ghan:
    Tagging works in the chat too.
  • tom_mai78101 tom_mai78101:
    @Ghan Missed it.
  • Wizard Wizard:
    Still fixing things here and there. Added widgets to the portal, will make it match the ones here on the forum index tomorrow.
  • Ghan Ghan:
    The venerable World Editor Tutorials site has been converted to HTTPS at last.
  • jonas jonas:
    cool
  • jonas jonas:
    and I can even edit my messages, nice
  • seph ir oth seph ir oth:
    GENERAL CHIT CHAT, YOU ARE A BOLD ONE
  • Ghan Ghan:
    Hello there
  • The Helper The Helper:
    this new chatbox is great and the forum software update is great too
    +1
  • The Helper The Helper:
    upgrade has fixed forum registration spam problem
  • tom_mai78101 tom_mai78101:
    Something tells me we might be able to customize the chatbox a bit, considering that there's a gap under every message.
  • Wizard Wizard:
    Going to deploy a fix soon, just had to take some time for myself this weekend.
  • Varine Varine:
    Unbelievable. Time for yourself? How dare you!

    Staff online

    Members online

    Affiliates

    Hive Workshop
    Top