Rev 4 | Rev 28 | Go to most recent revision | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 4 | Rev 6 | ||
---|---|---|---|
1 | unit GamCheat; |
1 | unit GamCheat; |
2 | 2 | ||
3 | interface |
3 | interface |
4 | 4 | ||
5 | uses |
5 | uses |
6 | Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, |
6 | Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, |
7 | StdCtrls, ExtCtrls, ShellAPI, System.UITypes; |
7 | StdCtrls, ExtCtrls, ShellAPI{$IF CompilerVersion >= 23.0}, System.UITypes{$IFEND}; |
8 | 8 | ||
9 | type |
9 | type |
10 | TCheatForm = class(TForm) |
10 | TCheatForm = class(TForm) |
11 | Label1: TLabel; |
11 | Label1: TLabel; |
12 | CheatEdit: TEdit; |
12 | CheatEdit: TEdit; |
13 | OKBtn: TButton; |
13 | OKBtn: TButton; |
14 | AbbBtn: TButton; |
14 | AbbBtn: TButton; |
15 | GroupBox1: TGroupBox; |
15 | GroupBox1: TGroupBox; |
16 | CheatBox: TListBox; |
16 | CheatBox: TListBox; |
17 | Label2: TLabel; |
17 | Label2: TLabel; |
18 | Label3: TLabel; |
18 | Label3: TLabel; |
19 | procedure AbbBtnClick(Sender: TObject); |
19 | procedure AbbBtnClick(Sender: TObject); |
20 | procedure OKBtnClick(Sender: TObject); |
20 | procedure OKBtnClick(Sender: TObject); |
21 | procedure FormShow(Sender: TObject); |
21 | procedure FormShow(Sender: TObject); |
22 | procedure FormHide(Sender: TObject); |
22 | procedure FormHide(Sender: TObject); |
23 | procedure CheatEditKeyPress(Sender: TObject; var Key: Char); |
23 | procedure CheatEditKeyPress(Sender: TObject; var Key: Char); |
24 | procedure Label2Click(Sender: TObject); |
24 | procedure Label2Click(Sender: TObject); |
25 | procedure Label3Click(Sender: TObject); |
25 | procedure Label3Click(Sender: TObject); |
26 | public |
26 | public |
27 | procedure SearchCheats; |
27 | procedure SearchCheats; |
28 | end; |
28 | end; |
29 | 29 | ||
30 | var |
30 | var |
31 | CheatForm: TCheatForm; |
31 | CheatForm: TCheatForm; |
32 | 32 | ||
33 | implementation |
33 | implementation |
34 | 34 | ||
35 | uses |
35 | uses |
36 | GamMain, Global; |
36 | GamMain, Global; |
37 | 37 | ||
38 | {$R *.DFM} |
38 | {$R *.DFM} |
39 | 39 | ||
40 | const |
40 | const |
41 | // Cheat1 = 'Kmkjk'+#39+'Khyc'; {Johnny Cash} |
41 | // Cheat1 = 'Kmkjk'+#39+'Khyc'; {Johnny Cash} |
42 | Cheat1 = #75+#109+#107+#106+#107+#127+#39+#75+#104+#121+#99; |
42 | Cheat1 = #75+#109+#107+#106+#107+#127+#39+#75+#104+#121+#99; |
43 | Cheat1Text = 'Unendlich Leben!'; |
43 | Cheat1Text = 'Unendlich Leben!'; |
44 | 44 | ||
45 | procedure TCheatForm.AbbBtnClick(Sender: TObject); |
45 | procedure TCheatForm.AbbBtnClick(Sender: TObject); |
46 | begin |
46 | begin |
47 | close; |
47 | close; |
48 | end; |
48 | end; |
49 | 49 | ||
50 | procedure TCheatForm.SearchCheats; |
50 | procedure TCheatForm.SearchCheats; |
51 | begin |
51 | begin |
52 | Cheatbox.Items.Clear; |
52 | Cheatbox.Items.Clear; |
53 | if mainform.FCheat then Cheatbox.Items.Append(Cheat1Text); |
53 | if mainform.FCheat then Cheatbox.Items.Append(Cheat1Text); |
54 | end; |
54 | end; |
55 | 55 | ||
56 | procedure TCheatForm.OKBtnClick(Sender: TObject); |
56 | procedure TCheatForm.OKBtnClick(Sender: TObject); |
57 | var |
57 | var |
58 | temp: string; |
58 | temp: string; |
59 | i, j: integer; |
59 | i, j: integer; |
60 | begin |
60 | begin |
61 | temp := ''; |
61 | temp := ''; |
62 | j := 0; |
62 | j := 0; |
63 | for i := 1 to length(CheatEdit.text) do |
63 | for i := 1 to length(CheatEdit.text) do |
64 | begin |
64 | begin |
65 | inc(j); |
65 | inc(j); |
66 | temp := temp + chr(byte(copy(CheatEdit.text, i, 1)[1]) xor j); |
66 | temp := temp + chr(byte(copy(CheatEdit.text, i, 1)[1]) xor j); |
67 | end; |
67 | end; |
68 | if lowercase(temp) = lowercase(Cheat1) then |
68 | if lowercase(temp) = lowercase(Cheat1) then |
69 | begin |
69 | begin |
70 | if mainform.FCheat then |
70 | if mainform.FCheat then |
71 | showmessage('Dieser Cheat wurde bereits freigeschaltet!') |
71 | showmessage('Dieser Cheat wurde bereits freigeschaltet!') |
72 | else |
72 | else |
73 | begin |
73 | begin |
74 | showmessage('Dieser Cheat wurde freigeschaltet!'); |
74 | showmessage('Dieser Cheat wurde freigeschaltet!'); |
75 | mainform.FCheat := true; |
75 | mainform.FCheat := true; |
76 | SearchCheats; |
76 | SearchCheats; |
77 | end; |
77 | end; |
78 | close; |
78 | close; |
79 | end |
79 | end |
80 | else |
80 | else |
81 | begin |
81 | begin |
82 | showmessage('Dies ist kein offizieller Cheat!'); |
82 | showmessage('Dies ist kein offizieller Cheat!'); |
83 | CheatEdit.text := ''; |
83 | CheatEdit.text := ''; |
84 | CheatEdit.setfocus; |
84 | CheatEdit.setfocus; |
85 | end; |
85 | end; |
86 | end; |
86 | end; |
87 | 87 | ||
88 | procedure TCheatForm.FormShow(Sender: TObject); |
88 | procedure TCheatForm.FormShow(Sender: TObject); |
89 | begin |
89 | begin |
90 | mainform.dxtimer.enabled := false; |
90 | mainform.dxtimer.enabled := false; |
91 | SearchCheats; |
91 | SearchCheats; |
92 | CheatEdit.text := ''; |
92 | CheatEdit.text := ''; |
93 | CheatEdit.setfocus; |
93 | CheatEdit.setfocus; |
94 | end; |
94 | end; |
95 | 95 | ||
96 | procedure TCheatForm.FormHide(Sender: TObject); |
96 | procedure TCheatForm.FormHide(Sender: TObject); |
97 | begin |
97 | begin |
98 | if not mainform.gamepause.checked then mainform.dxtimer.enabled := true; |
98 | if not mainform.gamepause.checked then mainform.dxtimer.enabled := true; |
99 | end; |
99 | end; |
100 | 100 | ||
101 | procedure TCheatForm.CheatEditKeyPress(Sender: TObject; var Key: Char); |
101 | procedure TCheatForm.CheatEditKeyPress(Sender: TObject; var Key: Char); |
102 | begin |
102 | begin |
103 | if key = #13 then |
103 | if key = #13 then |
104 | begin |
104 | begin |
105 | // key := #0; |
105 | // key := #0; |
106 | OKBtn.click; |
106 | OKBtn.click; |
107 | end; |
107 | end; |
108 | end; |
108 | end; |
109 | 109 | ||
110 | procedure TCheatForm.Label2Click(Sender: TObject); |
110 | procedure TCheatForm.Label2Click(Sender: TObject); |
111 | begin |
111 | begin |
112 | if not CheatBox.items.IndexOf(Cheat1Text) = -1 then |
112 | if not CheatBox.items.IndexOf(Cheat1Text) = -1 then |
113 | begin |
113 | begin |
114 | if CheatBox.Selected[CheatBox.items.IndexOf(Cheat1Text)] then |
114 | if CheatBox.Selected[CheatBox.items.IndexOf(Cheat1Text)] then |
115 | begin |
115 | begin |
116 | if MessageDlg('Diesen Cheat wirklich deaktivieren?', |
116 | if MessageDlg('Diesen Cheat wirklich deaktivieren?', |
117 | mtConfirmation, [mbYes, mbNo], 0) = mrYes then |
117 | mtConfirmation, [mbYes, mbNo], 0) = mrYes then |
118 | begin |
118 | begin |
119 | mainform.FCheat := false; |
119 | mainform.FCheat := false; |
120 | showmessage('Dieser Cheat wurde deakiviert!'); |
120 | showmessage('Dieser Cheat wurde deakiviert!'); |
121 | SearchCheats; |
121 | SearchCheats; |
122 | end; |
122 | end; |
123 | end; |
123 | end; |
124 | end; |
124 | end; |
125 | end; |
125 | end; |
126 | 126 | ||
127 | procedure TCheatForm.Label3Click(Sender: TObject); |
127 | procedure TCheatForm.Label3Click(Sender: TObject); |
128 | begin |
128 | begin |
129 | shellexecute(handle, 'open', pchar('mailto:daniel-marschall@viathinksoft.de?subject=Cheats für SpaceMission '+ProgramVersion), '', '', 1); |
129 | shellexecute(handle, 'open', pchar('mailto:daniel-marschall@viathinksoft.de?subject=Cheats für SpaceMission '+ProgramVersion), '', '', 1); |
130 | end; |
130 | end; |
131 | 131 | ||
132 | end. |
132 | end. |
133 | 133 | ||
134 | 134 |