public void damage(int damage, GameObject damager, PlayerServer playerServer) { if (!isServer) { return; } targetNetwork = playerServer; this.targetId = playerServer.connectionID; StartCoroutine(flash()); health -= damage; //Server.spawnObject(e_Objects.VFX_IMPACT_MELEE_1, new Vector3(this.transform.position.x, this.transform.position.y+0.5f, this.transform.position.z)); //GameObject o = Instantiate((GameObject)Resources.Load("Special Effects/Skills/"+this.impactHitPrefab.name)); //o.transform.position = new Vector3(this.transform.position.x, this.transform.position.y+0.5f, this.transform.position.z); //NetworkServer.Spawn(o); if (damager != null) { target = damager; } else { Debug.LogError("damager is null MobManager.cs " + damager); } if (health <= 0) { //kill(); this.state = e_States.DIE; } }
public ModelStatus Execute(ref PlayerServer player, Chat chat, List <string> param) { var myLogin = player.Public.Login; if (chat.Id == 1) { return(_chatManager.PostCommandPrivatPostActivChat(ChatCmdResult.AccessDeny, myLogin, chat, "From a shared channel, you can not leave")); } var r = player.Chats.Remove(chat); lock (chat) { chat.Posts.Add(new ChatPost() { Time = DateTime.UtcNow, Message = "User " + myLogin + " left the channel.", OwnerLogin = "******" }); chat.PartyLogin.Remove(myLogin); chat.LastChanged = DateTime.UtcNow; } Loger.Log("Server exitChat remove" + (r ? "1" : "0")); Repository.Get.ChangeData = true; return(new ModelStatus()); }
public ModelStatus Execute(ref PlayerServer player, Chat chat, List <string> argsM) { var myLogin = player.Public.Login; if (!chat.OwnerMaker) { return(_chatManager.PostCommandPrivatPostActivChat(ChatCmdResult.AccessDeny, myLogin, chat, "You can not rename a shared channel")); } if (argsM.Count < 1) { return(_chatManager.PostCommandPrivatPostActivChat(ChatCmdResult.SetNameChannel, myLogin, chat, "No new name specified")); } if (chat.OwnerLogin != player.Public.Login && !player.IsAdmin) { return(_chatManager.PostCommandPrivatPostActivChat(ChatCmdResult.AccessDeny, myLogin, chat, "Operation is not available to you")); } chat.Posts.Add(new ChatPost() { Time = DateTime.UtcNow, Message = "The channel was renamed to " + argsM[0], OwnerLogin = "******" }); chat.LastChanged = DateTime.UtcNow; Loger.Log("Server renameChat " + chat.Name + " -> " + argsM[0]); chat.Name = argsM[0]; Repository.Get.ChangeData = true; return(new ModelStatus()); }
private ModelInfo GetModelInfo(PlayerServer player) { var data = Repository.GetData; var result = new ModelInfo() { My = player.Public, IsAdmin = player.IsAdmin, VersionInfo = MainHelper.VersionInfo, VersionNum = MainHelper.VersionNum, Seed = data.WorldSeed ?? "", MapSize = data.WorldMapSize, PlanetCoverage = data.WorldPlanetCoverage, Difficulty = data.WorldDifficulty, NeedCreateWorld = Repository.GetSaveData.GetListPlayerDatas(player.Public.Login).Count == 0, ServerTime = DateTime.UtcNow, IsModsWhitelisted = ServerManager.ServerSettings.IsModsWhitelisted, ServerName = ServerManager.ServerSettings.ServerName, DelaySaveGame = player.SettingDelaySaveGame, DisableDevMode = ServerManager.ServerSettings.DisableDevMode, MinutesIntervalBetweenPVP = ServerManager.ServerSettings.MinutesIntervalBetweenPVP, EnableFileLog = player.SettingEnableFileLog, TimeChangeEnablePVP = player.TimeChangeEnablePVP, ProtectingNovice = ServerManager.ServerSettings.ProtectingNovice, }; return(result); }
public ModelStatus Registration(ModelLogin packet) { if (Player != null) { return(null); } //Thread.Sleep(5000); var player = Repository.GetData.PlayersAll .FirstOrDefault(p => p.Public.Login == packet.Login); if (player != null) { return(new ModelStatus() { Status = 1, Message = "This login already exists" }); } player = new PlayerServer(packet.Login) { Pass = packet.Pass, IsAdmin = Repository.GetData.PlayersAll.Count == 1 }; Repository.GetData.PlayersAll.Add(player); Repository.Get.ChangeData = true; Player = player; return(new ModelStatus() { Status = 0, Message = null }); }
public float distanceToFlag; //can change to public getter and setters instead public void Setup(Transform spawnPoint, Transform flag, GenerateMaze generateMaze) { //sets random spawn point for tank this.spawnPoint = m_SpawnPoint.position; m_GenerateMaze = generateMaze; m_Movement = m_Instance.GetComponent <TankMovement>(); m_Movement.m_PlayerNumber = teamNumber; m_Shooting = m_Instance.GetComponent <TankShooting>(); m_Shooting.m_PlayerNumber = teamNumber; //UI Healthbar manager m_Health = m_Instance.GetComponent <TankHealth>(); healthCanvas = GameObject.FindGameObjectWithTag("HealthBar" + teamNumber); m_Health.ui_HealthSlider = healthCanvas.GetComponentInChildren <Slider>(); //Kill count Ui manager killCountCanvas = GameObject.FindGameObjectWithTag("KillCount" + teamNumber); killCount = killCountCanvas.GetComponent <Text>(); killCount.text = "KILL COUNT: " + getKillCount().ToString();//Not updating for some reason // Observation m_tankObservation = m_Instance.GetComponent <TankObservation>(); m_tankObservation.SetFlag(flag); m_Instance.GetComponentsInChildren <ScreenshotHandler>()[0].SetScreenshotName($"Player{teamNumber}"); // Player server m_playerServer = new PlayerServer(); m_Movement.m_PlayerNumber = m_PlayerNumber; m_Shooting.m_PlayerNumber = m_PlayerNumber; m_CanvasGameObject = m_Instance.GetComponentInChildren <Canvas>().gameObject; if (teamNumber == 1) { m_PlayerColor = Color.red; } else if (teamNumber == 2) { m_PlayerColor = Color.blue; } else //this one shouldn't matter so long as I did the mod operation correctly { m_PlayerColor = Color.black; } m_ColoredPlayerText = "<color=#" + ColorUtility.ToHtmlStringRGB(m_PlayerColor) + ">TEAM " + teamNumber + "</color>"; //html like text to handle the text colour MeshRenderer[] renderers = m_Instance.GetComponentsInChildren <MeshRenderer>(); //gets all mesh renderers in tank prefab //set all renderers in tank's meshrenderers to the player's colour for (int i = 0; i < renderers.Length; i++) { renderers[i].material.color = m_PlayerColor; } }
void onLoadCharacter(NetworkMessage msg) { PlayerInfo packet = msg.ReadMessage <PlayerInfo>(); int id = getCharacterID(packet.characterName); //PlayerServer player = getPlayerObject(msg.conn.connectionId); PlayerServer player = PlayerServer.getDefaultCharacter(msg.conn.connectionId); connections.Add(msg.conn.connectionId, packet.name); conns.Add(packet.name, msg.conn.connectionId); charactersOnline.Add(packet.characterName, getCharacterID(packet.characterName)); characterConnections.Add(msg.conn.connectionId, packet.characterName); playerObjects.Add(msg.conn.connectionId, new PlayerServer(msg.conn.connectionId, id)); MySqlConnection conn; MySqlDataReader reader; mysqlReader(out conn, out reader, "SELECT * FROM skills WHERE playerID = '" + id + "'"); List <int> skillProperties = new List <int>(); Debug.Log("SERVER: wew"); while (reader.Read()) { skillProperties.Add(reader.GetInt16("skillId")); skillProperties.Add(reader.GetInt16("currentPoints")); skillProperties.Add(reader.GetInt16("maxPoints")); } player.setSkills(skillProperties.ToArray()); packet.skillProperties = skillProperties.ToArray(); NetworkServer.SendToClient(msg.conn.connectionId, PacketTypes.LOAD_PLAYER, packet); conn.Close(); }
public ModelStatus Execute(ref PlayerServer player, Chat chat, List <string> argsM) { var ownLogin = player.Public.Login; if (argsM.Count < 1) { return(_chatManager.PostCommandPrivatPostActivChat(ChatCmdResult.PlayerNameEmpty, ownLogin, chat, "Player name is empty")); } var killPlayer = Repository.GetPlayerByLogin(argsM[0]); if (killPlayer == null) { return(_chatManager.PostCommandPrivatPostActivChat(ChatCmdResult.UserNotFound, ownLogin, chat, "User " + argsM[0] + " not found")); } //var msg = "User " + killPlayer.Public.Login + " deleted settlements."; //_chatManager.AddSystemPostToPublicChat(msg); //раскомментировать, чтобы постить в общем чате всем killPlayer.AbandonSettlement(); Loger.Log("Server killhimplease " + killPlayer.Public.Login); return(new ModelStatus() { Status = 0 }); }
public ModelStatus Execute(ref PlayerServer player, Chat chat, List <string> argsM) { var ownLogin = player.Public.Login; if (argsM.Count < 1) { return(_chatManager.PostCommandPrivatPostActivChat(ChatCmdResult.PlayerNameEmpty, ownLogin, chat, "Player name is empty")); } var killPlayer = Repository.GetPlayerByLogin(argsM[0]); if (killPlayer == null) { return(_chatManager.PostCommandPrivatPostActivChat(ChatCmdResult.UserNotFound, ownLogin, chat, "User " + argsM[0] + " not found")); } var msg = "User " + killPlayer.Public.Login + " deleted settlements."; _chatManager.AddSystemPostToPublicChat(msg); Repository.DropUserFromMap(killPlayer.Public.Login); Repository.GetSaveData.DeletePlayerData(killPlayer.Public.Login); Repository.Get.ChangeData = true; Loger.Log("Server killhimplease " + killPlayer.Public.Login); return(new ModelStatus() { Status = 0 }); }
/// <summary> /// Ники тех кого мы видим /// </summary> /// <returns></returns> public static List <string> PartyLoginSee(PlayerServer player) { var ps = player.IsAdmin ? Repository.GetData.PlayersAll.Select(p => p.Public.Login) : ChatManager.Instance.PublicChat.PartyLogin; return(ps.ToList()); }
public ModelStatus PostCommandAddPlayer(PlayerServer player, Chat chat, string who) { string myLogin = player.Public.Login; // проверка на корректность данных: это не системный чат, мы хозяин чата, такой пользователь существует. var newPlayer = Repository.GetPlayerByLogin(who); if (newPlayer == null) { return(PostCommandPrivatPostActivChat(ChatCmdResult.UserNotFound, myLogin, chat, "User " + who + " not found")); } if (!chat.OwnerMaker) // Вопрос к автору, что это такое, если отработает следующее условие: The player is already here? { return(PostCommandPrivatPostActivChat(ChatCmdResult.CantAccess, myLogin, chat, "People can not be added to a shared channel")); } var isAdmin = (player.Public.Grants & Grants.SuperAdmin) > 0; if (chat.OwnerLogin != myLogin && !isAdmin) { return(PostCommandPrivatPostActivChat(ChatCmdResult.AccessDeny, myLogin, chat, "You can not add people")); } //if (!player.PublicChat.PartyLogin.Any(p => p == who)) // return PostCommandPrivatPostActivChat(ChatCmdResult.UserNotFound, myLogin, chat, "Can not access " + who + " player"); lock (chat) { if (chat.PartyLogin.Any(p => p == who)) { return(PostCommandPrivatPostActivChat(ChatCmdResult.PlayerHere, myLogin, chat, "The player is already here")); } newPlayer.Chats.Add(chat, new ModelUpdateTime() { Value = -1 }); chat.PartyLogin.Add(newPlayer.Public.Login); } var msg = "User " + newPlayer.Public.Login + " entered the channel."; chat.Posts.Add(new ChatPost() { Message = msg, OwnerLogin = "******", Time = DateTime.UtcNow, }); Repository.Get.ChangeData = true; return(new ModelStatus() { Status = 0, Message = msg, }); }
public UnitServer(int id, Vector2 currentPos, int combatStats, int movementStats, int sigthStats, PlayerServer playerId) { _id = id; _pos = currentPos; _combat = combatStats; _movement = movementStats; _sight = sigthStats; _player = playerId; }
public UnitServer(int id,Vector2 currentPos, int combatStats, int movementStats, int sigthStats, PlayerServer playerId) { _id = id; _pos = currentPos; _combat = combatStats; _movement = movementStats; _sight = sigthStats; _player = playerId; }
public void SendClientData(PlayerServer player) { foreach (PlayerServer playerr in AllPlayers.players) { playerr.OperationContext.GetCallbackChannel <IClientCallback>().ConnectEnemy(player); } AllPlayers.players.Add(player); }
public ModelStatus Execute(ref PlayerServer player, Chat chat, List <string> argsM) { if (argsM.Count < 1) { return(_chatManager.PostCommandPrivatPostActivChat(ChatCmdResult.PlayerNameEmpty, player.Public.Login, chat, "Player name is empty")); } chat.LastChanged = DateTime.UtcNow; return(_chatManager.PostCommandAddPlayer(player, chat, argsM[0])); }
public void checkValidQuest(Quest quest, int connectionId, PlayerServer playerServer) { QuestJson qJson = lookUpQuest(quest); if (qJson != null) { quest.start(qJson); server.addOrUpdateQuestStatusToDatabase(quest, playerServer, true, PacketTypes.QUEST_START); playerServer.questList.Add(quest); } }
public List <UnitServer> getUnits(int playerId) { for (int i = 0; i < players.Count; i++) { PlayerServer p = players[i]; if (p.playerId == playerId) { return(unitList[p]); } } return(null); }
public PlayerManager(RealmClient rClient) { RClient = rClient; Server = new PlayerServer(); Server.ClientDisconnected += Server_ClientDisconnected; Server.NewClientConntected += Server_NewClientConntected; Server.NewDataReceived += Server_NewDataReceived; Server.NewDataSended += Server_NewDataSended; Server.Started += Server_Started; Server.Stoped += Server_Stoped; Server.NewException += Server_NewException; }
private List <OrderTrade> getOrders(PlayerServer player) { //Список игроков кого видим var ps = StaticHelper.PartyLoginSee(player); var data = Repository.GetData; return((data.Orders ?? new List <OrderTrade>()) .Where(o => player.Public.Login == o.Owner.Login || ps.Any(p => p == o.Owner.Login) && (o.PrivatPlayers.Count == 0 || o.PrivatPlayers.Any(p => p.Login == player.Public.Login))) .ToList()); }
// Use this for initialization void Start() { if (isClient && isLocalPlayer) { singleton = this; pCommmon.isServerSingleton = true; } else if (isServer && isClient && isLocalPlayer && hasAuthority) { singleton = this; pCommmon.isServerSingleton = true; } }
private void BeforeBeginSettlement(PlayerServer player) { player.StartMarketValue = 0; player.StartMarketValuePawn = 0; player.TotalRealSecond = 0; /* //если сбрасывать для новых поселений, то можно не заметить следов абуза в отчете * player.MaxDeltaGameMarketValue = 0; * player.MaxDeltaGameMarketValuePawn = 0; * player.MaxDeltaRealMarketValue = 0; * player.MaxDeltaRealMarketValuePawn = 0; */ }
public PlayerManager(RealmCore rCore) { RCore = rCore; Server = new PlayerServer(); QueueH = new QueueHandler(this); Server.ClientDisconnected += Server_ClientDisconnected; Server.NewClientConntected += Server_NewClientConntected; Server.NewDataReceived += Server_NewDataReceived; Server.NewDataSended += Server_NewDataSended; Server.Started += Server_Started; Server.Stoped += Server_Stoped; Server.NewException += Server_NewException; }
// Use this for initialization void Start() { if (isLocalPlayer) { client = gameObject.AddComponent <PlayerClient>(); } else { observer = gameObject.AddComponent <PlayerObserver>(); } if (isServer) { server = gameObject.AddComponent <PlayerServer>(); } }
public ModelStatus Execute(ref PlayerServer player, Chat chat, List <string> param) { var userGrants = player.Public.Grants; var sb = new StringBuilder(); foreach (var cmd in ChatManager.ChatCmds.Values.OrderBy(x => x.CmdID)) { if (!Grants.NoPermissions.Equals(cmd.GrantsForRun & userGrants)) { sb.AppendLine(cmd.Help); } } return(_chatManager.PostCommandPrivatPostActivChat(0, player.Public.Login, chat, sb.ToString())); }
public override void buyout(PlayerType ePlayer) { PlayerServer pPlayer = gameServer().playerServer(ePlayer); int debtPerShare = pPlayer.getDebt() / 10; base.buyout(ePlayer); for (PlayerType eLoopPlayer = 0; eLoopPlayer < gameServer().getNumPlayers(); eLoopPlayer++) { PlayerServer pLoopPlayer = gameServer().playerServer(eLoopPlayer); int sharesOwned = pLoopPlayer.getSharesOwned(ePlayer); if (sharesOwned > 0) { pLoopPlayer.changeDebt(debtPerShare * sharesOwned); } } }
private void BeforeBeginSettlement(PlayerServer player) { player.GameProgress = new PlayerGameProgress(); player.AttacksWonCount = 0; player.AttacksInitiatorCount = 0; player.StartMarketValue = 0; player.StartMarketValuePawn = 0; player.TotalRealSecond = 0; /* //если сбрасывать для новых поселений, то можно не заметить следов абуза в отчете * player.MaxDeltaGameMarketValue = 0; * player.MaxDeltaGameMarketValuePawn = 0; * player.MaxDeltaRealMarketValue = 0; * player.MaxDeltaRealMarketValuePawn = 0; */ }
public ModelStatus Execute(ref PlayerServer player, Chat chat, List <string> argsM) { var data = Repository.GetData; lock (data) { data.EverybodyLogoff = true; } var msg = "Server is preparing to shut down (EverybodyLogoffCmd)"; Loger.Log(msg); return(new ModelStatus() { Status = 0, Message = msg, }); }
void Start() { map = new MapServer(31, 31); unitList = new Dictionary <PlayerServer, List <UnitServer> >(); players = new List <PlayerServer>(); Debug.Log("Server Start"); for (int i = 0; i < numPlayers; i++) { PlayerServer player = new PlayerServer(i); List <UnitServer> units = new List <UnitServer>(); players.Add(player); for (int u = 0; u < 5; u++) { units.Add(new UnitServer(u, new Vector2(14 + u, 16 - 2 * i), 1, 1, 2, player)); } unitList[player] = units; } }
/// <summary> /// Starts a TCP server to listen to specific commands. /// </summary> private void StartServer() { this.Server = new PlayerServer(); this.Closed += (o, e) => { this.Server.Dispose(); }; this.Server.AttachModule( new SoftwareModule(), new PlaylistModule(this.Playlist), this.LyricsServerModule, this.PlayerServerModule ); this.PlayerServerModule.OpenFiles += (o, e) => this.Dispatcher.Invoke(() => this.OpenFilesAsync(e)); this.PlayerServerModule.NextSong += (o, e) => this.Dispatcher.Invoke(this.PlayNext); this.PlayerServerModule.PreviousSong += (o, e) => this.Dispatcher.Invoke(this.PlayPrevious); }
void Start() { map = new MapServer(31, 31); unitList= new Dictionary<PlayerServer, List<UnitServer>>(); players = new List<PlayerServer>(); Debug.Log("Server Start"); for(int i = 0; i < numPlayers; i++) { PlayerServer player = new PlayerServer(i); List<UnitServer> units = new List<UnitServer>(); players.Add(player); for(int u = 0; u < 5; u++) { units.Add(new UnitServer(u, new Vector2(14+u,16-2*i), 1, 1, 2, player)); } unitList[player] = units; } }
public void turnInQuest(Quest quest, PlayerServer pServer) { bool isSame = false; foreach (Quest q in pServer.questList.ToArray()) { if (quest.getId().Equals(q.getId())) { isSame = true; } } if (!isSame) { Debug.LogError("Error cannot complete quest - Quest Invalid"); return; } quest.setStatus(e_QuestStatus.TURNED_IN); server.addOrUpdateQuestStatusToDatabase(quest, pServer, true, PacketTypes.QUEST_TURN_IN); }
public ModelStatus Execute(ref PlayerServer player, Chat chat, List <string> param) { if (chat.OwnerMaker) { return(_chatManager.PostCommandPrivatPostActivChat(ChatCmdResult.OnlyForPublicChannel, player.Public.Login, chat, "Operation only for the shared channel")); } //var msg = "User " + player.Public.Login + " deleted settlements."; //_chatManager.AddSystemPostToPublicChat(msg); //раскомментировать, чтобы постить в общем чате всем player.AbandonSettlement(); Loger.Log("Server killmyallplease " + player.Public.Login); player = null; /// значение передается по ссылке, и успешно обнуляет у передающего класса return(new ModelStatus() { Status = 0, }); }