Jump to content
Korean Random

san4o

User
  • Posts

    13
  • Joined

  • Last visited

Posts posted by san4o

  1. СПС что откликнулись,в конфиге нет пройти обучение ,давно не пользовался не помню как дословно....Вообщем когда ты заходишь и тебе рассказывают как играть...не знаю как правильно обозвать это действие,по моему обучение.Заранее спасибо.

    Боевое обучение ?

     В клиенте - выбор режима боя (справа от кнопки * бой*)  в самом низу.

    • Upvote 1
  2. leeuniverse,

    нужно просто выровнять страницы.

    прогрессбар закрепить на нужной странице и всё.

    В лиц. станице баг из-за текстуированных кнопок. Закомментил, но звуки клика оставил.

     

    Вобщем вот твой код.

    ///////////////////////////////////////////////////////////////////////////////////
    // Script for World of Tanks from San4oPack 2014 //
    // A simple form of music, backup files (recovery after uninstalling) //
    // with pictures, etc. //
    ///////////////////////////////////////////////////////////////////////////////////
    
    ; At each update patch game, change only the numbers ( eg: #define Patch "0.9.2" #define Patch "0.9.3" etc.)
    #define Patch "0.9.3"
    ; Skins are located in the Styles folder. If you want to change the skin, change only the name (for example: #define SkinName "skin.cjstyles" or #define SkinName "VistaAero.cjstyles" )
    #define SkinName "CharcoalDarkSlate.vsf"
    ; Backup module, do not touch! To backup individual files must be the flag BeforeInstall: CreateBackup (example in this script, see: Source: "Mods\Grafika\Norm\preferences.xml"; DestDir: "{userappdata}/Wargaming.net/WorldOfTanks"; Flags: ignoreversion; BeforeInstall: CreateBackup; Tasks: grafika; )
    #include "Modules\SHFileOperation.iss"
    
    [Setup]
    ; Dont put a "'" in any of these.
    AppName=[LAMP] Lees ALL MOD Pack
    AppVersion=0.9.3.v4
    AppCopyright=Copyright (C)2014 LAMP
    VersionInfoVersion=0.9.3
    DefaultDirName={code:GetAppDir}
    DirExistsWarning=no
    ;ShowComponentSizes=no
    WizardSmallImageFile=MyFiles\WizardSmallImage.bmp
    DefaultGroupName=LAMP
    DisableProgramGroupPage=yes
    InfoBeforeFile=faq.rtf
    LicenseFile=license.rtf
    InfoAfterFile=credit.rtf
    
    ;AllowNoIcons=True
    SetupIconFile=MyFiles\Wot.ico
    OutputBaseFilename=LAMP_0.9.3.v4
    Compression=lzma2/ultra64
    InternalCompressLevel=ultra
    SolidCompression=yes
    
    ; Comment the following line to disable the "Select Setup Language"
    ; dialog and have it rely solely on auto-detection.
    ShowLanguageDialog=Yes
    ; If you want all languages to be listed in the "Select Setup Language"
    ; dialog, even those that can't be displayed in the active code page,
    ; uncomment the following line. Note: Unicode Inno Setup always displays
    ; all languages.
    ShowUndisplayableLanguages=yes
    
    [Languages]
    Name: en; MessagesFile: "compiler:Default.isl"
    Name: nl; MessagesFile: "compiler:Languages\Dutch.isl"
    Name: de; MessagesFile: "compiler:Languages\German.isl"
    Name: ru; MessagesFile: "compiler:Languages\Russian.isl"
    
    [Types]
    Name: "full"; Description: "Full"
    Name: "custom"; Description: "Custom"; Flags: iscustom
    
    [Components]
    Name: XVM; Description: XVM; Types: full custom; Flags: disablenouninstallwarning checkablealone dontinheritcheck
    Name: xvm\pref; Description: Prime_eff; Flags: exclusive disablenouninstallwarning
    Name: pricel; Description: Sights; Types: full custom; Flags: disablenouninstallwarning checkablealone dontinheritcheck
    Name: pricel\jmb; Description: J1mbo; Types: full; Flags: exclusive disablenouninstallwarning
    Name: pricel\zyz; Description: Zayaz; Flags: exclusive disablenouninstallwarning
    Name: pricel\20; Description: Spectr20; Flags: exclusive disablenouninstallwarning
    Name: chat; Description: Text Chat; Types: full custom; Flags: disablenouninstallwarning checkablealone dontinheritcheck
    Name: chat\pod; Description: Advanced Tips; Types: full; Flags: disablenouninstallwarning
    Name: chat\mcm; Description: Maud colored posts; Types: full; Flags: disablenouninstallwarning
    Name: angar; Description: Hangar Mods; Types: full custom; Flags: disablenouninstallwarning checkablealone dontinheritcheck
    Name: angar\mn; Description: Hangar Minimalistic; Types: full; Flags: disablenouninstallwarning exclusive
    Name: zvonok; Description: Sound Mods; Types: full custom; Flags: disablenouninstallwarning checkablealone dontinheritcheck
    Name: zvonok\zk; Description: 6 voice feelings fire; Types: full; Flags: disablenouninstallwarning
    
    [Icons]
    Name: "{group}\{cm:UninstallProgram,{#SetupSetting("AppName")}}"; Filename: "{uninstallexe}"; IconFilename: "{app}\uninstall.ico"; Comment: "Remove {#SetupSetting("AppName")} from your computer";
    
    [Tasks]
    Name: "grafika"; Description: "Graphics settings (average PC)"; GroupDescription: "Settings:"; Flags: checkedonce
    Name: "fps"; Description: Disable the smoke and flames when fired; GroupDescription: "Performance:"; Flags: checkedonce
    Name: "fps2"; Description: Disable the smoke from the exhaust pipe; GroupDescription: "Performance:"; Flags: checkedonce
    Name: "fps3"; Description: Disable the smoke from the tanks destroyed; GroupDescription: "Performance:"; Flags: checkedonce
    Name: "fps4"; Description: Disable the effect of explosions and shells; GroupDescription: "Performance:"; Flags: unchecked
    Name: "fps5"; Description: Disable the effect of motion of the trees; GroupDescription: "Performance:"; Flags: checkedonce
    Name: "fps6"; Description: Disable the effect of contact with objects; GroupDescription: "Performance:"; Flags: unchecked
    Name: "fps7"; Description: Disable the effect of falling into the tank; GroupDescription: "Performance:"; Flags: unchecked
    Name: "fps8"; Description: Disable the effect of destruction of the tank; GroupDescription: "Performance:"; Flags: checkedonce
    Name: "fps9"; Description: Disable effects of destruction of objects; GroupDescription: "Performance:"; Flags: checkedonce
    
    [Files]
    Source: "dll\*"; DestDir: "{app}"; Flags: ignoreversion solidbreak; BeforeInstall: ChangeCaption('Copying files...wait..'); Attribs: hidden system;
    Source: "MyFiles\*"; DestDir: "{app}"; Flags: ignoreversion dontcopy; Attribs: hidden system;
    Source: "Styles\{#SkinName}"; DestDir: "{app}"; Flags: ignoreversion; Attribs: hidden system;
    Source: "image\*"; Flags: dontcopy noencryption;
    ;Source: {app}\Backup\xvm\db\tokens.xdb; DestDir: {app}\res_mods\xvm\db; Flags: skipifsourcedoesntexist external;
    ;Source: "Mods\Grafika\Norm\preferences.xml"; DestDir: "{userappdata}/Wargaming.net/WorldOfTanks"; Flags: ignoreversion; BeforeInstall: CreateBackup; Tasks: grafika;
    ;Source: "Mods\wot\fps\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Tasks: fps;
    ;Source: "Mods\wot\fps2\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Tasks: fps2;
    ;Source: "Mods\wot\fps3\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Tasks: fps3;
    ;Source: "Mods\wot\fps4\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Tasks: fps4;
    ;Source: "Mods\wot\fps5\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Tasks: fps5;
    ;Source: "Mods\wot\fps6\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Tasks: fps6;
    ;Source: "Mods\wot\fps7\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Tasks: fps7;
    ;Source: "Mods\wot\fps8\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Tasks: fps8;
    ;Source: "Mods\wot\fps9\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Tasks: fps9;
    ;
    ;//============== MODS =======================================\\
    ;Source: "Mods\xvm\Prime_eff\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: xvm\pref;
    ;Source: "Mods\pricel\JIMBO\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: pricel\jmb;
    ;Source: "Mods\pricel\zayaz\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: pricel\zyz;
    ;Source: "Mods\pricel\Spectr20\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: pricel\20;
    ;//=== the beginning of text mode =======================================================================================================================\\
    ;Source: "{app}\res\text\*"; DestDir: "{app}\res_mods\{#Patch}\text\"; Flags: external recursesubdirs skipifsourcedoesntexist; Components: chat;
    ;Source: "Mods\chat\podskaz\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: chat\pod;
    ;Source: "Mods\chat\mcm\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: chat\mcm;
    ;//=== end of text mode ===//
    ;Source: "Mods\angar\garage\mini\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: angar\mn;
    ;//=== the beginning of the audio files ===============================================================================================================================\\
    ;Source: "{app}\res\audio\*"; DestDir: "{app}\res_mods\{#Patch}\audio\"; Flags: external recursesubdirs skipifsourcedoesntexist; Components: zvonok;
    ;Source: "Mods\zvonok\zvuki\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: zvonok\zk;
    ;//=== end of the audio files ===//
    
    [code]
    const
    BColor = clBlue;
    EColor = clblack;
    BM_CLICK=$00F5;
    
    type
    TBtnEventProc = procedure (h:HWND);
    TImgPB = record
    Left,
    Top,
    Width,
    Height,
    MaxWidth : integer;
    img1,img2 : Longint;
    end;
    
    var
    InfoPanel: TPanel;
    LogoLabel: TLabel;
    PBCount, ResultCode, LastIndex, CurrentImage, ProgressStep,LastIndex,ErrorCode,X,Y,i,n: Integer;
    Rus: boolean;
    GIFHWND2, MusicButton, hCancelBtn, hNextBtn, hBackBtn, hDirBrowseBtn, hGroupBrowseBtn, hCancelUninstBtn: HWND;
    
    WFButtonFont, UPFButtonFont: TFont;
    UndefPic, GifFileName, OldDisk, TimeLeft, TempPath: string;
    Workspace, DirFolder, GroupFolder, WizardImg, MyLogo: Longint;
    InfoCaption, Info, Lbl: TNewStaticText;
    InfoPic: TBitmapImage;
    CheckLicense: TCheckBox;
    
    const
    HALIGN_CENTER = 0;
    HALIGN_LEFT = 1;
    HALIGN_RIGHT = 2;
    
    VALIGN_CENTER = 0;
    VALIGN_TOP = 1;
    VALIGN_BOTTOM = 2;
    
    FIT_NONE = 0;
    FIT_WIDTH = 1;
    FIT_HEIGHT = 2;
    FIT_BOTH = 3;
    
    CLR_INVALID = $FFFFFFFF;
    UNDEF_INDEX = -777;
    BtnClickEventID = 1;
    BtnMouseEnterEventID = 2;
    
    #include "Modules\MDL.iss"
    //#include "Modules\Button.iss"
    #include "Modules\bass.iss"
    #include "Modules\TextureProgressBar.iss"
    
    procedure LicenseOnClick(Sender: TObject);
    begin
    if (CheckLicense.Checked) = True then
    begin
    WizardForm.LicenseAcceptedRadio.Checked := True;
    end else
    begin
    WizardForm.LicenseNotAcceptedRadio.Checked := True;
    end;
    end;
    
    procedure ShowPicHint(const PicFilePath: String);
    var
    pt: TPoint;
    begin
    if not GetCursorPos(pt) then Exit;
    InfoPic.Bitmap.LoadFromFile(PicFilePath);
    InfoPic.SetBounds(ScaleX(300), ScaleY(10), 310, 280);
    InfoPic.Show;
    end;
    
    procedure CompOnItemMouseMove(Sender: TObject; X, Y: Integer; Index: Integer; Area: TItemArea);
    begin
    if Index = -1 then Exit;
    if Index = LastIndex then Exit;
    try
    case TNewCheckListBox(Sender).ItemCaption[Index] of
    'XVM': UndefPic := '2.bmp';
    'Prime_eff': UndefPic := '4.bmp';
    'J1mbo': UndefPic := '12.bmp';
    'Zayaz': UndefPic := '13.bmp';
    'Advanced tips': UndefPic := '30.bmp';
    'Maud colored posts': UndefPic := '31.bmp';
    'hangar Minimalistic': UndefPic := '34.bmp';
    '6 Ozvuchka feelings fire': UndefPic := '53.bmp';
    'Spectr20': UndefPic := '62.bmp';
    else
    begin
    LastIndex := UNDEF_INDEX;
    InfoPic.Hide;
    Exit;
    end;
    end;
    if not FileExists(TempPath + UndefPic) then ExtractTemporaryFile(UndefPic);
    ShowPicHint(TempPath + UndefPic);
    finally
    LastIndex := Index;
    end;
    end;
    
    procedure CompOnMouseLeave(Sender: TObject);
    begin
    InfoPic.Hide;
    LastIndex := -1;
    end;
    
    procedure InitInfo();
    begin
    WizardForm.TypesCombo.Hide;
    WizardForm.ComponentsList.OnItemMouseMove := @CompOnItemMouseMove;
    WizardForm.ComponentsList.OnMouseLeave := @CompOnMouseLeave;
    TempPath := AddBackslash(ExpandConstant('{tmp}'));
    LastIndex := UNDEF_INDEX;
    
    InfoPic := TBitmapImage.Create(WizardForm)
    with InfoPic do
    begin
    Parent := WizardForm.SelectComponentsPage;
    AutoSize := true;
    end;
    end;
    
    function GetAppDir(Path: String): String;
    begin
    if RegKeyExists(HKLM, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{1EAC1D02-C6AC-4FA6-9A44-96258C37C812RU}_is1') then begin
    RegQueryStringValue(HKLM, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{1EAC1D02-C6AC-4FA6-9A44-96258C37C812RU}_is1', 'InstallLocation', Path);
    Result := Path end else
    Result := ExpandConstant('C:\Games\World_of_Tanks')
    end;
    // hint -------------
    procedure HintStr(Sender: TObject; X: Integer; Y: Integer; Index: Integer; Area: TItemArea);
    begin
    if Index<>LastIndex then begin
    LastIndex:= Index;
    WizardForm.TasksList.ShowHint:= False;
    WizardForm.TasksList.Hint:= '';
    Exit;
    end;
    with WizardForm.TasksList do
    case Index of
    0 : Hint := '';
    1 : Hint := 'Optimal graphics settings for the average PC';
    2 : Hint := '';
    3 : Hint := 'Increasing FPS by disabling certain Perm. effects have a negative impact on system performance';
    4 : Hint := '';
    5 : Hint := '';
    6 : Hint := '';
    else
    Hint := '';
    end;
    WizardForm.TasksList.ShowHint:= True;
    end;
    // hint -------------
    
    procedure PlaySoundOnEnter(Sender: TObject);
    begin
    sndPlaySound(ExpandConstant('{tmp}\Check.WAV'),$0001);
    end;
    
    procedure PlaySoundOnMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
    begin
    sndPlaySound(ExpandConstant('{tmp}\Click.WAV'),$0001);
    end;
    
    procedure PlaySoundOnMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
    begin
    sndPlaySound(ExpandConstant('{tmp}\WFEnter.WAV'),$0001);
    end;
    
    procedure ChangeCaption(str: string);
    begin
    WizardForm.StatusLabel.Caption:= str;
    end;
    
    procedure CreateBackup;
    var
    srcFile, destFile: string;
    begin
    srcFile:= ExpandConstant(CurrentFileName);
    destFile:= srcFile + '.bak';
    DeleteFile(destFile);
    RenameFile(srcFile, destFile);
    end;
    
    procedure RestoreBackup(backupDir: string);
    var
    srcFile, destFile: string;
    FSR, DSR: TFindRec;
    FindResult: Boolean;
    APath: string;
    begin
    APath := AddBackslash(backupDir);
    FindResult := FindFirst(APath + '*.bak', FSR);
    try
    while FindResult do
    begin
    if FSR.Attributes and FILE_ATTRIBUTE_DIRECTORY = 0 then
    begin
    srcFile:= APath + FSR.Name;
    destFile:= Copy(srcFile, 0, Length(srcFile)-4);
    DeleteFile(destFile);
    RenameFile(srcFile, destFile);
    end;
    FindResult := FindNext(FSR);
    end;
    FindResult := FindFirst(APath + '*.*', DSR);
    while FindResult do
    begin
    if ((DSR.Attributes and FILE_ATTRIBUTE_DIRECTORY) = FILE_ATTRIBUTE_DIRECTORY) and
    not ((DSR.Name = '.') or (DSR.Name = '..')) then
    {Recursion} RestoreBackup(APath + DSR.Name);
    FindResult := FindNext(DSR);
    end;
    finally
    FindClose(FSR);
    FindClose(DSR);
    end;
    end;
    
    // Import the LoadVCLStyle function from VclStylesInno.DLL
    procedure LoadVCLStyle(VClStyleFile: String); external 'LoadVCLStyleA@files:VclStylesInno.dll stdcall';
    // Import the UnLoadVCLStyles function from VclStylesInno.DLL
    procedure UnLoadVCLStyles; external 'UnLoadVCLStyles@files:VclStylesInno.dll stdcall';
    
    function InitializeSetup(): Boolean;
    begin
    //SetThemeAppProperties(0);
    // ExtractTemporaryFile('isskin.dll');
    // ExtractTemporaryFile('{#SkinName}');
    // LoadSkin(ExpandConstant('{tmp}\{#SkinName}'), '');
    ExtractTemporaryFile('{#SkinName}');
    LoadVCLStyle(ExpandConstant('{tmp}\{#SkinName}'));
    GIFHWND2 := 0;
    
    ExtractTemporaryFile('MusicButton.bmp');
    ExtractTemporaryFile('music.mp3');
    ExtractTemporaryFile('innocallback.dll');
    
    if not FileExists(ExpandConstant('{tmp}\botva2.dll')) then ExtractTemporaryFile('botva2.dll');
    Result:=True;
    end;
    
    procedure LogoLabelOnClick(Sender: TObject);
    begin
    ShellExec('open', 'http://www.leeuniverse.com', '', '', SW_SHOWNORMAL, ewNoWait, ErrorCode)
    end;
    
    procedure LblOnClick(Sender: TObject);
    begin
    ShellExec('open', 'http://www.leeuniverse.com', '', '', SW_SHOWNORMAL, ewNoWait, ErrorCode);
    end;
    
    procedure CreateForm;
    begin
    with WizardForm do
    begin
    X:=ScaleX(200);
    Y:=ScaleX(150);
    Position := poScreenCenter;
    Width:= WizardForm.Width + X;
    Height:= WizardForm.Height + Y;
    Bevel.top:= WizardForm.Bevel.top + Y;
    Bevel.Width:= WizardForm.Width;
    Bevel1.Width:= WizardForm.Width;
    OuterNotebook.Width := WizardForm.OuterNotebook.Width + X
    OuterNotebook.Height := WizardForm.OuterNotebook.Height + Y
    InnerNotebook.Width := WizardForm.InnerNotebook.Width + X
    InnerNotebook.Height := WizardForm.InnerNotebook.Height + Y
    Caption := ExpandConstant('{#SetupSetting("AppName")}');
    // BorderStyle := bsDialog;
    WelcomeLabel1.Hide;
    WelcomeLabel2.Hide;
    PageNameLabel.Hide;
    PageDescriptionLabel.Hide;
    SelectComponentsLabel.Hide;
    ComponentsDiskSpaceLabel.Hide;
    DiskSpaceLabel.Hide;
    FinishedLabel.Hide;
    FinishedHeadingLabel.Hide;
    WizardBitmapImage.Hide;
    WizardBitmapImage2.Hide;
    SelectDirBitmapImage.Hide;
    SelectGroupBitmapImage.Hide;
    InfoAfterClickLabel.Hide;
    
    with WizardForm do
    begin
    Font.Name:='Georgia';
    Font.Style := [];
    end;
    
    with NextButton do
    begin
    Left := WizardForm.NextButton.left + 255;
    Top := WizardForm.Bevel.top + 8;
    end;
    
    with BackButton do
    begin
    Left := WizardForm.BackButton.left + 250;
    Top := WizardForm.Bevel.top + 8;
    end;
    
    if not FileExists(ExpandConstant('{tmp}\fon.jpg')) then ExtractTemporaryFile('fon.jpg');
    ImgLoad(WizardForm.WelcomePage.Handle, ExpandConstant('{tmp}\fon.jpg'), ScaleX(0),ScaleY(0),WizardForm.OuterNotebook.Width, WizardForm.OuterNotebook.Height,true,true);
    ImgApplyChanges(WizardForm.WelcomePage.Handle);
    
    if not FileExists(ExpandConstant('{tmp}\znak.png')) then ExtractTemporaryFile('znak.png');
    ImgLoad(WizardForm.SelectDirPage.Handle, ExpandConstant('{tmp}\znak.png'), ScaleX(465), ScaleY(73), ScaleX(150), ScaleY(150), true, true);
    ImgApplyChanges(WizardForm.SelectDirPage.Handle);
    
    if not FileExists(ExpandConstant('{tmp}\finish.jpg')) then ExtractTemporaryFile('finish.jpg');
    ImgLoad(WizardForm.FinishedPage.Handle, ExpandConstant('{tmp}\finish.jpg'), ScaleX(0),ScaleY(0),WizardForm.OuterNotebook.Width, WizardForm.OuterNotebook.Height,true,true);
    ImgApplyChanges(WizardForm.FinishedPage.Handle);
    
    if not FileExists(ExpandConstant('{tmp}\DirFolder.png')) then ExtractTemporaryFile('DirFolder.png');
    DirFolder:=ImgLoad(WizardForm.SelectDirPage.Handle,ExpandConstant('{tmp}\DirFolder.png'),ScaleX(0), ScaleY(0),ScaleX(34),ScaleY(30),True,True);
    if not FileExists(ExpandConstant('{tmp}\GroupFolder.png')) then ExtractTemporaryFile('GroupFolder.png');
    GroupFolder:=ImgLoad(WizardForm.SelectDirPage.Handle,ExpandConstant('{tmp}\GroupFolder.png'),ScaleX(0), ScaleY(120),ScaleX(34),ScaleY(30),True,True);
    ImgApplyChanges(WizardForm.SelectDirPage.Handle);
    
    if not FileExists(ExpandConstant('{tmp}\img.png')) then ExtractTemporaryFile('img.png');
    Workspace:=ImgLoad(WizardForm.SelectComponentsPage.Handle,ExpandConstant('{tmp}\img.png'), ScaleX(300), ScaleY(10), ScaleX(310), ScaleY(280),True,True);
    ImgApplyChanges(WizardForm.SelectComponentsPage.Handle);
    
    ExtractTemporaryFile('Click.WAV');
    ExtractTemporaryFile('WFEnter.WAV');
    ExtractTemporaryFile('Check.WAV');
    
    ExtractTemporaryFile('logo.png');
    MyLogo:=ImgLoad(WizardForm.WelcomePage.Handle,ExpandConstant('{tmp}\logo.png'), ScaleX(520), ScaleY(6), ScaleX(160), ScaleY(140), False, False);
    ImgApplyChanges(WizardForm.WelcomePage.Handle);
    LogoLabel := TLabel.Create(WizardForm);
    
    with LogoLabel do
    begin
    Parent := WizardForm.WelcomePage;
    SetBounds(ScaleX(520), ScaleY(6), 160, 140);
    Transparent:=True;
    Cursor := crHand;
    OnClick:=@LogoLabelOnClick;
    end;
    // =================== [Form] ==============================
    with WizardForm do
    begin
    with NextButton do
    begin
    OnMouseEnter := @PlaySoundOnEnter;
    OnMouseDown := @PlaySoundOnMouseDown;
    OnMouseUp := @PlaySoundOnMouseUp;
    end;
    
    with BackButton do
    begin
    OnMouseEnter := NextButton.OnMouseEnter;
    OnMouseDown := NextButton.OnMouseDown;
    OnMouseUp := NextButton.OnMouseUp;
    end;
    
    with CancelButton do
    begin
    OnMouseEnter := NextButton.OnMouseEnter;
    OnMouseDown := NextButton.OnMouseDown;
    OnMouseUp := NextButton.OnMouseUp;
    end;
    
    with DirBrowseButton do
    begin
    OnMouseEnter := NextButton.OnMouseEnter;
    OnMouseDown := NextButton.OnMouseDown;
    OnMouseUp := NextButton.OnMouseUp;
    end;
    
    with GroupBrowseButton do
    begin
    OnMouseEnter := NextButton.OnMouseEnter;
    OnMouseDown := NextButton.OnMouseDown;
    OnMouseUp := NextButton.OnMouseUp;
    end;
    
    with MainPanel do
    Width:= WizardForm.MainPanel.Width + X;
    with WizardSmallBitmapImage do
    begin
    SetBounds(ScaleX(0), ScaleY(0), 700, 60);
    end;
    
    with WizardForm.DirEdit do begin
    AutoSelect := False;
    ReadOnly := True;
    end;
    
    with ComponentsList do
    begin
    SetBounds(ScaleX(5), ScaleY(10), 280, 280);
    Color := clBtnFace;
    Font.Name := 'Tahoma';
    Font.Size := 9;
    Font.Style := [];
    Parent:= WizardForm.SelectComponentsPage;
    end;
    
    with WizardForm.GroupBrowseButton do
    begin
    Top := ScaleY(191);
    Parent := WizardForm.SelectDirPage;
    end;
    
    with WizardForm.GroupEdit do
    begin
    Top := ScaleY(192);
    Parent := WizardForm.SelectDirPage;
    end;
    
    with WizardForm.SelectStartMenuFolderBrowseLabel do
    begin
    Parent := WizardForm.SelectDirPage;
    Top := ScaleY(155);
    end;
    
    with WizardForm.SelectStartMenuFolderLabel do
    begin
    Parent := WizardForm.SelectDirPage;
    Top := ScaleY(128);
    end;
    
    // with NoIconsCheck do
    // begin
    // Parent := WizardForm.SelectDirPage;
    // Top := ScaleY(250);
    // Visible := true
    end;
    WizardForm.ReadyMemo.SetBounds(ScaleX(0), ScaleY(60), 610, 300);
    end;
    
    with WizardForm.SelectTasksPage do
    begin
    WizardForm.TasksList.SetBounds(ScaleX(0), WizardForm.TasksList.Top, 610, 340);
    end;
    
    with WizardForm do
    begin
    with TasksList do
    begin
    ShowHint := True;
    Hint := '';
    OnItemMouseMove := @HintStr;
    end;
    
    with WizardForm.InfoAfterMemo do
    begin
    WizardForm.InfoAfterMemo.SetBounds(ScaleX(0), ScaleY(30), 610, 300);
    end;
    
    with WizardForm.InfoBeforeMemo do
    begin
    WizardForm.InfoBeforeMemo.SetBounds(ScaleX(0), ScaleY(60), 610, 300);
    end
    
    WizardForm.LicenseNotAcceptedRadio.Hide;
    WizardForm.LicenseAcceptedRadio.Hide;
    WizardForm.LicenseMemo.Left := ScaleX(0);
    WizardForm.LicenseMemo.Top := ScaleY(60);
    WizardForm.LicenseMemo.Width := ScaleX(610);
    WizardForm.LicenseMemo.Height := ScaleY(300);
    
    CheckLicense:= TCheckBox.Create(WizardForm);
    CheckLicense.Left:= ScaleX(0);
    CheckLicense.Top:= ScaleY(360);
    CheckLicense.Caption:= WizardForm.LicenseAcceptedRadio.Caption;
    CheckLicense.Width:= ScaleX(410);
    CheckLicense.OnClick:= @LicenseOnClick;
    CheckLicense.Parent:= WizardForm.LicensePage;
    
    with WizardForm.PreparingLabel do
    begin
    Width := ScaleX(610);
    end;
    WizardForm.PreparingMemo.SetBounds(ScaleX(0), WizardForm.PreparingMemo.Top, 610, WizardForm.PreparingMemo.Height);
    end;
    
    with WizardForm.FilenameLabel do
    begin
    Left := ScaleX(0)
    Top := ScaleY(50);
    Width := ScaleX(580);
    end;
    WizardForm.StatusLabel.Left := ScaleX(0)
    
    with WizardForm.ProgressGauge do
    begin
    Parent:=WizardForm.InstallingPage;
    SetBounds(ScaleX(0), ScaleY(100), 580, 30);
    Hide;
    end;
    TextureProgressBar(WizardForm.ProgressGauge, $898987, cllime, false);
    end;
    // =================== [Form] ==============================
    procedure InitializeWizard();
    begin
    InitInfo();
    CreateForm;
    // ButtonsTextures;
    Music;
    
    mp3Name := ExpandConstant('{tmp}\music.mp3');
    BASS_Init(-1, 44100, 0, 0, 0);
    mp3Handle := BASS_StreamCreateFile(FALSE, PAnsiChar(mp3Name), 0, 0, 0, 0, BASS_SAMPLE_LOOP);
    BASS_Start();
    BASS_ChannelPlay(mp3Handle, False);
    
    ExtractTemporaryFile('logo.gif');
    
    GIFHWND2 := NewGifbWnd(WizardForm.Handle, ScaleX(80), WizardForm.Bevel.Top + ScaleY(8), 160, 33);
    GifWndLoadFromFile(GIFHWND2, HALIGN_CENTER, VALIGN_CENTER, CLR_INVALID, FIT_NONE, ExpandConstant('{tmp}\logo.gif'));
    Lbl := TNewStaticText.Create(WizardForm);
    Lbl.Parent := WizardForm;
    Lbl.AutoSize := False;
    Lbl.SetBounds(ScaleX(80), WizardForm.Bevel.Top + ScaleY(8), 160, 33);
    Lbl.OnClick := @LblOnClick;
    Lbl.Cursor := crHand;
    
    InfoPanel := TPanel.Create(WizardForm);
    InfoPanel.SetBounds(ScaleX(5), ScaleY(300), 605, 80);
    Info := TNewStaticText.Create(WizardForm);
    Info.Parent := WizardForm.SelectComponentsPage;
    Info.AutoSize := False;
    Info.SetBounds(ScaleX(15), ScaleY(310), 588, 68);
    Info.Caption := '';
    Info.Font.Name := '';
    Info.Font.Size := 9;
    Info.WordWrap := true;
    enabledesc(WizardForm.ComponentsList.Handle,Info.Handle,
    'XVM: eXtended Visualization Mod — modification of the combat interface for the popular MMO World of Tanks. To display statistics, you need to enable it on the site XVM (www.modxvm.com);'+
    'XVM Ded_Shalfey configs "Prime_eff". Rating statistics Total victory of and techniques chance;'+ //
    ' ;'+
    'The sight of Jimbo. This sight can be classified as futuristic. Though he is equipped with additional graphic details - they do not have an overabundance, established a rather compact and organically.;'+
    'Sights from Zayaz help you not only comfortable and shoot accurately, but still give you a chance to not get under the opponents shots.;'+
    'The sight of Spectr20. Simple minimalist sight calculator enemy armor. The first value of your penetration of the projectile, the second tank armor at this point. Art sight can be adjusted from the config file CPSSetting.xml;'+ //
    ' ;'+ //
    'Modification of fashion "Advanced tips for skills and abilities" of phantasm, add an extension to the description of the skills, abilities, medals, consumables and snaryadam.Ves font normal size, the positive effects are highlighted in green;'+ //
    'Maud colored messages (MCM) from Vslav666. Detailed statistics on the battle, the number of wins and losses, the entire wage experience wage display free experience for the fight;'+ //
    ' ;'+ //
    'The easiest and fastest hangar of Hellinger. This hangar is notable for the fact that its author has made every effort to improve system performance while in the hangar. Ideal for owners of low-end PCs.;'+ //
    ' ;'+
    '6 Ozvuchka feelings sound fire perezaryad and t.p;'
    );
    end;
    
    procedure ShowComponents(CurPageID: Integer);
    begin
    case CurPageID of
    wpSelectDir: begin
    ImgSetVisibility(DirFolder,True);
    ImgSetVisibility(GroupFolder,True);
    end;
    end;
    end;
    
    procedure CurPageChanged(CurPageID: Integer);
    begin
    // if CurPageID = wpSelectDir then
    // WizardForm.NoIconsCheck.Checked := true;
    // SetStateNewButtons;
    ImgSetVisibility(DirFolder,False);
    ImgSetVisibility(GroupFolder,False);
    ShowComponents(CurPageID);
    ImgApplyChanges(WizardForm.InnerPage.Handle)
    ImgApplyChanges(WizardForm.Handle);
    
    if CurPageID=wpFinished then begin
    WizardForm.ProgressGauge.Hide;
    //SendMessage(WizardForm.NextButton.Handle,BM_CLICK,0,0);
    end;
    end;
    
    procedure CurStepChanged(CurStep: TSetupStep);
    begin
    ProgressTimer(CurStep);
    if CurStep = ssInstall then
    begin
    MoveDir(ExpandConstant('{app}\res_mods\'),ExpandConstant('{app}\Backup'));
    WizardForm.ProgressGauge.Show;
    end;
    //begin
    //if CurStep = ssDone then
    //if MsgBox('modification ' + 'successfully' + ' performed!' + #10#10#13 + 'Start ' + 'game' + '?' , mbInformation, MB_OKCANCEL) = IDOK then
    //Exec(ExpandConstant('{app}\WorldOfTanks.exe'), '', '', SW_SHOW, ewNoWait, ResultCode);
    //end;
    end;
    
    procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep);
    begin
    if CurUninstallStep = usPostUninstall then
    begin
    MoveDir(ExpandConstant('{app}\Backup\'),ExpandConstant('{app}\res_mods'));
    RemoveDir(ExpandConstant('{app}\Backup'));
    RestoreBackup(ExpandConstant('{app}'))
    end;
    end;
    
    procedure DeinitializeSetup();
    begin
    ShowWindow(StrToInt(ExpandConstant('{wizardhwnd}')), 0);
    // UnloadSkin;
    gdipShutdown;
    FreeAllGifWnd();
    // WFButtonFont.Free;
    disabledesc();
    BASS_Stop();
    BASS_Free();
    end;
    
    //function InitializeUninstall: Boolean;
    // begin
    // FileCopy(ExpandConstant('{app}\VclStylesinno.dll'), ExpandConstant('{tmp}\VclStylesinno.dll'), False);
    // FileCopy(ExpandConstant('{app}\{#SkinName}'), ExpandConstant('{tmp}\{#SkinName}'), False);
    // LoadSkin(ExpandConstant('{tmp}\{#SkinName}'), '');
    // Result:=True;
    // end;
    
    

  3. Уважаемые, а вот такой вопросец.

    Как изменить внешний вид шрифта на одном из  компонентов? Пример для наглядности моего вопроса под спойлером.

    [Tasks]

    Name: "Original"; Description: "F.E.A.R."; GroupDescription: "Какая версия игры установлена?"; Flags: exclusive unchecked;

    Name: "EP"; Description: "F.E.A.R.: Extraction Point"; GroupDescription: "Какая версия игры установлена?"; Flags: exclusive;

     

    попробуй так:

    procedure InitializeWizard();
      begin  
      WizardForm.ComponentsList.ItemFontStyle[0] := [fsBold]; 
      WizardForm.ComponentsList.ItemFontStyle[1] := [fsItalic];
    end;
    

    пример:

    [Setup]
    AppName=My App
    AppVersion=1.0
    DefaultDirName=MyApp
    
    [Languages]
    Name: rus; MessagesFile: compiler:Languages\Russian.isl
    
    [Components]
    Name: mod; Description: mod;
    Name: mod2; Description: mod2; Flags: exclusive disablenouninstallwarning
    
    [Code]
    procedure InitializeWizard();
      begin
      WizardForm.ComponentsList.ItemFontStyle[0] := [fsBold];
      WizardForm.ComponentsList.ItemFontStyle[1] := [fsItalic];
    end;
    
  4. Уважаемые, перечитал весь форум, но похожего не нашел. В справке тоже не нашел (видимо, плохо искал). Вопрос по этому блоку:

    BtnPanel:=TPanel.Create(WizardForm)

    with BtnPanel do begin

    Left:=0

    Top:=315

    Width:=179

    Height:=46

    Cursor:=crHand

    OnClick:=@logoOnClick

    Parent:=WizardForm

    end;

    Привязка идет от верха. Можно ее изменить на привязку от нижнего края?

    position: absolute не прокатило (понять не может), bottom тоже проге не прокатило.

    попробуй так например:

    BtnPanel:=TPanel.Create(WizardForm)
      with BtnPanel do begin
        Cursor:=crHand
        OnClick:=@logoOnClick
        Parent:=WizardForm
        SetBounds(ScaleX(30), WizardForm.Bevel.Top + ScaleY(-1), 179, 31);

    ну и потихоньку вверх... -10...-50...-100 и т.д.

    Если не правильно понял, то извиняй  :ok:

    • Upvote 1
  5. только не пойму как визуально отредактировать раположение картинки

    там есть строчки

    SetBounds(ScaleX(245), ScaleY(42), ScaleX(166), ScaleY(165));
         //     слева       сверху       ширина         высота 

    вот их и редактируй.. размер картинки, окно, рамка. всего 3.

  6. случаем не это ищите?  :heh:

    [Setup]
    AppName=My Program
    AppVerName=My Program v.1.2
    DefaultDirName={pf}\My Program
    Compression=none
    
    [Components]
    Name: ZK1; Description: Звуковой мод звонок при крите модуля1.; Flags: disablenouninstallwarning exclusive
    Name: ZK2; Description: Звуковой мод звонок при крите модуля2.; Flags: disablenouninstallwarning exclusive
    
    [Files]
    //------- ваши картинки ------------
    Source: image\1.bmp; Flags: dontcopy nocompression
    Source: image\2.bmp; Flags: dontcopy nocompression
    
    [code]
    const
        UNDEF_INDEX = -777;
    
    
    function GetCursorPos(var lpPoint: TPoint): BOOL; external '[email protected] stdcall';
    
    
    var
        InfoPic: TBitmapImage;
        LastIndex: Integer;
        TempPath: String;
    
    
    procedure ShowPicHint(const PicFilePath: String);
    var
        pt: TPoint;
    begin
        if not GetCursorPos(pt) then Exit;
        InfoPic.Bitmap.LoadFromFile(PicFilePath);
        InfoPic.SetBounds(ScaleX(245), ScaleY(42), ScaleX(166), ScaleY(165));
        InfoPic.Show;
    end;
    
    
    procedure CompOnItemMouseMove(Sender: TObject; X, Y: Integer; Index: Integer; Area: TItemArea);
    var
        UndefPic: String;
    begin
        if Index = -1 then Exit;
        if Index = LastIndex then Exit;
        try
            case TNewCheckListBox(Sender).ItemCaption[Index] of
                'Звуковой мод звонок при крите модуля1.': UndefPic := '1.bmp';   // пишем точно так же, как прописано в компонентах
                'Звуковой мод звонок при крите модуля2.': UndefPic := '2.bmp';
            else
                begin
                    LastIndex := UNDEF_INDEX;
                    InfoPic.Hide;
                    Exit;
                end;
            end;
            if not FileExists(TempPath + UndefPic) then ExtractTemporaryFile(UndefPic);
            ShowPicHint(TempPath + UndefPic);
        finally
            LastIndex := Index;
        end;
    end;
    
    
    procedure CompOnMouseLeave(Sender: TObject);
    begin
        InfoPic.Hide;
        LastIndex := -1;
    end;
    
    
    procedure InitInfo();
    begin
        WizardForm.TypesCombo.Hide;
        WizardForm.ComponentsList.SetBounds(ScaleX(0), ScaleY(37), ScaleX(225), ScaleY(176));
        WizardForm.ComponentsList.OnItemMouseMove := @CompOnItemMouseMove;
        WizardForm.ComponentsList.OnMouseLeave := @CompOnMouseLeave;
        TempPath := AddBackslash(ExpandConstant('{tmp}'));
        LastIndex := UNDEF_INDEX;
    
        with TBevel.Create(WizardForm) do
        begin
          Parent := WizardForm.SelectComponentsPage;
          SetBounds(ScaleX(240), ScaleY(37), ScaleX(177), ScaleY(176));
          Shape := bsFrame;
        end;
    
        InfoPic := TBitmapImage.Create(WizardForm)
        with InfoPic do
        begin
            Parent := WizardForm.SelectComponentsPage;
            AutoSize := True;
        end;
    end;
    
    
    procedure InitializeWizard();
    begin
        InitInfo();
    end; 

    • Upvote 1
  7. однозначно есть проблема! де активировать не получается. сразу исчезает логин! входишь заново не получается ди активировать и все

    Попробуй через IE. на сторонних браузерах чето тупит.

     

    Gvozdikby, http://www.koreanrandom.com/forum/topic/11630-%D1%81%D1%82%D1%80%D0%BE%D0%B3%D0%B0%D1%8F-%D0%BC%D0%BE%D0%B4%D0%B5%D1%80%D0%B0%D1%86%D0%B8%D1%8F-%D0%BD%D0%BE%D1%87%D0%BD%D1%8B%D0%B5-%D1%81%D0%B1%D0%BE%D1%80%D0%BA%D0%B8-xvm-nightly-builds/page-35?do=findComment&comment=175359

  8. Хотел бы спросить, почему при установке конфига xvm невозможно войти в игру из-за отсутствия серверов списке?

    Вот скрины:

    http://imgdisk.ru/images/8Ko.jpg

    http://imgdisk.ru/images/cXzl.jpg

     

    P-mod присутствует, надеюсь это не из-за него, ибо отключение функции сохранения сервера я комбинировал и там, и в конфиге.

     

    вот тема http://www.koreanrandom.com/forum/topic/14531-%D0%BF%D1%80%D0%BE%D0%B1%D0%BB%D0%B5%D0%BC%D0%B0-%D0%BD%D0%B5-%D0%BE%D1%82%D0%BE%D0%B1%D1%80%D0%B0%D0%B6%D0%B0%D0%B5%D1%82%D1%81%D1%8F-%D1%81%D0%BF%D0%B8%D1%81%D0%BE%D0%BA-%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%BE%D0%B2/

  9. Так логичнее получается!

     

    Просьба всех, кто зарегистрирован на моем сайте, принять участие в тестировании - http://krish8.bget.ru/testirovanie

    P.S. Доступ только для зарегистрированных! Отписываться только там!

    Дед, письмо с инструкцией для дальнейшей регистрации на почту не приходит (2 день уже). никак не залогиниться :(

    почта маил.ру. помоги. ник такой же.

×
×
  • Create New...