CapsAdmin

Untitled

Dec 25th, 2011
161
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 0.69 KB | None | 0 0
  1. function OverrideEntityMeta(ent, meta)
  2.     local REAL = getmetatable(ent)
  3.     local META = table.Copy(REAL)
  4.    
  5.     table.Merge(META, meta)
  6.    
  7.     function META:__index(key)
  8.     if META[key] then
  9.         return META[key]
  10.     end
  11.    
  12.     return REAL.__index(self, key)
  13.     end
  14.  
  15.     debug.setmetatable(ent, META)
  16.        
  17.     return ent
  18. end
  19.  
  20. TEST = create("models/props_borealis/bluebarrel001.mdl")
  21.  
  22. OverrideEntityMeta(TEST, {GetPos = function(self) return VectorRand() end})
  23.  
  24. TEST:SetPos(there)
  25.  
  26. print(TEST:GetPos())
  27. -- Vector(-0.15799432992935,0.2692037820816,0.97308266162872)
  28.  
  29. print(Entity(TEST:EntIndex()):GetPos())
  30. -- Vector(-3031.0412597656,-2705.6176757813,566.84332275391)
  31.  
  32. -- :(
Advertisement
Add Comment
Please, Sign In to add comment