listen( integer channel, string name, key id, string message )
{
if(message == "Visor"

{
llDialog(id, "Please select a visor setting.", ["Off", "Translucent" , "On" , " Color "], 1003);
}
else if (message == "On"

{
llSetLinkAlpha(2, 1, ALL_SIDES);
//Turn the visor on.
//llSetLinkAlpha(); look this up on the wikipedia link below
}
else if(message == "Off"

{
llSetLinkAlpha(2, 0, ALL_SIDES);
//Turn the visor on.
//llSetLinkAlpha(); look this up on the wikipedia link below
}
else if(message == "Translucent"

{
llSetLinkAlpha(2, .5, ALL_SIDES);
}
else if(message == "Shell"

{
llDialog(id, "Please select a shell color.", [ "Au" , "Ag" , "GunMetal" , "Blanche" , "Night" , "Rose" , "Navy" , "Royal" , "Spring" , "Sun" , "Yamaha" , "Alert" ], 1003);
}
else if(message == " Color "

{
llDialog(id, "Please select a visor color.", [ "Gold" , "Silver" , "Gray" , "White" , "Black" , "Pink" , "NavyBlue" , "Violet" , "Green" , "Yellow" , "Blue" , "Red" ], 1003);
}
else if(message == "Alert"

{
llSetLinkColor(1, <1,0,0> , ALL_SIDES);
llSetLinkColor(3, <1,0,0> , ALL_SIDES);
llSetLinkColor(4, <1,0,0> , ALL_SIDES);
llSetLinkColor(5, <1,0,0> , ALL_SIDES);
llSetLinkColor(6, <1,0,0> , ALL_SIDES);
llSetLinkColor(7, <1,0,0> , ALL_SIDES);
llSetLinkColor(8, <1,0,0> , ALL_SIDES);
llSetLinkColor(9, <1,0,0> , ALL_SIDES);
llSetLinkColor(10, <1,0,0> , ALL_SIDES);
}
else if(message == "Rose"

{
llSetLinkColor(1, <0.592157,0.023529,0.337255> , ALL_SIDES);
llSetLinkColor(3, <0.592157,0.023529,0.337255> , ALL_SIDES);
llSetLinkColor(4, <0.592157,0.023529,0.337255> , ALL_SIDES);
llSetLinkColor(5, <0.592157,0.023529,0.337255> , ALL_SIDES);
llSetLinkColor(6, <0.592157,0.023529,0.337255> , ALL_SIDES);
llSetLinkColor(7, <0.592157,0.023529,0.337255> , ALL_SIDES);
llSetLinkColor(8, <0.592157,0.023529,0.337255> , ALL_SIDES);
llSetLinkColor(9, <0.592157,0.023529,0.337255> , ALL_SIDES);
llSetLinkColor(10, <0.592157,0.023529,0.337255> , ALL_SIDES);
}
else if(message == "Navy"

{
llSetLinkColor(1, <0.145098,0.192157,0.313725> , ALL_SIDES);
llSetLinkColor(3, <0.145098,0.192157,0.313725> , ALL_SIDES);
llSetLinkColor(4, <0.145098,0.192157,0.313725> , ALL_SIDES);
llSetLinkColor(5, <0.145098,0.192157,0.313725> , ALL_SIDES);
llSetLinkColor(6, <0.145098,0.192157,0.313725> , ALL_SIDES);
llSetLinkColor(7, <0.145098,0.192157,0.313725> , ALL_SIDES);
llSetLinkColor(8, <0.145098,0.192157,0.313725> , ALL_SIDES);
llSetLinkColor(9, <0.145098,0.192157,0.313725> , ALL_SIDES);
llSetLinkColor(10, <0.145098,0.192157,0.313725> , ALL_SIDES);
}
else if(message == "Royal"

{
llSetLinkColor(1, <0.290196,0.176471,0.290196> , ALL_SIDES);
llSetLinkColor(3, <0.290196,0.176471,0.290196> , ALL_SIDES);
llSetLinkColor(4, <0.290196,0.176471,0.290196> , ALL_SIDES);
llSetLinkColor(5, <0.290196,0.176471,0.290196> , ALL_SIDES);
llSetLinkColor(6, <0.290196,0.176471,0.290196> , ALL_SIDES);
llSetLinkColor(7, <0.290196,0.176471,0.290196> , ALL_SIDES);
llSetLinkColor(8, <0.290196,0.176471,0.290196> , ALL_SIDES);
llSetLinkColor(9, <0.290196,0.176471,0.290196> , ALL_SIDES);
llSetLinkColor(10, <0.290196,0.176471,0.290196> , ALL_SIDES);
}
else if(message == "Yamaha"

{
llSetLinkColor(1, <0,0,1> , ALL_SIDES);
llSetLinkColor(3, <0,0,1> , ALL_SIDES);
llSetLinkColor(4, <0,0,1> , ALL_SIDES);
llSetLinkColor(5, <0,0,1> , ALL_SIDES);
llSetLinkColor(6, <0,0,1> , ALL_SIDES);
llSetLinkColor(7, <0,0,1> , ALL_SIDES);
llSetLinkColor(8, <0,0,1> , ALL_SIDES);
llSetLinkColor(9, <0,0,1> , ALL_SIDES);
llSetLinkColor(10, <0,0,1> , ALL_SIDES);
}
else if(message == "Au"

{
llSetLinkColor(1, <0.796078,0.690196,0.337255> , ALL_SIDES);
llSetLinkColor(3, <0.796078,0.690196,0.337255> , ALL_SIDES);
llSetLinkColor(4, <0.796078,0.690196,0.337255> , ALL_SIDES);
llSetLinkColor(5, <0.796078,0.690196,0.337255> , ALL_SIDES);
llSetLinkColor(6, <0.796078,0.690196,0.337255> , ALL_SIDES);
llSetLinkColor(7, <0.796078,0.690196,0.337255> , ALL_SIDES);
llSetLinkColor(8, <0.796078,0.690196,0.337255> , ALL_SIDES);
llSetLinkColor(9, <0.796078,0.690196,0.337255> , ALL_SIDES);
llSetLinkColor(10, <0.796078,0.690196,0.337255> , ALL_SIDES);
}
else if(message == "GunMetal"

{
llSetLinkColor(1, <0.156863,0.156863,0.156863> , ALL_SIDES);
llSetLinkColor(3, <0.156863,0.156863,0.156863> , ALL_SIDES);
llSetLinkColor(4, <0.156863,0.156863,0.156863> , ALL_SIDES);
llSetLinkColor(5, <0.156863,0.156863,0.156863> , ALL_SIDES);
llSetLinkColor(6, <0.156863,0.156863,0.156863> , ALL_SIDES);
llSetLinkColor(7, <0.156863,0.156863,0.156863> , ALL_SIDES);
llSetLinkColor(8, <0.156863,0.156863,0.156863> , ALL_SIDES);
llSetLinkColor(9, <0.156863,0.156863,0.156863> , ALL_SIDES);
llSetLinkColor(10, <0.156863,0.156863,0.156863> , ALL_SIDES);
}
else if(message == "Ag"

{
llSetLinkColor(1, <0.256863,0.256863,0.256863> , ALL_SIDES);
llSetLinkColor(3, <0.256863,0.256863,0.256863> , ALL_SIDES);
llSetLinkColor(4, <0.256863,0.256863,0.256863> , ALL_SIDES);
llSetLinkColor(5, <0.256863,0.256863,0.256863> , ALL_SIDES);
llSetLinkColor(6, <0.256863,0.256863,0.256863> , ALL_SIDES);
llSetLinkColor(7, <0.256863,0.256863,0.256863> , ALL_SIDES);
llSetLinkColor(8, <0.256863,0.256863,0.256863> , ALL_SIDES);
llSetLinkColor(9, <0.256863,0.256863,0.256863> , ALL_SIDES);
llSetLinkColor(10, <0.256863,0.256863,0.256863> , ALL_SIDES);
}
else if(message == "Blanche"

{
llSetLinkColor(1, <1,1,1> , ALL_SIDES);
llSetLinkColor(3, <1,1,1> , ALL_SIDES);
llSetLinkColor(4, <1,1,1> , ALL_SIDES);
llSetLinkColor(5, <1,1,1> , ALL_SIDES);
llSetLinkColor(6, <1,1,1> , ALL_SIDES);
llSetLinkColor(7, <1,1,1> , ALL_SIDES);
llSetLinkColor(8, <1,1,1> , ALL_SIDES);
llSetLinkColor(9, <1,1,1> , ALL_SIDES);
llSetLinkColor(10, <1,1,1> , ALL_SIDES);
}
else if(message == "Spring"

{
llSetLinkColor(1, <0.239216,1,0.184314> , ALL_SIDES);
llSetLinkColor(3, <0.239216,1,0.184314> , ALL_SIDES);
llSetLinkColor(4, <0.239216,1,0.184314> , ALL_SIDES);
llSetLinkColor(5, <0.239216,1,0.184314> , ALL_SIDES);
llSetLinkColor(6, <0.239216,1,0.184314> , ALL_SIDES);
llSetLinkColor(7, <0.239216,1,0.184314> , ALL_SIDES);
llSetLinkColor(8, <0.239216,1,0.184314> , ALL_SIDES);
llSetLinkColor(9, <0.239216,1,0.184314> , ALL_SIDES);
llSetLinkColor(10, <0.239216,1,0.184314> , ALL_SIDES);
}
else if(message == "Night"

{
llSetLinkColor(1, <0,0,0> , ALL_SIDES);
llSetLinkColor(3, <0,0,0> , ALL_SIDES);
llSetLinkColor(4, <0,0,0> , ALL_SIDES);
llSetLinkColor(5, <0,0,0> , ALL_SIDES);
llSetLinkColor(6, <0,0,0> , ALL_SIDES);
llSetLinkColor(7, <0,0,0> , ALL_SIDES);
llSetLinkColor(8, <0,0,0> , ALL_SIDES);
llSetLinkColor(9, <0,0,0> , ALL_SIDES);
llSetLinkColor(10, <0,0,0> , ALL_SIDES);
}
else if(message == "Sun"

{
llSetLinkColor(1, <1,0.976471,0.035294> , ALL_SIDES);
llSetLinkColor(3, <1,0.976471,0.035294> , ALL_SIDES);
llSetLinkColor(4, <1,0.976471,0.035294> , ALL_SIDES);
llSetLinkColor(5, <1,0.976471,0.035294> , ALL_SIDES);
llSetLinkColor(6, <1,0.976471,0.035294> , ALL_SIDES);
llSetLinkColor(7, <1,0.976471,0.035294> , ALL_SIDES);
llSetLinkColor(8, <1,0.976471,0.035294> , ALL_SIDES);
llSetLinkColor(9, <1,0.976471,0.035294> , ALL_SIDES);
llSetLinkColor(10, <1,0.976471,0.035294> , ALL_SIDES);
}
else if(message == "Red"

{
llSetLinkColor(2, <1,0,0> , ALL_SIDES);
}
else if(message == "Pink"

{
llSetLinkColor(2, <0.592157,0.023529,0.337255> , ALL_SIDES);
}
else if(message == "NavyBlue"

{
llSetLinkColor(2, <0.145098,0.192157,0.313725> , ALL_SIDES);
}
else if(message == "Violet"

{
llSetLinkColor(2, <0.290196,0.176471,0.290196> , ALL_SIDES);
}
else if(message == "Blue"

{
llSetLinkColor(2, <0,0,1> , ALL_SIDES);
}
else if(message == "Gold"

{
llSetLinkColor(2, <0.796078,0.690196,0.337255> , ALL_SIDES);
}
else if(message == "Gray"

{
llSetLinkColor(2, <0.156863,0.156863,0.156863> , ALL_SIDES);
}
else if(message == "Silver"

{
llSetLinkColor(2, <0.256863,0.256863,0.256863> , ALL_SIDES);
}
else if(message == "White"

{
llSetLinkColor(2, <1,1,1> , ALL_SIDES);
}
else if(message == "Green"

{
llSetLinkColor(2, <0.239216,1,0.184314> , ALL_SIDES);
}
else if(message == "Black"

{
llSetLinkColor(2, <0,0,0> , ALL_SIDES);
}
else if(message == "Yellow"

{
llSetLinkColor(2, <1,0.976471,0.035294> , ALL_SIDES);
}
else
{
llInstantMessage(id,message + " is an unknown command."

;
}