@name String based Holograms
@inputs 
@outputs O:entity String:array Out:string
@persist Holo:array 
if(entity():isWeldedTo()){
    E = entity():isWeldedTo()
}else{
    E = entity()
} 
O = owner()
if(first()){
    # ParentIdentity [Scale] X Y Z [Local Offset] X Y Z [Model] [Ang] P Y R [Material] [Color] R G B A #
    # To use attachments type attach,omi,anim_attachment_rh ; E for the E2 ; holo number to parent to a holo #
    
    Holo[1,string] = "attach,anim_attachment_RH scale(10,10,10) offset(0,0,0) dome ang(0,0,0) models/shiny color(255,255,255) 255"
    
    for(I=1,Holo:count()){
        String = Holo[I,string]:replace(")",""):replace("scale(",""):replace("offset(",""):replace("ang(",""):replace("color(",""):explode(" ")
        holoCreate(I)
        if(String:string(1):explode(","):string(1)=="attach"){
            holoPos(I,O:attachmentPos(String:string(1):explode(","):string(2)))
            holoAng(I,O:attachmentAng(String:string(1):explode(","):string(2)))
            holoPos(I,holoEntity(I):toWorld(vec(String:string(3):explode(","):string(1):toNumber(),String:string(3):explode(","):string(2):toNumber(),String:string(3):explode(","):string(3):toNumber())))
            holoAng(I,holoEntity(I):toWorld(ang(String:string(5):explode(","):string(1):toNumber(),String:string(5):explode(","):string(2):toNumber(),String:string(5):explode(","):string(3):toNumber())))
            holoScaleUnits(I,vec(String:string(2):explode(","):string(1):toNumber(),String:string(2):explode(","):string(2):toNumber(),String:string(2):explode(","):string(3):toNumber()))
            holoModel(I,String:string(4))
            holoMaterial(I,String:string(6))
            holoColor(I,vec(String:string(7):explode(","):string(1):toNumber(),String:string(7):explode(","):string(2):toNumber(),String:string(7):explode(","):string(3):toNumber()))
            holoAlpha(I,String:string(8):toNumber())
            holoParentAttachment(I,O,String:string(1):explode(","):string(2))
        }else{
            holoPos(I,E:toWorld(vec(String:string(3):explode(","):string(1):toNumber(),String:string(3):explode(","):string(2):toNumber(),String:string(3):explode(","):string(3):toNumber())))
            holoAng(I,E:toWorld(ang(String:string(5):explode(","):string(1):toNumber(),String:string(5):explode(","):string(2):toNumber(),String:string(5):explode(","):string(3):toNumber())))
            holoScaleUnits(I,vec(String:string(2):explode(","):string(1):toNumber(),String:string(2):explode(","):string(2):toNumber(),String:string(2):explode(","):string(3):toNumber()))
            holoModel(I,String:string(4))
            holoMaterial(I,String:string(6))
            holoColor(I,vec(String:string(7):explode(","):string(1):toNumber(),String:string(7):explode(","):string(2):toNumber(),String:string(7):explode(","):string(3):toNumber()))
            holoAlpha(I,String:string(8):toNumber())
            if(String:string(1)=="E"){
                holoParent(I,E)
            }elseif(String:string(1)!=""){
                holoParent(I,String:string(1):toNumber())
            }
        }
    }
}
