2016-10-12 1 views
0

Я понятия не имею, что пошло не так, но если инструкция пропускает свое утверждение, хотя условие явно верно. Я проверил MsgBox или ToolTip прямо перед оператором if, чтобы проверить, что toughEnemy соответствует false. Вы можете увидеть журнал, и код пропускается с строки 55 на 60. Я знаю, что в моем коде есть поток, а не ahk, но я не могу его найти. Любая помощь? Благодарю.пропустить, если {}, хотя условие верно?

Gosub, CheckEnemyBlackList 

if (tughEnemy = false) { 
MsgBox, %toughEnemy% 
    mouseX := 575 
    break ; this statement is in a loop. 
} 

CheckEnemyBlackList: 
Loop, read, EnemyBlackList.txt 
{ 
    if (A_LoopReadLine = enemyID) { 
    toughEnemy = true 
    } 
    else { 
    toughEnemy = false 
    } 
} 
return 

below are the log 
166: Loop,read,EnemyBlackList.txt 
168: if (A_LoopReadLine = enemyID) 
172: toughEnemy = false 
173: } 
174: MsgBox,%A_LoopReadLine% %toughEnemy% (0.75) 
175: } 
176: Return 
055: if (toughEnemy = false) 
060: } 
+0

В третьей строке указано 'if (tughEnemy = false) {'. Может ли это быть проблема? – MCL

+0

@MCL ах спасибо за то, что вы прошли через тщательно, но это ошибка копирования. оригинальный сценарий в порядке .. – Seung

+0

, пожалуйста, отправьте оригинальный сценарий, затем – Blauhirn

ответ

0

попробуйте изменить эти строки:

toughEnemy = true 
toughEnemy = false 

к этому:

toughEnemy := true 
toughEnemy := false 

ссылки:

  • AutoHotKey Справка> Основы использования и синтаксиса> Переменные и выражения> Переменные > Сохранение значений в переменных
+0

А, я понял это, и забыл поставить его здесь сам. Но спасибо большое! Это выражение и переменные вещи сводят меня с ума, я должен был прочитать раздел справки, как 10 раз ..: / – Seung