mirror of
https://github.com/2revoemag/PSF-BotServer.git
synced 2026-07-14 07:55:07 +00:00
adjust to vehicle spawn timing, placement of spawn pad, and a quick override packet
This commit is contained in:
parent
68422401e5
commit
6047b9e054
3 changed files with 32 additions and 2 deletions
|
|
@ -76,7 +76,7 @@ class VehicleSpawnControlSeatDriver(pad : VehicleSpawnPad) extends VehicleSpawnC
|
||||||
else {
|
else {
|
||||||
trace("driver lost, but operations can continue")
|
trace("driver lost, but operations can continue")
|
||||||
}
|
}
|
||||||
context.system.scheduler.scheduleOnce(800 milliseconds, vehicleOverride, VehicleSpawnControl.Process.ServerVehicleOverride(entry))
|
context.system.scheduler.scheduleOnce(250 milliseconds, vehicleOverride, VehicleSpawnControl.Process.ServerVehicleOverride(entry))
|
||||||
|
|
||||||
case msg @ (VehicleSpawnControl.ProcessControl.Reminder | VehicleSpawnControl.ProcessControl.GetNewOrder) =>
|
case msg @ (VehicleSpawnControl.ProcessControl.Reminder | VehicleSpawnControl.ProcessControl.GetNewOrder) =>
|
||||||
context.parent ! msg
|
context.parent ! msg
|
||||||
|
|
|
||||||
|
|
@ -667,7 +667,7 @@ object Maps {
|
||||||
LocalBuilding(81, FoundationBuilder(Building.Structure(StructureType.Platform)))
|
LocalBuilding(81, FoundationBuilder(Building.Structure(StructureType.Platform)))
|
||||||
LocalObject(1067, Terminal.Constructor(ground_vehicle_terminal))
|
LocalObject(1067, Terminal.Constructor(ground_vehicle_terminal))
|
||||||
LocalObject(712,
|
LocalObject(712,
|
||||||
VehicleSpawnPad.Constructor(Vector3(3659.836f, 2589.875f, 92.0625f), Vector3(0f, 0f, 270.0f))
|
VehicleSpawnPad.Constructor(Vector3(3724.0156f, 2589.875f, 92.0625f), Vector3(0f, 0f, 180.0f))
|
||||||
)
|
)
|
||||||
ObjectToBuilding(1067, 81)
|
ObjectToBuilding(1067, 81)
|
||||||
ObjectToBuilding(712, 81)
|
ObjectToBuilding(712, 81)
|
||||||
|
|
|
||||||
|
|
@ -1045,6 +1045,7 @@ class WorldSessionActor extends Actor with MDCContextAware {
|
||||||
sendResponse(PlanetsideAttributeMessage(vehicle_guid, 68, 0L)) //???
|
sendResponse(PlanetsideAttributeMessage(vehicle_guid, 68, 0L)) //???
|
||||||
sendResponse(PlanetsideAttributeMessage(vehicle_guid, 113, 0L)) //???
|
sendResponse(PlanetsideAttributeMessage(vehicle_guid, 113, 0L)) //???
|
||||||
ReloadVehicleAccessPermissions(vehicle)
|
ReloadVehicleAccessPermissions(vehicle)
|
||||||
|
ServerVehicleLock(vehicle)
|
||||||
|
|
||||||
case VehicleSpawnPad.ServerVehicleOverrideStart(vehicle, pad) =>
|
case VehicleSpawnPad.ServerVehicleOverrideStart(vehicle, pad) =>
|
||||||
val vdef = vehicle.Definition
|
val vdef = vehicle.Definition
|
||||||
|
|
@ -3896,11 +3897,34 @@ class WorldSessionActor extends Actor with MDCContextAware {
|
||||||
tplayer.Armor == tplayer.MaxArmor
|
tplayer.Armor == tplayer.MaxArmor
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Lock all applicable controls of the current vehicle.
|
||||||
|
* This includes forward motion, turning, and, if applicable, strafing.
|
||||||
|
* @param vehicle the vehicle being controlled
|
||||||
|
*/
|
||||||
|
def ServerVehicleLock(vehicle : Vehicle) : Unit = {
|
||||||
|
vehicle.Controlled = Some(0)
|
||||||
|
sendResponse(ServerVehicleOverrideMsg(true, true, false, false, 0, 1, 0, Some(0)))
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Place the current vehicle under the control of the server's commands.
|
||||||
|
* @param vehicle the vehicle
|
||||||
|
* @param speed how fast the vehicle is moving forward
|
||||||
|
* @param flight whether the vehicle is ascending or not, if the vehicle is an applicable type
|
||||||
|
*/
|
||||||
def ServerVehicleOverride(vehicle : Vehicle, speed : Int = 0, flight : Int = 0) : Unit = {
|
def ServerVehicleOverride(vehicle : Vehicle, speed : Int = 0, flight : Int = 0) : Unit = {
|
||||||
vehicle.Controlled = Some(speed)
|
vehicle.Controlled = Some(speed)
|
||||||
sendResponse(ServerVehicleOverrideMsg(true, true, false, false, flight, 0, speed, Some(0)))
|
sendResponse(ServerVehicleOverrideMsg(true, true, false, false, flight, 0, speed, Some(0)))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Place the current vehicle under the control of the driver's commands,
|
||||||
|
* but leave it in a cancellable auto-drive.
|
||||||
|
* @param vehicle the vehicle
|
||||||
|
* @param speed how fast the vehicle is moving forward
|
||||||
|
* @param flight whether the vehicle is ascending or not, if the vehicle is an applicable type
|
||||||
|
*/
|
||||||
def DriverVehicleControl(vehicle : Vehicle, speed : Int = 0, flight : Int = 0) : Unit = {
|
def DriverVehicleControl(vehicle : Vehicle, speed : Int = 0, flight : Int = 0) : Unit = {
|
||||||
if(vehicle.Controlled.nonEmpty) {
|
if(vehicle.Controlled.nonEmpty) {
|
||||||
vehicle.Controlled = None
|
vehicle.Controlled = None
|
||||||
|
|
@ -3908,6 +3932,12 @@ class WorldSessionActor extends Actor with MDCContextAware {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Place the current vehicle under the control of the driver's commands,
|
||||||
|
* but leave it in a cancellable auto-drive.
|
||||||
|
* Stop all movement entirely.
|
||||||
|
* @param vehicle the vehicle
|
||||||
|
*/
|
||||||
def TotalDriverVehicleControl(vehicle : Vehicle) : Unit = {
|
def TotalDriverVehicleControl(vehicle : Vehicle) : Unit = {
|
||||||
if(vehicle.Controlled.nonEmpty) {
|
if(vehicle.Controlled.nonEmpty) {
|
||||||
vehicle.Controlled = None
|
vehicle.Controlled = None
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue