这是一个游戏应用程序,我声明了变量skipnpc,该变量旨在指示非玩家角色已经使用了他的回合,并且与他的行为相关的任何AI代码都会被跳过一段时间。我遇到的问题是我以某种方式失去了skipnpc的值,我指出我在console.log命令中发出的位置与可变范围有关,但我不明白如何解决它。
function npcMovement() {
skipnpc = false;...
sql4 = "SELECT id FROM game_moblist WHERE spawn_id =" + spawnid + " AND posx=" + parseInt(mobpathx[mobpathx.length - 1]) + " AND posy=" + parseInt(mobpathy[mobpathy.length - 1])
connection.query(sql4, function (err, send, fields) {
console.log("skipnpc pathing")
io.sockets.emit('groupmoveresult', send, parseInt(mobpathx[mobpathx.length - 1]), parseInt(mobpathy[mobpathy.length - 1]))
skipnpc = true
console.log("skipnpc=true:" + skipnpc)
});
console.log("skipnpc = false:" + skipnpc)
后来我用
if (skipnpc==false){
...
在尝试任何进一步的 AI 代码之前