Fist Push

This commit is contained in:
troispoils 2024-05-07 18:01:11 +02:00
parent dd63653413
commit cab9de1e90
118 changed files with 364726 additions and 0 deletions

101
server/db.js Normal file
View file

@ -0,0 +1,101 @@
const mysql = require("mysql2");
const utilsMath = require("./utils/utilsMath.js");
const dbConfig = {
host: "localhost",
user: process.env.DB_USER,
password: process.env.DB_PASSWORD,
database: "ac2re_world",
};
const con = mysql.createConnection(dbConfig);
con.connect((err) => {
if (err) {
console.error("Erreur de connexion à la base de données:", err);
process.exit(1);
}
console.log("Connected to Mysql");
});
//Get player position in Database
async function getCharacterPos() {
try {
const [result, fields] = await con.promise().query(`
SELECT woss.literalValue, wosp.landblockId, wosp.posX, wosp.posY
FROM characters c
INNER JOIN world_obj_stat_poss wosp ON c.objectId = wosp.objectId
INNER JOIN world_obj_stat_strinfo woss ON c.objectId = woss.objectId
`);
// Tableau pour stocker les données converties
let characterPositions = [];
// Manipuler les données résultantes
for (let row of result) {
// Convertir les coordonnées de jeu en coordonnées Leaflet
let leafletLoc = utilsMath.convertInGameLoctoLeafletLoc(
row.landblockId,
row.posX,
row.posY
);
// Ajouter les données converties au tableau
characterPositions.push({
literalValue: row.literalValue,
locx: leafletLoc.locx,
locy: leafletLoc.locy,
});
}
return characterPositions;
} catch (err) {
console.error(
"Erreur lors de la récupération des positions des personnages:",
err
);
return [];
}
}
//Get npc position in Database
async function getNpcPos() {
try {
const [result, fields] = await con.promise().query(`
SELECT entityDid, landblockId, posX, posY, objectName
FROM ac2re_map.map_npc;
`);
// Tableau pour stocker les données converties
let npcPosition = [];
// Manipuler les données résultantes
for (let row of result) {
// Convertir les coordonnées de jeu en coordonnées Leaflet
let leafletLoc = utilsMath.convertInGameLoctoLeafletLoc(
row.landblockId,
row.posX,
row.posY
);
// Ajouter les données converties au tableau
npcPosition.push({
entityid: row.entityDid,
literalValue: row.objectName,
locx: leafletLoc.locx,
locy: leafletLoc.locy,
});
}
return npcPosition;
} catch (err) {
console.error(
"Erreur lors de la récupération des positions des NPC:",
err
);
return [];
}
}
module.exports = { getCharacterPos, getNpcPos };