Duke
Wiek: 15 Na forum: 981 dni Posty: 13
Piwa : 177
"bakardi" napisał/a :Witam czy da się panel zrobiony w HTML synchronizować jakoś na serwer MTA?
Tak aby wszystko dobrze działało
tak, da się przez guibrowser:Utwórz plik HTML, np. scoreboard.html,Stwórz plik Lua (np. scoreboard.lua), który będzie odpowiadał za zbieranie danych o graczach i wysyłanie ich do strony HTML w grze.
przykładowy kod html:
Kod: <!DOCTYPE html>
<html>
<head>
<title>Scoreboard</title>
<style>
body { font-family: Arial, sans-serif; background-color: #222; color: white; }
table { width: 100%; border-collapse: collapse; }
th, td { padding: 8px; text-align: center; border: 1px solid #555; }
</style>
</head>
<body>
<h1>Scoreboard</h1>
<table id="scoreboard">
<tr>
<th>Gracz</th>
<th>Wynik</th>
</tr>
</table>
<script>
// Funkcja do aktualizacji scoreboardu
function updateScoreboard(players) {
let table = document.getElementById('scoreboard');
// Usuwamy istniejące dane
while (table.rows.length > 1) {
table.deleteRow(1);
}
// Dodajemy nowe dane
players.forEach(player => {
let row = table.insertRow();
let cell1 = row.insertCell(0);
let cell2 = row.insertCell(1);
cell1.textContent = player.name;
cell2.textContent = player.score;
});
}
</script>
</body>
</html>
i przykładowy kod lua:
Kod: local browser = guiCreateBrowser(0.1, 0.1, 0.8, 0.8, true, true, false)
loadBrowserURL(browser, "http://localhost/scoreboard.html")
function updateScoreboardInHTML()
local players = {}
for _, player in ipairs(getElementsByType("player")) do
local name = getPlayerName(player)
local score = getPlayerScore(player]
table.insert(players, {name = name, score = score})
end
local jsonPlayers = toJSON(players)
executeBrowserJavascript(browser, "updateScoreboard(" .. jsonPlayers .. ");")
end
setTimer(updateScoreboardInHTML, 5000, 0)
mam nadzieję że pomogłem : D