Fluxer.SendMessage(...)
Fluxer.SendPayload(...)
Fluxer.EditMessage(...)
Fluxer.DeleteMessage(...)
Fluxer.Get(...)
Fluxer.Post(...)onFluxerReady(bot)
onFluxerMessage(message)
onFluxerEvent(eventName, jsonData)
onFluxerDispatch(event)
onFluxerResponse(response)
onFluxerError(message)
const FLUXER_TOKEN = "YOUR_BOT_TOKEN";
function onScriptLoad() {
Fluxer.ConfigureGateway(0, 1);
if (!Fluxer.Connect(FLUXER_TOKEN))
print("Could not start the Fluxer connector.");
}Fluxer.Connect() starts the connector, but that does not necessarily mean Gateway authentication has already completed.function onFluxerReady(bot) {
print(format("Fluxer authenticated as %s (%s)", bot.Username, bot.UserID));
}if (Fluxer.IsRunning()) print("Fluxer connector is running.");
if (Fluxer.IsReady()) print("Fluxer Gateway is ready.");function onScriptUnload() {
Fluxer.Disconnect();
}const FLUXER_CHANNEL_ID = "YOUR_CHANNEL_ID";
Fluxer.SendMessage(FLUXER_CHANNEL_ID, "Hello from VC:MP!");
function onPlayerJoin(player) {
Fluxer.SendMessage(FLUXER_CHANNEL_ID, format("%s joined the VC:MP server.", player.Name));
}
function onPlayerPart(player, reason) {
Fluxer.SendMessage(FLUXER_CHANNEL_ID, format("%s left the server.", player.Name));
}
function onPlayerChat(player, message) {
Fluxer.SendMessage(FLUXER_CHANNEL_ID, format("**%s:** %s", player.Name, message));
return 1;
}function onFluxerMessage(message) {
if (message.ChannelID != FLUXER_CHANNEL_ID) return;
if (message.AuthorBot) return;
Message(format("[#7C3AED][Fluxer][#FFFFFF] %s: %s", message.AuthorName, message.Content));
}local payload = "{\"content\":\"Server status\",\"embeds\":[{\"title\":\"VC:MP\",\"description\":\"The server is online\",\"color\":8134381}]}";
Fluxer.SendPayload(FLUXER_CHANNEL_ID, payload);
Fluxer.EditMessage("CHANNEL_ID", "MESSAGE_ID", "{\"content\":\"Updated VC:MP server status\"}");Fluxer.DeleteMessage("CHANNEL_ID", "MESSAGE_ID");Fluxer.Request(method, path[, jsonBody])Fluxer.Get(path[, jsonBody])
Fluxer.Post(path[, jsonBody])
Fluxer.Put(path[, jsonBody])
Fluxer.Patch(path[, jsonBody])
Fluxer.Delete(path[, jsonBody])Fluxer.Get("/users/@me");Fluxer.Get(
"/channels/CHANNEL_ID/messages?limit=25"
);Fluxer.Post("/channels/CHANNEL_ID/messages", "{\"content\":\"Hello from the REST API\"}");local requestId = Fluxer.SendMessage(
FLUXER_CHANNEL_ID,
"Hello!"
);function onFluxerResponse(response) {
print(format("Request %d returned HTTP %d", response.RequestID, response.StatusCode));
}local myRequest = Fluxer.Get("/users/@me");
function onFluxerResponse(response) {
if (response.RequestID != myRequest) return;
if (response.StatusCode >= 200 && response.StatusCode < 300) {
print("Authenticated user: " + response.Data.username);
}
else {
print(format("HTTP %d: %s", response.StatusCode, response.Body));
}
}function onFluxerMessage(message) {
if (message.AuthorBot) return;
print(format("[Fluxer] %s: %s", message.AuthorName, message.Content));
}function onFluxerMessage(message) {
if (message.AuthorBot) return;
if (message.Content == "!players") {
Fluxer.SendMessage(message.ChannelID, format("There are currently %d players online.", GetPlayers()));
}
}function onFluxerEvent(eventName, jsonData) {
print("Gateway event: " + eventName);
}function onFluxerDispatch(event) {
print(format("Dispatch %s, sequence %d", event.Name, event.Sequence));
// event.Data contains the parsed data.
}MESSAGE_CREATE -> onFluxerMessageCreate(data)
MESSAGE_UPDATE -> onFluxerMessageUpdate(data)
MESSAGE_DELETE -> onFluxerMessageDelete(data)
MESSAGE_REACTION_ADD -> onFluxerMessageReactionAdd(data)
GUILD_MEMBER_ADD -> onFluxerGuildMemberAdd(data)
GUILD_MEMBER_REMOVE -> onFluxerGuildMemberRemove(data)
CHANNEL_CREATE -> onFluxerChannelCreate(data)
CHANNEL_UPDATE -> onFluxerChannelUpdate(data)
TYPING_START -> onFluxerTypingStart(data)
VOICE_STATE_UPDATE -> onFluxerVoiceStateUpdate(data)function onFluxerGuildMemberAdd(data) {
print("A member joined guild " + data.guild_id);
}
function onFluxerMessageReactionAdd(data) {
print("Reaction added to message " + data.message_id);
}function onFluxerDispatch(event) {
print(event.Name);
// Original JSON:
print(event.Raw);
// Parsed Squirrel value:
local data = event.Data;
}Fluxer.SetPresence("{\"since\":null,\"activities\":[{\"name\":\"VC:MP\",\"type\":0}],\"status\":\"online\",\"afk\":false}");
VC:MP | 12 players
Vice City Multiplayer
Server Online
Waiting for players...local payload = "{\"content\":\"Latest server screenshot\",\"attachments\":[{\"id\":\"0\",\"filename\":\"server.png\"}]}";
Fluxer.Multipart("POST", "/channels/CHANNEL_ID/messages", payload, "screenshots/server.png", "server.png");
function onFluxerError(message) {
print("Fluxer error: " + message);
}function onFluxerResponse(response) {
if (response.StatusCode < 200 || response.StatusCode >= 300) {
print(format("Fluxer request %d failed: HTTP %d: %s", response.RequestID, response.StatusCode, response.Body));
}
}function onFluxerDisconnect(reason) {
print("Fluxer Gateway disconnected.");
}const FLUXER_TOKEN = "YOUR_BOT_TOKEN";
const FLUXER_CHANNEL_ID = "YOUR_CHANNEL_ID";
function onScriptLoad() {
Fluxer.ConfigureGateway(0, 1);
if (!Fluxer.Connect(FLUXER_TOKEN)) throw "Could not start Fluxer";
}
function onFluxerReady(bot) {
print(format("Fluxer authenticated as %s (%s)", bot.Username, bot.UserID));
Fluxer.SendMessage(FLUXER_CHANNEL_ID, "VC:MP server is online.");
}
function onPlayerJoin(player) {
Fluxer.SendMessage(FLUXER_CHANNEL_ID, format("%s joined the server.", player.Name));
}
function onPlayerChat(player, message) {
Fluxer.SendMessage(FLUXER_CHANNEL_ID, format("**%s:** %s", player.Name, message));
return 1;
}
function onFluxerMessage(message) {
if (message.ChannelID != FLUXER_CHANNEL_ID) return;
if (message.AuthorBot) return;
Message(format("[#7C3AED][Fluxer][#FFFFFF] %s: %s", message.AuthorName, message.Content));
}
function onFluxerResponse(response) {
if (response.StatusCode < 200 || response.StatusCode >= 300) {
print(format("Fluxer HTTP error %d: %s", response.StatusCode, response.Body));
}
}
function onFluxerError(message) {
print("Fluxer error: " + message);
}
function onScriptUnload() {
Fluxer.Disconnect();
}SpeedTimer <- array(100, null);
function onPlayerEnterVehicle( player, vehicle, door )
{
SpeedTimer[ player.ID ] = NewTimer( "UpdateSpeedometer", 1, 0, player.ID );
}
function onPlayerExitVehicle( player, vehicle )
{
if ( SpeedTimer[ player.ID ] != null )
{
SpeedTimer[ player.ID ].Delete();
SpeedTimer[ player.ID ] = null;
}
}
function UpdateSpeedometer( playerID )
{
local player = FindPlayer( playerID );
if ( player && player.Vehicle )
{
local vehicle = player.Vehicle;
local kmh = GetVehicleKMH( player.Vehicle );
local hp = GetVehicleHealthPercent( vehicle );
Announce( "~w~Speed: ~g~" + kmh + " ~w~KM/H. ~r~HP: "+ hp + " percent", player, 1 );
}
}
function GetVehicleKMH( vehicle )
{
if ( vehicle )
{
local speed = vehicle.Speed;
local velocity = sqrt( (speed.x * speed.x) + (speed.y * speed.y) + (speed.z * speed.z) );
return ( velocity * 180 ).tointeger();
}
return 0;
}
function GetVehicleHealthPercent( vehicle )
{
if ( vehicle )
{
local hp = vehicle.Health;
// Máu dư?i 250 là xe n?/cháy, coi như 0%
if ( hp < 250 ) return 0;
// Quy đ?i t? kho?ng [250 -> 1000] v? [0% -> 100%]
local percent = ( (hp - 250) / 7.5 ).tointeger();
return percent;
}
return 0;
}(Some line have Vietnamese text, sorry)Quote from: Necroso on Jul 31, 2026, 03:02 AMQuote from: LamFloGaming on Jul 24, 2026, 08:12 AMHello, I have a big problem: I copy a code in here: https://forum.vc-mp.org/?topic=4353.0, but I launched my server, server console is warning me: The Index 'GUI' does not exist.That's because the second part is a client-side script. You need to place it in store/script/somescript.nut
I need solution to solve this error
Version of my server: 0.4.7.1
Quote from: LamFloGaming on Jul 24, 2026, 08:12 AMHello, I have a big problem: I copy a code in here: https://forum.vc-mp.org/?topic=4353.0, but I launched my server, server console is warning me: The Index 'GUI' does not exist.That's because the second part is a client-side script. You need to place it in store/script/somescript.nut
I need solution to solve this error
Version of my server: 0.4.7.1
Quote from: Yankee on May 27, 2017, 09:00 AMIn GTA SA skin sites,there are a lot of skins and i love these skins.How can I convert them to GTA VC.Only .dff and .txd files,should I edit the XML file or what should I do ?