Свободное общение

PErepelka

Новичок
Помню как выходила Subnautica. Играл в нее с таким интересом. А сейчас уже выходит Subnautica 2,как время летит быстро:D
 

Socolino

Новичок
Привет.
подскажите пожалуйста. Как написать ключ реестра, делаю для игры Call of Duty 4 Modern Warfare 1.8 .
Код:
[HKEY_CURRENT_USER\SOFTWARE\Activision\Call of Duty 4]

"codkey"="Ключ"
Как это добавить в Inno Setup ? Я с реестрами не работал ещё , может есть решение?
Мне бы ещё чтобы ключ генерировался, а сам список ключей имеется.
 

dixen18

Ветеран
@Socolino,

Код:
[Registry]
Root: HKCU; SubKey: SOFTWARE\Activision\Call of Duty 4; ValueType: string; ValueName: codkey; ValueData: Ключ; Flags: uninsdeletevalue uninsdeletekeyifempty
 

Socolino

Новичок
@Socolino,

Код:
[Registry]
Root: HKCU; SubKey: SOFTWARE\Activision\Call of Duty 4; ValueType: string; ValueName: codkey; ValueData: Ключ; Flags: uninsdeletevalue uninsdeletekeyifempty
Спасибо, а как указать путь до остальных файлов с заменой например вот
Source: "C:\Users\Пользователь\AppData\Local\CallofDuty4MW\*"; DestDir: "{userappdata}"; Flags: ignoreversion recursesubdirs createallsubdirs
Вместо "C:\Users\Пользователь\ чтобы имя не вписывать ?
 

Socolino

Новичок
Не понял как , можете прописать правильно как мне прописать в скрипте это ?
Надо чтобы эти файлы скопировались, а потом после установки они в этой папке появились
 
Последнее редактирование:

Crachlow

Старожил

Socolino

Новичок
Вернемся к реестру. Как можно сделать, чтобы в реестр записывался рандомный ключ для игры ?
Делаю так, а записывается самый первый ключ и не рандомно
Код:
[Registry]
Root: HKCU; SubKey: SOFTWARE\Activision\Call of Duty 4; ValueType: string; ValueName: codkey; ValueData: Ключ1; Flags: uninsdeletekeyifempty createvalueifdoesntexist
Root: HKCU; SubKey: SOFTWARE\Activision\Call of Duty 4; ValueType: string; ValueName: codkey; ValueData: Ключ2; Flags: uninsdeletevalue uninsdeletekeyifempty createvalueifdoesntexist
Root: HKCU; SubKey: SOFTWARE\Activision\Call of Duty 4; ValueType: string; ValueName: codkey; ValueData: Ключ3; Flags: uninsdeletevalue uninsdeletekeyifempty
Root: HKCU; SubKey: SOFTWARE\Activision\Call of Duty 4; ValueType: string; ValueName: codkey; ValueData: Ключ4; Flags: uninsdeletevalue uninsdeletekeyifempty
 

Crachlow

Старожил
Вернемся к реестру. Как можно сделать, чтобы в реестр записывался рандомный ключ для игры ?
Делаю так, а записывается самый первый ключ и не рандомно
Код:
[Registry]
Root: HKCU; SubKey: SOFTWARE\Activision\Call of Duty 4; ValueType: string; ValueName: codkey; ValueData: Ключ1; Flags: uninsdeletekeyifempty createvalueifdoesntexist
Root: HKCU; SubKey: SOFTWARE\Activision\Call of Duty 4; ValueType: string; ValueName: codkey; ValueData: Ключ2; Flags: uninsdeletevalue uninsdeletekeyifempty createvalueifdoesntexist
Root: HKCU; SubKey: SOFTWARE\Activision\Call of Duty 4; ValueType: string; ValueName: codkey; ValueData: Ключ3; Flags: uninsdeletevalue uninsdeletekeyifempty
Root: HKCU; SubKey: SOFTWARE\Activision\Call of Duty 4; ValueType: string; ValueName: codkey; ValueData: Ключ4; Flags: uninsdeletevalue uninsdeletekeyifempty
Код:
[Setup]
AppVersion=1.5
AppName=My Prog
DefaultDirName=My Prog
ChangesAssociations=false
SolidCompression=no
OutputDir=.
OutputBaseFilename=alert


[Code]
var
GameKey: TArrayOfstring;

function RandomRange(Min, Max: Integer): Integer;
begin
  Result := Random((Min + Random(Max) - 1));
  Randomize;
end;

function GetRandomKey(): String;
var
  Count, RandomNumber: Integer;
begin
  GameKey:=[
            '46052235-1684-914F-91AA-9C3650CE82D6',
            '0520B712-1F80-7C43-A3AB-558D536616CB',
            '07EEF858-F35C-304F-A8E5-ABE1330C67D7',
            '9F213643-9B5B-CE40-B8B8-3F9FD205AA29'
           ];
  Count:=GetArrayLength(GameKey);
  RandomNumber := RandomRange(1, Count);
  Result:=GameKey[Random(Count)];
end;

procedure InitializeWizard;
begin
  MsgBox('Случайный GUID: ' + GetRandomKey, mbInformation, MB_OK);
  RegWriteStringValue(HKEY_CURRENT_USER, 'SOFTWARE\Activision\Call of Duty 4', 'codkey', ExpandConstant('{code:GetRandomKey}'));
end;
 

Socolino

Новичок
Код:
[Setup]
AppVersion=1.5
AppName=My Prog
DefaultDirName=My Prog
ChangesAssociations=false
SolidCompression=no
OutputDir=.
OutputBaseFilename=alert


[Code]
var
GameKey: TArrayOfstring;

function RandomRange(Min, Max: Integer): Integer;
begin
  Result := Random((Min + Random(Max) - 1));
  Randomize;
end;

function GetRandomKey(): String;
var
  Count, RandomNumber: Integer;
begin
  GameKey:=[
            '46052235-1684-914F-91AA-9C3650CE82D6',
            '0520B712-1F80-7C43-A3AB-558D536616CB',
            '07EEF858-F35C-304F-A8E5-ABE1330C67D7',
            '9F213643-9B5B-CE40-B8B8-3F9FD205AA29'
           ];
  Count:=GetArrayLength(GameKey);
  RandomNumber := RandomRange(1, Count);
  Result:=GameKey[Random(Count)];
end;

procedure InitializeWizard;
begin
  MsgBox('Случайный GUID: ' + GetRandomKey, mbInformation, MB_OK);
  RegWriteStringValue(HKEY_CURRENT_USER, 'SOFTWARE\Activision\Call of Duty 4', 'codkey', ExpandConstant('{code:GetRandomKey}'));
end;
Огромное спасибо
 
Сверху