System Agent Stats

Romek

Super Moderator
Reaction score
963
You'd be able to disable the board, in that case.
 

Hatebreeder

So many apples
Reaction score
381
You'd be able to disable the board, in that case.

That would kill the use of leaderboard, no?

Meh, it's OK like this, as it really is for debugging single objects. if you really want to keep track of everything at once, then there is no use of using a handle counter?

I don't know, i find it quite useless to have all handles shown at once.
 

Romek

Super Moderator
Reaction score
963
> That would kill the use of leaderboard, no?
No, no. You'd disable the leaderboard if it got in the way.
Don't forget that not everyone who would use this would have a leaderboard already.
(Besides, the leaderboard would be removed when not in debug mode or for final releases).

I personally wouldn't use anything like this unless it had a leaderboard or a multiboard. People use systems like this to see if they're leaking where they didn't know. If you knew what had problems, you wouldn't use a system like this to... Check if something had problems.

It'd be a nuisance if this doesn't get a leaderboard. I personally think it makes this that much more useful. I would even use this if it had a leaderboard, and it would save me the trouble of writing my own version of this to use privately (I wouldn't submit it, because I'd basically be 'copying' J4Ls system - And I hate it when people do that, hence I won't do it myself).

> I don't know, i find it quite useless to have all handles shown at once.
Not all. Total, and top 5 individual ones, possibly.
 

Renendaru

(Evol)ution is nothing without love.
Reaction score
309
I think it'd be cool if you could use a Timer window and set its time to the number of handles, or even have separate Timer Windows for each statistic.
 

Jesus4Lyf

Good Idea™
Reaction score
397
>I would even use this if it had a leaderboard
If it really matters that much, I can add it...

But I have to warn you, it is O(n) complexity over every handle id that exists in the game, and enabling the leaderboard will screw up the "incremented by this much since last scan" values, and leak significantly.

I'll get around to it.
 

Narks

Vastly intelligent whale-like being from the stars
Reaction score
90
Instead of using a leaderboard, you could make an -autocount on command, which periodically does what -count currently does. Maybe you can set the interval?


This is still very cool though.
 

weaaddar

New Member
Reaction score
6
So I'm reading over this and I'm not really sure why you need to use the preload file. Your abusing a simmilar trick that I abuse here

Since all you really want to do is shove types into the hashtable you can use this much simpler function without the obtuse typecasting::
JASS:

function SaveHandleHandle(hashtable ht,int pk,int ck,handle h)->boolean
{
     integer hid = GetHandleId(h);
     fogstate f  = ConvertFogState(hid);
     return SaveFogStateHandle(ht,pk,ck,f);
}


And trollbrain, while I never actually thought about it I suppose commonW if it ever gets finished could be used as a handle counter.
 

weaaddar

New Member
Reaction score
6
Yep. I'm glad I found it, here is the one lineable return bug exploitor SaveHandleHandle which will inline (because obviously performance is a requirement on something that loops through all handles...)
JASS:
function SaveHandleHandle takes hashtable ht,integer pk,integer ck,handle value returns boolean
return SaveFogStateHandle(ht,pk,ck,ConvertFogState(GetHandleId(value)))
endfunction
This works because of the way blizz stores thing in hashtable. Each type is stored in a different bucket so you can do something like::
JASS:
SaveInteger(table,0,0,1);
SaveReal(table,0,0,94);
And pull out different results by asking for a real or integer at index 0,0. This is how my CommonW was going to work, I was going to store the object in a hashtable, and its type which would allow easy typecasting and asking of its type, but since CJass is considered the devil, I stopped working on it.
 

Troll-Brain

You can change this now in User CP.
Reaction score
85
Personally, i'm not against cJass, i just don't like the C syntax, i don't find it really readable, but i love cJass' defines.
In my opinion, cJass is perfect for personal codes but quite ugly for shared ones.
You can make really silly things with vJass, but cJass has more potential to do them, in wrong hands :D
 

weaaddar

New Member
Reaction score
6
I have nothing against the C syntax. I actually like it. my biggest beef was the fact that you can type Vjass and Cjass right on top of each other without it freaking out. I feel Vex went the right way when he designed Zinc by forcing you to stay in Zinc the whole way through. I'd like Zinc to introduce a "nothing"/"void" keyword so that its possible to get rid of the keyword method and function, and to fix this horrible looking thing::
JASS:
interface MyInterface
{
     method someMethod() = null;
}

What the hell does that mean? Assign someMethod to null? So now someMethod is assignable?
This would be so much better in my mind
JASS:
interface MyInterface
{
    SomeMethod()->nothing = nothing;
}

Which at least is cleaner.
 

Narks

Vastly intelligent whale-like being from the stars
Reaction score
90
I imported it into my map, and it works, but it keeps saying that there are 0 agents all the time, but still lists all the other agents or handles or w/e. I'm not sure if it's working properly.
 

Narks

Vastly intelligent whale-like being from the stars
Reaction score
90
Documentation is misleading... I thought I still needed to import that preloader file.

Anyway, yeah, it works, but I get this:

zeroagents.jpg


Zero agents?
 
General chit-chat
Help Users
  • No one is chatting at the moment.

      The Helper Discord

      Members online

      No members online now.

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top