Help with Color + 2 Decals, Vertex Lit + Mask Shader

I need some help for changing the below Shader to include a Mask Alpha Texture so it makes the border of the object to be transparent.

Any idea ?

This is the shader that must include the Mask:

Shader “Color + 2 Decals, Vertex Lit” {

Properties
{
_Color (“Main Color”, Color) = (1,1,1)
_SpecColor (“Spec Color”, Color) = (1,1,1)
_Emission (“Emmisive Color”, Color) = (0,0,0)
_Shininess (“Shininess”, Range (0.01, 1)) = 0.7
_MainTex (“Base (RGBA)”, 2D) = “”
_DecalTex (“Decal (RGBA)”, 2D) = “”
}

// More than two texture units
SubShader {Pass
{
Lighting On
SeparateSpecular On
Material
{
Diffuse (1,1,1)
Ambient (1,1,1)
Shininess [_Shininess]
Specular [_SpecColor]
Emission [_Emission]
}
SetTexture[_MainTex]
{
matrix [_Rotation]
ConstantColor[_Color]
Combine texture Lerp(texture) constant
}
SetTexture[_DecalTex] {matrix [Rotation1] Combine texture Lerp(texture) previous}
SetTexture[
] {Combine previous * primary Double}
}}

// Two texture units
SubShader
{
Lighting On
Material
{
Diffuse (1,1,1)
Ambient (1,1,1)
Shininess [_Shininess]
Specular [_SpecColor]
Emission [_Emission]
}
Pass
{
SetTexture[_MainTex]
{
ConstantColor[_Color]
Combine texture Lerp(texture) constant
}
SetTexture[_DecalTex] {Combine texture Lerp(texture) previous}
}

// ‘Double’ Lighting
Pass {Blend DstColor SrcColor}
}
}

Problem Solved !

Shader “Color + 1 Moving Texture + 1 Decals, Vertex Lit + Mask Shader” {
Properties {
_Offset (“Offset”, Range (0.00,1.00)) = 1.000
_Color (“Main Color”, Color) = (1,1,1,1)
_MainTex (“Base (RGB)”, 2D) = “white” {}
_DecalTex (“Decal (RGBA)”, 2D) = “”
_Cutout (“Mask (A)”, 2D) = “white” {}

}

SubShader {
Tags { “Queue” = “Transparent-110” } // water uses -120
ZWrite on
Offset -1, -1
Blend SrcAlpha OneMinusSrcAlpha
ColorMask RGB
Pass {
Color [_Color]

SetTexture [_MainTex]
{
matrix [_Rotation] constantColor[_Color] combine texture * primary double,
texture * constant double
}

SetTexture[_DecalTex] {matrix [Rotation1] Combine texture Lerp(texture) previous}
SetTexture[
] {Combine previous * primary Double}
SetTexture [_Cutout] { combine previous, previous * texture }
}
}

Fallback “VertexLit”
}

Seems obivious but is not !