Jump to content
Korean Random

F1nder

User
  • Content Count

    33
  • Joined

  • Last visited

Community Reputation

4 Noob

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Переезд произошел быстро. Перешел одним из первых. Все произошло за 2 минуты. Единственное что огорчило это то что пришлось выкупать всю проданную технику и не осталось почти серебра. Играть вроде стало приятней
  2. Насчет описания не знаю, но как сделать картинку у меня есть скрипт. Локализация делается через [CustomMessage]. Потом просто там где должен быть текст надо интегрировать кастомное сообщение
  3. Добрый день. Недавно читал тему про создание инсталляторов на inno setup. Хотел посмотреть есть ли исходные коды. Смотрю у пользователя Kotyarko_O есть залитый исходник на bitbukket. Однако он там удален. Кто скачивал исходник и у кого он остался не могли бы вы поделится? Заранее спасибо P.S Исходники были еще летом 2021 года.
  4. Можно попробовать обратится к @AtotIK. Он делает модпаки для вспышки и амвея. Ну и в основном все.
  5. @Qirashi попробуй написать этому человеку. Насколько я понял он занимается модпаков джова. https://vk.com/phantasm
  6. Спасибо. Но теперь появилась другая проблема. Жалуется на эту строчку. if (CurPage = wpSelectComponents) then AddButtonSelectComponent(); if (CurPage = wpFinished) then ApplySettings(); end; Попробовал закоментировать AddButtonSelectComponent(); и ApplySettings(); инсталлятор запускается и даже нашел путь. Но нашел только букву диска без папки с игрой. Что в этом случае делать? upd. ошибку решил но путь всеравно показывает одну букву диска. Кидаю код ; Скрипт создан через Мастер Inno Setup Script. ; ИСПОЛЬЗУЙТЕ ДОКУМЕНТАЦИЮ ДЛЯ ПОДРОБНОСТЕЙ ИСПОЛЬЗОВАНИЯ INNO SETUP! #define MyAppName "Модпак от F1nder 1.18.0.0 - 0" #define MyAppVersion "0" #define MyAppPublisher "F1nder YT" #define MyAppURL "https://openvk.su/club2271" #define Patch "1.18.0.0" #include "BackUpPage.iss" #include "Components.iss" #include "faq.iss" #include "InnoExtensions.iss" [Setup] ; Примечание: Значение AppId идентифицирует это приложение. ; Не используйте одно и тоже значение в разных установках. ; (Для генерации значения GUID, нажмите Инструменты | Генерация GUID.) AppId={{CCA4D068-372F-45ED-AE39-C4A37A19D64C} AppName={#MyAppName} AppVersion={#MyAppVersion} ;AppVerName={#MyAppName} {#MyAppVersion} AppPublisher={#MyAppPublisher} AppPublisherURL={#MyAppURL} AppSupportURL={#MyAppURL} AppUpdatesURL={#MyAppURL} DefaultDirName=C:\ DefaultGroupName={#MyAppName} InfoAfterFile=C:\Users\A4ivi4\Desktop\modpack\author.rtf OutputBaseFilename=ModPack_by_F1nder_#0 - 1.18.0.0 SetupIconFile=C:\Users\A4ivi4\Desktop\modpack\Files\wot_ico.ico Compression=lzma2/ultra64 InternalCompressLevel=ultra64 SolidCompression=yes UninstallFilesDir={app}\F1nder_ModPack SetupLogging=yes DirExistsWarning=false CreateAppDir=true AppendDefaultDirName=false ShowLanguageDialog=true DisableProgramGroupPage=true Uninstallable=true DisableDirPage=false [Languages] Name: "default"; MessagesFile: "compiler:Default.isl" [CustomMessages] IsAppRunningLabel=Клиент игры World of Tanks в настоящее время запущен. Для подолжения установки необходимо закрыть клиент! wotNotFound=Клиент игры не был найден в этой папке. Установка невозможна Path=1.18.0.0 browse=Обзор... [Files] Source: "dll\xvmextensions.dll"; DestName: xvmextensions.dll; Flags: dontcopy; Source: "dll\bass.dll"; Flags: dontcopy; Source: "dll\unmerg_f.dll"; Flags: dontcopy; [Code] var WotList: TNewComboBox; Buffer: String; procedure WotList_Update(); var ClientsCount, Index, ListIndex: Integer; Str: String; begin ListIndex := WotList.ItemIndex; ClientsCount := WOT_GetClientsCount(); WotList.Items.Clear(); if ClientsCount > 0 then begin for Index := 0 to ClientsCount - 1 do begin WOT_GetClientVersionW(Buffer, 1024, Index); Str := Copy(Buffer, 0, Pos(#0, Buffer)); Insert(' [', Str, Pos(#0, Str)); case WOT_GetClientWgcFlavour(Index) of 1: Insert('WG/', Str, Pos(#0, Str)); 2: Insert('360/', Str, Pos(#0, Str)); 3: Insert('Steam/', Str, Pos(#0, Str)); end; case WOT_GetClientBranch(Index) of 1: Insert('Release', Str, Pos(#0, Str)); 2: Insert('CT', Str, Pos(#0, Str)); 3: Insert('ST', Str, Pos(#0, Str)); 4: Insert('SB', Str, Pos(#0, Str)); end; Insert('] - ', Str, Pos(#0, Str)); WOT_GetClientPathW(Buffer, 1024, Index); Insert(Buffer, Str, Pos(#0, Str)); WotList.Items.Add(Str); end; end; WotList.Items.Add(ExpandConstant('{cm:browse}')); WotList.ItemIndex := ListIndex; end; procedure WotList_AddClient(ClientPath: String); var Index: Integer; begin if Length(ClientPath) = 0 then begin WotList.ItemIndex := -1; Exit; end; Index := WOT_AddClientW(ClientPath); if Index >= 0 then begin WotList_Update(); WotList.ItemIndex := Index; end else begin MsgBox(ExpandConstant('{cm:wotNotFound}'), mbError, MB_OK); WotList.ItemIndex := -1; end; end; procedure TypesComboOnChange(Sender: TObject); begin if WizardForm.TypesCombo.Text = 'Default config' then end; procedure WotList_OnChange(Sender: TObject); begin if WoTList.Text = ExpandConstant('{cm:browse}') then begin WizardForm.DirBrowseButton.OnClick(nil); WotList_AddClient(WizardForm.DirEdit.Text); end; WOT_GetClientPathW(Buffer, 1024, WotList.ItemIndex); WizardForm.DirEdit.Text := Buffer; end; procedure AddButtonSelectComponent(); var SelectComponentButton: TNewButton; begin with WizardForm do begin SelectComponentButton := TNewButton.Create(WizardForm); SelectComponentButton.Width := ScaleX(145); SelectComponentButton.Left := TypesCombo.Left + TypesCombo.Width - SelectComponentButton.Width + ScaleX(1); SelectComponentButton.Top := TypesCombo.Top + TypesCombo.Height + ScaleX(15); SelectComponentButton.Height := CancelButton.Height; SelectComponentButton.Caption := ExpandConstant('{cm:SettingConfigurationBtn}'); SelectComponentButton.Parent := SelectComponentsLabel.Parent; end; end; function IsAppRunning(const FileName : AnsiString): Boolean; var FSWbemLocator: Variant; FWMIService : Variant; FWbemObjectSet: Variant; begin Result := False; FSWbemLocator := CreateOleObject('WBEMScripting.SWBEMLocator'); FWMIService := FSWbemLocator.ConnectServer('', 'root\CIMV2', '', ''); FWbemObjectSet := FWMIService.ExecQuery(Format('SELECT Name FROM Win32_Process Where Name="%s"', [FileName])); Result := (FWbemObjectSet.Count > 0); FWbemObjectSet := Unassigned; FWMIService := Unassigned; FSWbemLocator := Unassigned; end; function InitializeSetup(): Boolean; begin case IsAppRunning('WorldOfTanks.exe') of True: begin MsgBox(ExpandConstant('{cm:IsAppRunningLabel}'), mbError, MB_OK); Result := False; end; False: begin Result := True; end; end; end; procedure InitializeWizard(); begin InitializeWizard1(); InitializeWizard2(); InitializeWizard3(); RedesignWizardForm; //MsgBox('{cm:Path}', mbInformation, MB_OK); WizardForm.TypesCombo.OnChange := @TypesComboOnChange; SetLength(Buffer, 1024); WizardForm.DirEdit.Visible := False; WizardForm.DirEdit.Text := ''; WizardForm.DirBrowseButton.Visible := False; WotList := TNewComboBox.Create(WizardForm); WotList.Parent := WizardForm.DirEdit.Parent; WotList.Style := csDropDownList; WotList.OnChange := @WotList_OnChange; WotList.SetBounds( WizardForm.DirEdit.Left, WizardForm.DirEdit.Top, WizardForm.DirBrowseButton.Left + WizardForm.DirBrowseButton.Width, WizardForm.DirEdit.Height ); WotList_Update(); end; procedure CurPageChanged(CurPage: Integer); begin if (CurPage = wpSelectDir) then begin if WotList.ItemIndex = -1 then begin WotList.ItemIndex := 0; end; WotList.OnChange(nil); end; if (CurPage = wpSelectComponents) then AddButtonSelectComponent(); if (CurPage = wpFinished) then end; function NextButtonClick(CurPage: Integer): Boolean; begin Result := True; if (CurPage = wpSelectDir) then begin if not FileExists(ExpandConstant('{app}\WorldOfTanks.exe')) then begin MsgBox(ExpandConstant('{cm:wotNotFound}'), mbError, MB_OK); Result := False; Exit; end; end; end; Этот способ у меня не работает. Либо ключи в реестре устарели либо у меня игра как-то криво стоит. Но он не ищет не в какую. Даже на другом компьютере где клиент стоит правильно и с установщика он не ищет и оставляет пусть дефолтный. Но спасибо за помощь))) upd. Я решил проблему сам. Вопросов больше не имею. Спасибо @Qirashiза наталкивание на правильную мыслю
  7. Поиск пути установки. Сделал как в инсталляторе xvm. Где через комбобокс показывает все клиенты на пк. Возникла ошибка на скриншоте
  8. Еще хотел бы спросить вопрос. Хотел сделать поиск клиента через Combobox. Сделал. Теперь не компилируется. Вылазит такая кракозябра. Что делать? Код прилагается. Буду признателен ; Скрипт создан через Мастер Inno Setup Script. ; ИСПОЛЬЗУЙТЕ ДОКУМЕНТАЦИЮ ДЛЯ ПОДРОБНОСТЕЙ ИСПОЛЬЗОВАНИЯ INNO SETUP! #define MyAppName "Модпак от F1nder 1.18.0.0 - 0" #define MyAppVersion "0" #define MyAppPublisher "F1nder YT" #define MyAppURL "https://openvk.su/club2271" #define Patch "1.18.0.0" #include "BackUpPage.iss" #include "Components.iss" #include "faq.iss" #include "InnoExtensions.iss" [Setup] ; Примечание: Значение AppId идентифицирует это приложение. ; Не используйте одно и тоже значение в разных установках. ; (Для генерации значения GUID, нажмите Инструменты | Генерация GUID.) AppId={{CCA4D068-372F-45ED-AE39-C4A37A19D64C} AppName={#MyAppName} AppVersion={#MyAppVersion} ;AppVerName={#MyAppName} {#MyAppVersion} AppPublisher={#MyAppPublisher} AppPublisherURL={#MyAppURL} AppSupportURL={#MyAppURL} AppUpdatesURL={#MyAppURL} DefaultDirName=C:\ DefaultGroupName={#MyAppName} InfoAfterFile=C:\Users\A4ivi4\Desktop\modpack\author.rtf OutputBaseFilename=ModPack_by_F1nder_#0 - 1.18.0.0 SetupIconFile=C:\Users\A4ivi4\Desktop\modpack\Files\wot_ico.ico Compression=lzma2/ultra64 InternalCompressLevel=ultra64 SolidCompression=yes UninstallFilesDir={app}\F1nder_ModPack SetupLogging=yes DirExistsWarning=false CreateAppDir=true AppendDefaultDirName=false ShowLanguageDialog=true DisableProgramGroupPage=true Uninstallable=true DisableDirPage=false [Languages] Name: "default"; MessagesFile: "compiler:Default.isl" [CustomMessages] IsAppRunningLabel=Клиент игры World of Tanks в настоящее время запущен. Для подолжения установки необходимо закрыть клиент! wotNotFound=Клиент игры не был найден в этой папке. Установка невозможна Path=1.18.0.0 [Files] Source: "dll\xvmextensions.dll"; DestName: xvmextensions.dll; Flags: dontcopy; Source: "dll\bass.dll"; Flags: dontcopy; Source: "dll\unmerg_f.dll"; Flags: dontcopy; [Code] var WotList: TNewComboBox; Buffer: String; procedure WotList_Update(); var ClientsCount, Index, ListIndex: Integer; Str: String; begin ListIndex := WotList.ItemIndex; ClientsCount := WOT_GetClientsCount(); WotList.Items.Clear(); if ClientsCount > 0 then begin for Index := 0 to ClientsCount - 1 do begin WOT_GetClientVersionW(Buffer, 1024, Index); Str := Copy(Buffer, 0, Pos(#0, Buffer)); Insert(' [', Str, Pos(#0, Str)); case WOT_GetClientWgcFlavour(Index) of 1: Insert('WG/', Str, Pos(#0, Str)); 2: Insert('360/', Str, Pos(#0, Str)); 3: Insert('Steam/', Str, Pos(#0, Str)); end; case WOT_GetClientBranch(Index) of 1: Insert('Release', Str, Pos(#0, Str)); 2: Insert('CT', Str, Pos(#0, Str)); 3: Insert('ST', Str, Pos(#0, Str)); 4: Insert('SB', Str, Pos(#0, Str)); end; Insert('] - ', Str, Pos(#0, Str)); WOT_GetClientPathW(Buffer, 1024, Index); Insert(Buffer, Str, Pos(#0, Str)); WotList.Items.Add(Str); end; end; WotList.Items.Add(ExpandConstant('{cm:browse}')); WotList.ItemIndex := ListIndex; end; procedure WotList_AddClient(ClientPath: String); var Index: Integer; begin if Length(ClientPath) = 0 then begin WotList.ItemIndex := -1; Exit; end; Index := WOT_AddClientW(ClientPath); if Index >= 0 then begin WotList_Update(); WotList.ItemIndex := Index; end else begin MsgBox(ExpandConstant('{cm:wotNotFound}'), mbError, MB_OK); WotList.ItemIndex := -1; end; end; procedure WotList_OnChange(Sender: TObject); begin if WoTList.Text = ExpandConstant('{cm:browse}') then begin WizardForm.DirBrowseButton.OnClick(nil); WotList_AddClient(WizardForm.DirEdit.Text); end; WOT_GetClientPathW(Buffer, 1024, WotList.ItemIndex); WizardForm.DirEdit.Text := Buffer; end; function IsAppRunning(const FileName : AnsiString): Boolean; var FSWbemLocator: Variant; FWMIService : Variant; FWbemObjectSet: Variant; begin Result := False; FSWbemLocator := CreateOleObject('WBEMScripting.SWBEMLocator'); FWMIService := FSWbemLocator.ConnectServer('', 'root\CIMV2', '', ''); FWbemObjectSet := FWMIService.ExecQuery(Format('SELECT Name FROM Win32_Process Where Name="%s"', [FileName])); Result := (FWbemObjectSet.Count > 0); FWbemObjectSet := Unassigned; FWMIService := Unassigned; FSWbemLocator := Unassigned; end; function InitializeSetup(): Boolean; begin case IsAppRunning('WorldOfTanks.exe') of True: begin MsgBox(ExpandConstant('{cm:IsAppRunningLabel}'), mbError, MB_OK); Result := False; end; False: begin Result := True; end; end; end; procedure InitializeWizard(); begin InitializeWizard1(); InitializeWizard2(); InitializeWizard3(); RedesignWizardForm; //MsgBox('{cm:Path}', mbInformation, MB_OK); WizardForm.TypesCombo.OnChange := @TypesComboOnChange; SetLength(Buffer, 1024); WizardForm.DirEdit.Visible := False; WizardForm.DirEdit.Text := ''; WizardForm.DirBrowseButton.Visible := False; WotList := TNewComboBox.Create(WizardForm); WotList.Parent := WizardForm.DirEdit.Parent; WotList.Style := csDropDownList; WotList.OnChange := @WotList_OnChange; WotList.SetBounds( WizardForm.DirEdit.Left, WizardForm.DirEdit.Top, WizardForm.DirBrowseButton.Left + WizardForm.DirBrowseButton.Width, WizardForm.DirEdit.Height ); WotList_Update(); end; procedure CurPageChanged(CurPage: Integer); begin if (CurPage = wpSelectDir) then begin if WotList.ItemIndex = -1 then begin WotList.ItemIndex := 0; end; WotList.OnChange(nil); end; if (CurPage = wpSelectComponents) then AddButtonSelectComponent(); if (CurPage = wpFinished) then ApplySettings(); end; function NextButtonClick(CurPage: Integer): Boolean; begin Result := True; if (CurPage = wpSelectDir) then begin if not FileExists(ExpandConstant('{app}\WorldOfTanks.exe')) then begin MsgBox(ExpandConstant('{cm:wotNotFound}'), mbError, MB_OK); Result := False; Exit; end; end; end;
  9. Я не анализировал рынок. Но попробуй либо здесь сделать тему и тебе сами напишут либо спроси в теме у кого можно заказать))
  10. Там оно реализовано как-то через dll если я не ошибаюсь. Щас посмотрю. @Qirashi У Джова оно сделано через botva botva2.dll
  11. Ну дело вкуса. Попробуй поиском поработать по теме. Главное галку поставить искать по теме. И попробуй найти. Может кто-то уже сталкивался с проблемой
  12. IMHO. Не рекомендую данный сопособ. Если очень много модов у некоторых пользователей может залагать картинка и повесить весь установщик так что советую другой способ. Там и описание есть и все необходимоеКомпонентлист с превью.zip
  13. Добрый день, хотелось бы спросить одну вещь. Я облазил всю тему (наверное плохо искал) не подскажите как убрать эти отступы от краёв окна? Заранее спасибо за ответ
  14. Включить зеркалирование иконок. Если модпак оно должно быть включено. Если только мод там в конфиге включается
×
×
  • Create New...