1
+ # Character
1
2
Base character class.
2
3
A character is a unique entity tied to a player client. Each client can have multiple characters.
3
4
The character stores information that is relevant to the gameplay, but not specific to the player themselves, for instance: their model, name, description, inventory, etc.
4
5
5
6
All characters that a player owns are loaded into server memory upon the client connecting.
6
7
7
8
## Methods
8
- ???+ realm-server "<a id =character :save ></a >character : save (callback)"
9
- ##### sv_character : save {#charactersave}
9
+ ???+ realm-server "<a id =Character :save ></a >Character : save (callback)"
10
+ ##### sv_Character : save {#charactersave}
10
11
Saves the character to the database and calls the callback if provided.
11
12
<h3 >Parameters:</h3 >
12
13
<span class =" types " ><span class =" type " >function</span ></span >
@@ -15,19 +16,19 @@ All characters that a player owns are loaded into server memory upon the client
15
16
16
17
17
18
18
- ???+ realm-server "<a id =character :sync ></a >character : sync (receiver)"
19
- ##### sv_character : sync {#charactersync}
19
+ ???+ realm-server "<a id =Character :sync ></a >Character : sync (receiver)"
20
+ ##### sv_Character : sync {#charactersync}
20
21
Sends character information to the receiver.
21
22
<h3 >Parameters:</h3 >
22
- <span class =" types " ><a class =" type " href = " ../Client# " >Client</a ></span >
23
+ <span class =" types " ><span class =" type " >Client</span ></span >
23
24
<span class =" parameter " >receiver</span >
24
- <em ><ins >optional</ins ></em >
25
+ <em ><ins >` optional ` </ins ></em >
25
26
who will receive synchronization, nil - so that all players receive.
26
27
27
28
28
29
29
- ???+ realm-server "<a id =character :setup ></a >character : setup (noNetworking)"
30
- ##### sv_character : setup {#charactersetup}
30
+ ???+ realm-server "<a id =Character :setup ></a >Character : setup (noNetworking)"
31
+ ##### sv_Character : setup {#charactersetup}
31
32
Sets up the "appearance" related information for the character.
32
33
<h3 >Parameters:</h3 >
33
34
<span class =" types " ><span class =" type " >boolean</span ></span >
@@ -36,12 +37,12 @@ All characters that a player owns are loaded into server memory upon the client
36
37
37
38
38
39
39
- ???+ realm-server "<a id =character :kick ></a >character : kick ()"
40
- ##### sv_character : kick {#characterkick}
40
+ ???+ realm-server "<a id =Character :kick ></a >Character : kick ()"
41
+ ##### sv_Character : kick {#characterkick}
41
42
Forces the player to choose a character.
42
43
43
- ???+ realm-server "<a id =character :ban ></a >character : ban (time)"
44
- ##### sv_character : ban {#characterban}
44
+ ???+ realm-server "<a id =Character :ban ></a >Character : ban (time)"
45
+ ##### sv_Character : ban {#characterban}
45
46
Prevents the use of this character permanently or for a certain amount of time.
46
47
<h3 >Parameters:</h3 >
47
48
<span class =" types " ><span class =" type " >integer</span ></span >
@@ -52,34 +53,159 @@ All characters that a player owns are loaded into server memory upon the client
52
53
53
54
<h3>Usage:</h3>
54
55
<ul>
55
- ```lua
56
+ ```lua linenums="1"
56
57
Entity(1):getChar():ban(3600) -- will send a character owned by a player with index 1 to a ban
57
58
58
59
```
59
60
</ul>
60
- ???+ realm-server "<a id =character :delete ></a >character : delete ()"
61
- ##### sv_character : delete {#characterdelete}
61
+ ???+ realm-server "<a id =Character :delete ></a >Character : delete ()"
62
+ ##### sv_Character : delete {#characterdelete}
62
63
Deletes this character from existence along with its associated data.
63
64
64
- ???+ realm-server "<a id =character :destroy ></a >character : destroy ()"
65
- ##### sv_character : destroy {#characterdestroy}
65
+ ???+ realm-server "<a id =Character :destroy ></a >Character : destroy ()"
66
+ ##### sv_Character : destroy {#characterdestroy}
66
67
!!! warning "Internal"
67
68
This is used internally - although you're able to use it you probably shouldn't.
68
69
Deletes this character from memory.
69
70
70
- ???+ realm-shared "<a id =character :getPlayer ></a >character : getPlayer ()"
71
- ##### sh_character : getPlayer {#charactergetplayer}
71
+ ???+ realm-shared "<a id =Character :getPlayer ></a >Character : getPlayer ()"
72
+ ##### sh_Character : getPlayer {#charactergetplayer}
72
73
Returns which player owns this character.
73
74
<h3 >Returns:</h3 >
74
75
<span class =" types " ><span class =" type " >player</span ></span >
75
76
The player who owns need character
76
77
77
78
79
+
78
80
<h3>Usage:</h3>
79
81
<ul>
80
- ```lua
82
+ ```lua linenums="1"
81
83
local charOwner = Entity(1):getChar():getPlayer()
82
84
charOwner:notify('test')
83
85
84
86
```
85
87
</ul>
88
+ ## Class-related methods
89
+
90
+ ???+ realm-shared "<a id =Character:joinClass ></a >Character: joinClass (class, isForced)"
91
+ ##### sh_Character: joinClass {#characterjoinclass}
92
+ Makes a character join a class
93
+ <h3 >Parameters:</h3 >
94
+ <span class =" types " ><span class =" type " >number</span ></span >
95
+ <span class =" parameter " >class</span >
96
+ Class index to join
97
+
98
+ <span class="types"><span class="type">boolean</span></span>
99
+ <span class="parameter">isForced</span>
100
+ <em><ins>`optional. default`: `false`</ins></em>
101
+ Bypass restrictions if true
102
+
103
+
104
+ <h3>Returns:</h3>
105
+ <span class="types"><span class="type">bool</span></span>
106
+ Whether join was successful
107
+
108
+
109
+
110
+ ???+ realm-shared "<a id =Character:kickClass ></a >Character: kickClass ()"
111
+ ##### sh_Character: kickClass {#characterkickclass}
112
+ Removes character from current class (joins default)
113
+
114
+ ## Currency-related methods
115
+
116
+ ???+ realm-shared "<a id =Character:hasMoney ></a >Character: hasMoney (amount)"
117
+ ##### sh_Character: hasMoney {#characterhasmoney}
118
+ Checks if character has sufficient funds
119
+ <h3 >Parameters:</h3 >
120
+ <span class =" types " ><span class =" type " >number</span ></span >
121
+ <span class =" parameter " >amount</span >
122
+ Amount to check
123
+
124
+
125
+ <h3>Returns:</h3>
126
+ <span class="types"><span class="type">bool</span></span>
127
+ Whether character has enough money
128
+
129
+
130
+
131
+ ???+ realm-shared "<a id =Character:giveMoney ></a >Character: giveMoney (amount, takingMoney)"
132
+ ##### sh_Character: giveMoney {#charactergivemoney}
133
+ Gives money to character
134
+ <h3 >Parameters:</h3 >
135
+ <span class =" types " ><span class =" type " >number</span ></span >
136
+ <span class =" parameter " >amount</span >
137
+ Amount to give
138
+
139
+ <span class="types"><span class="type">boolean</span></span>
140
+ <span class="parameter">takingMoney</span>
141
+ <em><ins>`optional. default`: `false`</ins></em>
142
+ Internal flag to skip logging
143
+
144
+
145
+ <h3>Returns:</h3>
146
+ <span class="types"><span class="type">bool</span></span>
147
+ Always returns true
148
+
149
+
150
+
151
+ ???+ realm-shared "<a id =Character:takeMoney ></a >Character: takeMoney (amount)"
152
+ ##### sh_Character: takeMoney {#charactertakemoney}
153
+ Takes money from character
154
+ <h3 >Parameters:</h3 >
155
+ <span class =" types " ><span class =" type " >number</span ></span >
156
+ <span class =" parameter " >amount</span >
157
+ Amount to take
158
+
159
+
160
+ <h3>Returns:</h3>
161
+ <span class="types"><span class="type">bool</span></span>
162
+ Always returns true
163
+
164
+
165
+
166
+ ## Flag-related methods
167
+
168
+ ???+ realm-server "<a id =Character:setFlags ></a >Character: setFlags (flags)"
169
+ ##### sv_Character: setFlags {#charactersetflags}
170
+ Set the flag data to the character, overriding existing flags
171
+ <h3 >Parameters:</h3 >
172
+ <span class =" types " ><a class =" type " href =" https://www.lua.org/manual/5.1/manual.html#5.4 " >string</a ></span >
173
+ <span class =" parameter " >flags</span >
174
+ New flags string
175
+
176
+
177
+
178
+ ???+ realm-server "<a id =Character:takeFlags ></a >Character: takeFlags (flags)"
179
+ ##### sv_Character: takeFlags {#charactertakeflags}
180
+ Remove the flags from the character.
181
+ <h3 >Parameters:</h3 >
182
+ <span class =" types " ><a class =" type " href =" https://www.lua.org/manual/5.1/manual.html#5.4 " >string</a ></span >
183
+ <span class =" parameter " >flags</span >
184
+ Flags to remove
185
+
186
+
187
+
188
+ ???+ realm-shared "<a id =Character:getFlags ></a >Character: getFlags ()"
189
+ ##### sh_Character: getFlags {#charactergetflags}
190
+ Gets character's current flags.
191
+ <h3 >Returns:</h3 >
192
+ <span class =" types " ><a class =" type " href =" https://www.lua.org/manual/5.1/manual.html#5.4 " >string</a ></span >
193
+ Current flags string
194
+
195
+
196
+
197
+ ???+ realm-shared "<a id =Character:hasFlags ></a >Character: hasFlags (flags)"
198
+ ##### sh_Character: hasFlags {#characterhasflags}
199
+ Check if the character contains the flags specified.
200
+ <h3 >Parameters:</h3 >
201
+ <span class =" types " ><a class =" type " href =" https://www.lua.org/manual/5.1/manual.html#5.4 " >string</a ></span >
202
+ <span class =" parameter " >flags</span >
203
+ Flags to check for
204
+
205
+
206
+ <h3>Returns:</h3>
207
+ <span class="types"><span class="type">bool</span></span>
208
+ Whether any flag is present
209
+
210
+
211
+
0 commit comments