@name dg_player_list_v2 @inputs E:wirelink @persist Black:vector White:vector NowCount:number LS:string #------------------------------# # DGROUSE - 4/11/13 # #------------------------------# interval( 1000 ) Num = 0 if( first() ){ Black = vec(0,0,0) White = vec(255,255,255) # Chat Command function number cm( Str:string ){ if(LS:left(Str:length())==Str ){ hideChat(1) return 1 }else{ return 0 } } function col(X:number,Col:vector){ E:egpColor(X,Col) } function esize(X:number,Sz){ E:egpSize(X,Sz) } function box(Pos:vector2,Sz:vector2,Col:vector){ Num++ col(Num,Col) E:egpBox(Num,Pos,Sz) } function r2r(Pos:vector2,Spc:number,SI:vector2,Xc:vector,Yc:vector){ Num++ col(Num,Xc) E:egpRoundedBox(Num,Pos,SI) Num = Num+1 col(Num,Yc) E:egpRoundedBox(Num,Pos,SI-vec2(Spc,Spc)) } function txt(Pos:vector2,Tx:string,Col:vector,Sz:number){ Num++ col(Num,Col) esize(Num,Sz) E:egpText(Num,Tx,Pos) } } runOnChat(1) if( chatClk(owner()) ){ LS=owner():lastSaid() if( cm( "!h" ) ){ entity():setPos( entity():pos()+vec(0,0,-5) ) } } if(ops()<100){ if(players():count()!=NowCount){ NowCount=players():count() E:egpClear() } LongHost = 0 r2r(vec2(256,256),10,vec2(490,460),Black,vec(110,170,255)) r2r(vec2(256,256),10,vec2(470,440),Black,vec(235,235,235)) r2r(vec2(200,30),10,vec2(300,50),vec(60,60,60),White) r2r(vec2(170,475),10,vec2(280,40),vec(60,60,60),White) r2r(vec2(410,475),10,vec2(150,40),vec(60,60,60),White) txt(vec2(70,17),"Dgrouse's Player List V2",Black,25) txt(vec2(50,55),"-- Welcome to --",Black,15) if(hostname():length()>25){LongHost=(hostname():length()-25)/4 } txt(vec2(35,70+LongHost),hostname(),Black,25-LongHost) box(vec2(255,100),vec2(450,5),Black) box(vec2(255,125),vec2(450,5),Black) txt(vec2(62,100),"Name",Black,22) txt(vec2(288,100),"Time",Black,22) txt(vec2(430,100),"Ping",Black,22) box(vec2(255,450),vec2(450,5),Black) txt(vec2(50,463),map(),Black,22) box(vec2(255,130),vec2(450,2),vec(50,50,50)) PlyX = " Players" if (players():count() == 1){ PlyX = " Player" } txt(vec2(350,463),players():count()+PlyX,Black,22) for(I=1,players():count()){ if(I>15){break} TooLong = 0 Cent = 0 if(I%2==1){Colz=vec(210,210,210)}else{Colz=White} box(vec2(255,120+I*20),vec2(450,12),Colz) box(vec2(255,130+I*20),vec2(450,2),vec(50,50,50)) local Col = vec(0,0,0) local Ply = players()[I,entity] if (Ply:isAdmin()){ Col = vec(0,100,0) } if (Ply:isSuperAdmin()){ Col = vec(100,0,0) } if (Ply:name():length()>20){TooLong = (Ply:name():length()-20)/2 Cent = TooLong/1.2} txt(vec2(70,110+Cent+I*20),Ply:name(),Col,17-TooLong) txt(vec2(30,110+Cent+I*20),"["+I+"]",Col,17) local TC = Ply:timeConnected() local TCh = floor(TC/60^2) local TCm = floor(TC/60-TCh*60) local TCs = floor(TC-TCm*60-TCh*60^2) local T1 = TCh+"h " local T2 = TCm+"m " if (TCh == 0) { T1="" if(TCm == 0){T2=""} } txt(vec2(290,110+I*20),T1+T2+TCs+"s",Black,17) txt(vec2(433,110+I*20),toString(Ply:ping()),Black,17) } }