public override void PlayerSpawnedInWorld(ClientInfo _cInfo, RespawnType _respawnReason, Vector3i _pos) { Log.Out(_respawnReason.ToString()); if (_respawnReason == RespawnType.JoinMultiplayer || _respawnReason == RespawnType.EnterMultiplayer) { EntityPlayer eplayer = PlayerUtils.GetEntityPlayer(_cInfo); Log.Out("PLAYER JOINED"); if (API.Events.hasPlayerBuffAddedHandlers || API.Events.hasPlayerBuffRemovedHandlers) { Log.Out("ADDING BUFF LISTENERS"); EntityBuffChangedHandler bch = new EntityBuffChangedHandler(eplayer); eplayer.Stats.AddBuffChangedDelegate(bch); } if (API.Events.hasPlayerWellnessChangedHandlers) { EntityWellnessChangedHandler ech = new EntityWellnessChangedHandler(eplayer); eplayer.Stats.AddWellnessChangedDelegate(ech); } //eplayer.inventory.AddChangeListener (new InventoryChangedHandler (eplayer)); } API.Events.NotifyPlayerSpawnedHandlers(_cInfo, _respawnReason, _pos); }
public void HookPlayer(ClientInfo clientInfo, RespawnType respawnType, Vector3i position) { _httpTool.Post(new NameValueCollection() { ClientInfoAsNameValueCollection(clientInfo), HookTypeNameValueCollection(EnumHookType.PlayerRespawn), { "RespawnType", respawnType.ToString() }, { "Position", position.ToStringNoBlanks() }, } ); }
/// <summary> /// Called when the player was made visible and the loading screen disappeared. /// </summary> /// <param name="clientInfo"></param> /// <param name="respawnReason"></param> /// <param name="pos"></param> public override void PlayerSpawnedInWorld(ClientInfo clientInfo, RespawnType respawnReason, Vector3i pos) { try { Log.Debug("Api.PlayerSpawnedInWorld called."); CommandTools.InvokeScriptEvents(ScriptEvent.playerSpawnedInWorld, () => new PlayerSpawnedInWorldEventArgs() { reason = respawnReason.ToString(), position = pos, clientInfo = clientInfo, }); } catch (Exception ex) { CommandTools.HandleEventException(ex); } }