예제 #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());
            }
        }
예제 #2
0
 private void UpdateObjectTree()
 {
     using (var rance10 = Rance10.Create())
     {
         var ana = rance10.AnalyzeObjTable();
         Analyzer = ana;
     }
 }
예제 #3
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());
            }
        }
예제 #4
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());
            }
        }