System TrackMapSystem

Hm .. I'm sry for my rude attitude yesterday, I just don't like it when people try to disguise the method of their system. I mean you still generate trackables.

But now to sth. else:
Azlier, are you interested in transferring your idea into a system, because I'd like to do it, but you had the idea so you have the "copyright" ;).
 
Nonsense, it was Vestras' idea :).

A system, eh? It would require some OE hacks... but it... could probably... be... done...

Sounds good!
 
Hmm OE hacks? :D

My problem atm is, that I want units to be still selectable.. but this won't work with this method. I was a little bit blinded by the Test Map.
 
Yeah, units can't be selected with my method. Sorry.
 
You don't have to be apologizing for me don't analysing the system before I try to code it :D.

Any more feedback to my system? If not would this system be completed.
 
Cool system, I just don't understand some functions:

JASS:
function SetUpTrackMap takes rect area, player p, boolean veryprecise returns TrackMap

function SetUpTrackMapEx takes rect area, player p, real precision, boolean timed returns TrackMap

function TriggerRegisterAnyMouseEvent takes trigger t returns nothing
function TriggerRegisterAnyTrackEvent takes trigger t returns nothing
function TriggerRegisterMouseEvent takes trigger t, TrackMap tm returns nothing
function TriggerRegisterTrackEvent takes trigger t, TrackMap tm returns nothing


For SetUpTrackMap, what difference does the boolean make? For SetUpTrackMapEx, what does precison do? And lastly, What is AnyMouseEvent and AnyTrackEvent?
 
I added some documentation of the interface on the system main page. Hope this will help you.
 
One last question. When you get the MouseX and Y will it get the mouses x any y as if it was a unit or will it get its x and y one the screen?
 
All returned position values are assigned to the map coordinate system or in simple words: as if they would determine a unit's position.
 
This is actually very awesome =O

Though, I have a question: How is this in multiplayer?
Does it cause laggs, if I create/destroy all the time?
Is it safe to use? (As in, is safe to have 10 trackables running and once for different players without having it malfunction of something?)
 
TY! :D

Multiplayer works without problems.
You can destroy the TrackMap, but not the Trackables, therefore cannot really destroy the map :rolleyes:
I had no malfunction cause of other players doing sth. till now.

There is a lag when you generate the TM dynamically ingame when timed = false.
 
Ok, I get some weird in-game JassHelper "errors" while using this actually...

I use this code to create some trackmap (Actually, I want to create 400 of them, each 20x20 in dimensions... Could this lag ? :S) and then there is a small debug code at the bottom...

JASS:
library Boxes initializer Init requires TrackMapSystem

    globals
        hashtable Boxes = InitHashtable()
    endglobals

    struct BoxData
        private rect rct
        private TrackMap track1
        private TrackMap track2
        private trigger t
        private real maxx
        private real minx
        private real maxy
        private real miny
        
        private player owner = null
        
        static method create takes rect r returns thistype
            local thistype this = thistype.allocate()
            local integer i = 0
            
            set this.rct = r
            set this.maxx = GetRectMaxX( r )
            set this.minx = GetRectMinX( r )
            set this.maxy = GetRectMaxY( r )
            set this.miny = GetRectMinY( r )
            set this.track1 = TrackMap.create( r, 0, 147.18, true )
            set this.track2 = TrackMap.create( r, 1, 147.18, false )
            set this.t = CreateTrigger()
            
            call TriggerAddCondition( this.t, Condition( function thistype.onClick ) )
            call this.track1.registerClick( this.t )
            call this.track2.registerClick( this.t )
            
            return this
        endmethod
        
        static method onClick takes nothing returns boolean
            call BJDebugMsg( "Tracked !" )
            
            return false
        endmethod
        
    endstruct
    
    static if DEBUG_MODE then
    
        private function Init takes nothing returns nothing
            call BoxData.create( gg_rct_TrackRect )
        endfunction
        
    endif

endlibrary


The errors I get with this are of type "Attempt to destroy a null struct of type:", and the types are:
DynamicTrackMapGenerator
TrackMapSystem___cache

Any ideas to why this is happening ? :S
 
Updated it. Your code is correct.

There were 2 problems:
First of all there were a zero instead the key var, crazy that it worked on my pc before :p.
And second, the JassHelper update seems not to handle initializations in the globals section anylonger ("private hashtable HT = InitHashtable()" didnt work anymore).

Both fixed.
 
Thanks :D

Also, do you think this will lag if I create 400 click-only registering trackmaps, of a total area of 8192 ? :S
 
There is no difference between click-only and click&track trackmaps.

Well I think this depends on the resolution you use (distance between each trackable) and the size of the rects. I guess it could lag :p, but test it!

By the way:

JASS:
    globals
        hashtable Boxes = InitHashtable()
    endglobals 

    // at the top of YOUR code


That caused the problem in my code, dunno if it works for you.
 
i know this thread is 3/4 year old, but just asking, is this not compatible with the 1.24e world editor? the test map worked when i tested it but when i tried disabling and reenabling both the event and trackmapsys triggers because those in my map failed, and warcraft detects loads of problems with them and wouldnt let it be enbaled just like in my map. is there a way to solve this?

edit: ok my bad. didnt see that it was in vjass.
 
General chit-chat
Help Users
  • No one is chatting at the moment.
  • Varine Varine:
    Or even third party. Like if you don't have an original one in a functional condition, you cannot play this game properly. Like yeah the keyboard mods exist, but I think those are BARELY functional
  • Varine Varine:
    And since almost all of my programming experience is with defunct shit now, I figure my best place is helping preserve legacy stuff. Which I don't know how to do necessarily, but I need some kind of a hobby and figuring out how older things worked is the only shit that really interests me. Well soldering and restoration is fun too, but no one is bringing me new stuff to fix and restore, so it's mostly old shit, and I LOVE OG Xbox so much. I want to make sure it can function as long as possible, until someone can effectively emulate it at least. I have like 15 I was going to fix over the winter and didn't get to.
    +1
  • Varine Varine:
    I also have a couple OG gameboys, but idk if I can do that without like, manufacturing new parts that no one makes anymore and I can't do that right now
  • tom_mai78101 tom_mai78101:
    Currently in the middle of getting the probate process going. We're doing the informal probate process.
    +3
  • Varine Varine:
    A probate is usually done with a will, yes? If so I am sorry for your loss
    +1
  • The Helper The Helper:
    Yeah Tom, me too sorry for your loss buddy my mom told me she finds out her olds friend died from Google searching them. She had not talked to one of her old friends in a year and found out she died from Google. Also another one in the same session. RIP all of them my sincere condolences Tom
    +1
  • Varine Varine:
    We have some elderly guests that regularly come hang out at the bar at the end of the night, and every once in a while we don't see someone for a few weeks and then someone shows up with their obituary.
  • Varine Varine:
    We usually let them do their memorials there in the morning if they want to and I'll make them some snacks and drinks. There was one guy named Tom that came in like every night and would sit by himself and get a bunch of soup and a glass of wine. idk why but he LOVED our fucking soup, like he would order a fucking quart of it at a time and would always get so sad when we stop doing it for the summer.
    +1
  • Varine Varine:
    But he also loved our calamari, which is another thing I hate but it sells super well so I can't change it. There was one day he came in and was asking me how to make it, because he tried to at home once in the off season when we stop running it and he really wanted it lol
  • Varine Varine:
    I think he's one of the only people I've made recipes for for free because he really wanted a broccoli cheddar, and it was like dude I don't have a recipe, it's just whatever I have, but here, this is how you do it
  • Varine Varine:
    I don't think he ever figured out how to do the calamari in a pan though, like idk how to do that either. He was afraid of the at home deep fryers though and it's like yeah, that's fair, I am too
  • Varine Varine:
    He was just such a sweet old man, we had two servers pregnant and they held a baby shower together, he was soooooo fucking excited to get to see a baby. Unfortunately he died a month or so before they were born
  • The Helper The Helper:
    So I decided to Google some people that I had not seen or heard from in a while and sure enough one of my old best friends, we had a falling out years ago but whatever, find out he died of Pancreatic Cancer in January. I have also lost a few of my closer acquaintances from growing up the last year. Getting old - people die - I kinda thought it was going to be this way a few years ago....
    +2
  • The Helper The Helper:
    Forum running super slow again
  • Ghan Ghan:
    Not really clear from the stats as to what is causing the slowness.
  • Ghan Ghan:
    We get a lot of guest traffic so it may just be the load is getting too high and not from any particular source.
  • Ghan Ghan:
    Looks like the server is maxed out on CPU.
  • Ghan Ghan:
    Oh it looks like a lot of the traffic is Silkroad Forums. That domain isn't protected by Cloudflare.
  • Ghan Ghan:
    But the old Silkroad site is still on its own server. I just had a test site set up on this server for it.
  • Ghan Ghan:
    I just disabled that test site. Let's see if that helps the load.
  • Ghan Ghan:
    Looks much better already.
  • The Helper The Helper:
    I had actually forgot about the Silkroad site. I had asked
  • The Helper The Helper:
    SD Ryoko about it and he said the couple of people left on there really like it, that was a few years ago, maybe I should check back
  • jonas jonas:
    I guess when you're getting old, and the last day of soup season draws near, you start wondering
  • jonas jonas:
    will I make it to the start of the next season? or was this the last time I'll ever have my favorite dish?

      The Helper Discord

      Members online

      No members online now.

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials
      Top