running-frag
why me?
- Сообщения
- 441
- Репутация
- 60
Итак смысл таков.
Бегает алгоритм по циклу While (). Паралельно (или как он там пашет) бегает
который проверяет локал и записует в глобалы вот что ($stNeutral)
После такой проверки значение $stNeutral[2] это "можем ли мы идти дальше хантить\майнить"
Сам алгоритм выглядит примерно так
Приблежаемся в к вопросу. У нас есть датчик который обновляется каждые пол секунды (можно и секунду, не суть). Есть алгоритм выполнения дейтсвия. Вопрос такой как сделать так что б "как только сработал датчик на нейтрала" тело алгоритма сбрасывалось на начало?
Есть несколько вариантов о каких я думаю
1. везде перед функциями писать но это пройденный этап, много мусора в коде получается, проблематично в общем
2. вызывать нужные дейтсвия прямо из функции датчика (останавливая основной алгоритм), но тут косяки при восстановлении будет
3. сменить датчик прописав его в алгоритм (но вряд ли я это буду делать), но тогда это ничего не будет отличать от первого пункта
Какие мысли на этот счёт?
Бегает алгоритм по циклу While (). Паралельно (или как он там пашет) бегает
который проверяет локал и записует в глобалы вот что ($stNeutral)
Код:
Func _script_checkLocal ()
$stNeutral[0] = _local_neutralInLocal ()
If $stNeutral[0] Then $stNeutral[1] = TimerInit () ; стартуем таймер если нейтрал замечен после проверки
Local $_min = 5 ; глобалка в минутах
Local $_differ = $_min * 60 * 1000 ; конверт в милисекунды
If TimerDiff ($stNeutral[1]) > $_differ Then ; если прошло нужно кол. времени с посл. появления в локале нейтрала, меняем флаг
$stNeutral[2] = True ; таймаут прошёл
Else
$stNeutral[2] = False ; таймаут не прошёл
EndIf
EndFunc
После такой проверки значение $stNeutral[2] это "можем ли мы идти дальше хантить\майнить"
Сам алгоритм выглядит примерно так
Код:
Func _anomaly_startAnomalyMaker () ; MAIN LOOP AND START FUNCTION
_anomaly_warpAllToPos ()
While True
$stNpcInOverview = True
$stLootInOverview = True
_anomaly_warpToNextAnomaly ()
_anomaly_doAnomaly ()
_anomaly_ignoreDoneAnomaly ()
_anomaly_warpAllToPos ()
WEnd
EndFunc
Приблежаемся в к вопросу. У нас есть датчик который обновляется каждые пол секунды (можно и секунду, не суть). Есть алгоритм выполнения дейтсвия. Вопрос такой как сделать так что б "как только сработал датчик на нейтрала" тело алгоритма сбрасывалось на начало?
Есть несколько вариантов о каких я думаю
1. везде перед функциями писать но это пройденный этап, много мусора в коде получается, проблематично в общем
2. вызывать нужные дейтсвия прямо из функции датчика (останавливая основной алгоритм), но тут косяки при восстановлении будет
3. сменить датчик прописав его в алгоритм (но вряд ли я это буду делать), но тогда это ничего не будет отличать от первого пункта
Какие мысли на этот счёт?