Jmx0OyFET0NUWVBFIGh0bWwmZ3Q7CiZsdDtodG1sIGxhbmc9JnF1b3Q7dGgmcXVvdDsmZ3Q7CiZsdDtoZWFkJmd0OwogICZsdDttZXRhIGNoYXJzZXQ9JnF1b3Q7VVRGLTgmcXVvdDsmZ3Q7CiAgJmx0O3RpdGxlJmd0O0VYUCBMZXZlbCBDYWxjdWxhdG9yJmx0Oy90aXRsZSZndDsKICAmbHQ7c3R5bGUmZ3Q7CiAgICBib2R5IHsKICAgICAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7CiAgICAgIHBhZGRpbmc6IDJyZW07CiAgICAgIG1heC13aWR0aDogNjAwcHg7CiAgICAgIG1hcmdpbjogYXV0bzsKICAgIH0KICAgIGlucHV0LCBidXR0b24gewogICAgICBwYWRkaW5nOiAwLjVyZW07CiAgICAgIGZvbnQtc2l6ZTogMXJlbTsKICAgICAgbWFyZ2luLXRvcDogMC41cmVtOwogICAgfQogICAgI3Jlc3VsdCB7CiAgICAgIG1hcmdpbi10b3A6IDFyZW07CiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkOwogICAgfQogICZsdDsvc3R5bGUmZ3Q7CiZsdDsvaGVhZCZndDsKJmx0O2JvZHkmZ3Q7CiAgJmx0O2gyJmd0O+C4hOC4s+C4meC4p+C4k+C5gOC4peC5gOC4p+C4peC4iOC4suC4gSBFWFAmbHQ7L2gyJmd0OwoKICAmbHQ7bGFiZWwgZm9yPSZxdW90O2xldmVsJnF1b3Q7Jmd0O+C5gOC4peC5gOC4p+C4peC4m+C4seC4iOC4iOC4uOC4muC4seC4mTombHQ7L2xhYmVsJmd0OyZsdDticiZndDsKICAmbHQ7aW5wdXQgdHlwZT0mcXVvdDtudW1iZXImcXVvdDsgaWQ9JnF1b3Q7bGV2ZWwmcXVvdDsgbWluPSZxdW90OzAmcXVvdDsgbWF4PSZxdW90OzUwJnF1b3Q7Jmd0OyZsdDticiZndDsKCiAgJmx0O2xhYmVsIGZvcj0mcXVvdDtleHAmcXVvdDsmZ3Q7RVhQIOC4l+C4teC5iOC4oeC4tTombHQ7L2xhYmVsJmd0OyZsdDticiZndDsKICAmbHQ7aW5wdXQgdHlwZT0mcXVvdDtudW1iZXImcXVvdDsgaWQ9JnF1b3Q7ZXhwJnF1b3Q7IG1pbj0mcXVvdDswJnF1b3Q7Jmd0OyZsdDticiZndDsKCiAgJmx0O2J1dHRvbiBvbmNsaWNrPSZxdW90O2NhbGN1bGF0ZSgpJnF1b3Q7Jmd0O+C4hOC4s+C4meC4p+C4kyZsdDsvYnV0dG9uJmd0OwoKICAmbHQ7ZGl2IGlkPSZxdW90O3Jlc3VsdCZxdW90OyZndDsmbHQ7L2RpdiZndDsKCiAgJmx0O3NjcmlwdCZndDsKICAgIGNvbnN0IGV4cFRhYmxlID0gWwogICAgICA1LCAxMCwgMTUsIDIwLCAyNSwgMzAsIDM1LCA0MCwgNDUsIDUwLAogICAgICA1NSwgNjUsIDc1LCA4NSwgOTUsIDEwNSwgMTIwLCAxMzUsIDE1MCwgMTY1LAogICAgICAxODAsIDIxMCwgMjQwLCAyNzAsIDMwMCwgMzMwLCAzOTAsIDQ1MCwgNTEwLCA1NzAsCiAgICAgIDYzMCwgNzUwLCA4NzAsIDk5MCwgMTExMCwgMTIzMCwgMTM4MSwgMTUzMiwgMTY4MywgMTgzNCwKICAgICAgMTk4NSwgMjE1OCwgMjMzMSwgMjUwNCwgMjY3NywgMjg1MCwgMzAzNSwgMzIyMCwgMzQwNSwgMzU5MCwKICAgICAgMzc3NQogICAgXTsKCiAgICBmdW5jdGlvbiBjYWxjdWxhdGUoKSB7CiAgICAgIGNvbnN0IGxldmVsSW5wdXQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgmcXVvdDtsZXZlbCZxdW90Oyk7CiAgICAgIGNvbnN0IGV4cElucHV0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJnF1b3Q7ZXhwJnF1b3Q7KTsKICAgICAgY29uc3QgcmVzdWx0RGl2ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJnF1b3Q7cmVzdWx0JnF1b3Q7KTsKCiAgICAgIGxldCBsZXZlbCA9IHBhcnNlSW50KGxldmVsSW5wdXQudmFsdWUpOwogICAgICBsZXQgZXhwID0gcGFyc2VJbnQoZXhwSW5wdXQudmFsdWUpOwoKICAgICAgaWYgKGlzTmFOKGxldmVsKSB8fCBpc05hTihleHApIHx8IGxldmVsICZsdDsgMCB8fCBsZXZlbCAmZ3Q7PSBleHBUYWJsZS5sZW5ndGgpIHsKICAgICAgICByZXN1bHREaXYudGV4dENvbnRlbnQgPSAmcXVvdDvguIHguKPguLjguJPguLLguIHguKPguK3guIHguILguYnguK3guKHguLnguKXguYPguKvguYnguJbguLnguIHguJXguYnguK3guIcmcXVvdDs7CiAgICAgICAgcmV0dXJuOwogICAgICB9CgogICAgICBsZXQgcmVtYWluaW5nRXhwID0gZXhwOwoKICAgICAgd2hpbGUgKGxldmVsICsgMSAmbHQ7IGV4cFRhYmxlLmxlbmd0aCkgewogICAgICAgIGNvbnN0IG5leHRFeHAgPSBleHBUYWJsZVtsZXZlbCArIDFdOwogICAgICAgIGlmIChyZW1haW5pbmdFeHAgJmd0Oz0gbmV4dEV4cCkgewogICAgICAgICAgcmVtYWluaW5nRXhwIC09IG5leHRFeHA7CiAgICAgICAgICBsZXZlbCsrOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICBicmVhazsKICAgICAgICB9CiAgICAgIH0KCiAgICAgIHJlc3VsdERpdi50ZXh0Q29udGVudCA9IGDguKrguLLguKHguLLguKPguJbguK3guLHguJvguYTguJTguYnguJbguLbguIfguYDguKXguYDguKfguKUgJHtsZXZlbH0g4LmB4Lil4Liw4LmA4Lir4Lil4Li34LitIEVYUCAke3JlbWFpbmluZ0V4cH1gOwogICAgfQogICZsdDsvc2NyaXB0Jmd0OwombHQ7L2JvZHkmZ3Q7CiZsdDsvaHRtbCZndDs=
<!DOCTYPE html>
<html lang="th">
<head>
<meta charset="UTF-8">
<title>EXP Level Calculator</title>
<style>
body {
font-family: sans-serif;
padding: 2rem;
max-width: 600px;
margin: auto;
}
input, button {
padding: 0.5rem;
font-size: 1rem;
margin-top: 0.5rem;
}
#result {
margin-top: 1rem;
font-weight: bold;
}
</style>
</head>
<body>
<h2>คำนวณเลเวลจาก EXP</h2>
<label for="level">เลเวลปัจจุบัน:</label><br>
<input type="number" id="level" min="0" max="50"><br>
<label for="exp">EXP ที่มี:</label><br>
<input type="number" id="exp" min="0"><br>
<button onclick="calculate()">คำนวณ</button>
<div id="result"></div>
<script>
const expTable = [
5, 10, 15, 20, 25, 30, 35, 40, 45, 50,
55, 65, 75, 85, 95, 105, 120, 135, 150, 165,
180, 210, 240, 270, 300, 330, 390, 450, 510, 570,
630, 750, 870, 990, 1110, 1230, 1381, 1532, 1683, 1834,
1985, 2158, 2331, 2504, 2677, 2850, 3035, 3220, 3405, 3590,
3775
];
function calculate() {
const levelInput = document.getElementById("level");
const expInput = document.getElementById("exp");
const resultDiv = document.getElementById("result");
let level = parseInt(levelInput.value);
let exp = parseInt(expInput.value);
if (isNaN(level) || isNaN(exp) || level < 0 || level >= expTable.length) {
resultDiv.textContent = "กรุณากรอกข้อมูลให้ถูกต้อง";
return;
}
let remainingExp = exp;
while (level + 1 < expTable.length) {
const nextExp = expTable[level + 1];
if (remainingExp >= nextExp) {
remainingExp -= nextExp;
level++;
} else {
break;
}
}
resultDiv.textContent = `สามารถอัปได้ถึงเลเวล ${level} และเหลือ EXP ${remainingExp}`;
}
</script>
</body>
</html>