From e9fd74ef5d077f5596491104177db93ca5783bd5 Mon Sep 17 00:00:00 2001 From: MrZ626 <1046101471@qq.com> Date: Mon, 5 Apr 2021 23:31:39 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BB=A7=E7=BB=AD=E5=AE=8C=E5=96=84=E8=81=94?= =?UTF-8?q?=E7=BD=91=EF=BC=8C=E8=B0=83=E6=95=B4=E7=8E=A9=E5=AE=B6=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E5=88=9D=E5=A7=8B=E5=8C=96=E8=BF=87=E7=A8=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- parts/net.lua | 11 ++++++++++- parts/player/init.lua | 6 ++++++ parts/scenes/net_game.lua | 23 ++++++++++++++++------- 3 files changed, 32 insertions(+), 8 deletions(-) diff --git a/parts/net.lua b/parts/net.lua index c4086d41..392c14f5 100644 --- a/parts/net.lua +++ b/parts/net.lua @@ -97,7 +97,7 @@ function NET.storeUserInfo(res) --Get own name if res.id==USER.id then - USER.name=res.name + USER.name=res.username FILE.save(USER,"conf/user") end @@ -293,6 +293,15 @@ function NET.updateWS_play() elseif res.action==2 then--Player join if res.type=="Self"then --Create room + TABLE.clear(PLY_NET) + local d=res.data + table.insert(PLY_NET,{ + conf=dumpBasicConfig(), + username=USER.name, + uid=USER.id, + sid=d.sid, + ready=d.ready, + }) loadGame("netBattle",true,true) _unlock("enterRoom") else diff --git a/parts/player/init.lua b/parts/player/init.lua index ac2f380d..88a5010c 100644 --- a/parts/player/init.lua +++ b/parts/player/init.lua @@ -134,6 +134,9 @@ local function newEmptyPlayer(id,mini) P.atker,P.atking,P.lastRecv={} --Network-related + P.userName="_" + P.userID=-1 + P.subID=-1 P.ready=false P.dropDelay,P.lockDelay=0,0 @@ -405,6 +408,9 @@ function PLY.newPlayer(id,mini) P.type="human" P.sound=true + P.userID=USER.id + P.subID=-1 + loadGameEnv(P) applyGameEnv(P) end diff --git a/parts/scenes/net_game.lua b/parts/scenes/net_game.lua index 3e53b3ab..bfe4b1a3 100644 --- a/parts/scenes/net_game.lua +++ b/parts/scenes/net_game.lua @@ -150,14 +150,23 @@ function scene.socketRead(cmd,data) COLOR.Y,text.joinRoom, } end - local L=data.players - for i=1,#L do + if data.players then + for _,p in next,data.players do + ins(PLY_NET,{ + sid=p.sid, + uid=p.uid, + username=p.username, + conf=p.config, + ready=p.ready, + }) + end + else ins(PLY_NET,{ - sid=L[i].sid, - uid=L[i].uid, - username=L[i].username, - conf=L[i].config, - ready=L[i].ready, + sid=data.sid, + uid=data.uid, + username=data.username, + conf=data.config, + ready=data.ready, }) end playerInitialized=true