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

📄 defuser.gml

📁 在线游戏最新服务器端源代码
💻 GML
字号:
#define G <:%1 eve=go,%2,%3>
#define R <:%1 eve=runto,%2,%3>

#define usermodetypeGIF

#ifdef usermodetypeGIF
#define usermodedirection 4
#else
#define usermodedirection 12
#endif

<style>
.showtext:text{
	showstyle=3;
	color=white;
	pos=0,5;
	align=center;
	zorder=1;
	clip=0;
}
.UserMan:human{
	puser=*pid;
	pid.pman=*id;
	pid=*pid.pid.pid.pid.map;
	anishow=1;
	autozorder=1;
	modeid=1;mansex=1;manpath=man;
	OnCreate={<: modeid=*puser.img;mansex=*puser.img2;
		if=(modeid>=1000)?{modeid=(modeid-1000);manpath=wman;};
		eve=modechg;
		>
		<showtext pid=$[id];pos=6,-55;src=$[man]>
		<showtext pid.pmode=*id;pos=20,-35;src="";align=left;>
	};
	OnGo={<: walk=gotopos($[ep],100,12,20)>};
	OnRun={<: walk=gotopos($[ep],200,20,20);>};
	OnMode={<: mode=$[ep];switch(mode){
		case -1:pmode.src="";break;
		case 0:pmode.src="旁观";break;
		default:pmode.src=第$[ep]台;break;
	}>};
	Onmodechg={<: 
#ifdef usermodetypeGIF
		dx=(($[modeid]%16)*64);
		dy=(($[modeid]/16)*128);
		eve=chgmodenow;
#else
		mutisrc=walk('$.\..\imgs\manmode\$[manpath]\man$[modeid].ale',#(usermodedirection));
#endif
		>
	};
	Onchgmodenow={<: 
		framemap=1,0,3,2,4,5;
		mutisrc=walk('$.\..\imgs\manmode\$[manpath]\man.gif#mask,2,4,32,32,$[dx],$[dy],16,32',#(usermodedirection));
	>};
}
.UserManM:UserMan{
	pid.viewfollow=*id;
	bkimg=shadow(#AAEEAA,250,0,0,3,2);
	OnGo#m={<: pid.viewfollow=*id>};
	OnRun#m={<: pid.viewfollow=*id>};
	OnWalkend#s={<: puser.eve=posed,$[pos];>};
	Onchgmode={<: modeid=$[ep0];eve=modechg;neteventtos=chgmode,$[ep0];>};
	Ontestmode={<: modeid=$[ep0];eve=modechg;>};
}
.user_n{
	ifchged(mode)={<: pman.eve=mode,-1;switch(mode){
		case 0:pmode.src="闲逛";break;
		default:pmode.src="?";break;
	}>};
}
.userm_n{
	gid=null;
//	pman.pmode.src="";
//	OnCreate#c={<: pman.OnWalkend={<:$[id] class=user_g><:desktop eve=切换场景,台球,$[ep],$.\9\main.gml>};>};
	OnWgo={<: pid.pid.pid.mysocket.send=#e,wto,$[ep];eve=go,$[ep]>};
	OnWrun={<: pid.pid.pid.mysocket.send=#e,wrunto,$[ep];eve=runto,$[ep]>};
	OnGo={<: pman.eve=go,$[ep]>};
	OnRunTo={<: pman.eve=run,$[ep]>};
//	OnMode#s={<: pman.eve=mode,$[ep]>};
	ifchged(mode)={<: pman.eve=mode,-1;switch(mode){
		case 0:pmode.src="闲逛";break;
		default:pmode.src="?";break;
	}>};
//	OnData={<: data=$[ep]>};
}
.user_g{
	ifchged(mode)={<: pman.eve=mode,$[mode];switch(mode){
		case -1:pmode.src=$[gt]/$[gn]/看;pman.pmode.src=旁观;break;
		default:pmode.src=$[gt]/$[gn]/$[mode]台;pman.pmode.src=$[mode]号台;break;
	}>};
}
.userm_g{
	OnWgo={<: wpos=$[ep];&msg.eve=show,1,$[id],outg,现在您正在游戏中,如果走开就会自动离开游戏>};
	OnWrun={<: wpos=$[ep];&msg.eve=show,1,$[id],outr,现在您正在游戏中,如果跑开就会自动离开游戏>};
	OnGo=null;
	OnRunTo=null;
	OnOutG={<: eve=out;pman.eve=go,$[wpos]>};
	OnOutR={<: eve=out;pman.eve=run,$[wpos]>};
	OnOut={<: eve=CloseG;pman.pmode.src="";class=userm_n;gid.eve=GoLeave,$[pno];pno=null>};
	ifchged(mode)={<: pman.eve=mode,$[mode];switch(mode){
		case -1:pmode.src=$[gt]/$[gn]/看;pman.pmode.src=旁观;break;
		default:pmode.src=$[gt]/$[gn]/$[mode]台;pman.pmode.src=$[mode]号台;break;
	}>};
//	OnMode#s={<: gid.eve=mode,$[ep]>};
//	OnData={<: data=$[ep];gid.eve=data,$[ep]>};
	Onclosewnd={<: class=userm_n>};
	OnCloseG=closeGmlWnd(id);
	OnDestroy#p={<: gid.eve=GoLeave,$[pno]>};
}
.UserAll{
	gt=16;
	gn=0;
	OnPos={<: pman.pos=$[ep]>};
	OnPosed={<: pid.pid.pid.mysocket.send=#e,pos,$[ep];>};
	OnDestroy#m={<: pman.del=1>};
	OnGo={<: pman.eve=go,$[ep]>};
	OnRunTo={<: pman.eve=run,$[ep]>};
	OnCreate={<: pname=new User_t{src=$[ownername]};
		pmode=new User_t{src=$[mode]};
		pdata=new User_t{src=$[data]};
		eve=mode,$[mode];
	>};
	OnData={<: data=$[ep0];eve=up>};
	OnUp={<: pdata.src=*data>};
//	onChat={<flychattxt pid=$[pman.pid];src=$[ep];chatfrom=$[pman];>};
	On进屋={<: pno=$[ep2];eve=go,$[ep0],$[ep1]>};
	On已满={<: !已满了>};
}
.UserMe{
//	OnPos#m={<: pid.viewfollow=*pman>};
	OnCreate#m={<UserManM man='我'><: eve=sendpos,(pid.pid.pid.selfcreatex,pid.pid.pid.selfcreatey)>};
	ifchged(gn)={<: &desktop.isgameing=$[gn];if=(gn==0)?{class=userm_n}:{class=userm_g};>};
	sel=0;
	OnSel={<: switch(ep){case $[sel]:eve=in,$[sel];break;default:sel=$[ep]}>};
	OnIn={<: pman.OnWalkend={<: OnWalkend=null><:$[id] gid=$[ep];class=user_g;gid.eve=ingame,$[pmode],$[pinfo],$[pman];>}>};
	OnNoin={<: pman.OnWalkend=null>}:
	class=userm_n;
}
.UserOther{
	OnCreate#m={<UserMan man=$[ownername];pos=$[x],$[y]>};
	ifchged(gn)={<: if=(gn==0)?{class=user_n}:{class=user_g};>};
	class=user_n;
}
.flychattxt:text{
	//pid=*&desktop.地图;
	zorder=top;
	anishow=true;align=center,bottom;
	paramCtrl#T=Timer(3000+rand(1000),fly);
	color=0;FF=0;showstyle=4;
	broad=20,8;bcolor=R254G250B200;
	paramCtrl=loopt(1,alpha,5,255,10,0);
	OnPathend={<: del=1>};
	sel=0;
	Onfly={<: Path=goto(-10,-100,1);paramCtrl=loopt(1,alpha,255,0,2,0);>};
	OnCreate={<: pos=(chatfrom.xpos),(chatfrom.ypos-chatfrom.height);>};
	OnLButtonDown={<: Path=null;paramCtrl#T=null;paramCtrl=null;alpha=255;follow=mouse();oldx=$[xpos];oldy=$[ypos];>};
	OnLButtonUp={<: follow=null;if=($[oldx]!=$[xpos]&&$[oldy]!=$[ypos])?{sel=1;name=nodelme;}:{sel=0;eve=fly;}>};
}
.ef_go:img{
	pid=*pid.pid;
	src=$.\..\imgs\misc\light.ale;
	zorder=top;
	anishow=1;
	pos=*pid.mousepos;
	paramctrl=loopt(1,frame,0,framemax-1,1,20,del);
}
.MyMap{
//	pid.map=*id;
	pathfinder=1;
	viewfollow=mouse;
	movestep=11;
	size=pid.width,pid.height;
	OnSize={<: size=pid.width,pid.height;>};
	paramCtrl#t=loop();
	OnGo={<: pid.myid.eve=wgo,$[ep]><ef_go>};
	OnRun={<: pid.myid.eve=wrun,$[ep]><ef_go>};
//	OnLButtonDown={<: pid.myid.eve=noin>};
	OnLButtonDown={<: eve=go,$[mousepos];pid.myid.eve=noin>};
	OnLButtonDblClk={<: eve=run,$[mousepos]>};
	OnRButtonDown={<: eve=go,$[mousepos];pid.myid.eve=noin>};
}
.MyUserBar{
}
.MyChatBar{
}
.MyChatEdit{
}
.MyFun{
	OnCreate={<SMap>};
}
</style>

<: map.class=MyMap>

⌨️ 快捷键说明

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