diff --git a/game-server/app/servers/guild/handler/cityActivityHandler.ts b/game-server/app/servers/guild/handler/cityActivityHandler.ts index 3cb212f3d..7db713596 100644 --- a/game-server/app/servers/guild/handler/cityActivityHandler.ts +++ b/game-server/app/servers/guild/handler/cityActivityHandler.ts @@ -100,9 +100,9 @@ export class CityActivityHandler { let historyCity = await getHistoryCity(roleId); if (historyCity) { - await leaveCityChannel(roleId, sid, `${historyCity}`); + await leaveCityChannel(roleId, sid, serverId, `${historyCity}`); } - await addRoleToCityChannel(roleId, sid, cityId); + await addRoleToCityChannel(roleId, sid, serverId, cityId); await setHistoryCity(roleId, cityId); let ranks = await getCityActivityRank(guildCode, serverId, cityId, roleId, roleName); @@ -295,7 +295,7 @@ export class CityActivityHandler { await sendSingleCityActEndMsg(cityId, serverId); } // 推送 城门血量 - await sendMessageToCityWithSuc(cityId, PUSH_ROUTE.GUILD_CITY_ACT_HP, { cityId, gateHp, maxHp }); + await sendMessageToCityWithSuc(serverId, cityId, PUSH_ROUTE.GUILD_CITY_ACT_HP, { cityId, gateHp, maxHp }); await sendCityGuildRankToUser(serverId, cityId, guildCode, roleId); return resResult(STATUS.SUCCESS, { diff --git a/game-server/app/services/chatChannelService.ts b/game-server/app/services/chatChannelService.ts index e2e4ed7b5..fcbde39b1 100644 --- a/game-server/app/services/chatChannelService.ts +++ b/game-server/app/services/chatChannelService.ts @@ -41,8 +41,8 @@ export async function addRoleToGuildChannel(roleId: string, sid: string, guildCo await addRoleToChannel(roomId, roleId, sid); } -export async function addRoleToCityChannel(roleId: string, sid: string, cityId: number) { - const roomId = groupRoomId(CHANNEL_PREFIX.CITY, cityId); +export async function addRoleToCityChannel(roleId: string, sid: string, serverId: number, cityId: number) { + const roomId = groupRoomId(CHANNEL_PREFIX.CITY, `${serverId}_${cityId}`); await addRoleToChannel(roomId, roleId, sid); } @@ -76,18 +76,18 @@ export async function leaveWorldChannel(roleId: string, sid: string, serverId: n await leaveChannel(roomId, roleId, sid); } -export async function leaveCityChannel(roleId: string, sid: string, cityId: string) { - const roomId = groupRoomId(CHANNEL_PREFIX.CITY, cityId); +export async function leaveCityChannel(roleId: string, sid: string, serverId: number, cityId: string) { + const roomId = groupRoomId(CHANNEL_PREFIX.CITY, `${serverId}_${cityId}`); await leaveChannel(roomId, roleId, sid); } export async function leaveGuildAuctionChannel(roleId: string, sid: string, guildCode: string) { - const roomId = groupRoomId(CHANNEL_PREFIX.CITY, guildCode); + const roomId = groupRoomId(CHANNEL_PREFIX.GUILD_AUCTION, guildCode); await leaveChannel(roomId, roleId, sid); } export async function leaveWorldAuctionChannel(roleId: string, sid: string, serverId: number) { - const roomId = groupRoomId(CHANNEL_PREFIX.CITY, serverId); + const roomId = groupRoomId(CHANNEL_PREFIX.WORLD_AUCTION, serverId); await leaveChannel(roomId, roleId, sid); } @@ -114,8 +114,8 @@ export async function getGuildChannelSid(guildCode: string) { return channelSid; } -export async function getCityChannelSid(cityId: number) { - const roomId = groupRoomId(CHANNEL_PREFIX.CITY, cityId); +export async function getCityChannelSid(serverId: number, cityId: number) { + const roomId = groupRoomId(CHANNEL_PREFIX.CITY, `${serverId}_${cityId}`); const channelSid = await channelServer(roomId); return channelSid; } diff --git a/game-server/app/services/chatService.ts b/game-server/app/services/chatService.ts index c7f693e3f..0052613fc 100644 --- a/game-server/app/services/chatService.ts +++ b/game-server/app/services/chatService.ts @@ -161,8 +161,8 @@ export async function pushGroupMsgToRoom(msg: GroupMessageType) { let teamCode = msg.channelId; await sendMessageToTeam(teamCode, PUSH_ROUTE.GROUP_MSG, { ...msg, roleInfo }); } else if (msg.channel == CHANNEL_PREFIX.CITY) { - let cityId = parseInt(msg.channelId); - await sendMessageToCityWithSuc(cityId, PUSH_ROUTE.GROUP_MSG, { ...msg, roleInfo }); + let arr = msg.channelId.split('_'); + await sendMessageToCityWithSuc(parseInt(arr[0]), parseInt(arr[1]), PUSH_ROUTE.GROUP_MSG, { ...msg, roleInfo }); } } diff --git a/game-server/app/services/guildActivity/guildActivityService.ts b/game-server/app/services/guildActivity/guildActivityService.ts index 91f7b55ab..cc8148f92 100644 --- a/game-server/app/services/guildActivity/guildActivityService.ts +++ b/game-server/app/services/guildActivity/guildActivityService.ts @@ -510,12 +510,12 @@ export async function cityActivitySettleReward(cityId: number, serverId: number) } } -export async function autoDeclare() { - for(let [ cityId ] of gameData.cityActivity) { - let msg = { cityId, declareGuildCode: "", declareCount: 0 }; - await sendMessageToCityWithSuc(cityId, PUSH_ROUTE.GUILD_CITY_DECLARE, msg); - } -} +// export async function autoDeclare() { +// for(let [ cityId ] of gameData.cityActivity) { +// let msg = { cityId, declareGuildCode: "", declareCount: 0 }; +// await sendMessageToCityWithSuc(cityId, PUSH_ROUTE.GUILD_CITY_DECLARE, msg); +// } +// } /** * 获取活动参加者 @@ -623,9 +623,9 @@ export function getCityStatus(guildCode: string, cityId: number, dic: DicCityAct return status; } -export async function sendGuildCityDeclare(cityId: number, declareGuildCode: string, declareCount: number) { +export async function sendGuildCityDeclare(serverId: number, cityId: number, declareGuildCode: string, declareCount: number) { let msg = { cityId, declareGuildCode, declareCount }; - await sendMessageToCityWithSuc(cityId, PUSH_ROUTE.GUILD_CITY_DECLARE, msg); + await sendMessageToCityWithSuc(serverId, cityId, PUSH_ROUTE.GUILD_CITY_DECLARE, msg); await sendMessageToGuildWithSuc(declareGuildCode, PUSH_ROUTE.GUILD_CITY_DECLARE, msg); } @@ -807,7 +807,7 @@ export async function declareCity(serverId: number, roleId: string, guildCode: s let declareInfo = await GuildActivityCityDeclareModel.declareIfNot(serverId, guildCode, cityId, roleId, declareTime, isAutoDeclare, declareIndex); if(!!declareInfo && declareInfo.declareTime == declareTime) { // 确实没有人宣战过,自己是第一个 let cityRec = await GuildActivityCityModel.declare(serverId, cityId, guildCode, declareIndex); - await sendGuildCityDeclare(cityId, guildCode, cityRec.declareCount); + await sendGuildCityDeclare(serverId, cityId, guildCode, cityRec.declareCount); return true; } return false; @@ -908,7 +908,7 @@ export async function resetJoinWoodenHorse() { export async function debugSendGateHp(serverId: number, cityId: number) { let obj = getCityActivityObj(); let { gateHp, maxHp } = await obj.getGateHpAndInc(serverId, cityId); - await sendMessageToCityWithSuc(cityId, PUSH_ROUTE.GUILD_CITY_ACT_HP, { cityId, gateHp: gateHp + 1000, maxHp }); + await sendMessageToCityWithSuc(serverId, cityId, PUSH_ROUTE.GUILD_CITY_ACT_HP, { cityId, gateHp: gateHp + 1000, maxHp }); } export async function debugAddHorse(serverId: number, guildCode: string, memberCnt: number, itemInterval: number) { diff --git a/game-server/app/services/pushService.ts b/game-server/app/services/pushService.ts index e5b8e2dd3..296909700 100644 --- a/game-server/app/services/pushService.ts +++ b/game-server/app/services/pushService.ts @@ -54,13 +54,13 @@ export async function sendMessageToGuild(guildCode: string, route: string, data: await pinus.app.rpc.chat.chatRemote.pushMessage.toServer(channelSid, roomId, route, data); } -export async function sendMessageToCityWithSuc(cityId: number, route: string, data: any) { - await sendMessageToCity(cityId, route, resResult(STATUS.SUCCESS, data)); +export async function sendMessageToCityWithSuc(serverId: number, cityId: number, route: string, data: any) { + await sendMessageToCity(serverId, cityId, route, resResult(STATUS.SUCCESS, data)); } -export async function sendMessageToCity(cityId: number, route: string, data: any) { - let channelSid = await getCityChannelSid(cityId); - let roomId = groupRoomId(CHANNEL_PREFIX.CITY, cityId); +export async function sendMessageToCity(serverId: number, cityId: number, route: string, data: any) { + let channelSid = await getCityChannelSid(serverId, cityId); + let roomId = groupRoomId(CHANNEL_PREFIX.CITY, `${serverId}_${cityId}`); await pinus.app.rpc.chat.chatRemote.pushMessage.toServer(channelSid, roomId, route, data); } diff --git a/game-server/app/services/timeTaskService.ts b/game-server/app/services/timeTaskService.ts index abb252d22..5e5ee38d9 100644 --- a/game-server/app/services/timeTaskService.ts +++ b/game-server/app/services/timeTaskService.ts @@ -9,7 +9,7 @@ import { GUILD_ACTIVITY_TYPE, REFRESH_TIME, COUNTER, AUCTION_TIME, GM_MAIL_TYPE, import { pinus } from 'pinus'; import { settleGuildWeekly } from './guildService'; import { SendMailFun, sendMailsByGmMail, } from './mailService'; -import { sendEndMsgToAllServer, autoDeclare, sendGuildActivityStatus, setPreDayActiveData, incCurGuildActivityIndex } from './guildActivity/guildActivityService'; +import { sendEndMsgToAllServer, sendGuildActivityStatus, setPreDayActiveData, incCurGuildActivityIndex } from './guildActivity/guildActivityService'; import { sendUngotDividendJob, startGuildAuction, startWorldAuction, stopAuction } from './auctionService'; import { DicGuildActivity } from '../pubUtils/dictionary/DicGuildActivity'; import { dispatch } from '../pubUtils/dispatcher'; @@ -341,7 +341,7 @@ export async function cityActivityEnd() { await pinus.app.rpc.guild.guildActivityRemote.guildActivityEnd.broadcast(GUILD_ACTIVITY_TYPE.CITY_ACTIVITY); // 发完之后再做下周自动宣战 - await autoDeclare(); + // await autoDeclare(); if (guildActSecondsJobId) { guildActSecondsJobId.cancel(); guildActSecondsJobId = undefined;