⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 toolbar.gml

📁 在线游戏最新服务器端源代码
💻 GML
字号:
#define TASKH 24
<sys import=,$.\smallmap.gml>

<style>
.SMap:SmallMap{
	mapid=*pid.pid.map;
	pos=4,12;
	size=pid.width-8,pid.height-17;
	OnSize={<: size=pid.width-8,pid.height-17;>}
	alpha=210;
	viewrectcolor=#66FF66;
	OnLButtonDown={<: OnUpdate={<: viewpos=*mousepos>}:1>};
	OnLButtonUp={<: OnUpdate=null>};
}
.FunBar:div{
	pid.pfunbar=*id;
	bk=dlgbk($.\..\imgs\misc\basebk.gif#autofind,180);
	size=150,120;
	pos=0,pid.height-height-#(TASKH);
	OnSize={<: size=150,125;pos=0,pid.height-height-#(TASKH);enumsub={<: eve=size>}>};
	OnLButtonDown={};
	OnLButtonUp={};
	OnRButtonDown={};
	OnRButtonUp={};
	class=MyFun;
	eve=size;path=stepin(-200,0,8);
}
</style>

#ifdef FUNBAR
<FunBar>
</FunBar>
#endif

//--chat
<style>
.ChatTxt:text{
	autopos=1;
//	showstyle=3;
//	bk=shadow(0,120,1,1,2);
	font=宋体,14;
//	pid=*pid.pid.chatlist;
}
.ChatMan:ChatTxt{
	Color=#FFAAAA;
}
.ChatSub:ChatTxt{
	color=#DDDD99;
}
.ChatItem:div{
	pid=*pid.pid.chatlist;
	pos=0,-200;
	autopos=1;
	autosubpos=low(0,0,5,0);
	size=pid.width,15;
	type=item;
//	showstyle=3;
	color=white;
	txtColor=white;
//	OnCreate={<: pid.eve=msgshow>};
	OnSize={<: width=pid.width>};
//	Ondelme={<: if=($[pid.subC]>$[pid.minline])?{<: del=1><:$[pid] subC=$[pid.subC]-1>}>}
}
.LightP:div{
	size=40,40;clip=0;
	rdsize=2;
	Onpathend={<: path=moveto(0,-$[h],20);Onpathend={<: del=1>}>};
	draw={wv();
		ellipse(0,0,rdsize,2,#efefef,0);
		ellipse(0,0,2,rdsize,#efefef,0);
	}
	ctrl#s=loop(rdsize,10,1,2,5);
}
.VLine:div{
	bk="$.\imgs\face\line_v.gif#3,3";
	OnShow={<: size=3,ep;path=stepto(0,ep,3);Onpathend={<:$[pid] eve=show>}>};
}
.ChatList:list{
	pid.pid.chatlist=*id;
	pos=4,15;
	size=pid.width-9,pid.height-18-24;
	OnSize={<: size=pid.width-9,pid.height-18-24;enumsub={<: eve=size>}>};
	zorder=top;
	bk=null;
	clip=0;
	rightscroll=1;
	autosubpos=vert(4,4,0,true,115);
	OnCreate={<: pid.plist=*id>};
	Onmsgshow={<:$[id] if=(show==0)?{<:$[pid] eve=show,$[height]>}>
		<:$[id] show=1;voffset=0,-8000;ctrl=loopcmd(1,3000,1,{<: eve=Hide>})>};
	OnShow={<: show=1;voffset=0,-8000;ctrl=loopcmd(1,3000,1,{<: eve=Hide>})><:$[pid] eve=show,$[height]>};
	OnHide={<: ctrl=null><:$[pid] eve=hide,$[height]>};
//	OnUpdate={<: if=(IfMouseOVer)?{eve=msgshow}>}:20;
	OnChat={<ChatItem man=$[ep0];txt=$[ep1]></ChatItem><: eve=msgshow>};
	OnClick={<: pid.eve=ext>};
//	class=MyChatList;
}
.ChatEdit:wedit{
	font=宋体,14;
	textcolor=white;
	bkcolor=R12G86B128;
	size=pid.width-115,15;
	pos=68,pid.height-height-4;
	OnSize={<: pos=68,pid.height-height-4;size=pid.width-115,15>};
	maxnum=80;
	OnEnter={<: pid.pid.mysocket.sendchat='$[src]';src=""><sys playsnd=$.\..\sound\pagedown.gsm>};
	class=MyChatEdit;
}
.ChatTurn:img{
	pid.pturn=*id
	size=12,8;
	zorder=top;
//	drawcmd={bar(0,0,width,height,#FF0033);};
	alphacmd={fcircle(width/2,height/2,width/2,#AAFFAA);};
	addframe=1;
	alpha=1;
	alphacmd=null;
	OnMouseOver={<: bk=shadow(#AAFFAA,220,0,0,3,1);>};
	OnMouseOut={<: bk=null>};
	pos=pid.width-16,pid.height-12;
	OnSize={<: pos=pid.width-16,pid.height-12;>};
//	OnTurn={<: if=(pid.ext>0)?{src="V"}:{src="A"};>};
	OnClick={<: pid.eve=ext>};
}
.ChatBar:div{
	pid.pchatbar=*id;
	bk=dlgbk($.\..\imgs\misc\chartbk.gif#autofind,180);
//	bk#2=shadow(0,150,4,2,4);
	pos=150,pid.height-120-#(TASKH);
	size=pid.width-xpos-150,120;
	ext=0;
	exth=(height*2);
	OnSize={<: size=pid.width-xpos-200,ext+120;pos=150,pid.height-height-#(TASKH);enumsub={<: eve=size>}>};
	OnExt={<: if=(ext>0)?{ext=0;bk=dlgbk($.\..\imgs\misc\chartbk.gif#autofind,180)}:{
		ext=*exth;bk=dlgbk($.\..\imgs\misc\chartbk.gif#autofind,160)};
		pturn.eve=turn;eve=size>};
//	OnCreate={<: pid.mysocket.OnChatsys={<ChatTxt srcex='系统:$[chatmsgex]';color=R250G130B100>};
//		pid.mysocket.OnChatself={<ChatTxt srcex='我:$[chatmsgex]';color=R250G230B150>};
//		pid.mysocket.OnChatother={<ChatTxt srcex='$[chatfrom]:$[chatmsgex]';color=R150G230B250>};
//	>};
	OnLButtonDown={};
	OnLButtonUp={};
	OnRButtonDown={};
	OnRButtonUp={};
	class=MyChatBar;
	eve=size;path=stepin(0,200,8);
}
</style>
#ifdef CHATBAR
<ChatBar>
	<ChatList></ChatList>
	<ChatEdit>
	<ChatTurn>
</ChatBar>
#endif

//--user
#define MS <User_Me name=%1;ownername=%2;src=%2;x=%3;y=%4;img=%5;img2=%6;mode=%7;data=%8;></User_Me>
#define MO <User_Other name=%1;ownername=%2;src=%2;x=%3;y=%4;img=%5;img2=%6;mode=%7;data=%8></User_Other>
#define M <man name=%1;index=%2;user=%3>
#define GG <game name=%1>
<style>
.User_t:text{
//	anti=1;
//	font=system,8,12,600;
	color=#FFFF66;
//	autopos=1;
	ypos=0;
}
.UserItem:div{
	topid=*pid;
	map=*pid.map;
	socket=*pid.mysocket;
	pid=*pid.userlist;
	size=pid.width,14;
	bk=null;
	autopos=1;
	mid="man";
	mode="正常";
	data="信息";
	modepos=80;
	datapos=120;
	OnCreate={<User_t pid.pname=*id;src=$[ownername]>
		<User_t pid.pmode=*id;src=$[mode];xpos=$[modepos]>
		<User_t pid.pdata=*id;src=$[data];xpos=$[datapos]>
		<: eve=mode,$[mode]>};
//		#(CHAT,系统,#FFBBBB,$[ownername]来到了这里,欢迎您!,#FFEEEE)};
//	OnDestroy#c={#(CHAT,系统,#FFBBBB,$[ownername]走了!,#FFEEEE)};
	OnSize={<: size=pid.width,14>};
	OnClick={};
	OnMode={<: mode=$[ep]>};
	OnData={<: data=$[ep]>};
	ifchged(mode)={<: pmode.src=$[ep]>};
	ifchged(data)={<: pdata.src=$[ep]>};
	OnSendpos={<: pid.pid.pid.mysocket.send=#e,chgpos,$[ep]>};
	class=UserAll;
}
.User_Me:UserItem{
	OnCreate#s={<: pid.pid.pid.myid=*id;pid.pid.pid.myname=*ownername;
		pname.src=我($[ownername]);pname.bk=shadow(#CCFFCC,250,0,0,1,2)>};
	class=UserMe;
}
.User_Other:UserItem{
	class=UserOther;
}
.UserList:list{
	zorder=top;
	pid.pid.userlist=*id;
	pos=5,16;
	size=pid.width-10,pid.height-16;
	rightscroll=1;
	bk=null;
	autosubpos=vert(0,0,2,true);
	OnSize={<: pos=5,16;size=pid.width-10,pid.height-ypos;enumsub={<: eve=size>}>};
	OnCreate={<: pid.plist=*id>};
	OnClick={<: pid.eve=ext>};
}
.UserTurn:img{
	zorder=top;
	pid.pturn=*id
	size=12,8;
//	drawcmd={bar(0,0,width,height,#FF0033);};
	alphacmd={fcircle(width/2,height/2,width/2,#AAFFAA);};
	addframe=1;
	alpha=1;
	alphacmd=null;
	OnMouseOver={<: bk=shadow(#AAFFAA,220,0,0,3,1);>};
	OnMouseOut={<: bk=null>};
	pos=pid.width-width-4,2;
	OnSize={<: pos=pid.width-width-4,2;>};
//	OnTurn={<: if=(pid.ext>0)?{src="V"}:{src="A"};>};
	OnClick={<: pid.eve=ext>};
}
.UserBar:div{
	pid.puserbar=*id;
	bk=dlgbk($.\..\imgs\misc\manlistbk.gif#autofind,180);
	size=200,136;
	pos=pid.width-width,pid.height-height-#(TASKH);
	ext=0;
	exth=(height*2);
	OnSize={<: size=width,ext+136;pos=pid.width-width,pid.height-height-#(TASKH);enumsub={<: eve=size>}>};
	OnExt={<: if=(ext>0)?{ext=0;bk=dlgbk($.\..\imgs\misc\manlistbk.gif#autofind,180)}:{
		ext=*exth;bk=dlgbk($.\..\imgs\misc\manlistbk.gif#autofind,160)};
		pturn.eve=turn;eve=size>};
	OnShow={<: bs=$[ep];show=$[ep]>};
	OnLButtonDown={};
	OnLButtonUp={};
	OnRButtonDown={};
	OnRButtonUp={};
	class=MyUserBar;
	eve=size;path=stepin(200,0,8);
}
</style>
#ifdef USERBAR
<UserBar>
	<UserTurn>
	<UserList></UserList>
</UserBar>
#endif

//--msg
#ifndef MSG
#define MSG
<style>
.msg_txt:text{
	candel=1;
	zorder=top;
	align=center,center;
	color=#BFFFFF;
	font=隶书,18;
	anti=true;
}
.msg_btn:msg_txt{
	color=#662222;
	bk=round(#003333,4,1,-2);
	OnMouseOver={<: color=#FF2222;bk=round(#883333,6,1,-3);>};
	OnMouseOut={<: color=#662222;bk=round(#003333,4,1,-2);>};
	OnClick={<: pid.show=0;ef.eve=$[ev]>};
}
.msg_title:text{
	 font=黑体,12,22;
	 color=#BFFFFF;
	 align=center,center;
	 anti=1;
	 filltext={Glint(0,0,0,30,#BFFFFF,#006633)};
	 bk=shadow(0,80,1,1,1);
	 draw={wv();line(-xpos+20,24,pid.width-xpos-20,24,#006666);line(-xpos+20,25,pid.width-xpos-20,25,0)};
}
.msgdlg:div{
	pid=desktop;
	zorder=top;
	class=dragclass;
//	path=stepin(-800,0,2);
	bk=round4_3(#009999,16,#205353);bk#line1=round(#002323,16,1,2,2);
	size=320,240;
	pos=(&desktop.width-width)/2,(&desktop.height-height)/2;
	OnSize={<: pos=(&desktop.width-width)/2,(&desktop.height-height)/2>};
	OnShow={<: show=1;eve=show$[ep0],$[ep]>};
	OnShow0={<msg_title src="提示";pos=pid.width/2,21>
			<msg_btn src="关闭";pos=pid.width/2,pid.height-21;ef=$[id];ev="colse">
			<msg_txt src=$[ep1];pos=pid.width/2,66>
	};
	OnShow1={<msg_title src="确认";pos=pid.width/2,21>
			<msg_btn src="确定";pos=pid.width/2-60,pid.height-21;ef=$[ep1];ev=$[ep2]>
			<msg_btn src="取消";pos=pid.width/2+60,pid.height-21;ef=$[id];ev="colse">
			<msg_txt src=$[ep3];pos=pid.width/2,66>
			<msg_txt src=$[ep4];pos=pid.width/2,86>
	};
	Oncolse={<: show=0;enumsub(candel==1)={<: del=1>};>};
}
</style>

<msgdlg name=msg;show=0></msgdlg>
#endif

#ifdef TASKBAR
<sys import=,$.\taskbar.gml>
#endif

//--socket
#ifndef PORT
#define PORT 10200
#endif
#ifndef NETDEBUG
#define NETDEBUG 1
#endif
#ifndef CHAT
#define CHAT <ChatItem><ChatTxt color=%1;srcex=%2><ChatTxt color=%3;srcex=%4></ChatItem>
#endif
<sys import=,$.\socketc.gml>
<style>
.mysocket:commsocket{
	OnCreate#n={<: pid.mysocket=*id>};
	Onconnected#sys={<: def=*regstr(loginname,$[(rand(1000))]);def[1]=*regstr($[pid.gname],$[pid.gname]);
		login=*def;
	>};
	OnChatsys={#(CHAT,#FFBBBB,系统,#FFEEEE,$[chatmsgex])};
	OnChatself={#(CHAT,#BBFFBB,我,#EEFFEE,$[chatmsgex])};
	OnChatother={#(CHAT,#EEEEBB,$[chatfrom],#EEEEDD,$[chatmsgex])};
}
</style>
#ifdef MYSOCKET
<mysocket>
#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -