Ejemplo n.º 1
0
        void defaultFirstCharTimer_Tick(object sender, EventArgs e)
        {
            try
            {
                var defaultFirstCharacters = DefaultFirstCharacterLoader.DefaultFirstCharacters;

                foreach (var character in defaultFirstCharacters)
                {
                    if (character.ZoneId == zonename && character.Server == server)
                    {
                        // Bypass movies/logos
                        if (state == 1 || state == 2)
                        {
                            PostMessageTools.SendMouseClick(350, 100);
                        }

                        if (state == 3)
                        {
                            loginCharacterTools.LoginCharacter(character.CharacterName);
                        }

                        break;
                    }
                }

                if (state >= 3)
                {
                    defaultFirstCharTimer.Stop();
                }

                state++;
            }
            catch (Exception ex) { Debug.LogException(ex); }
        }
Ejemplo n.º 2
0
        void Current_RenderFrame(object sender, EventArgs e)
        {
            try
            {
                if (DateTime.Now.Subtract(TimeSpan.FromMilliseconds(millisecondsToWaitAfterLoginComplete)) < loginCompleteTime)
                {
                    return;
                }

                if (loginCompleteMessageQueue.Count == 0 && sendingLastEnter == false)
                {
                    CoreManager.Current.RenderFrame -= new EventHandler <EventArgs>(Current_RenderFrame);
                    return;
                }

                if (sendingLastEnter)
                {
                    PostMessageTools.SendEnter();
                    sendingLastEnter = false;
                }
                else
                {
                    PostMessageTools.SendEnter();
                    PostMessageTools.SendMsg(loginCompleteMessageQueue.Dequeue());
                    sendingLastEnter = true;
                }
            }
            catch (Exception ex) { Debug.LogException(ex); }
        }
Ejemplo n.º 3
0
        void Current_RenderFrame(object sender, EventArgs e)
        {
            try
            {
                if (loginMessageQueue.Count == 0 && sendingLastEnter == false)
                {
                    CoreManager.Current.RenderFrame -= new EventHandler <EventArgs>(Current_RenderFrame);
                    return;
                }

                if (sendingLastEnter)
                {
                    PostMessageTools.SendEnter();
                    sendingLastEnter = false;
                }
                else
                {
                    PostMessageTools.SendEnter();
                    string cmd = loginMessageQueue.Dequeue();
                    PostMessageTools.SendMsg(cmd);
                    sendingLastEnter = true;
                }
            }
            catch (Exception ex) { Debug.LogException(ex); }
        }
        void Current_RenderFrame(object sender, EventArgs e)
        {
            try
            {
                if (!timer_ticked)
                {
                    return;
                }

                if (onLoginCompleteMessageQueue.Count == 0 && sendingLastEnter == false)
                {
                    CoreManager.Current.RenderFrame -= new EventHandler <EventArgs>(Current_RenderFrame);
                    return;
                }

                if (sendingLastEnter)
                {
                    PostMessageTools.SendEnter();
                    sendingLastEnter = false;
                }
                else
                {
                    string msg = onLoginCompleteMessageQueue.Dequeue();
                    PostMessageTools.SendEnter();
                    PostMessageTools.SendMsg(msg);
                    Debug.LogText("Sent " + msg);
                    sendingLastEnter = true;
                }
            }
            catch (Exception ex) { Debug.LogException(ex); }
        }
        void EchoFilter_ServerDispatch(object sender, NetworkMessageEventArgs e)
        {
            try
            {
                if (!Settings.SettingsManager.Tinkering.AutoClickYes.Value)
                {
                    return;
                }

                if (e.Message.Type == 0xF7B0 && (int)e.Message["event"] == 0x0274 && e.Message.Value <int>("type") == 5)
                {
                    Match match = PercentConfirmation.Match(e.Message.Value <string>("text"));

                    if (match.Success)
                    {
                        int percent;

                        if (int.TryParse(match.Groups["percent"].Value, out percent) && percent >= MinimumYesPercent)
                        {
                            PostMessageTools.ClickYes();
                        }
                    }
                }
            }
            catch (Exception ex) { Debug.LogException(ex); }
        }
        void launcherChooseCharTimer_Tick(object sender, EventArgs e)
        {
            try
            {
                // Override - instead of using the plugin xml, use the launch file
                var launchInfo = LaunchControl.GetLaunchInfo();
                if (launchInfo.IsValid)
                {
                    TimeSpan FiveMinutes = new TimeSpan(0, 0, 5, 0);
                    if (DateTime.UtcNow - launchInfo.LaunchTime < FiveMinutes)
                    {
                        var ourCharacter = new DefaultFirstCharacter(launchInfo.ServerName, zonename, launchInfo.CharacterName);

                        if (ourCharacter.ZoneId == zonename && ourCharacter.Server == server)
                        {
                            // Bypass movies/logos
                            if (state == 1 || state == 2)
                            {
                                PostMessageTools.SendMouseClick(350, 100);
                            }

                            if (state == 3)
                            {
                                //bool ok = loginCharacterTools.CreateCharacter();
                                //bool ok = loginCharacterTools.LoginCharacter(ourCharacter.CharacterName);
                                Heartbeat.RecordCharacterName(ourCharacter.CharacterName);
                                //if (ok)
                                //{

                                //}
                            }
                        }
                    }
                    else
                    {
                        log.WriteInfo("launcherChooseCharTimer_Tick: LaunchInfo too old: " + launchInfo.LaunchTime.ToString());
                    }
                }
                else
                {
                    log.WriteInfo("launcherChooseCharTimer_Tick: LaunchInfo not valid");
                }

                if (state >= 3)
                {
                    launcherChooseCharTimer.Stop();
                }

                state++;
            }
            catch (Exception ex) { Debug.LogException(ex); }
        }
Ejemplo n.º 7
0
 void EchoFilter_ServerDispatch(object sender, NetworkMessageEventArgs e)
 {
     try
     {
         if (lastActionThatCouldRequireConfirmation != DateTime.MinValue && DateTime.UtcNow - lastActionThatCouldRequireConfirmation < TimeSpan.FromSeconds(5))
         {
             if (e.Message.Type == 0xF7B0 && (int)e.Message["event"] == 0x0274 && e.Message.Value <int>("type") == 5)                    // 0x0274 = Confirmation Panel
             {
                 lastActionThatCouldRequireConfirmation = DateTime.MinValue;
                 PostMessageTools.ClickYes();
             }
         }
     }
     catch (Exception ex) { Debug.LogException(ex); }
 }
Ejemplo n.º 8
0
        public static bool Maximize(bool force = false)
        {
            if (CurrentState == ChatState.Maximized && !force)
            {
                return(false);
            }

            System.Drawing.Rectangle rect = CoreManager.Current.Actions.UIElementRegion(Decal.Adapter.Wrappers.UIElementType.Chat);

            PostMessageTools.SendMouseClick(rect.X + 459, rect.Y + 11);

            CurrentState = ChatState.Maximized;

            return(true);
        }
        void Current_RenderFrame(object sender, EventArgs e)
        {
            try
            {
                if (DateTime.Now.Subtract(TimeSpan.FromMilliseconds(_loginCmds.WaitMillisencds)) < loginCompleteTime)
                {
                    return;
                }

                if (_loginCmds.Commands.Count == 0 && sendingLastEnter == false)
                {
                    CoreManager.Current.RenderFrame -= new EventHandler <EventArgs>(Current_RenderFrame);
                    return;
                }

                bool useMagToolsStyle = true;

                if (useMagToolsStyle)
                {
                    string cmd = _loginCmds.Commands.Dequeue();
                    log.WriteInfo("Dequeued a login message to send to DecalProxy: {0}", cmd);
                    DecalProxy.DispatchChatToBoxWithPluginIntercept(cmd);
                }
                else
                {
                    if (sendingLastEnter)
                    {
                        PostMessageTools.SendEnter();
                        sendingLastEnter = false;
                    }
                    else
                    {
                        PostMessageTools.SendEnter();
                        string cmd = _loginCmds.Commands.Dequeue();
                        // The game is losing the first character of our commands
                        // So deliberately send a space at the start
                        if (!cmd.StartsWith(" "))
                        {
                            cmd = " " + cmd;
                        }
                        log.WriteInfo("Dequeued a login message to send char-by-char to chat: '{0}'", cmd);
                        PostMessageTools.SendCharString(cmd);
                        sendingLastEnter = true;
                    }
                }
            }
            catch (Exception ex) { Debug.LogException(ex); }
        }
Ejemplo n.º 10
0
        void defaultFirstCharTimer_Tick(object sender, EventArgs e)
        {
            try
            {
                var defaultFirstCharacters = Settings.SettingsManager.CharacterSelectionScreen.DefaultFirstCharacters;

                foreach (var character in defaultFirstCharacters)
                {
                    if ((String.IsNullOrEmpty(character.AccountName) || character.AccountName == zonename) && character.Server == server)
                    {
                        // Bypass movies/logos
                        if (state == 1 || state == 2)
                        {
                            PostMessageTools.SendMouseClick(350, 100);
                        }

                        if (state == 3)
                        {
                            if (!String.IsNullOrEmpty(character.CharacterName))
                            {
                                loginCharacterTools.LoginCharacter(character.CharacterName);
                            }
                            else if (character.CharacterIndex != -1)
                            {
                                loginCharacterTools.LoginByIndex(character.CharacterIndex);
                            }
                        }

                        break;
                    }
                }

                if (state >= 3)
                {
                    defaultFirstCharTimer.Stop();
                }

                state++;
            }
            catch (Exception ex) { Debug.LogException(ex); }
        }