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

📄 memorytrainerdesignunit.pas

📁 冒险岛吸怪源码UCE的制作材料 用于冒险岛游戏的外挂
💻 PAS
📖 第 1 页 / 共 2 页
字号:

      //add the cheats
      while tcheatlist(controls[i]).Count<length(frmmemorymodifier.trainerdata) do
        tcheatlist(controls[i]).addcheat(frmmemorymodifier.trainerdata[tcheatlist(controls[i]).Count].hotkeytext,frmmemorymodifier.trainerdata[tcheatlist(controls[i]).Count].description,frmmemorymodifier.trainerdata[tcheatlist(controls[i]).Count].editvalue,frmmemorymodifier.trainerdata[tcheatlist(controls[i]).Count].hasedit);

    end;
  end
end;

procedure TfrmTrainerDesigner.MouseUp(Sender: TObject;
  Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
  paintbox1.OnMouseup(sender,button,shift,twincontrol(sender).left+x,twincontrol(sender).top+y);
end;

procedure TfrmTrainerDesigner.MouseMove(Sender: TObject;
  Shift: TShiftState; X, Y: Integer);
begin
  paintbox1.OnMousemove(sender,shift,twincontrol(sender).left+x,twincontrol(sender).top+y);
end;

procedure TfrmTrainerDesigner.MouseDown(Sender: TObject;
  Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
  if stretchhandle.Attached then stretchhandle.Detach;

  if additem=0 then
  begin
    if ((sender is tlabel) or (sender is tedit)) and (twincontrol(sender).Parent is tcheat) then
      sender:=twincontrol(sender).Parent;

    if (sender is tcheat) and (tcheat(sender).Parent is tcheatlist) then
      sender:=(tcheat(sender).Parent);

    stretchhandle.Attach(tcontrol(sender));
    selectedobject:=sender;

    updateEditor;
  end
  else paintbox1.OnMouseDown(sender,button,shift,twincontrol(sender).left+x,twincontrol(sender).top+y);

end;

procedure TfrmTrainerDesigner.stretchhandleKeyDown(Sender: TObject;
  var Key: Word; Shift: TShiftState);
var i: integer;
    check: integer;
    found: boolean;
begin
  inherited;
  case key of
    vk_right:
      begin
        if ssshift in shift then
        begin
          stretchhandle.Width:=stretchhandle.Width+1;
          stretchhandle.Left:=stretchhandle.Left-1;
        end;
      end;

    vk_left:
      begin
        if ssshift in shift then
        begin
          stretchhandle.Width:=stretchhandle.Width-1;
          stretchhandle.Left:=stretchhandle.Left+1;
        end;
      end;

    vk_up:
      begin
        if ssshift in shift then
        begin
          stretchhandle.Width:=stretchhandle.height-1;
          stretchhandle.Left:=stretchhandle.top+1;
        end;
      end;

    vk_down:
      begin
        if ssshift in shift then
        begin
          stretchhandle.Width:=stretchhandle.height+1;
          stretchhandle.Left:=stretchhandle.top-1;
        end;
      end;


    vk_delete:
      begin
        for i:=0 to stretchhandle.ChildCount-1 do
          stretchhandle.Children[i].Free;
        stretchhandle.Detach;
      end;

    vk_escape:
      begin
        stretchhandle.Detach;
        application.ProcessMessages;
        
        frmtrainerdesigner.HorzScrollBar.Position:=0;
        frmtrainerdesigner.VertScrollBar.Position:=0;
        frmtrainerdesigner.width:=frmtrainerdesigner.width+1;
        frmtrainerdesigner.height:=frmtrainerdesigner.height+1;
        frmtrainerdesigner.width:=frmtrainerdesigner.width-1;
        frmtrainerdesigner.height:=frmtrainerdesigner.height-1;


      end;

    ord('N'):
      if ssctrl in shift then
      begin
        found:=false;
        for i:=0 to frmTrainerDesigner.ControlCount-1 do
        begin
          if frmtrainerdesigner.Controls[i]=selectedobject then
          begin
            check:=i+1;
            check:=check mod frmTrainerDesigner.ControlCount;
            while (not found) and (check<>i) do
            begin
              if (frmtrainerdesigner.Controls[check] is tlabel) or
              (frmtrainerdesigner.Controls[check] is tbutton) or
              (frmtrainerdesigner.Controls[check] is tcheat) or
              (frmtrainerdesigner.Controls[check] is tcheatlist) or
              (frmtrainerdesigner.Controls[check] is timage) then
              begin
                found:=true;
                stretchhandle.Detach;
                stretchhandle.Attach(frmtrainerdesigner.Controls[check]);
                selectedobject:=frmtrainerdesigner.Controls[check];
                updateeditor;
                break;
              end;
              inc(check);
              check:=check mod frmTrainerDesigner.ControlCount;
            end;
            if found then break;
          end;
        end;
      end;
  end;
end;

procedure TfrmTrainerDesigner.FormCreate(Sender: TObject);
begin
  stretchhandle:=tstretchhandle.Create(self);
  stretchhandle.OnKeyDown:=stretchhandleKeyDown;
  stretchhandle.OnDblClick:=stretchhandledblclick;
  stretchhandle.PopupMenu:=popupmenu1;
 // frmTrainerDesigner.KeyPreview:=true;


  frmTrainerDesignObjectView:=tfrmTrainerDesignObjectView.create(self);


  frmTrainerDesignControls:= tfrmTrainerdesignControls.create(self);



end;

procedure TfrmTrainerDesigner.FormShow(Sender: TObject);
begin
  frmTrainerDesignControls.Left:=frmMemorymodifier.Left;
  frmTrainerDesignControls.Width:=frmMemorymodifier.width;
  frmTrainerDesignControls.top:=frmMemorymodifier.top-frmTrainerDesignControls.height;

  frmTrainerDesignObjectView.show;
  frmTrainerDesignControls.show;
  frmTrainerDesignObjectView.valuelisteditor1.Strings.text:='';
  frmTrainerDesignObjectView.valuelisteditor1.Col:=1;
end;

procedure TfrmTrainerDesigner.PaintBox1MouseDown(Sender: TObject;
  Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
  stretchhandle.Detach;
  selectedobject:=nil;
  frmTrainerDesignObjectView.ValueListEditor1.Strings.Text:='';

  if additem<>0 then
  begin
    startx:=x;
    starty:=y;
    drawrect.Left:=x;
    drawrect.Top:=y;
    drawrect.Right:=x;
    drawrect.Bottom:=y;
    paint:=true;
  end;
end;

procedure TfrmTrainerDesigner.PaintBox1MouseMove(Sender: TObject;
  Shift: TShiftState; X, Y: Integer);
var temp: integer;

begin
  if paint then
  begin
    frmTrainerDesigner.Repaint;


    if (startx>x) and (starty>y) then //exchange them
      drawrect:=rect(x,y,startx,starty);

    if (startx>x) and (starty<y) then
      drawrect:=rect(x,starty,startx,y);

    if (startx<x) and (starty>y) then
      drawrect:=rect(startx,y,x,starty);

    if (startx<x) and (starty<y) then
      drawrect:=rect(startx,starty,x,y);


    dec(drawrect.Left,frmTrainerDesigner.HorzScrollBar.ScrollPos);
    deC(drawrect.Right,frmTrainerDesigner.HorzScrollBar.ScrollPos);
    dec(drawrect.top,frmTrainerDesigner.VertScrollBar.ScrollPos);
    deC(drawrect.bottom,frmTrainerDesigner.VertScrollBar.ScrollPos);

    frmTrainerDesigner.Canvas.DrawFocusRect(drawrect);
  end;
end;

procedure TfrmTrainerDesigner.PaintBox1MouseUp(Sender: TObject;
  Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
var comp: Tcontrol;
    i:integer;
begin
  //reset trainerdesignercontrols
  for i:=0 to frmTrainerDesignControls.toolbar1.ButtonCount-1 do
    frmTrainerDesignControls.toolbar1.Buttons[i].Down:=false;

  if paint then
  begin
    changed:=true;
    paint:=false;

    case additem of
      1: begin
           comp:=tbutton2.create(self);
           tbutton(comp).OnMouseDown:=mousedown;
           tbutton(comp).OnMouseMove:=mousemove;
           tbutton(comp).OnMouseUp:=mouseup;
         end;

      2: begin
           comp:=tcheatlist.Create(self);
           tcheatlist(comp).OnMouseDown:=mousedown;
           tcheatlist(comp).OnMouseMove:=mousemove;
           tcheatlist(comp).OnMouseUp:=mouseup;

         end;

      3: begin
           comp:=tcheat.Create(self);
           tcheat(comp).OnMouseDown:=mousedown;
           tcheat(comp).OnMouseMove:=mousemove;
           tcheat(comp).OnMouseUp:=mouseup;
         end;

      4: begin //image
           comp:=timage2.Create(self);
           timage(comp).OnMouseDown:=mousedown;
           timage(comp).Width:=100;
           timage(comp).Height:=100;
           timage(comp).OnMouseMove:=mousemove;
           timage(comp).OnMouseUp:=mouseup;

         end;

      5: begin
           comp:=TLabel2.Create(self);
           tlabel(comp).Caption:='Type some text';
           tlabel(comp).OnMouseDown:=mousedown;
           tlabel(comp).OnMouseMove:=mousemove;
           tlabel(comp).OnMouseUp:=mouseup;
         end;

      6: begin
           comp:=TScrollbox.Create(self);
           tscrollbox(comp).OnMouseDown:=mousedown;
           tscrollbox(comp).OnMouseMove:=mousemove;
           tscrollbox(comp).OnMouseUp:=mouseup;
         end;

    end;


    with comp do
    begin
      if drawrect.Right-drawrect.Left<=1 then
      begin
        top:=drawrect.top;
        left:=drawrect.Left;
      end else BoundsRect:=drawrect;

      parent:=frmTrainerDesigner;
    end;

    selectedobject:=comp;
    stretchhandle.Attach(comp);
  end;

  updatecheats;
  updateeditor;

  additem:=0;
end;

procedure TfrmTrainerDesigner.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
  stretchhandle.Free;
  frmTrainerDesignObjectView.free;
  frmTrainerDesignControls.free;
  frmMemoryTrainerPreview.visible:=true;
  frmmemorymodifier.Button2.Enabled:=true;
  frmmemorymodifier.Button7.Caption:='Design own userinterface';
  action:=cafree;

end;

procedure TfrmTrainerDesigner.FormDestroy(Sender: TObject);
begin
  frmTrainerDesigner:=nil;
end;

procedure TfrmTrainerDesigner.FormCloseQuery(Sender: TObject;
  var CanClose: Boolean);
begin
  canclose:=(not changed) or (messagedlg('If you close this window you''ll lose your changes! Continue?',mtwarning,[mbyes,mbno],0)=mryes);
end;

procedure TfrmTrainerDesigner.Bringtofront1Click(Sender: TObject);
begin
  twincontrol(selectedobject).BringToFront;
end;

procedure TfrmTrainerDesigner.Sendtoback1Click(Sender: TObject);
begin
  twincontrol(selectedobject).SendToBack;
end;

end.

⌨️ 快捷键说明

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