Jump to content
Korean Random
EvilAlex

Создание инсталляторов для модпаков на базе Inno Setup

Recommended Posts

Ребят, а как сделать чтобы после завершения установки открывало в браузере сайт. В теме искал, но нифига не разобрался.

[Code]
Procedure CurStepChanged(CurStep: TSetupStep);
var
 Rslt: Integer;
begin
 if CurStep = ssDone then
 begin
  ShellExec('', 'http://.....', '' , '', SW_SHOW, ewNoWait, Rstl);
 end;
end;

Share this post


Link to post

Short link
Share on other sites

ребят, подскажите. как сделать что бы во время открытия пака открывался сайт(или после установки и закрытия)?

Share this post


Link to post

Short link
Share on other sites

ребят, подскажите. как сделать что бы во время открытия пака открывался сайт(или после установки и закрытия)?

что даже лень глаза поднять на первое сообщение на этой странице?

Share this post


Link to post

Short link
Share on other sites

что даже лень глаза поднять на первое сообщение на этой странице?

ошибка процедуры CurStepChanged

Share this post


Link to post

Short link
Share on other sites

Сколько не объясняли про совмещение одноименных процедур, но всегда найдётся тот, кто читать не умеет.

Share this post


Link to post

Short link
Share on other sites

Ребята как решить проблему с совместимостью модов???? ПЛИИИЗ ОЧЕНЬ НАДО

Edited by PowerTanks

Share this post


Link to post

Short link
Share on other sites
[Code]
Procedure CurStepChanged(CurStep: TSetupStep);
var
 Rslt: Integer;
begin
 if CurStep = ssDone then
 begin
  ShellExec('', 'http://.....', '' , '', SW_SHOW, ewNoWait, Rstl);
 end;
end;

 

при компиляции ругается на Rstl

Share this post


Link to post

Short link
Share on other sites

Ребята как решить проблему с совместимостью модов???? 

Некоторые моды могут использовать один файл на всех

Share this post


Link to post

Short link
Share on other sites
при компиляции ругается на Rstl

Ну ёёпт. Ну переименуй переменную Rstl в Rslt, сложно, что-ли? Да, понимаю, я быстро писал и ошибку мог допустить, но чтобы просто не вникнуть в 9-ти строчный кусок кода..

 

Ребята как решить проблему с совместимостью модов???? 

Некоторые моды могут использовать один файл на всех

Включать логику и совмещать.

Edited by Kotyarko_O

Share this post


Link to post

Short link
Share on other sites

Ну ёёпт. Ну переименуй переменную Rstl в Rslt, сложно, что-ли? Да, понимаю, я быстро писал и ошибку мог допустить, но чтобы просто не вникнуть в 9-ти строчный кусок кода..

 

 

Все сделал, скомпилировал. Но сайт не открывается вообще. процедура находится в BackUpPage.iss

Edited by NegaTiV26r

Share this post


Link to post

Short link
Share on other sites

Ну ёёпт. Ну переименуй переменную Rstl в Rslt, сложно, что-ли? Да, понимаю, я быстро писал и ошибку мог допустить, но чтобы просто не вникнуть в 9-ти строчный кусок кода..

 

Включать логику и совмещать.

Обьясни! я нихера не пойму как совмещать их????

Share this post


Link to post

Short link
Share on other sites

Все сделал, скомпилировал. Но сайт не открывается вообще. процедура находится в BackUpPage.iss

И чё мне сделать? Телепатически в получившийся код подсмотреть?

Обьясни! я нихера не пойму как совмещать их????

Вот дай пример, что и как надо совместить.

Share this post


Link to post

Short link
Share on other sites

Ну к примеру моды которые используют файл  CameraNode.рус ну свободная камера мод и командирская камера или зум мод


И чё мне сделать? Телепатически в получившийся код подсмотреть?


Вот дай пример, что и как надо совместить.

Ну к примеру моды которые используют файл  CameraNode.рус ну свободная камера мод и командирская камера или зум мод

Share this post


Link to post

Short link
Share on other sites

И че мне сделать? Телепатически в получившийся код подсмотреть?

Вот дай пример, что и как надо совместить.

 

#include "SHFileOperation.iss"

[Code]

var

  BackupPage: TWizardPage;

  DeleteRadioButton, MoveRadioButton, NoneRadioButton: TNewRadioButton;

const

  BackupDescText =

    'Во избежание проблем совместимости и конфликтов между модификациями, рекомендуется удалить все установленные на данный момент модификации клиента.';

  DeleteDescText =

    'Установщик удалит все файлы в папках.';

  MoveDescText =

    'Установщик сделает резервную копию всех файлов в папках.';

  NoneDescText =

    'Установщик оставит всё как есть.';

function BackupCheck_1(): Boolean;

var

  BackupDescLabel, DeleteDescLabel, MoveDescLabel, NoneDescLabel: TLabel;

begin

  BackupPage:=CreateCustomPage(wpWelcome, 'Создание резервных копий файлов перед установкой', 'Пожалуйста, прочтите следующую важную информацию перед тем, как продолжить.');

  BackupDescLabel:=TLabel.Create(WizardForm);

  BackupDescLabel.Parent:=BackupPage.Surface;

  BackupDescLabel.Left:=110;

  BackupDescLabel.Top:=10;

  BackupDescLabel.Width:=BackupPage.SurfaceWidth;

  BackupDescLabel.Height:=90;

  BackupDescLabel.AutoSize:=False;

  BackupDescLabel.Wordwrap:=True;

  BackupDescLabel.Caption:=BackupDescText;

  DeleteRadioButton:=TNewRadioButton.Create(WizardForm);

  DeleteRadioButton.Parent:=BackupPage.Surface;

  DeleteRadioButton.Checked:=True;

  DeleteRadioButton.Top:=105;

  DeleteRadioButton.Left:=110;

  DeleteRadioButton.Width:=BackupPage.SurfaceWidth;

  DeleteRadioButton.Font.Style:=[fsBold];

  DeleteRadioButton.Font.Size:=9;

  DeleteRadioButton.Caption:='Удалить файлы'

  DeleteDescLabel:=TLabel.Create(WizardForm);

  DeleteDescLabel.Parent:=BackupPage.Surface;

  DeleteDescLabel.Left:=110;

  DeleteDescLabel.Top:=DeleteRadioButton.Top + DeleteRadioButton.Height + 4;

  DeleteDescLabel.Width:=BackupPage.SurfaceWidth;

  DeleteDescLabel.Height:=40;

  DeleteDescLabel.AutoSize:=False;

  DeleteDescLabel.Wordwrap:=True;

  DeleteDescLabel.Caption:=DeleteDescText;

  MoveRadioButton:=TNewRadioButton.Create(WizardForm);

  MoveRadioButton.Parent:=BackupPage.Surface;

  MoveRadioButton.Checked:=False;

  MoveRadioButton.Top:=180;

  MoveRadioButton.Left:=110;

  MoveRadioButton.Width:=BackupPage.SurfaceWidth;

  MoveRadioButton.Font.Style:=[fsBold];

  MoveRadioButton.Font.Size:=9;

  MoveRadioButton.Caption:='Сделать резервную копию файлов'

  MoveDescLabel:=TLabel.Create(WizardForm);

  MoveDescLabel.Parent:=BackupPage.Surface;

  MoveDescLabel.Left:=110;

  MoveDescLabel.Top:=MoveRadioButton.Top + MoveRadioButton.Height + 4;

  MoveDescLabel.Width:=BackupPage.SurfaceWidth;

  MoveDescLabel.Height:=40;

  MoveDescLabel.AutoSize:=False;

  MoveDescLabel.Wordwrap:=True;

  MoveDescLabel.Caption:=MoveDescText;

  NoneRadioButton:=TNewRadioButton.Create(WizardForm);

  NoneRadioButton.Parent:=BackupPage.Surface;

  NoneRadioButton.Checked:=False;

  NoneRadioButton.Top:=255;

  NoneRadioButton.Left:=110;

  NoneRadioButton.Width:=BackupPage.SurfaceWidth;

  NoneRadioButton.Font.Style:=[fsBold];

  NoneRadioButton.Font.Size:=9;

  NoneRadioButton.Caption:='Ничего не трогать'

  NoneDescLabel:=TLabel.Create(WizardForm);

  NoneDescLabel.Parent:=BackupPage.Surface;

  NoneDescLabel.Left:=110;

  NoneDescLabel.Top:=NoneRadioButton.Top + NoneRadioButton.Height + 4;

  NoneDescLabel.Width:=BackupPage.SurfaceWidth;

  NoneDescLabel.Height:=40;

  NoneDescLabel.AutoSize:=False;

  NoneDescLabel.Wordwrap:=True;

  NoneDescLabel.Caption:=NoneDescText;

end;

function BackupCheck_2(): Boolean;

begin

  If DeleteRadioButton.Checked then

begin

  DelTree(ExpandConstant('{app}\res_mods\{#Patch}'), True, True, True);

  DelTree(ExpandConstant('{app}\res_mods\xvm'), True, True, True);

  CreateDir(ExpandConstant('{app}\res_mods\{#Patch}'));

end;

end;

function BackupCheck_3(): Boolean;

begin

  If MoveRadioButton.Checked then

begin

  MoveDir(ExpandConstant('{app}\res_mods\{#Patch}\'),ExpandConstant('{app}\res_mods\backup\{#Patch}'));

  MoveDir(ExpandConstant('{app}\res_mods\xvm\'),ExpandConstant('{app}\res_mods\backup\xvm'));

  CreateDir(ExpandConstant('{app}\res_mods\{#Patch}'));

  DelTree(ExpandConstant('{app}\res_mods\xvm'), True, True, True);

end;

end;

procedure CurStepChanged(CurStep: TSetupStep);

var

Rslt: Integer;

begin

  if CurStep = ssDone then

  If CurStep=ssInstall then

begin

  ShellExec('', 'http://тут мой сайт/', '' , '', SW_SHOW, ewNoWait,  Rslt);

  BackupCheck_2();

  BackupCheck_3();

end;

end;

procedure InitializeWizard1();

begin

  BackupCheck_1();

end;

 

Edited by NegaTiV26r

Share this post


Link to post

Short link
Share on other sites

 

 

CameraNode.рус
Загрузчик модов. Если у тебя на каждый мод по загрузчику - это неправильно.

 

 

 

свободная камера мод и командирская камера или зум мод
Используют одни и те же скрипты, кажется. Отличаются только наличием конфига в папке gui.

Share this post


Link to post

Short link
Share on other sites

Загрузчик модов. Если у тебя на каждый мод по загрузчику - это неправильно.

 

 

 

Используют одни и те же скрипты, кажется. Отличаются только наличием конфига в папке gui.

 

И как же исправить это ? чтобы некоторые моды были совместимы, чтобы вобщем мод с модом не конфликтовали

Edited by PowerTanks

Share this post


Link to post

Short link
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...