asterix93 Posted February 28, 2016 Share Posted February 28, 2016 Код рабочий. Ищи ошибку в своих действиях. kak tam tak i u menea kod Код рабочий. Ищи ошибку в своих действиях. nu scaji pajalusta gde ashibka ea uja poldnea siju i ne magu delati atat script! @ Quote Link to comment Short link Share on other sites More sharing options...
Kotyarko_O Posted February 28, 2016 Share Posted February 28, 2016 (edited) nu scaji pajalusta gde ashibka ea uja poldnea siju i ne magu delati atat script! Вопрос, конечно, тупой, но ты ведь не вводишь в поле пароля сам хэш? Edited February 28, 2016 by Kotyarko_O @ Quote Link to comment Short link Share on other sites More sharing options...
asterix93 Posted February 28, 2016 Share Posted February 28, 2016 (edited) Вопрос, конечно, тупой, но ты ведь не вводишь в поле пароля сам хэш? net vot paroli 1122123 http://www.sha1-online.com/ [Setup] AppName=My Program AppVersion=1.5 DefaultDirName=My Program [Code] var Passwords: array of string; function CheckPassword(Password: String): Boolean; var Index: Integer; SHA1: string; begin if GetArrayLength(Passwords) = 0 then begin Log('Initializing hashes'); SetArrayLength(Passwords, 5); Passwords[0] := 'b255e7697a6b954be38167a5b581196c24b7b3d6'; //passwords 1122123 Passwords[1] := 'b78baf5db4b1498ed075b8e6accd0b5ff51e20ec'; Passwords[2] := 'aaf70585b9a2662c911392b7573c739cecea0e56'; Passwords[3] := '3ab4222e2d0000012e6c7381437178fab398e8aa'; Passwords[4] := '5473ccc879a8167a6a77b387a916f7c9ca05894f'; end; Index := 0; SHA1 := GetSHA1OfUnicodeString(Password); for Index := 0 to GetArrayLength(Passwords) - 1 do begin if SHA1 = Passwords[Index] then begin Log(Format('Password matches hash %d', [Index])); Result := True; Exit; end; end; Log(Format('Password matches nothing our of %d hashes', [GetArrayLength(Passwords)])); Result := False; end; Edited February 28, 2016 by asterix93 @ Quote Link to comment Short link Share on other sites More sharing options...
Kotyarko_O Posted February 28, 2016 Share Posted February 28, 2016 (edited) @asterix93, а теперь смотри, в чём твоя ошибка... На сайте вычисляется Ansi`шный SHA1 (его же ты и вносишь в "допустимые"), а в коде проверяется Unicode`ный хэш. Понятное дело, что они не будут совпадать. Поэтому используй что-то одно. Edited February 28, 2016 by Kotyarko_O @ Quote Link to comment Short link Share on other sites More sharing options...
asterix93 Posted February 28, 2016 Share Posted February 28, 2016 (edited) @asterix93, а теперь смотри, в чём твоя ошибка... На сайте вычисляется Ansi`шный SHA1 (его же ты и вносишь в "допустимые"), а в коде проверяется Unicode`ный хэш. Понятное дело, что они не будут совпадать. Поэтому используй что-то одно. vot kakea ashibka daiot v ANSI @asterix93, а теперь смотри, в чём твоя ошибка... На сайте вычисляется Ansi`шный SHA1 (его же ты и вносишь в "допустимые"), а в коде проверяется Unicode`ный хэш. Понятное дело, что они не будут совпадать. Поэтому используй что-то одно. Pamamghi delati atat script pajalusta gde ashibka Edited February 28, 2016 by asterix93 @ Quote Link to comment Short link Share on other sites More sharing options...
Kotyarko_O Posted February 28, 2016 Share Posted February 28, 2016 (edited) @asterix93, если говорится об Ansi или Unicode, то это не значит, что речь идёт о версии компилятора. На Ansi-версии компилятора нет юникодной функции GetSHA1OfUnicodeString, есть только GetSHA1OfString. Её тебе и надо было изначально использовать (тут всё описывал). Edited February 28, 2016 by Kotyarko_O @ Quote Link to comment Short link Share on other sites More sharing options...
AtotIK Posted February 28, 2016 Share Posted February 28, 2016 Тут уже без матов не обойтись. Мало того, что из-за транслита глаза можно сломать, так ещё и человек как пень просто... Первое конечно лечится установкой виртуальной клавиатуры (но зачем вообще думать о людях?), но вот со вторым что делать... 2 @ Quote Link to comment Short link Share on other sites More sharing options...
asterix93 Posted February 29, 2016 Share Posted February 29, 2016 (edited) Тут уже без матов не обойтись. Мало того, что из-за транслита глаза можно сломать, так ещё и человек как пень просто... Первое конечно лечится установкой виртуальной клавиатуры (но зачем вообще думать о людях?), но вот со вторым что делать... прастите сто еа мучл вас но мне не удобна писаи на рускам ужэ буду писати Edited February 29, 2016 by asterix93 @ Quote Link to comment Short link Share on other sites More sharing options...
akey Posted March 1, 2016 Share Posted March 1, 2016 прастите сто еа мучл вас но мне не удобна писаи на рускам ужэ буду писатиУбил просто )))) уж пишите в английской @ Quote Link to comment Short link Share on other sites More sharing options...
Ikaros50rus Posted March 8, 2016 Share Posted March 8, 2016 Ребята помогите. Все ни как, ну ни как не пойму как добавить картинки к компонентам. Разжуйте дебилу пожалуйста как это сделать, а то я туговато в этом всем понимаю. Заранее спасибо. P.S. Если есть видео как это сделать скиньте пожалуйста. @ Quote Link to comment Short link Share on other sites More sharing options...
Ekspoint Posted March 8, 2016 Share Posted March 8, 2016 а первые 10 стр не прочесть? [Setup] AppName=Моя программа AppVersion=1.5 DefaultDirName={pf}\Моя программа [CustomMessages] CompName1=Компонент 1 CompName2=Компонент 2 ComponentsImgInfo=Наведите курсор мыши на компонент, чтобы посмотреть его превью. CompDesc1=Описание первого компонента CompDesc2=Описание второго компонента [Files] Source: "compiler:WizModernImage.bmp"; DestName: "CompDescImg1.bmp"; Flags: dontcopy Source: "compiler:WizModernImage-IS.bmp"; DestName: "CompDescImg2.bmp"; Flags: dontcopy Source: "compiler:WizModernImage.bmp"; DestName: "MainPic.bmp"; Flags: dontcopy [Types] Name: full; Description: Full installation; Flags: iscustom [Components] Name: comp1; Description: "{cm:CompName1}"; Types: full Name: comp2; Description: "{cm:CompName2}"; Types: full Name: comp3; Description: "{cm:CompName1}"; Types: full Name: comp4; Description: "{cm:CompName2}"; Types: full Name: comp5; Description: "{cm:CompName1}"; Types: full Name: comp6; Description: "{cm:CompName2}"; Types: full Name: comp7; Description: "{cm:CompName1}"; Types: full Name: comp8; Description: "{cm:CompName2}"; Types: full [Code] type TComponentDesc = record ImageName: String; Index: Integer; end; var CompDescs: array of TComponentDesc; CompDescImgPanel: TPanel; CompIndex, LastIndex: Integer; CompDescImg: TBitmapImage; procedure ShowCompDescription(Sender: TObject; X, Y, Index: Integer; Area: TItemArea); var i: Integer; begin if Index = LastIndex then Exit; CompIndex := -1; for i := 0 to GetArrayLength(CompDescs) -1 do begin if (CompDescs[i].Index = Index) then begin CompIndex := i; Break; end; end; if (CompIndex >= 0) and (Area = iaItem) then begin if not FileExists(ExpandConstant('{tmp}\') + CompDescs[CompIndex].ImageName) then ExtractTemporaryFile(CompDescs[CompIndex].ImageName); CompDescImg.Bitmap.LoadFromFile(ExpandConstant('{tmp}\') + CompDescs[CompIndex].ImageName); CompDescImg.Show; end else begin CompDescImg.Bitmap.LoadFromFile(ExpandConstant('{tmp}\MainPic.bmp')); end; LastIndex := Index; end; procedure CompListMouseLeave(Sender: TObject); begin LastIndex := -1; CompDescImg.Bitmap.LoadFromFile(ExpandConstant('{tmp}\MainPic.bmp')); end; procedure AddCompDescription(AIndex: Integer; AImageName: String); var i: Integer; begin i := GetArrayLength(CompDescs); SetArrayLength(CompDescs, i + 1); CompDescs[i].ImageName := AImageName; CompDescs[i].Index := AIndex - 1 end; function GetComponentIndex(Name: String): Integer; var i: Integer; begin Result:= -1; for i:= 0 to WizardForm.ComponentsList.ItemCount-1 do begin if (WizardForm.ComponentsList.ItemCaption[i] = Name) then begin Result:= i + 1; Break; end; end; end; procedure InitializeWizard(); begin ExtractTemporaryFile('MainPic.bmp'); WizardForm.SelectComponentsLabel.Hide; WizardForm.TypesCombo.Hide; WizardForm.ComponentsList.SetBounds(ScaleX(0), ScaleY(0), ScaleX(184), ScaleY(200)); WizardForm.ComponentsList.OnItemMouseMove:= @ShowCompDescription; WizardForm.ComponentsList.OnMouseLeave := @CompListMouseLeave; CompDescImgPanel := TPanel.Create(WizardForm); with CompDescImgPanel do begin Parent := WizardForm.SelectComponentsPage; SetBounds(ScaleX(192), ScaleY(0), ScaleX(225), ScaleY(120)); BevelInner := bvLowered; end; CompDescImg := TBitmapImage.Create(WizardForm); with CompDescImg do begin Parent := CompDescImgPanel; SetBounds(ScaleX(5), ScaleY(5), CompDescImgPanel.Width - ScaleX(10), CompDescImgPanel.Height - ScaleY(10)); Stretch := True; Bitmap.LoadFromFile(ExpandConstant('{tmp}\MainPic.bmp')); end; AddCompDescription(GetComponentIndex(CustomMessage('CompName1')), 'CompDescImg1.bmp'); //по названию компонента AddCompDescription(GetComponentIndex(CustomMessage('CompName2')), 'CompDescImg2.bmp'); //по названию компонента end; 1 @ Quote Link to comment Short link Share on other sites More sharing options...
Ikaros50rus Posted March 8, 2016 Share Posted March 8, 2016 а первые 10 стр не прочесть? [Setup] AppName=Моя программа AppVersion=1.5 DefaultDirName={pf}\Моя программа [CustomMessages] CompName1=Компонент 1 CompName2=Компонент 2 ComponentsImgInfo=Наведите курсор мыши на компонент, чтобы посмотреть его превью. CompDesc1=Описание первого компонента CompDesc2=Описание второго компонента [Files] Source: "compiler:WizModernImage.bmp"; DestName: "CompDescImg1.bmp"; Flags: dontcopy Source: "compiler:WizModernImage-IS.bmp"; DestName: "CompDescImg2.bmp"; Flags: dontcopy Source: "compiler:WizModernImage.bmp"; DestName: "MainPic.bmp"; Flags: dontcopy [Types] Name: full; Description: Full installation; Flags: iscustom [Components] Name: comp1; Description: "{cm:CompName1}"; Types: full Name: comp2; Description: "{cm:CompName2}"; Types: full Name: comp3; Description: "{cm:CompName1}"; Types: full Name: comp4; Description: "{cm:CompName2}"; Types: full Name: comp5; Description: "{cm:CompName1}"; Types: full Name: comp6; Description: "{cm:CompName2}"; Types: full Name: comp7; Description: "{cm:CompName1}"; Types: full Name: comp8; Description: "{cm:CompName2}"; Types: full [Code] type TComponentDesc = record ImageName: String; Index: Integer; end; var CompDescs: array of TComponentDesc; CompDescImgPanel: TPanel; CompIndex, LastIndex: Integer; CompDescImg: TBitmapImage; procedure ShowCompDescription(Sender: TObject; X, Y, Index: Integer; Area: TItemArea); var i: Integer; begin if Index = LastIndex then Exit; CompIndex := -1; for i := 0 to GetArrayLength(CompDescs) -1 do begin if (CompDescs[i].Index = Index) then begin CompIndex := i; Break; end; end; if (CompIndex >= 0) and (Area = iaItem) then begin if not FileExists(ExpandConstant('{tmp}\') + CompDescs[CompIndex].ImageName) then ExtractTemporaryFile(CompDescs[CompIndex].ImageName); CompDescImg.Bitmap.LoadFromFile(ExpandConstant('{tmp}\') + CompDescs[CompIndex].ImageName); CompDescImg.Show; end else begin CompDescImg.Bitmap.LoadFromFile(ExpandConstant('{tmp}\MainPic.bmp')); end; LastIndex := Index; end; procedure CompListMouseLeave(Sender: TObject); begin LastIndex := -1; CompDescImg.Bitmap.LoadFromFile(ExpandConstant('{tmp}\MainPic.bmp')); end; procedure AddCompDescription(AIndex: Integer; AImageName: String); var i: Integer; begin i := GetArrayLength(CompDescs); SetArrayLength(CompDescs, i + 1); CompDescs[i].ImageName := AImageName; CompDescs[i].Index := AIndex - 1 end; function GetComponentIndex(Name: String): Integer; var i: Integer; begin Result:= -1; for i:= 0 to WizardForm.ComponentsList.ItemCount-1 do begin if (WizardForm.ComponentsList.ItemCaption[i] = Name) then begin Result:= i + 1; Break; end; end; end; procedure InitializeWizard(); begin ExtractTemporaryFile('MainPic.bmp'); WizardForm.SelectComponentsLabel.Hide; WizardForm.TypesCombo.Hide; WizardForm.ComponentsList.SetBounds(ScaleX(0), ScaleY(0), ScaleX(184), ScaleY(200)); WizardForm.ComponentsList.OnItemMouseMove:= @ShowCompDescription; WizardForm.ComponentsList.OnMouseLeave := @CompListMouseLeave; CompDescImgPanel := TPanel.Create(WizardForm); with CompDescImgPanel do begin Parent := WizardForm.SelectComponentsPage; SetBounds(ScaleX(192), ScaleY(0), ScaleX(225), ScaleY(120)); BevelInner := bvLowered; end; CompDescImg := TBitmapImage.Create(WizardForm); with CompDescImg do begin Parent := CompDescImgPanel; SetBounds(ScaleX(5), ScaleY(5), CompDescImgPanel.Width - ScaleX(10), CompDescImgPanel.Height - ScaleY(10)); Stretch := True; Bitmap.LoadFromFile(ExpandConstant('{tmp}\MainPic.bmp')); end; AddCompDescription(GetComponentIndex(CustomMessage('CompName1')), 'CompDescImg1.bmp'); //по названию компонента AddCompDescription(GetComponentIndex(CustomMessage('CompName2')), 'CompDescImg2.bmp'); //по названию компонента end; Мне даже это не понятно к великому сожалению(((( @ Quote Link to comment Short link Share on other sites More sharing options...
Nowik1971 Posted March 8, 2016 Share Posted March 8, 2016 а первые 10 стр не прочесть? Мне даже это не понятно к великому сожалению(((( Тогда очень плохо, читай сначала, разбирайся и тогда помогут может кто, вот экспоинт например уже тебе все показал... за тебя никто ведь не сделает... есть помоему раздел на этом форуме там тебе на заказ сделают пошукац.... @ Quote Link to comment Short link Share on other sites More sharing options...
Dark__Messiah Posted March 9, 2016 Share Posted March 9, 2016 Мне даже это не понятно к великому сожалению(((( На офсайте с разделе Околоигровой софт есть программка, позволяющая собрать модпак. Если желания нет разбираться, то JMPACK вам подойдет. @ Quote Link to comment Short link Share on other sites More sharing options...
wotunion Posted March 9, 2016 Share Posted March 9, 2016 (edited) Скоро выложу новую версию инсталлятора с исходниками. Будет полноценный веб-инсталлятор размером до 1MB, управляемый с сервера обновлений. Редактируя конфигурацию на сервере обновлений, можно включать/отключать компоненты, делать их неизменяемыми вручную ( 'fixed'), изменять описание/версии на различных языках, добавлять новые компоненты (моды) и т.п. без перекомпиляции инсталлятора. Содержит функцию проверки обновлений самого инсталлятора. По сути, теперь обновлять инсталлятор потребуется в очень редких случаях. v.6 Веб-инсталлятор, управляемый с сервера обновлений с помощью текстовой конфигурации; Все компоненты (моды) находятся на сервере обновлений, загружаются и устанавливаются только выбранные пользователем моды, а также базовые; Редактируя конфигурацию на сервере обновлений, можно включать/отключать компоненты, делать их неизменяемыми вручную ( 'fixed'), изменять описание/версии на различных языках, добавлять новые компоненты (моды) и т.п. без перекомпиляции инсталлятора. В связи с этим, нет необходимости при выходе новой версии модпака загружать новый инсталлятор. Перекомпиляция инсталлятора по сути необходима только для исправления ошибок самого инсталлятора/добавления новых возможностей; Не требует прав администратора для установки (не отменяет необходимость наличия прав на запись в папки клиента World of Tanks); Перед установкой связывается с сервером обновлений модпака и проверяет наличие обновлений инсталлятора. Если есть новая версия - предлагает перейти на страницу его загрузки; Перед установкой создает резервную копию папки res_mods в папке с именем wotunion_modpack_backups\res_mods_[date]_[time] в папке клиента World of Tanks (создание резервной копии можно отключить, но это не рекомендуется, так как текущая папка res_mods будет удалена). Так как в папках резервных копий могут находится копии файлов из res\audio, необходимые для работы различных звуковых модов, которые занимают значительное место на диске, пожалуйста следите за размером папки резервных копий и удаляйте ненужные резервные копии; В этой версии удален деинсталлятор, поэтому восстанавливать из резервной копии при необходимости следует вручную. Сделано это для упрощения обновлений модпака; Для избежания конфликтов модов, устанавливается только в чистую папку res_mods после создания ее резервной копии; Инсталлятор не создает файлов/папок за пределами папки клиента World of Tanks и папок временных файлов, создаваемых Inno Setup; Исполняемый файл инсталлятора автор выкладывает только на форуме koreanrandom.com. Не скачивайте инсталлятор из любых других источников. Инсталлятор также сверяет свою контрольную сумму с контрольной суммой, указанной в конфигурации; Инсталлятор, для доступа к серверу обновлений, а также открытия темы на форуме koreanrandom.com, использует сокращенные ссылки сервисов goo.gl и bit.ly; Инсталлятор содержит русскую, украинскую и английскую локализации; Инсталлятор использует для распаковки архивов 7zdec.exe (7-zip archive unpacker .7z Any / x86 / x64 LZMA SDK: (C, C++, C#, Java) (7zdec.exe) (http://www.7-zip.org/download.html)); Скрипты/код инсталлятора созданы в Inno Script Studio v.2.2.2.32 (20151020-065430) и скомпилированы Inno Setup Compiler v.5.5.8 (u) Инсталлятор использует DwinsHs (Downloader for Inno Setup) Version: 1.1.2.118 (For Inno Setup 5.x) (http://www.han-soft.com/dwinshs.php) - не .dll, открытый код на Паскале; Узнать о установленной версии модпака можно в файле res_mods\wotunion_modpack_info.txt; Автор гарантирует отсутствие вредоносного кода в инсталляторе. Замечено периодическое детектирование одним из антивирусов на VirusTotal.com, с чем, естественно, ничего поделать не могу. Связано с самим генерируемым InnoSetup кодом, поскольку .exe на основе пустого визардовского скрипта Inno Setup 5.5.8 (u) также детектируется на VirusTotal.com этим антивирусом; Исходные коды предоставляю по запросу в личку форумчанам koreanrandom.com; Инсталлятор предоставляется про принципу "как есть". Исходные коды предоставляю по запросу в личку форумчанам koreanrandom.com после 15.03.2016 (надо отформатировать код). Edited March 9, 2016 by wotunion 5 @ Quote Link to comment Short link Share on other sites More sharing options...
Nowik1971 Posted March 9, 2016 Share Posted March 9, 2016 Ждем интересно ты уже писал.... хочется посмотреть что это такое... @ Quote Link to comment Short link Share on other sites More sharing options...
Ekspoint Posted March 9, 2016 Share Posted March 9, 2016 Есть минус, а если серв упадет или закроется то триндец сборки будет @ Quote Link to comment Short link Share on other sites More sharing options...
wotunion Posted March 9, 2016 Share Posted March 9, 2016 (edited) Согласен, когда падает Tier III датацентр это печально) Если серьезно, допустимый даунтайм такого уровня - 95мин в год. Кстати, dwinshs позволяет зеркала настроить если что) Да и хостинг не бесплатный, за 4 месяца в офлайн не уходил. А по нагрузке - посмотрю напишу, модпак не популярный, так, в свободное время делается. Edited March 9, 2016 by wotunion @ Quote Link to comment Short link Share on other sites More sharing options...
asterix93 Posted March 11, 2016 Share Posted March 11, 2016 Памагите паялуста со скрипт на уведомление выхода обновления модпака для 0.9.14 у меня ести но не работает!!! @ Quote Link to comment Short link Share on other sites More sharing options...
akey Posted March 14, 2016 Share Posted March 14, 2016 Памагите паялуста со скрипт на уведомление выхода обновления модпака для 0.9.14 у меня ести но не работает!!! Поищите по ветке, страниц 10 назад Ekspoint выкладывал апдейтер. @ Quote Link to comment Short link Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.