• Listen to a special audio message from Bill Roper to the Hive Workshop community (Bill is a former Vice President of Blizzard Entertainment, Producer, Designer, Musician, Voice Actor) 🔗Click here to hear his message!
  • Read Evilhog's interview with Gregory Alper, the original composer of the music for WarCraft: Orcs & Humans 🔗Click here to read the full interview.

[Solved] Why does it split people?

Status
Not open for further replies.
Level 13
Joined
Mar 24, 2010
Messages
950
ill just add most his triggers here to show u, if u dont have W.E atm.

i looked over a lot of them and a lot need some redoing as they arn't done very well but i dont see a sure sign of something making the game desync players..
anyway here they are


  • events weather
    • Events
      • Time - Every 120.00 seconds of game time
    • Conditions
    • Actions
      • Game - Set the time of day to 6.00
      • Environment - Remove weather
      • Set int = (Random integer number between 1 and 5)
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • int Equal to 1
        • Then - Actions
          • Environment - Create at (Entire map) the weather effect Ashenvale Rain (Heavy)
          • Set weather = (Last created weather effect)
          • Environment - Turn weather On
          • Game - Display to (All players) the text: It has started rain...
          • Set int = 0
        • Else - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • int Equal to 2
            • Then - Actions
              • Environment - Create at (Entire map) the weather effect Wind (Heavy)
              • Set weather = (Last created weather effect)
              • Environment - Turn weather On
              • Game - Display to (All players) the text: Heavy winds have be...
              • Set int = 0
            • Else - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • int Equal to 3
                • Then - Actions
                  • Environment - Create at (Entire map) the weather effect Northrend Blizzard
                  • Set weather = weather
                  • Environment - Turn (Last created weather effect) On
                  • Game - Display to (All players) the text: A blizzard has seem...
                  • Set int = 0
                • Else - Actions
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • int Equal to 4
                    • Then - Actions
                      • Environment - Create at (Entire map) the weather effect Rays Of Light
                      • Set weather = (Last created weather effect)
                      • Environment - Turn weather On
                      • Game - Display to (All players) the text: It is sunny out tod...
                      • Game - Set the time of day to 13.00
                      • Set int = 0
                    • Else - Actions
                      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                        • If - Conditions
                          • int Equal to 5
                        • Then - Actions
                          • Environment - Create at (Entire map) the weather effect Rays Of Moonlight
                          • Set weather = (Last created weather effect)
                          • Environment - Turn weather On
                          • Game - Display to (All players) the text: It has became dark.
                          • Game - Set the time of day to 20.00
                          • Set int = 0
                        • Else - Actions
these ones could use help.. remove the if-then's and just put the conditions in the top one. this way it will check conditions and if not met it wont even run the trigger
  • Rifle
    • Events
      • Unit - A unit Is attacked
    • Conditions
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • And - All (Conditions) are true
            • Conditions
              • ((Attacking unit) belongs to an ally of (Triggering player)) Not equal to True
              • (Unit-type of (Attacking unit)) Equal to Marine (Rifle - AK -47
        • Then - Actions
          • Unit - Cause (Attacking unit) to damage (Triggering unit), dealing 15.00 damage of attack type Chaos and damage type Fire
        • Else - Actions
  • Rifle Copy
    • Events
      • Unit - A unit Is attacked
    • Conditions
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • And - All (Conditions) are true
            • Conditions
              • ((Attacking unit) belongs to an ally of (Triggering player)) Not equal to True
              • (Unit-type of (Attacking unit)) Equal to Marine (Sniper
        • Then - Actions
          • Unit - Cause (Attacking unit) to damage (Triggering unit), dealing (25.00 x (Random real number between 1.30 and 2.00)) damage of attack type Chaos and damage type Fire
        • Else - Actions
  • Cop
    • Events
      • Unit - A unit Is attacked
    • Conditions
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • And - All (Conditions) are true
            • Conditions
              • ((Attacking unit) belongs to an ally of (Triggering player)) Not equal to True
              • (Unit-type of (Attacking unit)) Equal to Cop
        • Then - Actions
          • Unit - Cause (Attacking unit) to damage (Triggering unit), dealing (5.00 x (Random real number between 2.00 and 5.00)) damage of attack type Chaos and damage type Fire
        • Else - Actions


This is where the major problems are.. u need to remove all the waits from your loops in most cases.. this is a Very Bad thing to do.
And when using Int A for loops with waits, this is almost a sure thing of what is messing your game up. becuz more than 1 trigger might be using this int A at the same time.


  • Flamer
    • Events
      • Unit - A unit Is attacked
    • Conditions
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Unit-type of (Attacking unit)) Equal to Marine (Flamer
        • Then - Actions
          • Set facingforflamer[(Player number of (Owner of (Attacking unit)))] = (Facing of (Attacking unit))
          • For each (Integer privint[(Player number of (Owner of (Attacking unit)))]) from 1 to 7, do (Actions)
            • Loop - Actions
              • Set temppoint = (Position of (Attacking unit))
              • Unit - Create 1 Missile Type for (Owner of (Attacking unit)) at temppoint facing facingforflamer[(Player number of (Owner of (Attacking unit)))] degrees
              • Custom script: call RemoveLocation(udg_temppoint)
              • Trigger - Add to Untitled Trigger 002 <gen> the event (Unit - A unit comes within 95.00 of (Last created unit))
              • Unit - Add a 1.75 second Generic expiration timer to (Last created unit)
              • Trigger - Add to Untitled Trigger 001 <gen> the event (Unit - (Last created unit) Dies)
              • Unit Group - Add (Last created unit) to fg
              • Custom script: call RemoveLocation(udg_temppoint)
              • Wait (0.33 / 2.00) game-time seconds
        • Else - Actions
  • Flamer2
    • Events
      • Time - Every 0.05 seconds of game time
    • Conditions
    • Actions
      • Unit Group - Pick every unit in fg and do (Actions)
        • Loop - Actions
          • Set fp = (Position of (Picked unit))
          • Set fp2 = (fp offset by 15.00 towards (Facing of (Picked unit)) degrees)
          • Unit - Move (Picked unit) instantly to fp2
          • Custom script: call RemoveLocation(udg_fp)
          • Custom script: call RemoveLocation(udg_fp2)
  • Untitled Trigger 001
    • Events
    • Conditions
    • Actions
      • Unit Group - Remove (Triggering unit) from fg
      • Wait 0.40 game-time seconds
      • Unit - Remove (Triggering unit) from the game
  • Untitled Trigger 002
    • Events
    • Conditions
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • ((Triggering unit) is in humg) Not equal to True
        • Then - Actions
          • Unit - Set life of (Triggering unit) to ((Life of (Triggering unit)) - 5.00)
          • Special Effect - Create a special effect attached to the chest of (Triggering unit) using Abilities\Weapons\PhoenixMissile\Phoenix_Missile_mini.mdl
          • Special Effect - Destroy (Last created special effect)
        • Else - Actions
these are where the int A loops come in.

  • Untitled Trigger 006 Copy
    • Events
      • Time - Elapsed game time is 45.00 seconds
    • Conditions
    • Actions
      • For each (Integer A) from 1 to 15, do (Actions)
        • Loop - Actions
          • Set temppoint = (Random point in (Playable map area))
          • Unit - Create 1 Zombie for Neutral Hostile at (Random point in Region 000 <gen>) facing Default building facing degrees
          • Unit - Order (Last created unit) to Attack-Move To temppoint
          • Unit - Create 1 Zombie for Neutral Passive at (Random point in Region 002 <gen>) facing Default building facing degrees
          • Unit - Order (Last created unit) to Attack-Move To temppoint
          • Unit - Create 1 Zombie for Player 11 (Dark Green) at (Random point in Region 003 <gen>) facing Default building facing degrees
          • Unit - Order (Last created unit) to Attack-Move To temppoint
          • Custom script: call RemoveLocation(udg_temppoint)
          • Wait 0.05 game-time seconds
  • Untitled Trigger 006
    • Events
      • Time - Every 120.00 seconds of game time
    • Conditions
    • Actions
      • For each (Integer A) from 1 to 28, do (Actions)
        • Loop - Actions
          • Set temppoint = (Random point in (Playable map area))
          • Unit - Create 1 Zombie for Neutral Hostile at (Random point in Region 000 <gen>) facing Default building facing degrees
          • Unit - Order (Last created unit) to Attack-Move To temppoint
          • Unit - Create 1 Zombie for Neutral Passive at (Random point in Region 002 <gen>) facing Default building facing degrees
          • Unit - Order (Last created unit) to Attack-Move To temppoint
          • Unit - Create 1 Zombie for Player 11 (Dark Green) at (Random point in Region 003 <gen>) facing Default building facing degrees
          • Unit - Order (Last created unit) to Attack-Move To temppoint
          • Custom script: call RemoveLocation(udg_temppoint)
  • Untitled Trigger 007
    • Events
      • Time - Every 240.00 seconds of game time
    • Conditions
    • Actions
      • For each (Integer B) from 1 to 37, do (Actions)
        • Loop - Actions
          • Set temppoint = (Random point in (Playable map area))
          • Unit - Create 1 Zombie Ninja for Player 11 (Dark Green) at (Random point in Region 001 <gen>) facing Default building facing degrees
          • Unit - Order (Last created unit) to Attack-Move To temppoint
          • Custom script: call RemoveLocation(udg_temppoint)
  • Untitled Trigger 008
    • Events
      • Time - Every 50.00 seconds of game time
    • Conditions
    • Actions
      • Set temppoint = (Random point in (Playable map area))
      • Unit Group - Pick every unit in (Units of type Zombie) and do (Actions)
        • Loop - Actions
          • Unit - Order (Last created unit) to Attack-Move To temppoint
      • Unit Group - Pick every unit in (Units of type Zombie Ninja) and do (Actions)
        • Loop - Actions
          • Unit - Order (Last created unit) to Attack-Move To temppoint
      • Custom script: call RemoveLocation(udg_temppoint)


best thing to fix first is the loops that have waits with more than 1 trigger using that int var
 
Last edited:
Level 7
Joined
Apr 11, 2011
Messages
172
I can't remove the waits otherwise it would screw up my map and projectile system... This isn't the spell section, waits on loops work perfectly fine and are good for separating effects and units.
I timed it perfectly, no other trigger uses it at the same time but I will switch it to a private integer loop...
Thanks Bond009.
 
you dont need this >>> Set int = 0 coz every 120 seconds the int will reset...

this is doubled >>> Custom script: call RemoveLocation(udg_temppoint)

this is really not good coz you already have 1.75 seconds for the unit...
  • Unit Group - Remove (Triggering unit) from fg
  • Wait 0.40 game-time seconds
  • Unit - Remove (Triggering unit) from the game
Time - Elapsed game time is 45.00 seconds will run only from the start of the game after 45seconds( just a note)...

Integer A & B loops doesnt matter at the moment coz you are just using it once, if you use loops many times though, I suggest you use integer variable for it to be unique...

other than that, what's really the problem?...I cant see anything except the waits...which is useless...use timers instead...
 
Status
Not open for further replies.
Top