This is a mobile optimized page that loads fast, if you want to load the real page, click this text.

Вопрос Проблема Как записать в бд последние координаты игрока?

Andrey777_279

Новый участник
25 Мар 2021
1
0
13
Я полный новичок в программировании и сам смог сделать так чтобы координаты записывались в бд, но есть проблема что они вставляются в новую строку)
Как сделать так чтобы выбиралась нужная строка персонажа по нику и вставлялись координаты?

Вот до чего я смог доковылять)
в эвенте плеер куит:
player.getVariable(player.position);
DB.query('INSERT INTO accounts SET lastx = ?, lasty = ?, lastz = ?', [player.position.x, player.position.y, player.position.y], function(err, results){});

Опять же, чтобы это все вставлялось в строку определенного персонажа.
Сорян если я такой глупый, я же новичок)
 

koltr

Гуру
BackEnd developer
14 Сен 2020
157
108
121
Но для начала тебе лучше проверить есть ли в базе филд с таким ключём, если нет то создавать через INSERT INTO иначе делать UPDATE а точнее заменять данные зная ключ, в данном случае это ИД игрока, но желательно делать статичный
JavaScript:
DB.query('UPDATE accounts SET lastx = ?, lasty = ?, lastz = ? WHERE id= ?', [player.position.x, player.position.y, player.position.y, player.id], function(err, results){});
 
Реакции: Andrey777_279

X-Clusiv

Модератор
Команда форума
Moderator
BackEnd developer
4 Окт 2020
716
324
161
30
По идее, если есть персонаж значит должна быть и строка в бд с его данными, следовательно проверка не нужна, можно просто обновить данные конкретного персонажа. Если по какой-то причине есть возможность удалять данные о персе, пока он онлайн, нужно пересмотреть архитектуру(логику сервера).
 
Реакции: Andrey777_279