Skip to content

Commit 8ef43b5

Browse files
authored
Ox core event examples (#263)
* docs(ox_core): Improvements to server events * docs(ox_core): Improvements to client events * docs(ox_core): Add account examples * Define character object seperately
1 parent b2fac72 commit 8ef43b5

File tree

3 files changed

+591
-108
lines changed

3 files changed

+591
-108
lines changed

pages/ox_core/Events/client.mdx

Lines changed: 219 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { Callout } from 'nextra/components';
1+
import { Callout, Tabs } from 'nextra/components';
22

33
# Client Events
44

@@ -10,26 +10,84 @@ These events are triggered by ox_core when an action occurs. You should not trig
1010

1111
When a character is loaded
1212

13-
```lua
14-
function(playerId: number, isNew: boolean)
15-
```
13+
<Tabs items={['Lua', 'JS']}>
14+
<Tabs.Tab>
15+
```lua copy
16+
AddEventHandler('ox:playerLoaded', function(playerId, isNew)
17+
print(playerId, isNew)
18+
end)
19+
```
20+
</Tabs.Tab>
21+
<Tabs.Tab>
22+
```ts copy
23+
on('ox:playerLoaded', (playerId: number, isNew: boolean) => {
24+
console.log(playerId, isNew);
25+
});
26+
```
27+
</Tabs.Tab>
28+
</Tabs>
29+
30+
* playerId: `number`
31+
* isNew?: `boolean`
1632

1733
## ox:statusTick
1834

1935
On each status tick, returning changed statuses
2036

21-
```lua
22-
function(statuses: Record<string, number>)
23-
```
37+
<Tabs items={['Lua', 'JS']}>
38+
<Tabs.Tab>
39+
```lua copy
40+
AddEventHandler('ox:statusTick', function(statuses)
41+
print(json.encode(statuses))
42+
end)
43+
```
44+
* statuses: `table<string, number>`
45+
</Tabs.Tab>
46+
<Tabs.Tab>
47+
```ts copy
48+
on('ox:statusTick', (statuses: Record<string, number>) => {
49+
console.log(statuses);
50+
});
51+
```
52+
* statuses: `Record<string, number>`
53+
</Tabs.Tab>
54+
</Tabs>
55+
2456

2557
## ox:playerDeath
2658

2759
When the character has died
2860

61+
<Tabs items={['Lua', 'JS']}>
62+
<Tabs.Tab>
63+
```lua copy
64+
AddEventHandler('ox:playerDeath', function() end)
65+
```
66+
</Tabs.Tab>
67+
<Tabs.Tab>
68+
```ts copy
69+
on('ox:playerDeath', () => {});
70+
```
71+
</Tabs.Tab>
72+
</Tabs>
73+
2974
## ox:playerRevived
3075

3176
When the character is revived
3277

78+
<Tabs items={['Lua', 'JS']}>
79+
<Tabs.Tab>
80+
```lua copy
81+
AddEventHandler('ox:playerRevived', function() end)
82+
```
83+
</Tabs.Tab>
84+
<Tabs.Tab>
85+
```ts copy
86+
on('ox:playerRevived', () => {});
87+
```
88+
</Tabs.Tab>
89+
</Tabs>
90+
3391
---
3492

3593
# Net Events
@@ -38,38 +96,177 @@ When the character is revived
3896

3997
When the character is added or removed from a group
4098

41-
```lua
42-
function(groupName: string, grade?: number)
43-
```
99+
<Tabs items={['Lua', 'JS']}>
100+
<Tabs.Tab>
101+
```lua copy
102+
RegisterNetEvent('ox:setGroup', function(groupName, grade)
103+
print(groupName, grade)
104+
end)
105+
```
106+
</Tabs.Tab>
107+
<Tabs.Tab>
108+
```ts copy
109+
onNet('ox:setGroup', (groupName: string, grade: number) => {
110+
console.log(groupName, grade);
111+
});
112+
```
113+
</Tabs.Tab>
114+
</Tabs>
115+
116+
* groupName: `string`
117+
* grade?: `number`
44118

45119
## ox:licenseAdded
46120

47121
When the character got a new license
48122

49-
```lua
50-
function(licenseName: string)
51-
```
123+
<Tabs items={['Lua', 'JS']}>
124+
<Tabs.Tab>
125+
```lua copy
126+
RegisterNetEvent('ox:licenseAdded', function(licenseName)
127+
print(licenseName)
128+
end)
129+
```
130+
</Tabs.Tab>
131+
<Tabs.Tab>
132+
```ts copy
133+
onNet('ox:licenseAdded', (licenseName: string) => {
134+
console.log(licenseName);
135+
});
136+
```
137+
</Tabs.Tab>
138+
</Tabs>
139+
140+
* licenseName: `string`
52141

53142
## ox:licenseRemoved
54143

55144
When a character's license is removed.
56145

57-
```lua
58-
function(licenseName: string)
59-
```
146+
<Tabs items={['Lua', 'JS']}>
147+
<Tabs.Tab>
148+
```lua copy
149+
RegisterNetEvent('ox:licenseRemoved', function(licenseName)
150+
print(licenseName)
151+
end)
152+
```
153+
</Tabs.Tab>
154+
<Tabs.Tab>
155+
```ts copy
156+
onNet('ox:licenseRemoved', (licenseName: string) => {
157+
console.log(licenseName);
158+
});
159+
```
160+
</Tabs.Tab>
161+
</Tabs>
162+
163+
* licenseName: `string`
60164

61165
## ox:startCharacterSelect
62166

63167
When the player has spawned.
64168

65-
```lua
66-
function(userId: number, characters: Character[])
67-
```
169+
<Tabs items={['Lua', 'JS']}>
170+
<Tabs.Tab>
171+
```lua copy
172+
RegisterNetEvent('ox:startCharacterSelect', function(userId, characters)
173+
print(userId, characters)
174+
end)
175+
```
176+
* userId: `number`
177+
* characters: `Character[]`
178+
179+
Character
180+
* `table`
181+
* charId: `number`
182+
* stateId: `number`
183+
* firstname: `string`
184+
* lastname: `string`
185+
* gender: `string`
186+
* x?: `number`
187+
* y?: `number`
188+
* z?: `number`
189+
* lastPlayed?: `string`
190+
* Date format `%d/%m/%Y (dd/mm/yyyy)`
191+
</Tabs.Tab>
192+
<Tabs.Tab>
193+
```ts copy
194+
onNet('ox:startCharacterSelect', (userId: number, characters: Character[]) => {
195+
console.log(userId, characters);
196+
});
197+
```
198+
199+
* userId: `number`
200+
* characters: `Character[]`
201+
202+
Character
203+
* `object`
204+
* charId: `number`
205+
* stateId: `number`
206+
* firstname: `string`
207+
* lastname: `string`
208+
* gender: `string`
209+
* x?: `number`
210+
* y?: `number`
211+
* z?: `number`
212+
* lastPlayed?: `string`
213+
* Date format `%d/%m/%Y (dd/mm/yyyy)`
214+
</Tabs.Tab>
215+
</Tabs>
68216

69217
## ox:setActiveCharacter
70218

71219
When the player has chosen their character.
72220

73-
```lua
74-
function(character: Character, groups: Record<string, number>)
75-
```
221+
<Tabs items={['Lua', 'JS']}>
222+
<Tabs.Tab>
223+
```lua copy
224+
RegisterNetEvent('ox:setActiveCharacter', function(character, groups)
225+
print(character, groups)
226+
end)
227+
```
228+
* character: `Character`
229+
* groups: `table<string, number>`
230+
231+
Character
232+
* `table`
233+
* charId: `number`
234+
* stateId: `number`
235+
* firstname: `string`
236+
* lastname: `string`
237+
* gender: `string`
238+
* x?: `number`
239+
* y?: `number`
240+
* z?: `number`
241+
* lastPlayed?: `string`
242+
* Date format `%d/%m/%Y (dd/mm/yyyy)`
243+
* health?: `number`
244+
* armour?: `number`
245+
* isNew?: `boolean`
246+
</Tabs.Tab>
247+
<Tabs.Tab>
248+
```ts copy
249+
onNet('ox:setActiveCharacter', (character: Character, groups: Record<string, number>) => {
250+
console.log(character, groups);
251+
});
252+
```
253+
* character: `Character`
254+
* groups: `Record<string, number>`
255+
256+
Character
257+
* `object`
258+
* charId: `number`
259+
* stateId: `number`
260+
* firstname: `string`
261+
* lastname: `string`
262+
* gender: `string`
263+
* x?: `number`
264+
* y?: `number`
265+
* z?: `number`
266+
* lastPlayed?: `string`
267+
* Date format `%d/%m/%Y (dd/mm/yyyy)`
268+
* health?: `number`
269+
* armour?: `number`
270+
* isNew?: `boolean`
271+
</Tabs.Tab>
272+
</Tabs>

0 commit comments

Comments
 (0)