internal void RotateLadder() { VerticalAngle = API.GetVehicleDoorAngleRatio(lights._vehicle.Handle, LadderVerticalIndex); int currId = Game.PlayerPed.CurrentVehicle.GetElsId(); int vehId = lights._vehicle.GetElsId(); if (Game.IsControlPressed(0, Control.PhoneUp) && Game.PlayerPed.IsSittingInELSVehicle() && currId == vehId) { RemoteEventManager.SendEvent(RemoteEventManager.Commands.MoveLadderLeft, lights._vehicle, true, Game.Player.ServerId); HorizontalAngle = HorizontalAngle + 0.029999999f; } if (Game.IsControlPressed(0, Control.PhoneDown) && Game.PlayerPed.IsSittingInELSVehicle() && currId == vehId) { RemoteEventManager.SendEvent(RemoteEventManager.Commands.MoveLadderRight, lights._vehicle, true, Game.Player.ServerId); HorizontalAngle = HorizontalAngle - 0.019999999f; } if (API.IsVehicleDoorFullyOpen(lights._vehicle.Handle, LadderHorizontalIndex) || VerticalAngle <= 0.80000001f) { API.SetVehicleDoorControl(lights._vehicle.Handle, LadderHorizontalIndex, _speed, VerticalAngle); } if (HorizontalAngle > .25 || HorizontalAngle < -.25) { LadderRotated = true; } }
private void BlockReceived(IBlockEvent obj) { if (obj.BlockEventId == BlockEventId.ClientInfo)//when we receive this we must send the player database with the current player in it and the info for the map to be loaded { var createPlayerEvent = new CreatePlayerEvent(); createPlayerEvent.PlayerId = 1; createPlayerEvent.PlayerIndex = 0; createPlayerEvent.PlayerName = "LifeCoder"; createPlayerEvent.IsAI = false; createPlayerEvent.PlayerTeam = 2; createPlayerEvent.SpawnGroup = 0; SendEvent(createPlayerEvent); new MapInfoEvent(true).Transmit(this); Send(); //now we wait until the client finished loading the map //top id is 6, which is NetworkEvent, bottom id is 2 which is loadLevelComplete in NetworkEvent RemoteEventManager.AddEventHandler(6, 2, OnClientLoadComplete); } else if (obj.BlockEventId == BlockEventId.ServerInfo) { Config.ServerInfo = obj; } else if (obj.BlockEventId == BlockEventId.MapList) { } else { } }
public void RunControlTick() { if (Game.IsControlPressed(0, Control.PhoneLeft) && Game.PlayerPed.IsSittingInELSVehicle() && Game.PlayerPed.CurrentVehicle.GetElsId() == lights._vehicle.GetElsId()) { anglehorizontal++; //RemoteEventManager.SendEvent(RemoteEventManager.Commands.MoveSpotlightLeft, lights._vehicle, true, Game.Player.ServerId); } if (Game.IsControlPressed(0, Control.PhoneRight) && Game.PlayerPed.IsSittingInELSVehicle() && Game.PlayerPed.CurrentVehicle.GetElsId() == lights._vehicle.GetElsId()) { anglehorizontal--; //RemoteEventManager.SendEvent(RemoteEventManager.Commands.MoveSpotlightRight, lights._vehicle, true, Game.Player.ServerId); } if (Game.IsControlPressed(0, Control.PhoneUp) && Game.PlayerPed.IsSittingInELSVehicle() && Game.PlayerPed.CurrentVehicle.GetElsId() == lights._vehicle.GetElsId()) { angleVertical++; //RemoteEventManager.SendEvent(RemoteEventManager.Commands.MoveSpotlightUp, lights._vehicle, true, Game.Player.ServerId); } if (Game.IsControlPressed(0, Control.PhoneDown) && Game.PlayerPed.IsSittingInELSVehicle() && Game.PlayerPed.CurrentVehicle.GetElsId() == lights._vehicle.GetElsId()) { angleVertical--; //RemoteEventManager.SendEvent(RemoteEventManager.Commands.MoveSpotlightDown, lights._vehicle, true, Game.Player.ServerId); } if (Game.GameTime >= update + 1000) { RemoteEventManager.SendEvent(RemoteEventManager.Commands.MoveSpotlight, lights._vehicle, true, Game.Player.ServerId); update = Game.GameTime; } }
void ManualTone3ControlsKB() { if (Controls.SoundSirenTone3.IsJustReleased() && SirenTone3Logic(true, true)) { RemoteEventManager.SendSirenEvent(_elsVehicle, "ms", new { c = 3 }); } }
void PanicAlarmControlsKB() { var bonePos = _vehicle.Bones["door_dside_f"].Position; var pos = Game.Player.Character.GetPositionOffset(bonePos); if (pos.Length() > 1.5) { return; } if (Game.IsControlJustPressed(0, ElsConfiguration.KBBindings.Snd_SrnPnic)) { pressedTime = Game.GameTime; } if (Game.IsControlPressed(0, ElsConfiguration.KBBindings.Snd_SrnPnic)) { if (pressedTime != -1 && Game.GameTime - pressedTime >= 499) { pressedTime = -1; var state = !_tones.panicAlarm._state; #if !REMOTETEST PanicAlarmLogic(state); #endif RemoteEventManager.SendEvent(RemoteEventManager.Commands.PanicAlarm, _vehicle, state, Game.Player.ServerId); } } if (Game.IsControlJustReleased(0, ElsConfiguration.KBBindings.Snd_SrnPnic)) { pressedTime = -1; } }
void MainSirenToggleControlsKB() { if (Controls.ToggleSiren.IsJustReleased()) { MainSirenToggleLogic(true, true); RemoteEventManager.SendEvent(RemoteEventManager.Commands.MainSiren, _elsVehicle, true); } }
internal void ToggleSceneLightControlTick() { if (Controls.ToggleTdl.IsDisabledJustPressed() && Game.IsControlPressed(0, Control.CharacterWheel)) { ToggleScl(); RemoteEventManager.SendLightEvent(ElsVehicle, DataNames.SceneLights, _extras.SceneLights.GetData()); } }
void DualSirenControlsKB() { if (Controls.ToggleDualSiren.IsJustReleased()) { DualSirenLogic(true, true); RemoteEventManager.SendEvent(RemoteEventManager.Commands.DualSiren, _elsVehicle, true); } }
internal static void RunAsync(Vehicle veh) { Game.DisableControlThisFrame(0, ElsConfiguration.KeyBindings.ToggleLIND); Game.DisableControlThisFrame(0, ElsConfiguration.KeyBindings.ToggleRIND); Game.DisableControlThisFrame(0, ElsConfiguration.KeyBindings.ToggleHAZ); if (Game.IsDisabledControlJustPressed(0, ElsConfiguration.KeyBindings.ToggleLIND) && Game.CurrentInputMode == InputMode.MouseAndKeyboard) { if (CurrentIndicatorState(veh) == IndicatorState.Left) { Utils.DebugWriteLine("Toggle Off"); ToggleInicatorState(veh, IndicatorState.Off); ActivateIndicatorTimer = false; ElsUiPanel.PlayUiSound(false); RemoteEventManager.SendEvent(RemoteEventManager.Commands.ToggleInd, veh, true, Game.Player.ServerId); return; } Utils.DebugWriteLine("Toggle Left"); ToggleInicatorState(veh, IndicatorState.Left); ElsUiPanel.PlayUiSound(true); ActivateIndicatorTimer = true; RemoteEventManager.SendEvent(RemoteEventManager.Commands.ToggleInd, veh, true, Game.Player.ServerId); } else if (Game.IsDisabledControlJustPressed(0, ElsConfiguration.KeyBindings.ToggleRIND) && Game.CurrentInputMode == InputMode.MouseAndKeyboard) { if (CurrentIndicatorState(veh) == IndicatorState.Right) { Utils.DebugWriteLine("Toggle Off"); ToggleInicatorState(veh, IndicatorState.Off); ActivateIndicatorTimer = false; ElsUiPanel.PlayUiSound(false); RemoteEventManager.SendEvent(RemoteEventManager.Commands.ToggleInd, veh, true, Game.Player.ServerId); return; } Utils.DebugWriteLine("Toggle Right"); ToggleInicatorState(veh, IndicatorState.Right); ActivateIndicatorTimer = true; ElsUiPanel.PlayUiSound(true); RemoteEventManager.SendEvent(RemoteEventManager.Commands.ToggleInd, veh, true, Game.Player.ServerId); } else if (Game.IsDisabledControlJustPressed(0, ElsConfiguration.KeyBindings.ToggleHAZ) && Game.CurrentInputMode == InputMode.MouseAndKeyboard) { if (CurrentIndicatorState(veh) == IndicatorState.Hazard) { Utils.DebugWriteLine("Toggle Off"); ToggleInicatorState(veh, IndicatorState.Off); ActivateIndicatorTimer = false; ElsUiPanel.PlayUiSound(false); RemoteEventManager.SendEvent(RemoteEventManager.Commands.ToggleInd, veh, true, Game.Player.ServerId); return; } Utils.DebugWriteLine("Toggle Hazard"); ToggleInicatorState(veh, IndicatorState.Hazard); ActivateIndicatorTimer = true; ElsUiPanel.PlayUiSound(true); RemoteEventManager.SendEvent(RemoteEventManager.Commands.ToggleInd, veh, true, Game.Player.ServerId); } }
internal void ToggleWarningLightControlTick() { Controls.ToggleWrnL.Disable(); if (Controls.ToggleWrnL.IsDisabledJustPressed()) { ToggleWrnLights(); RemoteEventManager.SendLightEvent(ElsVehicle, DataNames.WRNL, GetWarningLightsData()); } }
internal void ToggleCrsKB() { Game.DisableControlThisFrame(0, ElsConfiguration.KeyBindings.ToggleCrsL); if (Game.IsDisabledControlJustPressed(0, ElsConfiguration.KeyBindings.ToggleCrsL) && !Game.IsControlPressed(0, Control.CharacterWheel) && Game.CurrentInputMode == InputMode.MouseAndKeyboard) { ToggleCrs(); RemoteEventManager.SendEvent(RemoteEventManager.Commands.ToggleCrsL, _vehicle, true, Game.Player.ServerId); } }
internal void ToggleWrnLKB() { Game.DisableControlThisFrame(0, ElsConfiguration.KeyBindings.ToggleWrnL); if (Game.IsDisabledControlJustPressed(0, ElsConfiguration.KeyBindings.ToggleWrnL)) { ToggleWrnLights(); RemoteEventManager.SendEvent(RemoteEventManager.Commands.ToggleWrnL, _vehicle, true, Game.Player.ServerId); } }
internal void ToggleSecondaryLightControlTick() { Controls.ToggleSecL.Disable(); if (Controls.ToggleSecL.IsDisabledJustPressed()) { ToggleSecLights(); RemoteEventManager.SendLightEvent(ElsVehicle, DataNames.SECL, GetSecondaryLightsData()); } }
internal void ToggleTdlKB() { Game.DisableControlThisFrame(0, ElsConfiguration.KBBindings.ToggleTdl); if ((Game.IsDisabledControlJustPressed(0, ElsConfiguration.KBBindings.ToggleTdl) && !Game.IsControlPressed(0, Control.CharacterWheel)) && Game.CurrentInputMode == InputMode.MouseAndKeyboard || (Global.AllowController && Game.IsControlJustPressed(2, ElsConfiguration.GPBindings.ToggleTdl) && Game.CurrentInputMode == InputMode.GamePad)) { ToggleTdl(); RemoteEventManager.SendEvent(RemoteEventManager.Commands.ToggleTDL, _vehicle, true, Game.Player.ServerId); } }
void ManualTone4ControlsKB() { if (Game.IsControlJustReleased(0, ElsConfiguration.KBBindings.Snd_SrnTon4)) { #if !REMOTETEST SirenTone4Logic(true, true); #endif RemoteEventManager.SendEvent(RemoteEventManager.Commands.ManualTone4, _vehicle, true, Game.Player.ServerId); } }
void MainSirenToggleControlsKB() { if ((Game.IsControlJustReleased(0, ElsConfiguration.KeyBindings.Toggle_SIRN) && Game.CurrentInputMode == InputMode.MouseAndKeyboard) || (Global.AllowController && Game.IsControlJustPressed(2, Control.HUDSpecial) && Game.CurrentInputMode == InputMode.GamePad)) { #if !REMOTETEST MainSirenToggleLogic(true, true); #endif RemoteEventManager.SendEvent(RemoteEventManager.Commands.MainSiren, _vehicle, true, Game.Player.ServerId); } }
void ManualTone3ControlsKB() { if ((Game.IsControlJustReleased(0, ElsConfiguration.KBBindings.Snd_SrnTon3) && Game.CurrentInputMode == InputMode.MouseAndKeyboard) || (Global.AllowController && Game.IsControlJustPressed(2, ElsConfiguration.GPBindings.Snd_SrnTon3) && Game.CurrentInputMode == InputMode.GamePad)) { #if !REMOTETEST SirenTone3Logic(true, true); #endif RemoteEventManager.SendEvent(RemoteEventManager.Commands.ManualTone3, _vehicle, true, Game.Player.ServerId); } }
void MainSirenToggleControlsKB() { if (Game.IsControlJustReleased(0, configuration.ControlConfiguration.KeyBindings.Toggle_SIRN)) { #if !REMOTETEST MainSirenToggleLogic(true, true); #endif RemoteEventManager.SendEvent(RemoteEventManager.Commands.MainSiren, _vehicle, true, Game.Player.ServerId); } }
void ManualTone3ControlsKB() { if (Game.IsControlJustReleased(0, configuration.ControlConfiguration.KeyBindings.Snd_SrnTon3)) { #if !REMOTETEST ManualTone3Logic(true, true); #endif RemoteEventManager.SendEvent(RemoteEventManager.Commands.ManualTone3, _vehicle, true, Game.Player.ServerId); } }
internal void ToggleSclKB() { Game.DisableControlThisFrame(0, ElsConfiguration.KeyBindings.ToggleTdl); if (Game.IsDisabledControlJustPressed(0, ElsConfiguration.KeyBindings.ToggleTdl) && Game.IsControlPressed(0, Control.CharacterWheel)) { if (_extras.SCL != null) { ToggleScl(); } RemoteEventManager.SendEvent(RemoteEventManager.Commands.ToggleSCL, _vehicle, true, Game.Player.ServerId); } }
void DualSirenControlsKB() { if (Game.IsControlJustReleased(0, ElsConfiguration.KBBindings.Toggle_DSRN)) { #if !REMOTETEST DualSirenLogic(true, true); #endif System.Collections.Generic.Dictionary <String, object> dic = new System.Collections.Generic.Dictionary <string, object>(); // Manager.VehicleManager.SyncRequestReply(_vehicle.Plate()); RemoteEventManager.SendEvent(RemoteEventManager.Commands.DualSiren, _vehicle, true, Game.Player.ServerId); } }
internal void ToggleCruiseLightControlTick() { if (_extras.PrimaryLights == null) { return; } Controls.ToggleCrsL.Disable(); if (Controls.ToggleCrsL.IsDisabledJustReleased() && !Game.IsControlPressed(0, Control.CharacterWheel) && ELS.CurrentInputMode == InputMode.MouseAndKeyboard) { ToggleCrs(); RemoteEventManager.SendLightEvent(ElsVehicle, DataNames.PRML, GetPrimaryLightsData()); } }
public void RunTick() { var vehicle = lights.ElsVehicle.Vehicle; if (vehicle == null) { return; } if (lights.ElsVehicle.ControlTimer.Expired && Game.PlayerPed.IsSittingInELSVehicle() && Game.PlayerPed.CurrentVehicle.NetworkId == lights.ElsVehicle.NetworkId) { if (Game.IsControlPressed(0, Control.PhoneLeft)) { RemoteEventManager.SendEvent(RemoteEventManager.Commands.MoveSpotlightLeft, lights.ElsVehicle, true); anglehorizontal++; } if (Game.IsControlPressed(0, Control.PhoneRight)) { RemoteEventManager.SendEvent(RemoteEventManager.Commands.MoveSpotlightRight, lights.ElsVehicle, true); anglehorizontal--; } if (Game.IsControlPressed(0, Control.PhoneUp)) { RemoteEventManager.SendEvent(RemoteEventManager.Commands.MoveSpotlightUp, lights.ElsVehicle, true); angleVertical++; } if (Game.IsControlPressed(0, Control.PhoneDown)) { RemoteEventManager.SendEvent(RemoteEventManager.Commands.MoveSpotlightDown, lights.ElsVehicle, true); angleVertical--; } } //var spotoffset = Game.Player.Character.CurrentVehicle.GetOffsetPosition(new Vector3(-0.9f, 1.15f, 0.5f)); var off = vehicle.GetPositionOffset(vehicle.Bones[$"window_lf"].Position); var spotoffset = vehicle.GetOffsetPosition(off + new Vector3(-.25f, 1f, 0.1f)); //Vector3 myPos = Game.PlayerPed.CurrentVehicle.Bones[$"extra_{_id}"].Position; float hx = (float)(spotoffset.X + 5 * Math.Cos(((double)anglehorizontal + vehicle.Rotation.Z) * Math.PI / 180.0)); float hy = (float)(spotoffset.Y + 5 * Math.Sin(((double)anglehorizontal + vehicle.Rotation.Z) * Math.PI / 180.0)); float vz = (float)(spotoffset.Z + 5 * Math.Sin(angleVertical * Math.PI / 180.0)); Vector3 destinationCoords = (new Vector3(hx, hy, vz)); dirVector = destinationCoords - spotoffset; dirVector.Normalize(); //Function.Call(Hash.DRAW_SPOT_LIGHT, spotoffset.X, spotoffset.Y, spotoffset.Z, dirVector.X, dirVector.Y, dirVector.Z, 255, 255, 255, 100.0f, 1f, 0.0f, 13.0f, 1f,100f); API.DrawSpotLightWithShadow(spotoffset.X, spotoffset.Y, spotoffset.Z, dirVector.X, dirVector.Y, dirVector.Z, 255, 255, 255, Global.TkdnRng, Global.TkdnInt, 1f, 18f, 1f, 0); }
internal void ChgSecPattKB() { Game.DisableControlThisFrame(0, ElsConfiguration.KeyBindings.ChgPattSecL); if (Game.IsDisabledControlJustPressed(0, ElsConfiguration.KeyBindings.ChgPattSecL) && !Game.IsControlPressed(0, Control.CharacterWheel)) { ChgSecPatt(false); RemoteEventManager.SendEvent(RemoteEventManager.Commands.ChangeSecPatt, _vehicle, true, Game.Player.ServerId); } else if (Game.IsDisabledControlJustPressed(0, ElsConfiguration.KeyBindings.ChgPattSecL) && Game.IsControlPressed(0, Control.CharacterWheel)) { ChgSecPatt(true); RemoteEventManager.SendEvent(RemoteEventManager.Commands.ChangeSecPatt, _vehicle, true, Game.Player.ServerId); } }
void ManualSoundControlsKB() { Controls.SoundManual.Disable(); if (Controls.SoundManual.IsDisabledJustPressed()) { ManualSoundLogic(true, true); RemoteEventManager.SendEvent(RemoteEventManager.Commands.ManualSound, _elsVehicle, true); } if (Controls.SoundManual.IsDisabledJustReleased()) { ManualSoundLogic(false, true); RemoteEventManager.SendEvent(RemoteEventManager.Commands.ManualSound, _elsVehicle, false); } }
internal void ChgWrnPattKB() { Game.DisableControlThisFrame(0, ElsConfiguration.KeyBindings.ChgPattWrnL); if (Game.IsDisabledControlJustPressed(0, ElsConfiguration.KeyBindings.ChgPattWrnL) && !Game.IsControlPressed(0, Control.CharacterWheel) && Game.CurrentInputMode == InputMode.MouseAndKeyboard) { ChgWrnPatt(false); RemoteEventManager.SendEvent(RemoteEventManager.Commands.ChgPattWrnL, _vehicle, true, Game.Player.ServerId); } else if (Game.IsDisabledControlJustPressed(0, ElsConfiguration.KeyBindings.ChgPattWrnL) && Game.IsControlPressed(0, Control.CharacterWheel) && Game.CurrentInputMode == InputMode.MouseAndKeyboard) { ChgWrnPatt(true); RemoteEventManager.SendEvent(RemoteEventManager.Commands.ChgPattWrnL, _vehicle, true, Game.Player.ServerId); } }
public NetworkingClient(NetworkingServer server, IPEndPoint endPoint, uint connectionId) { ConnectionId = connectionId; IsConnected = true; ServerPacketId = 1; ClientPacketId = 0; mustSend = true; ParentServer = server; RemoteEndPoint = endPoint; GameEvents = new ConcurrentQueue <IGameEvent>(); BlockManager = new DataBlockManager(this); RemoteEventManager = new RemoteEventManager(this); GameEventManager = new GameEventManager(this); BlockManager.BlockReceived += BlockReceived; }
internal void ToggleLightStageKB() { Game.DisableControlThisFrame(0, ElsConfiguration.KeyBindings.ToggleLstg); if ((Game.IsDisabledControlJustPressed(0, ElsConfiguration.KeyBindings.ToggleLstg) && !Game.IsControlPressed(0, Control.CharacterWheel)) && Game.CurrentInputMode == InputMode.MouseAndKeyboard || (Global.AllowController && Game.IsControlJustPressed(2, Control.Detonate) && Game.CurrentInputMode == InputMode.GamePad)) { Utils.DebugWriteLine("Toggle Light stage"); ToggleLightStage(); RemoteEventManager.SendEvent(RemoteEventManager.Commands.ToggleLstg, _vehicle, true, Game.Player.ServerId); } else if (Game.IsDisabledControlJustPressed(0, ElsConfiguration.KeyBindings.ToggleLstg) && Game.IsControlPressed(0, Control.CharacterWheel) && Game.CurrentInputMode == InputMode.MouseAndKeyboard) { Utils.DebugWriteLine("Toggle Light stage Inverse"); ToggleLightStageInverse(); RemoteEventManager.SendEvent(RemoteEventManager.Commands.ToggleLstg, _vehicle, true, Game.Player.ServerId); } }
void ManualSoundControlsKB() { if (Game.IsControlJustPressed(0, configuration.ControlConfiguration.KeyBindings.Sound_Manul)) { #if !REMOTETEST ManualSoundLogic(true, true); #endif RemoteEventManager.SendEvent(RemoteEventManager.Commands.ManualSound, _vehicle, true, Game.Player.ServerId); } if (Game.IsControlJustReleased(0, configuration.ControlConfiguration.KeyBindings.Sound_Manul)) { #if !REMOTETEST ManualSoundLogic(false, true); #endif RemoteEventManager.SendEvent(RemoteEventManager.Commands.ManualSound, _vehicle, false, Game.Player.ServerId); } }
internal void ToggleLightStageControlTick() { Controls.ToggleLstg.Disable(); if (!Controls.ToggleLstg.IsDisabledJustPressed()) { return; } if (ELS.CurrentInputMode == InputMode.MouseAndKeyboard && !Game.IsControlPressed(0, Control.CharacterWheel) || (ELS.CurrentInputMode == InputMode.GamePad && Global.AllowController)) { ToggleLightStage(); RemoteEventManager.SendLightEvent(ElsVehicle, DataNames.Stage, CurrentStage); } else { ToggleLightStageInverse(); RemoteEventManager.SendLightEvent(ElsVehicle, DataNames.Stage, CurrentStage); } }