Matrix 48 Опубликовано 18 марта, 2015 Название: PNG SplashScreen Добавил: Matrix Добавлен: 18 Mar 2015 Категория: Клиентские дополнения Автор: MatrixХроники: Все Патчик запрещает клиенту грузить родные BMP сплеши, вместо них грузит свой PNG файл, с прозрачностью. никаких больше танцов с бубнами (ненадо марочиться с альфаканалом, ненадо криптовать файл, не глючит на восьмёрке в клиенте ХФ). В комплекте скомпиленый файл, который отображает лого 7 секунд, а также исходники. Установка: закинуть файлы logo.png, logo.dll и ogg.dll в папку system. (чтобы не менять файл ogg.dll можно добавить в l2.exe импорт Anchor из файла logo.dll). Для гуру: чтобы лого исчезало не по таймеру, а в момент когда клиент загрузился, добавьте строку ShowSplash = false; в отрисовку сцены (лого исчезнит как только отрисуется окно клиента). Файлы PNG можно заныкать в ресурсы logo.dll. Также можно напихать кучу сплешек, и сделать их рандомную загрузку. P.S: Проверил на клиентах Epilogue, High Five, Ertheia. Нажмите здесь, чтобы скачать файл 18 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Insider 389 Опубликовано 18 марта, 2015 Полезная вещь, которая значительно упрощает работу с данными скринами. Спасибо большое! Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Matrix 48 Опубликовано 18 марта, 2015 Полезная вещь, которая значительно упрощает работу с данными скринами. Спасибо большое! Стараюсь Есть еще идейки для реализации, но времени нехватает всё успеть! (кстати уже сделал чтобы лого плавно появлялось, но это другая история да и кто в плюсах шарит - сам сделает это без проблем)) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Insider 389 Опубликовано 18 марта, 2015 Стараюсь Есть еще идейки для реализации, но времени нехватает всё успеть! (кстати уже сделал чтобы лого плавно появлялось, но это другая история да и кто в плюсах шарит - сам сделает это без проблем)) Прикольно было бы реализовать так-же что-бы показывало картинку в правом углу. На данной картинке писать "Защищено Lameguard" или чем-нибуть еще:-) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Matrix 48 Опубликовано 18 марта, 2015 (изменено) Прикольно было бы реализовать так-же что-бы показывало картинку в правом углу. На данной картинке писать "Защищено Lameguard" или чем-нибуть еще:-) Ну какбы это вообще без проблем... Меняем строки: ptDst.x = (GetSystemMetrics(SM_CXFULLSCREEN) - pPNGMask->GetWidth()); //Правая часть экрана минус ширина картинки ptDst.y = 0; //Верх экрана А если надо чтобы было и лого и "защищено темто темто", можно всё это дело выполнить в виде класса, и создать два экземпляра, каждому указать свои координаты. P.S: В правилах использования ламы и смарта запрещено сообщать пользователям какая именно защита используется Изменено 18 марта, 2015 пользователем Matrix 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Maxo 4 Опубликовано 18 марта, 2015 Спасибо, забрал + Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
◄√i®uS► 1222 Опубликовано 18 марта, 2015 Очень полезное дополнение, общался с человеком, может не только это но и на много больше. Жаль что нет у него времени на всё это. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
xMaRShall 306 Опубликовано 22 марта, 2015 Как добавить еще не сколько и сделать рандомную загрузку? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Matrix 48 Опубликовано 23 марта, 2015 Как добавить еще не сколько и сделать рандомную загрузку? Надо переделать эту строку: pPNGMask = new Image(PNGLogo); Примерно на такое: srand(time(NULL)); int nomer = rand() % 5; wchar_t rndPNGLogo[128]; swprintf(rndPNGLogo, 128, L"%ls%d.png", L"logo_", nomer); pPNGMask = new Image(rndPNGLogo); В папку system вкинь 6 файлов с именами: logo_0.png logo_1.png logo_2.png logo_3.png logo_4.png logo_5.png P.S: Код не проверял, но должно работать! Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
REchargeD 0 Опубликовано 29 марта, 2015 Надо переделать эту строку: pPNGMask = new Image(PNGLogo); Примерно на такое: srand(time(NULL)); int nomer = rand() % 5; wchar_t rndPNGLogo[128]; swprintf(rndPNGLogo, 128, L"%ls%d.png", L"logo_", nomer); pPNGMask = new Image(rndPNGLogo); В папку system вкинь 6 файлов с именами: logo_0.png logo_1.png logo_2.png logo_3.png logo_4.png logo_5.png P.S: Код не проверял, но должно работать! НЕ компилится, вот что пишет: 4 IntelliSense: identifier "swprintf" is undefined 3 IntelliSense: identifier "time" is undefined Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Matrix 48 Опубликовано 3 апреля, 2015 НЕ компилится, вот что пишет: 4 IntelliSense: identifier "swprintf" is undefined 3 IntelliSense: identifier "time" is undefined Facepalm! Хоть чутьчуть то надо знать как кодить, прежде чем в исходники лезть! #include <time.h> #include <iostream> 2 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
REchargeD 0 Опубликовано 3 апреля, 2015 Facepalm! Хоть чутьчуть то надо знать как кодить, прежде чем в исходники лезть! #include <time.h> #include <iostream> Благодарю, вот теперь на чуть-чуть больше знаю как кодить=) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
altann 7 Опубликовано 4 апреля, 2015 респект) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Serval 21 Опубликовано 6 июля, 2015 Как ни старался, не получилось сделать вот этот пункт: "Для гуру: чтобы лого исчезало не по таймеру, а в момент когда клиент загрузился, добавьте строку ShowSplash = false; в отрисовку сцены (лого исчезнит как только отрисуется окно клиента)." Люди добрые, помогите разобраться куда именно это ShowSplash = false; вписать. Несколько сплешей получилось вызывать. Время меняется нормально. Но вот что бы лого закрывалось, при появлении окна - никак не получается. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Serval 21 Опубликовано 10 июля, 2015 Как ни старался, не получилось сделать вот этот пункт: "Для гуру: чтобы лого исчезало не по таймеру, а в момент когда клиент загрузился, добавьте строку ShowSplash = false; в отрисовку сцены (лого исчезнит как только отрисуется окно клиента)." Люди добрые, помогите разобраться куда именно это ShowSplash = false; вписать. Несколько сплешей получилось вызывать. Время меняется нормально. Но вот что бы лого закрывалось, при появлении окна - никак не получается. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Matrix 48 Опубликовано 15 июля, 2015 В идиале я предлогаю захукать функцию ?Render@FPlayerSceneNode@@UAEXPAVFRenderInterface@@@Z из engine.dll и после вызова настоящей функции вставить ShowSplash = false; тогда сплешка будет исчезать как только прорисуется самая первая сцена. Если мне не изменяет память она что в ц4 что в иле что в хф - везде одинаковая, такчто проблем я думаю не должно возникнуть. Как это дело захукать разбирайтесь из исходов фтгуарда (ргуарда и прочих вариаций). Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
r2max 1 Опубликовано 9 ноября, 2015 У меня хроники Interlude. Очень понравился скрипт но у меня проблема, Помогите.http://pastebin.com/tKL6KXQ7Заменил:pPNGMask = new Image(PNGLogo);наsrand(time(NULL));int nomer = rand() % 5;wchar_t rndPNGLogo[128];swprintf(rndPNGLogo, 128, L"%ls%d.png", L"logo_", nomer);pPNGMask = new Image(rndPNGLogo);Дописал:#include#includeИ добавил в папку system:logo_0.pnglogo_1.pnglogo_2.pnglogo_3.pnglogo_4.pnglogo_5.pngИ ничего не происходит (7000 проходит и запускается окно клиента)Изначальный вариант, с одной картинкой, нормально показывает. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты