这是用于游戏应用程序
我声明了变量skipnpc,该变量被设计为指示非玩家角色已使用过自己的回合,并且与他的行为有关的任何AI代码都将跳过一段时间。我遇到的问题是我以某种方式表明我在console.log命令中的位置与可变范围有关,从而失去了skipnpc的值,但我不知道如何解决它。
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代码之前
最佳答案
connection.query是异步执行的。这样,您就可以在此完成最后一行。