Lom 48 #398571 Posted July 21, 2017 Спасибо! Как-то пропустил, все изи там , а я туплю) Только привязать к моему скрипту будет пот) Блин, фиг его под мой скрипт переделаешь! а через Tasks не вариант? ))) Quote Share this post Link to post Short link Share on other sites
shefer 7 #398579 Posted July 21, 2017 а через Tasks не вариант? ))) Твикер через него. Quote Share this post Link to post Short link Share on other sites
neorom 0 #398713 Posted July 23, 2017 Ищу все скрипты похожиє на fenixx Quote Share this post Link to post Short link Share on other sites
antonnotna 0 #400131 Posted August 7, 2017 Вот валялся старый скрипт с этого сайта уже и не помню кто и когда его мне давал... Хотя у КотяркО там настолько все просто и понятно, что просто ужас и уж если ты не смог с его пака выдернуть, то учи все заново и читай справку, и этот скрипт тебе не поможет, т.к. его то же надо знать как и куда сунуть... #define GameName "Sacred" #define modpack_versionInfo "101" [Setup] AppName={#GameName} AppVerName={#GameName} DefaultDirName={pf}\{#GameName} AppPublisher=troyan [Languages] Name: "russian"; MessagesFile: "compiler:Languages\Russian.isl" [CustomMessages] russian.Modpack=Модпак russian.SupportForum=Тема на koreanrandom.com russian.ForumLink=http://www.koreanrandom.com russian.UpdatedLabel=Обновлено: russian.WOT_version=Версия WOT: russian.modpack_version=Версия модпака: russian.installer_version=wotunion installer russian.CheckingActualModpackVersionLabel=Проверка обновлений модпака... russian.CannotCheckUpdate=Ошибка при проверке обновлений. Далее - для установки russian.NoUpdates=Обновлений не найдено. Далее - для установки russian.ErrorWhileOpeningUpdatePage=Ошибка при переходе на страницу загрузки russian.AllIsReadyForInstall=Все готово для установки. Нажмите Далее для продолжения russian.UpdateFound=найдено russian.httpVersion=http://proreduceri.tk/version.txt russian.httpMsg=http://proreduceri.tk/msg.txt russian.WOT_NotFound=Клиент World of Tanks не обнаружен. Установка будет прервана. russian.for=для russian.CheckAccess=Установка невозможна. Проверьте наличие прав доступа к файлам и папкам установленного клиента World of Tanks, закройте программы, которые используют папки и/или файли клиента World of Tanks, или запустите инсталлятор модпака с правами администратора. russian.MustUninstallBefore=Установка невозможна. Воспользуйтесь деинсталлятором модпака для удаления предыдущей установки модпака (Пуск - Программы - wotunion modpack - Удалить wotunion modpack). russian.NewVersionFound=Доступна новая версия модпака: russian.GoToLink=Перейти по ссылке в браузере для загрузки ? russian.CheckAccessUninstall=Деинсталляция невозможна. Проверьте наличие прав доступа к файлам и папкам установленного клиента World of Tanks закройте программы, которые используют папки и/или файлы клиента World of Tanks, или запустите деинсталлятор модпака с правами администратора. [Code] var CheckingActualModpackVersionLabel: TLabel; WelcomePageID: Integer; ActualVersion: String; ActualVersionLongint: Longint; InstallVersionLongint: Longint; ActualVersionMsg: String; ReadyToInstall: Boolean; TerminateInstall: Boolean; function DownloadFile(const AURL: string; var AResponse: string): Boolean; var WinHttpRequest: Variant; begin Result := False; try WinHttpRequest := CreateOleObject('WinHttp.WinHttpRequest.5.1'); WinHttpRequest.Open('GET', AURL, False); WinHttpRequest.Send; AResponse := WinHttpRequest.ResponseText; Case WinHttpRequest.Status of '200': begin Result := True; end; end; except ReadyToInstall:=True; AResponse := GetExceptionMessage; CheckingActualModpackVersionLabel.Caption:=ExpandConstant('{cm:CannotCheckUpdate}'); Result := False; end; end; procedure CurPageChanged(CurPageID: Integer); begin if CurPageID = wpSelectDir then begin end; WizardForm.InnerNotebook.Visible := CurPageID <> WelcomePageID; end; function Form_CreatePage(PreviousPageId: Integer): Integer; var Page: TWizardPage; begin Page := CreateCustomPage(PreviousPageId, '', ''); WelcomePageID := Page.ID; CheckingActualModpackVersionLabel := TLabel.Create(WizardForm); with CheckingActualModpackVersionLabel do begin Parent := WizardForm.InnerPage; Visible:=True; Left := ScaleX(5); Top := ScaleY(292); Font.Color:= clBlack; end; Result := Page.ID; end; Procedure ForumLinkOnClick (Sender: TObject); var ErrorCode: Integer; Begin ShellExec ('open', ExpandConstant('{cm:ForumLink}'),'','', SW_SHOWNORMAL, ewNoWait, ErrorCode); end; procedure InitializeWizard(); begin Form_CreatePage(wpWelcome); with WizardForm.PageDescriptionLabel do begin Visible := False; end; with WizardForm.PageNameLabel do begin Visible := False; end; end; function CheckUpdates():Boolean; var ErrorCode: Integer; begin if ReadyToInstall=False then begin CheckingActualModpackVersionLabel.Visible:=True; CheckingActualModpackVersionLabel.Caption := ExpandConstant('{cm:CheckingActualModpackVersionLabel}'); if ((DownloadFile(ExpandConstant('{cm:httpVersion}'), ActualVersion)=True) and (DownloadFile(ExpandConstant('{cm:httpMsg}'), ActualVersionMsg)=True)) then begin if (StrToIntDef(ActualVersion, ActualVersionLongint)) > (StrToIntDef('{#modpack_versionInfo}', InstallVersionLongint)) then begin CheckingActualModpackVersionLabel.Caption := CheckingActualModpackVersionLabel.Caption + ExpandConstant('{cm:UpdateFound}'); if MsgBox(ExpandConstant('{cm:NewVersionFound}') + ActualVersionMsg + ExpandConstant('{cm:GoToLink}'), mbConfirmation, MB_YESNO) = IDYES then begin If not ShellExec('', ExpandConstant('{cm:ForumLink}'), '', '', SW_SHOW, ewNoWait, ErrorCode) then begin CheckingActualModpackVersionLabel.Caption:=ExpandConstant('{cm:ErrorWhileOpeningUpdatePage}'); ReadyToInstall:=True; Result:=False; end else begin Result:=False; TerminateInstall:=True; WizardForm.Close; end; end else begin CheckingActualModpackVersionLabel.Caption:=ExpandConstant('{cm:AllIsReadyForInstall}'); ReadyToInstall:=True; Result:=False; end; end else begin CheckingActualModpackVersionLabel.Caption:=ExpandConstant('{cm:NoUpdates}'); ReadyToInstall:=True; Result:=False; end; end else begin CheckingActualModpackVersionLabel.Caption:=ExpandConstant('{cm:CannotCheckUpdate}'); ReadyToInstall:=True; Result:=False; end; end else begin Result:=True; end; end; function NextButtonClick(CurPageID: Integer): Boolean; begin if CurPageID <> WelcomePageID then begin Result:=True; end else begin Result:=CheckUpdates; end; end; procedure CancelButtonClick(CurPageID: Integer; var Cancel, Confirm: Boolean); begin if ((CurPageID=WelcomePageID) and (TerminateInstall=True)) then Confirm := False; end; Скачай не модпак его, а исходники, я же выше ссылку дал на исходники и модпак, так не модпак, а исходники скачай, там все скрипты лежат, только без модов вот и все!!! Это хичкок какой-то!!! (шутка). Менять надо прямо в инно? Quote Share this post Link to post Short link Share on other sites
sergy2010 24 #401253 Posted August 20, 2017 не кто не знает как такое реализовать такой прогресс бар Quote Share this post Link to post Short link Share on other sites
AtotIK 580 #401322 Posted August 21, 2017 Менять картинку в зависимости от %. Quote Share this post Link to post Short link Share on other sites
Lom 48 #401356 Posted August 22, 2017 всем привет. вопрос на счет хвм а точнее вопрос про подмены конфигов. можно как то сделать чтобы на лету конфиг править а не просто с заменой файлов? а то с заменой если делать, ваще какая то лажа получается ( Quote Share this post Link to post Short link Share on other sites
sergy2010 24 #401398 Posted August 22, 2017 (edited) Менять картинку в зависимости от %. умел бы я вот и хочу от вас научится Edited August 22, 2017 by sergy2010 Quote Share this post Link to post Short link Share on other sites
AtotIK 580 #401424 Posted August 23, 2017 (edited) всем привет. вопрос на счет хвм а точнее вопрос про подмены конфигов. можно как то сделать чтобы на лету конфиг править а не просто с заменой файлов? а то с заменой если делать, ваще какая то лажа получается ( Можно конечно, даже нужно. Что-то типа того: function XVMConfigEdit(XCName, OldXCValue, NewXCValue: String): Boolean; var XVMConfig: TStringList; XVMSetStr: TArrayOfString; XVMConfigDir, FileName, Tmp: String; begin XVMConfigDir:=ExpandConstant('{app}\res_mods\configs\xvm\default\'); FileName:=XVMConfigDir + XCName; If FileExists(FileName) then begin XVMConfig:=TStringList.Create; try XVMConfig.LoadFromFile(XVMConfigDir + XCName); Tmp:=XVMConfig.Text; StringChange(Tmp, OldXCValue, NewXCValue); XVMConfig.Text:=Tmp; XVMConfig.SaveToFile(XVMConfigDir + XCName); LoadStringsFromFile(XVMConfigDir + XCName, XVMSetStr); SaveStringsToUTF8File(XVMConfigDir + XCName, XVMSetStr, False); finally XVMConfig.Free; end; end; end; procedure XVMConfigCheck(); begin If IsComponentSelected('XVM\Spotted') then begin XVMConfigEdit('battle.xc', '"allowSpottedStatus": false,', '"allowSpottedStatus": true,'); end; end; procedure CurStepChanged(CurStep: TSetupStep); begin If CurStep = ssPostInstall then begin XVMConfigCheck(); end; end; умел бы я вот и хочу от вас научится Нет времени разбираться, что-то похожее нужно будет делать, только привязать это к % установки. Вообще примеры в "ентых самых ентернетах" точно есть. ///// ----- SlideShow - Begin ----- ///// type TimerProc = procedure(Sender: TObject); var SlidePanel: TPanel; CurrentImage: Integer; AImg: array of Longint; function CallbackAddr(Callback: TimerProc; 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'; procedure SlideOnTimer(Sender: TObject); begin ImgSetVisibility(AImg[CurrentImage],False); CurrentImage:=CurrentImage + 1; If CurrentImage > GetArrayLength(AImg) - 1 then CurrentImage:=0; ImgSetVisibility(AImg[CurrentImage], True); ImgApplyChanges(SlidePanel.Handle); end; procedure SlideCreate(); begin SlidePanel:=TPanel.Create(WizardForm); with SlidePanel do begin Parent:=WizardForm; SetBounds(ScaleX(6), ScaleY(6), ScaleX(688), ScaleY(312)); BevelInner:=bvNone; BevelOuter:=bvNone; end; CurrentImage:=0; SetArrayLength(AImg, 20); AImg[0]:=ImgLoad(SlidePanel.Handle, ExpandConstant('{tmp}\SlideShowImage_0.jpg'), ScaleX(0), ScaleY(0), ScaleX(0), ScaleY(0), False, True); AImg[1]:=ImgLoad(SlidePanel.Handle, ExpandConstant('{tmp}\SlideShowImage_1.jpg'), ScaleX(0), ScaleY(0), ScaleX(0), ScaleY(0), False, True); AImg[2]:=ImgLoad(SlidePanel.Handle, ExpandConstant('{tmp}\SlideShowImage_2.jpg'), ScaleX(0), ScaleY(0), ScaleX(0), ScaleY(0), False, True); AImg[3]:=ImgLoad(SlidePanel.Handle, ExpandConstant('{tmp}\SlideShowImage_3.jpg'), ScaleX(0), ScaleY(0), ScaleX(0), ScaleY(0), False, True); AImg[4]:=ImgLoad(SlidePanel.Handle, ExpandConstant('{tmp}\SlideShowImage_4.jpg'), ScaleX(0), ScaleY(0), ScaleX(0), ScaleY(0), False, True); AImg[5]:=ImgLoad(SlidePanel.Handle, ExpandConstant('{tmp}\SlideShowImage_5.jpg'), ScaleX(0), ScaleY(0), ScaleX(0), ScaleY(0), False, True); AImg[6]:=ImgLoad(SlidePanel.Handle, ExpandConstant('{tmp}\SlideShowImage_6.jpg'), ScaleX(0), ScaleY(0), ScaleX(0), ScaleY(0), False, True); AImg[7]:=ImgLoad(SlidePanel.Handle, ExpandConstant('{tmp}\SlideShowImage_7.jpg'), ScaleX(0), ScaleY(0), ScaleX(0), ScaleY(0), False, True); AImg[8]:=ImgLoad(SlidePanel.Handle, ExpandConstant('{tmp}\SlideShowImage_8.jpg'), ScaleX(0), ScaleY(0), ScaleX(0), ScaleY(0), False, True); AImg[9]:=ImgLoad(SlidePanel.Handle, ExpandConstant('{tmp}\SlideShowImage_9.jpg'), ScaleX(0), ScaleY(0), ScaleX(0), ScaleY(0), False, True); AImg[10]:=ImgLoad(SlidePanel.Handle, ExpandConstant('{tmp}\SlideShowImage_10.jpg'), ScaleX(0), ScaleY(0), ScaleX(0), ScaleY(0), False, True); AImg[11]:=ImgLoad(SlidePanel.Handle, ExpandConstant('{tmp}\SlideShowImage_11.jpg'), ScaleX(0), ScaleY(0), ScaleX(0), ScaleY(0), False, True); AImg[12]:=ImgLoad(SlidePanel.Handle, ExpandConstant('{tmp}\SlideShowImage_12.jpg'), ScaleX(0), ScaleY(0), ScaleX(0), ScaleY(0), False, True); AImg[13]:=ImgLoad(SlidePanel.Handle, ExpandConstant('{tmp}\SlideShowImage_13.jpg'), ScaleX(0), ScaleY(0), ScaleX(0), ScaleY(0), False, True); AImg[14]:=ImgLoad(SlidePanel.Handle, ExpandConstant('{tmp}\SlideShowImage_14.jpg'), ScaleX(0), ScaleY(0), ScaleX(0), ScaleY(0), False, True); AImg[15]:=ImgLoad(SlidePanel.Handle, ExpandConstant('{tmp}\SlideShowImage_15.jpg'), ScaleX(0), ScaleY(0), ScaleX(0), ScaleY(0), False, True); AImg[16]:=ImgLoad(SlidePanel.Handle, ExpandConstant('{tmp}\SlideShowImage_16.jpg'), ScaleX(0), ScaleY(0), ScaleX(0), ScaleY(0), False, True); AImg[17]:=ImgLoad(SlidePanel.Handle, ExpandConstant('{tmp}\SlideShowImage_17.jpg'), ScaleX(0), ScaleY(0), ScaleX(0), ScaleY(0), False, True); AImg[18]:=ImgLoad(SlidePanel.Handle, ExpandConstant('{tmp}\SlideShowImage_18.jpg'), ScaleX(0), ScaleY(0), ScaleX(0), ScaleY(0), False, True); AImg[19]:=ImgLoad(SlidePanel.Handle, ExpandConstant('{tmp}\SlideShowImage_19.jpg'), ScaleX(0), ScaleY(0), ScaleX(0), ScaleY(0), False, True); ImgSetVisibility(AImg[1], False); ImgSetVisibility(AImg[2], False); ImgSetVisibility(AImg[3], False); ImgSetVisibility(AImg[4], False); ImgSetVisibility(AImg[5], False); ImgSetVisibility(AImg[6], False); ImgSetVisibility(AImg[7], False); ImgSetVisibility(AImg[8], False); ImgSetVisibility(AImg[9], False); ImgSetVisibility(AImg[10], False); ImgSetVisibility(AImg[11], False); ImgSetVisibility(AImg[12], False); ImgSetVisibility(AImg[13], False); ImgSetVisibility(AImg[14], False); ImgSetVisibility(AImg[15], False); ImgSetVisibility(AImg[16], False); ImgSetVisibility(AImg[17], False); ImgSetVisibility(AImg[18], False); ImgSetVisibility(AImg[19], False); ImgApplyChanges(SlidePanel.Handle); end; procedure SlideChange(CurPageID: Integer); begin if CurPageID = wpInstalling then begin SetTimer(WizardForm.Handle, 1, 10000, CallbackAddr(@SlideOnTimer, 0)); end; end; ///// ----- SlideShow - End ----- ///// procedure CurPageChanged(CurPageID: Integer); begin SlideChange(CurPageID); end; Edited August 23, 2017 by AtotIK 1 Quote Share this post Link to post Short link Share on other sites
Lom 48 #401426 Posted August 23, 2017 (edited) Можно конечно, даже нужно. Что-то типа того: А в секции компонент что нужно писать исходя из данного примера? Edited August 23, 2017 by ЛОМ Quote Share this post Link to post Short link Share on other sites
AtotIK 580 #401462 Posted August 23, 2017 А в секции компонент что нужно писать исходя из данного примера? Указать название компонента в XVMConfigCheck(). 2 Quote Share this post Link to post Short link Share on other sites
Lom 48 #401465 Posted August 23, 2017 (edited) Указать название компонента в XVMConfigCheck(). я так и подумал и так сделал но что то он не заводится... P/S... завелась. XVMConfigCheck(). просто нужно было в самый конец процедуры вписать )) AtotIK спасибо большое! Edited August 24, 2017 by ЛОМ Quote Share this post Link to post Short link Share on other sites
Lom 48 #401504 Posted August 24, 2017 (edited) еще вопрос. а в таком варианте как нужно вписать? "camera": { // false - disable camera settings. // false - отключить настройки камеры. "enabled": true, // true - disable red flash when enemy hit your tank. // true - отключить красную вспышку когда враг попадает по вам. "noFlashBang": false, // true - hide the tips about switching to siege mode and aiming mode changing in strategic mode. // true - скрыть подсказки перехода в осадный режим и смены режима прицеливания в стратегическом режиме. "hideHint": false, // Arcade mode // Аркадный режим "arcade": { // Camera distance range: [min, max], default - [2, 25] // Отдаление камеры: [мин, макс], по умолчанию - [2, 25] "distRange": [2, 150], // Start distance (null for default behavior - saved state from the last battle) // Начальная дистанция (null для поведения по умолчанию - сохраненная позиция из последнего боя) "startDist": null, // Чувствительность прокрутки (default = 5) // Scroll sensitivity (по умолчанию = 5) "scrollSensitivity": 5, // false - disable the shot recoil effect (for the enabled dynamic camera option) // false - выключить эффект отдачи от выстрела (для включенной опции динамической камеры) "shotRecoilEffect": true }, // Postmortem mode // Режим после смерти "postmortem": { // Camera distance range: [min, max], default - [2, 25] // Отдаление камеры: [мин, макс], по умолчанию - [2, 25] "distRange": [2, 55], // Start distance (null for default behavior - maximum distance) // Начальная дистанция (null для поведения по умолчанию - максимальная дистанция) "startDist": null, // Чувствительность прокрутки (default = 5) // Scroll sensitivity (по умолчанию = 5) "scrollSensitivity": 5, // false - disable the shot recoil effect (for the enabled dynamic camera option) // false - выключить эффект отдачи от выстрела (для включенной опции динамической камеры) "shotRecoilEffect": true тут в одном файле два одинаковых как бы пункта. как в скрипте прописать именно к аркаде к примеру? procedure XVMConfigCheck(); begin If IsComponentSelected('XVM\camera') then begin XVMConfigEdit('camera.xc', '"shotRecoilEffect": false,', '"shotRecoilEffect": true,'); end; end; если так то он меняет в обоих пунктах Edited August 24, 2017 by ЛОМ Quote Share this post Link to post Short link Share on other sites
AtotIK 580 #401541 Posted August 24, 2017 Привязать еще и к верхней строке. Quote Share this post Link to post Short link Share on other sites
Lom 48 #401554 Posted August 25, 2017 Привязать еще и к верхней строке. это понятно, но как? )) разжуй пожалуйста ))) Quote Share this post Link to post Short link Share on other sites
AtotIK 580 #401635 Posted August 26, 2017 это понятно, но как? )) разжуй пожалуйста ))) FileName_34a:=ExpandConstant('{app}\{#ConfigDir}\playersPanel.xc'); OldText_34a:='//${"def.TanksHPAlly_Short_Bg"},' #13#10 ' //${"def.TanksHPAlly_Short"},'; NewText_34a:='${"def.TanksHPAlly_Short_Bg"},' #13#10 ' ${"def.TanksHPAlly_Short"},'; XVMConfigEdit(FileName_34a, OldText_34a, NewText_34a); 1 Quote Share this post Link to post Short link Share on other sites
antonnotna 0 #402761 Posted September 2, 2017 Приветствую всех! Мог-бы кто-нибудь за определенную плату собрать модпак из этих исходников https://bitbucket.org/Kotyarko_O/kmp/downloads/ О цене и остальных деталях писать в личку. (могу дать жабу , если надо) Quote Share this post Link to post Short link Share on other sites
13 3,395 #402767 Posted September 2, 2017 @antonnotna, попробуйте обратиться к его автору: @Kotyarko_O Quote Share this post Link to post Short link Share on other sites
antonnotna 0 #402779 Posted September 2, 2017 @antonnotna, попробуйте обратиться к его автору: @Kotyarko_O Ни подскажете контакты его? Quote Share this post Link to post Short link Share on other sites
13 3,395 #402785 Posted September 2, 2017 @antonnotna, 2 Quote Share this post Link to post Short link Share on other sites