Beispiel #1
0
        private SpellHelper GenerateValue()
        {
            var sh = new SpellHelper();

            sh.BaseValue = GenerateBaseKey();
            foreach (Mapping m in pnMapper.Children)
            {
                var b = new Bind();
                b.BindedKey = ConvertTextToKey(m.Value);
                if (b.BindedKey == Keys.LControlKey)
                {
                    return(null);
                }
                for (int i = 0; i < 10; i++)
                {
                    b.BindedValue[i] = m.GetMap(i);
                }
                sh.Binding.Add(b);
            }

            return(sh);
        }
Beispiel #2
0
        private void KeyboardHook_KeyDown(int vkCode)
        {
            string Active = GetActiveWindow();

            if (vkCode == (int)Keys.Oemtilde)
            {
                cbTick.IsChecked = !cbTick.IsChecked;
            }
            if (Disable)
            {
                return;
            }
            if (!Active.Equals("Magicka"))
            {
                return;
            }
            bool Surprise = chkSurprised.IsChecked.Value;

            new Thread(
                delegate() {
                var k = (Keys)(vkCode);
                if (Surprise)
                {
                    if ((vkCode >= (int)Keys.D0) && ((int)Keys.D9 >= vkCode))
                    {
                        int NumOfSpell = new Random().Next(0, 5);
                        var l          = new List <int>();
                        l.AddRange(new int[8] {
                            0, 1, 2, 3, 4, 5, 6, 7
                        });
                        for (int i = 0; i <= NumOfSpell; i++)
                        {
                            int Spell = new Random().Next(0, l.Count);
                            VirtualKeyboard.KeyPress(globalSpellHelper.BaseValue[l[Spell]], Delay);
                            l.RemoveAt(Spell);
                        }
                    }
                }
                else
                {
                    if (dictKey.ContainsKey(k))
                    {
                        VirtualKeyboard.KeyPress(Keys.OemMinus, KeyPress);
                        Thread.Sleep(KeyDelay0);
                        Bind b  = dictKey[k];
                        var key = new List <Keys>();

                        var pressedKey    = new Dictionary <int, int>();
                        int previousvalue = -1;
                        foreach (var i in b.BindedValue)
                        {
                            if (i == 8)
                            {
                                Mouse.ButtonDown(Mouse.MouseKeys.Left);
                                previousvalue = 8;
                            }
                            else if (i == 9)
                            {
                                VirtualKeyboard.KeyPress(Keys.OemMinus, KeyPress / 2);
                                Thread.Sleep(KeyDelay0 / 2);
                                Mouse.PressButton(Mouse.MouseKeys.Middle, Delay);
                                previousvalue = 9;
                            }
                            else if (i == 10)
                            {
                                if (previousvalue == 11)
                                {
                                    Mouse.PressButton(Mouse.MouseKeys.Right, Delay);
                                    Thread.Sleep(Delay);
                                    VirtualKeyboard.KeyUp(Keys.LShiftKey);
                                }
                                else
                                {
                                    Mouse.ButtonDown(Mouse.MouseKeys.Right);
                                }
                            }
                            else if (i == 11)
                            {
                                VirtualKeyboard.KeyDown(Keys.LShiftKey);
                                previousvalue = 11;
                            }
                            else if (i == 12)
                            {
                                VirtualKeyboard.KeyPress(Keys.OemMinus, KeyPress / 2);
                                Thread.Sleep(KeyDelay0 / 2);
                                VirtualKeyboard.KeyPress(Keys.Space, Delay);
                                Thread.Sleep(Delay);
                                previousvalue = 12;
                            }
                            if ((i > -1) && (i < 8))
                            {
                                int wait = KeyDelay1;

                                if (pressedKey.ContainsKey(i))
                                {
                                    VirtualKeyboard.KeyPress(Keys.OemMinus, KeyPress);
                                    Thread.Sleep(KeyDelay0);
                                    if (previousvalue == i)
                                    {
                                        if (pressedKey[i] <= 3)
                                        {
                                            wait = KeyDelay2;
                                        }
                                        if (pressedKey[i] == 4)
                                        {
                                            wait = KeyDelay3;
                                        }
                                        else
                                        {
                                            wait = KeyDelay4;
                                        }
                                        pressedKey[i]++;
                                    }
                                }
                                else
                                {
                                    VirtualKeyboard.KeyPress(Keys.OemMinus, KeyPress / 2);
                                    Thread.Sleep(KeyDelay0 / 2);
                                    pressedKey.Add(i, 1);
                                }
                                VirtualKeyboard.KeyPress(globalSpellHelper.BaseValue[i], Delay);
                                previousvalue = i;
                                Thread.Sleep(wait);
                            }
                        }
                    }
                }
            }).Start();
        }