Wierd Variable problem

BlueMirage

Trust, but doubt.
Reaction score
39
PersonsPerTeam is an integer constant which is decided earlier on in the game. It is either 3, 4 or 6.

Circles is a Unit Group that contains 12 stationary buildings. Each unit has a unique custom value, varying between 1 and 12.

TeamPlayers is a Player Group Array which includes all the players of a specific team.

PlayerHero is the one hero that a specific player owns (One hero per player).

Trigger:
  • Spawn Teams
    • Events
    • Conditions
    • Actions
      • Set TempInteger = (Random integer number between 1 and 12)
      • For each (Integer A) from 1 to (12 / PersonsPerTeam), do (Actions)
        • Loop - Actions
          • Unit Group - Pick every unit in Circles and do (Actions)
            • Loop - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • (Custom value of (Picked unit)) Equal to TempInteger
                • Then - Actions
                  • Set TempUnit = (Picked unit)
                  • Set TempPoint = (Position of TempUnit)
                • Else - Actions
          • Player Group - Pick every player in TeamPlayers[(Integer A)] and do (Actions)
            • Loop - Actions
              • Camera - Pan camera for (Picked player) to TempPoint over 0.00 seconds
              • Unit - Move PlayerHero[(Player number of (Picked player))] instantly to TempPoint, facing (Center of (Playable map area))
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • The Rest is irrelevant

I have a very wierd problem here.

After looping through the Circles group to find a random unit, it sets that unit to a variable and that unit's position to a variable. However, directly after picking every player in TeamPlayers(Integer A), this information is lost and is for some reason set to the center of the map.

I have no idea why this happens. For some reason, it only happens when a player randoms a hero. I have not tried this with multiplayer, so I do not know what will happen with more than 1 hero.
If more information is needed to solve this problem, I'll post the hero picking and randoming triggers as well.
 

SineCosine

I'm still looking for my Tangent
Reaction score
77
this information is lost and is for some reason set to the center of the map.

That has happened with me, too >.>
Only with Global Variables, though..

It annoys the shit out of me and I haven't found a solution -____-
 

BlueMirage

Trust, but doubt.
Reaction score
39
If this is the case, do you think that using non-handle variables could solve the problem?
For example, I could save the real X and Y values of that point instead of the location. Might work?
 

cleeezzz

The Undead Ranger.
Reaction score
268
post all, you must have used TempUnit somewhere else and nulled it somehow
 

BlueMirage

Trust, but doubt.
Reaction score
39
More likely nulled TempPoint since TempUnit is not something I'm referencing when I'm about to move the unit.

I'm however having troubles exactly what could trigger by just enumerating a player group...
 

SineCosine

I'm still looking for my Tangent
Reaction score
77
For me, the handle-variables never get nulled.
It's the integers and reals that mysteriously get nulled.
 

Stringel

New Member
Reaction score
12
I think the problem is that the first loop run too many times thus nulling the TempPoint. On a second note you havn't specified TempPlayers.
 

Accname

2D-Graphics enthusiast
Reaction score
1,463
only reason i could imagine is that there is no tempUnit, that would set the temppoint to the center of the map, however if your hero is moved to the right place i cannot help you from what i read in your code.
 

BlueMirage

Trust, but doubt.
Reaction score
39
Try making a debug message where the variables are being set.
Creating a debug message for every time I set TempPoint would take hours.
I think the problem is that the first loop run too many times thus nulling the TempPoint. On a second note you havn't specified TempPlayers.
I don't think that is the problem since each unit in that unit group SHOULD have a unique custom value, but the possibility exists so I will check it out.

TeamPlayers is specified in another trigger.

only reason i could imagine is that there is no tempUnit, that would set the temppoint to the center of the map, however if your hero is moved to the right place i cannot help you from what i read in your code.
If there is no TempUnit, there would be no Picked Unit, thus the condition would never pass for true, correct?

I'll post some more triggers related to this matter eventually.

EDIT:

Done some debugging.

I first thought that the variable PlayerHero[Index] was at fault, but debugging told me it was not.
However, It all changed when I did the following:

Trigger:
  • Unit - Move PlayerHero[(Player number of (Picked player))] instantly to (Point(TempX, TempY)), facing (Center of (Playable map area))

To:
Trigger:
  • Unit - Move PlayerHero[(Player number of (Picked player))] instantly to (Point(TempX, TempY))

I now have no problems whatsoever with this trigger. Does anyone have an idea why?
 

BlueMirage

Trust, but doubt.
Reaction score
39
Bump.
Even though the problem is (somewhat) solved, I have no idea why making the unit not face an angle would make it not move to the centre of the map. Does anyone have an idea why?
 
General chit-chat
Help Users
  • No one is chatting at the moment.
  • Monovertex Monovertex:
    How are you all? :D
    +1
  • 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

      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