CapsAdmin

Untitled

Jun 21st, 2012
98
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 2.07 KB | None | 0 0
  1. local holo_str =
  2. [[HOLO_NAME = IDX
  3.  
  4. holoCreate(HOLO_NAME)
  5.     PARENT
  6.     holoColor(HOLO_NAME, COLOR)
  7.     holoAlpha(HOLO_NAME, ALPHA)
  8.     holoScale(HOLO_NAME, SCALE)
  9.     holoPos(HOLO_NAME, entity():toWorld(POSITION))
  10.     holoAng(HOLO_NAME, entity():toWorld(ANGLES))
  11.     #holoAnim(HOLO_NAME, ANIMATION_NAME, ANIMATION_FRAME, ANIMATION_RATE)
  12.     #holoDisableShading(HOLO_NAME, FULLBRIGHT)
  13.     holoMaterial(HOLO_NAME, MATERIAL)
  14.     holoModel(HOLO_NAME, MODEL)
  15.     holoSkin(HOLO_NAME, SKIN)
  16. ]]
  17.  
  18. local function tovec(vec) return ("vec(%s, %s, %s)"):format(math.Round(vec.x, 4), math.Round(vec.y, 4), math.Round(vec.z, 4)) end
  19. local function toang(vec) return ("ang(%s, %s, %s)"):format(math.Round(vec.p, 4), math.Round(vec.y, 4), math.Round(vec.r, 4)) end
  20.  
  21. local function part_to_holo(part)
  22.     local holo = holo_str          
  23.     :gsub("IDX", util.CRC(part:GetName()))
  24.     :gsub("ALPHA", part:GetAlpha()*255)
  25.     :gsub("COLOR", tovec(part:GetColor()))
  26.     :gsub("SCALE", tovec(part:GetScale()))
  27.     :gsub("ANGLES", toang(part:GetAngles()))
  28.     :gsub("POSITION", tovec(part:GetPosition()))
  29.     :gsub("MATERIAL", ("%q"):format(part:GetModel()))
  30.     :gsub("MODEL", ("%q"):format(part:GetModel()))
  31.     :gsub("SKIN", part:GetSkin())
  32.    
  33.     -- not yet implemented
  34.     --:gsub("FULLBRIGHT", part:GetFullbright()) -- forgot to implement this in pac lol
  35.     --:gsub("ANIMATION_NAME", tovec(part:GetScale()))
  36.     --:gsub("ANIMATION_FRAME", tovec(part:GetScale()))
  37.    
  38.     if part:HasParent() and part:GetParent().ClassName == "model" then
  39.         holo = holo:gsub("PARENT", ("holoParent(HOLO_NAME, %s)"):format(util.CRC(part:GetParent():GetName())))
  40.     else
  41.         holo = holo:gsub("PARENT", "holoParent(HOLO_NAME, entity())")
  42.     end
  43.  
  44.     holo = holo:Replace("HOLO_NAME", "PAC_" ..part:GetName():gsub("%p", ""):gsub(" ", "_"))
  45.    
  46.     return holo
  47. end
  48.  
  49. function ToHolo(part)  
  50.     local out = ""
  51.        
  52.     if part.ClassName == "model" then
  53.         out = part_to_holo(part)
  54.     end
  55.    
  56.     for key, part in pairs(part:GetChildren()) do
  57.         if part.ClassName == "model" then
  58.             out = out .. ToHolo(part)
  59.         end
  60.     end
  61.    
  62.     return out
  63. end
  64.  
  65. file.Write("expression2/asdf.txt", ToHolo(pace.current_part:GetRootPart()))
Advertisement
Add Comment
Please, Sign In to add comment