это добавляет секунду} и не добавляет 1 к уровню - PullRequest
0 голосов
/ 22 декабря 2018

Он продолжает добавлять дополнительные} в файл json и не добавляет 1 к уровню

Я пытался сохранить исходное значение уровня в текстовом файле, затем подождать секунду, а затем добавить 1 к нему.

    if(xpout > 100) {
        var lvupxp = xp.xp - 100
        var expcontent = `{ "xp": ${lvupxp}, "level": ${xp.level++} }`
        var exppath = `./Users/${message.author.username}/xp.json`;
        fs.writeFile(exppath, expcontent, (err) => {
            if (err) throw err;
        })

    }

{"xp": 7, "level": 0}}

1 Ответ

0 голосов
/ 22 декабря 2018

Если вы хотите, чтобы свойство level содержало повышенный уровень, вы должны использовать преинкремент, а не постинкремент.См. ++ оператор возвращает исходное значение, если помещен после операнда - как?

Также не создавайте JSON со строковыми операциями.Создайте объект и используйте JSON.stringify().

var expcontent = JSON.stringify({cp: lvupxp, level: ++xp.level});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...