public void HandleLogin(Player player, Pbmsg.LoginReq reqMsg) { player.strName = reqMsg.Name; player.nLevel = 1; Pbmsg.LoginRet retMsg = new Pbmsg.LoginRet() { Id = player.getID(), Name = reqMsg.Name, Level = player.nLevel, }; SendPlayerMsg <Pbmsg.LoginRet>(player, Pbmsg.ServerCmdDef.SLogin, retMsg); { Pbmsg.EnterMapRet enterMapRet = new Pbmsg.EnterMapRet() { Id = player.getID(), Name = player.strName, Level = player.nLevel, X = player.x, Y = player.y, Hp = player.hp, Direction = player.direction, ObjType = 0, }; BroadcastPlayerMsg <Pbmsg.EnterMapRet>(Pbmsg.ServerCmdDef.SEnterMap, enterMapRet); } foreach (Role roleOther in m_dictRoles.Values) { if (roleOther.getID() == player.getID()) { continue; } Pbmsg.EnterMapRet enterMapRet = new Pbmsg.EnterMapRet() { Id = roleOther.getID(), Name = roleOther.strName, Level = roleOther.nLevel, X = roleOther.x, Y = roleOther.y, Hp = roleOther.hp, ObjType = 0, Direction = roleOther.direction }; if (roleOther is Monster) { enterMapRet.ObjType = 1; } if (roleOther.hp == 0) { roleOther.hp = 100; enterMapRet.Hp = roleOther.hp; BroadcastPlayerMsg <Pbmsg.EnterMapRet>(Pbmsg.ServerCmdDef.SEnterMap, enterMapRet); } SendPlayerMsg <Pbmsg.EnterMapRet>(player, Pbmsg.ServerCmdDef.SEnterMap, enterMapRet); } }
public void HandleLogin(Player player, Pbmsg.LoginReq reqMsg) { player.strName = reqMsg.Name; player.nLevel = 1; Pbmsg.LoginRet retMsg = new Pbmsg.LoginRet() { Id = player.GetID(), Name = reqMsg.Name, Level = player.nLevel, }; SendPlayerMsg <Pbmsg.LoginRet>(player, Pbmsg.ServerCmdDef.SLogin, retMsg); //for (int i = 0; i < 100; ++i) //{ // SendPlayerMsg<Pbmsg.LoginRet>(player, Pbmsg.ServerCmdDef.SLogin, retMsg); //} { Pbmsg.EnterMapRet enterMapRet = BuildEnterMsg(player); BroadcastPlayerMsg <Pbmsg.EnterMapRet>(Pbmsg.ServerCmdDef.SEnterMap, enterMapRet); player.playerYS = new Player() { nSessionID = player.nSessionID + 100000, strName = player.strName + "的元神", idZhuTi = player.GetID() }; player.playerYS.x = player.x - 1; player.playerYS.y = player.y - 1; m_dictRoles[player.playerYS.nSessionID] = player.playerYS; enterMapRet = BuildEnterMsg(player.playerYS); BroadcastPlayerMsg <Pbmsg.EnterMapRet>(Pbmsg.ServerCmdDef.SEnterMap, enterMapRet); } foreach (Role roleOther in m_dictRoles.Values) { if (roleOther.GetID() == player.GetID()) { continue; } if (roleOther.hp == 0) { continue; } Pbmsg.EnterMapRet enterMapRet = BuildEnterMsg(roleOther); SendPlayerMsg <Pbmsg.EnterMapRet>(player, Pbmsg.ServerCmdDef.SEnterMap, enterMapRet); //System.Threading.Thread.Sleep(100); } }
public void HandleLogin(Player player, Pbmsg.LoginReq reqMsg) { player.strName = reqMsg.Name; player.nLevel = 1; Pbmsg.LoginRet retMsg = new Pbmsg.LoginRet() { Id = player.GetID(), Name = reqMsg.Name, Level = player.nLevel, }; SendPlayerMsg <Pbmsg.LoginRet>(player, Pbmsg.ServerCmdDef.SLogin, retMsg); for (int i = 0; i < 100; ++i) { SendPlayerMsg <Pbmsg.LoginRet>(player, Pbmsg.ServerCmdDef.SLogin, retMsg); } { Pbmsg.EnterMapRet enterMapRet = BuildEnterMsg(player); BroadcastPlayerMsg <Pbmsg.EnterMapRet>(Pbmsg.ServerCmdDef.SEnterMap, enterMapRet); } foreach (Role roleOther in m_dictRoles.Values) { if (roleOther.GetID() == player.GetID()) { continue; } if (roleOther.hp == 0) { continue; } Pbmsg.EnterMapRet enterMapRet = BuildEnterMsg(roleOther); SendPlayerMsg <Pbmsg.EnterMapRet>(player, Pbmsg.ServerCmdDef.SEnterMap, enterMapRet); //System.Threading.Thread.Sleep(100); } }
public void HandleLogin(Int64 nSessionID, Pbmsg.LoginReq reqMsg) { Player playerOld = RoleMgr.Instance().GetPlayerBySessionID(nSessionID); if (playerOld != null) { if (playerOld.nSessionID == nSessionID) { FFLog.Error(string.Format("worker cmd invalid! {0} login twice", nSessionID)); } return; } Player player = new Player() { nSessionID = nSessionID }; RoleMgr.Instance().AddRole(player); player.strName = reqMsg.Name; player.nLevel = 1; Pbmsg.LoginRet retMsg = new Pbmsg.LoginRet() { Id = player.GetID(), Name = reqMsg.Name, Level = player.nLevel, }; player.SendPlayerMsg(Pbmsg.ServerCmdDef.SLogin, retMsg); { Pbmsg.EnterMapRet enterMapRet = player.BuildEnterMsg(); FFWorker.Instance().GateBroadcastMsg((int)Pbmsg.ServerCmdDef.SEnterMap, enterMapRet); player.playerYS = new Player() { nSessionID = player.nSessionID + 100000, strName = player.strName + "的元神", idZhuTi = player.GetID() }; player.playerYS.x = player.x - 1; player.playerYS.y = player.y - 1; player.playerYS.apprID = player.apprID; RoleMgr.Instance().AddRole(player.playerYS); enterMapRet = player.playerYS.BuildEnterMsg(); FFWorker.Instance().GateBroadcastMsg((int)Pbmsg.ServerCmdDef.SEnterMap, enterMapRet); } RoleMgr.Instance().ForeachRole((Role roleOther) => { if (roleOther.GetID() == player.GetID()) { return; } if (roleOther.hp == 0) { return; } Pbmsg.EnterMapRet enterMapRet = roleOther.BuildEnterMsg(); player.SendPlayerMsg(Pbmsg.ServerCmdDef.SEnterMap, enterMapRet); }); }