Jump to content
Korean Random

Fenixx

User
  • Content Count

    16
  • Joined

  • Last visited

Posts posted by Fenixx


  1. Добрый день! 
    Как поменять их место положения?

    в свой скрипт вставил картинки и описание не видно.

    'картинка инста стандартого скрипта'

    df1cc8f07edf.png

    'Обычный тут скрипт с картинками на компонненты и описание к ним'


    [setup]
    AppName=Моя программа
    AppVersion=1.5
    AppPublisher=YURSHAT
    AppPublisherURL=
    DefaultDirName={pf}\Моя программа
    [Languages]
    Name: RU; MessagesFile: compiler:Languages\Russian.isl
    [CustomMessages]
    RU.ComponentsInfo=Наведите курсор мыши на компонент, чтобы прочитать его описание.
    RU.ComponentsImgInfo=Наведите курсор мыши на компонент, чтобы посмотреть его превью.
    RU.CompDesc1=Описание первого компонента
    RU.CompDesc2=Описание второго компонента
    RU.CompDesc3=Описание первого компонента
    RU.CompDesc4=Описание второго компонента
    RU.CompDesc5=Описание первого компонента
    RU.CompDesc6=Описание второго компонента
    RU.CompDesc7=Описание первого компонента
    RU.CompDesc8=Описание второго компонента
    RU.CompDesc9=Описание первого компонента
    RU.CompDesc10=Описание второго компонента
    RU.CompDesc11=Описание первого компонента
    RU.CompDesc12=Описание второго компонента
    //************************************************ [Описание к модам] ***************************************************//
    //************************************************ [Конец модам] ***************************************************//
    [Files]
    Source: img_mod\1.bmp; DestName: CompDescImg1.bmp; Flags: dontcopy
    Source: img_mod\2.bmp; DestName: CompDescImg2.bmp; Flags: dontcopy
    Source: img_mod\3.bmp;  DestName: MainPic.bmp; Flags: dontcopy
    [Components]
    Name: comp1; Description: 1. Mod Pack ; Types: custom; Flags: fixed
    Name: KMP\P; Description: 1. Прицел.; Flags: disablenouninstallwarning
    Name: KMP\DP; Description: 2. Дамаг панель.; Flags: disablenouninstallwarning
    Name: KMP\ZK; Description: 2. Звуковой мод звонок при крите модуля.; Flags: disablenouninstallwarning
    Name: KMP\Z; Description: 3. Zoom.; Flags: disablenouninstallwarning
    Name: KMP\Z\NS; Description: а. NoScroll- колёсико не переключает в снайперский режим; Flags: checkablealone ;
    Name: KMP\Z\ZX4; Description: б. 4-х позиционный снайперский прицел ; Flags: checkablealone ;
    Name: KMP\T; Description: 4. Дерево развития.;
    Name: KMP\I; Description: 5. Информационная панель выбранной цели.;
    Name: KMP\CM; Description: 6. Цветные сообщения(ЯсенКрасен).;
    Name: KMP\CLOCK; Description: 7. Часы в ангаре.;
    Name: KMP\A; Description: 8. Ангар.;
    Name: KMP\XVM; Description: 9. Пользомер(Оленемер).;
    typeTComponentDesc = recordDescription: String;ImageName: String;Index: Integer;end;varCompDescs: array of TComponentDesc;CompDescPanel, CompDescImgPanel: TPanel;CompDescText: array[1..2] of TLabel;CompIndex, LastIndex: Integer;CompDescImg: TBitmapImage;procedure ShowCompDescription(Sender: TObject; X, Y, Index: Integer; Area: TItemArea);vari: Integer;beginif Index = LastIndex then Exit;CompIndex := -1;for i := 0 to GetArrayLength(CompDescs) -1 dobeginif (CompDescs[i].Index = Index) thenbeginCompIndex := i;Break;end;end;if (CompIndex >= 0) and (Area = iaItem) thenbeginif not FileExists(ExpandConstant('{tmp}\') + CompDescs[CompIndex].ImageName) thenExtractTemporaryFile(CompDescs[CompIndex].ImageName);CompDescImg.Bitmap.LoadFromFile(ExpandConstant('{tmp}\') + CompDescs[CompIndex].ImageName);CompDescImg.Show;CompDescText[2].Caption := CompDescs[CompIndex].Description;CompDescText[2].Enabled := True;end elsebeginCompDescImg.Bitmap.LoadFromFile(ExpandConstant('{tmp}\MainPic.bmp'));CompDescText[2].Caption := CustomMessage('ComponentsInfo');CompDescText[2].Enabled := False;end;LastIndex := Index;end;procedure CompListMouseLeave(Sender: TObject);beginCompDescImg.Bitmap.LoadFromFile(ExpandConstant('{tmp}\MainPic.bmp'));CompDescText[2].Caption := CustomMessage('ComponentsInfo');CompDescText[2].Enabled := False;LastIndex := -1;end;
    procedure AddCompDescription(AIndex: Integer; ADescription: String; AImageName: String);
    var
    i: Integer;
    begin
    i := GetArrayLength(CompDescs);
    SetArrayLength(CompDescs, i + 1);
    CompDescs[i].Description := ADescription;
    CompDescs[i].ImageName := AImageName;
    CompDescs[i].Index := AIndex - 1
    end;
    procedure InitializeWizard();
    begin
    ExtractTemporaryFile('MainPic.bmp');
    WizardForm.SelectComponentsLabel.Hide;
    WizardForm.TypesCombo.Hide;
    WizardForm.ComponentsList.SetBounds(ScaleX(0), ScaleY(0), ScaleX(184), ScaleY(205));
    WizardForm.ComponentsList.OnItemMouseMove:= @ShowCompDescription;
    WizardForm.ComponentsList.OnMouseLeave := @CompListMouseLeave;
    CompDescImgPanel := TPanel.Create(WizardForm);
    with CompDescImgPanel do
    begin
    Parent := WizardForm.SelectComponentsPage;
    SetBounds(ScaleX(40), ScaleY(0), ScaleX(225), ScaleY(100));
    BevelInner := bvLowered;
    end;
    CompDescText[1] := TLabel.Create(WizardForm);
    with CompDescText[1] do
    begin
    Parent := CompDescImgPanel;
    SetBounds(ScaleX(5), ScaleY(5), CompDescImgPanel.Width - ScaleX(10), CompDescImgPanel.Height - ScaleY(10));
    AutoSize := False;
    WordWrap := True;
    Enabled := False;
    Caption := CustomMessage('ComponentsImgInfo');
    end;
    CompDescImg := TBitmapImage.Create(WizardForm);
    with CompDescImg do
    begin
    Parent := CompDescImgPanel;
    SetBounds(ScaleX(10), ScaleY(10), CompDescImgPanel.Width - ScaleX(10), CompDescImgPanel.Height - ScaleY(10));
    Stretch := True;
    Bitmap.LoadFromFile(ExpandConstant('{tmp}\MainPic.bmp'));
    end;
    CompDescPanel := TPanel.Create(WizardForm);
    with CompDescPanel do
    begin
    Parent := WizardForm.SelectComponentsPage;
    SetBounds(ScaleX(192), ScaleY(125), ScaleX(225), ScaleY(80));
    BevelInner := bvLowered;
    end;
    CompDescText[2] := TLabel.Create(WizardForm);
    with CompDescText[2] do
    begin
    Parent := CompDescPanel;
    SetBounds(ScaleX(5), ScaleY(5), CompDescPanel.Width - ScaleX(10), CompDescPanel.Height - ScaleY(10));
    AutoSize := False;
    WordWrap := True;
    Enabled := False;
    Caption := CustomMessage('ComponentsInfo');
    end;
    AddCompDescription(1, CustomMessage('CompDesc1'), 'CompDescImg1.bmp');
    AddCompDescription(2, CustomMessage('CompDesc2'), 'CompDescImg2.bmp');
    AddCompDescription(3, CustomMessage('CompDesc3'), 'CompDescImg1.bmp');
    AddCompDescription(4, CustomMessage('CompDesc4'), 'CompDescImg2.bmp');
    AddCompDescription(5, CustomMessage('CompDesc5'), 'CompDescImg1.bmp');
    AddCompDescription(6, CustomMessage('CompDesc6'), 'CompDescImg2.bmp');
    AddCompDescription(7, CustomMessage('CompDesc7'), 'CompDescImg1.bmp');
    AddCompDescription(8, CustomMessage('CompDesc8'), 'CompDescImg2.bmp');
    AddCompDescription(9, CustomMessage('CompDesc9'), 'CompDescImg1.bmp');
    AddCompDescription(10, CustomMessage('CompDesc10'), 'CompDescImg2.bmp');
    AddCompDescription(11, CustomMessage('CompDesc11'), 'CompDescImg1.bmp');
    AddCompDescription(12, CustomMessage('CompDesc12'), 'CompDescImg2.bmp');
    end;

    'Хотелось бы что бы было так '

    54323a761d55.jpg

  2. Всем привет! как правильно прописать в скрипте компоненты? как начинаю ставить инсталлятор тупо не открывает

    'Вот как тут не открывает инсталлятор'


    //====={ Сюда прописываешь те файлы и папки которые закинул в Mods }=====\\
    [Types]
    Name: custom; Description: Full installation; Flags: iscustom
    [Components]
    Name: KMP; Description: KPAH Mod Pack; Types: custom; Flags: fixed
    Name: KMP\P; Description: 1. Прицел.; Flags: disablenouninstallwarning
    Name: KMP\DP; Description: 2. Дамаг панель.; Flags: disablenouninstallwarning
    Name: KMP\ZK; Description: 2. Звуковой мод звонок при крите модуля.; Flags: disablenouninstallwarning
    Name: KMP\Z; Description: 3. Zoom.; Flags: disablenouninstallwarning
    Name: KMP\Z\NS; Description: а. NoScroll- колёсико не переключает в снайперский режим; Flags: checkablealone
    Name: KMP\Z\ZX4; Description: б. 4-х позиционный снайперский прицел; Flags: checkablealone
    Name: KMP\T; Description: 4. Дерево развития.
    Name: KMP\I; Description: 5. Информационная панель выбранной цели.
    Name: KMP\CM; Description: 6. Цветные сообщения(ЯсенКрасен).
    Name: KMP\CLOCK; Description: 7. Часы в ангаре.
    Name: KMP\A; Description: 8. Ангар.
    Name: KMP\XVM; Description: 9. Пользомер(Оленемер).
    [Files]
    Source: MODS\PRICEL\*; DestDir: {app}; Flags: ignoreversion recursesubdirs createallsubdirs; Components: KMP\P
    Source: MODS\DAMAGEPANEL\*; DestDir: {app}; Flags: ignoreversion recursesubdirs createallsubdirs; Components: KMP\DP
    //=== звонок крита ===///=== ставить вначале команду копирование файлов, а уже потом установку мода ===\\:
    Source: {app}\res\audio\*; DestDir: {app}\res_mods\0.8.6\audio\; Flags: external recursesubdirs skipifsourcedoesntexist; Components: KMP\ZK
    Source: MODS\ZVONOK\*; DestDir: {app}; Flags: ignoreversion recursesubdirs createallsubdirs; Components: KMP\ZK
    Source: MODS\ZOOM\COMANDOR\*; DestDir: {app}; Flags: ignoreversion recursesubdirs createallsubdirs; Components: KMP\Z
    Source: MODS\ZOOM\NOSCROLL\*; DestDir: {app}; Flags: ignoreversion recursesubdirs createallsubdirs; Components: KMP\Z\NS
    Source: MODS\ZOOM\ZOOM4X\*; DestDir: {app}; Flags: ignoreversion recursesubdirs createallsubdirs; Components: KMP\Z\ZX4
    Source: MODS\TREE\*; DestDir: {app}; Flags: ignoreversion recursesubdirs createallsubdirs; Components: KMP\T
    Source: MODS\INFO\*; DestDir: {app}; Flags: ignoreversion recursesubdirs createallsubdirs; Components: KMP\I
    Source: MODS\COLORMESENGER\*; DestDir: {app}; Flags: ignoreversion recursesubdirs createallsubdirs; Components: KMP\CM
    Source: MODS\CLOCK\*; DestDir: {app}; Flags: ignoreversion recursesubdirs createallsubdirs; Components: KMP\CLOCK
    Source: MODS\ANGAR\*; DestDir: {app}; Flags: ignoreversion recursesubdirs createallsubdirs; Components: KMP\A
    Source: MODS\XVM\*; DestDir: {app}; Flags: ignoreversion recursesubdirs createallsubdirs; Components: KMP\XVM

    'Когда так нормально все запускает'

    [Components]
    Name: text; Description: Язык субтитров; Types: full; Flags: fixed
    Name: text\rus; Description: Русский; Flags: exclusive
    Name: text\eng; Description: Английский; Flags: exclusive
    Name: voice; Description: Язык озвучки; Types: full; Flags: fixed
    Name: voice\rus; Description: Русский; Flags: exclusive
    Name: voice\eng; Description: Английский; Flags: exclusive

  3. Удалил не всё. Показывай тогда код.

    'Код'

    #define MyAppName "mod"

    #define NeedSize 6100

    #define NeedMem 512

    ///ñ êîìïîíåíòàìè è áåç

    #define Components

    ////ñ ñëàéäàìè èëè ïðîñòî ñ êàðòèíêîé

    ;#define Slides

    #define Image

    /////////////////////////////////////

    [setup]

    AppName={#MyAppName}

    AppVersion=2.0

    AppPublisher=avtor

    DefaultDirName={pf}\{#MyAppName}

    DefaultGroupName={#MyAppName}

    OutputBaseFilename=setup

    Compression=lzma2/ultra64

    SolidCompression=true

    [Languages]

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

    //Name: eng; MessagesFile: compiler:Languages\English.isl

    [Files]

    Source: "MODS\PRICEL\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: KMP\P;

    Source: "MODS\DAMAGEPANEL\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: KMP\DP;

    //=== çâîíîê êðèòà ===///=== ñòàâèòü âíà÷àëå êîìàíäó êîïèðîâàíèå ôàéëîâ, à óæå ïîòîì óñòàíîâêó ìîäà ===\\

    Source: "{app}\res\audio\*"; DestDir: "{app}\res_mods\0.8.6\audio\"; Flags: external recursesubdirs skipifsourcedoesntexist; Components: KMP\ZK;

    Source: "MODS\ZVONOK\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: KMP\ZK;

    Source: "MODS\ZOOM\COMANDOR\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: KMP\Z;

    Source: "MODS\ZOOM\NOSCROLL\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: KMP\Z\NS;

    Source: "MODS\ZOOM\ZOOM4X\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: KMP\Z\ZX4;

    Source: "MODS\TREE\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: KMP\T;

    Source: "MODS\INFO\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: KMP\I;

    Source: "MODS\COLORMESENGER\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: KMP\CM;

    Source: "MODS\CLOCK\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: KMP\CLOCK;

    Source: "MODS\ANGAR\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: KMP\A;

    Source: "MODS\XVM\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: KMP\XVM;

    Source: dll\b2p.dll; Flags: dontcopy

    Source: dll\botva2.dll; Flags: dontcopy

    Source: dll\gdiplus.dll; Flags: dontcopy

    Source: dll\isSlideShow.dll; Flags: dontcopy

    Source: dll\InnoCallback.dll; Flags: dontcopy

    #ifdef Slides

    Source: SlidesFiles\*; Flags: dontcopy

    #endif

    #ifdef Image

    Source: Files\fonAC.jpg; Flags: dontcopy

    #endif

    Source: Files\about.png; Flags: dontcopy

    Source: Files\aboutlog.png; Flags: dontcopy

    Source: Files\Button.png; Flags: dontcopy

    Source: Files\cb.png; Flags: dontcopy

    Source: Files\dir.png; Flags: dontcopy

    Source: Files\edit.png; Flags: dontcopy

    Source: Files\exit.png; Flags: dontcopy

    Source: Files\group.png; Flags: dontcopy

    Source: Files\min.png; Flags: dontcopy

    Source: Files\pb.png; Flags: dontcopy

    Source: Files\pb1.png; Flags: dontcopy

    Source: Files\tasks.png; Flags: dontcopy

    Source: Files\t&c.bmp; Flags: dontcopy

    Source: Files\ready.png; Flags: dontcopy

    #ifdef Components

    Source: Files\work1.jpg; Flags: dontcopy

    Source: Files\work2.jpg; Flags: dontcopy

    Source: Files\work3.jpg; Flags: dontcopy

    Source: Files\work4.jpg; Flags: dontcopy

    Source: Files\work5.jpg; Flags: dontcopy

    Source: Files\work6.jpg; Flags: dontcopy

    Source: Files\work7.jpg; Flags: dontcopy

    Source: Files\work8.jpg; Flags: dontcopy

    Source: Files\workerror.jpg; Flags: dontcopy

    #else

    Source: Files\2work1.jpg; Flags: dontcopy

    Source: Files\2work2.jpg; Flags: dontcopy

    Source: Files\2work3.jpg; Flags: dontcopy

    Source: Files\2work4.jpg; Flags: dontcopy

    Source: Files\2work5.jpg; Flags: dontcopy

    Source: Files\2work6.jpg; Flags: dontcopy

    Source: Files\2work7.jpg; Flags: dontcopy

    Source: Files\2workerror.jpg; Flags: dontcopy

    #endif

    [CustomMessages]

    rus.Welcome1=Âàñ ïðèâåòñòâóåò Ìàñòåð óñòàíîâêè èãðû %n«{#MyAppName}»

    rus.Welcome2=Ðåêîìåíäóåòñÿ çàêðûòü àíòèâèðóñíûå ïðîãðàììû, à òàêæå âñå ïðî÷èå ïðèëîæåíèÿ ïåðåä òåì, êàê ïðîäîëæèòü.%n%nÍàæìèòå «Äàëåå», ÷òîáû ïðîäîëæèòü, èëè  «Îòìåíà», ÷òîáû âûéòè èç ïðîãðàììû óñòàíîâêè.

    rus.Dir1=Ïðîãðàììà óñòàíîâèò «{#MyAppName}» â ñëåäóþùóþ ïàïêó.

    rus.Dir2=Íàæìèòå «Äàëåå», ÷òîáû ïðîäîëæèòü. Åñëè Âû õîòèòå âûáðàòü äðóãóþ ïàïêó, íàæìèòå «Îáçîð».

    rus.Group1=Ïðîãðàììà ñîçäàñò ÿðëûêè â ñëåäóþùåé ïàïêå ìåíþ «Ïóñê».

    rus.FreeSpace=Äîñòóïíî ìåñòà íà äèñêå:.....

    rus.NeedSpace=Òðåáóåòñÿ ìåñòà äëÿ óñòàíîâêè:.....

    rus.AfterInstallSpace=Ïîñëå óñòàíîâêè èãðà çàéìåò:.....

    rus.nic=Íå ñîçäàâàòü ïàïêó â ìåíþ «Ïóñê»

    rus.Comp=Âûáåðèòå êîìïîíåíòû, êîòîðûå Âû õîòèòå óñòàíîâèòü; %nñíèìèòå ôëàæêè ñ êîìïîíåíòîâ, óñòàíàâëèâàòü êîòîðûå íå òðåáóåòñÿ. %nÍàæìèòå «Äàëåå», êîãäà Âû áóäåòå ãîòîâû ïðîäîëæèòü.

    rus.dop=Âûáåðèòå äîïîëíèòåëüíûå çàäà÷è, êîòîðûå íåîáõîäèìî âûïîëíèòü

    rus.ic=Äîáàâèòü ÿðëûê íà ðàáî÷èé ñòîë

    rus.Fin1=Óñòàíîâêà èãðû «{#MyAppName}» %nóñïåøíî çàâåðøåíà

    rus.Fin2=%n%nÄëÿ åå çàïóñêà âûáåðèòå ñîîòâåòñòâóþùèé ÿðëûê â ìåíþ "Ïóñê" %nèëè íà Ðàáî÷åì ñòîëå. %n%nÍàæìèòå "Çàâåðøèòü", ÷òîáû âûéòè èç ïðîãðàììû óñòàíîâêè.

    rus.ExtractedFile=Èçâëåêàåòñÿ ôàéë:

    rus.Extracted=Óñòàíîâêà...

    rus.Error=Îøèáêà ðàñïàêîâêè!

    rus.ElapsedTime=Ïðîøëî:

    rus.RemainingTime=Îñòàëîñü âðåìåíè:

    rus.rbc=Îòêàò óñòàíîâêè...

    rus.p=Ïðîãðåññ:

    rus.exit=Âûõîä

    rus.Error1=Óñòàíîâêà èãðû «{#MyAppName}» íå çàâåðøåíà.

    rus.Error2=%nÂî âðåìÿ óñòàíîâêè ïðîèçîøëà îøèáêà, ïîæàëóéñòà îòêëþ÷èòå ñòîðîííèå ïðîãðàììû è ïîâòîðèòå ïîïûòêó óñòàíîâêè. %n%nÍàæìèòå «Çàâåðøèòü», ÷òîáû âûéòè èç ïðîãðàììû óñòàíîâêè.

    rus.DX=Îáíîâèòü DirectX

    rus.VC=Óñòàíîâèòü Microsoft Visual C++

    rus.ready1=Ïðîãðàììà óñòàíîâêè ãîòîâà íà÷àòü óñòàíîâêó «{#MyAppName}» íà Âàø êîìïüþòåð.

    rus.ready2=Èíôîðìàöèÿ:

    rus.ready3=Èãðà áóäåò óñòàíîâëåíà â

    rus.ready4=Ïàïêà â ìåíþ ïóñê

    rus.ready5=Áóäåò ñîçäàí ÿðëûê íà ðàáî÷åì ñòîëå

    rus.ready6=ßðëûê íà ðàáî÷åì ñòîëå ñîçäàí íå áóäåò

    rus.doppo=Óñòàíîâèòü äîïîëíèòåëüíîå ïðîãðàììíîå îáåñïå÷åíèå

    rus.ready7=Áóäåò óñòàíîâëåíî äîïîëíèòåëüíîå ïðîãðàììíîå îáåñïå÷åíèå

    rus.ready8=Äîïîëíèòåëüíîå ïðîãðàììíîå îáåñïå÷åíèå óñòàíîâëåíî íå áóäåò

    [icons]

    Name: {userdesktop}\{#MyAppName}; Filename: {app}\Data\Engine\KapowMulti.exe; WorkingDir: {app}; IconFilename: {app}\Data\Engine\KapowMulti.exe; Check: CheckError and IconsChecks

    Name: {group}\{cm:UninstallProgram}; Filename: {uninstallexe}; Check: CheckError

    [Run]

    Filename: {src}\Redist\dxwebsetup.exe; WorkingDir: {src}\Redist\; Flags: waituntilterminated; Check: CheckError and DpoChecks

    Filename: {src}\Redist\vcredist_x86.exe; WorkingDir: {src}\Redist\; Parameters: /Q; Flags: waituntilterminated; Check: not IsWin64 and CheckError and DpoChecks

    Filename: {src}\Redist\vcredist_x64.exe; WorkingDir: {src}\Redist\; Parameters: /Q; Flags: waituntilterminated; Check: IsWin64 and CheckError and DpoChecks

    [Tasks]

    Name: VCCheck; Description: Óñòàíîâèòü Microsoft Visual C++ 2005 Redist

    #ifdef Components

    [Types]

    Name: custom; Description: Full installation; Flags: iscustom

    [Components]

    Name: KMP; Description: KPAH Mod Pack; Types: custom; Flags: fixed

    Name: KMP\P; Description: 1. Ïðèöåë.; Flags: disablenouninstallwarning

    Name: KMP\DP; Description: 2. Äàìàã ïàíåëü.; Flags: disablenouninstallwarning

    Name: KMP\ZK; Description: 2. Çâóêîâîé ìîä çâîíîê ïðè êðèòå ìîäóëÿ.; Flags: disablenouninstallwarning

    Name: KMP\Z; Description: 3. Zoom.; Flags: disablenouninstallwarning

    Name: KMP\Z\NS; Description: à. NoScroll- êîë¸ñèêî íå ïåðåêëþ÷àåò â ñíàéïåðñêèé ðåæèì; Flags: checkablealone ;

    Name: KMP\Z\ZX4; Description: á. 4-õ ïîçèöèîííûé ñíàéïåðñêèé ïðèöåë ; Flags: checkablealone ;

    Name: KMP\T; Description: 4. Äåðåâî ðàçâèòèÿ.;

    Name: KMP\I; Description: 5. Èíôîðìàöèîííàÿ ïàíåëü âûáðàííîé öåëè.;

    Name: KMP\CM; Description: 6. Öâåòíûå ñîîáùåíèÿ(ßñåíÊðàñåí).;

    Name: KMP\CLOCK; Description: 7. ×àñû â àíãàðå.;

    Name: KMP\A; Description: 8. Àíãàð.;

    Name: KMP\XVM; Description: 9. Ïîëüçîìåð(Îëåíåìåð).;

    #endif

    [uninstallDelete]

    Type: filesandordirs; Name: {app}

    const  PCFonFLY = true;  notPCFonFLY = false;  VK_ESCAPE = 27;varimg1, img2: longint;  Cancel: Integer;  Error: Boolean;  PCFVer: Double;  edit, dir, group, work1, work2, work3, work4, work5, work6, work7, work8, workerror, tasks, ready: Longint;  hCancelBtn, hNextBtn, hBackBtn, hDirBrowseBtn, hGroupBrowseBtn, Min, CloseBtn, nic, IconsCheck, CancelBtn, MinBtn, AboutBtn, dpo: HWND;  WFButtonFont: TFont;  UpdBtn, UpdTasks: TTimer;  WelcomeLabel1, MainLabel, WelcomeLabel2, dir1, IconsCheckLbl,  NeedSpaceLabel, Dir1Label, FreeSpaceLabel, niclabel, doplbl, Pct, CurrFileName, Time1, Time2, i, dxlbl, vclbl, complbl, ready0, ready1, ready2, ready3, ready4, ready5, ready6, ready7, ready8, ready9, dpolbl: TLabel;  FreeMB, TotalMB: Cardinal;  SizeInt: Longint;  Enabled: Boolean;  LogoForm: TForm; closebnt: HWND;    TimerID: LongWord;  CurrentPicture:integer;  PicList: TStringlist;  imgpanel: tpanel;#include "AddIss\botva2.iss"#include "AddIss\progressbar.iss"var pb: TImgPB;function ReleaseCapture: Longint; external '[email protected] stdcall';///type  TCallback = function (OveralPct, CurrentPct: Integer; CurrentFile, TimeStr1, TimeStr2, TimeStr3: PAnsiChar): longword;type  TProc=procedure(HandleW, msg, idEvent, TimeSys: LongWord);function GetKeyState(nVirtKey: Integer): ShortInt; external 'GetKeyState@user32 stdcall delayload';///#ifdef Slidesfunction WrapTimerProc(callback:TProc; paramcount:integer):longword; external 'wrapcallback@files:innocallback.dll stdcall';function SetTimer(hWnd, nIDEvent, uElapse, lpTimerFunc: LongWord): LongWord; external '[email protected] stdcall';function KillTimer(hWnd, nIDEvent: LongWord): LongWord; external '[email protected] stdcall';function GetSystemMetrics(nIndex:Integer):Integer; external '[email protected] stdcall';procedure InitializeSlideShow(Hwnd:Thandle; l,t,w,h:integer;Animate:boolean; Stretch:integer); external 'InitializeSlideShow@files:isslideshow.dll stdcall';procedure DeinitializeSlideShow; external 'DeinitializeSlideShow@files:isslideshow.dll stdcall';procedure ShowImage_(file_: PAnsiChar; effect_: longint); external 'ShowImage@files:isslideshow.dll stdcall';#endif////procedure LabelOnMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);begin  ReleaseCapture;  SendMessage(WizardForm.Handle,$0112,$F012,0)end;function ProgressCallback(OveralPct, CurrentPct: Integer; CurrentFile, TimeStr1, TimeStr2, TimeStr3: PAnsiChar): longword;begin  if (GetKeyState(VK_ESCAPE) < 0) then begin if MsgBox(SetupMessage(msgExitSetupMessage), mbConfirmation, MB_YESNO) = IDYES then Cancel:= 1; end;  if OveralPct<=1000 then ImgPBSetPosition(pb, OveralPct);  Pct.Caption := ExpandConstant('{cm:p} ')+IntToStr(OveralPct div 10)+'.'+chr(48 + OveralPct mod 10)+'%';  CurrFileName.Caption:=ExpandConstant('{cm:ExtractedFile} ')+MinimizePathName(CurrentFile, CurrFileName.Font, CurrFileName.Width-ScaleX(100));  Time1.Caption:=ExpandConstant('{cm:ElapsedTime} ')+TimeStr2;  Time2.Caption:=ExpandConstant('{cm:RemainingTime} ')+TimeStr1;  Result := Cancel;end;function IconsChecks: Boolean;begin  Result:= BtnGetChecked(IconsCheck);end;function DpoChecks: Boolean;begin  Result:= BtnGetChecked(dpo);end;procedure CancelButtonOnClick(h: HWND);begin  SuspendProc;  if MsgBox(SetupMessage(msgExitSetupMessage), mbConfirmation, MB_YESNO) = IDYES then Cancel:= 1;  ResumeProc;end;function cm(s: PAnsiChar): String;begin  Result:= ExpandConstant('{cm:'+s+'}');end;#ifdef Slidesprocedure ShowImage(file: string);begin  if Pos(ExpandConstant('{tmp}\'), File)>0 then StringChange(File, ExpandConstant('{tmp}\'), '');  if Pos('{tmp}\', File)>0 then StringChange(File, '{tmp}\', '');  ExtractTemporaryFile(file);  ShowImage_(ExpandConstant('{tmp}\'+File), 1);  DeleteFile(ExpandConstant('{tmp}\'+File));end;#endifprocedure HideControls;begin  Pct.Hide; i.Hide; CurrFileName.Hide; Time1.Hide; Time2.Hide; ImgPBDelete(pb);  if Error then begin i.Show; i.Caption:= cm('rbc'); end;end;procedure CreateControls;begin  Pct := TLabel.Create(WizardForm);  with Pct do begin    AutoSize:= false;    WordWrap:= true;    Font.Name:= 'Arial';    Font.Size:= 8    Font.Style := [fsBold];    Transparent:= true;    Font.Color:= $363636;    Parent:= WizardForm;    AutoSize:= false;    Left:= ScaleX(55);    Top:= ScaleY(420);    Width:= ScaleX(180);    Transparent:= true;    BringToFront;  end;  CurrFileName := TLabel.Create(WizardForm);  with CurrFileName do begin    Parent:= WizardForm;    AutoSize:= false;    WordWrap:= true;    Font.Name:= 'Arial';    Font.Size:= 8    Font.Style := [fsBold];    Transparent:= true;    Font.Color:= $363636;    AutoSize:= false;    Width:= ScaleX(300);    Left:= ScaleX(55);    Top:= ScaleY(375);    Transparent:= true;  end;  Time1 := TLabel.Create(WizardForm);  with Time1 do begin    AutoSize:= false;    WordWrap:= true;    Font.Name:= 'Arial';    Font.Size:= 8    Font.Style := [fsBold];    Transparent:= true;    Font.Color:= $363636;    Parent:= WizardForm;    AutoSize:= false;    Width:= ScaleX(200);    Left:= ScaleX(55);    Top:= ScaleY(390);    Transparent:= true;  end;  Time2 := TLabel.Create(WizardForm);  with Time2 do begin    AutoSize:= false;    WordWrap:= true;    Font.Name:= 'Arial';    Font.Size:= 8    Font.Style := [fsBold];    Transparent:= true;    Font.Color:= $363636;    Parent:= WizardForm;    AutoSize:= false;    Width:= Time1.Width+ScaleX(40);    Left:= ScaleX(55);    Top:= Time1.Top+ScaleY(15);    Transparent:= true;  end;  i := TLabel.Create(WizardForm);  with i do begin    AutoSize:= false;    WordWrap:= true;    Font.Name:= 'Arial';    Font.Size:= 8    Font.Style := [fsBold];    Transparent:= true;    Font.Color:= $363636;    Parent:= WizardForm;    AutoSize:= false;    Width:= Time1.Width+ScaleX(40);    Left:= ScaleX(55);    Top:= ScaleY(360);    Transparent:= true;    Caption:= cm('Extracted');  end;end;function CheckError: Boolean;begin  Result:= not Error;end;///procedure FrameMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);begin  WizardForm.SetFocus;  ReleaseCapture;  SendMessage(WizardForm.Handle,$0112,$F012,0);end;function InitializeSetup:boolean;begin  if not FileExists(ExpandConstant('{tmp}\botva2.dll')) then ExtractTemporaryFile('botva2.dll');  if not FileExists(ExpandConstant('{tmp}\b2p.dll')) then ExtractTemporaryFile('b2p.dll');  if not FileExists(ExpandConstant('{tmp}\gdiplus.dll')) then ExtractTemporaryFile('gdiplus.dll');  Result:=True;end;//************************************************ [Íà÷àëî - Çàãðóçêà èçîáðàæåíèé è ïîäãîòîâêà âèçàðäà] ***************************************************//procedure CreateWizardImg;beginwith WizardForm do beginBorderStyle := bsNone;ClientWidth:=ScaleX(733);ClientHeight:=ScaleY(506);InnerNotebook.Hide;OuterNotebook.Hide;Bevel.Hide;Center;Color:= $191919;end;  #ifdef Slides  imgPanel := TPanel.Create(WizardForm);  imgPanel.Top := ScaleY(73);  imgPanel.Left := ScaleX(19);  imgPanel.Width := ScaleX(695);  imgPanel.Height := ScaleY(225);  imgPanel.BevelOuter := bvNone;  imgPanel.Parent := WizardForm;  InitializeSlideShow(imgPanel.Handle, ScaleX(0), ScaleY(0), ScaleX(695), ScaleY(225), true, 8);  #endif  #ifdef Components  work1:= ImgLoad(WizardForm.handle, ExpandConstant('work1.jpg'), ScaleX(0), ScaleY(0), WizardForm.ClientWidth, WizardForm.ClientHeight, True, True);  work2:= ImgLoad(WizardForm.handle, ExpandConstant('work2.jpg'), ScaleX(0), ScaleY(0), WizardForm.ClientWidth, WizardForm.ClientHeight, True, True);  work3:= ImgLoad(WizardForm.handle, ExpandConstant('work3.jpg'), ScaleX(0), ScaleY(0), WizardForm.ClientWidth, WizardForm.ClientHeight, True, True);  work4:= ImgLoad(WizardForm.handle, ExpandConstant('work4.jpg'), ScaleX(0), ScaleY(0), WizardForm.ClientWidth, WizardForm.ClientHeight, True, True);  work5:= ImgLoad(WizardForm.handle, ExpandConstant('work5.jpg'), ScaleX(0), ScaleY(0), WizardForm.ClientWidth, WizardForm.ClientHeight, True, True);  work6:= ImgLoad(WizardForm.handle, ExpandConstant('work6.jpg'), ScaleX(0), ScaleY(0), WizardForm.ClientWidth, WizardForm.ClientHeight, True, True);  work7:= ImgLoad(WizardForm.handle, ExpandConstant('work7.jpg'), ScaleX(0), ScaleY(0), WizardForm.ClientWidth, WizardForm.ClientHeight, True, True);  work8:= ImgLoad(WizardForm.handle, ExpandConstant('work8.jpg'), ScaleX(0), ScaleY(0), WizardForm.ClientWidth, WizardForm.ClientHeight, True, True);  workerror:= ImgLoad(WizardForm.handle, ExpandConstant('workerror.jpg'), ScaleX(0), ScaleY(0), WizardForm.ClientWidth, WizardForm.ClientHeight, True, True);  #else  work1:= ImgLoad(WizardForm.handle, ExpandConstant('2work1.jpg'), ScaleX(0), ScaleY(0), WizardForm.ClientWidth, WizardForm.ClientHeight, True, True);  work2:= ImgLoad(WizardForm.handle, ExpandConstant('2work2.jpg'), ScaleX(0), ScaleY(0), WizardForm.ClientWidth, WizardForm.ClientHeight, True, True);  work3:= ImgLoad(WizardForm.handle, ExpandConstant('2work3.jpg'), ScaleX(0), ScaleY(0), WizardForm.ClientWidth, WizardForm.ClientHeight, True, True);  work4:= ImgLoad(WizardForm.handle, ExpandConstant('2work4.jpg'), ScaleX(0), ScaleY(0), WizardForm.ClientWidth, WizardForm.ClientHeight, True, True);  work5:= ImgLoad(WizardForm.handle, ExpandConstant('2work5.jpg'), ScaleX(0), ScaleY(0), WizardForm.ClientWidth, WizardForm.ClientHeight, True, True);  work6:= ImgLoad(WizardForm.handle, ExpandConstant('2work6.jpg'), ScaleX(0), ScaleY(0), WizardForm.ClientWidth, WizardForm.ClientHeight, True, True);  work7:= ImgLoad(WizardForm.handle, ExpandConstant('2work7.jpg'), ScaleX(0), ScaleY(0), WizardForm.ClientWidth, WizardForm.ClientHeight, True, True);  workerror:= ImgLoad(WizardForm.handle, ExpandConstant('2workerror.jpg'), ScaleX(0), ScaleY(0), WizardForm.ClientWidth, WizardForm.ClientHeight, True, True);  #endif  #ifdef Image  ImgLoad(WizardForm.handle, ExpandConstant('fonAC.jpg'), ScaleX(19), ScaleY(73), ScaleX(695), ScaleY(225), True, True);  #endif  edit:= ImgLoad(WizardForm.handle, ExpandConstant('edit.png'), ScaleX(145), ScaleY(380), ScaleX(328), ScaleY(24), True, True);  ready:= ImgLoad(WizardForm.handle, ExpandConstant('ready.png'), ScaleX(0), ScaleY(0), WizardForm.ClientWidth, WizardForm.ClientHeight, True, True);  dir:= ImgLoad(WizardForm.handle, ExpandConstant('dir.png'), ScaleX(143), ScaleY(327), ScaleX(65), ScaleY(48), True, True);  group:= ImgLoad(WizardForm.handle, ExpandConstant('group.png'), ScaleX(143), ScaleY(327), ScaleX(65), ScaleY(48), True, True);  tasks:= ImgLoad(WizardForm.handle, ExpandConstant('tasks.png'), ScaleX(143), ScaleY(327), ScaleX(65), ScaleY(48), True, True);  ImgApplyChanges(WizardForm.Handle);end;//************************************************ [Êîíåö - Çàãðóçêà èçîáðàæåíèé è ïîäãîòîâêà âèçàðäà] ***************************************************////************************************************ [Íà÷àëî - Òåêñòóðû êíîïîê] ***************************************************//procedure SetStateNewButtons;begin  with WizardForm.BackButton do begin    BtnSetText(hBackBtn,PAnsiChar(Caption));    BtnSetVisibility(hBackBtn,Visible);    BtnSetEnabled(hBackBtn,Enabled);    BtnRefresh(hBackBtn);  end;  with WizardForm.NextButton do begin    BtnSetText(hNextBtn,PAnsiChar(Caption));    BtnSetVisibility(hNextBtn,Visible);    BtnSetEnabled(hNextBtn,Enabled);    BtnRefresh(hNextBtn);  end;  with WizardForm.CancelButton do begin    BtnSetText(hCancelBtn, PAnsiChar(cm('exit')));    BtnSetVisibility(hCancelBtn,Visible);    BtnSetEnabled(hCancelBtn,Enabled);    BtnRefresh(hCancelBtn);  end;  BtnSetText(hDirBrowseBtn,PAnsiChar(WizardForm.DirBrowseButton.Caption));  BtnSetText(hGroupBrowseBtn,PAnsiChar(WizardForm.GroupBrowseButton.Caption));end;procedure TimerRefreshBtn(S: TObject);begin  BtnRefresh(hBackBtn);  BtnRefresh(hNextBtn);  BtnRefresh(hCancelBtn);  BtnRefresh(hDirBrowseBtn);  BtnRefresh(hGroupBrowseBtn);  if BtnGetChecked(nic) then ready3.Caption:= cm('ready4') + ': ' + '-- --' else ready3.Caption:= cm('ready4') + ': ' + WizardForm.GroupEdit.Text;end;procedure WizardFormBtnClick(hBtn: HWND);var  Btn:TButton;begin  case hBtn of    hCancelBtn: Btn:=WizardForm.CancelButton;    hNextBtn: Btn:=WizardForm.NextButton;    hBackBtn: Btn:=WizardForm.BackButton;    hDirBrowseBtn: Btn:=WizardForm.DirBrowseButton;    hGroupBrowseBtn: Btn:=WizardForm.GroupBrowseButton;  end;  Btn.OnClick(Btn);  SetStateNewButtons;  BtnRefresh(hBtn);end;procedure MinimizeBtnClick(h: HWND);begin  WizardForm.SetFocus;  ReleaseCapture;  SendMessage(WizardForm.Handle,$112,61472,0);end;procedure CancelBtnClick(h: HWND);begin  WizardForm.CancelButton.OnClick(WizardForm.CancelButton);end;procedure CancelBtnClick1(h: HWND);begin  LogoForm.Hide;  BtnSetEnabled(AboutBtn, not LogoForm.Visible);end;procedure NoIconsClick(hBtn: HWND);var  Check:boolean;begin  Check:= BtnGetChecked(hBtn);  BtnSetEnabled(hGroupBrowseBtn, not Check);  WizardForm.GroupEdit.Enabled:= not Check;  WizardForm.NoIconsCheck.Checked:= Check;  WizardForm.GroupEdit.Color:= $ffffff;end;procedure DpoOnClick(hBtn: TObject);begin  BtnSetChecked(dpo, not BtnGetChecked(dpo));  if BtnGetChecked(dpo) then dpolbl.Font.Color:= $363636 else dpolbl.Font.Color:= clgray;end;procedure DpoOnClick1(hBtn: HWND);begin  if BtnGetChecked(hBtn) then dpolbl.Font.Color:= $363636 else dpolbl.Font.Color:= clgray;end;procedure AboutClick(hBtn: HWND);var ok: HWND;begin  closebnt:= BtnCreate(LogoForm.Handle, ScaleX(473 - 20), ScaleY(0), ScaleX(11), ScaleY(33), ExpandConstant('exit.png'), 1, False);  BtnSetEvent(closebnt, BtnClickEventID,WrapBtnCallback(@CancelBtnClick1, 1));  ok:=BtnCreate(LogoForm.Handle, ScaleX(373), ScaleY(403), ScaleX(93), ScaleY(33), ExpandConstant('button.png'), 1, False);  BtnSetEvent(ok,BtnClickEventID,WrapBtnCallback(@CancelBtnClick1,1));  BtnSetFont(ok,WFButtonFont.Handle);  BtnSetFontColor(ok, $363636, $363636, $363636, clgray);  BtnSetText(ok,'OK');  ImgLoad(LogoForm.Handle, 'aboutlog.png', 0, 0, ScaleX(473), ScaleY(440), true, true);  LogoForm.Show;  BtnSetEnabled(AboutBtn, not LogoForm.Visible);  ImgApplyChanges(LogoForm.Handle);end;procedure IconsClick(hBtn: HWND);var Check: Boolean;begin  if BtnGetChecked(IconsCheck) then IconsCheckLbl.Font.Color:= $363636 else IconsCheckLbl.Font.Color:= clgray;end;procedure nicOnClick(Sender: TObject);begin  BtnSetChecked(nic, not BtnGetChecked(nic));  NoIconsClick(nic);end;procedure IconsOnClick(Sender: TObject);begin  BtnSetChecked(IconsCheck, not BtnGetChecked(IconsCheck));  if BtnGetChecked(IconsCheck) then IconsCheckLbl.Font.Color:= $363636 else IconsCheckLbl.Font.Color:= clgray;end;procedure ButtonsTextures;begin  WFButtonFont:=TFont.Create;  WFButtonFont.Name:= 'Tahoma';  WFButtonFont.Size:= 9;  WFButtonFont.Color:= $363636;with WizardForm.NextButton do begin  hNextBtn:=BtnCreate(WizardForm.Handle, ScaleX(500), ScaleY(470), ScaleX(93), ScaleY(33), 'button.png', 5, False);  BtnSetEvent(hNextBtn,BtnClickEventID,WrapBtnCallback(@WizardFormBtnClick,1));  BtnSetFont(hNextBtn,WFButtonFont.Handle);  BtnSetFontColor(hNextBtn, $363636, $363636, $363636, $363636);  Width:=0;  Height:=0;end;with WizardForm.BackButton do begin  hBackBtn:=BtnCreate(WizardForm.Handle, ScaleX(400), ScaleY(470), ScaleX(93), ScaleY(33), ExpandConstant('button.png'), 1, False);  BtnSetEvent(hBackBtn,BtnClickEventID,WrapBtnCallback(@WizardFormBtnClick,1));  BtnSetFont(hBackBtn,WFButtonFont.Handle);  BtnSetFontColor(hBackBtn, $363636, $363636, $363636, $363636);  Width:=0;  Height:=0;end;with WizardForm.CancelButton do begin  hCancelBtn:=BtnCreate(WizardForm.Handle, ScaleX(620), ScaleY(470), ScaleX(93), ScaleY(33), ExpandConstant('button.png'), 1, False);  BtnSetEvent(hCancelBtn,BtnClickEventID,WrapBtnCallback(@WizardFormBtnClick,1));  BtnSetFont(hCancelBtn,WFButtonFont.Handle);  BtnSetFontColor(hCancelBtn, $363636, $363636, $363636, $363636);  Width:=0;  Height:=0;end;  CancelBtn:=BtnCreate(WizardForm.Handle, ScaleX(717), ScaleY(0), ScaleX(11), ScaleY(33), ExpandConstant('exit.png'), 1, False);  BtnSetEvent(CancelBtn, BtnClickEventID,WrapBtnCallback(@CancelBtnClick,1));  BtnSetFont(CancelBtn, WFButtonFont.Handle);  BtnSetText(CancelBtn,'');  MinBtn:=BtnCreate(WizardForm.Handle, ScaleX(704), ScaleY(4), ScaleX(8), ScaleY(33), ExpandConstant('min.png'), 1, false);  BtnSetEvent(MinBtn, BtnClickEventID,WrapBtnCallback(@MinimizeBtnClick,1));  AboutBtn:=BtnCreate(WizardForm.Handle, ScaleX(20), ScaleY(470), ScaleX(29), ScaleY(35), ExpandConstant('about.png'), 5, false);  BtnSetChecked(AboutBtn, true);  BtnSetEvent(AboutBtn, BtnClickEventID,WrapBtnCallback(@AboutClick,1));with WizardForm.DirBrowseButton do begin  hDirBrowseBtn:=BtnCreate(WizardForm.Handle, ScaleX(502), ScaleY(375), ScaleX(93), ScaleY(33), ExpandConstant('button.png'), 1, False);  BtnSetEvent(hDirBrowseBtn,BtnClickEventID,WrapBtnCallback(@WizardFormBtnClick,1));  BtnSetFont(hDirBrowseBtn,WFButtonFont.Handle);  BtnSetFontColor(hDirBrowseBtn, $363636, $363636, $363636, $363636);  Width:=0;  Height:=0;end;with WizardForm.GroupBrowseButton do begin  hGroupBrowseBtn:=BtnCreate(WizardForm.Handle, ScaleX(502), ScaleY(375), ScaleX(93), ScaleY(33), ExpandConstant('button.png'), 1, False);  BtnSetEvent(hGroupBrowseBtn,BtnClickEventID,WrapBtnCallback(@WizardFormBtnClick,1));  BtnSetFont(hGroupBrowseBtn,WFButtonFont.Handle);  BtnSetFontColor(hGroupBrowseBtn, $363636, $363636, $363636, $363636);  Width:=0;  Height:=0;end;  nic:=BtnCreate(WizardForm.Handle, ScaleX(140),ScaleY(405), ScaleX(30),ScaleY(30), ExpandConstant('cb.png'), 1, true);  BtnSetChecked(nic, false);  BtnSetEvent(nic,BtnClickEventID,WrapBtnCallback(@NoIconsClick,1));  IconsCheck:=BtnCreate(WizardForm.Handle, ScaleX(200), ScaleY(380), ScaleX(30), ScaleY(30), ExpandConstant('cb.png'), 1, true);  BtnSetChecked(IconsCheck, true);  BtnSetEvent(IconsCheck, BtnClickEventID, WrapBtnCallback(@IconsClick, 1));  dpo:=BtnCreate(WizardForm.Handle, ScaleX(200), ScaleY(410), ScaleX(30), ScaleY(30), ExpandConstant('cb.png'), 1, true);  BtnSetChecked(dpo, true);  BtnSetEvent(dpo, BtnClickEventID, WrapBtnCallback(@DpoOnClick1, 1));end;//************************************************ [Êîíåö - Òåêñòóðû êíîïîê] ***************************************************////************************************************[Íà÷àëî - Ïðîâåðêà ìåñòà íà äèñêå]*************************************************************//Function NumToStr(Float: Extended): String;Begin  Result:= Format('%.2n', [Float]); StringChange(Result, ',', ',');  while ((Result[Length(Result)] = '0') or (Result[Length(Result)] = ',')) and (Pos(',', Result) > 0) do  SetLength(Result, Length(Result)-1);End;function CompareNum(FirstNum, SecondNum: Integer): Boolean;beginif FirstNum < SecondNum then Result:= False else Result:= True;end;Function MbOrTb(Byte: Extended): AnsiString;beginif Byte < 1024 then Result:= NumToStr(Byte) + ' MB' else  if Byte/1024 < 1024 then Result:= NumToStr(round(Byte/1024*100)/100) + ' GB' else     Result:= NumToStr(round((Byte/(1024*1024))*100)/100) + ' TB'end;procedure GetFreeSpaceCaption(Sender: TObject);var  Path: AnsiString; gsod: Boolean;begin  Path := ExtractFileDrive(WizardForm.DirEdit.Text);  gsod:= GetSpaceOnDisk(Path, True, FreeMB, TotalMB);  if gsod then begin    FreeSpaceLabel.Caption:= ExpandConstant('{cm:FreeSpace} ') + MbOrTB(FreeMb) + ' (' + IntToStr((FreeMb*100) div TotalMB) + ' %)';    NeedSpaceLabel.Caption := ExpandConstant('{cm:NeedSpace} ') + MbOrTb(SizeInt);    BtnSetEnabled(hNextBtn, true);    WizardForm.NextButton.Enabled:= true;  end else  if not gsod then begin    FreeSpaceLabel.Caption:= ExpandConstant('{cm:FreeSpace} 0 MB');    NeedSpaceLabel.Caption := ExpandConstant('{cm:NeedSpace} ') + MbOrTb(SizeInt)    BtnSetEnabled(hNextBtn, false);    WizardForm.NextButton.Enabled:= false;    Exit;  end;  ready2.Caption:=ready2.Caption + ': ' + WizardForm.DirEdit.Text;end;procedure NeedSpace;beginSizeInt:= {#NeedSize}FreeSpaceLabel := TLabel.Create(WizardForm);FreeSpaceLabel.SetBounds(ScaleX(145), ScaleY(410), ScaleX(209), ScaleY(13))FreeSpaceLabel.Parent := WizardForm;FreeSpaceLabel.Font.Name:='Arial';FreeSpaceLabel.Font.Size:= 8;FreeSpaceLabel.Font.Color:= $363636;FreeSpaceLabel.Transparent:=true;FreeSpaceLabel.Font.Style := [fsBold];NeedSpaceLabel := TLabel.Create(WizardForm);NeedSpaceLabel.SetBounds(ScaleX(145), ScaleY(430), ScaleX(209), ScaleY(13))NeedSpaceLabel.Parent := WizardForm;NeedSpaceLabel.Font.Name:='Arial';NeedSpaceLabel.Font.Size:= 8;NeedSpaceLabel.Font.Color:= $363636;NeedSpaceLabel.Transparent:=true;NeedSpaceLabel.Font.Style:= [fsBold];WizardForm.DirEdit.OnChange:= @GetFreeSpaceCaption;WizardForm.DirEdit.Text:= WizardForm.DirEdit.Text + #0;end;//************************************************[Êîíåö - Ïðîâåðêà ìåñòà íà äèñêå]*************************************************************////************************************************ [Íà÷àëî - Ñîçäàíèå ëåáåëîâ] ***************************************************//procedure CreateLabel;begin//Áåç ýòîãî êíîïêè íîðìàëüíî íå ïåðåðèñîâûâàþòñÿ, åñëè çàïóñòèòü ñåòàï è ïðè ýòîì íàâåñòè êóðñîð íà êíîïêó.  UpdBtn:= TTimer.Create(nil);  UpdBtn.Interval:= 1;  UpdBtn.OnTimer:= @TimerRefreshBtn;///////////////////////////////////////////////////////////////////////////////////////////////////////////MainLabel:= TLabel.Create(WizardForm);with MainLabel dobegin  Left:= ScaleX(0);  Top:= ScaleY(7);  Width:= ScaleX(752);  Height:= ScaleY(34);  AutoSize:= false;  Transparent:= true;  WordWrap:= true;  Font.Name:='Corbel';  Alignment:= taCenter;  Font.Size:= 10;  Font.Color:= $aeacac;  Font.Style := [fsBold];  Parent:= WizardForm;  OnMouseDown:=@LabelOnMouseDown;  Caption:= WizardForm.Caption;end;//WelcomeWelcomeLabel1:= TLabel.Create(WizardForm);with WelcomeLabel1 dobegin  Left:= ScaleX(140);  Top:= ScaleY(330);  Width:= ScaleX(450);  Height:= ScaleY(65);  AutoSize:= false;  Transparent:= true;  WordWrap:= true;  Font.Name:='Arial';  Font.Size:= 10;  Font.Color:=$363636;  Font.Style := [fsBold];  Alignment := taCenter;  Parent:= WizardForm;  Caption:= cm('Welcome1');end;WelcomeLabel2:=TLabel.Create(WizardForm);with WelcomeLabel2 dobegin  Left:= ScaleX(140);  Top:= ScaleY(370);;  Width:= ScaleX(450);  Height:= ScaleY(200);  AutoSize:= false;  WordWrap:= true;  Font.Name:='Arial';  Font.Size:= 9;  Font.Color:=$363636;  Alignment := taCenter;  Font.Style := [fsBold];  Transparent:= true;  Parent:= WizardForm;  Caption:= cm('Welcome2');end;//SelectDirwith WizardForm.DirEdit do begin  Parent:= WizardForm;  Left:= ScaleX(148);  Top:= ScaleY(384);  BorderStyle:= bsNone;

      Color:= $ffffff;

      Font.Name:= 'Arial';

      Font.Size:= 9;

      Font.Color:= $363636;

      Width:= ScaleX(324);

      Height:= ScaleY(18);

      end;

    with WizardForm.GroupEdit do begin

      Parent:= WizardForm;

      Left:= ScaleX(148);

      Top:= ScaleY(384);

      BorderStyle:= bsNone;

      Color:= $ffffff;

      Font.Name:= 'Arial';

      Font.Size:= 9;

      Font.Color:= $363636;

      Width:= ScaleX(324);

      Height:= ScaleY(18);

      end;

    dir1:=TLabel.Create(WizardForm);

    with dir1 do

    begin

      Left:= ScaleX(300);

      Top:= ScaleY(480);

      Width:= ScaleX(450);

      Height:= ScaleY(200);

      AutoSize:= false;

      WordWrap:= true;

      Font.Name:= 'Arial';

      Font.Size:= 8

      Font.Style := [fsBold];

      Transparent:= true;

      Font.Color:= $363636;

      Parent:= WizardForm;

      Caption:= cm('dir1');

    end;

    /////////////////////////

    niclabel:=TLabel.Create(WizardForm);

    with niclabel do

    begin

      Left:= ScaleX(170);

      Top:= ScaleY(412);

      Width:= ScaleX(250);

      Height:= ScaleY(16);

      AutoSize:= false;

      WordWrap:= true;

      Font.Name:= 'Arial';

      Font.Size:= 8;

      Font.Style := [fsBold];

      Transparent:= true;

      Font.Color:=$363636;

      Parent:= WizardForm;

      Caption:= cm('nic');

      OnClick:= @nicOnClick;

    end;

    /////////////////////////////////

    ExtractTemporaryFile('t&c.bmp');

    with WizardForm.ComponentsList do begin

      Left:= ScaleX(435);

      Top:= ScaleY(330);

      Width:= ScaleX(275);

      Height:= ScaleY(110);

      Color:= WizardForm.Color;

      Font.Color:= $363636;

      Font.Style:= [fsBold];

      Font.Size:= 8;

      Font.Name:= 'Arial'

      BorderStyle:= bsSingle;

      Font.Color:= $363636;

      LoadBGBmpFromFile(ExpandConstant('{tmp}\t&c.bmp'), 0, 0);

      Parent:= WizardForm;

    end;

    complbl:=TLabel.Create(WizardForm);

    with complbl do

    begin

      Left:= ScaleX(20);

      Top:= ScaleY(363);

      Width:= ScaleX(450);

      Height:= ScaleY(200);

      AutoSize:= false;

      WordWrap:= true;

      Font.Name:= 'Arial';

      Font.Size:= 9;

      Font.Style := [fsBold];

      Transparent:= true;

      Font.Color:=$363636;

      Parent:= WizardForm;

      Caption:= cm('comp');

    end;

    ///////////////////////////////

    doplbl:=TLabel.Create(WizardForm);

    with doplbl do

    begin

      Left:= ScaleX(215);

      Top:= ScaleY(348);

      Width:= ScaleX(450);

      Height:= ScaleY(200);

      AutoSize:= false;

      WordWrap:= true;

      Font.Name:= 'Arial';

      Font.Size:= 8;

      Font.Style := [fsBold];

      Transparent:= true;

      Font.Color:=$363636;

      Parent:= WizardForm;

      Caption:= cm('dop');

    end;

    IconsCheckLbl:=TLabel.Create(WizardForm);

    with IconsCheckLbl do

    begin

      Left:= ScaleX(230);

      Top:= ScaleY(387);

      Width:= ScaleX(250);

      Height:= ScaleY(16);

      AutoSize:= false;

      WordWrap:= true;

      Font.Name:= 'Arial';

      Font.Size:= 8;

      Font.Style := [fsBold];

      Transparent:= true;

      Font.Color:=$363636;

      Parent:= WizardForm;

      Caption:= cm('ic');

      OnClick:= @IconsOnClick;

    end;

    //////////////////////////////////

    DeleteFile(ExpandConstant('{tmp}\t&c.bmp'));

    ready0:=TLabel.Create(WizardForm);

    with ready0 do

    begin

      Left:= ScaleX(140);

      Top:= ScaleY(340);

      Width:= ScaleX(470);

      Height:= ScaleY(200);

      AutoSize:= false;

      WordWrap:= true;

      Font.Name:= 'Arial';

      Font.Size:= 8;

      Font.Style := [fsBold];

      Transparent:= true;

      Font.Color:=$363636;

      Parent:= WizardForm;

      Caption:= cm('ready1')

    end;

    ready1:=TLabel.Create(WizardForm);

    with ready1 do

    begin

      Left:= ScaleX(143);

      Top:= ScaleY(370);

      Width:= ScaleX(550);

      Height:= ScaleY(200);

      AutoSize:= false;

      WordWrap:= true;

      Font.Name:= 'Arial';

      Font.Size:= 8;

      Font.Style := [fsBold];

      Transparent:= true;

      Font.Color:=$363636;

      Parent:= WizardForm;

      Caption:= cm('ready2')

    end;

    ready2:=TLabel.Create(WizardForm);

    with ready2 do

    begin

      Left:= ScaleX(160);

      Top:= ScaleY(385);

      Width:= ScaleX(460);

      Height:= ScaleY(200);

      AutoSize:= false;

      WordWrap:= true;

      Font.Name:= 'Arial';

      Font.Size:= 8;

      Font.Style := [fsBold];

      Transparent:= true;

      Font.Color:=$363636;

      Parent:= WizardForm;

      Caption:= cm('ready3');

    end;

    ready3:=TLabel.Create(WizardForm);

    with ready3 do

    begin

      Left:= ScaleX(160);

      Top:= ScaleY(400);

      Width:= ScaleX(450);

      Height:= ScaleY(200);

      AutoSize:= false;

      WordWrap:= true;

      Font.Name:= 'Arial';

      Font.Size:= 8;

      Font.Style := [fsBold];

      Transparent:= true;

      Font.Color:=$363636;

      Parent:= WizardForm;

      Caption:= cm('ready4');

    end;

    ready4:=TLabel.Create(WizardForm);

    with ready4 do

    begin

      Left:= ScaleX(160);

      Top:= ScaleY(415);

      Width:= ScaleX(450);

      Height:= ScaleY(200);

      AutoSize:= false;

      WordWrap:= true;

      Font.Name:= 'Arial';

      Font.Size:= 8;

      Font.Style := [fsBold];

      Transparent:= true;

      Font.Color:=$363636;

      Parent:= WizardForm;

      Caption:= cm('ready5');

    end;

    ready5:=TLabel.Create(WizardForm);

    with ready5 do

    begin

      Left:= ScaleX(160);

      Top:= ScaleY(415);

      Width:= ScaleX(450);

      Height:= ScaleY(200);

      AutoSize:= false;

      WordWrap:= true;

      Font.Name:= 'Arial';

      Font.Size:= 8;

      Font.Style := [fsBold];

      Transparent:= true;

      Font.Color:=$363636;

      Parent:= WizardForm;

      Caption:= cm('ready6');

    end;

    dpolbl:=TLabel.Create(WizardForm);

    with dpolbl do

    begin

      Left:= ScaleX(230);

      Top:= ScaleY(423);

      Width:= ScaleX(350);

      Height:= ScaleY(16);

      AutoSize:= false;

      WordWrap:= true;

      Font.Name:= 'Arial';

      Font.Size:= 8;

      Font.Style := [fsBold];

      Transparent:= true;

      Font.Color:=$363636;

      Parent:= WizardForm;

      Caption:= cm('doppo');

      OnClick:= @DpoOnClick;

    end;

    ready6:=TLabel.Create(WizardForm);

    with ready6 do

    begin

      Left:= ScaleX(160);

      Top:= ScaleY(430);

      Width:= ScaleX(450);

      Height:= ScaleY(200);

      AutoSize:= false;

      WordWrap:= true;

      Font.Name:= 'Arial';

      Font.Size:= 8;

      Font.Style := [fsBold];

      Transparent:= true;

      Font.Color:=$363636;

      Parent:= WizardForm;

      Caption:= cm('ready7');

    end;

    ready7:=TLabel.Create(WizardForm);

    with ready7 do

    begin

      Left:= ScaleX(160);

      Top:= ScaleY(430);

      Width:= ScaleX(450);

      Height:= ScaleY(200);

      AutoSize:= false;

      WordWrap:= true;

      Font.Name:= 'Arial';

      Font.Size:= 8;

      Font.Style := [fsBold];

      Transparent:= true;

      Font.Color:=$363636;

      Parent:= WizardForm;

      Caption:= cm('ready8');

    end;

      LogoForm:= TForm.Create(WizardForm);

      LogoForm.BorderStyle:= bsNone;

      LogoForm.SetBounds(ScaleX(WizardForm.Width div 2 - 230), ScaleY(40), ScaleX(473), ScaleY(440));

      LogoForm.Parent:= WizardForm;

    end;

    //************************************************ [Êîíåö - Ñîçäàíèå ëåáåëîâ] ***************************************************//

    procedure InitializeWizard;

    begin

      Enabled:= true;

      CreateWizardImg;

      CreateLabel;

      ButtonsTextures;

      NeedSpace;

      #ifdef Slides

      PicList:=tstringlist.Create;

      ExtractTemporaryFile('fon1.jpg');

      ExtractTemporaryFile('fon2.jpg');

      ExtractTemporaryFile('fon3.jpg');

      ExtractTemporaryFile('fon4.jpg');

      ExtractTemporaryFile('fon5.jpg');

      ExtractTemporaryFile('fon6.jpg');

      ExtractTemporaryFile('fon7.jpg');

      ExtractTemporaryFile('fon8.jpg');

      piclist.add(ExpandConstant('{tmp}') + '\fon1.jpg');

      piclist.add(ExpandConstant('{tmp}') + '\fon2.jpg');

      piclist.add(ExpandConstant('{tmp}') + '\fon3.jpg');

      piclist.add(ExpandConstant('{tmp}') + '\fon4.jpg');

      piclist.add(ExpandConstant('{tmp}') + '\fon5.jpg');

      piclist.add(ExpandConstant('{tmp}') + '\fon6.jpg');

      piclist.add(ExpandConstant('{tmp}') + '\fon7.jpg');

      piclist.add(ExpandConstant('{tmp}') + '\fon8.jpg');

      #endif

    end;

    #ifdef Slides

    procedure OnTimer(HandleW, msg, idEvent, TimeSys: LongWord);

    begin

    CurrentPicture:=CurrentPicture+1;

    if CurrentPicture=piclist.count+1 then CurrentPicture:=1;

    ShowImage(piclist.strings[CurrentPicture - 1]);

    end;

    #endif

    procedure CurPageChanged(CurPageID: Integer);

    begin

      SetStateNewButtons;

      WelcomeLabel1.Hide;

      WelcomeLabel2.Hide;

      BtnSetVisibility(hDirBrowseBtn, false);

      BtnSetVisibility(hGroupBrowseBtn, false);

      BtnSetVisibility(nic, false);

      ImgSetVisibility(edit, false);

      ImgSetVisibility(dir, false);

      ImgSetVisibility(group, false);

      ImgSetVisibility(work1, false);

      ImgSetVisibility(work2, false);

      ImgSetVisibility(work3, false);

      ImgSetVisibility(work4, false);

      ImgSetVisibility(work5, false);

      ImgSetVisibility(work6, false);

      ImgSetVisibility(work7, false);

      ImgSetVisibility(ready, false);

      #ifdef Components

      ImgSetVisibility(work8, false);

      #endif

      ImgSetVisibility(workerror, false);

      ImgSetVisibility(tasks, false);

      WizardForm.DirEdit.Hide;

      WizardForm.GroupEdit.Hide;

      dir1.Hide;

      FreeSpaceLabel.Hide;

      NeedSpaceLabel.Hide;

      niclabel.Hide;

      WizardForm.ComponentsList.Hide;

      BtnSetVisibility(IconsCheck, false);

      doplbl.Hide;

      IconsCheckLbl.Hide;

      WizardForm.TasksList.Hide;

      complbl.Hide;

      ready0.Hide;

      ready1.Hide;

      ready2.Hide;

      ready3.Hide;

      ready4.Hide;

      ready5.Hide;

      ready6.Hide;

      ready7.Hide;

      BtnSetVisibility(dpo, false);

      dpolbl.Hide;

      if CurPageID = wpWelcome then

       begin

        #ifdef Slides

        ShowImage(ExpandConstant('{tmp}\fon1.jpg'))

        #endif

        LogoForm.Hide;

        WelcomeLabel1.Show;

        WelcomeLabel2.Show;

        ImgSetVisibility(work1, true);

        CancelBtnClick1(0);

        ImgSetVisibility(img1, true);

       end;

      if CurPageID = wpSelectDir then

       begin

        #ifdef Slides

        ShowImage(ExpandConstant('{tmp}\fon2.jpg'))

        #endif

        BtnSetVisibility(hDirBrowseBtn, true);

        ImgSetVisibility(edit, true);

        ImgSetVisibility(dir, true);

        WizardForm.DirEdit.Show;

        FreeSpaceLabel.Show;

        NeedSpaceLabel.Show;

        dir1.Show;

        dir1.Caption:=  cm('dir1');

        dir1.Left:= ScaleX(220);

        dir1.Top:= ScaleX(343);

        ImgSetVisibility(work2, true);

        LogoForm.Hide;

        CancelBtnClick1(0);

        ImgSetVisibility(img2, true);

       end;

      if CurPageID = wpSelectComponents then

       begin

        #ifdef Slides

        ShowImage(ExpandConstant('{tmp}\fon3.jpg'))

        #endif

       #ifdef Components

        WizardForm.ComponentsList.Show;

        WizardForm.ComponentsList.DragMode;

        WizardForm.ComponentsList.Dragging;

        ImgSetVisibility(work3, true);

        complbl.Show;

        LogoForm.Hide;

        CancelBtnClick1(0);

       #endif

       end;

      if CurPageID = wpSelectProgramGroup then

       begin

        #ifdef Slides

        ShowImage(ExpandConstant('{tmp}\fon4.jpg'))

        #endif

        BtnSetVisibility(hGroupBrowseBtn, true);

        ImgSetVisibility(edit, true);

        WizardForm.GroupEdit.Show;

        ImgSetVisibility(group, true);

        dir1.Caption:=  cm('group1');

        dir1.Left:= ScaleX(220);

        dir1.Top:= ScaleX(343);

        dir1.Show;

        BtnSetVisibility(nic, true);

        niclabel.Show;

        #ifdef Components

        ImgSetVisibility(work4, true);

        #else

        ImgSetVisibility(work3, true);

        #endif

        LogoForm.Hide;

        CancelBtnClick1(0);

       end;

      if CurPageID = wpSelectTasks then

       begin

        #ifdef Slides

        ShowImage(ExpandConstant('{tmp}\fon5.jpg'))

        #endif

         BtnSetVisibility(IconsCheck, true);

         doplbl.Show;

         IconsCheckLbl.Show;

         #ifdef Components

         ImgSetVisibility(work5, true);

         #else

         ImgSetVisibility(work4, true);

         #endif

         ImgSetVisibility(tasks, true);

         BtnSetVisibility(dpo, true);

         dpolbl.Show;

         LogoForm.Hide;

         CancelBtnClick1(0);

       end;

      if CurPageID = wpReady then begin

         #ifdef Slides

        ShowImage(ExpandConstant('{tmp}\fon6.jpg'))

        #endif

       #ifdef Components

       ImgSetVisibility(work6, true);

       #else

       ImgSetVisibility(work5, true);

       #endif

       ready0.Show;

       ready1.Show;

       ready2.Show;

       ready3.Show;

       if BtnGetChecked(IconsCheck) then begin ready5.Hide; ready4.Show end else begin ready4.Hide; ready5.Show; end;

       if BtnGetChecked(dpo) then begin ready7.Hide; ready6.Show end else begin ready6.Hide; ready7.Show; end;

       LogoForm.Hide;

       CancelBtnClick1(0);

       ImgSetVisibility(ready, true);

      end;

      if CurPageID = wpInstalling then

      begin

        #ifdef Slides

        CurrentPicture:=1;

        TimerID:=SetTimer(0, 0, 3000, WrapTimerProc(@OnTimer, 4)); //çàäåðæêà 3000 ìñ (3 ñåêóíäû)

        #endif

       #ifdef Components

       ImgSetVisibility(work7, true);

       #else

       ImgSetVisibility(work6, true);

       #endif

       LogoForm.Hide;

       CancelBtnClick1(0);

      end;

      if CurPageID = wpFinished then

      begin

          #ifdef Slides

          KillTimer(0, TimerID);

        ShowImage(ExpandConstant('{tmp}\fon8.jpg'))

        #endif

       #ifdef Components

       ImgSetVisibility(work8, true);

       #else

       ImgSetVisibility(work7, true);

       #endif

        WelcomeLabel1.Caption:= cm('Fin1');

        WelcomeLabel2.Caption:= cm('Fin2');

        WelcomeLabel2.Top:= WelcomeLabel2.Top-ScaleY(23);

        WelcomeLabel1.Show;

        WelcomeLabel2.Show;

        i.Hide;

        LogoForm.Hide;

        CancelBtnClick1(0);

      end;

      if (CurPageID = wpFinished) and Error then

      begin

      WelcomeLabel1.Caption:= cm('Error1');

      WelcomeLabel2.Caption:= cm('Error2')

      ImgSetVisibility(workerror, true);

      LogoForm.Hide;

      CancelBtnClick1(0);

      end;

      ImgApplyChanges(WizardForm.Handle);

    end;

    procedure DeinitializeSetup;

    begin

      if Enabled then gdipShutdown;

    #ifdef Slides

    DeinitializeSlideShow;

    KillTimer(0, TimerID);

    #endif

    end;

    скрипт.rar


  4. Всем привет, хочу создать свои моды с галочками по их выбору можно какой нибудь скрипт где нужно только заменить имя и т.д, я пробовал этой программой все почти получилось картинки на свои заменил но вот когда проверяю или сохраняю программу идет только далее далее и готово а выбора модов нету(( прошу EvilAlex помоги мне объясни только буду очень благодарен и другие тоже а если можно то вообще видео гайд замути по созданию мод пака

    А ты разкоментил? строку

    #include "Components.iss"                                           ;Êîìïàíåíòû, îíè æå ìîäû
    • Upvote 1

  5. Всем привет! У меня произошла такая проблема, когда устанавливаешь моды по выбору в инсталляторе то после установке, моды некоторые не работают, хотя все распределил по папкам и прописал в скрипте. Что делать подскажите пожалуйста.

×
×
  • Create New...