public bool GetState() { if (st_data_len == 0) { return(true); } uint tmp = st_addr + baseaddr; if (st_ptr_offs != null) { tmp = mem.Read(st_addr) + st_ptr_offs[0]; for (int i = 1; i < st_ptr_offs.Length; i++) { tmp = mem.Read(tmp) + st_ptr_offs[i]; } } byte[] tarr = mem.ReadBytes(tmp, st_data_len); for (int i = 0; i < st_data_len; i++) { if (tarr[i] != st_val[i]) { return(false); } } return(true); }
void NetSend() { try { int i; uint tmp; byte[] buffer = new byte[BUFFER_LEN]; byte[] nul = new byte[4]; while (true) { Thread.Sleep(THD_SLEEP); //Ped tmp = (uint)(mem.Read(PTR_PLR_PED) + OFS_PLR_PED[0]); tmp = (uint)(mem.Read(tmp) + OFS_PLR_PED[1]); if (mem.ReadByte(tmp - OFS_ONF) == 1) { Array.Copy(nul, 0, buffer, BUFFER_PED, 4); mem.ReadBytes(tmp, BUFFER_PED); Array.Copy(mem.ReadBytes(tmp, BUFFER_PED), buffer, BUFFER_PED); } //Vehicle else { tmp = (uint)(mem.Read(PTR_PLR_VEH) + OFS_PLR_VEH[0]); for (i = 1; i < 5; i++) { tmp = (uint)(mem.Read(tmp) + OFS_PLR_VEH[i]); } Array.Copy(mem.ReadBytes(tmp, BUFFER_VEH), 0, buffer, BUFFER_PED, BUFFER_VEH); Array.Copy(nul, buffer, 4); } sock.Send(buffer); } } catch (Exception e) { MessageBox.Show(e.Source + " - " + e.Message, Text, MessageBoxButtons.OK, MessageBoxIcon.Error); if (game != null && !game.HasExited) { game.Kill(); } Environment.Exit(0); } }
void Snd() { try { byte[] buffer = new byte[BUFFER_SIZE - GlobalInfo.BUFFER_DIDX]; byte[] data; uint address; int idx, len; Pointer ptr; while (true) { Thread.Sleep(THD_SLEEP); for (int st = 0; st < game_addrs.Length; st++) { ptr = game_addrs[st]; if (ptr.GetState()) { idx = GlobalInfo.BUFFER_DIDX; buffer[0] = (byte)st; for (int adr = 0; adr < ptr.addresses.GetLength(1); adr++) { address = ptr.GetAddr(GlobalInfo.ADDR_PLAYER, adr); len = ptr.data[adr].data_len; data = mem.ReadBytes(address, len); Array.Copy(data, 0, buffer, idx, len); idx += len; } sock.Send(buffer); break; } } } } catch (Exception ex) { MsgBox(ex); if (game != null && !game.HasExited) { game.Kill(); } Environment.Exit(0); } }
void NetSend() { try { byte[] buffer = new byte[BUFFER_LEN]; while (true) { Thread.Sleep(THD_SLEEP); Array.Copy(mem.ReadBytes(PLAYER_ADDR, BUFFER_LEN), buffer, BUFFER_LEN); sock.Send(buffer); } } catch (Exception e) { MessageBox.Show(e.Source + " - " + e.Message, Text, MessageBoxButtons.OK, MessageBoxIcon.Error); if (game != null && !game.HasExited) { game.Kill(); } Environment.Exit(0); } }