Merge branch 'develop' of ssh://development.life-of-german.org:451/log-gtav/reallife-gamemode into develop
This commit is contained in:
@@ -249,6 +249,13 @@ class RageVehicle extends RageEntity implements IVehicle {
|
||||
|
||||
this.vehicle.setDoorShut(door, instantly);
|
||||
}
|
||||
|
||||
get class(): number {
|
||||
if (mp.vehicles.exists(this.vehicle)) {
|
||||
return this.vehicle.getClass();
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -69,6 +69,7 @@ interface IVehicle extends IEntity {
|
||||
setDoorsLocked(state: boolean);
|
||||
setDoorShut(door: number, instantly: boolean);
|
||||
setDoorOpen(door: number, loose: boolean, instantly: boolean);
|
||||
class: number;
|
||||
}
|
||||
|
||||
interface IEntityPool<TEntity> {
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
|
||||
export default function smoothThrottle() {
|
||||
let GlobalDisable = false;
|
||||
let DisableAntiReverse = true;
|
||||
let DisableAntiReverse = false;
|
||||
let DisableSmoothThrottle = false;
|
||||
|
||||
let BrakeSystem = false;
|
||||
@@ -47,7 +47,7 @@ export default function smoothThrottle() {
|
||||
return;
|
||||
|
||||
if (BrakeSystem) {
|
||||
if (mp.players.local.vehicle !== null) {
|
||||
if (mp.players.local.vehicle && mp.vehicles.exists(mp.players.local.vehicle)) {
|
||||
if (!mp.players.local.vehicle.isSeatFree(-1)) //only do this if the vehicle has a driver (doesn't have to be the player who is rendering this)
|
||||
{
|
||||
//Optimize function calls to variables (probably doesn't make a difference)
|
||||
|
||||
@@ -16,9 +16,9 @@ game.events.onPlayerEnterVehicle(async (vehicle, seat) => {
|
||||
}
|
||||
|
||||
if (vehicle) {
|
||||
var data: VehicleData = vehicle.getSharedData("VehicleData");
|
||||
|
||||
var data: VehicleData = vehicle.getSharedData("VehicleData");
|
||||
setVehicleData(vehicle, data);
|
||||
if (vehicle.class == 16) mp.game.vehicle.defaultEngineBehaviour = true;
|
||||
}
|
||||
});
|
||||
|
||||
@@ -31,8 +31,8 @@ game.events.onPlayerExitVehicle(async () => {
|
||||
|
||||
if (veh) {
|
||||
var data: VehicleData = veh.getSharedData("VehicleData");
|
||||
|
||||
setVehicleData(veh, data);
|
||||
if (veh.class == 16) mp.game.vehicle.defaultEngineBehaviour = false;
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
1885
ReallifeGamemode.Database/Migrations/20210405190220_UserNameUniqueIndex.Designer.cs
generated
Normal file
1885
ReallifeGamemode.Database/Migrations/20210405190220_UserNameUniqueIndex.Designer.cs
generated
Normal file
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,23 @@
|
||||
using Microsoft.EntityFrameworkCore.Migrations;
|
||||
|
||||
namespace ReallifeGamemode.Database.Migrations
|
||||
{
|
||||
public partial class UserNameUniqueIndex : Migration
|
||||
{
|
||||
protected override void Up(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_Users_Name",
|
||||
table: "Users",
|
||||
column: "Name",
|
||||
unique: true);
|
||||
}
|
||||
|
||||
protected override void Down(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.DropIndex(
|
||||
name: "IX_Users_Name",
|
||||
table: "Users");
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1463,6 +1463,9 @@ namespace ReallifeGamemode.Database.Migrations
|
||||
|
||||
b.HasIndex("HouseId");
|
||||
|
||||
b.HasIndex("Name")
|
||||
.IsUnique();
|
||||
|
||||
b.ToTable("Users");
|
||||
});
|
||||
|
||||
|
||||
@@ -1,4 +1,6 @@
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using System;
|
||||
using System.Linq;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Microsoft.EntityFrameworkCore.Design;
|
||||
using Microsoft.Extensions.Logging;
|
||||
|
||||
@@ -43,10 +45,16 @@ namespace ReallifeGamemode.Database.Models
|
||||
.HasIndex(b => b.BusinessId)
|
||||
.IsUnique(true);
|
||||
|
||||
modelBuilder.Entity<Entities.User>()
|
||||
.HasIndex(u => u.BusinessId)
|
||||
modelBuilder.Entity<Entities.User>(e =>
|
||||
{
|
||||
e.HasIndex(u => u.BusinessId)
|
||||
.IsUnique(true);
|
||||
|
||||
e.HasIndex(u => u.Name)
|
||||
.IsUnique(true);
|
||||
});
|
||||
|
||||
|
||||
modelBuilder.Entity<Entities.ServerVehicle>()
|
||||
.Property(sv => sv.Active)
|
||||
.HasDefaultValue(true);
|
||||
|
||||
@@ -226,7 +226,7 @@ namespace ReallifeGamemode.Server.Commands
|
||||
NAPI.Pools.GetAllPlayers().ForEach(p =>
|
||||
{
|
||||
User pUser = p.GetUser();
|
||||
if (pUser.FactionLeader || pUser.IsAdmin(AdminLevel.ADMIN))
|
||||
if ((pUser?.FactionLeader ?? false) || pUser.IsAdmin(AdminLevel.ADMIN))
|
||||
{
|
||||
ChatService.SendMessage(p, broadcastMsg);
|
||||
}
|
||||
|
||||
@@ -108,6 +108,7 @@ namespace ReallifeGamemode.Server.Commands
|
||||
{
|
||||
player.StopAnimation();
|
||||
player.PlayAnimation("mp_am_hold_up", "handsup_base", (int)(AnimationFlags.Loop | AnimationFlags.OnlyAnimateUpperBody | AnimationFlags.AllowPlayerControl | AnimationFlags.Cancellable));
|
||||
ChatService.SendInRange(player.Position, 20, $"~m~{player.Name} stellt sich...");
|
||||
}
|
||||
|
||||
[Command("event", "~m~Benutzung: ~s~/event [Nachricht]", GreedyArg = true)]
|
||||
|
||||
@@ -129,6 +129,11 @@ namespace ReallifeGamemode.Server.Managers
|
||||
[ServerEvent(Event.PlayerEnterVehicle)]
|
||||
public void CarDealerBusiness_PlayerEnterVehicle(Player player, Vehicle veh, int seat)
|
||||
{
|
||||
if(player.IsAdminDuty())
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
ServerVehicle sVeh = veh.GetServerVehicle();
|
||||
if (sVeh == null) return;
|
||||
if (!(sVeh is ShopVehicle)) return;
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
using System.Collections.Generic;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using GTANetworkAPI;
|
||||
using ReallifeGamemode.Database.Entities;
|
||||
@@ -115,6 +116,17 @@ namespace ReallifeGamemode.Server.Services
|
||||
});
|
||||
}
|
||||
|
||||
internal static void SendInRange(Vector3 position, int range, string message)
|
||||
{
|
||||
foreach(Player player in NAPI.Pools.GetAllPlayers())
|
||||
{
|
||||
if(player.Position.DistanceTo(position) <= range)
|
||||
{
|
||||
SendMessage(player, message);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static void BroadcastGroup(string message, Group group)
|
||||
{
|
||||
message = $"!{{FF8080}}** Gruppe: {message}";
|
||||
|
||||
@@ -25,7 +25,7 @@ Set-Variable resourcesDir -option Constant -value "dotnet\resources"
|
||||
Set-Variable gamemodeDir -option Constant -value "reallife-gamemode"
|
||||
Set-Variable assetsDir -option Constant -value "client_packages\assets"
|
||||
Set-Variable indexJsDir -option Constant -value "client_packages"
|
||||
Set-Variable dlcPacksDir -option Constant -value "source_dlcpacks"
|
||||
Set-Variable dlcPacksDir -option Constant -value "client_packages\game_resources\dlcpacks"
|
||||
Set-Variable fullBuildDir -option Constant -value "$serverProjectPath\$buildDirectory"
|
||||
|
||||
# create default config file if not exist
|
||||
|
||||
Reference in New Issue
Block a user