Can 1+ variables be assigned to a unit?

mango

Member
Reaction score
0
In other words, can I set Unit Variable A to a unit, then set Unit Variable B to the same unit, and have the GUI still acknowledge the unit as being both variables?
 

Strilanc

Veteran Scripter
Reaction score
42
There is no problem, he's just new.

I imagine he was worried that assigning another variable might make a copy of the unit, or cause an error, or something like that.
 

mango

Member
Reaction score
0
Alright. I'm having trouble with a trigger-run ability. I used the "Bear Form" as the base, so it merely acts as an "on/off" switch for the trigger. The ability is used to call units in and out of battle, with the player being limited to 1 unit in combat at a time. The player uses the ability once and the in-combat unit is moved back to the safe-zone. The player then uses the ability again and is given the choice of what unit to bring into battle next through dialog boxes.

I was using 2 seperate variables for each unit, because each unit needs an exclusive variable that they can be referred to. Then I used a second variable for the specific unit that was Active at the time, so this unit could be returned to the safe zone.

Anyway, the triggers seem to work at times, then not at others, and I thought it could be because the GUI was having trouble with the 2 variables.

Any other ideas around this problem?
 

AceHart

Your Friendly Neighborhood Admin
Reaction score
1,495
> There is no problem

Well, post #4 sounds like there is one after all... :p

Unfortunately, it's incredibly difficult to help fixing a trigger if you have no trigger to look at.
 

mango

Member
Reaction score
0
Trigger:
  • PLR1 recall
    • Events
      • Unit - A unit owned by Player 1 (Red) Begins casting an ability
    • Conditions
      • (Ability being cast) Equal to Recall Pokemon
    • Actions
      • Special Effect - Create a special effect at (Position of Player1_ActivePKM) using Abilities\Spells\Human\DispelMagic\DispelMagicTarget.mdl
      • Set FXplayer1call = (Last created special effect)
      • Unit - Move Player1_ActivePKM instantly to (Center of Player1pokemon <gen>), facing 270.00 degrees
      • Unit - Change ownership of Player1_ActivePKM to Neutral Passive and Retain color
      • Trigger - Turn on Player 1 Call Pokemon <gen>
      • Trigger - Turn off (This trigger)
      • Wait 1.50 seconds
      • Special Effect - Destroy FXplayer1call


thats what I'm using at the moment for the Recall action.

Trigger:
  • PLR1 call
    • Events
      • Unit - A unit owned by Player 1 (Red) Begins casting an ability
    • Conditions
      • (Ability being cast) Equal to Recall Pokemon
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Leaderboard1 contains Player 1 (Red)) Equal to True
        • Then - Actions
          • Dialog - Create a dialog button for DialogPlayer1 labelled (Name of Player1_slot1)
          • Set Player1_Dialog_Slot1 = (Last created dialog Button)
        • Else - Actions
          • Do nothing
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Leaderboard1 contains Player 2 (Blue)) Equal to True
        • Then - Actions
          • Dialog - Create a dialog button for DialogPlayer1 labelled (Name of Player1_slot2)
          • Set Player1_Dialog_Slot2 = (Last created dialog Button)
        • Else - Actions
          • Do nothing
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Leaderboard1 contains Player 3 (Teal)) Equal to True
        • Then - Actions
          • Dialog - Create a dialog button for DialogPlayer1 labelled (Name of Player1_slot3)
          • Set Player1_Dialog_Slot3 = (Last created dialog Button)
        • Else - Actions
          • Do nothing
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Leaderboard1 contains Player 4 (Purple)) Equal to True
        • Then - Actions
          • Dialog - Create a dialog button for DialogPlayer1 labelled (Name of Player1_slot4)
          • Set Player1_Dialog_Slot4 = (Last created dialog Button)
        • Else - Actions
          • Do nothing
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Leaderboard1 contains Player 5 (Yellow)) Equal to True
        • Then - Actions
          • Dialog - Create a dialog button for DialogPlayer1 labelled (Name of Player1_slot5)
          • Set Player1_Dialog_Slot5 = (Last created dialog Button)
        • Else - Actions
          • Do nothing
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Leaderboard1 contains Player 6 (Orange)) Equal to True
        • Then - Actions
          • Dialog - Create a dialog button for DialogPlayer1 labelled (Name of Player1_slot6)
          • Set Player1_Dialog_Slot6 = (Last created dialog Button)
        • Else - Actions
          • Do nothing
      • Dialog - Create a dialog button for DialogPlayer1 labelled Cancel
      • Set Player1_Dialog_Cancel = (Last created dialog Button)
      • Dialog - Show DialogPlayer1 for Player 1 (Red)
      • Trigger - Turn on PLR1 recall <gen>
      • Trigger - Turn off (This trigger)


and this is the "call" action. here's an example of a trigger that would follow the clicked dialog button:

Trigger:
  • Player 1 Call Slot 1
    • Events
      • Dialog - A dialog button is clicked for DialogPlayer1
    • Conditions
      • (Clicked dialog button) Equal to Player1_Dialog_Slot1
    • Actions
      • Unit - Move Player1_slot1 instantly to (Position of Player1), facing (Facing of Player1) degrees
      • Unit - Change ownership of Player1_slot1 to Player 1 (Red) and Retain color
      • Special Effect - Create a special effect at (Position of Player1_slot1) using Abilities\Spells\Human\DispelMagic\DispelMagicTarget.mdl
      • Set FXplayer1call = (Last created special effect)
      • Set Player1_ActivePKM = Player1_slot1
      • Set Player1_recall = false
      • Dialog - Clear DialogPlayer1
      • Wait 1.50 seconds
      • Special Effect - Destroy FXplayer1call


i'm very bad at JASS, so please pardon all the GUI :(
 
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