Ejemplo n.º 1
0
        private void bTurn_Click(object sender, EventArgs e)
        {
            try
            {
                if (!cbTurn.Checked)
                {
                    return;
                }

                using (var rance10 = Rance10.Create())
                {
                    var ana = new Rance10ObjectAnalyzer();

                    ana.Analyze(rance10);

                    List <Rance10Object> objs;

                    if (!ana.ClassObject.TryGetValue("GameContext", out objs))
                    {
                        return;
                    }

                    var gamectx = objs[0];
                    var trun    = (int)nudTurn.Value;

                    rance10.WriteMemory(new IntPtr(gamectx.DataPtr + 8), BitConverter.GetBytes(trun));
                }
            } catch (Exception ex)
            {
                System.Diagnostics.Debug.Print(ex.ToString());
                MessageBox.Show(ex.ToString());
            }
        }
Ejemplo n.º 2
0
        private void UltimateParty(Rance10 Rance10, Rance10ObjectAnalyzer ana)
        {
            // 編成画面のみで機能する
            // リーダーのパラメータを書き換える
            //
            // 以下の手順で実際のゲーム中に反映される
            //   1.編成画面
            //   2."Write params" を押す
            //   3.クエスト画面に戻る
            //   4.編成画面
            //   5.クエスト画面に戻る
            var party = new Party(ana, ana.ClassObject["SceneParty"].First());
            var data  = new byte[8];

            Array.Copy(BitConverter.GetBytes(999999), 0, data, 0, 4);   // AT
            Array.Copy(BitConverter.GetBytes(999999), 0, data, 4, 4);   // HP

            foreach (var i in party.Leaders)
            {
                if (i.PlayerCard == null)
                {
                    continue;
                }

                System.Diagnostics.Debug.Print("Write: {0:X8}", i.ParamAddress);

                Rance10.WriteMemory(new IntPtr(i.ParamAddress), data);
            }
        }
Ejemplo n.º 3
0
        public Rance10ObjectAnalyzer AnalyzeObjTable()
        {
            var ana = new Rance10ObjectAnalyzer();

            ana.Analyze(this);

            return(ana);
        }
Ejemplo n.º 4
0
 private void UpdateObjectTree()
 {
     using (var rance10 = Rance10.Create())
     {
         var ana = rance10.AnalyzeObjTable();
         Analyzer = ana;
     }
 }
Ejemplo n.º 5
0
        private void SetAnalyzer(Rance10ObjectAnalyzer value)
        {
            if (value == analyzer)
            {
                return;
            }

            analyzer = value;

            UpdateView();
        }
Ejemplo n.º 6
0
        private void bMaxExpFriend_Click(object sender, EventArgs e)
        {
            try
            {
                using (var rance10 = Rance10.Create())
                {
                    var ana = new Rance10ObjectAnalyzer();

                    ana.Analyze(rance10);

                    List <Rance10Object> objs;

                    if (!ana.ClassObject.TryGetValue("PlayerCommonParam", out objs))
                    {
                        return;
                    }

                    var param = new CommonParam(ana, objs.First());

                    if (cbTicket.Checked)
                    {
                        param.WriteTicket(rance10, 3);                                      // 食券
                    }
                    if (cbFriendship.Checked)
                    {
                        param.WriteFriendship(rance10, 3);                                  // 友情
                    }
                    if (cbMedal.Checked)
                    {
                        param.WriteMedal(rance10, 2);                                       // 勲章
                    }
                    if (cbIngot.Checked)
                    {
                        param.WriteIngot(rance10, 3);                                       // 金塊
                    }
                    if (cbTotalExp.Checked)
                    {
                        param.WriteTotalExp(rance10, 99999999);                             // 獲得経験値
                    }
                    if (cbUltimate.Checked)
                    {
                        UltimateParty(rance10, ana);
                    }
                }
            } catch (Exception ex)
            {
                System.Diagnostics.Debug.Print(ex.ToString());
                MessageBox.Show(ex.ToString());
            }
        }
Ejemplo n.º 7
0
        private void PartyMembers()
        {
            try
            {
                using (var rance10 = Rance10.Create())
                {
                    var ana = new Rance10ObjectAnalyzer();

                    ana.Analyze(rance10);

                    var party = new Party(ana, ana.ClassObject["SceneParty"].First());
                    var sb    = new StringBuilder();

                    sb.AppendLine("AT------ HP------ Rank---- Name----------------");

                    foreach (var i in party.Leaders)
                    {
                        if (i.PlayerCard == null)
                        {
                            continue;
                        }

                        sb.AppendFormat("{0} {1} {2} {3}",
                                        i.AT.ToString("N0").PadLeft(8),
                                        i.HP.ToString("N0").PadLeft(8),
                                        i.Rank.ToString("N0").PadLeft(8),
                                        i.CardName).AppendLine();
                    }

                    tbInfo.Text = sb.ToString();
                }
            } catch (Exception ex)
            {
                System.Diagnostics.Debug.Print(ex.ToString());
                MessageBox.Show(ex.ToString());
            }
        }
Ejemplo n.º 8
0
 public Leader(Rance10ObjectAnalyzer ana, Rance10Object obj)
     : base(ana, obj)
 {
 }
Ejemplo n.º 9
0
 public Party(Rance10ObjectAnalyzer ana, Rance10Object obj)
     : base(ana, obj)
 {
 }
Ejemplo n.º 10
0
 public CommonParam(Rance10ObjectAnalyzer ana, Rance10Object obj)
     : base(ana, obj)
 {
 }
Ejemplo n.º 11
0
 public ObjectBase(Rance10ObjectAnalyzer ana, Rance10Object obj)
 {
     Analyzer   = ana;
     BaseObject = obj;
 }