Random regions teleport

Discussion in 'World Editor Help' started by Konstantin011, Aug 17, 2013.

  1. Konstantin011

    Konstantin011 New Member

    Ratings:
    +0 / 0 / -0
    Hi all :)
    So the idea is i have a computer player that i dont want to be destroyed during the game, so i hide his producing structure that will send forces on a player. that barracks is beyond reach without flying units. so what i need is to give order to units that will be attacking the player, to step in a small area also where their producing structure is and then the script will move units (instantly) to a one of the few random points on the map. i done some of the scripting, but its obviously wrong so i dont know how to make it work properly .
     

    Attached Files:

    • 1.png
      1.png
      File size:
      19.6 KB
      Views:
      58
    • 2.png
      2.png
      File size:
      12.4 KB
      Views:
      56
  2. Accname

    Accname 2D-Graphics enthusiast

    Ratings:
    +1,549 / 4 / -4
    I think what you are looking for is a trigger like this:
    Trigger:
    • TeleportUnits
      • Events
        • Unit - A unit enters SomeArea <gen>
      • Conditions
      • Actions
        • Set Temp_Point = (Center of SomeOtherArea <gen>)
        • Unit - Move (Triggering unit) instantly to Temp_Point
        • Custom script: call RemoveLocation (udg_Temp_Point)

    If you want a random location I would suggest you save all areas, where units are supposed to be teleported to, into an array, then you set some integer variable to a random value between 0 and the number of areas you got.

    For example:
    Trigger:
    • TeleportUnits
      • Events
        • Unit - A unit enters SomeArea <gen>
      • Conditions
      • Actions
        • Set Temp_Point = (Random point in Destination_Areas[(Random integer number between 0 and Destination_Count)])
        • Unit - Move (Triggering unit) instantly to Temp_Point
        • Custom script: call RemoveLocation (udg_Temp_Point)

    Trigger:
    • Setup
      • Events
        • Map initialization
      • Conditions
      • Actions
        • Set Destination_Areas[0] = SomeArea 000 <gen>
        • Set Destination_Areas[1] = SomeArea 001 <gen>
        • Set Destination_Areas[2] = SomeArea 002 <gen>
        • Set Destination_Areas[3] = SomeArea 003 <gen>
        • Set Destination_Count = 4
     
  3. Konstantin011

    Konstantin011 New Member

    Ratings:
    +0 / 0 / -0
    thank you for the fast response, and it works like charm :) tho in some occasions he teleports a unit at the center of the map for some reason. and one more thing attached to this, is lets say can it be done to make some birth animation at that point ex. like zombies in wc3 original campaign to attach some effects with delay birth u know .
     
  4. Accname

    Accname 2D-Graphics enthusiast

    Ratings:
    +1,549 / 4 / -4
    Oh, my bad, I had remembered the Math.random function of wc3 incorrectly.
    What you need to do is to set the variable "Destination_Count" to the number of areas minus one.
    So in my example it would be 3 because it uses the areas 0, 1, 2, 3.

    For the effect you simply add a special effect at the location:
    Trigger:
    • Actions
      • Special Effect - Create a special effect at Temp_Point using Abilities\Spells\Undead\RaiseSkeletonWarrior\RaiseSkeleton.mdl
      • Special Effect - Destroy (Last created special effect)

    Add these lines to the "TeleportUnits" trigger above.
     
  5. Octavia63

    Octavia63 Member

    Ratings:
    +0 / 0 / -0
    Ive been trying to recreate these triggers but I can't see how you got this line of code 2 work. I have been able to do have the rest though.

    Set Temp_Point = (Random point in Destination_Areas)

    the only option I see is the hash table but it says load :/
    nvm figured out what I was doing wrong
     
    Last edited: Aug 6, 2017

Share This Page