Sani Erweiterung
This commit is contained in:
@@ -19,6 +19,7 @@ export default function deathScreen() {
|
||||
var deathDate: Date;
|
||||
|
||||
const maxDeathTime = 30;
|
||||
const medicJobTime = maxDeathTime * 2;
|
||||
|
||||
mp.game.gameplay.setFadeOutAfterDeath(false);
|
||||
|
||||
@@ -104,6 +105,12 @@ export default function deathScreen() {
|
||||
|
||||
} else {
|
||||
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 rangeLeft;
|
||||
var sortText;
|
||||
var deadRespawned = false;
|
||||
|
||||
var ticketName: string;
|
||||
var pointsName: string;
|
||||
@@ -462,6 +463,22 @@ export default function factionInteraction(globalData: IGlobalData) {
|
||||
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);
|
||||
}
|
||||
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', () => {
|
||||
if (activeTask) {
|
||||
@@ -486,7 +503,6 @@ export default function factionInteraction(globalData: IGlobalData) {
|
||||
} else {
|
||||
activeTask = false;
|
||||
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,15 +284,15 @@ namespace ReallifeGamemode.Server.Commands
|
||||
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();
|
||||
|
||||
player.PlayAnimation("amb@medic@standing@kneel@enter", "enter", 0);
|
||||
|
||||
deadPlayer.TriggerEvent("onPlayerRevived");
|
||||
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);
|
||||
using (var dbContext1 = new DatabaseContext())
|
||||
{
|
||||
|
||||
@@ -232,8 +232,13 @@ namespace ReallifeGamemode.Server.Events
|
||||
dbContext.SaveChanges();
|
||||
}
|
||||
player.RemoveAllWeapons();
|
||||
Medic.delReviveTasks(player);
|
||||
//Medic.delReviveTasks(player);
|
||||
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 System.Linq;
|
||||
using ReallifeGamemode.Services;
|
||||
using ReallifeGamemode.Database.Entities;
|
||||
using ReallifeGamemode.Database.Models;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
|
||||
/**
|
||||
* @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> HealTasks = new List<MedicTask>();
|
||||
public static List<MedicTask> FireTasks = new List<MedicTask>();
|
||||
public static int ReviveIncome = 500;
|
||||
|
||||
public static void AddTaskToList(MedicTask task)
|
||||
{
|
||||
@@ -119,7 +123,7 @@ namespace ReallifeGamemode.Server.Factions.Medic
|
||||
}
|
||||
|
||||
[RemoteEvent("delReviveTask")]
|
||||
public void delReviveTask(Player player)
|
||||
public static void delReviveTasks(Player player)
|
||||
{
|
||||
MedicTask task = ReviveTasks.FirstOrDefault(t => t.Victim == player.Name);
|
||||
RemoveTaskFromList(task);
|
||||
@@ -131,11 +135,31 @@ namespace ReallifeGamemode.Server.Factions.Medic
|
||||
RemoveTaskFromList(task);
|
||||
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);
|
||||
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