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 ?
Quote from: Vicky on Jul 24, 2026, 03:36 PMCorrect 100%!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.
I need solution to solve this error
Version of my server: 0.4.7.1
Are you sure that you copied and pasted it correctly?
Quote from: Ridwan Rz on Jul 24, 2026, 04:19 PMHow to get it?Quote from: LamFloGaming on Jul 19, 2026, 01:11 PMHello, after many day developing my server. I bringing my server to a free hosting, but I want to more players find to my server by browser, but I have putannounce 1in server.cfg, but in Master list doesnt have my server. How to bring my server to Master List??? Thank for all helping!
Did you get the latest announce plugin?