📄 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>
<sys sethotkey=1,{<: myid.eve=gun,0>}>
<sys sethotkey=2,{<: myid.eve=gun,1>}>
<sys sethotkey=3,{<: myid.eve=gun,2>}>
<sys sethotkey=4,{<: myid.eve=gun,3>}>
<sys sethotkey=5,{<: myid.eve=gun,4>}>
<sys sethotkey=6,{<: myid.eve=gun,5>}>
<sys sethotkey=7,{<: myid.eve=gun,6>}>
<sys sethotkey=8,{<: myid.eve=gun,7>}>
<sys sethotkey=9,{<: myid.eve=gun,8>}>
<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;
weapons="melee,machinegun,shotgun,grenade,rocket,lightning,railgun,plusma,bfg";
ammos="0,100,10,0,0,0,0,0,0";
curw=2;armour=0;
weapon=*weapons[curw];
ammo=*ammos[curw];
ammob=1;
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];eve=Showdata>};
OnReset={<: neteventToS=remake>};
OnStand={<: pman.pos=$[ep]>};
OnAmmo={<: am_k=*ep[0];am_c=*ep[1];ammos[am_k]=*am_c;if=(curw==am_k)?{ammo=*am_c;if=(ammo>0)?{ammob=1}:{ammob=0;pman.ammob=0}}>};
OnWeapon={<: if=(curw!=ep)?{curw=*ep}>};
ifchged(curw)={<: weapon=*weapons[curw];ammo=*ammos[curw];pman.eve=Weapon,(weapon)>};
OnNoammo={<: ammos[curw]=0;ammo=0;ammob=0;pman.eve=noammo,$[ep]>};
curw=2;
armor=0;
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]>};
OnDestroy#m={<: pman.del=1>};
OnFired={<: ammo=*ep[2];ammos[curw]=*ammo;pman.eve=fired,$[ep]>};
Onfireout={<: ammo=(ammo-1);ammos[curw]=*ammo>};
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>};
OnGun={<: if=(curw!=ep)?{neteventtos=weapon,$[ep]}>};
OnNoammo#s={<: playsnd=$.\sound\weapons\noammo.gsm;socket.eve=Info,"没弹药啦!",2000>};
ifchged(health)={<: topid.phud.eve=health,(health)>};
ifchged(weapon)={<: topid.phud.eve=weapon,(curw)>};
ifchged(ammo)={<: topid.phud.eve=ammo,(ammo)>};
ifchged(armor)={<: topid.phud.eve=armor,(armor)>};
}
.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>};
OnNoammo#s={<: socket.eve=Info,"$[ownername]没弹药啦!",2000>};
}
.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;
&mymapbk.lightmask=$.\..\..\maps\mapimg\lightmask.jpg;
class=RtsMapD1;
}
.MyUserBar{
}
.MyChatBar{
}
.MyChatEdit{
}
.MyFun{
OnCreate={<SMap>};
}
.game:text{
show=0;
}
</style>
//<: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 + -