private void InitializeScript() => Task.Run(async() => { if (!InExecution) { return; } await InitializeCheck(); if (IsNeedScript) { ActionQueue = new ConcurrentQueue <IAction>(); List <Table> Entries = lua_manager.GetFunction(State).ToList(); if (Entries == null) { return; } if (Account.State != Enums.AccountState.FIGHTING) { foreach (Table entrie in Entries) { if (entrie["map"] == null) { continue; } if (!Account.Character.IsOnMap(entrie["map"].ToString())) { continue; } Process(entrie); ProcessTags(); break; } var delayHumain = new Random().Next(1, 6500); await Task.Delay(delayHumain); await ProcessDequeueAction(); } } if (Account.State == Enums.AccountState.IDLE && !IsNeedScript) { var delayHumain = new Random().Next(1, 300); await Task.Delay(delayHumain); if (ActionQueue.Count > 0) { await ProcessDequeueAction(); } } InitializeScript(); });