The only thing I can think of is using E2, if you join a server that has e2 then you can use my code...
Code:
@name Gnome's Shitty E2
@ persist State Type:string Hint Reset
interval(50)
if (owner():lastSaid() == "!goldgun") {State=1 hideChat(1)}
if (owner():lastSaid() == "!normgun") {State=2 hideChat(1)}
if (owner():lastSaid() == "!redgun") {State=3 hideChat(1)}
if (owner():lastSaid() == "!bluegun") {State=4 hideChat(1)}
if (owner():lastSaid() == "!greengun") {State=5 hideChat(1)}
if (owner():lastSaid() == "!pinkgun") {State=6 hideChat(1)}
if (owner():lastSaid() == "!flashygun") {State=7 hideChat(1)}
if (owner():lastSaid() == "!electricgun") {State=9 hideChat(1)}
if (owner():lastSaid() == "!spacegun") {State=10 hideChat(1)}
if (owner():lastSaid() == "!blackgun") {State=11 hideChat(1)}
if (owner():lastSaid() == "!whitegun") {State=12 hideChat(1)}
if (owner():lastSaid() == "!normply") {State=13 hideChat(1)}
if (owner():lastSaid() == "!hideply") {State=14 hideChat(1)}
if (owner():lastSaid() == "!flashyply") {State=15 hideChat(1)}
if (owner():lastSaid() == "!shinyply") {State=17 hideChat(1)}
if (owner():lastSaid() == "!electricply") {State=18 hideChat(1)}
if (owner():lastSaid() == "!invply") {State=19 hideChat(1)}
if (owner():lastSaid() == "!invwep") {State=20 hideChat(1)}
if (State == 1) {
owner():weapon():setColor(vec(241,184,58))
owner():weapon():setMaterial("models/shiny")
}
if(State == 2) {
owner():weapon():setColor(vec(255,255,255))
owner():weapon():setMaterial("normalplz")
Type = "Guns colour restored!"
}
if (State == 3) {
owner():weapon():setColor(vec(255,0,0))
owner():weapon():setMaterial("models/shiny")
Type = "Your Gun is Red!"
}
if (State == 4) {
owner():weapon():setColor(vec(0,0,255))
owner():weapon():setMaterial("models/shiny")
Type = "Your Gun is Blue!"
}
if (State == 5) {
owner():weapon():setColor(vec(0,255,0))
owner():weapon():setMaterial("models/shiny")
Type = "Your Gun is Green!"
}
if (State == 6) {
owner():weapon():setColor(vec(255,0,255))
owner():weapon():setMaterial("models/shiny")
Type = "Your Gun is Pink!"
}
if (State == 7) {
owner():weapon():setMaterial("models/debug/debugwhite")
State = 8
Type = "Your gun is Flashy!"
}
if (State == 8) {
owner():weapon():setColor(random(255),random(255),random(255))
}
if (State == 9) {
owner():weapon():setMaterial("models/alyx/emptool_glow")
owner():weapon():setColor(255,255,255)
owner():weapon():setAlpha(255)
Type = "You are Electric"
}
if (State == 10) {
owner():weapon():setMaterial("models/player/player_chrome1")
Typer = "SPACE CADET! PEW PEW"
}
if (State == 11) {
owner():weapon():setColor(vec(0,0,0))
owner():weapon():setMaterial("normalplz")
Type = "Your Gun is Black!"
}
if (State == 12) {
owner():weapon():setColor(vec(255,255,255))
owner():weapon():setMaterial("models/debug/debugwhite")
Type = "Your Gun is White!"
}
if (State == 13) {
owner():setMaterial("normalplz")
#owner():setColor(255,255,255)
owner():setAlpha(255)
Type = "You are Normal"
}
if (State == 14) {
owner():setMaterial("Models/effects/vol_light001")
Type = "You are Hidden"
}
if (State == 15) {
owner():setMaterial("models/debug/debugwhite")
State = 16
Type = "You are Flashy"
}
if (State == 16) {
owner():setColor(random(255),random(255),random(255))
}
if (State == 17) {
owner():setMaterial("debug/env_cubemap_model")
owner():setColor(1,1,1)
Type = "You are Shiny"
}
if (State == 18) {
owner():setMaterial("models/alyx/emptool_glow")
owner():setColor(255,255,255)
State = 0
Type = "You are Electric"
}
if (State == 19) {
owner():setMaterial("models/effects/vol_light001")
owner():setAlpha(0)
#owner():setColor(255,255,255,0)
Type = "You are Invis"
}
if (Hint == 1) {hint(Type,5)
Hint = -1
}
if (Reset == 1) {
Hint = 0
Reset = 0
}
if (State == 20) {
owner():weapon():setMaterial("models/effects/vol_light001")
owner():weapon():setAlpha(0)
#owner():setColor(255,255,255,0)
Type = "You are Invis"
}
type !invply and !invwep to make yourself fully invisable

Remove the space between @ and persist