Снова все переделал работает еще быстрее, но появилась ошибка при обращении к массиву из другого скрипта2, такая же как на скрине выше конкретно на этой строке:
set #asd PosEx($mess %j.9[#a]) //если нашлось сообщение
при том не сразу и скрипт может проработать несколько минут
скрипт1
Код
set priority 0
set linedelay 0
set %j[10]
set #if2 1
:re
readmem #if1 0xCE3228 d //чтение указателя 1
if (#if1 != #if2) //если адреса не равны значит есть новое сообщение
readmem #decCount #if1 d //чтение указателя 2
readmem $lmess #decCount s 120 //чтение сообщения
for #a 1 9 1 //сдвиг всего массива на 1
set #b #a + 1
set %j[#a] %j[#b]
//set logging %j[#a]
end_for
set %j[10] $lmess
end_if
set #if2 #if1
goto re
скрипт2
Код
//что то делаем и нужно ждать пока не появится сообщение о том что готово
set $mess All kill please
gosub waitmess
end_script
:waitmess //$mess
//set %j[10]
start_script 0
set #tmp linedelay
set linedelay 0
set #asd 0
:rere123
for #a 1 10 1 //перебор всего массива
//if (#avl.0 = 1) //pause_script 0
set #asd PosEx($mess %j.0[#a]) //если нашлось сообщение
//end_if //resume_script 0
if (#asd > 0)
stop_script 0
goto next123
end_if
end_for
goto rere123
:next123
set linedelay #tmp
return