-
Posts
42 -
Joined
-
Last visited
Posts posted by Prost
-
-
Здравствуйте, не подскажите, можно ли например в прицел вшить скорость полёта снаряда и остаток броне пробития всё в 1 файл? Как можно это сделать?
-
Этого определённо достаточно хД.
Читай в справке про секцию [Files].
спс всё получилось, но как сделать что бы он определял какая ссылка, к тому или иному компоненту относится. Вот такой скрипт
procedure InitializeWizard();
begin
itd_init;
//Let's download two zipfiles from my website..
itd_addfile('http://www.sherlocksoftware.org/petz/files/dogz5.zip,expandconstant({tmp}\dogz5.zip'));
itd_addfile('http://www.sherlocksoftware.org/petz/files/petz4.zip,expandconstant({tmp}\petz4.zip'));
//Start the download after the "Ready to install" screen is shown
itd_downloadafter(wpReady);
end;
procedure CurStepChanged(CurStep: TSetupStep);
begin
if CurStep=ssInstall then begin //Lets install those files that were downloaded for us
filecopy(expandconstant('{tmp}\dogz5.zip'),expandconstant('{app}\dogz5.zip'),false);
filecopy(expandconstant('{tmp}\petz4.zip'),expandconstant('{app}\petz4.zip'),false);
end;
end;
-
Мая есть не уметь пользоваться переводчик.
как он может быть не найден если он в одной папке с прогой
-
-
MainLabel:= TLabel.Create(WizardForm); with MainLabel do begin ... Caption:= #9 + 'Вас приветствует мастер установки' + #9#9 + '«MEDNIKs MODPACK»' + #9#9 + 'для патча 0.9.5'; end;
Приблизительно так.
Это Юникод. А ресурс ты взял от Анси.
а какая тогда мне нужна версия? такая же но анси?
-
@Prost, ты, видимо, даже не знаешь, какая у тебя версия компилятора. Потому что ресурс ты взял для версии иной от твоей.
5.5.1 u
-
-
А с чего ты взял, что ругается на ссылку?
Ресурс (idp.iss) вообще подключён?
вот это?
procedure ITD_Cancel;external 'itd_cancel@files:itdownload.dll stdcall';
procedure ITD_ClearFiles;
external 'itd_clearfiles@files:itdownload.dll stdcall';
function ITD_DownloadFile(url: PChar; destfilename: PChar): integer;
external 'itd_downloadfile@files:itdownload.dll stdcall';
function ITD_GetResultLen: integer;
external 'itd_getresultlen@files:itdownload.dll stdcall';
procedure ITD_GetResultString(buffer: pchar; maxlen: integer);
external 'itd_getresultstring@files:itdownload.dll stdcall';
procedure ITD_Internal_InitUI(HostHwnd: dword);
external 'itd_initui@files:itdownload.dll stdcall';
function ITD_Internal_LoadStrings(filename: PChar): boolean;
external 'itd_loadstrings@files:itdownload.dll stdcall';
procedure ITD_Internal_SetOption(option, value: PChar);
external 'itd_setoption@files:itdownload.dll stdcall';
function ITD_Internal_GetFileSize(url: pchar; var size: Cardinal): boolean;
external 'itd_getfilesize@files:itdownload.dll stdcall';
function ITD_Internal_GetString(index: integer): boolean;
external 'itd_getstring@files:itdownload.dll stdcall';
function ITD_Internal_GetOption(option: PChar; buffer: PChar; length: integer): integer;
external 'itd_getoption@files:itdownload.dll stdcall';
procedure ITD_Internal_SetString(index: integer; value: PChar);
external 'itd_setstring@files:itdownload.dll stdcall';
procedure ITD_Internal_AddFile(url: PChar; destfilename: PChar);
external 'itd_addfile@files:itdownload.dll stdcall';
procedure ITD_Internal_AddMirror(url: PChar; destfilename: PChar);
external 'itd_addmirror@files:itdownload.dll stdcall';
procedure ITD_Internal_AddFileSize(url: PChar; destfilename: PChar; size: integer);
external 'itd_addfilesize@files:itdownload.dll stdcall';
function ITD_Internal_DownloadFiles(surface: hwnd): integer;
external 'itd_downloadfiles@files:itdownload.dll stdcall';
function ITD_FileCount: integer;
external 'itd_filecount@files:itdownload.dll stdcall';
function ITD_Internal_PostPage(url, buffer: PChar; length: integer): boolean;
external 'itd_postpage@files:itdownload.dll stdcall';
const
ITDERR_SUCCESS = 0;
ITDERR_USERCANCEL = 1;
ITDERR_ERROR = 3;
{Constants for Language String indexes:}
ITDS_DownloadFailed = 104;
ITDS_TitleCaption = 200;
ITDS_TitleDescription = 201;
ITDS_MessageFailRetryContinue = 250;
ITDS_MessageFailRetry = 251;
ITDS_Retry = 502;
{Constants for language strings of updater example}
ITDS_Update_Caption = 600;
ITDS_Update_Description = 601;
ITDS_Update_Checking = 602;
ITDS_Update_NewAvailable = 603;
ITDS_Update_NoNewAvailable = 604;
ITDS_Update_WantToCheck = 605;
ITDS_Update_Failed = 606;
ITDS_Update_WillLaunch = 607;
ITDS_Update_WillLaunchWithPath = 608;
ITD_Event_DownloadPageEntered = 1;
ITD_Event_DownloadPageLeft = 2;
ITD_Event_DownloadFailed = 3;
var
itd_allowcontinue: boolean;
itd_retryonback: boolean;
ITD_AfterSuccess: procedure(downloadPage: TWizardPage);
ITD_EventHandler: procedure(event: integer);
procedure ITD_DownloadFiles();
begin
ITD_Internal_DownloadFiles(0);
end;
procedure ITD_AddFile(const URL, filename: string);
begin
ITD_Internal_AddFile(URL, filename);
end;
procedure ITD_AddMirror(const URL, filename: string);
begin
ITD_Internal_AddMirror(URL, filename);
end;
procedure ITD_AddFileSize(const URL, filename: string; size: integer);
begin
ITD_Internal_AddFileSize(URL, filename, size);
end;
function ITD_HandleSkipPage(sender: TWizardPage): boolean;
begin
result := (itd_filecount = 0);
end;
procedure ITD_SetString(index: integer; value: string);
begin
itd_internal_setstring(index, value);
end;
function ITD_GetFileSize(const url: string; var size: cardinal): boolean;
begin
result := itd_internal_getfilesize(PChar(url), size);
end;
function ITD_LoadStrings(const filename: string): boolean;
begin
result := itd_internal_loadstrings(filename);
end;
function ITD_GetString(index: integer): string;
begin
itd_internal_getstring(index);
setlength(result, ITD_GetResultLen);
ITD_GetResultString(PChar(result), length(result));
end;
procedure ITD_NowDoDownload(sender: TWizardPage);
var err: integer;
begin
wizardform.backbutton.enabled := false;
wizardform.nextbutton.enabled := false;
sender.caption := ITD_GetString(ITDS_TitleCaption);
sender.description := ITD_GetString(ITDS_TitleDescription);
err := ITD_Internal_DownloadFiles(sender.surface.handle);
case err of
ITDERR_SUCCESS: begin
wizardform.nextbutton.enabled := true;
wizardform.nextbutton.onclick(nil);
if itd_aftersuccess <> nil then
itd_aftersuccess(sender);
end;
ITDERR_USERCANCEL: ; //Don't show a message, this happens on setup close and cancel click
else begin
//Some unexpected error, like connection interrupted
wizardform.backbutton.caption := ITD_GetString(ITDS_Retry);
wizardform.backbutton.enabled := true;
wizardform.backbutton.show();
itd_retryonback := true;
wizardform.nextbutton.enabled := itd_allowcontinue;
if ITD_EventHandler <> nil then
ITD_EventHandler(ITD_Event_DownloadFailed);
if itd_allowcontinue then begin //Download failed, we can retry, continue, or exit
sender.caption := ITD_GetString(ITDS_DownloadFailed);
sender.description := ITD_GetString(ITDS_MessageFailRetryContinue);
MsgBox(ITD_GetString(ITDS_MessageFailRetryContinue), mbError, MB_OK)
end else begin //Download failed, we must retry or exit setup
sender.caption := ITD_GetString(ITDS_DownloadFailed);
sender.description := ITD_GetString(ITDS_MessageFailRetry);
MsgBox(ITD_GetString(ITDS_MessageFailRetry), mbError, MB_OK)
end;
end;
end;
end;
procedure ITD_HandleShowPage(sender: TWizardPage);
begin
wizardform.nextbutton.enabled := false;
wizardform.backbutton.hide();
if ITD_EventHandler <> nil then
ITD_EventHandler(ITD_Event_DownloadPageEntered);
itd_nowdodownload(sender);
end;
function ITD_HandleBackClick(sender: TWizardpage): boolean;
begin
result := false;
if itd_retryonback then begin
itd_retryonback := false;
wizardform.backbutton.hide();
itd_nowdodownload(sender);
end;
end;
function ITD_HandleNextClick(sender: TWizardpage): boolean;
begin
if ITD_EventHandler <> nil then
ITD_EventHandler(ITD_Event_DownloadPageLeft);
result := true;
end;
procedure ITD_Init;
begin
//Currently a NOP. Don't count on it in future.
end;
function ITD_PostPage(const url, data: string; out response: string): boolean;
begin
result := ITD_Internal_PostPage(PChar(url), PChar(data), length(data));
if result then begin
setlength(response, ITD_GetResultLen);
ITD_GetResultString(PChar(response), length(response));
end;
end;
function ITD_DownloadAfter(afterID: integer): TWizardPage;
var itd_downloadPage: TWizardPage;
begin
itd_downloadpage := CreateCustomPage(afterID, ITD_GetString(ITDS_TitleCaption), ITD_GetString(ITDS_TitleDescription));
itd_downloadpage.onactivate := @itd_handleshowpage;
itd_downloadpage.onshouldskippage := @itd_handleskippage;
itd_downloadpage.onbackbuttonclick := @itd_handlebackclick;
itd_downloadpage.onnextbuttonclick := @itd_handlenextclick;
itd_internal_initui(itd_downloadpage.surface.handle);
result := itd_downloadpage;
end;
procedure ITD_SetOption(const option, value: string);
begin
//The options which call ITD_SetString are depreciated, use ITD_SetString directly
if comparetext(option, 'UI_Caption') = 0 then
ITD_SetString(ITDS_TitleCaption, value)
else if comparetext(option, 'UI_Description') = 0 then
ITD_SetString(ITDS_TitleDescription, value)
else if comparetext(option, 'UI_FailMessage') = 0 then
ITD_SetString(ITDS_MessageFailRetry, value)
else if comparetext(option, 'UI_FailOrContinueMessage') = 0 then
ITD_SetString(ITDS_MessageFailRetryContinue, value)
else if comparetext(option, 'UI_AllowContinue') = 0 then
ITD_AllowContinue := (value = '1')
else
ITD_Internal_SetOption(option, value);
end;
function ITD_GetOption(const option: string): string;
begin
setlength(result, 500);
setlength(result, itd_internal_getoption(pchar(option), pchar(result), length(result)));
end;
-
-
Ну а что ещё?
Я понял, спс большое
-
Хз, как в других браузерах, но в мозилле есть удобный инспектор, в котором можно легко вытащить ссылки:
у меня яндекс браузер. здесь есть что то типа этого но "Просмотреть код элемента". Нужно посмотреть код(ссылку) из той кнопки которая сделана ссылкой?
-
Можно.
Покажи как создан этот лейбл.
только прямая ссылка
файлообменики не помогут
спс. И ещё вот например я зашёл на сайт. мне нужно кинуть просто ссылку или что то сделать что бы скачивался тот файл который нужен. Например зашёл на сайт , а там несколько ссылок на программу, но они сделаны в виде надписи (для примера вот этот сайт http://qiqer.ru/emulyatory-java-dlya-zapuska-na-kompyutere.html)
-
75 стр смотри
/// --- UnPack Begin --- ///procedure ExtractResources();
var
ResultCode: Integer;
begin
ExtractTemporaryFile('7zA.exe');
CreateDir(ExpandConstant('{app}\7zA_Files'));
CreateDir(ExpandConstant('{app}\res_mods'));
FileCopy(ExpandConstant('{tmp}\7zA.exe'), ExpandConstant('{app}\7zA_Files\7zA.exe'), False);
If (IsComponentSelected('Bla\1')) and (FileExists(ExpandConstant('{app}\hangar_1.7z'))) then
begin
Exec(ExpandConstant('{app}\7zA_Files\7zA.exe'), 'x -y ..\hangar_1.7z -o..\res_mods', '', SW_Hide, ewWaitUntilTerminated, ResultCode);
DeleteFile(ExpandConstant('{app}\hangar_1.7z'));
end;
If (IsComponentSelected('Bla\2')) and (FileExists(ExpandConstant('{app}\hangar_2.7z'))) then
begin
Exec(ExpandConstant('{app}\7zA_Files\7zA.exe'), 'x -y ..\hangar_2.7z -o..\res_mods', '', SW_Hide, ewWaitUntilTerminated, ResultCode);
DeleteFile(ExpandConstant('{app}\hangar_2.7z'));
end;
DelTree(ExpandConstant('{app}\7zA_Files'), True, True, True);
end;
procedure CurStepChanged(CurStep: TSetupStep);
begin
If CurStep=ssDone then
begin
ExtractResources();
end;
end;
/// --- UnPack End --- ///
procedure CurPageChanged(CurPageID: Integer);begin
if CurPageID = wpInstalling then
begin
if IsComponentSelected('Bla\1') then
begin
idpAddFile('http://www.com/hangar_1.7z' ExpandConstant('{app}\hangar_1.7z'));
end;
if IsComponentSelected('Bla\2') then
begin
idpAddFile('http://www.com/hangar_2.7z' ExpandConstant('{app}\hangar_2.7z'));
end;
end;
end;
procedure InitializeWizard();
begin
idpDownloadAfter(wpInstalling);
end;
75 стр смотри
и ещё вопрос. если я загрузил архив на яндекс диск, то как мне вставлять ссылку? или же на других сайтах
-
Установка плагина - это всего-лишь распаковка файлов в какую-то папку. Только этого мало.
В папке с установленным плагином есть примеры его использования.
Function NextButtonClick(CurPageID: Integer): Boolean; begin Result := True; case CurPageID of wpSelectDir: begin if not FileExists(ExpandConstant('{app}\WorldOfTanks.exe')) then begin MsgBox('Установка модов невозможна, так как по выбранному пути отсутствует клиент игры World of Tanks. Выберите правильный путь и продолжайте установку!', mbError, MB_OK); Result := False; end; if FileExists(ExpandConstant('{app}')+'\WorldOfTanks.exe') then begin if FileVersion(ExpandConstant('{app}')+'\WorldOfTanks.exe') < '{#Patch}' then begin MsgBoxEx(WizardForm.Handle, 'Моды не будут работать на данной версии игры! Моды предназначены для версии патча {#Patch} ', 'Моды не подходят к данному патчу World of Tanks', MB_OK or MB_ICONWARNING, 0, 0); Result:= false; end; end; end; wpSelectComponents: begin if WizardSelectedComponents(False) = '' then begin MsgBox('Ни один из компонентов не выбран!', mbInformation, MB_OK); Result:= False; end; end; end; end;
Я выбрал 1 экзепляр
#define MyAppName "My Program"#define MyAppVerName "My Program 1.5"
#define MyAppPublisher "My Company, Inc."
#define MyAppURL "http://www.mycompany.com"
[setup]
AppName={#MyAppName}
AppVerName={#MyAppVerName}
AppPublisher={#MyAppPublisher}
AppPublisherURL={#MyAppURL}
AppSupportURL={#MyAppURL}
AppUpdatesURL={#MyAppURL}
DefaultDirName={pf}\{#MyAppName}
DefaultGroupName={#MyAppName}
OutputBaseFilename=example1
Compression=lzma
SolidCompression=true
CreateAppDir=true
ShowLanguageDialog=yes
[Languages]
Name: english; MessagesFile: compiler:Default.isl
#include ReadReg(HKEY_LOCAL_MACHINE,'Software\Sherlock Software\InnoTools\Downloader','ScriptPath','');
procedure InitializeWizard();
begin
itd_init;
//Let's download two zipfiles from my website..
itd_addfile('http://www.sherlocksoftware.org/petz/files/dogz5.zip,expandconstant({tmp}\dogz5.zip'));
itd_addfile('http://www.sherlocksoftware.org/petz/files/petz4.zip,expandconstant({tmp}\petz4.zip'));
//Start the download after the "Ready to install" screen is shown
itd_downloadafter(wpReady);
end;
procedure CurStepChanged(CurStep: TSetupStep);
begin
if CurStep=ssInstall then begin //Lets install those files that were downloaded for us
filecopy(expandconstant('{tmp}\dogz5.zip'),expandconstant('{app}\dogz5.zip'),false);
filecopy(expandconstant('{tmp}\petz4.zip'),expandconstant('{app}\petz4.zip'),false);
end;
end;
Но как сделать так что он скачивал выбранный мод, например
прицел (качает)
дамаг панель (качает)
и т д, то есть выбираешь тот или иной мод и он его качает, ведь тут не написано название компонента
-
Ну можешь свой написать, тут уже как хочешь.
я его установил в папку с прогой, что теперь прописывать что бы этот файл скачивался?
-
InnoTools Downloader, Inno Download Plugin.
эти плагины нужно скачать?
-
А как сделать что бы файл например качался из интернета?
-
Скажу одно: узбагойся:)
Азазаза не затралил
-
Не застявляй меня тебе повторно говорить одно и тоже, потом не плачь, мол я ему сделал, а он меня кинул, ок? А нотации пусть тебе мамка читает;)
Ты можешь меня не трогать,а? Или ты психолог и в душу всегда заглядываешь и заставляешь делать то что ты говоришь. Не твоё дело, что я делаю, может мне нравится делать модпак и получаю от этого малую долю фана
-
А ведь я говорил ему забей, он не послушал, чуствую, это надолго... А ты чего злой такой, Что случилось?
Может прописать ему на выходных сразу всё как надо и пусть не мучается? Делов то на пол часа с модами:) ты как считаешь?
Ну знаешь, я модпак делаю ещё и для своих друзей с которыми много играю. Так что не надо мне читать нотации и указывать. Я сам решаю что мне делать.
- 1
-
Перевести что написано и понять это.
И как это исправить?
-
Нет, ты дал не это. У тебя пример через кнопку. А я дал пример, как @Prost и просил: "нажимаешь на надпись и тебя кидает". То есть, через лейбл.
Вылетает такая ошибка. Ещё у меня стоит скрипт с картинками в модпаке. Как это исправить?
-
А можно ещё как нибудь добавить ссылку снизу слева? Типа нажимаешь на надпись и тебя кидает на ютуб или вк?
-
[Files] Source: "{app}\res\audio\*"; DestDir: "{app}\res_mods\0.9.4\audio"; Flags: external recursesubdirs skipifsourcedoesntexist; Components: /название компонента\;
В качестве "названия компонента" может использоваться родительский компонент всей озвучки.
Это как?
Иконка определённого клана
in XVM: General Discussion and Troubleshooting
Posted
Здравствуйте, не подскажете, а клан WG-WS тоже отображается в ушах команд?