实现收发房内聊天消息,修改频发言率限制

实现消息框里的进出房间提醒
This commit is contained in:
MrZ_26
2022-10-24 00:43:11 +08:00
parent 23f43df737
commit 543e85e94c
2 changed files with 16 additions and 14 deletions

View File

@@ -10,7 +10,6 @@ local approach=MATH.expApproach
local SETTING,GAME,SCR=SETTING,GAME,SCR
local PLAYERS=PLAYERS
local playSFX=SFX.play
@@ -287,25 +286,25 @@ end
function playClearSFX(cc)
if cc<=0 or cc%1~=0 then return end
if cc<=4 then
playSFX('clear_'..cc)
SFX.play('clear_'..cc)
elseif cc<=6 then
playSFX('clear_4')
SFX.play('clear_4')
elseif cc<=12 then
playSFX('clear_4',.8)
SFX.play('clear_4',.8)
if cc<=9 then
Snd('bass','A3','E4')
else
Snd('bass','A3','E4','A4')
end
elseif cc<=16 then
playSFX('clear_5',.7)
SFX.play('clear_5',.7)
if cc<=14 then
Snd('bass',.8,'A3','E4')Snd('lead','A4','E5')
else
Snd('bass',.8,'A3','G4')Snd('lead','B4','G5')
end
else
playSFX('clear_6',.6)
SFX.play('clear_6',.6)
if cc==17 then Snd('bass',.8,'A3','A4')Snd('lead','E5','G5')
elseif cc==18 then Snd('bass',.7,'A4')Snd('lead',.8,'C4','G5')Snd('bell','D5')
elseif cc==19 then Snd('bass',.7,'A4')Snd('lead',.8,'A4','E5')Snd('bell','B5')
@@ -512,7 +511,7 @@ function loadGame(mode,ifQuickPlay,ifNet)-- Load a mode and go to game scene
local modeText=text.modes[mode] or{"["..MODES[mode].name.."]",""}
TEXTOBJ.modeName:set(modeText[1].." "..modeText[2])
SCN.go('game',ifQuickPlay and 'swipeD' or 'fade_togame')
playSFX('enter')
SFX.play('enter')
end
end
end
@@ -576,7 +575,7 @@ function gameOver()-- Save record
P:_showText(text.newRecord,0,-100,100,'beat',.5)
if SETTING.autoSave and DATA.saveReplay() then
GAME.saved=true
playSFX('connected')
SFX.play('connected')
MES.new('check',text.saveDone)
end
end

View File

@@ -464,7 +464,7 @@ end
-- Room
function NET.room_chat(msg,rid)
if not TASK.lock('chatLimit',2.6) then
if not TASK.lock('chatLimit',1.626) then
MES.new('warn',"Talk too fast")
elseif #msg>0 then
wsSend(1300,{
@@ -580,9 +580,9 @@ function NET.wsCallBack.room_chat(body)
TASK.unlock('receiveMessage')
TASK.lock('receiveMessage',1)
NET.textBox:push{
COLOR.L,"[?]",-- TODO
COLOR.Y,"#"..body.playerId.." ",
COLOR.I,body.message,
COLOR.Z,USERS.getUsername(body.data.playerId),
COLOR.Y,"#"..body.data.playerId.." ",
COLOR.N,body.data.message,
}
end
end
@@ -630,6 +630,8 @@ function NET.wsCallBack.room_enter(body)
readyMode=p.state,
config=p.config,
}
NET.textBox:push{COLOR.Y,text.joinRoom:repD(USERS.getUsername(p.playerId).."#"..p.playerId.." ")}
SFX.play('connected')
end
WAIT.interrupt()
@@ -639,10 +641,11 @@ function NET.wsCallBack.room_kick(body)
_playerLeaveRoom(body.data.playerId)
end
function NET.wsCallBack.room_leave(body)
local uid=body.data and body.data.playerId or USER.uid
if body.data then
MES.new('info',text.leaveRoom:repD(body.data.playerId),2.6)
NET.textBox:push{COLOR.Y,text.leaveRoom:repD(USERS.getUsername(uid).."#"..uid.." ")}
end
_playerLeaveRoom(body.data and body.data.playerId or USER.uid)
_playerLeaveRoom(uid)
end
function NET.wsCallBack.room_fetch(body)
TASK.unlock('fetchRoom')