Files
pirate-corsaire-server/Messages/_.js
T
2026-08-24 22:20:36 +02:00

44 lines
2.0 KiB
JavaScript

const Game = require("../Game/Game");
const { players, guilds } = Game;
const buffer = new ArrayBuffer(3 + 250);
const view = new DataView(buffer);
const MAXIMUM_GUILD_REQUEST_MESSAGE_LENGTH = 256;
view.setUint8(0, 10);
view.setUint16(1, 213);
const QUERY_GUILD_REQUEST_SUBMIT = "INSERT INTO guildrequests (guildID, playerID, message) VALUES (?, ?, ?) ON DUPLICATE KEY UPDATE message = ?";
const QUERY_GUILD_REQUEST_SUBMIT_DEFAULT = "INSERT INTO guildrequests (guildID, playerID) VALUES (?, ?) ON DUPLICATE KEY UPDATE message = ?";
let str = new Array(250).fill("a").join("");
for (let i = 0, strLen = str.length; i < strLen; i++) {
const charCode = str.charCodeAt(i);
view.setUint8(3 + i, charCode);
};
module.exports = function (ws, message, player) {
const guildID = view.getUint16(1);
const guild = guilds[guildID];
if (!guild) return;
const playerID = 45; // player.id
const requestingPlayer = players[playerID];
// if (!requestingPlayer) return;
// if (requestingPlayer.guild) return console.log("has guild, can't request");
if (guild.hasRequested(playerID)) return console.log("has already requested");
const requestMessageLength = view.byteLength - 3;
console.log(requestMessageLength)
if (requestMessageLength > MAXIMUM_GUILD_REQUEST_MESSAGE_LENGTH) return console.log("request message length is > 256");
const requestMessage = view.byteLength > 3 ? view.buffer.slice(3, view.byteLength) : null;
const isRequestSuccessful = guild.addRequest(playerID, requestMessage);
if (!isRequestSuccessful) return console.log("request was unsuccessful");
const query = view.byteLength > 3 ? QUERY_GUILD_REQUEST_SUBMIT : QUERY_GUILD_REQUEST_SUBMIT_DEFAULT;
const queryParameters = view.byteLength > 3 ? [guildID, playerID, requestMessage, requestMessage] : [guildID, playerID, requestMessage];
console.log(requestMessage)
db.execute(query, queryParameters).then(_ => console.log("guild request is in the db"));
};