ok, you grumpy people. I fixed the problem. I was having sever scripters block (possibly resulting from brain damage. LOL) I realized I was going about the script all wrong. here is the fixed script

... if anyone even cares...
NPC Code:
//based off of NPC made by bryan986
//NPC changed into current NPC by Ace Venom
//toweapons & settimeout
if (playerenters) {
toweapons Gembox;timeout=.05;}
//if fired:
if(weaponfired){
say2 You have these gems:#b
#s(gem1)#s(gem2)#s(gem3)#s(gem4)#b
#s(gem5)#s(gem6)#s(gem7)#s(gem8);
}
//if timeout:
if(timeout){
if(gotgem1){setstring gem1,#i(gem3.gif);}
if(!gotgem1){setstring gem1,#i(no-shield.gif);}
;
if(gotgem2){setstring gem2,#i(gem3bl.gif);}
if(!gotgem2){setstring gem2,#i(no-shield.gif);}
;
if(gotgem3){setstring gem3,#i(gem3blak.gif);}
if(!gotgem3){setstring gem3,#i(no-shield.gif);}
;
if(gotgem4){setstring gem4,#i(gem3gold.gif);}
if(!gotgem4){setstring gem4,#i(no-shield.gif);}
;
if(gotgem5){setstring gem5,#i(gem3pink.gif);}
if(!gotgem5){setstring gem5,#i(no-shield.gif);}
;
if(gotgem6){setstring gem6,#i(gem3purp.gif);}
if(!gotgem6){setstring gem6,#i(no-shield.gif);}
;
if(gotgem7){setstring gem7,#i(gem3red.gif);}
if(!gotgem7){setstring gem7,#i(no-shield.gif);}
;
if(gotgem8){setstring gem8,#i(gem3yel.gif);}
if(!gotgem8){setstring gem8,#i(no-shield.gif);}
;
timeout=.05;}
and if you want the whole thing... umm... I guess I'll attach it...
ps. I realize it's a long script. but I am currently trying to devise a shorter version of it. this is just what would be considered a rough draft. for all you picky evil people out there... you know who you are.