#Prop to holo export "gun" on the 1st of March, 2015

#Put this chunk inside some place like if(first()) where it runs only once
@persist P2H2I P2H2OI P2H2C P2H2Scale P2H2Base:entity P2H2Table:table
holoCreate(0, entity():toWorld(vec(-12, 0, 0)))
holoModel(0, "models/sprops/cuboids/height48/size_1/cube_48x96x48.mdl")
holoColor(0, vec4(80, 93, 67, 255))
holoMaterial(0, "sprops/trans/lights/light_plastic")
holoParent(0, entity())
P2H2C = 37
P2H2TI = 0
P2H2OI = 80
P2H2Base = holoEntity(0) #Change to whatever entity you wish
P2H2Scale = 1 #Change to whatever scale you'd like your export to be in
#Model, Material, Skin, Color, Position, and Angle (both position and angle are relative to base)
P2H2Table[1, array] = array("models/sprops/cuboids/height12/size_2/cube_24x48x12.mdl", "sprops/trans/lights/light_plastic", 0, vec4(80, 93, 67, 255), vec(54, -0.0001, 0), ang(89.9999, -0.0004, 0))
P2H2Table[2, array] = array("models/sprops/prisms/tri/size_3/tprism_12x48.mdl", "sprops/trans/lights/light_plastic", 0, vec4(80, 93, 67, 255), vec(54.0109, 18.0106, 0), ang(0.0001, 90.1013, 90))
P2H2Table[3, array] = array("models/sprops/prisms/tri/size_3/tprism_12x12.mdl", "sprops/trans/lights/light_plastic", 0, vec4(72, 72, 72, 255), vec(66, -0.0005, -18), ang(89.9999, -0.002, 0))
P2H2Table[4, array] = array("models/sprops/cuboids/height12/size_1/cube_12x96x12.mdl", "sprops/trans/lights/light_plastic", 0, vec4(72, 72, 72, 255), vec(12, -0.0049, 30), ang(0, -179.9942, 0.0001))
P2H2Table[5, array] = array("models/sprops/prisms/tri/size_3/tprism_12x48.mdl", "sprops/trans/lights/light_plastic", 0, vec4(80, 93, 67, 255), vec(54.0018, -17.9799, 0.0039), ang(-0.0001, -90.0007, -89.9999))
P2H2Table[6, array] = array("models/sprops/prisms/tri/size_3/tprism_12x12.mdl", "sprops/trans/lights/light_plastic", 0, vec4(72, 72, 72, 255), vec(66, -0.0004, 30), ang(0, -0.0006, -0.0001))
P2H2Table[7, array] = array("models/sprops/cuboids/height12/size_1/cube_12x36x12.mdl", "sprops/trans/lights/light_plastic", 0, vec4(72, 72, 72, 255), vec(66, -0.0004, 6), ang(89.9999, -0.0003, 0))
P2H2Table[8, array] = array("models/props_phx/misc/potato_launcher_chamber.mdl", "sprops/trans/lights/light_plastic", 0, vec4(72, 72, 72, 255), vec(-278.6016, -0.0016, -0.0059), ang(89.9998, -0.0008, 0))
P2H2Table[9, array] = array("models/sprops/geometry/t_fdisc_24.mdl", "sprops/trans/lights/light_plastic", 0, vec4(72, 72, 72, 255), vec(-208.4785, -0.002, -0.0059), ang(0.0014, 90.0069, 180))
P2H2Table[10, array] = array("models/sprops/misc/tubes_thin/size_1/t_tube_12x144.mdl", "sprops/trans/lights/light_plastic", 0, vec4(72, 72, 72, 255), vec(-208.4785, -0.002, -0.0059), ang(0.0001, 90.0234, -0.0001))
P2H2Table[11, array] = array("models/sprops/prisms/tri/size_2/tprism_6x72.mdl", "sprops/trans/lights/light_plastic", 0, vec4(80, 93, 67, 255), vec(-95.9999, 15.0004, 9), ang(0.0001, 89.9998, 0))
P2H2Table[12, array] = array("models/sprops/prisms/tri/size_3/tprism_12x12.mdl", "sprops/trans/lights/light_plastic", 0, vec4(145, 145, 145, 255), vec(-53.9726, 12.0019, 18), ang(-0.0006, 89.7558, -0.0012))
P2H2Table[13, array] = array("models/sprops/prisms/tri/size_3/tprism_12x12.mdl", "sprops/trans/lights/light_plastic", 0, vec4(145, 145, 145, 255), vec(-54.0018, 17.9994, 12.0009), ang(0.0001, 89.993, 0.0001))
P2H2Table[14, array] = array("models/sprops/prisms/tri/size_2/tprism_6x72.mdl", "sprops/trans/lights/light_plastic", 0, vec4(80, 93, 67, 255), vec(-96.0001, -14.9999, -9), ang(-0.0001, -90.0006, 179.9998))
P2H2Table[15, array] = array("models/sprops/prisms/tri/size_3/tprism_12x12.mdl", "sprops/trans/lights/light_plastic", 0, vec4(145, 145, 145, 255), vec(-54.0001, -18.0253, -12.0254), ang(-0.2421, -90.0003, -179.9999))
P2H2Table[16, array] = array("models/sprops/prisms/tri/size_3/tprism_12x12.mdl", "sprops/trans/lights/light_plastic", 0, vec4(145, 145, 145, 255), vec(-54.0001, -18.0001, 12.001), ang(-0.0001, -90.0005, 0))
P2H2Table[17, array] = array("models/sprops/cuboids/height06/size_2/cube_12x72x6.mdl", "sprops/trans/lights/light_plastic", 0, vec4(80, 93, 67, 255), vec(-96, 0.0011, -15), ang(0, -179.9991, -179.9996))
P2H2Table[18, array] = array("models/sprops/prisms/tri/size_3/tprism_12x12.mdl", "sprops/trans/lights/light_plastic", 0, vec4(145, 145, 145, 255), vec(-54.0009, 17.9994, -12), ang(89.9999, 89.9998, 0))
P2H2Table[19, array] = array("models/sprops/prisms/tri/size_2/tprism_6x72.mdl", "sprops/trans/lights/light_plastic", 0, vec4(80, 93, 67, 255), vec(-96.0001, -8.9996, -15), ang(89.9999, -90.0003, 0))
P2H2Table[20, array] = array("models/sprops/cuboids/height06/size_2/cube_12x72x6.mdl", "sprops/trans/lights/light_plastic", 0, vec4(80, 93, 67, 255), vec(-96.0001, -14.9994, 0), ang(0, -180, 90.0001))
P2H2Table[21, array] = array("models/sprops/cuboids/height24/size_1/cube_24x84x24.mdl", "sprops/trans/lights/light_plastic", 0, vec4(80, 93, 67, 255), vec(-90, 0.0001, 0), ang(0, 179.9995, 0.0001))
P2H2Table[22, array] = array("models/sprops/cuboids/height12/size_1/cube_12x12x12.mdl", "sprops/trans/lights/light_plastic", 0, vec4(145, 145, 145, 255), vec(-53.9999, 17.9994, 0), ang(0, -179.9935, 0.0001))
P2H2Table[23, array] = array("models/sprops/prisms/tri/size_2/tprism_6x72.mdl", "sprops/trans/lights/light_plastic", 0, vec4(80, 93, 67, 255), vec(-95.9999, 9.0001, -15), ang(89.9999, 89.9997, 0))
P2H2Table[24, array] = array("models/sprops/prisms/tri/size_2/tprism_6x72.mdl", "sprops/trans/lights/light_plastic", 0, vec4(80, 93, 67, 255), vec(-96.0001, -8.9998, 14.999), ang(-0.0001, -90.0009, 0))
P2H2Table[25, array] = array("models/sprops/prisms/tri/size_3/tprism_12x12.mdl", "sprops/trans/lights/light_plastic", 0, vec4(145, 145, 145, 255), vec(-54.002, -11.9984, 18), ang(-0.0001, -90.0015, 0))
P2H2Table[26, array] = array("models/sprops/prisms/tri/size_3/tprism_12x12.mdl", "sprops/trans/lights/light_plastic", 0, vec4(145, 145, 145, 255), vec(-53.9989, 12.0006, -18), ang(89.9989, 89.9997, 0))
P2H2Table[27, array] = array("models/sprops/cuboids/height06/size_2/cube_12x72x6.mdl", "sprops/trans/lights/light_plastic", 0, vec4(80, 93, 67, 255), vec(-96, 0.0002, 14.999), ang(0, 179.9992, -179.9997))
P2H2Table[28, array] = array("models/sprops/prisms/tri/size_2/tprism_6x72.mdl", "sprops/trans/lights/light_plastic", 0, vec4(80, 93, 67, 255), vec(-95.9999, 9.0002, 14.999), ang(0.0001, 89.9997, 0.0001))
P2H2Table[29, array] = array("models/sprops/misc/tubes_thin/size_2/t_tube_24x84.mdl", "sprops/trans/lights/light_plastic", 0, vec4(72, 72, 72, 255), vec(-165.7285, -0.0048, -0.0059), ang(0.0001, 89.9954, 0))
P2H2Table[30, array] = array("models/sprops/prisms/tri/size_3/tprism_12x12.mdl", "sprops/trans/lights/light_plastic", 0, vec4(145, 145, 145, 255), vec(-54.0001, -11.9997, -18), ang(89.9999, -90.0005, 0))
P2H2Table[31, array] = array("models/sprops/cuboids/height06/size_2/cube_12x72x6.mdl", "sprops/trans/lights/light_plastic", 0, vec4(80, 93, 67, 255), vec(-95.9999, 15.0006, 0), ang(0, -179.9996, 90.0001))
P2H2Table[32, array] = array("models/sprops/cuboids/height12/size_1/cube_12x12x12.mdl", "sprops/trans/lights/light_plastic", 0, vec4(145, 145, 145, 255), vec(-54, 0.0003, -18), ang(0.0006, 179.9975, -0.0006))
P2H2Table[33, array] = array("models/sprops/prisms/tri/size_2/tprism_6x72.mdl", "sprops/trans/lights/light_plastic", 0, vec4(80, 93, 67, 255), vec(-95.9999, 15.0006, -9), ang(0.0001, 90, -179.9999))
P2H2Table[34, array] = array("models/sprops/cuboids/height12/size_1/cube_12x12x12.mdl", "sprops/trans/lights/light_plastic", 0, vec4(145, 145, 145, 255), vec(-54.0001, -18.0001, 0), ang(0, 179.9993, 0.0002))
P2H2Table[35, array] = array("models/sprops/cuboids/height12/size_1/cube_12x12x12.mdl", "sprops/trans/lights/light_plastic", 0, vec4(145, 145, 145, 255), vec(-54, 0.0016, 18), ang(0.0006, 179.9846, -0.0004))
P2H2Table[36, array] = array("models/sprops/prisms/tri/size_2/tprism_6x72.mdl", "sprops/trans/lights/light_plastic", 0, vec4(80, 93, 67, 255), vec(-95.9981, -15.0242, 9), ang(-0.0004, -90.0394, -0.0002))
P2H2Table[37, array] = array("models/sprops/prisms/tri/size_3/tprism_12x12.mdl", "sprops/trans/lights/light_plastic", 0, vec4(72, 72, 72, 255), vec(-42, -0.0099, 30), ang(0, 179.9996, 0.0001))

#Put this in a place that runs on an interval (i.e interval, runOnTick, timers, etc.)
if(P2H2I < P2H2C)
{
    while(perf() & holoCanCreate() & P2H2I < P2H2C)
    {
        P2H2I++
        local TA = P2H2Table[P2H2I, array]
        local TI = P2H2I + P2H2OI

        holoCreate(TI, P2H2Base:toWorld(TA[5, vector] * P2H2Scale), vec(P2H2Scale), P2H2Base:toWorld(TA[6, angle] * P2H2Scale))
        holoModel(TI, TA[1, string])
        holoMaterial(TI, TA[2, string])
        holoSkin(TI, TA[3, number])
        holoColor(TI, TA[4, vector4])
        holoParent(TI, P2H2Base)
    }
}

#[
General tips:
-If you wanna make a group of holograms to change their material and/or colors all together, ...
make your props you want to group a certain material and then you can put in the while loop to...
add the holo index (TI) to an array if the material is such and print out the array once all the...
holos are generated, and then you can use that to your liking

-If you want to use multiple prop to holo exports in 1 e2, which is the reason I had redesigned...
this e2, use the find menu's replace tab to replace "P2H2" with "P2H2<1, 2, 3, etc.>"...
without the < and >, of course, and then copy the exoprt over
]#
