// Important API to ensure smooth data retrieval - use readiness check via the API
// Generating a database takes some time, so in other APIs, null values may be possible
// To avoid this, use this API before accessing other APIs
Boolean IsReady - returns true if the plugin is fully initialized, otherwise false
// Usage example:
public Boolean IsReadyIQFakeActive()
{
if (IQFakeActive != null && config.UseIQFakeActive)
return IQFakeActive.Call<Boolean>("IsReady");
return false;
}
JObject GetListPlayers() - returns a JObject with a list of fake and real players
// Requires a List class with the FakePlayer class: List<FakePlayer>
public class FakePlayer
{
[JsonProperty("userId")]
public String userId;
[JsonProperty("displayName")]
public String displayName;
public Boolean isMuted;
}
// Example usage:
private List<FakePlayer> GetCombinedPlayerList()
{
if (!IsReadyIQFakeActive()) return null;
JObject jsonData = IQFakeActive.Call<JObject>("GetListPlayers");
if (!jsonData.TryGetValue("players", out JToken playersToken)) return null;
List<FakePlayer> playerList = playersToken.ToObject<List<FakePlayer>>();
return playerList;
}
// IsReadyIQFakeActive() - checks if the plugin is active using the "IsReady" API and if the plugin support function is enabled
// Example IsReadyIQFakeActive
public Boolean IsReadyIQFakeActive()
{
if (IQFakeActive != null && config.UseIQFakeActive)
return IQFakeActive.Call<Boolean>("IsReady");
return false;
}
// Similar principle to the GetListPlayers API
JObject GetOnlyListFakePlayers() - returns a JObject with a list of fake and real players
// Requires a List class with the FakePlayer class: List<FakePlayer>
// Example usage:
private List<FakePlayer> GetFakePlayerList()
{
if (!IsReadyIQFakeActive()) return null;
JObject jsonData = IQFakeActive.Call<JObject>("GetOnlyListFakePlayers");
if (!jsonData.TryGetValue("players", out JToken playersToken)) return null;
List<FakePlayer> playerList = playersToken.ToObject<List<FakePlayer>>();
return playerList;
}
Int32 GetOnline - returns the current online count, including fake and real players
Int32 GetOnlyFakeOnline - returns the current online count of fake players only
Boolean IsFakeUser(String idOrName) - returns true if the player is generated by the plugin, otherwise false if the player is real
String GetFakeName(String userId) - returns the nickname of a fake player
// If the plugin is not fully initialized, it will return "initializePlugin"
// If the fake player with the given userid is not found, it will return "notFindedUser"
JObject GetDatabase - returns a JObject with the complete plugin data
// Requires a complete database class
// The database includes:
// - All generated messages
// - All generated players
// - All generated players and real players
// - Number of fake players
// - Number of fake and real players
// - Generated chat presets (with IQChat support)
// -- Chat prefix
// -- Nickname color in chat
// -- Message color in chat
// -- Nickname size in chat
// -- Message size in chat
// Database class:
public FakeDatabase fakeDatabase = new();
public class FakeDatabase
{
public OnlineDatabase onlineDatabase = new();
public ChatPresetFakePlayer chatPresetFakePlayer = new();
public List<FakePlayer> fakePlayerList = new();
public List<FakePlayer> fakePlayerConnection = new();
public List<FakePlayer> fakePlayerDisconnection = new();
public List<FakePlayer> realAndFakePlayerList = new();
public List<Messages> fakeMessageList = new();
public class Messages
{
[JsonProperty("message")]
public String message;
}
public class OnlineDatabase
{
public Int32 currentFakeOnline;
public Int32 currentOnline;
}
public class FakePlayer
{
[JsonProperty("userId")]
public String userId;
[JsonProperty("displayName")]
public String displayName;
public Boolean isMuted;
}
public class ChatPresetFakePlayer
{
public String chatPrefix;
public String chatColor;
public String nickColor;
public Int32 sizeMessage;
public Int32 sizeNick;
}
}
// Важное API, дабы все данные подтягивались без проблем - используйте проверку готовности по API
// генерация базы данных занимает некоторое время, поэтому в других API возможны - null
// чтобы такого не было - используйте это API перед обращением к другому API
Boolean IsReady - возвращает true, если плагин полностью инициализирован, иначе false
// Пример использования:
public Boolean IsReadyIQFakeActive()
{
if (IQFakeActive != null && config.UseIQFakeActive)
return IQFakeActive.Call<Boolean>("IsReady");
return false;
}
JObject GetListPlayers() - возвращает JObject со списком фейковых и настоящих игроков
// Требуется класс List с классом FakePlayer - List<FakePlayer>
public class FakePlayer
{
[JsonProperty("userId")]
public String userId;
[JsonProperty("displayName")]
public String displayName;
public Boolean isMuted;
}
// Пример использования:
private List<FakePlayer> GetCombinedPlayerList()
{
if (!IsReadyIQFakeActive()) return null;
JObject jsonData = IQFakeActive.Call<JObject>("GetListPlayers");
if (!jsonData.TryGetValue("players", out JToken playersToken)) return null;
List<FakePlayer> playerList = playersToken.ToObject<List<FakePlayer>>();
return playerList;
}
// IsReadyIQFakeActive() - проверяет активен ли плагин с помощью API "IsReady" и включена ли функция поддержки плагина
// Пример IsReadyIQFakeActive
public Boolean IsReadyIQFakeActive()
{
if (IQFakeActive != null && config.UseIQFakeActive)
return IQFakeActive.Call<Boolean>("IsReady");
return false;
}
//Принцип аналогичен с API GetListPlayers
JObject GetOnlyListFakePlayers() - возвращает JObject со списком фейковых и настоящих игроков
//Требуется класс List с классом FakePlayer - List<FakePlayer>
//Пример использования :
private List<FakePlayer> GetFakePlayerList()
{
if (!IsReadyIQFakeActive()) return null;
JObject jsonData = IQFakeActive.Call<JObject>("GetOnlyListFakePlayers");
if (!jsonData.TryGetValue("players", out JToken playersToken)) return null;
List<FakePlayer> playerList = playersToken.ToObject<List<FakePlayer>>();
return playerList;
}
Int32 GetOnline - возвращает текущий онлайн, фейковые игроки и настоящие
Int32 GetOnlyFakeOnline - возвращает текущий онлайн только фейковых игроков
Boolean IsFakeUser(String idOrName) - возвращает true, если игрок сгенерирован плагином, иначе false если игрок настоящий
String GetFakeName(String userId) - возвращает ник фейкового игрока
//Если плагин не инициализирован полностью - вернет "initializePlugin"
//Если фейкового игрока нет с данным userid - вернет "notFindedUser"
JObject GetDatabase - возвращает JObject с полными данными плагина
// Потребуется полный класс базы данных
// В базу входит :
// - Все сгенерированные сообщения
// - Все сгенерированные игроки
// - Все сгенерированные игроки и настоящие игроки
// - Количество фейковых игроков
// - Количество фейковых и настоящих игроков
// - Сгенерированные пресеты для чата (С поддержкой IQChat)
// -- Префикс в чате
// -- Цвет ника в чате
// -- Цвет сообщения в чате
// -- Размер ника в чате
// -- Размер сообщения в чате
// Класс базы данных :
public FakeDatabase fakeDatabase = new();
public class FakeDatabase
{
public OnlineDatabase onlineDatabase = new();
public ChatPresetFakePlayer chatPresetFakePlayer = new();
public List<FakePlayer> fakePlayerList = new();
public List<FakePlayer> fakePlayerConnection = new();
public List<FakePlayer> fakePlayerDisconnection = new();
public List<FakePlayer> realAndFakePlayerList = new();
public List<Messages> fakeMessageList = new();
public class Messages
{
[JsonProperty("message")]
public String message;
}
public class OnlineDatabase
{
public Int32 currentFakeOnline;
public Int32 currentOnline;
}
public class FakePlayer
{
[JsonProperty("userId")]
public String userId;
[JsonProperty("displayName")]
public String displayName;
public Boolean isMuted;
}
public class ChatPresetFakePlayer
{
public String chatPrefix;
public String chatColor;
public String nickColor;
public Int32 sizeMessage;
public Int32 sizeNick;
}
}