Add BankBalance to Infobox; Iprove Player Feedback; Add /gotolist
This commit is contained in:
@@ -34,6 +34,7 @@ var nSecond;
|
|||||||
|
|
||||||
var playerName;
|
var playerName;
|
||||||
var playerId;
|
var playerId;
|
||||||
|
var playerMoney;
|
||||||
|
|
||||||
mp.events.add("draw", (pName, pId) => {
|
mp.events.add("draw", (pName, pId) => {
|
||||||
playerName = pName;
|
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", () => {
|
mp.events.add("render", () => {
|
||||||
|
|
||||||
if (draw === true) {
|
if (draw === true) {
|
||||||
@@ -114,6 +119,8 @@ mp.events.add("render", () => {
|
|||||||
|
|
||||||
dateString = nDay + ". " + nMonth + " " + year;
|
dateString = nDay + ". " + nMonth + " " + year;
|
||||||
timeString = nHour + ":" + nMinute + ":" + nSecond + " Uhr";
|
timeString = nHour + ":" + nMinute + ":" + nSecond + " Uhr";
|
||||||
|
playerMoney = mp.players.local.getVariable("money");
|
||||||
|
|
||||||
mp.game.graphics.requestStreamedTextureDict("digitaloverlay", true);
|
mp.game.graphics.requestStreamedTextureDict("digitaloverlay", true);
|
||||||
//static
|
//static
|
||||||
mp.game.graphics.drawSprite("digitaloverlay", "static1", posX, posY, width, height, 0, 0, 255, 0, 88);
|
mp.game.graphics.drawSprite("digitaloverlay", "static1", posX, posY, width, height, 0, 0, 255, 0, 88);
|
||||||
@@ -133,6 +140,14 @@ mp.events.add("render", () => {
|
|||||||
scale: [0.5, 0.5],
|
scale: [0.5, 0.5],
|
||||||
outline: true
|
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],
|
mp.game.graphics.drawText("~r~Datum: ", [0.89, 0.381],
|
||||||
{
|
{
|
||||||
font: 4,
|
font: 4,
|
||||||
@@ -147,5 +162,12 @@ mp.events.add("render", () => {
|
|||||||
scale: [0.5, 0.5],
|
scale: [0.5, 0.5],
|
||||||
outline: true
|
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
|
||||||
|
})
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@@ -687,10 +687,11 @@ namespace reallife_gamemode.Server.Commands
|
|||||||
{
|
{
|
||||||
using (var dbContext = new DatabaseContext())
|
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)
|
if(p == null)
|
||||||
{
|
{
|
||||||
SaveManager.SaveGotoPoint(player, description);
|
SaveManager.SaveGotoPoint(player, description);
|
||||||
|
player.SendNotification("Goto-Punkt ~g~" + description + "~s~ gespeichert.", true);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -707,6 +708,7 @@ namespace reallife_gamemode.Server.Commands
|
|||||||
Vehicle vehicle = player.Vehicle;
|
Vehicle vehicle = player.Vehicle;
|
||||||
SaveManager.SaveVehicleData((VehicleHash)vehicle.Model, vehicle.Position, vehicle.Heading, vehicle.NumberPlate,
|
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));
|
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!");
|
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);
|
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);
|
vehicle.SetData("factionId", player.GetUser().FactionId);
|
||||||
LoadManager.FactionVehicleList.Add(vehicle);
|
LoadManager.FactionVehicleList.Add(vehicle);
|
||||||
|
player.SendNotification("Fraktionsfahrzeug ~g~" + vehicle.DisplayName + "~s~ gespeichert.", true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else player.SendChatMessage("~m~Du sitzt in keinem Fahrzeug!");
|
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,
|
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);
|
Convert.ToByte(vehicle.PrimaryColor), Convert.ToByte(vehicle.SecondaryColor), Convert.ToByte(vehicle.Dimension), player.GetUser().FactionId);
|
||||||
LoadManager.ShopVehicleList.Add(vehicle);
|
LoadManager.ShopVehicleList.Add(vehicle);
|
||||||
|
player.SendNotification("Shopfahrzeug ~g~" + vehicle.DisplayName + "~s~ gespeichert.", true);
|
||||||
}
|
}
|
||||||
else player.SendChatMessage("~m~Du sitzt in keinem Fahrzeug!");
|
else player.SendChatMessage("~m~Du sitzt in keinem Fahrzeug!");
|
||||||
break;
|
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
|
//TODO
|
||||||
[Command("fpay")]
|
[Command("fpay")]
|
||||||
public void FPay(Client player, string receiver, float amount)
|
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")]
|
[Command("saveall")]
|
||||||
public void SaveAll(Client player)
|
public void SaveAll(Client player)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -32,7 +32,7 @@ namespace reallife_gamemode.Server.Events
|
|||||||
if (user.SocialClubName != player.SocialClubName && user.Password == NAPI.Util.GetHashSha256(password))
|
if (user.SocialClubName != player.SocialClubName && user.Password == NAPI.Util.GetHashSha256(password))
|
||||||
{
|
{
|
||||||
player.TriggerEvent("loginDeny", "Dieser Benutzer gehört dir nicht!");
|
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();
|
player.Kick();
|
||||||
}
|
}
|
||||||
if (user.Password != NAPI.Util.GetHashSha256(password))
|
if (user.Password != NAPI.Util.GetHashSha256(password))
|
||||||
@@ -47,7 +47,8 @@ namespace reallife_gamemode.Server.Events
|
|||||||
player.SetData("isLoggedIn", true);
|
player.SetData("isLoggedIn", true);
|
||||||
player.SetData("spec", true);
|
player.SetData("spec", true);
|
||||||
player.TriggerEvent("draw", player.Name, player.Handle.Value);
|
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
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -24,13 +24,27 @@ namespace reallife_gamemode.Server.Events
|
|||||||
{
|
{
|
||||||
using (var registerUser = new Model.DatabaseContext())
|
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.Users.Add(user);
|
||||||
registerUser.SaveChanges();
|
registerUser.SaveChanges();
|
||||||
|
var userBankAccount = new Entities.UserBankAccount
|
||||||
|
{
|
||||||
|
UserId = user.Id,
|
||||||
|
Balance = 5000,
|
||||||
|
Active = true
|
||||||
|
};
|
||||||
|
registerUser.UserBankAccounts.Add(userBankAccount);
|
||||||
|
registerUser.SaveChanges();
|
||||||
}
|
}
|
||||||
player.TriggerEvent("registerSuccess");
|
player.TriggerEvent("registerSuccess");
|
||||||
NAPI.Player.SpawnPlayer(player, Main.DEFAULT_SPAWN_POSITION, Main.DEFAULT_SPAWN_HEADING);
|
NAPI.Player.SpawnPlayer(player, Main.DEFAULT_SPAWN_POSITION, Main.DEFAULT_SPAWN_HEADING);
|
||||||
player.SetData("isLoggedIn", true);
|
player.SetData("isLoggedIn", true);
|
||||||
|
player.TriggerEvent("draw", player.Name, player.Handle.Value);
|
||||||
}
|
}
|
||||||
else if (player.SocialClubName == checkedUser.SocialClubName)
|
else if (player.SocialClubName == checkedUser.SocialClubName)
|
||||||
{
|
{
|
||||||
|
|||||||
22
Server/Events/Update.cs
Normal file
22
Server/Events/Update.cs
Normal 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()
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -34,7 +34,7 @@ namespace reallife_gamemode.Server.Managers
|
|||||||
b.Color, b.Name, b.Alpha, b.DrawDistance, b.ShortRange, (short) b.Rotation, b.Dimension);
|
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)
|
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),
|
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);
|
v.SecondaryColor, v.NumberPlate, v.Alpha, false, false, v.Dimension);
|
||||||
ShopVehicleList.Add(current);
|
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);
|
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);
|
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)
|
foreach (UserVehicle v in loadData.UserVehicles)
|
||||||
|
|||||||
@@ -139,6 +139,7 @@ namespace reallife_gamemode.Server.Events
|
|||||||
};
|
};
|
||||||
saveData.GotoPoints.Add(dataSet);
|
saveData.GotoPoints.Add(dataSet);
|
||||||
saveData.SaveChanges();
|
saveData.SaveChanges();
|
||||||
|
LoadManager.GotoPointList.Add(dataSet);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
public static void SaveAllOnSave()
|
public static void SaveAllOnSave()
|
||||||
|
|||||||
Reference in New Issue
Block a user