Repository navigation
Expand file tree
/
Copy pathprocess_repair_char.php
More file actions
54 lines (45 loc) · 1.62 KB
/
Copy pathprocess_repair_char.php
File metadata and controls
54 lines (45 loc) · 1.62 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
<?php
session_start();
require_once 'ind/db.php';
if (!isset($_SESSION['username'])) {
header('Location: index.php');
exit;
}
$lang = include "lang/{$_SESSION['lang']}.php";
$username = $_SESSION['username'];
$charName = $_POST['repair_char_name'] ?? '';
$mensagem = '';
$tipo = 'erro';
// Coordenadas fixas de Giran
$giran_x = 82698;
$giran_y = 148638;
$giran_z = -3469;
if ($charName) {
$conn = getDbConnection();
// Verifica se o personagem pertence ao usuário e está offline
$stmt = $conn->prepare("SELECT online FROM characters WHERE char_name = ? AND account_name = ?");
$stmt->bind_param("ss", $charName, $username);
$stmt->execute();
$stmt->bind_result($online);
$stmt->fetch();
$stmt->close();
if ($online === 0) {
// Atualiza as coordenadas do personagem para Giran
$stmt2 = $conn->prepare("UPDATE characters SET x = ?, y = ?, z = ? WHERE char_name = ? AND account_name = ?");
$stmt2->bind_param("iiiss", $giran_x, $giran_y, $giran_z, $charName, $username);
$stmt2->execute();
if ($stmt2->affected_rows > 0) {
$mensagem = $lang['repair_success'] ?? 'Personagem reparado com sucesso!';
$tipo = 'sucesso';
} else {
$mensagem = $lang['repair_failed'] ?? 'Erro ao tentar reparar o personagem.';
}
$stmt2->close();
} else {
$mensagem = $lang['character_online'] ?? 'O personagem está online. Deslogue para continuar.';
}
} else {
$mensagem = $lang['invalid_name'] ?? 'Nome inválido.';
}
header("Location: services.php?msg=" . urlencode($mensagem) . "&tipo=" . $tipo);
exit;