📄 user.gml
字号:
#define F <:%1 eve=fired,%2,%3>
#define G <:%1 eve=go,%2,%3>
#define R <:%1 eve=runto,%2,%3>
<sys import=,$.\main.gml>
<style>
.user_play{
OnWgo={<: socket.send=#e,run,$[ep]>};
OnFire={<: socket.send=#e,fire,$[ep]>};
OnReset={<: neteventToS=remake>};
}
.user_look{
OnWgo=null;
OnFire=null;
}
.user_dead{
// paramCtrl=loopt(1,anisteps,0,6,1,170,CanRestart);
}
.UserAll{
fen=0;
kill=0;
score=0;
bekill=0;
health=125;
ifchged(fen)={<: pman.fen=$[fen];eve=Showdata>};
ifchged(kill)={<: eve=Showdata>};
ifchged(score)={<: eve=Showdata>};
ifchged(bekill)={<: eve=Showdata>};
OnShowdata={<: pdata.src=$[fen],$[kill],$[score],$[bekill]>};
OnHl={<: health=$[ep];pman.health=$[ep]>};
OnFen={<: fen=$[ep];pman.fen=$[ep]>};
OnTurn={<: pman.eve=turn>};
OnTurnend={<: pman.eve=turnend>};
OnCanBump={<: neteventToS=bump,$[mousepos]>};
OnReset={<: neteventToS=remake>};
OnStand={<: pman.eve=Stand,$[ep]>};
OnUser={<: u=$[ep0];fen=$[ep1];kill=$[ep2];score=$[ep3];bekill=$[ep4];
switch(u){case 0:break;
case 1:pman.eve=go,$[ep5];break;
case 2:pman.eve=turn;break;
case 3:pman.eve=death;break;
};u=null>};
OnPos={<: pman.pos=$[ep]>};
OnCreate#p={<: pid.pid.pid.phud.eve=in,$[side]>};
OnDestroy#m={<: pman.del=1;pid.pid.pid.phud.eve=out,$[side]>};
OnFired={<: pman.eve=fired,$[ep]>};
OnGo={<: pman.eve=go,$[ep]>};
OnRunTo={<: pman.eve=run,$[ep]>};
OnSide={<: neteventtos=side,$[ep]>};
OnSided={<: side=$[ep0];health=$[ep3];score=$[ep4];bekill=$[ep5];fen=0;kill=0;
pman.health=$[ep3];pman.fen=0;eve=pos,$[ep1],$[ep2];
switch(side){
case 0:class=user_look;pmode.src="旁观";pmode.color=#88EE88;break;
case 1:class=user_play;pmode.src="红方";pmode.color=#FF8888;break;
case 2:class=user_play;pmode.src="蓝方";pmode.color=#8888FF;break;
case 3:class=user_play;pmode.src="战斗";pmode.color=#FFFF88;break;
};
pman.eve=side,$[ep0];
>};
OnMode={<: pmode.src=$[ep]>};
OnData={<: pdata.src=$[ep]>};
onChat={<flychattxt pid=$[map];src=$[ep];chatfrom=$[pman];>};
}
.UserMe{
// OnPos#m={<: map.viewfollow=*pman>};
OnCreate#m={<UserManM man='我'><: socket.eve=HideInfo;map.pid.pseldlg.show=1>};
OnSided#m={<: switch(side){
case 0:map.eve=dead;break;
case 1:map.eve=life,$[pman];break;
case 2:map.eve=life,$[pman];break;
case 3:map.eve=life,$[pman];break;
};
>};
OnCanRestart={<: socket.eve=showinfo,("你死了!按鼠标键继续");map.eve=canreset>};
OnRestart={<: socket.eve=HideInfo;class=user_play;pman.eve=restart,$[ep];map.eve=life,$[pman]>};
OnDie={<: kill=$[ep];map.eve=dead;class=user_dead;pman.eve=die>};
}
.UserOther{
OnCreate#m={<UserManO man=$[ownername];pos=$[x],$[y]>};
OnRestart={<: class=user_play;pman.eve=restart,$[ep]>};
OnDie={<: kill=$[ep];class=user_dead;pman.eve=die>};
}
.RtsMapN{
bgo=1;
bf=1;
viewfollow=*man;
OnLButtonDown={<: eve=LbDown>};
OnLButtonUp={<: eve=LbUp>};
OnRButtonDown={<: eve=RbDown>};
OnRButtonUp={<: eve=RbUp>};
}
.RtsMapD1{
bgo=0;
bf=0;
viewfollow=mouse;
OnLButtonDown=null;
OnLButtonUp=null;
OnRButtonDown=null;
OnRButtonUp=null;
}
.RtsMapD2{
OnLButtonDown={<: eve=reset>}
OnRbuttonDown={<: eve=reset>};
}
.MyMap{
// pid.map=*id;
cache=1;
pathfinder=0;
movestep=10;
size=pid.width,pid.height;
OnSize={<: size=pid.width,pid.height>};
OnLbDown={<: if=(bf==1)?{<: pid.myid.eve=fire,$[mousepos]>}>};
// OnLbUp={<: if=(bf==1)?{<: pid.myid.eve=firend,$[mousepos]>}>};
OnRbDown={<: if=(bgo==1)?{<: pid.myid.eve=wgo,$[mousepos]>}>};
// OnRbUp={<: if=(bgo==1)?{<: pid.myid.eve=wgoend,$[mousepos]>}>};
OnLife={<: man=$[ep];class=RtsMapN>};
OnDead={<: class=RtsMapD1>};
OnCanReset={<: class=RtsMapD2>};
OnReset={<: pid.myid.eve=reset>};
// OnIJOIN=null;
class=RtsMapD1;
}
.MyUserBar{
}
.MyChatBar{
}
.MyChatEdit{
}
.MyFun{
OnCreate={<SMap>};
}
.game:text{
show=0;
}
.hud_text:text{
align=center,center;
color=#FFFFFF;
pos=100,pid.height/2;
}
.Hud_snow:div{
pid.phud=*id;
bkimg=dark;
size=pid.width,24;
OnSize={<: size=pid.width,24>};
OnCreate={<hud_text src=人数;xpos=100><hud_text src=0;pid.pnum=*id;xpos=120>};
num=0;
OnIn={<: num=(num+1);pnum.src=*num;>};
OnOut={<: num=(num-1);pnum.src=*num;>};
}
</style>
<Hud_snow></Hud_snow>
//<:mymap class=MyMap>
<: map.class=MyMap>
<sys import=,$.\selectside.gml>
<: onselectside={<: myid.eve=side,$[ep];pseldlg.show=0>}>
<sys sethotkey=Esc,{<: if=(pseldlg.show==1)?{pseldlg.show=0}:{pseldlg.show=1}>}>
//<: location[0]=(rand(1000))>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -