Skip to content

Commit 7df82ac

Browse files
committed
update:(declarations)
1 parent 607cfec commit 7df82ac

File tree

5 files changed

+173
-17
lines changed

5 files changed

+173
-17
lines changed

declare.lua

+133-9
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,143 @@
1+
---@alias game
2+
---|>'"common"' # Runs on any game, but can't access game-specific APIs - only CitizenFX APIs.
3+
---|> '"gta4"' # Runs on LibertyM.
4+
---|> '"gta5"' # Runs on FiveM.
5+
---|> '"rdr3"' # Runs on RedM.
6+
7+
--- fxmanifest resource metadata
8+
---
9+
--- Resource citizenfx manifest version
10+
---@param version string
11+
function fx_version(version)end
12+
13+
--- fxmanifest resource metadata
14+
---
15+
--- Resource game version
16+
---@param game game
17+
function game(game)end
18+
19+
--- fxmanifest resource metadata
20+
---
21+
--- Resource games
22+
---@param games game[]
23+
function games(games)end
24+
25+
---@alias lua_version
26+
---|>'yes' # Lua 5.4 GLM
27+
---|> 'no' # CfxLua 5.3
28+
29+
--- fxmanifest resource metadata
30+
---
31+
--- Resource lua version use lua 5.4
32+
---@param lua_version lua_version
33+
function lua54(lua_version)end
34+
35+
--- fxmanifest resource metadata
36+
---
37+
--- Resource descriptor
38+
---@param description string
39+
function description(description)end
40+
41+
--- fxmanifest resource metadata
42+
---
43+
--- Resource author
44+
---@param author string
45+
function author(author)end
46+
47+
--- fxmanifest resource metadata
48+
---
49+
--- Resource repository
50+
---@param repository string
51+
function repository(repository)end
52+
53+
--- fxmanifest resource metadata
54+
---
55+
--- Resource version
56+
---@param version string
57+
function version(version)end
58+
59+
--- fxmanifest resource metadata
60+
---
61+
--- Resource files
62+
---@param files string[]
63+
function files(files)end
64+
65+
--- fxmanifest resource metadata
66+
---
67+
--- Resource file
68+
---@param file string
69+
function file(file)end
70+
71+
--- fxmanifest resource metadata
72+
---
73+
--- Resource shared scripts list
74+
---@param shared_scripts table
75+
function shared_scripts(shared_scripts)end
76+
77+
--- fxmanifest resource metadata
78+
---
79+
--- Resource shared script
80+
---@param shared_script string
81+
function shared_script(shared_script)end
82+
83+
--- fxmanifest resource metadata
84+
---
85+
--- Resource client scripts list
86+
---@param client_scripts table
87+
function client_scripts(client_scripts)end
88+
89+
--- fxmanifest resource metadata
90+
---
91+
--- Resource client script
92+
---@param client_script string
93+
function client_script(client_script)end
94+
95+
--- fxmanifest resource metadata
96+
---
97+
--- Resource server scripts list
98+
---@param server_scripts table
99+
function server_scripts(server_scripts)end
100+
101+
--- fxmanifest resource metadata
102+
---
103+
--- Resource server script
104+
---@param server_script string
105+
function server_script(server_script)end
106+
107+
--- fxmanifest resource metadata
108+
---
109+
--- Resource dependency list
110+
---@param dependencies table
111+
function dependencies(dependencies)end
112+
113+
--- fxmanifest resource metadata
114+
---
115+
--- Resource dependency
116+
---@param dependency string
117+
function dependency(dependency)end
118+
119+
---@class deferrals
120+
---@field public defer fun(): void
121+
---@field public presentCard fun(card: table, cb: fun(data: table, rawData: string): void): void
122+
---@field public update fun(message: string): void
123+
---@field public done fun(failureReason: string): void
124+
1125
---@class vector2
2-
---@field x number
3-
---@field y number
126+
---@field public x number
127+
---@field public y number
4128
---@overload fun(x: number, y: number): vector2
5129

6130
---@class vector3
7-
---@field x number
8-
---@field y number
9-
---@field z number
131+
---@field public x number
132+
---@field public y number
133+
---@field public z number
10134
---@overload fun(x: number, y: number, z: number): vector3
11135

12136
---@class vector4
13-
---@field x number
14-
---@field y number
15-
---@field z number
16-
---@field w number
137+
---@field public x number
138+
---@field public y number
139+
---@field public z number
140+
---@field public w number
17141
---@overload fun(x: number, y: number, z: number, w: number): vector4
18142

19143
---@class StateBag

fxmanifest.lua

+1-3
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,4 @@ files {
1919
'system/**',
2020
'enums/**',
2121
'lib/**',
22-
};
23-
24-
dependencies { 'yarn', 'webpack' };
22+
};

lib/entity/classes/ped/ped.lua

+19
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
local SET_PED_DEFAULT_COMPONENT_VARIATION = SetPedDefaultComponentVariation;
22
local SET_PED_RANDOM_COMPONENT_VARIATION = SetPedRandomComponentVariation;
33
local CLEAR_PED_BLOOD_DAMAGE = ClearPedBloodDamage;
4+
local GIVE_WEAPON_TO_PED = GiveWeaponToPed;
5+
local REMOVE_WEAPON_FROM_PED = RemoveWeaponFromPed;
46

57
---@class lib.entity.ped: lib.entity
68
---@field public handle number
@@ -26,4 +28,21 @@ function Ped:ClearBloodDamage()
2628
CLEAR_PED_BLOOD_DAMAGE(self:GetHandle());
2729
end
2830

31+
---@param name string
32+
---@param ammo number
33+
---@param forceInHand boolean
34+
function Ped:AddWeapon(name, ammo, forceInHand)
35+
---todo: Create Weapon Class
36+
assert(type(name) == 'string', 'weaponName must be a string');
37+
local hash = lib.game.hash(name:upper());
38+
GIVE_WEAPON_TO_PED(self:GetHandle(), hash, ammo, false, forceInHand);
39+
end
40+
41+
---@param name string
42+
function Ped:RemoveWeapon(name)
43+
assert(type(name) == 'string', 'weaponName must be a string');
44+
local hash = lib.game.hash(name:upper());
45+
REMOVE_WEAPON_FROM_PED(self:GetHandle(), hash);
46+
end
47+
2948
return Ped;

lib/entity/classes/player/net.lua

+18-3
Original file line numberDiff line numberDiff line change
@@ -22,10 +22,19 @@ function Player:Constructor(id)
2222

2323
end
2424

25-
---@param id number
25+
---@param id number | lib.entity.player.net
2626
---@return lib.entity.player.net
2727
function Player.Get(id)
28-
return typeof(id) == 'lib.entity.player.net' and id or lib.entity.players[tonumber(id)];
28+
return is_instance(id) and id or lib.entity.players[tonumber(id)];
29+
end
30+
31+
---@param id number | lib.entity.player.net
32+
function Player.Remove(id)
33+
local player = Player.Get(id);
34+
if (player) then
35+
lib.entity.players[player.id] = nil;
36+
PLAYERS_IDENTIFIERS[player.identifier] = nil;
37+
end
2938
end
3039

3140
---@return lib.entity.player.net[]
@@ -57,7 +66,7 @@ end
5766
---@param player? lib.entity.player.net
5867
---@return boolean
5968
function Player.IsValid(player)
60-
if (typeof(player) == 'lib.entity.player.net') then
69+
if (is_instance(player)) then
6170

6271
local ped = player:GetPed();
6372

@@ -104,4 +113,10 @@ function Player:ShowNotification(message, hudColorIndex, isTranslation, ...)
104113
lib.game.notification:SendTo(self.id, message, hudColorIndex, isTranslation, ...);
105114
end
106115

116+
---@param reason string
117+
function Player:Kick(reason)
118+
DropPlayer(self.id, reason);
119+
self:Remove();
120+
end
121+
107122
return Player;

package.json

+2-2
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
"author": "JustGod",
1010
"license": "ISC",
1111
"dependencies": {
12-
"discord.js": "^14.11.0",
13-
"mongodb": "^3.6.3"
12+
"discord.js": "14.11.0",
13+
"mongodb": "3.7.4"
1414
}
1515
}

0 commit comments

Comments
 (0)