System TrackMapSystem

Executor

I see you
Reaction score
57
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" ;).
 

Azlier

Old World Ghost
Reaction score
461
Nonsense, it was Vestras' idea :).

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

Sounds good!
 

Executor

I see you
Reaction score
57
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.
 

Azlier

Old World Ghost
Reaction score
461
Yeah, units can't be selected with my method. Sorry.
 

Executor

I see you
Reaction score
57
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.
 

D.V.D

Make a wish
Reaction score
73
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?
 

Executor

I see you
Reaction score
57
I added some documentation of the interface on the system main page. Hope this will help you.
 

D.V.D

Make a wish
Reaction score
73
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?
 

Executor

I see you
Reaction score
57
All returned position values are assigned to the map coordinate system or in simple words: as if they would determine a unit's position.
 

Hatebreeder

So many apples
Reaction score
381
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?)
 

Executor

I see you
Reaction score
57
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.
 

Komaqtion

You can change this now in User CP.
Reaction score
469
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
 

Executor

I see you
Reaction score
57
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.
 

Komaqtion

You can change this now in User CP.
Reaction score
469
Thanks :D

Also, do you think this will lag if I create 400 click-only registering trackmaps, of a total area of 8192 ? :S
 

Executor

I see you
Reaction score
57
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.
 

Xbing

New Member
Reaction score
0
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.
  • Ghan Ghan:
    Howdy
  • Ghan Ghan:
    Still lurking
    +3
  • The Helper The Helper:
    I am great and it is fantastic to see you my friend!
    +1
  • The Helper The Helper:
    If you are new to the site please check out the Recipe and Food Forum https://www.thehelper.net/forums/recipes-and-food.220/
  • Monovertex Monovertex:
    How come you're so into recipes lately? Never saw this much interest in this topic in the old days of TH.net
  • Monovertex Monovertex:
    Hmm, how do I change my signature?
  • tom_mai78101 tom_mai78101:
    Signatures can be edit in your account profile. As for the old stuffs, I'm thinking it's because Blizzard is now under Microsoft, and because of Microsoft Xbox going the way it is, it's dreadful.
  • The Helper The Helper:
    I am not big on the recipes I am just promoting them - I use the site as a practice place promoting stuff
    +2
  • Monovertex Monovertex:
    @tom_mai78101 I must be blind. If I go on my profile I don't see any area to edit the signature; If I go to account details (settings) I don't see any signature area either.
  • The Helper The Helper:
    You can get there if you click the bell icon (alerts) and choose preferences from the bottom, signature will be in the menu on the left there https://www.thehelper.net/account/preferences
  • The Helper The Helper:
    I think I need to split the Sci/Tech news forum into 2 one for Science and one for Tech but I am hating all the moving of posts I would have to do
  • The Helper The Helper:
    What is up Old Mountain Shadow?
  • The Helper The Helper:
    Happy Thursday!
    +1
  • Varine Varine:
    Crazy how much 3d printing has come in the last few years. Sad that it's not as easily modifiable though
  • Varine Varine:
    I bought an Ender 3 during the pandemic and tinkered with it all the time. Just bought a Sovol, not as easy. I'm trying to make it use a different nozzle because I have a fuck ton of Volcanos, and they use what is basically a modified volcano that is just a smidge longer, and almost every part on this thing needs to be redone to make it work
  • Varine Varine:
    Luckily I have a 3d printer for that, I guess. But it's ridiculous. The regular volcanos are 21mm, these Sovol versions are about 23.5mm
  • Varine Varine:
    So, 2.5mm longer. But the thing that measures the bed is about 1.5mm above the nozzle, so if I swap it with a volcano then I'm 1mm behind it. So cool, new bracket to swap that, but THEN the fan shroud to direct air at the part is ALSO going to be .5mm to low, and so I need to redo that, but by doing that it is a little bit off where it should be blowing and it's throwing it at the heating block instead of the part, and fuck man
  • Varine Varine:
    I didn't realize they designed this entire thing to NOT be modded. I would have just got a fucking Bambu if I knew that, the whole point was I could fuck with this. And no one else makes shit for Sovol so I have to go through them, and they have... interesting pricing models. So I have a new extruder altogether that I'm taking apart and going to just design a whole new one to use my nozzles. Dumb design.
  • Varine Varine:
    Can't just buy a new heatblock, you need to get a whole hotend - so block, heater cartridge, thermistor, heatbreak, and nozzle. And they put this fucking paste in there so I can't take the thermistor or cartridge out with any ease, that's 30 dollars. Or you can get the whole extrudor with the direct driver AND that heatblock for like 50, but you still can't get any of it to come apart
  • Varine Varine:
    Partsbuilt has individual parts I found but they're expensive. I think I can get bits swapped around and make this work with generic shit though
  • Ghan Ghan:
    Heard Houston got hit pretty bad by storms last night. Hope all is well with TH.
  • The Helper The Helper:
    Power back on finally - all is good here no damage
    +2
  • V-SNES V-SNES:
    Happy Friday!
    +1

      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