Fist Push
This commit is contained in:
parent
dd63653413
commit
cab9de1e90
118 changed files with 364726 additions and 0 deletions
101
server/db.js
Normal file
101
server/db.js
Normal 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 };
|
||||
Loading…
Add table
Add a link
Reference in a new issue