Archived
Private
Public Access
1
0
This repository has been archived on 2026-02-04. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
ProjectBackup/C#/FiveM/Framework/Framework.Server/Handlers/JoinHandler.cs
2022-12-07 15:35:41 +01:00

33 lines
1.5 KiB
C#

using System;
using CitizenFX.Core;
using CitizenFX.Core.Native;
using Framework.Server.Extensions;
using Framework.Shared.Models;
namespace Framework.Server.Handlers {
public static class JoinHandler {
public static readonly Vector3 Spawn = new Vector3(258.7932f, -942.7487f, 29.3940f);
public static async void OnPlayerJoining([FromSource] Player player) {
API.SetPlayerRoutingBucket(player.Handle, player.ServerId());
API.SetRoutingBucketPopulationEnabled(player.ServerId(), false);
API.SetRoutingBucketEntityLockdownMode(player.ServerId(), "strict");
API.SetPlayerInvincible(player.Handle, true);
var identifier = "steam:" + player.Identifiers["steam"];
var result = await MySql.FetchAll($"SELECT * FROM players WHERE owner = '{identifier}'");
if (result.Length == 0) player.TriggerEvent("client:spawn:register");
else player.TriggerEvent("client:spawn:choose", result);
}
public static async void OnRegister([FromSource] Player player, dynamic dData) {
var data = new PlayerData(dData);
var identifier = "steam:" + player.Identifiers["steam"];
await MySql.Execute($"INSERT INTO players VALUES ('{identifier}', '{Guid.NewGuid()}', {data.sex}, {data.height}, '{data.firstName}', '{data.lastName}', '{data.birth}', '{data.skin}')");
player.Character.Position = Spawn;
}
}
}