Add BankBalance to Infobox; Iprove Player Feedback; Add /gotolist

This commit is contained in:
VegaZ
2018-10-17 22:00:01 +02:00
parent 99d418f12c
commit 59cad13c7f
7 changed files with 120 additions and 25 deletions

View File

@@ -34,6 +34,7 @@ var nSecond;
var playerName;
var playerId;
var playerMoney;
mp.events.add("draw", (pName, pId) => {
playerName = pName;
@@ -42,6 +43,10 @@ mp.events.add("draw", (pName, pId) => {
});
//function currencyFormatDE(num) {
// return ('$' + num.toFixed(2).replace('.', ',').replace(/(\d)(?=(\d{3})+(?!\d))/g, '$1.'));
//}
mp.events.add("render", () => {
if (draw === true) {
@@ -114,25 +119,35 @@ mp.events.add("render", () => {
dateString = nDay + ". " + nMonth + " " + year;
timeString = nHour + ":" + nMinute + ":" + nSecond + " Uhr";
playerMoney = mp.players.local.getVariable("money");
mp.game.graphics.requestStreamedTextureDict("digitaloverlay", true);
//static
mp.game.graphics.drawSprite("digitaloverlay", "static1", posX, posY, width, height, 0, 0, 255, 0, 88);
//mp.game.graphics.drawRect(posX, posY, width, height, colorR, colorG, colorB, colorA);
mp.game.graphics.drawText(playerName + " (" + playerId + ")", [0.92, 0.351],
{
font: 4,
color: [255, 255, 255, 255],
scale: [0.5, 0.5],
outline: true
})
{
font: 4,
color: [255, 255, 255, 255],
scale: [0.5, 0.5],
outline: true
})
mp.game.graphics.drawText(dateString + "\n" + timeString, [0.938, 0.381],
{
font: 4,
color: [255, 255, 255, 255],
scale: [0.5, 0.5],
outline: true
})
{
font: 4,
color: [255, 255, 255, 255],
scale: [0.5, 0.5],
outline: true
})
mp.game.graphics.drawText("~g~$~s~" + playerMoney, [0.938, 0.441],
{
font: 4,
color: [255, 255, 255, 255],
scale: [0.5, 0.5],
outline: true
})
mp.game.graphics.drawText("~r~Datum: ", [0.89, 0.381],
{
font: 4,
@@ -141,11 +156,18 @@ mp.events.add("render", () => {
outline: true
})
mp.game.graphics.drawText("~r~Uhrzeit: ", [0.891, 0.411],
{
font: 4,
color: [255, 255, 255, 255],
scale: [0.5, 0.5],
outline: true
})
{
font: 4,
color: [255, 255, 255, 255],
scale: [0.5, 0.5],
outline: true
})
mp.game.graphics.drawText("~y~Bank: ", [0.887, 0.441],
{
font: 4,
color: [255, 255, 255, 255],
scale: [0.5, 0.5],
outline: true
})
}
});

View File

@@ -687,10 +687,11 @@ namespace reallife_gamemode.Server.Commands
{
using (var dbContext = new DatabaseContext())
{
Entities.GotoPoint p = dbContext.GotoPoints.FirstOrDefault(x => x.Description == description);
GotoPoint p = dbContext.GotoPoints.FirstOrDefault(x => x.Description == description);
if(p == null)
{
SaveManager.SaveGotoPoint(player, description);
SaveManager.SaveGotoPoint(player, description);
player.SendNotification("Goto-Punkt ~g~" + description + "~s~ gespeichert.", true);
}
else
{
@@ -707,6 +708,7 @@ namespace reallife_gamemode.Server.Commands
Vehicle vehicle = player.Vehicle;
SaveManager.SaveVehicleData((VehicleHash)vehicle.Model, vehicle.Position, vehicle.Heading, vehicle.NumberPlate,
Convert.ToByte(vehicle.PrimaryColor), Convert.ToByte(vehicle.SecondaryColor), vehicle.Locked, vehicle.EngineStatus, Convert.ToByte(vehicle.Dimension));
player.SendNotification("Fahrzeug ~g~" + vehicle.DisplayName + "~s~ gespeichert.", true);
}
else player.SendChatMessage("~m~Du sitzt in keinem Fahrzeug!");
@@ -726,6 +728,7 @@ namespace reallife_gamemode.Server.Commands
Convert.ToByte(vehicle.PrimaryColor), Convert.ToByte(vehicle.SecondaryColor), vehicle.Locked, vehicle.EngineStatus, Convert.ToByte(vehicle.Dimension), player.GetUser().FactionId);
vehicle.SetData("factionId", player.GetUser().FactionId);
LoadManager.FactionVehicleList.Add(vehicle);
player.SendNotification("Fraktionsfahrzeug ~g~" + vehicle.DisplayName + "~s~ gespeichert.", true);
}
}
else player.SendChatMessage("~m~Du sitzt in keinem Fahrzeug!");
@@ -737,6 +740,7 @@ namespace reallife_gamemode.Server.Commands
SaveManager.SaveShopVehicleData((VehicleHash)vehicle.Model, vehicle.DisplayName, vehicle.Position, vehicle.Heading, vehicle.NumberPlate,
Convert.ToByte(vehicle.PrimaryColor), Convert.ToByte(vehicle.SecondaryColor), Convert.ToByte(vehicle.Dimension), player.GetUser().FactionId);
LoadManager.ShopVehicleList.Add(vehicle);
player.SendNotification("Shopfahrzeug ~g~" + vehicle.DisplayName + "~s~ gespeichert.", true);
}
else player.SendChatMessage("~m~Du sitzt in keinem Fahrzeug!");
break;
@@ -1228,6 +1232,17 @@ namespace reallife_gamemode.Server.Commands
}
}
}
[Command("setmoney")]
public void SetPlayerMoney(Client player, string receiver, float amount)
{
if (!player.GetUser()?.IsAdmin(AdminLevel.ADMIN) ?? true)
{
ChatService.NotAuthorized(player);
return;
}
Client target = ClientService.GetClientByName(receiver);
target.SetSharedData("money", amount);
}
//TODO
[Command("fpay")]
public void FPay(Client player, string receiver, float amount)
@@ -1272,6 +1287,25 @@ namespace reallife_gamemode.Server.Commands
}
}
}
//TODO Als Browser anzeigeN??
[Command("gotolist")]
public void CmdAdminGotoList(Client player)
{
if (!player.GetUser()?.IsAdmin(AdminLevel.ADMIN) ?? true)
{
ChatService.NotAuthorized(player);
return;
}
var gotoString = "";
foreach(GotoPoint point in LoadManager.GotoPointList)
{
if(point.Active)
{
gotoString += point.Description + ", ";
}
}
player.SendChatMessage(gotoString);
}
[Command("saveall")]
public void SaveAll(Client player)
{

View File

@@ -32,7 +32,7 @@ namespace reallife_gamemode.Server.Events
if (user.SocialClubName != player.SocialClubName && user.Password == NAPI.Util.GetHashSha256(password))
{
player.TriggerEvent("loginDeny", "Dieser Benutzer gehört dir nicht!");
//Log einbauen für den bösen Bub.
//TODO ?? Log einbauen für den bösen Bub.
player.Kick();
}
if (user.Password != NAPI.Util.GetHashSha256(password))
@@ -47,7 +47,8 @@ namespace reallife_gamemode.Server.Events
player.SetData("isLoggedIn", true);
player.SetData("spec", true);
player.TriggerEvent("draw", player.Name, player.Handle.Value);
//player.Position = new Vector3(user.PositionX, user.PositionY, user.PositionZ);
var userBankAccount = loginUser.UserBankAccounts.SingleOrDefault(u => u.UserId == user.Id);
player.SetSharedData("money", userBankAccount.Balance); //Lädt den aktuellen Kontostand des Users aus der DB
}
}
}

View File

@@ -24,13 +24,27 @@ namespace reallife_gamemode.Server.Events
{
using (var registerUser = new Model.DatabaseContext())
{
var user = new Entities.User { Name = player.Name, SocialClubName = player.SocialClubName, Password = NAPI.Util.GetHashSha256(password) };
var user = new Entities.User
{
Name = player.Name,
SocialClubName = player.SocialClubName,
Password = NAPI.Util.GetHashSha256(password)
};
registerUser.Users.Add(user);
registerUser.SaveChanges();
var userBankAccount = new Entities.UserBankAccount
{
UserId = user.Id,
Balance = 5000,
Active = true
};
registerUser.UserBankAccounts.Add(userBankAccount);
registerUser.SaveChanges();
}
player.TriggerEvent("registerSuccess");
NAPI.Player.SpawnPlayer(player, Main.DEFAULT_SPAWN_POSITION, Main.DEFAULT_SPAWN_HEADING);
player.SetData("isLoggedIn", true);
player.TriggerEvent("draw", player.Name, player.Handle.Value);
}
else if (player.SocialClubName == checkedUser.SocialClubName)
{

22
Server/Events/Update.cs Normal file
View File

@@ -0,0 +1,22 @@
using System;
using System.Collections.Generic;
using System.Text;
using GTANetworkAPI;
/**
* @overview Life of German Reallife - Event Update (Update.cs)
* @author VegaZ
* @copyright (c) 2008 - 2018 Life of German
*/
namespace reallife_gamemode.Server.Events
{
public class Update : Script
{
[ServerEvent(Event.Update)]
public void OnUpdate()
{
}
}
}

View File

@@ -34,7 +34,7 @@ namespace reallife_gamemode.Server.Managers
b.Color, b.Name, b.Alpha, b.DrawDistance, b.ShortRange, (short) b.Rotation, b.Dimension);
}
}
foreach (Entities.GotoPoint g in loadData.GotoPoints)
foreach (GotoPoint g in loadData.GotoPoints)
{
if (g.Active == true)
{
@@ -66,9 +66,10 @@ namespace reallife_gamemode.Server.Managers
Vehicle current = NAPI.Vehicle.CreateVehicle((uint)v.Model, new Vector3(v.PositionX, v.PositionY, v.PositionZ), v.Heading, (v.PrimaryColor),
v.SecondaryColor, v.NumberPlate, v.Alpha, false, false, v.Dimension);
ShopVehicleList.Add(current);
current.Health = -4000;
NAPI.Vehicle.SetVehicleEngineHealth(current, 0);
var tLabel = NAPI.TextLabel.CreateTextLabel(v.ModelName + " | " + v.Price + "~g~$", new Vector3(v.PositionX, v.PositionY, v.PositionZ + 1.5), 10, 1, 0, new Color(255, 255, 255), false, v.Dimension);
current.SetData("shopVehicleId", v.Id);
tLabel.AttachTo(current, "SKEL_ROOT", new Vector3(v.PositionX, v.PositionY, v.PositionZ + 1.5), new Vector3(0, 0, 0));
}
}
foreach (UserVehicle v in loadData.UserVehicles)

View File

@@ -139,6 +139,7 @@ namespace reallife_gamemode.Server.Events
};
saveData.GotoPoints.Add(dataSet);
saveData.SaveChanges();
LoadManager.GotoPointList.Add(dataSet);
}
}
public static void SaveAllOnSave()