Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Аватара для nik1967

Старожил


Сообщения: 440
Благодарности: 251

Профиль | Сайт | Отправить PM | Цитировать


Цитата Johny777:
ну если у Вас соединилось, то дайте пожалуйста результат, а то я в тупике »
Как то так
Код: Выделить весь код
[Setup]
AppName=My Program
AppVerName=My Program version 1.5
DefaultDirName={pf}\My Program
DefaultGroupName=My Program
OutputDir=.

[Languages]
Name: rus; MessagesFile: compiler:Languages\Russian.isl

[Files]
Source: descctrl.dll; Flags: dontcopy

[Tasks]
Name: need; Description: необходимо; GroupDescription: для првильной работы:; Check:
Name: need\no_steam; Description: выкл Steam (если включен); GroupDescription: для првильной работы:;
Name: need\direct_x; Description: установть/обновить DirectX; GroupDescription: для првильной работы;
Name: need\visual_c; Description: установть/отремонтировать VisualC++; GroupDescription: для првильной работы;
Name: need\hey; Description: ещё рекомендуется:; Flags: unchecked; GroupDescription: для првильной работы;
Name: need\hey\fonts; Description: установить шрифты; GroupDescription: для првильной работы;

[Components]
Name: "program"; Description: "Игра"; Types: full compact custom; Flags: fixed
Name: "help"; Description: "Помощь"; Types: full
Name: "Text"; Description: "Tехт"; Types: full
Name: "Text\en"; Description: "Aнглийский"; Flags: exclusive
Name: "Text\de"; Description: "Немецкий"; Flags: exclusive
Name: "Text\cn"; Description: "Китайский"; Flags: exclusive
Name: "Text\ru"; Description: "Русский"; Flags: exclusive
Name: "Voice"; Description: "Озвучка"; Types: full
Name: "Voice\en"; Description: "Английская"; Flags: exclusive
Name: "Voice\de"; Description: "Немецкая"; Flags: exclusive
Name: "Voice\ch"; Description: "Китайская"; Flags: exclusive
Name: "Voice\ru"; Description: "Русская"; Flags: exclusive
Name: "Voice\ru2"; Description: "Русская"; Flags: exclusive
Name: "Voice\ru3"; Description: "Русская"; Flags: exclusive

[_Code]
var
  Info, InfoCaption: TNewStaticText;
  InfoPanel: TPanel;

function enabledesc(ComponentsListHandle: HWND; DescLabelHandle: HWND; DescStrings: PChar): BOOL; external 'enabledesc@files:descctrl.dll stdcall';
function disabledesc(): BOOL; external 'disabledesc@files:descctrl.dll stdcall';

procedure InitializeWizard;
begin
  WizardForm.TYPESCOMBO.Visible:= false;
  WizardForm.ComponentsList.Height := WizardForm.ComponentsList.Height + WizardForm.ComponentsList.Top - WizardForm.TYPESCOMBO.Top;
  WizardForm.ComponentsList.Top := WizardForm.TYPESCOMBO.Top;
  WizardForm.ComponentsList.Width := ScaleX(200);

  InfoPanel:= TPanel.Create(WizardForm);
with InfoPanel do 
begin
  Parent:= WizardForm.SelectComponentsPage;
  Caption := '';
  SetBounds(ScaleX(216),WizardForm.ComponentsList.Top,ScaleX(200),WizardForm.ComponentsList.Height);
  BevelInner := bvRaised;
  BevelOuter := bvLowered;
end;
  InfoCaption := TNewStaticText.Create(WizardForm);
with InfoCaption do 
begin
  Parent:= WizardForm.SelectComponentsPage;
  Caption:= 'Информация:';
  Left:= ScaleX(224);
  Top:= InfoPanel.Top - ScaleY(5);
  Font.Color:= clActiveCaption;
end;
  Info:= TNewStaticText.Create(WizardForm);
with Info do 
begin
  Parent:= InfoPanel;
  AutoSize:= False;
  SetBounds(ScaleX(6),ScaleY(12),ScaleX(188),WizardForm.ComponentsList.Height - ScaleY(18));
  WordWrap:= true;
end;
end;

Procedure CurPageChanged(CurPageID: Integer);
begin
  case CurPageID of
    wpSelectComponents:
    begin
      InfoPanel.Parent:= WizardForm.SelectComponentsPage;
      InfoCaption.Parent:= WizardForm.SelectComponentsPage;
      Info.Caption:= 'Наведите на компонент, чтобы получить дополнительную информацию';
      disabledesc();
      enabledesc(WizardForm.ComponentsList.Handle,Info.Handle,
      'Короткое описание игры;'+ 
      'Дополнительная документация, на разных языках;'+
      'Техт игры;'+
      'Официальный английский текст от EA Games;'+
      'Официальный немецкий текст от неизвестного производителя;'+
      'Пиратский китайский текст;'+
      'Официальный русский текст от софтклаб;'+
      'Озвучка игры;'+
      'Официальная английская озвучка от EA Games;'+
      'Официальная немецкая озвучка от неизвестного производителя;'+
      'Пиратская китайская озвучка;'+
      'Официальная русская озвучка от софтклаб;'+
      'Русская озвучка от 7Wolf;'+
      'Русская озвучка от фаргуса;');
    end;

    wpSelectTasks:
    begin
      InfoPanel.Parent:= WizardForm.SelectTasksPage;
      InfoCaption.Parent:= WizardForm.SelectTasksPage;
      Info.Caption:= 'Наведите на задачу, чтобы получить дополнительную информацию';
      disabledesc();
      enabledesc(WizardForm.TasksList.Handle,Info.Handle,
      'Чтобы игра игралась;'+ 
      'Нужно сделать так;'+
      'Выключить Steam нафиг;'+
      'Зафигачить DirectX;'+
      'Намутить VisualC++;'+
      'А так же;'+
      'Воткнуть ненужные шрифты;');
    end; 
  end;
end;

procedure DeinitializeSetup();
begin
  disabledesc();
end;
Ну и не забыть добавить descctrl.dll

И ещё по Сталкеру
Код: Выделить весь код
;Всем известная игра S.T.A.L.K.E.R. при установке использует некоторые хитрости. Дело не в проверке системных требований или свободного
;места на диске. Самый важный момент при инсталляции перепакованной игры - создать правильный файл "fsgame.ltx". Данный файл представляет
;собой некоторый загрузчик данных. Любое неправильное его построение чревато глюками и неправильной работе игры. Чтобы создать абсолютно
;точную копию оригинала нужно выполнить следующий код (не забываем при сборке, чтобы файл "fsgame.ltx" был абсолютно пустой):
[_Code]
procedure CurStepChanged(CurStep: TSetupStep);
var
S: String;
begin
If CurStep=ssPostInstall then
begin
S := ExpandConstant('{commondocs}\STALKER-SHOC\')
StringChangeEx(S, ':\', ':\|', True);
SaveStringToFile(ExpandConstant('{app}')+'\fsgame.ltx', '$app_data_root$=true|false|' + S + #13, true);
SaveStringToFile(ExpandConstant('{app}')+'\fsgame.ltx', '$game_data$         = false|    true|    $fs_root$|        gamedata\' + #13, true);
SaveStringToFile(ExpandConstant('{app}')+'\fsgame.ltx', '$game_ai$         = true|        false|    $game_data$|        ai\' + #13, true);
SaveStringToFile(ExpandConstant('{app}')+'\fsgame.ltx', '$game_spawn$     = true|        false|    $game_data$|        spawns\' + #13, true);
SaveStringToFile(ExpandConstant('{app}')+'\fsgame.ltx', '$game_anims$         = true|        true|    $game_data$|        anims\' + #13, true);
SaveStringToFile(ExpandConstant('{app}')+'\fsgame.ltx', '$game_levels$     = true|        false|    $game_data$|        levels\' + #13, true);
SaveStringToFile(ExpandConstant('{app}')+'\fsgame.ltx', '$game_meshes$     = true|        true|    $game_data$|        meshes\' + #13, true);
SaveStringToFile(ExpandConstant('{app}')+'\fsgame.ltx', '$game_dm$         = true|        true|    $game_data$|        meshes\' + #13, true);
SaveStringToFile(ExpandConstant('{app}')+'\fsgame.ltx', '$game_shaders$     = true|        true|    $game_data$|        shaders\' + #13, true);
SaveStringToFile(ExpandConstant('{app}')+'\fsgame.ltx', '$game_sounds$     = true|        true|    $game_data$|        sounds\' + #13, true);
SaveStringToFile(ExpandConstant('{app}')+'\fsgame.ltx', '$game_textures$     = true|        true|    $game_data$|        textures\' + #13, true);
SaveStringToFile(ExpandConstant('{app}')+'\fsgame.ltx', '$game_scripts$     = true|        false|    $game_data$|        scripts\' + #13, true);
SaveStringToFile(ExpandConstant('{app}')+'\fsgame.ltx', '$game_config$     = true|        false|    $game_data$|        config\' + #13, true);
SaveStringToFile(ExpandConstant('{app}')+'\fsgame.ltx', '$level$         = false|    false|    $game_levels$' + #13, true);
SaveStringToFile(ExpandConstant('{app}')+'\fsgame.ltx', '$game_saves$     = true|        false|    $app_data_root$|    savedgames\' + #13, true);
SaveStringToFile(ExpandConstant('{app}')+'\fsgame.ltx', '$logs$         = true|        false|    $app_data_root$|    logs\' + #13, true);
SaveStringToFile(ExpandConstant('{app}')+'\fsgame.ltx', '$screenshots$     = true|        false|    $app_data_root$|    screenshots\' + #13, true);
end;
end;

-------
Если сообщение оказалось полезным для Вас, то помимо спасибо, можно нажать на "Полезное сообщение".


Последний раз редактировалось nik1967, 31-01-2012 в 12:16.

Это сообщение посчитали полезным следующие участники:

Отправлено: 11:41, 31-01-2012 | #718