Magus

(Wiremod Expression 2) Lodkagan Holo Enderman

May 15th, 2013
863
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 3.27 KB | None | 0 0
  1. @name Lodkagan Holo Enderman
  2. @persist E:entity Timer T Enderman:vector Distance Range
  3. # Expression 2 Chip by Magus / Lodkagan
  4. interval(100)
  5.  
  6. if( first() ) {
  7.     # ===== CONFIG =====
  8.    
  9.     PlayerName = "Magus"    # Which Player should he follow?
  10.     T = 50                  # How often should the chip run until the Enderman teleports?
  11.     Distance = 500          # teleport when the player gets too close.
  12.     Range = 2500            # How far should the Enderman teleport.
  13.    
  14.     # =================
  15.     # ===== HOLOS =====
  16.     # =================
  17.    
  18.     # === BODY ===
  19.     holoCreate(10,
  20.             (entity():pos() + vec(0,0,70)),
  21.             vec(1,1.5,2),
  22.             ang(0,0,0),
  23.             vec(0,0,0)
  24.     )
  25.    
  26.     # === LEGS ===
  27.     holoCreate(11,
  28.             (entity():pos() + vec(0,5,30)),
  29.             vec(0.5,0.5,5),
  30.             ang(0,0,0),
  31.             vec(0,0,0)
  32.     )
  33.     holoParent(11,10)
  34.    
  35.     holoCreate(12,
  36.             (entity():pos() + vec(0,-5,30)),
  37.             vec(0.5,0.5,5),
  38.             ang(0,0,0),
  39.             vec(0,0,0)
  40.     )
  41.     holoParent(12,10)
  42.    
  43.     # === HEAD ===
  44.     holoCreate(13,
  45.             (entity():pos() + vec(0,0,90)),
  46.             vec(1.4,1.4,1.4),
  47.             ang(0,0,0),
  48.             vec(0,0,0)
  49.     )
  50.     holoParent(13,10)
  51.    
  52.     holoCreate(14,
  53.             (entity():pos() + vec(8.1,4,92)),
  54.             vec(0.1,0.5,0.21),
  55.             ang(0,0,0),
  56.             vec(255,255,255)
  57.     )
  58.     holoParent(14,13)
  59.    
  60.     holoCreate(15,
  61.             (entity():pos() + vec(8.1,-4,92)),
  62.             vec(0.1,0.5,0.21),
  63.             ang(0,0,0),
  64.             vec(255,255,255)
  65.     )
  66.     holoParent(15,13)
  67.    
  68.     holoCreate(16,
  69.             (entity():pos() + vec(8.15,-4,92)),
  70.             vec(0.1,0.2,0.2),
  71.             ang(0,0,0),
  72.             vec(255,0,255)
  73.     )
  74.     holoParent(16,13)
  75.    
  76.     holoCreate(17,
  77.             (entity():pos() + vec(8.15,4,92)),
  78.             vec(0.1,0.2,0.2),
  79.             ang(0,0,0),
  80.             vec(255,0,255)
  81.     )
  82.     holoParent(17,13)
  83.    
  84.     # === ARMS ===
  85.     holoCreate(18,
  86.             (entity():pos() + vec(10,11,55)),
  87.             vec(4,0.4,0.4),
  88.             ang(65,0,0),
  89.             vec(0,0,0)
  90.     )
  91.     holoParent(18,10)
  92.    
  93.     holoCreate(19,
  94.             (entity():pos() + vec(10,-11,55)),
  95.             vec(4,0.4,0.4),
  96.             ang(65,0,0),
  97.             vec(0,0,0)
  98.     )
  99.     holoParent(19,10)
  100.    
  101.     # === BLOCK ===
  102.     holoCreate(20,
  103.             (entity():pos() + vec(20,0,35)),
  104.             vec(1,1,1),
  105.             ang(65,50,0),
  106.             vec(0,110,0)
  107.     )
  108.     holoParent(20,10)
  109.    
  110.     # =================
  111.     # ===== CODE ======
  112.     # =================
  113.    
  114.     E = findPlayerByName(PlayerName)
  115.     Enderman = entity():pos()
  116.     Timer = 0
  117.    
  118.     function void warpEnderman() {
  119.         Enderman = E:pos() + vec(random(-Range,Range), random(-Range,Range), 75)
  120.         #print("Warp Random Location", Enderman)
  121.         holoPos(10,Enderman)
  122.        
  123.         Timer = 0
  124.     }
  125.    
  126. }
  127.  
  128. if( Timer >= T ) {
  129.    
  130.     warpEnderman()
  131.    
  132. } else {
  133.    
  134.     if( E:pos():distance(Enderman) < Distance ) {
  135.         warpEnderman()
  136.     }
  137.     Angle = bearing( E:pos(), ang(0,180,0), Enderman )
  138.     holoAng(10,ang(0,Angle*-1,0))
  139.     Timer++
  140. }
Advertisement
Add Comment
Please, Sign In to add comment