Sani Erweiterung
This commit is contained in:
@@ -19,6 +19,7 @@ export default function deathScreen() {
|
|||||||
var deathDate: Date;
|
var deathDate: Date;
|
||||||
|
|
||||||
const maxDeathTime = 30;
|
const maxDeathTime = 30;
|
||||||
|
const medicJobTime = maxDeathTime * 2;
|
||||||
|
|
||||||
mp.game.gameplay.setFadeOutAfterDeath(false);
|
mp.game.gameplay.setFadeOutAfterDeath(false);
|
||||||
|
|
||||||
@@ -104,6 +105,12 @@ export default function deathScreen() {
|
|||||||
|
|
||||||
} else {
|
} else {
|
||||||
mp.events.call("respawnDeathPlayer");
|
mp.events.call("respawnDeathPlayer");
|
||||||
|
mp.events.callRemote("CutMedicEarnings");
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if (deathSeconds > medicJobTime) {
|
||||||
|
mp.events.callRemote("MedicTaskTimeout");
|
||||||
|
mp.events.callRemote("RemoveMedicCheckpoint");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -25,6 +25,7 @@ export default function factionInteraction(globalData: IGlobalData) {
|
|||||||
var ambulanceImagePos;
|
var ambulanceImagePos;
|
||||||
var rangeLeft;
|
var rangeLeft;
|
||||||
var sortText;
|
var sortText;
|
||||||
|
var deadRespawned = false;
|
||||||
|
|
||||||
var ticketName: string;
|
var ticketName: string;
|
||||||
var pointsName: string;
|
var pointsName: string;
|
||||||
@@ -462,6 +463,22 @@ export default function factionInteraction(globalData: IGlobalData) {
|
|||||||
function getDistance2(index) {
|
function getDistance2(index) {
|
||||||
return mp.game.gameplay.getDistanceBetweenCoords(player.position.x, player.position.y, player.position.z, newTasks[index].Position.x, newTasks[index].Position.y, newTasks[index].Position.z, true).toFixed(2);
|
return mp.game.gameplay.getDistanceBetweenCoords(player.position.x, player.position.y, player.position.z, newTasks[index].Position.x, newTasks[index].Position.y, newTasks[index].Position.z, true).toFixed(2);
|
||||||
}
|
}
|
||||||
|
mp.events.add("checkPointTimeout", () => {
|
||||||
|
activeTask = false;
|
||||||
|
activeCheckpoint.destroy();
|
||||||
|
});
|
||||||
|
mp.events.add("cutMedicEarnings", () => {
|
||||||
|
deadRespawned = true;
|
||||||
|
});
|
||||||
|
|
||||||
|
mp.events.add('playerEnterColshape', (activeCheckpoint) => {
|
||||||
|
if (deadRespawned == true) {
|
||||||
|
activeTask = false;
|
||||||
|
activeCheckpoint.destroy();
|
||||||
|
mp.events.callRemote("delReviveTask");
|
||||||
|
mp.events.callRemote("payCutMedicEarnings");
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
mp.events.add('render', () => {
|
mp.events.add('render', () => {
|
||||||
if (activeTask) {
|
if (activeTask) {
|
||||||
@@ -486,7 +503,6 @@ export default function factionInteraction(globalData: IGlobalData) {
|
|||||||
} else {
|
} else {
|
||||||
activeTask = false;
|
activeTask = false;
|
||||||
activeCheckpoint.destroy();
|
activeCheckpoint.destroy();
|
||||||
mp.events.callRemote("delHealTask");
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -0,0 +1,39 @@
|
|||||||
|
<Project Sdk="Microsoft.NET.Sdk.Web">
|
||||||
|
|
||||||
|
<PropertyGroup>
|
||||||
|
<TargetFramework>netcoreapp3.1</TargetFramework>
|
||||||
|
<CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies>
|
||||||
|
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
|
||||||
|
<GenerateBindingRedirectsOutputType>true</GenerateBindingRedirectsOutputType>
|
||||||
|
<AddRazorSupportForMvc>true</AddRazorSupportForMvc>
|
||||||
|
<Platforms>AnyCPU;x64</Platforms>
|
||||||
|
<LangVersion>8.0</LangVersion>
|
||||||
|
</PropertyGroup>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<Compile Remove="logs\**" />
|
||||||
|
<Content Remove="logs\**" />
|
||||||
|
<EmbeddedResource Remove="logs\**" />
|
||||||
|
<None Remove="logs\**" />
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<PackageReference Include="log4net" Version="2.0.8" />
|
||||||
|
<PackageReference Include="Microsoft.AspNetCore.Mvc.NewtonsoftJson" Version="3.1.3" />
|
||||||
|
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="3.1.3" />
|
||||||
|
<PackageReference Include="Microsoft.EntityFrameworkCore.Relational" Version="3.1.3" />
|
||||||
|
<PackageReference Include="Microsoft.Extensions.Logging.Log4Net.AspNetCore" Version="3.1.0" />
|
||||||
|
<PackageReference Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="3.1.3" />
|
||||||
|
<PackageReference Include="Microsoft.AspNetCore.Mvc.Core" Version="2.2.5" />
|
||||||
|
<PackageReference Include="Swashbuckle.AspNetCore" Version="5.3.3" />
|
||||||
|
<PackageReference Include="System.IdentityModel.Tokens.Jwt" Version="6.5.0" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<DotNetCliToolReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Tools" Version="2.0.4" />
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<ProjectReference Include="..\ReallifeGamemode.Database\ReallifeGamemode.Database.csproj" />
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
|
</Project>
|
||||||
@@ -0,0 +1,34 @@
|
|||||||
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
|
|
||||||
|
<PropertyGroup>
|
||||||
|
<TargetFramework>netstandard2.1</TargetFramework>
|
||||||
|
<Platforms>AnyCPU;x64</Platforms>
|
||||||
|
<LangVersion>8.0</LangVersion>
|
||||||
|
</PropertyGroup>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="3.1.3" />
|
||||||
|
<PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="3.1.3">
|
||||||
|
<PrivateAssets>all</PrivateAssets>
|
||||||
|
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
||||||
|
</PackageReference>
|
||||||
|
<PackageReference Include="Pomelo.EntityFrameworkCore.MySql" Version="3.1.1" />
|
||||||
|
<PackageReference Include="Pomelo.EntityFrameworkCore.MySql.Design" Version="1.1.2" />
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<ProjectReference Include="..\ReallifeGamemode.Server.Core.API\ReallifeGamemode.Server.Core.API.csproj" />
|
||||||
|
<ProjectReference Include="..\ReallifeGamemode.Server.Core.RageMP\ReallifeGamemode.Server.Core.RageMP.csproj" />
|
||||||
|
<ProjectReference Include="..\ReallifeGamemode.Server.Types\ReallifeGamemode.Server.Types.csproj" />
|
||||||
|
<ProjectReference Include="..\ReallifeGamemode.Services\ReallifeGamemode.Services.csproj" />
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<Reference Include="Bootstrapper">
|
||||||
|
<HintPath>..\Import\Bootstrapper.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="Newtonsoft.Json">
|
||||||
|
<HintPath>..\Import\Newtonsoft.Json.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
</ItemGroup>
|
||||||
|
</Project>
|
||||||
@@ -0,0 +1,22 @@
|
|||||||
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
|
|
||||||
|
<PropertyGroup>
|
||||||
|
<TargetFramework>netstandard2.1</TargetFramework>
|
||||||
|
<Platforms>AnyCPU;x64</Platforms>
|
||||||
|
</PropertyGroup>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<PackageReference Include="Microsoft.AspNetCore.Cryptography.KeyDerivation" Version="3.1.3" />
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<ProjectReference Include="..\ReallifeGamemode.Server.Types\ReallifeGamemode.Server.Types.csproj" />
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<Reference Include="Newtonsoft.Json">
|
||||||
|
<HintPath>..\Import\Newtonsoft.Json.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
|
</Project>
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
|
|
||||||
|
<PropertyGroup>
|
||||||
|
<TargetFramework>netstandard2.1</TargetFramework>
|
||||||
|
<Platforms>AnyCPU;x64</Platforms>
|
||||||
|
</PropertyGroup>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<ProjectReference Include="..\ReallifeGamemode.Server.Common\ReallifeGamemode.Server.Common.csproj" />
|
||||||
|
<ProjectReference Include="..\ReallifeGamemode.Server.Types\ReallifeGamemode.Server.Types.csproj" />
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
|
</Project>
|
||||||
@@ -0,0 +1,18 @@
|
|||||||
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
|
|
||||||
|
<PropertyGroup>
|
||||||
|
<TargetFramework>netstandard2.1</TargetFramework>
|
||||||
|
<Platforms>AnyCPU;x64</Platforms>
|
||||||
|
</PropertyGroup>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<PackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="3.1.3" />
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<ProjectReference Include="..\ReallifeGamemode.Server.Common\ReallifeGamemode.Server.Common.csproj" />
|
||||||
|
<ProjectReference Include="..\ReallifeGamemode.Server.Core.API\ReallifeGamemode.Server.Core.API.csproj" />
|
||||||
|
<ProjectReference Include="..\ReallifeGamemode.Server.Log\ReallifeGamemode.Server.Log.csproj" />
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
|
</Project>
|
||||||
@@ -0,0 +1,14 @@
|
|||||||
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
|
|
||||||
|
<PropertyGroup>
|
||||||
|
<TargetFramework>netstandard2.1</TargetFramework>
|
||||||
|
<Platforms>AnyCPU;x64</Platforms>
|
||||||
|
</PropertyGroup>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<ProjectReference Include="..\ReallifeGamemode.Database\ReallifeGamemode.Database.csproj" />
|
||||||
|
<ProjectReference Include="..\ReallifeGamemode.Server.Core.API\ReallifeGamemode.Server.Core.API.csproj" />
|
||||||
|
<ProjectReference Include="..\ReallifeGamemode.Server.Types\ReallifeGamemode.Server.Types.csproj" />
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
|
</Project>
|
||||||
@@ -0,0 +1,27 @@
|
|||||||
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
|
|
||||||
|
<PropertyGroup>
|
||||||
|
<TargetFramework>netstandard2.1</TargetFramework>
|
||||||
|
<Platforms>AnyCPU;x64</Platforms>
|
||||||
|
</PropertyGroup>
|
||||||
|
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
|
||||||
|
<PlatformTarget>x64</PlatformTarget>
|
||||||
|
</PropertyGroup>
|
||||||
|
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||||
|
<PlatformTarget>x64</PlatformTarget>
|
||||||
|
</PropertyGroup>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<ProjectReference Include="..\ReallifeGamemode.Server.Common\ReallifeGamemode.Server.Common.csproj" />
|
||||||
|
<ProjectReference Include="..\ReallifeGamemode.Server.Core.API\ReallifeGamemode.Server.Core.API.csproj" />
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<Reference Include="Bootstrapper">
|
||||||
|
<HintPath>..\Import\Bootstrapper.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
|
</Project>
|
||||||
@@ -0,0 +1,14 @@
|
|||||||
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
|
|
||||||
|
<PropertyGroup>
|
||||||
|
<TargetFramework>netstandard2.1</TargetFramework>
|
||||||
|
<Platforms>AnyCPU;x64</Platforms>
|
||||||
|
</PropertyGroup>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<PackageReference Include="Microsoft.Extensions.Logging" Version="3.1.3" />
|
||||||
|
<PackageReference Include="Microsoft.Extensions.Logging.Console" Version="3.1.3" />
|
||||||
|
<PackageReference Include="Microsoft.Extensions.Logging.Debug" Version="3.1.3" />
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
|
</Project>
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
|
|
||||||
|
<PropertyGroup>
|
||||||
|
<TargetFramework>netstandard2.1</TargetFramework>
|
||||||
|
<Platforms>AnyCPU;x64</Platforms>
|
||||||
|
</PropertyGroup>
|
||||||
|
|
||||||
|
</Project>
|
||||||
@@ -284,7 +284,7 @@ namespace ReallifeGamemode.Server.Commands
|
|||||||
deadPlayerUser.BankAccount.Balance -= bankMoney;
|
deadPlayerUser.BankAccount.Balance -= bankMoney;
|
||||||
}
|
}
|
||||||
|
|
||||||
dbContext.Factions.Include(f => f.BankAccount).Where(f => f.Id == 2).First().BankAccount.Balance += 100;
|
dbContext.Factions.Include(f => f.BankAccount).Where(f => f.Id == 2).First().BankAccount.Balance += Medic.ReviveIncome;
|
||||||
|
|
||||||
dbContext.SaveChanges();
|
dbContext.SaveChanges();
|
||||||
|
|
||||||
@@ -292,7 +292,7 @@ namespace ReallifeGamemode.Server.Commands
|
|||||||
|
|
||||||
deadPlayer.TriggerEvent("onPlayerRevived");
|
deadPlayer.TriggerEvent("onPlayerRevived");
|
||||||
deadPlayer.SendNotification($"Du wurdest von ~y~{player.Name}~s~ für ~g~{100.ToMoneyString()} ~s~wiederbelebt.");
|
deadPlayer.SendNotification($"Du wurdest von ~y~{player.Name}~s~ für ~g~{100.ToMoneyString()} ~s~wiederbelebt.");
|
||||||
player.SendNotification($"Du hast ~y~{deadPlayer.Name}~s~ wiederbelebt.");
|
player.SendNotification($"Du hast ~y~{deadPlayer.Name}~s~ wiederbelebt und ~g~{Medic.ReviveIncome}$ ~s~für die Fraktion verdient.");
|
||||||
deadPlayer.SetData("isDead", false);
|
deadPlayer.SetData("isDead", false);
|
||||||
using (var dbContext1 = new DatabaseContext())
|
using (var dbContext1 = new DatabaseContext())
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -232,8 +232,13 @@ namespace ReallifeGamemode.Server.Events
|
|||||||
dbContext.SaveChanges();
|
dbContext.SaveChanges();
|
||||||
}
|
}
|
||||||
player.RemoveAllWeapons();
|
player.RemoveAllWeapons();
|
||||||
Medic.delReviveTasks(player);
|
//Medic.delReviveTasks(player);
|
||||||
NAPI.Player.SpawnPlayer(player, new Vector3(-495.45, -336.33, 34.5), -98.36f);
|
NAPI.Player.SpawnPlayer(player, new Vector3(-495.45, -336.33, 34.5), -98.36f);
|
||||||
}
|
}
|
||||||
|
[RemoteEvent("MedicTaskTimeout")]
|
||||||
|
public void RemoveMedicTask(Player player)
|
||||||
|
{
|
||||||
|
Medic.delReviveTasks(player);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,6 +4,9 @@ using Newtonsoft.Json;
|
|||||||
using ReallifeGamemode.Server.Services;
|
using ReallifeGamemode.Server.Services;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using ReallifeGamemode.Services;
|
using ReallifeGamemode.Services;
|
||||||
|
using ReallifeGamemode.Database.Entities;
|
||||||
|
using ReallifeGamemode.Database.Models;
|
||||||
|
using Microsoft.EntityFrameworkCore;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @overview Life of German Reallife - Server Factions Medic Medic.cs
|
* @overview Life of German Reallife - Server Factions Medic Medic.cs
|
||||||
@@ -18,6 +21,7 @@ namespace ReallifeGamemode.Server.Factions.Medic
|
|||||||
public static List<MedicTask> ReviveTasks = new List<MedicTask>();
|
public static List<MedicTask> ReviveTasks = new List<MedicTask>();
|
||||||
public static List<MedicTask> HealTasks = new List<MedicTask>();
|
public static List<MedicTask> HealTasks = new List<MedicTask>();
|
||||||
public static List<MedicTask> FireTasks = new List<MedicTask>();
|
public static List<MedicTask> FireTasks = new List<MedicTask>();
|
||||||
|
public static int ReviveIncome = 500;
|
||||||
|
|
||||||
public static void AddTaskToList(MedicTask task)
|
public static void AddTaskToList(MedicTask task)
|
||||||
{
|
{
|
||||||
@@ -119,7 +123,7 @@ namespace ReallifeGamemode.Server.Factions.Medic
|
|||||||
}
|
}
|
||||||
|
|
||||||
[RemoteEvent("delReviveTask")]
|
[RemoteEvent("delReviveTask")]
|
||||||
public void delReviveTask(Player player)
|
public static void delReviveTasks(Player player)
|
||||||
{
|
{
|
||||||
MedicTask task = ReviveTasks.FirstOrDefault(t => t.Victim == player.Name);
|
MedicTask task = ReviveTasks.FirstOrDefault(t => t.Victim == player.Name);
|
||||||
RemoveTaskFromList(task);
|
RemoveTaskFromList(task);
|
||||||
@@ -131,11 +135,31 @@ namespace ReallifeGamemode.Server.Factions.Medic
|
|||||||
RemoveTaskFromList(task);
|
RemoveTaskFromList(task);
|
||||||
player.SetData("healauftrag", false);
|
player.SetData("healauftrag", false);
|
||||||
}
|
}
|
||||||
public static void delReviveTasks(Player player)
|
|
||||||
|
[RemoteEvent("RemoveMedicCheckpoint")]
|
||||||
|
public void RemoveMedicCheckpoint(Player player)
|
||||||
{
|
{
|
||||||
MedicTask task = ReviveTasks.FirstOrDefault(t => t.Victim == player.Name);
|
MedicTask task = ReviveTasks.FirstOrDefault(t => t.Victim == player.Name);
|
||||||
RemoveTaskFromList(task);
|
var medic = PlayerService.GetPlayerByNameOrId(task.MedicName);
|
||||||
|
medic.TriggerEvent("checkPointTimeout");
|
||||||
|
medic.SendNotification("Der Auftrag wurde abgebrochen da du nicht innerhalb der vogegebenen Zeit am Einsatzort warst!");
|
||||||
|
|
||||||
}
|
}
|
||||||
|
[RemoteEvent("CutMedicEarnings")]
|
||||||
|
public void CutMedicEarnings(Player player)
|
||||||
|
{
|
||||||
|
MedicTask task = ReviveTasks.FirstOrDefault(t => t.Victim == player.Name);
|
||||||
|
var medic = PlayerService.GetPlayerByNameOrId(task.MedicName);
|
||||||
|
medic.TriggerEvent("cutMedicEarnings");
|
||||||
|
}
|
||||||
|
[RemoteEvent("payCutMedicEarnings")]
|
||||||
|
public void PayCutMedicEarnings(Player player)
|
||||||
|
{
|
||||||
|
using var dbContext = new DatabaseContext();
|
||||||
|
dbContext.Factions.Include(f => f.BankAccount).Where(f => f.Id == 2).First().BankAccount.Balance += Medic.ReviveIncome / 2;
|
||||||
|
player.SendNotification($"Du hast den Einsatzort erreicht und ~g~{Medic.ReviveIncome / 2}$ ~s~für die Fraktion verdient, da der Spieler bereits aus dem Krankenhaus entlassen wurde.");
|
||||||
|
dbContext.SaveChanges();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user