Merge branch 'develop' of ssh://development.life-of-german.org:451/log-gtav/reallife-gamemode into develop
This commit is contained in:
@@ -7,13 +7,13 @@ before_script:
|
|||||||
- "git submodule sync --recursive"
|
- "git submodule sync --recursive"
|
||||||
- "git submodule update --init --recursive"
|
- "git submodule update --init --recursive"
|
||||||
|
|
||||||
build:
|
build:develop:
|
||||||
stage: build
|
stage: build
|
||||||
only:
|
only:
|
||||||
- develop@log-gtav/reallife-gamemode
|
- develop@log-gtav/reallife-gamemode
|
||||||
script:
|
script:
|
||||||
- "dotnet restore"
|
- "dotnet restore"
|
||||||
- "../gm_database_password.sh"
|
- "../gm_dev_database_password.sh"
|
||||||
- "cd ReallifeGamemode.Server/"
|
- "cd ReallifeGamemode.Server/"
|
||||||
- "dotnet build -c Release"
|
- "dotnet build -c Release"
|
||||||
- "cd ../ReallifeGamemode.Client/"
|
- "cd ../ReallifeGamemode.Client/"
|
||||||
@@ -22,4 +22,21 @@ build:
|
|||||||
- "cd ../ReallifeGamemode.DataService"
|
- "cd ../ReallifeGamemode.DataService"
|
||||||
- "dotnet publish -c Release -r linux-x64"
|
- "dotnet publish -c Release -r linux-x64"
|
||||||
- "cd ../"
|
- "cd ../"
|
||||||
- "sudo ../gm_copy_build_files.sh"
|
- "sudo ../gm_dev_copy_build_files.sh"
|
||||||
|
|
||||||
|
build:master:
|
||||||
|
stage: build
|
||||||
|
only:
|
||||||
|
- web
|
||||||
|
script:
|
||||||
|
- "dotnet restore"
|
||||||
|
- "../gm_live_database_password.sh"
|
||||||
|
- "cd ReallifeGamemode.Server/"
|
||||||
|
- "dotnet build -c Release"
|
||||||
|
- "cd ../ReallifeGamemode.Client/"
|
||||||
|
- "npm ci"
|
||||||
|
- "npm run build:server"
|
||||||
|
- "cd ../ReallifeGamemode.DataService"
|
||||||
|
- "dotnet publish -c Release -r linux-x64"
|
||||||
|
- "cd ../"
|
||||||
|
- "sudo ../gm_live_copy_build_files.sh"
|
||||||
|
|||||||
@@ -57,6 +57,7 @@ cityHall(globalData);
|
|||||||
|
|
||||||
import adminSpeed from './admin/aspeed';
|
import adminSpeed from './admin/aspeed';
|
||||||
adminSpeed();
|
adminSpeed();
|
||||||
|
|
||||||
import voice from './Voice/main';
|
import voice from './Voice/main';
|
||||||
voice(globalData);
|
voice(globalData);
|
||||||
|
|
||||||
|
|||||||
@@ -263,9 +263,9 @@
|
|||||||
self.attacker = null;
|
self.attacker = null;
|
||||||
//self.blip.setFlashes(false);
|
//self.blip.setFlashes(false);
|
||||||
mp.game.invoke(Natives.SET_BLIP_FLASHES, self.blip, false);
|
mp.game.invoke(Natives.SET_BLIP_FLASHES, self.blip, false);
|
||||||
self.blip.destroy();
|
//self.blip.destroy();
|
||||||
self.setColor(self.owner);
|
self.setColor(self.owner);
|
||||||
self.blip.setColour(self.color);
|
//self.blip.setColour(self.color);
|
||||||
mp.game.invoke(Natives.SET_BLIP_COLOUR, self.blip, self.color);
|
mp.game.invoke(Natives.SET_BLIP_COLOUR, self.blip, self.color);
|
||||||
self.setLeaderColShape();
|
self.setLeaderColShape();
|
||||||
return;
|
return;
|
||||||
|
|||||||
18
ReallifeGamemode.Database/Entities/ServerVariable.cs
Normal file
18
ReallifeGamemode.Database/Entities/ServerVariable.cs
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
using System.ComponentModel.DataAnnotations.Schema;
|
||||||
|
using GTANetworkAPI;
|
||||||
|
|
||||||
|
namespace ReallifeGamemode.Database.Entities
|
||||||
|
{
|
||||||
|
public partial class ServerVariable
|
||||||
|
{
|
||||||
|
[Key]
|
||||||
|
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
|
||||||
|
public int Id { get; set; }
|
||||||
|
|
||||||
|
public string Variable { get; set; }
|
||||||
|
|
||||||
|
public int Value { get; set; }
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
1882
ReallifeGamemode.Database/Migrations/20210331203931_SVars.Designer.cs
generated
Normal file
1882
ReallifeGamemode.Database/Migrations/20210331203931_SVars.Designer.cs
generated
Normal file
File diff suppressed because it is too large
Load Diff
51
ReallifeGamemode.Database/Migrations/20210331203931_SVars.cs
Normal file
51
ReallifeGamemode.Database/Migrations/20210331203931_SVars.cs
Normal file
@@ -0,0 +1,51 @@
|
|||||||
|
using Microsoft.EntityFrameworkCore.Metadata;
|
||||||
|
using Microsoft.EntityFrameworkCore.Migrations;
|
||||||
|
|
||||||
|
namespace ReallifeGamemode.Database.Migrations
|
||||||
|
{
|
||||||
|
public partial class SVars : Migration
|
||||||
|
{
|
||||||
|
protected override void Up(MigrationBuilder migrationBuilder)
|
||||||
|
{
|
||||||
|
migrationBuilder.AddColumn<int>(
|
||||||
|
name: "failpoints",
|
||||||
|
table: "Users",
|
||||||
|
nullable: false,
|
||||||
|
defaultValue: 0);
|
||||||
|
|
||||||
|
migrationBuilder.AddColumn<int>(
|
||||||
|
name: "warn",
|
||||||
|
table: "Users",
|
||||||
|
nullable: false,
|
||||||
|
defaultValue: 0);
|
||||||
|
|
||||||
|
migrationBuilder.CreateTable(
|
||||||
|
name: "ServerVariables",
|
||||||
|
columns: table => new
|
||||||
|
{
|
||||||
|
Id = table.Column<int>(nullable: false)
|
||||||
|
.Annotation("MySql:ValueGenerationStrategy", MySqlValueGenerationStrategy.IdentityColumn),
|
||||||
|
Variable = table.Column<string>(nullable: true),
|
||||||
|
Value = table.Column<int>(nullable: false)
|
||||||
|
},
|
||||||
|
constraints: table =>
|
||||||
|
{
|
||||||
|
table.PrimaryKey("PK_ServerVariables", x => x.Id);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override void Down(MigrationBuilder migrationBuilder)
|
||||||
|
{
|
||||||
|
migrationBuilder.DropTable(
|
||||||
|
name: "ServerVariables");
|
||||||
|
|
||||||
|
migrationBuilder.DropColumn(
|
||||||
|
name: "failpoints",
|
||||||
|
table: "Users");
|
||||||
|
|
||||||
|
migrationBuilder.DropColumn(
|
||||||
|
name: "warn",
|
||||||
|
table: "Users");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1121,6 +1121,23 @@ namespace ReallifeGamemode.Database.Migrations
|
|||||||
b.ToTable("TextLabels");
|
b.ToTable("TextLabels");
|
||||||
});
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("ReallifeGamemode.Database.Entities.ServerVariable", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
b.Property<int>("Value")
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
b.Property<string>("Variable")
|
||||||
|
.HasColumnType("longtext CHARACTER SET utf8mb4");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.ToTable("ServerVariables");
|
||||||
|
});
|
||||||
|
|
||||||
modelBuilder.Entity("ReallifeGamemode.Database.Entities.ServerVehicle", b =>
|
modelBuilder.Entity("ReallifeGamemode.Database.Entities.ServerVehicle", b =>
|
||||||
{
|
{
|
||||||
b.Property<int>("Id")
|
b.Property<int>("Id")
|
||||||
@@ -1415,12 +1432,18 @@ namespace ReallifeGamemode.Database.Migrations
|
|||||||
b.Property<bool>("WeaponLicense")
|
b.Property<bool>("WeaponLicense")
|
||||||
.HasColumnType("tinyint(1)");
|
.HasColumnType("tinyint(1)");
|
||||||
|
|
||||||
|
b.Property<int>("failpoints")
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
b.Property<int>("otheramount")
|
b.Property<int>("otheramount")
|
||||||
.HasColumnType("int");
|
.HasColumnType("int");
|
||||||
|
|
||||||
b.Property<int>("trashcount")
|
b.Property<int>("trashcount")
|
||||||
.HasColumnType("int");
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
b.Property<int>("warn")
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
b.HasKey("Id");
|
b.HasKey("Id");
|
||||||
|
|
||||||
b.HasIndex("BanId");
|
b.HasIndex("BanId");
|
||||||
|
|||||||
@@ -152,6 +152,9 @@ namespace ReallifeGamemode.Database.Models
|
|||||||
|
|
||||||
//ItemShop
|
//ItemShop
|
||||||
public DbSet<Entities.ShopItem> ShopItems { get; set; }
|
public DbSet<Entities.ShopItem> ShopItems { get; set; }
|
||||||
|
|
||||||
|
//Server Variablen
|
||||||
|
public DbSet<Entities.ServerVariable> ServerVariables { get; set; }
|
||||||
}
|
}
|
||||||
|
|
||||||
public class DesignTimeDbContextFactory : IDesignTimeDbContextFactory<DatabaseContext>
|
public class DesignTimeDbContextFactory : IDesignTimeDbContextFactory<DatabaseContext>
|
||||||
|
|||||||
@@ -1727,6 +1727,17 @@ namespace ReallifeGamemode.Server.Commands
|
|||||||
|
|
||||||
#region ALevel1337
|
#region ALevel1337
|
||||||
|
|
||||||
|
[Command("setsvar", "~m~Benutzung:~s~ /setsvar [ID] [WERT]")]
|
||||||
|
public void CmdAdmSetSvar(Player player, int varId, int varValue)
|
||||||
|
{
|
||||||
|
if (!player.GetUser()?.IsAdmin(AdminLevel.PROJEKTLEITUNG) ?? true)
|
||||||
|
{
|
||||||
|
ChatService.NotAuthorized(player);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
Managers.SVarManager.ChangeSVarValue(player, varId, varValue);
|
||||||
|
}
|
||||||
|
|
||||||
[Command("createturf", "~m~Benutzung:~s~ /createturf [radius]")]
|
[Command("createturf", "~m~Benutzung:~s~ /createturf [radius]")]
|
||||||
public void CmdAdmCreateTurf(Player player, float option)
|
public void CmdAdmCreateTurf(Player player, float option)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -2,6 +2,7 @@
|
|||||||
using System.Linq;
|
using System.Linq;
|
||||||
using GTANetworkAPI;
|
using GTANetworkAPI;
|
||||||
using ReallifeGamemode.Database.Models;
|
using ReallifeGamemode.Database.Models;
|
||||||
|
using ReallifeGamemode.Server.Extensions;
|
||||||
using ReallifeGamemode.Server.Managers;
|
using ReallifeGamemode.Server.Managers;
|
||||||
using ReallifeGamemode.Server.Services;
|
using ReallifeGamemode.Server.Services;
|
||||||
using ReallifeGamemode.Server.Types;
|
using ReallifeGamemode.Server.Types;
|
||||||
@@ -29,22 +30,40 @@ namespace ReallifeGamemode.Server.Events
|
|||||||
|
|
||||||
bool registered = false;
|
bool registered = false;
|
||||||
|
|
||||||
|
var whitelistStatus = Managers.SVarManager.SVars.FirstOrDefault(v => v.Variable == "WhitelistStatus").Value;
|
||||||
|
|
||||||
using (var dbContext = new DatabaseContext())
|
using (var dbContext = new DatabaseContext())
|
||||||
{
|
{
|
||||||
registered = dbContext.Users.Where(u => u.Name == player.Name).Any();
|
registered = dbContext.Users.Where(u => u.Name == player.Name).Any();
|
||||||
|
switch (whitelistStatus)
|
||||||
|
{
|
||||||
|
case 0: //Whitelist aus
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 1: //Whitelist aktiv (Main-Server)
|
||||||
|
if (dbContext.Users.FirstOrDefault(u => u.SocialClubName == player.SocialClubName).AdminLevel < AdminLevel.MAPPING)
|
||||||
|
{
|
||||||
|
NAPI.Util.ConsoleOutput(player.Name + " versucht sich einzuloggen während die Whitelist an ist. [STATUS 1]");
|
||||||
|
player.Kick();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 2: //Whitelist aktiv (Test-Server)
|
||||||
if (!dbContext.WhitelistEntries.Any(w => w.SocialClubName == player.SocialClubName))
|
if (!dbContext.WhitelistEntries.Any(w => w.SocialClubName == player.SocialClubName))
|
||||||
{
|
{
|
||||||
string msg2 = "~m~*** " + player.Name + "[" + player.SocialClubName + "] (" + player.Address + ") hat versucht, sich einzuloggen, steht aber nicht auf der Whitelist.";
|
string msg2 = "~m~*** " + player.Name + "[" + player.SocialClubName + "] (" + player.Address + ") hat versucht, sich einzuloggen, steht aber nicht auf der Whitelist.";
|
||||||
ChatService.BroadcastAdmin(msg2, AdminLevel.ADMIN);
|
ChatService.BroadcastAdmin(msg2, AdminLevel.ADMIN);
|
||||||
|
|
||||||
NAPI.Util.ConsoleOutput(player.Name + " tried to join without whitelist entry");
|
NAPI.Util.ConsoleOutput(player.Name + " tried to join without whitelist entry [STATUS 2]");
|
||||||
|
|
||||||
ChatService.SendMessage(player, "~m~Du stehst nicht auf der Whitelist");
|
ChatService.SendMessage(player, "~m~Du stehst nicht auf der Whitelist");
|
||||||
|
|
||||||
player.Kick();
|
player.Kick();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (IsPlayerBanned(player)) return;
|
if (IsPlayerBanned(player)) return;
|
||||||
|
|||||||
@@ -546,13 +546,7 @@ namespace ReallifeGamemode.Server.Events
|
|||||||
player.TriggerEvent("renderTextOnScreen", "Steige nun in eines der Fahrzeuge und starte den Motor mit der Taste 'N'.");
|
player.TriggerEvent("renderTextOnScreen", "Steige nun in eines der Fahrzeuge und starte den Motor mit der Taste 'N'.");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}else
|
} else if (nearestJobPoint.jobId == 3 && player.GetUser().JobId == 3)
|
||||||
{
|
|
||||||
player.SendNotification("~r~[Fehler] ~w~ Du hast diesen Job nicht angenommen.");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (nearestJobPoint.jobId == 3 && player.GetUser().JobId == 3)
|
|
||||||
{
|
{
|
||||||
if (nearestJobPoint.Skill < 300 && player.GetUser().PilotSkill >= 0)
|
if (nearestJobPoint.Skill < 300 && player.GetUser().PilotSkill >= 0)
|
||||||
{
|
{
|
||||||
@@ -569,12 +563,12 @@ namespace ReallifeGamemode.Server.Events
|
|||||||
player.TriggerEvent("renderTextOnScreen", "Steige nun in eines der Flugzeuge und starte den Motor mit der Taste 'N'.");
|
player.TriggerEvent("renderTextOnScreen", "Steige nun in eines der Flugzeuge und starte den Motor mit der Taste 'N'.");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}else
|
}
|
||||||
|
else
|
||||||
{
|
{
|
||||||
player.SendNotification("~r~[Fehler] ~w~ Du hast diesen Job nicht angenommen.");
|
player.SendChatMessage("~y~[JOB] ~r~Dein Skilllevel ist noch zu niedrig.");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (nearestJobPoint.Skill >= 300 && player.GetUser().PilotSkill >= 300)
|
if (nearestJobPoint.Skill >= 300 && player.GetUser().PilotSkill >= 300)
|
||||||
{
|
{
|
||||||
if (job.GetUsersInJob().Contains(player))
|
if (job.GetUsersInJob().Contains(player))
|
||||||
@@ -596,7 +590,8 @@ namespace ReallifeGamemode.Server.Events
|
|||||||
player.SendChatMessage("~y~[JOB] ~r~Dein Skilllevel ist noch zu niedrig.");
|
player.SendChatMessage("~y~[JOB] ~r~Dein Skilllevel ist noch zu niedrig.");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}else
|
}
|
||||||
|
else
|
||||||
{
|
{
|
||||||
player.SendNotification("~r~[Fehler] ~w~ Du hast diesen Job nicht angenommen.");
|
player.SendNotification("~r~[Fehler] ~w~ Du hast diesen Job nicht angenommen.");
|
||||||
return;
|
return;
|
||||||
|
|||||||
@@ -268,6 +268,7 @@ namespace ReallifeGamemode.Server.Gangwar
|
|||||||
}
|
}
|
||||||
ChatService.BroadcastFaction("~y~[GANGWAR] ~w~Deine Fraktion hat erfolgreich das Gebiet ~g~" + getName() + "~w~ verteidigt.", dbContext.Factions.Where(f => f.Name == getOwner()).FirstOrDefault());
|
ChatService.BroadcastFaction("~y~[GANGWAR] ~w~Deine Fraktion hat erfolgreich das Gebiet ~g~" + getName() + "~w~ verteidigt.", dbContext.Factions.Where(f => f.Name == getOwner()).FirstOrDefault());
|
||||||
ChatService.BroadcastFaction("~y~[GANGWAR] ~w~Deine Fraktion hat den Angrif auf das Gebiet ~r~" + getName() + "~w~ verloren.", dbContext.Factions.Where(f => f.Name == getAttacker()).FirstOrDefault());
|
ChatService.BroadcastFaction("~y~[GANGWAR] ~w~Deine Fraktion hat den Angrif auf das Gebiet ~r~" + getName() + "~w~ verloren.", dbContext.Factions.Where(f => f.Name == getAttacker()).FirstOrDefault());
|
||||||
|
dbContext.Factions.Include(f => f.BankAccount).Where(f => f.Name == getOwner()).First().BankAccount.Balance += 15000;
|
||||||
}
|
}
|
||||||
else if (getOwner() != FactionName)
|
else if (getOwner() != FactionName)
|
||||||
{
|
{
|
||||||
@@ -284,6 +285,7 @@ namespace ReallifeGamemode.Server.Gangwar
|
|||||||
}
|
}
|
||||||
this.Owner = FactionName;
|
this.Owner = FactionName;
|
||||||
ChatService.BroadcastFaction("~y~[GANGWAR] ~w~Deine Fraktion konnte erfolgreich das Gebiet ~g~" + getName() + "~w~ erobern.", dbContext.Factions.Where(f => f.Name == getOwner()).FirstOrDefault());
|
ChatService.BroadcastFaction("~y~[GANGWAR] ~w~Deine Fraktion konnte erfolgreich das Gebiet ~g~" + getName() + "~w~ erobern.", dbContext.Factions.Where(f => f.Name == getOwner()).FirstOrDefault());
|
||||||
|
dbContext.Factions.Include(f => f.BankAccount).Where(f => f.Name == getOwner()).First().BankAccount.Balance += 10000;
|
||||||
Turfs turf = dbContext.Turfs.Where(t => t.Id == getId()).FirstOrDefault();
|
Turfs turf = dbContext.Turfs.Where(t => t.Id == getId()).FirstOrDefault();
|
||||||
turf.Owner = this.Owner;
|
turf.Owner = this.Owner;
|
||||||
turf.FactionId = dbContext.Factions.Where(f => f.Name == this.Owner).FirstOrDefault().Id;
|
turf.FactionId = dbContext.Factions.Where(f => f.Name == this.Owner).FirstOrDefault().Id;
|
||||||
|
|||||||
@@ -220,18 +220,18 @@ namespace ReallifeGamemode.Server.Job
|
|||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
using (var dbContext = new DatabaseContext())
|
||||||
|
{
|
||||||
foreach (var data in muellmanData)
|
foreach (var data in muellmanData)
|
||||||
{
|
{
|
||||||
if (data.getDataFromClient(player) == null) continue;
|
if (data.getDataFromClient(player) == null) continue;
|
||||||
Player target = data.getPartnerClient(player);
|
Player target = data.getPartnerClient(player);
|
||||||
User user1 = player.GetUser();
|
User user1 = player.GetUser(dbContext);
|
||||||
User user2 = target.GetUser();
|
User user2 = target.GetUser(dbContext);
|
||||||
using (var dbContext = new DatabaseContext())
|
|
||||||
{
|
//user1 = player.GetUser(dbContext);
|
||||||
user1 = player.GetUser(dbContext);
|
//user2 = target.GetUser(dbContext);
|
||||||
user2 = target.GetUser(dbContext);
|
/*user1.trashcount += 1;
|
||||||
user1.trashcount += 1;
|
|
||||||
|
|
||||||
if (user1.trashcount == 20)
|
if (user1.trashcount == 20)
|
||||||
{
|
{
|
||||||
@@ -249,11 +249,12 @@ namespace ReallifeGamemode.Server.Job
|
|||||||
target.SendChatMessage("~y~Dies ist dein 20ter Müllsack.");
|
target.SendChatMessage("~y~Dies ist dein 20ter Müllsack.");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
dbContext.SaveChanges();
|
dbContext.SaveChanges();
|
||||||
}
|
|
||||||
player.AddAttachment("binbag", true);
|
player.AddAttachment("binbag", true);
|
||||||
if (target != null)
|
*/
|
||||||
if (player.GetUser().trashcount >= 20)
|
|
||||||
|
if (player.GetUser(dbContext).trashcount >= 20)
|
||||||
{
|
{
|
||||||
ChatService.SendMessage((Player)player, "~y~Job: ~s~Der Müllwagen ist voll. Fahre nun zurück zur Recyclinganlage!");
|
ChatService.SendMessage((Player)player, "~y~Job: ~s~Der Müllwagen ist voll. Fahre nun zurück zur Recyclinganlage!");
|
||||||
if (target != null)
|
if (target != null)
|
||||||
@@ -265,10 +266,8 @@ namespace ReallifeGamemode.Server.Job
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
using (var dbContext = new DatabaseContext())
|
//user1 = player.GetUser(dbContext);
|
||||||
{
|
//user2 = target.GetUser(dbContext);
|
||||||
user1 = player.GetUser(dbContext);
|
|
||||||
user2 = target.GetUser(dbContext);
|
|
||||||
user1.trashcount += 1;
|
user1.trashcount += 1;
|
||||||
player.SendNotification("Müllsack: " + user1.trashcount + " von 20.");
|
player.SendNotification("Müllsack: " + user1.trashcount + " von 20.");
|
||||||
if (target != null)
|
if (target != null)
|
||||||
@@ -278,10 +277,9 @@ namespace ReallifeGamemode.Server.Job
|
|||||||
}
|
}
|
||||||
dbContext.SaveChanges();
|
dbContext.SaveChanges();
|
||||||
}
|
}
|
||||||
}
|
|
||||||
player.AddAttachment("binbag", true);
|
player.AddAttachment("binbag", true);
|
||||||
if (target != null)
|
|
||||||
if (player.GetUser().trashcount >= 20)
|
if (player.GetUser(dbContext).trashcount >= 20)
|
||||||
{
|
{
|
||||||
ChatService.SendMessage((Player)player, "~y~Job: ~s~Der Müllwagen ist voll. Fahre nun zurück zur Recyclinganlage!");
|
ChatService.SendMessage((Player)player, "~y~Job: ~s~Der Müllwagen ist voll. Fahre nun zurück zur Recyclinganlage!");
|
||||||
if (target != null)
|
if (target != null)
|
||||||
@@ -293,15 +291,20 @@ namespace ReallifeGamemode.Server.Job
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
//user1 = player.GetUser(dbContext);
|
||||||
|
//user2 = target.GetUser(dbContext);
|
||||||
|
|
||||||
if (target != null)
|
if (target != null)
|
||||||
{
|
{
|
||||||
player.GetUser().Wage += 10;
|
user1.Wage += 10;
|
||||||
target.GetUser().Wage += 10;
|
user2.Wage += 10;
|
||||||
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
player.GetUser().Wage += 20;
|
user1.Wage += 20;
|
||||||
|
}
|
||||||
|
dbContext.SaveChanges();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
@@ -321,25 +324,24 @@ namespace ReallifeGamemode.Server.Job
|
|||||||
if (target != null) ChatService.SendMessage((Player)target, $"~y~Job: ~s~Fahrzeug wurde entleert. Säcke: {target.GetUser().trashcount}");
|
if (target != null) ChatService.SendMessage((Player)target, $"~y~Job: ~s~Fahrzeug wurde entleert. Säcke: {target.GetUser().trashcount}");
|
||||||
ChatService.SendMessage((Player)player, $"~y~Job: ~s~Fahrzeug wurde entleert. Säcke: {player.GetUser().trashcount}");
|
ChatService.SendMessage((Player)player, $"~y~Job: ~s~Fahrzeug wurde entleert. Säcke: {player.GetUser().trashcount}");
|
||||||
//bonus pro sack
|
//bonus pro sack
|
||||||
|
using (var dbContext = new DatabaseContext())
|
||||||
|
{
|
||||||
|
User user1 = player.GetUser(dbContext);
|
||||||
|
User user2 = target.GetUser(dbContext);
|
||||||
|
|
||||||
if (target != null)
|
if (target != null)
|
||||||
{
|
{
|
||||||
player.GetUser().Wage += 100;
|
user1.Wage += 100;
|
||||||
target.GetUser().Wage += 100;
|
user2.Wage += 100;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
player.GetUser().Wage += 200;
|
user1.Wage += 200;
|
||||||
}
|
}
|
||||||
User user1 = player.GetUser();
|
|
||||||
User user2 = target.GetUser();
|
|
||||||
using (var dbContext = new DatabaseContext())
|
|
||||||
{
|
|
||||||
user1 = player.GetUser(dbContext);
|
|
||||||
user2 = target.GetUser(dbContext);
|
|
||||||
|
|
||||||
user1.trashcount -= user1.trashcount;
|
user1.trashcount -= user1.trashcount;
|
||||||
if (target != null)
|
if (target != null) user2.trashcount -= user2.trashcount;
|
||||||
user2.trashcount -= user2.trashcount;
|
|
||||||
dbContext.SaveChanges();
|
dbContext.SaveChanges();
|
||||||
}
|
}
|
||||||
Console.WriteLine($"[DATA DEBUG] vehicle: {data.vehicle.DisplayName} | Players: {data.getClientsFromData().Count} | Säcke: {data.getTrashCount()}");
|
Console.WriteLine($"[DATA DEBUG] vehicle: {data.vehicle.DisplayName} | Players: {data.getClientsFromData().Count} | Säcke: {data.getTrashCount()}");
|
||||||
|
|||||||
@@ -153,6 +153,8 @@ namespace ReallifeGamemode.Server
|
|||||||
|
|
||||||
ThreadTimers.StartAllTimers();
|
ThreadTimers.StartAllTimers();
|
||||||
|
|
||||||
|
Managers.SVarManager.LoadSVars();
|
||||||
|
|
||||||
UserBankAccount.BalanceChanged += (account) =>
|
UserBankAccount.BalanceChanged += (account) =>
|
||||||
{
|
{
|
||||||
using (var dbContext = new DatabaseContext())
|
using (var dbContext = new DatabaseContext())
|
||||||
@@ -167,6 +169,9 @@ namespace ReallifeGamemode.Server
|
|||||||
{
|
{
|
||||||
user.Player.TriggerEvent("SERVER:SET_HANDMONEY", user.Handmoney);
|
user.Player.TriggerEvent("SERVER:SET_HANDMONEY", user.Handmoney);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
//IPLS
|
||||||
|
NAPI.World.RequestIpl("vw_casino_garage");
|
||||||
}
|
}
|
||||||
|
|
||||||
[RemoteEvent("CLIENT:Event")]
|
[RemoteEvent("CLIENT:Event")]
|
||||||
|
|||||||
45
ReallifeGamemode.Server/Managers/SVarManager.cs
Normal file
45
ReallifeGamemode.Server/Managers/SVarManager.cs
Normal file
@@ -0,0 +1,45 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Text;
|
||||||
|
using System.Linq;
|
||||||
|
using GTANetworkAPI;
|
||||||
|
using ReallifeGamemode.Database.Entities;
|
||||||
|
using ReallifeGamemode.Database.Models;
|
||||||
|
using ReallifeGamemode.Server.Services;
|
||||||
|
|
||||||
|
namespace ReallifeGamemode.Server.Managers
|
||||||
|
{
|
||||||
|
|
||||||
|
public class SVarManager : Script
|
||||||
|
{
|
||||||
|
public static List<ServerVariable> SVars = new List<ServerVariable>();
|
||||||
|
|
||||||
|
public static void LoadSVars()
|
||||||
|
{
|
||||||
|
using (var dbContext = new DatabaseContext())
|
||||||
|
{
|
||||||
|
SVars = dbContext.ServerVariables.Select(row => row).ToList();
|
||||||
|
foreach(var svar in SVars)
|
||||||
|
{
|
||||||
|
System.Console.WriteLine("[SVAR][" + svar.Id + "] " + svar.Variable + " = " + svar.Value);
|
||||||
|
}
|
||||||
|
System.Console.WriteLine("Geladene Server Variablen [" + SVars.Count() + "]");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void ChangeSVarValue(Player player, int varId, int varValue)
|
||||||
|
{
|
||||||
|
using (var dbContext = new DatabaseContext())
|
||||||
|
{
|
||||||
|
var changeValue = dbContext.ServerVariables.FirstOrDefault(v => v.Id == varId);
|
||||||
|
var oldValue = changeValue.Value;
|
||||||
|
SVars.FirstOrDefault(v => v.Id == varId).Value = varValue;
|
||||||
|
changeValue.Value = varValue;
|
||||||
|
dbContext.SaveChanges();
|
||||||
|
|
||||||
|
ChatService.SendMessage(player, "~r~Wert von Server Variable ~o~" + changeValue.Variable + "~r~ in ~g~ " + varValue + "~r~geändert. Alter Wert: ~y~" + oldValue);
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user