/
ICore.cs
218 lines (141 loc) · 9.25 KB
/
ICore.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
using System;
using System.Collections.Generic;
using System.Numerics;
using AltV.Net.CApi;
using AltV.Net.Data;
using AltV.Net.Elements.Args;
using AltV.Net.Elements.Entities;
using AltV.Net.Elements.Pools;
using AltV.Net.Native;
using AltV.Net.Shared;
using AltV.Net.Shared.Elements.Data;
using AltV.Net.Shared.Enums;
namespace AltV.Net
{
public interface ICore : ISharedCore
{
new IPoolManager PoolManager { get; }
Dictionary<IntPtr, List<InternalPlayerSeat>> VehiclePassengers { get; }
INativeResourcePool NativeResourcePool { get; }
string RootDirectory { get; }
INativeResource Resource { get; }
ulong HashPassword(string password);
void SetPassword(string password);
public VehicleModelInfo GetVehicleModelInfo(uint hash);
public PedModelInfo? GetPedModelInfo(uint hash);
public WeaponModelInfo? GetWeaponModelInfo(uint hash);
void StopServer();
void TriggerClientEvent(IPlayer player, IntPtr eventNamePtr, MValueConst[] args);
void TriggerClientEvent(IPlayer player, string eventName, MValueConst[] args);
void TriggerClientEvent(IPlayer player, IntPtr eventNamePtr, IntPtr[] args);
void TriggerClientEvent(IPlayer player, string eventName, IntPtr[] args);
void TriggerClientEvent(IPlayer player, IntPtr eventNamePtr, params object[] args);
void TriggerClientEvent(IPlayer player, string eventName, params object[] args);
void TriggerClientEventForAll(IntPtr eventNamePtr, MValueConst[] args);
void TriggerClientEventForAll(string eventName, MValueConst[] args);
void TriggerClientEventForAll(IntPtr eventNamePtr, IntPtr[] args);
void TriggerClientEventForAll(string eventName, IntPtr[] args);
void TriggerClientEventForAll(IntPtr eventNamePtr, params object[] args);
void TriggerClientEventForAll(string eventName, params object[] args);
void TriggerClientEventForSome(IPlayer[] clients, IntPtr eventNamePtr, MValueConst[] args);
void TriggerClientEventForSome(IPlayer[] clients, string eventName, MValueConst[] args);
void TriggerClientEventForSome(IPlayer[] clients, IntPtr eventNamePtr, IntPtr[] args);
void TriggerClientEventForSome(IPlayer[] clients, string eventName, IntPtr[] args);
void TriggerClientEventForSome(IPlayer[] clients, IntPtr eventNamePtr, params object[] args);
void TriggerClientEventForSome(IPlayer[] clients, string eventName, params object[] args);
void TriggerClientEventUnreliable(IPlayer player, IntPtr eventNamePtr, MValueConst[] args);
void TriggerClientEventUnreliable(IPlayer player, string eventName, MValueConst[] args);
void TriggerClientEventUnreliable(IPlayer player, IntPtr eventNamePtr, IntPtr[] args);
void TriggerClientEventUnreliable(IPlayer player, string eventName, IntPtr[] args);
void TriggerClientEventUnreliable(IPlayer player, IntPtr eventNamePtr, params object[] args);
void TriggerClientEventUnreliable(IPlayer player, string eventName, params object[] args);
void TriggerClientEventUnreliableForAll(IntPtr eventNamePtr, MValueConst[] args);
void TriggerClientEventUnreliableForAll(string eventName, MValueConst[] args);
void TriggerClientEventUnreliableForAll(IntPtr eventNamePtr, IntPtr[] args);
void TriggerClientEventUnreliableForAll(string eventName, IntPtr[] args);
void TriggerClientEventUnreliableForAll(IntPtr eventNamePtr, params object[] args);
void TriggerClientEventUnreliableForAll(string eventName, params object[] args);
void TriggerClientEventUnreliableForSome(IPlayer[] clients, IntPtr eventNamePtr, MValueConst[] args);
void TriggerClientEventUnreliableForSome(IPlayer[] clients, string eventName, MValueConst[] args);
void TriggerClientEventUnreliableForSome(IPlayer[] clients, IntPtr eventNamePtr, IntPtr[] args);
void TriggerClientEventUnreliableForSome(IPlayer[] clients, string eventName, IntPtr[] args);
void TriggerClientEventUnreliableForSome(IPlayer[] clients, IntPtr eventNamePtr, params object[] args);
void TriggerClientEventUnreliableForSome(IPlayer[] clients, string eventName, params object[] args);
void TriggerClientRPCAnswer(IPlayer target, ushort answerId, object answer, string error);
void TriggerClientRPCAnswer(IPlayer player, ushort answerId, MValueConst answer, IntPtr errorPtr);
void TriggerClientRPCAnswer(IPlayer target, ushort answerId, MValueConst answer, string error);
ushort TriggerClientRPC(IPlayer target, string name, params object[] args);
ushort TriggerClientRPC(IPlayer target, string eventName, MValueConst[] args);
ushort TriggerClientRPC(IPlayer target, IntPtr eventNamePtr, MValueConst[] args);
IVehicle CreateVehicle(uint model, Position pos, Rotation rotation, uint streamingDistance);
IPed CreatePed(uint model, Position pos, Rotation rotation, uint streamingDistance);
ICheckpoint CreateCheckpoint(byte type, Position pos, float radius, float height, Rgba color, uint streamingDistance);
IBlip CreateBlip(bool global, byte type, Position pos, IPlayer[] targets);
IBlip CreateBlip(bool global, byte type, IEntity entityAttach, IPlayer[] targets);
IVoiceChannel CreateVoiceChannel(bool spatial, float maxDistance);
IColShape CreateColShapeCylinder(Position pos, float radius, float height);
IColShape CreateColShapeSphere(Position pos, float radius);
IColShape CreateColShapeCircle(Position pos, float radius);
IColShape CreateColShapeCube(Position pos, Position pos2);
IColShape CreateColShapeRectangle(float x1, float y1, float x2, float y2, float z);
IColShape CreateColShapePolygon(float minZ, float maxZ, Vector2[] points);
INativeResource GetResource(string name);
INativeResource GetResource(IntPtr resourcePointer);
INativeResource[] GetAllResources();
// Only for advanced use cases
IntPtr CreateVehicleEntity(out uint id, uint model, Position pos, Rotation rotation, uint streamingDistance);
IReadOnlyCollection<IPlayer> GetAllPlayers();
IReadOnlyCollection<IVehicle> GetAllVehicles();
IReadOnlyCollection<IBlip> GetAllBlips();
IReadOnlyCollection<ICheckpoint> GetAllCheckpoints();
IReadOnlyCollection<IVirtualEntity> GetAllVirtualEntities();
IReadOnlyCollection<IVirtualEntityGroup> GetAllVirtualEntityGroups();
IReadOnlyCollection<IPed> GetAllPeds();
IReadOnlyCollection<IObject> GetAllNetworkObjects();
IReadOnlyCollection<IColShape> GetAllColShapes();
IReadOnlyCollection<IMarker> GetAllMarkers();
IReadOnlyCollection<IConnectionInfo> GetAllConnectionInfos();
IReadOnlyCollection<IMetric> GetAllMetrics();
IBaseObject GetBaseObjectById(BaseObjectType type, uint id);
void StartResource(string name);
void StopResource(string name);
void RestartResource(string name);
void SetSyncedMetaData(string key, object value);
void DeleteSyncedMetaData(string key);
bool FileExists(string path);
string FileRead(string path);
byte[] FileReadBinary(string path);
IConfig GetServerConfig();
void SetWorldProfiler(bool state);
IEnumerable<string> GetRegisteredClientEvents();
IEnumerable<string> GetRegisteredServerEvents();
IBaseObject[] GetClosestEntities(Position position, int range, int dimension, int limit,
EntityType allowedTypes);
IBaseObject[] GetEntitiesInDimension(int dimension, EntityType allowedTypes);
IBaseObject[] GetEntitiesInRange(Position position, int range, int dimension, EntityType allowedTypes);
IBaseObject GetBaseObject(BaseObjectType type, uint id);
IMetric RegisterMetric(string name, MetricType type = MetricType.MetricTypeGauge, Dictionary<string, string> dataDict = default);
void UnregisterMetric(IMetric metric);
IMarker CreateMarker(IPlayer player, MarkerType type, Position pos, Rgba color);
IObject CreateObject(uint hash, Position position, Rotation rotation, byte alpha, byte textureVariation, ushort lodDistance, uint streamingDistance);
IVirtualEntityGroup CreateVirtualEntityGroup(uint streamingDistance);
IVirtualEntity CreateVirtualEntity(IVirtualEntityGroup group, Position position, uint streamingDistance, Dictionary<string, object> dataDict);
void SetVoiceExternalPublic(string host, ushort port);
void SetVoiceExternal(string host, ushort port);
ushort MaxStreamingPeds { get; set; }
ushort MaxStreamingObjects { get; set; }
ushort MaxStreamingVehicles { get; set; }
byte StreamerThreadCount { get; set; }
uint StreamingTickRate { get; set; }
uint StreamingDistance { get; set; }
uint ColShapeTickRate { get; set; }
uint MigrationDistance { get; set; }
byte MigrationThreadCount { get; set; }
uint MigrationTickRate { get; set; }
byte SyncReceiveThreadCount { get; set; }
byte SyncSendThreadCount { get; set; }
uint[] LoadedVehicleModels { get; }
void AddClientConfigKey(string key);
bool HasBenefit(Benefit benefit);
}
}