Files
reallife-gamemode/ReallifeGamemode.Server/Managers/WeaponManager.cs
Lukas Moungos aa31a9280e try fix
2019-12-13 19:32:26 +01:00

144 lines
3.3 KiB
C#

using GTANetworkAPI;
using System;
using System.Collections.Generic;
using System.Text;
namespace ReallifeGamemode.Server.Managers
{
class WeaponManager
{
private static readonly List<string> _modWeapons = new List<string>()
{
"dagger",
"bat",
"bottle",
"crowbar",
"flashlight",
"golfclub",
"hammer",
"hatchet",
"knuckle",
"knife",
"machete",
"switchblade",
"nightstick",
"wrench",
"battleaxe",
"poolcue",
"stone_hatchet",
"pistol",
"pistol_mk2",
"combatpistol",
"appistol",
"stungun",
"pistol50",
"snspistol",
"snspistol_mk2",
"heavypistol",
"vintagepistol",
"flaregun",
"marksmanpistol",
"revolver",
"revolver_mk2",
"doubleaction",
"raypistol",
"ceramicpistol",
"navyrevolver",
"microsmg",
"smg",
"smg_mk2",
"assaultsmg",
"combatpdw",
"machinepistol",
"raycarbine",
"pumpshotgun",
"pumpshotgun_mk2",
"sawnoffshotgun",
"assaultshotgun",
"bullpupshotgun",
"musket",
"heavyshotgun",
"dbshotgun",
"autoshotgun",
"assaultrifle",
"assaultrifle_mk2",
"carbinerifle",
"carbinerifle_mk2",
"advancedrifle",
"specialcarbine",
"specialcarbine_mk2",
"bullpuprifle",
"bullpuprifle_mk2",
"compactrifle",
"mg",
"combatmg",
"combatmg_mk2",
"gusenberg",
"sniperrifle",
"heavysniper",
"heavysniper_mk2",
"marksmanrifle",
"marksmanrifle_mk2",
"rpg",
"grenadelauncher",
"grenadelauncher_smoke",
"minigun",
"firework",
"railgun",
"hominglauncher",
"compactlauncher",
"rayminigun",
"grenade",
"bzgas",
"molotov",
"stickybomb",
"proxmine",
"snowball",
"pipebomb",
"ball",
"smokegrenade",
"flare",
"petrolcan",
"parachute",
"fireextinguisher"
};
public static bool IsValidHash(uint hash)
{
foreach (WeaponHash vh in Enum.GetValues(typeof(WeaponHash)))
{
if ((uint)vh == hash) return true;
}
foreach (string mod in _modWeapons)
{
if (NAPI.Util.GetHashKey($"weapon_{mod}") == hash) return true;
}
return false;
}
public static String GetWeaponNameByHash(uint hash)
{
foreach (WeaponHash vh in Enum.GetValues(typeof(WeaponHash)))
{
if ((uint)vh == hash)
{
foreach (string w in _modWeapons)
{
if (NAPI.Util.GetHashKey(w) == hash)
{
return w;
}
}
}
}
return "unbekannt";
}
}
}