public static void Respawn(BasePlayer player, bool newPos) { Player p = new Player(player); RespawnEvent re = new RespawnEvent(p); OnRespawn.OnNext(re); ++ServerPerformance.spawns; if (newPos) { BasePlayer.SpawnPoint spawnPoint = ServerMgr.FindSpawnPoint(); player.transform.position = spawnPoint.pos; player.transform.rotation = spawnPoint.rot; } if (re.ChangePos && re.SpawnPos != Vector3.zero) { player.transform.position = re.SpawnPos; } player.supressSnapshots = true; player.StopSpectating(); player.UpdateNetworkGroup(); player.UpdatePlayerCollider(true, false); player.StartSleeping(); player.metabolism.Reset(); if (re.GiveDefault) { player.inventory.GiveDefaultItems(); } player.SendFullSnapshot(); }
public void On_Respawn(RespawnEvent re) { if (re.Player.basePlayer == TestBot) { SetHookWorking("On_Respawn"); re.GiveDefault = false; } Broadcast(re.Player.Name + " respawned on " + re.SpawnPos); }
private void FireRsEvent() { if (!restartText.IsActive()) { EventSystem.current.SetSelectedGameObject(null, null); btn.enabled = false; RespawnEvent?.Invoke(); } }
public void RpcKill() { if (photonView.IsMine) { AudioSource.PlayClipAtPoint(hitSound, transform.position); //id.owner.profile.deaths++; //id.owner.profile.CalculateKDR(); RespawnEvent?.Invoke(); PhotonNetwork.Destroy(gameObject); } }
public IEnumerator DeathTransition() { DeathEvent?.Invoke(); // Debug.Log("Start"); yield return(new WaitForSeconds(PlayerManager._instance.GetPlayerGFX.GetDeathAnimLength)); // Debug.Log("Player Died"); UIManager._instance.BlackPanel(true); yield return(new WaitForSeconds(extraDelay)); UIManager._instance.BlackPanel(false); RespawnEvent?.Invoke(); startedDeathEvent = false; }
/* * // In future create an Event, allow people to adjust certain resources to give certain amounts! * public static void ResourceGatherMultiplier(int amount, BaseEntity receiver, ItemAmount itemAmt) * { * int newAmt = amount; * if (receiver.ToPlayer() != null) * newAmt = (int)((double)amount * World.GetInstance().ResourceGatherMultiplier); * * Item item = ItemManager.CreateByItemID(itemAmt.itemid, newAmt); * receiver.GiveItem(item); * }*/ public static void Respawn(BasePlayer player, bool newPos) { Player p = Server.GetPlayer(player); RespawnEvent re = new RespawnEvent(p); OnRespawn.OnNext(re); ++ServerPerformance.spawns; if (newPos) { BasePlayer.SpawnPoint spawnPoint = ServerMgr.FindSpawnPoint(); player.transform.position = spawnPoint.pos; player.transform.rotation = spawnPoint.rot; } if (re.ChangePos && re.SpawnPos != Vector3.zero) { player.transform.position = re.SpawnPos; } player.SetPlayerFlag(BasePlayer.PlayerFlags.Wounded, false); player.SetPlayerFlag(BasePlayer.PlayerFlags.ReceivingSnapshot, true); player.SetFieldValue("lastTickTime", 0f); player.CancelInvoke("DieFromWounds"); player.StopSpectating(); player.UpdateNetworkGroup(); player.UpdatePlayerCollider(true, false); player.StartSleeping(); player.Invoke("LifeStoryStart", 0f); player.metabolism.Reset(); if (re.StartHealth < Single.Epsilon) { player.InitializeHealth(player.StartHealth(), player.StartMaxHealth()); } else { player.InitializeHealth(re.StartHealth, player.StartMaxHealth()); } if (re.GiveDefault) { player.inventory.GiveDefaultItems(); } if (re.WakeUp) { player.EndSleeping(); } }
public static void On_Respawn(BasePlayer player, Vector3 pos, Quaternion quat) { Player p = Server.GetPlayer(player); RespawnEvent re = new RespawnEvent(p, pos, quat); OnNext("On_Respawn", re); ++ServerPerformance.spawns; player.SetFieldValue("lastPositionValue", pos); player.transform.position = re.SpawnPos; player.transform.rotation = re.SpawnRot; player.SetPlayerFlag(BasePlayer.PlayerFlags.Wounded, false); player.SetPlayerFlag(BasePlayer.PlayerFlags.ReceivingSnapshot, true); player.SetFieldValue("lastTickTime", 0f); player.CancelInvoke("WoundingEnd"); player.StopSpectating(); player.UpdateNetworkGroup(); player.UpdatePlayerCollider(true, false); player.StartSleeping(); player.Invoke("LifeStoryStart", 0f); player.metabolism.Reset(); if (re.StartHealth < Single.Epsilon) { player.InitializeHealth(player.StartHealth(), player.StartMaxHealth()); } else { player.InitializeHealth(re.StartHealth, player.StartMaxHealth()); } if (re.GiveDefault) { player.inventory.GiveDefaultItems(); } if (re.WakeUp) { player.EndSleeping(); } player.SendNetworkUpdateImmediate(false); player.ClientRPCPlayer(null, player, "StartLoading"); player.SendFullSnapshot(); player.SetPlayerFlag(BasePlayer.PlayerFlags.ReceivingSnapshot, false); player.ClientRPCPlayer(null, player, "FinishLoading"); }
private void PlayerUpdate(Player player, int i) { TSPlayer ply = new TSPlayer(i); if (ply.UUID == "") { return; } if (player.dead && !prevDeadState[i]) { // Died DeathEvent.Invoke(ply); } if (!player.dead && prevDeadState[i]) { // Respawned RespawnEvent.Invoke(ply); } prevDeadState[i] = player.dead; }
private void Respawn(RespawnEvent args) { args.SendPacket(new ClientStatusPacket { ActionID = (sbyte)ClientStatus.Respawn }); }
/// <summary> /// Called from <c>BasePlayer.RespawnAt(Vector3, Quaternion)</c> . /// </summary> public static void On_PlayerRespawn(BasePlayer basePlayer, Vector3 pos, Quaternion quat) { Player player = Server.GetPlayer(basePlayer); var re = new RespawnEvent(player, pos, quat); OnNext("On_PlayerRespawn", re); basePlayer.SetPlayerFlag(BasePlayer.PlayerFlags.Wounded, false); basePlayer.SetPlayerFlag(BasePlayer.PlayerFlags.HasBuildingPrivilege, false); basePlayer.SetPlayerFlag(BasePlayer.PlayerFlags.InBuildingPrivilege, false); basePlayer.SetPlayerFlag(BasePlayer.PlayerFlags.ReceivingSnapshot, true); ++ServerPerformance.spawns; basePlayer.transform.position = re.SpawnPos; basePlayer.transform.rotation = re.SpawnRot; (basePlayer.GetFieldValue("tickInterpolator") as TickInterpolator).Reset(pos); basePlayer.SetFieldValue("lastTickTime", 0f); basePlayer.CancelInvoke("WoundingEnd"); basePlayer.StopSpectating(); basePlayer.UpdateNetworkGroup(); basePlayer.UpdatePlayerCollider(true, false); basePlayer.StartSleeping(); basePlayer.Invoke("LifeStoryStart", 0f); basePlayer.metabolism.Reset(); if (re.StartHealth < Single.Epsilon) { basePlayer.InitializeHealth(basePlayer.StartHealth(), basePlayer.StartMaxHealth()); } else { basePlayer.InitializeHealth(re.StartHealth, basePlayer.StartMaxHealth()); } if (re.GiveDefault) { basePlayer.inventory.GiveDefaultItems(); } if (re.WakeUp) { basePlayer.EndSleeping(); } basePlayer.SendNetworkUpdateImmediate(false); basePlayer.ClearEntityQueue(); basePlayer.ClientRPCPlayer(null, basePlayer, "StartLoading"); if (basePlayer.IsConnected()) basePlayer.SendFullSnapshot(); // player.SetPlayerFlag (BasePlayer.PlayerFlags.ReceivingSnapshot, false); // player.ClientRPCPlayer(null, player, "FinishLoading"); }
public void OnRespawn(RespawnEvent re) { this.Invoke("On_Respawn", re); }
public void OnRespawn(RespawnEvent ev) => DiscordLab.bot.NewMessage(ev.IsCI ? "**Attention all personnel: Chaos insurgency breach in progress**" : "**Mobile Task Force unit Epsilon 11 has entered the facility!**");