⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 formsettingsunit.pas

📁 冒险岛吸怪源码UCE的制作材料 用于冒险岛游戏的外挂
💻 PAS
📖 第 1 页 / 共 3 页
字号:
    cbShowDebugOptions.Enabled:=true;
    ReplaceWithNops.enabled:=true;

    askforreplacewithnops.Enabled:=replacewithnops.Checked;
  end
  else
  begin
    cbShowDebugOptions.Enabled:=false;
    ReplaceWithNops.enabled:=false;
    askforreplacewithnops.Enabled:=false;
  end;
end;

procedure TformSettings.replacewithnopsClick(Sender: TObject);
begin
  askforreplacewithnops.Enabled:=replacewithnops.Checked;
end;

procedure TformSettings.CheckBox1Click(Sender: TObject);
begin
  checkbox2.Checked:=checkbox1.checked;
end;

procedure TformSettings.CheckBox2Click(Sender: TObject);
begin
  Checkbox1.Checked:=checkbox2.Checked;
end;

procedure TformSettings.cbUpdatefoundListClick(Sender: TObject);
begin
  if cbUpdatefoundList.Checked then
  begin
    label18.Enabled:=true;
    editUpdatefoundInterval.Enabled:=true;
    Label19.Enabled:=true;
  end
  else
  begin
    label18.Enabled:=false;
    editUpdatefoundInterval.Enabled:=false;
    Label19.Enabled:=false;
  end;
end;

procedure TformSettings.Label20Click(Sender: TObject);
begin
  with tabout.create(self) do
  begin
    showmodal;
    free;
  end;

end;

procedure TformSettings.cbHideAllWindowsClick(Sender: TObject);
begin
  btnExcludeProcesses.enabled:=cbHideallWindows.Checked;
end;

procedure TformSettings.btnExcludeProcessesClick(Sender: TObject);
begin
  {$ifndef net}
  with tfrmExcludeHide.create(self) do
  begin
    showmodal;
    free;
  end;
  {$endif}
end;

procedure TformSettings.FormCreate(Sender: TObject);
begin
  pagecontrol1.tabindex:=0;
  {$ifdef net}
  button3.visible:=false;
  cbHideAllWindows.visible:=false;
  btnExcludeProcesses.visible:=false;
  cbCenterOnPopup.visible:=false;

  cbHideAllWindows.Visible:=false;
  btnExcludeProcesses.visible:=false;
  cbCenterOnPopup.visible:=false;
  cbUpdatefoundList.Visible:=false;
  cbShowAdvanced.Visible:=false;
  cbShowUndo.Visible:=false;

  cbfastscan.Visible:=false;
  cbEnableHyperscanWhenPossible.Visible:=false;
  cbLowMemoryUsage.Visible:=false;

  label21.Visible:=false;
  cbMemprivate.Visible:=false;
  cbMemImage.Visible:=false;
  cbMemMapped.Visible:=false;

  label2.visible:=false;
  checkthread.Visible:=false;
  label3.Visible:=false;
  combothreadpriority.Visible:=false;

  checkbox1.visible:=false;
  checkbox2.visible:=false;

  cbshowdebugoptions.enableD:=false;
  rbDebugAsBreakpoint.Enabled:=false;
  rbInt3AsBreakpoint.Enabled:=false;
  cbBreakOnAttach.Enabled:=false;
  cbBreakOnAttach.Visible:=false;
  checkbox2.Visible:=false;
  checkbox1.Visible:=false;
  cbstealth.Visible:=false;
  cbprotectme.visible:=false;

  label25.Visible:=false;

  cbUndoMemoryChanges.Visible:=false;
  cbForceUndo.Visible:=false;
  panel1.Visible:=false;


  formsettings.Height:=formsettings.Height+24;
  pagecontrol1.Height:=pagecontrol1.Height+24;
  button1.top:=button1.top+24;
  button2.top:=button2.top+24;


  label16.Visible:=true;
  EditNetworkUpdateInterval.Visible:=true;
  Label17.Visible:=true;

  Label13.top:=label13.top+24;
  editUpdateInterval.top:=editUpdateInterval.top+24;
  label17.Top:=label17.Top+24;

  label14.top:=label14.top+24;
  editFreezeInterval.top:=editFreezeInterval.Top+24;
  label12.Top:=label12.top+24;
  cbprocesswatcher.Visible:=false;
  cbKdebug.Visible:=false;

  btnUnrandomizerconfig.Visible:=false;
  {$else}
  panel1.Visible:=fileexists(cheatenginedir+'stealth.dll');
  {$endif}


  //set the default popup
  laststatePopupHide:=vk_next;
  lastpopupmodifier:=MOD_CONTROL or MOD_ALT;

  laststatepause:=ord('P');
  lastpausemodifier:=MOD_CONTROL or MOD_ALT;

  laststateSpeedhack:=ord('S');
  laststateSpeedhack:=MOD_CONTROL or MOD_ALT;


end;

procedure TformSettings.cbKernelQueryMemoryRegionClick(Sender: TObject);
begin
  if (cbkdebug.checked) or (cbKernelQueryMemoryRegion.Checked) or (cbKernelReadWriteProcessMemory.Checked) then
  begin
    cbKernelOpenProcess.Checked:=true;
    cbKernelOpenProcess.Enabled:=false;
  end
  else cbKernelOpenProcess.Enabled:=true;

end;

procedure TformSettings.cbUndoMemoryChangesClick(Sender: TObject);
begin
  if (cbUndoMemoryChanges.checked) and (not LoadingSettingsFromRegistry) then
    cbUndoMemoryChanges.checked:=Messagedlg('Are you sure the memory is clean from any alterations?',mtconfirmation,[mbyes,mbno],0)=mryes;

  cbforceundo.Enabled:=cbUndoMemoryChanges.checked;
  if not cbforceundo.enabled then cbforceundo.Checked:=false;
end;

procedure TformSettings.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
{$ifndef net}
  if frmHotkeyConfig<>nil then
  begin
    frmhotkeyconfig.free;
    frmHotkeyConfig:=nil;
  end;
{$endif}
end;

procedure TformSettings.Button3Click(Sender: TObject);
var i:integer;
begin
{$ifndef net}
  if frmHotkeyConfig=nil then
    frmhotkeyconfig:=tfrmhotkeyconfig.create(self);

//fill the list with the current hotkeylist
  if not ClickedOK then
  begin
    for i:=0 to length(hotkeythread.hotkeylist)-1 do
      if hotkeythread.hotkeylist[i].handler2 then
        frmhotkeyconfig.newhotkeys[hotkeythread.hotkeylist[i].id]:=hotkeythread.hotkeylist[i].keys;

    frmhotkeyconfig.newspeedhackspeed1:=speedhackspeed1;
    frmhotkeyconfig.newspeedhackspeed1:=speedhackspeed2;
    frmhotkeyconfig.newspeedhackspeed1:=speedhackspeed3;
    frmhotkeyconfig.newspeedhackspeed1:=speedhackspeed4;
    frmhotkeyconfig.newspeedhackspeed1:=speedhackspeed5;

    frmhotkeyconfig.speedupdelta:=speedupdelta;
    frmhotkeyconfig.slowdowndelta:=slowdowndelta;
  end;

  if frmHotkeyConfig.showmodal=mrok then clickedok:=true;
{$endif}
end;

procedure TformSettings.startsystemcallretrieverifneeded;
begin
  startsystemcallretrieverifneeded('');
end;

procedure TformSettings.startsystemcallretrieverifneeded(why:string);
var
  proc_info: TProcessInformation;
  startinfo: TStartupInfo;
  ec: dword;
begin
  if systemcallretrieverexecuted then
  begin
    //check if it's still running
    if GetExitCodeProcess(systemcallretrieverhandle,ec) then
      if ec=STILL_ACTIVE then exit; //still running
  end;

  //start the systemsignalretriever if there's no callnumbers.dat
  if not fileexists(cheatenginedir+'kerneldata.dat') then
  begin
    if why<>'' then
      if messagedlg(why,mtconfirmation,[mbyes,mbno],0)<>mryes then exit;

    zeromemory(@proc_info,sizeof(proc_info));
    zeromemory(@startinfo,sizeof(startinfo));
    startinfo.cb:=sizeof(startinfo);

    if Createprocess(nil,'systemcallretriever.exe',nil,nil,false,NORMAL_PRIORITY_CLASS,nil,nil,startinfo,proc_info) then
    begin
      systemcallretrieverexecuted:=true;
      systemcallretrieverhandle:=proc_info.hProcess;
    end;
  end;

end;

procedure TformSettings.cbProtectMeClick(Sender: TObject);
begin
  btnmorestealth.enabled:=cbProtectme.checked;

  if cbprotectme.Checked then
    startsystemcallretrieverifneeded;
end;

procedure TformSettings.cbKdebugClick(Sender: TObject);
begin
  if (cbkdebug.checked) or (cbKernelQueryMemoryRegion.Checked) or (cbKernelReadWriteProcessMemory.Checked) then
  begin
    cbKernelOpenProcess.Checked:=true;
    cbKernelOpenProcess.Enabled:=false;
  end
  else cbKernelOpenProcess.Enabled:=true;

  if cbkdebug.Checked then
  begin
    cbKernelOpenProcess.enabled:=false;
    cbKernelOpenProcess.Checked:=true;
    cbProcessWatcher.Enabled:=false;
    cbProcesswatcher.Checked:=true;
    cbProcessWatcherClick(cbProcessWatcher);
  end else cbprocesswatcher.enableD:=true;
end;

procedure TformSettings.cbProcessWatcherClick(Sender: TObject);
var
  proc_info: TProcessInformation;
  startinfo: TStartupInfo;
begin
  if cbprocesswatcher.checked then
    startsystemcallretrieverifneeded('To get more detailed information about processes, like the processname, it''s recommended to run the kerneldataretriever program. Do you want to run it ?');
end;

procedure TformSettings.btnMoreStealthClick(Sender: TObject);
var i: integer;
    p:pbyte;
    p2: pchar;
begin
{$ifndef net}
  if frmModuleSafety=nil then
  begin
    //fill the list with all the modules
    frmModuleSafety:=TfrmModuleSafety.create(self);

    with frmModuleSafety do
    begin
      rbDenyList.checked:=DenyList;
      rbAllowList.Checked:=not Denylist;
      cbGlobalDeny.Checked:=DenyListGlobal;

      p:=modulelist;
      p2:=modulelist;
      i:=0;

      while i<modulelistsize do
      begin
        if p^=0 then
        begin
          ListBox1.Items.Add(p2);
          p2:=pointer(p);
        end;

        inc(p);
        inc(i);
      end;
    end;
  end;

  frmModuleSafety.showmodal;

  //now fill the tempmodulelist with the data of the list
  //get the size
  if tempmodulelist<>nil then freemem(tempmodulelist);
  tempmodulelistsize:=0;
  for i:=0 to frmmodulesafety.ListBox1.items.count-1 do
    inc(tempmodulelistsize,length(frmmodulesafety.ListBox1.Items[i])+1); //+1 because of the 0 terminator

  getmem(tempmodulelist,tempmodulelistsize);
  p:=pointer(tempmodulelist);

  for i:=0 to frmmodulesafety.ListBox1.items.count-1 do
  begin
    copymemory(p,@frmmodulesafety.ListBox1.items[i][1],length(frmmodulesafety.ListBox1.items[i])+1);
    inc(p,length(frmmodulesafety.ListBox1.items[i])+1);
  end;

  tempdenylist:=frmModuleSafety.rbDenyList.checked;
  tempDenyListGlobal:=frmModuleSafety.cbGlobalDeny.Checked;
{$endif}
end;


procedure TformSettings.btnUnrandomizerconfigClick(Sender: TObject);
begin
{$ifndef net}
  with tfrmConfigUnrandomizer.Create(self) do
  begin
    edtdefault.text:=inttostr(unrandomizersettings.defaultreturn);
    cbIncremental.checked:=unrandomizersettings.incremental;
    if showmodal=mrok then
    begin
      unrandomizersettings.defaultreturn:=strtoint(edtdefault.Text);
      unrandomizersettings.incremental:=cbincremental.Checked;
    end;

    free;
  end;
{$endif}
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -