Skip to content

Commit

Permalink
Working FC reading, slight optimization
Browse files Browse the repository at this point in the history
FC is now read again.

Slight button optimization.
  • Loading branch information
imaboy321 committed Dec 12, 2016
1 parent 3955217 commit babfc17
Show file tree
Hide file tree
Showing 4 changed files with 32 additions and 18 deletions.
Binary file modified .vs/Ledybot/v14/.suo
Binary file not shown.
10 changes: 9 additions & 1 deletion Ledybot/Form1.Designer.cs

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

14 changes: 8 additions & 6 deletions Ledybot/Form1.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
using System;
using System.Collections;
using System.Collections.Generic;
using System.Configuration;
using System.Data;
Expand Down Expand Up @@ -31,6 +32,8 @@ public partial class MainForm : Form
private bool botStop = false;
private int botNumber = -1;

public ArrayList blacklist = new ArrayList();

private GTSBot7 GTSBot7;

static Dictionary<uint, DataReadyWaiting> waitingForData = new Dictionary<uint, DataReadyWaiting>();
Expand Down Expand Up @@ -163,14 +166,14 @@ private async void btn_Start_Click(object sender, EventArgs e)
botNumber = -1;
}

public void AppendListViewItem(string szTrainerName, string szNickname)
public void AppendListViewItem(string szTrainerName, string szNickname, string fc)
{
if (InvokeRequired)
{
this.Invoke(new Action<string, string>(AppendListViewItem), new object[] { szTrainerName, szNickname });
this.Invoke(new Action<string, string, string>(AppendListViewItem), new object[] { szTrainerName, szNickname, fc });
return;
}
string[] row = { DateTime.Now.ToString("h:mm:ss"), szTrainerName, szNickname };
string[] row = { DateTime.Now.ToString("h:mm:ss"), szTrainerName, szNickname, fc.Insert(4, "-").Insert(9, "-") };
var listViewItem = new ListViewItem(row);

lv_log.Items.Add(listViewItem);
Expand Down Expand Up @@ -409,9 +412,8 @@ public byte[] StringToByteArray(string hex)

public byte calculateChecksum(byte[] principal)
{
byte[] newPrincipal = new byte[principal.Length];
Array.Copy(principal, newPrincipal, newPrincipal.Length);
Array.Reverse(newPrincipal);
byte[] newPrincipal = new byte[4];
Array.Copy(principal, newPrincipal, 4);
using (SHA1Managed sha1 = new SHA1Managed())
{
byte[] hash = sha1.ComputeHash(newPrincipal);
Expand Down
26 changes: 15 additions & 11 deletions Ledybot/GTSBot7.cs
Original file line number Diff line number Diff line change
Expand Up @@ -196,6 +196,7 @@ public async Task<int> RunBot()
attempts = 0;
listlength = (int)Program.helper.lastRead;
int dexnumber = 0;
int principal = 0;
await Program.helper.waitNTRread(addr_PageEndStartRecord);
addr_PageEntry = Program.helper.lastRead;
await Program.helper.waitNTRread(0x32A6A7C4, (uint)(256 * 100));
Expand All @@ -204,7 +205,8 @@ public async Task<int> RunBot()
{
Array.Copy(blockBytes, addr_PageEntry - 0x32A6A7C4, block, 0, 256);
dexnumber = BitConverter.ToInt16(block, 0xC);
if(dexnumber == dexNum)
principal = BitConverter.ToInt32(block, 0x48);
if(!Program.f1.blacklist.Contains(principal) && dexnumber == dexNum)
{
int gender = block[0xE];
int level = block[0xF];
Expand Down Expand Up @@ -246,7 +248,7 @@ public async Task<int> RunBot()
Program.helper.quickbuton(Program.PKTable.keyB, commandtime);
await Task.Delay(commandtime + delaytime + 500);
Program.helper.quickbuton(Program.PKTable.keyB, commandtime);
await Task.Delay(commandtime + delaytime);
await Task.Delay(commandtime + delaytime + 500);
botState = (int)gtsbotstates.research;
}
else
Expand Down Expand Up @@ -293,6 +295,7 @@ public async Task<int> RunBot()
attempts = 0;
listlength = (int)Program.helper.lastRead;
int dexnumber = 0;
int principal = 0;
await Program.helper.waitNTRread(addr_PageEndStartRecord);
addr_PageEntry = Program.helper.lastRead;
await Program.helper.waitNTRread(0x32A6A7C4, (uint)(256 * 100));
Expand All @@ -301,7 +304,8 @@ public async Task<int> RunBot()
{
Array.Copy(blockBytes, addr_PageEntry - 0x32A6A7C4, block, 0, 256);
dexnumber = BitConverter.ToInt16(block, 0xC);
if (dexnumber == dexNum)
principal = BitConverter.ToInt32(block, 0x48);
if (!Program.f1.blacklist.Contains(principal) && dexnumber == dexNum)
{
int gender = block[0xE];
int level = block[0xF];
Expand Down Expand Up @@ -377,7 +381,7 @@ public async Task<int> RunBot()
Program.helper.quickbuton(Program.PKTable.keyB, commandtime);
await Task.Delay(commandtime + delaytime + 500);
Program.helper.quickbuton(Program.PKTable.keyB, commandtime);
await Task.Delay(commandtime + delaytime);
await Task.Delay(commandtime + delaytime + 500);
botState = (int)gtsbotstates.research;
}
else
Expand Down Expand Up @@ -427,17 +431,17 @@ public async Task<int> RunBot()

//optional: grab some trainer data
string szTrainerName = Encoding.Unicode.GetString(block, 0x4C, 20).Trim('\0');
await Program.helper.waitNTRread(addr_PageEntry + 0x48);
byte[] principal = new byte[4];
Array.Copy(block, 0x48, principal, 0, 4);
byte checksum = Program.f1.calculateChecksum(principal);
byte[] fc = new byte[5];
Array.Copy(principal, 0, fc, 1, 4);
fc[0] = checksum;
string hex = Program.f1.ByteArrayToString(fc);
long iFC = long.Parse(hex, NumberStyles.HexNumber);
byte[] fc = new byte[8];
Array.Copy(principal, 0, fc, 0, 4);
fc[4] = checksum;
long iFC = BitConverter.ToInt64(fc, 0);
string szFC = iFC.ToString().PadLeft(12, '0');

Program.f1.AppendListViewItem(szTrainerName, szNickname);
Program.f1.blacklist.Add(BitConverter.ToInt32(principal, 0));
Program.f1.AppendListViewItem(szTrainerName, szNickname, szFC);
//Inject the Pokemon to box1slot1
Program.scriptHelper.write(0x330d9838, cloneshort, iPID);
Program.helper.quickbuton(Program.PKTable.keyA, commandtime);
Expand Down

0 comments on commit babfc17

Please sign in to comment.